commit - 669a062b5ac041312f6b9371b665f9c1e2b93799
commit + b8e710da0bbc3e7d1ff992b1ceff4cb1c67149c8
blob - 063aa7dcab8a26a2950aeff91c8758fe711e4610
blob + 04f2480c0c398f16bda523110b71e5e97ccfad5a
--- src/cmd/delatex.lx
+++ src/cmd/delatex.lx
/* Make this with: lex delatex.lex; cc lex.yy.c -ll -o delatex */
L [A-Za-z]
-%Start Display Math Normal Tag
+%Start Display Math Normal Tag VerbPlus Bracket
%%
<Normal>\' {yyleng--; yymore(); /* ignore apostrophes */}
<Normal>{L}+\\- {yyleng-=2; yymore(); /* ignore hyphens */}
+<Normal>[a-zA-Z0-9_]+@[a-zA-Z0-9_.]+ ; /* ignore email addresses */
<Normal>[a-z]/[^A-Za-z] ; /* ignore single letter "words" */
<Normal>[A-Z]+ ; /* ignore words all in uppercase */
<Normal>{L}+('{L}*)*{L} {printf("%s\n",yytext); /* any other letter seq is a word */}
<Normal>"\\label{" BEGIN Tag;
<Normal>"\\pageref{" BEGIN Tag;
<Normal>"\\ref{" BEGIN Tag;
+<Normal>"\\verb+" BEGIN VerbPlus;
+<Normal>"\\documentclass[" BEGIN Bracket;
+<Normal>"\\documentclass{" BEGIN Tag;
+<Normal>"\\usepackage[" BEGIN Bracket;
+<Normal>"\\usepackage{" BEGIN Tag;
+<Bracket>[^\]] ;
+<Bracket>"][" ;
+<Bracket>"]{" BEGIN Tag;
+<Bracket>"]" BEGIN Normal;
<Tag>[^}] ; /* ignore things up to next "}" */
<Tag>"}" BEGIN Normal;
+<VerbPlus>[^+] ; /* ignore thing up to next "+" */
+<VerbPlus>"+" BEGIN Normal;
<Normal>[0-9]+ ; /* ignore numbers */
<Normal>"\\(" BEGIN Math; /* begin latex math mode */
<Math>"\\)" BEGIN Normal; /* end latex math mode */