diff options
Diffstat (limited to 'Master/texmf-dist/doc/pdftex/manual/syntaxform.awk')
-rw-r--r-- | Master/texmf-dist/doc/pdftex/manual/syntaxform.awk | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/pdftex/manual/syntaxform.awk b/Master/texmf-dist/doc/pdftex/manual/syntaxform.awk new file mode 100644 index 00000000000..2212d5fd368 --- /dev/null +++ b/Master/texmf-dist/doc/pdftex/manual/syntaxform.awk @@ -0,0 +1,114 @@ +#$Id: syntaxform.awk,v 1.13 2006/02/10 21:27:48 hhenkel Exp $ +# pdftex-t.tex --> pdftex-syntax.txt +# requires gawk due to gensub() function + +BEGIN{ + buffer = ""; +} + +/\015*$/ { + gsub(/\015*$/, ""); +} + +/^%%S NL/ { + print ""; + next; +} + +/^%%S/ { + gsub (/^%%S/, "%%" ); + print; + next; +} + +/^\\Syntax/ { + printing = 1; + indentation = 0; + next; +} + +// { + if (buffer != "") { + gsub(/^ */, ""); + $0 = buffer $0; + } + buffer = ""; +} + +/\|\|/ { + gsub(/\|\|/, "-"); +} + +/^ */{ + gsub(/^ */, indspaces); +} + +/\\Something/ { + $0 = gensub(/\\Something *{([^}]*)}/, "<\\1>", "g"); +} + +/\\Literal/ { + $0 = gensub(/\\Literal *{([^}]*)}/, "\\1", "g"); +} + +/\\Tex/ { + $0 = gensub(/\\Tex *{([^}]*)}/, "\\1", "g"); +} + +/\\Optional/ { + $0 = gensub(/\\Optional *{([^}]*)}/, "[\\1]", "g"); +} + +/\\Means/ { + gsub(/\\Means/, "-->"); + indentation = match($0, /-->/); + indspaces = " "; + for(i=0; i < indentation; i++) + indspaces = indspaces " "; +} + +/\\Lbrace/ { + gsub(/\\Lbrace/, "{"); +} + +/\\Rbrace/ { + gsub(/\\Rbrace/, "}"); +} + +/\\Or/ { + gsub(/\\Or/, "|"); +} + +/\\Next/ { + gsub(/\\Next /, ""); +} + +/\\Whatever/ { + whatind = 57; + whatpos = match($0, /\\Whatever/); + b = substr($0, 0, whatpos - 1) + c = substr($0, whatpos) + c = gensub(/\\Whatever *{([^}]*)}/, "(\\1)", "g", c); + $0 = b; + for(i = whatpos; i < whatind; i++) + $0 = $0 " "; + $0 = $0 c; +} + +/^}/ {printing = 0;} + +/% *$/ { + gsub(/% *$/, ""); + buffer = $0; + next; +} + +/^ *$/ { + $0 = "================= ERROR"; +} + +/ *$/ { + gsub(/ *$/, ""); +} + +{ if (printing) print; } |