diff options
Diffstat (limited to 'math/lexer.mll')
-rw-r--r-- | math/lexer.mll | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/math/lexer.mll b/math/lexer.mll index e5bb1ddf..4dd31e0e 100644 --- a/math/lexer.mll +++ b/math/lexer.mll @@ -16,6 +16,10 @@ let aboxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' rule token = parse space + { token lexbuf } + | "\\text" space * '{' boxchars + '}' + { Texutil.tex_use_ams (); let str = Lexing.lexeme lexbuf in + let n = String.index str '{' + 1 in + BOX ("\\text", String.sub str n (String.length str - n - 1)) } | "\\mbox" space * '{' aboxchars + '}' { let str = Lexing.lexeme lexbuf in let n = String.index str '{' + 1 in @@ -52,6 +56,8 @@ rule token = parse | delimiter_uf_op { let str = Lexing.lexeme lexbuf in DELIMITER (MHTMLABLEC (FONT_UFH, str," "^str^" ",MO,str)) } | "\\" alpha + { Texutil.find (Lexing.lexeme lexbuf) } | "\\sqrt" space * "[" { FUN_AR1opt "\\sqrt" } + | "\\xleftarrow" space * "[" { Texutil.tex_use_ams(); FUN_AR1opt "\\xleftarrow" } + | "\\xrightarrow" space * "[" { Texutil.tex_use_ams(); FUN_AR1opt "\\xrightarrow" } | "\\," { LITERAL (HTMLABLE (FONT_UF, "\\,"," ")) } | "\\ " { LITERAL (HTMLABLE (FONT_UF, "\\ "," ")) } | "\\;" { LITERAL (HTMLABLE (FONT_UF, "\\;"," ")) } @@ -77,6 +83,14 @@ rule token = parse | "\\end{vmatrix}" { END_VMATRIX } | "\\begin{Vmatrix}" { Texutil.tex_use_ams(); BEGIN_VVMATRIX } | "\\end{Vmatrix}" { END_VVMATRIX } + | "\\begin{array}" { Texutil.tex_use_ams(); BEGIN_ARRAY } + | "\\end{array}" { END_ARRAY } + | "\\begin{align}" { Texutil.tex_use_ams(); BEGIN_ALIGN } + | "\\end{align}" { END_ALIGN } + | "\\begin{alignat}" { Texutil.tex_use_ams(); BEGIN_ALIGNAT } + | "\\end{alignat}" { END_ALIGNAT } + | "\\begin{smallmatrix}" { Texutil.tex_use_ams(); BEGIN_SMALLMATRIX } + | "\\end{smallmatrix}" { END_SMALLMATRIX } | "\\begin{cases}" { Texutil.tex_use_ams(); BEGIN_CASES } | "\\end{cases}" { END_CASES } | '>' { LITERAL (HTMLABLEC(FONT_UFH,">"," > ")) } |