#!/usr/bin/awk -f BEGIN { FS=" " LF=1 } function paragraph() { printf("

\n") while (1) { getline if (($0 == "EOF") || ($0 == "macr PP")) {break} if ($1 == "text") { if (LF == 1) {printf "
"} LF = 1 # $1 = "" # print for (x=2; x <= NF; x++) { printf("%s", $x) if (x != NF) {printf " "} } } # italics else if ($1 == "sita") { printf(" ") LF = 0 } else if ($1 == "eita") { printf("") LF = 0 } # bold else if ($1 == "sbld") { printf(" ") LF = 0 } else if ($1 == "ebld") { printf("") LF = 0 } # underline else if ($1 == "sund") { printf(" ") LF = 0 } else if ($1 == "eund") { printf("") LF = 0 } # striken else if ($1 == "sstk") { printf(" ") LF = 0 } else if ($1 == "estk") { printf("") LF = 0 } # unordered list else if ($0 == "macr UL") { printf("

") } # ordered list else if ($0 == "macr OL") { printf("
    ") while (1) { getline if (($0 == "EOF") || ($0 == "macr PP")) {break} if ($0 != "macr OL") { $1="" printf("
  1. %s
  2. ", $0) } } printf("
") } } printf("

\n") return } /^macr TL$/{ getline $1 = "" printf("%s\n", $0) printf("

%s

\n", $0) } /^macr AU$/{ getline $1 = "" printf("

By%s

\n", $0) } /^macr PP$/{ paragraph() if ($0 == "macr PP") {paragraph()} }