BEGIN { in_code = 0; in_html_pre = 0 } { if ($0 ~ /
/) in_html_pre = 1
    if ($0 ~ /<\/pre>/) { in_html_pre = 0; if (in_code) { print "
"; in_code = 0 }; print; next } if (!in_html_pre && $0 ~ /^(\t| )/) { if (!in_code) { printf "%s", "
"; in_code = 1 }
        sub(/^(\t|    )/, "", $0)
        gsub(/&/, "\\&"); gsub(//, "\\>")
        print
        next
    }
    
    if (in_code) {
        print "
" in_code = 0 } print } END { if (in_code) print "" }