BEGIN { FS = "|"; data = ""; flag = 0; firstRow = 0; } /\\table/ { flag = 1; firstRow = 1; next; } /\\endtable/ { if (data != "") { printf "\n"; printf data; printf "
\n"; } data = ""; flag = 0; next; } /\\vartable/ { flag = 2; firstRow = 1; next; } /\\endvartable/ { if (data != "") { printf "\n"; printf data; printf "
\n"; } data = ""; flag = 0; next; } /\\plaintable/ { flag = 3; firstRow = 1; next; } /\\endplaintable/ { if (data != "") { printf "\n"; printf data; printf "
\n"; } data = ""; flag = 0; next; } { if (flag > 0) { data = (data "\n"); if (flag == 1) { for (i = 0; i <= NF; i++) { if ((i != 0) && (firstRow == 1)) { data = (data " "$i"\n"); } else { if (i == 1) { data = (data " \\c "$i"\n"); } else if (i > 1) { data = (data " "$i"\n"); } } } } else if (flag == 2) { for (i = 0; i <= NF; i++) { if (i == 1) { data = (data " \\f$"$i"\\f$\n"); data = (data " =\n"); } else if (i > 1) { data = (data " "$i"\n"); } } } else if (flag == 3) { for (i = 0; i <= NF; i++) { if (i == 1) { data = (data " "$i"\n"); data = (data " :\n"); } else if (i > 1) { data = (data " "$i"\n"); } } } data = (data "\n"); firstRow = 0; } else { print $0 } }