|
| 1 | +#!/bin/zsh |
| 2 | + |
| 3 | +itemize=0 |
| 4 | +empty=0 |
| 5 | + |
| 6 | +sed -e 's,<pre>,\\begin{itemdecl},g' \ |
| 7 | + -e 's,</pre>,\\end{itemdecl},g' \ |
| 8 | + -e 's,</\?blockquote>,,g' \ |
| 9 | + -e 's,</\?code>,`,g' \ |
| 10 | + -e 's,// exposition only,// \\expos,g' \ |
| 11 | + -e 's,<i>implementation-defined</i>,@\\impdefx{TODO}@,g' \ |
| 12 | + -e 's,<i>see below</i>,@\\seebelow@,g' \ |
| 13 | + -e 's,concept <i>\([a-z]\+-[a-z-]\+\)</i>,concept @\\defexposconcept{\1}@,g' \ |
| 14 | + -e 's,<i>\([a-z]\+-[a-z-]\+\)</i>,@\\exposid{\1}@,g' \ |
| 15 | + -e 's,<i>Constraints</i>:,\\pnum\n\\constraints,g' \ |
| 16 | + -e 's,<i>Effects</i>:,\\pnum\n\\effects,g' \ |
| 17 | + -e 's,<i>Mandates</i>:,\\pnum\n\\mandates,g' \ |
| 18 | + -e 's,<i>Preconditions</i>:,\\pnum\n\\expects,g' \ |
| 19 | + -e 's,<i>Remarks</i>:,\\pnum\n\\remarks,g' \ |
| 20 | + -e 's,<i>Returns</i>:,\\pnum\n\\returns,g' \ |
| 21 | + -e 's,<i>Throws</i>:,\\pnum\n\\throws,g' \ |
| 22 | + -e 's,</\?i>,,g' \ |
| 23 | + -e 's,<,<,g' \ |
| 24 | + -e 's,`i`<sup>th</sup>,#iiiiiiiiith#,g' \ |
| 25 | + -e 's,`i`,i,g' \ |
| 26 | + -e 's,// \[\([.a-z]\+\)],// \\ref{\1},g' \ |
| 27 | + -e 's,(\[\([.a-z]\+\)]),\\iref{\1},g' \ |
| 28 | + -e 's,\<i\>,$i$,g' \ |
| 29 | + -e 's,#iiiiiiiiith#,$i^\\text{th}$,g' \ |
| 30 | + -e 's,`\[\([^\,]\+\)\, *\([^`]\+\))`,\\range{\1}{\2},' \ |
| 31 | + -e 's,`\[\([^\,]\+\)\, *\([^`]\+\)]`,\\crange{\1}{\2},' \ |
| 32 | + -e 's,`\([^`]\+\)`,\\tcode{\1},g' \ |
| 33 | + $1 | while IFS='' read -r line; do |
| 34 | + if [[ "$line" =~ '^- ' ]]; then |
| 35 | + if ((!itemize)); then |
| 36 | + itemize=1 |
| 37 | + echo -E '\begin{itemize}' |
| 38 | + fi |
| 39 | + echo -E "\item${line#-}" |
| 40 | + continue |
| 41 | + elif ((itemize)); then |
| 42 | + echo -E '\end{itemize}' |
| 43 | + itemize=0 |
| 44 | + elif [[ -z "$line" ]]; then |
| 45 | + ((empty)) && continue |
| 46 | + empty=1 |
| 47 | + elif ((empty)); then |
| 48 | + empty=0 |
| 49 | + fi |
| 50 | + echo -E "$line" |
| 51 | + done |
0 commit comments