diff -ruN math.orig/html.ml math/html.ml
--- math.orig/html.ml 2003-02-13 18:43:37.000000000 +0100
+++ math/html.ml 2003-03-07 17:03:46.000000000 +0100
@@ -56,6 +56,8 @@
| TEX_INFIX _::_ -> raise Too_difficult_for_html
| TEX_INFIXh _::_ -> raise Too_difficult_for_html
| TEX_MATRIX _::_ -> raise Too_difficult_for_html
+ | TEX_LR _::_ -> raise Too_difficult_for_html
+ | TEX_BIG _::_ -> raise Too_difficult_for_html
| [] -> ""
and html_render_size ctx = function
TEX_LITERAL (HTMLABLE_BIG (_,sh)) -> true,sh
@@ -91,6 +93,8 @@
| TEX_FUN2sq _::_ -> raise Too_difficult_for_html
| TEX_INFIX _::_ -> raise Too_difficult_for_html
| TEX_MATRIX _::_ -> raise Too_difficult_for_html
+ | TEX_LR _::_ -> raise Too_difficult_for_html
+ | TEX_BIG _::_ -> raise Too_difficult_for_html
| [] -> []
let rec html_render_table = function
diff -ruN math.orig/lexer.mll math/lexer.mll
--- math.orig/lexer.mll 2003-02-02 04:16:07.000000000 +0100
+++ math/lexer.mll 2003-03-07 15:59:38.000000000 +0100
@@ -7,8 +7,10 @@
let alpha = ['a'-'z' 'A'-'Z']
let literal_id = ['a'-'z' 'A'-'Z']
let literal_mn = ['0'-'9']
-let literal_uf_lt = [',' '(' ')' ':' ';' '?' '.' '!' '\'']
-let literal_uf_op = ['+' '-' '*' '=' '/' '|']
+let literal_uf_lt = [',' ':' ';' '?' '!' '\'']
+let delimiter_uf_lt = ['(' ')' '.']
+let literal_uf_op = ['+' '-' '*' '=' '|']
+let delimiter_uf_op = ['/']
let boxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' '?' '.' '!' ' ' '\128'-'\255']
let aboxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' '?' '.' '!' ' ']
@@ -44,6 +46,7 @@
| literal_id { let str = Lexing.lexeme lexbuf in LITERAL (MHTMLABLEC (FONT_IT, str,str,MI,str)) }
| literal_mn { let str = Lexing.lexeme lexbuf in LITERAL (MHTMLABLEC (FONT_RM, str,str,MN,str)) }
| literal_uf_lt { let str = Lexing.lexeme lexbuf in LITERAL (HTMLABLEC (FONT_UFH, str,str)) }
+ | delimiter_uf_lt { let str = Lexing.lexeme lexbuf in DELIMITER (HTMLABLEC (FONT_UFH, str,str)) }
| literal_uf_op { let str = Lexing.lexeme lexbuf in LITERAL (MHTMLABLEC (FONT_UFH, str," "^str^" ",MO,str)) }
| "\\" alpha + { Texutil.find (Lexing.lexeme lexbuf) }
| "\\sqrt" space * "[" { FUN_AR1opt "\\sqrt" }
@@ -51,9 +54,9 @@
| "\\ " { LITERAL (HTMLABLE (FONT_UF, "\\ "," ")) }
| "\\;" { LITERAL (HTMLABLE (FONT_UF, "\\;"," ")) }
| "\\!" { LITERAL (TEX_ONLY "\\!") }
- | "\\{" { LITERAL (HTMLABLEC(FONT_UFH,"\\{","{")) }
- | "\\}" { LITERAL (HTMLABLEC(FONT_UFH,"\\}","}")) }
- | "\\|" { LITERAL (HTMLABLE (FONT_UFH,"\\|","||")) }
+ | "\\{" { DELIMITER (HTMLABLEC(FONT_UFH,"\\{","{")) }
+ | "\\}" { DELIMITER (HTMLABLEC(FONT_UFH,"\\}","}")) }
+ | "\\|" { DELIMITER (HTMLABLE (FONT_UFH,"\\|","||")) }
| "\\_" { LITERAL (HTMLABLEC(FONT_UFH,"\\_","_")) }
| "\\#" { LITERAL (HTMLABLE (FONT_UFH,"\\#","#")) }
| "\\%" { LITERAL (HTMLABLE (FONT_UFH,"\\%","%")) }
@@ -71,11 +74,13 @@
| "\\end{vmatrix}" { END_VMATRIX }
| "\\begin{Vmatrix}" { Texutil.tex_use_ams(); BEGIN_VVMATRIX }
| "\\end{Vmatrix}" { END_VVMATRIX }
+ | "\\begin{cases}" { Texutil.tex_use_ams(); BEGIN_CASES }
+ | "\\end{cases}" { END_CASES }
| '>' { LITERAL (HTMLABLEC(FONT_UFH,">"," > ")) }
| '<' { LITERAL (HTMLABLEC(FONT_UFH,"<"," < ")) }
| '%' { LITERAL (HTMLABLEC(FONT_UFH,"\\%","%")) }
| '~' { LITERAL (HTMLABLE (FONT_UF, "~"," ")) }
- | '[' { LITERAL (HTMLABLEC(FONT_UFH,"[","[")) }
+ | '[' { DELIMITER (HTMLABLEC(FONT_UFH,"[","[")) }
| ']' { SQ_CLOSE }
| '{' { CURLY_OPEN }
| '}' { CURLY_CLOSE }
diff -ruN math.orig/parser.mly math/parser.mly
--- math.orig/parser.mly 2003-01-06 02:07:17.000000000 +0100
+++ math/parser.mly 2003-03-07 17:02:00.000000000 +0100
@@ -1,17 +1,20 @@
%{
open Tex
open Render_info
+
+ let sq_close_ri = HTMLABLEC(FONT_UFH,"]", "]")
%}
-%token LITERAL
-%token FUN_AR2 FUN_INFIX FUN_AR1 DECL FUN_AR1opt
+%token LITERAL DELIMITER
+%token FUN_AR2 FUN_INFIX FUN_AR1 DECL FUN_AR1opt BIG
%token BOX
%token FUN_AR1hl
%token FUN_AR1hf DECLh
%token Tex.t->string*string*string)> FUN_AR2h
%token Tex.t list->string*string*string)> FUN_INFIXh
%token EOF CURLY_OPEN CURLY_CLOSE SUB SUP SQ_CLOSE NEXT_CELL NEXT_ROW
-%token BEGIN__MATRIX BEGIN_PMATRIX BEGIN_BMATRIX BEGIN_BBMATRIX BEGIN_VMATRIX BEGIN_VVMATRIX
-%token END__MATRIX END_PMATRIX END_BMATRIX END_BBMATRIX END_VMATRIX END_VVMATRIX
+%token BEGIN__MATRIX BEGIN_PMATRIX BEGIN_BMATRIX BEGIN_BBMATRIX BEGIN_VMATRIX BEGIN_VVMATRIX BEGIN_CASES
+%token END__MATRIX END_PMATRIX END_BMATRIX END_BBMATRIX END_VMATRIX END_VVMATRIX END_CASES
+%token LEFT RIGHT
%type tex_expr
%start tex_expr
@@ -43,7 +46,7 @@
litsq_dq:
litsq_zq SUB lit { $1,$3 }
litsq_zq:
- | SQ_CLOSE { TEX_LITERAL (HTMLABLEC(FONT_UFH,"]", "]")) }
+ | SQ_CLOSE { TEX_LITERAL sq_close_ri }
expr_nosqc:
/* */ { [] }
| lit_aq expr_nosqc { $1 :: $2 }
@@ -59,8 +62,17 @@
lit SUP lit { $1,$3 }
lit_dq:
lit SUB lit { $1,$3 }
+left:
+ LEFT DELIMITER { $2 }
+ | LEFT SQ_CLOSE { sq_close_ri }
+right:
+ RIGHT DELIMITER { $2 }
+ | RIGHT SQ_CLOSE { sq_close_ri }
lit:
LITERAL { TEX_LITERAL $1 }
+ | DELIMITER { TEX_LITERAL $1 }
+ | BIG DELIMITER { TEX_BIG ($1,$2) }
+ | left expr right { TEX_LR ($1,$3,$2) }
| FUN_AR1 lit { TEX_FUN1($1,$2) }
| FUN_AR1hl lit { let t,h=$1 in TEX_FUN1hl(t,h,$2) }
| FUN_AR1hf lit { let t,h=$1 in TEX_FUN1hf(t,h,$2) }
@@ -80,6 +92,7 @@
| BEGIN_BBMATRIX matrix END_BBMATRIX { TEX_MATRIX ("Bmatrix", $2) }
| BEGIN_VMATRIX matrix END_VMATRIX { TEX_MATRIX ("vmatrix", $2) }
| BEGIN_VVMATRIX matrix END_VVMATRIX { TEX_MATRIX ("Vmatrix", $2) }
+ | BEGIN_CASES matrix END_CASES { TEX_MATRIX ("cases", $2) }
matrix:
line { [$1] }
| line NEXT_ROW matrix { $1::$3 }
diff -ruN math.orig/tex.mli math/tex.mli
--- math.orig/tex.mli 2002-12-26 22:33:02.000000000 +0100
+++ math/tex.mli 2003-03-07 17:02:35.000000000 +0100
@@ -4,7 +4,9 @@
| TEX_FQ of t * t * t
| TEX_DQ of t * t
| TEX_UQ of t * t
+ | TEX_LR of Render_info.t * Render_info.t * t list
| TEX_BOX of string * string
+ | TEX_BIG of string * Render_info.t
| TEX_FUN1 of string * t
| TEX_FUN2 of string * t * t
| TEX_INFIX of string * t list * t list
diff -ruN math.orig/texutil.ml math/texutil.ml
--- math.orig/texutil.ml 2003-02-02 04:16:07.000000000 +0100
+++ math/texutil.ml 2003-03-07 17:04:08.000000000 +0100
@@ -26,7 +26,9 @@
| TEX_INFIX (s,ll,rl) -> "{" ^ (mapjoin render_tex ll) ^ " " ^ s ^ "" ^ (mapjoin render_tex rl) ^ "}"
| TEX_INFIXh (s,_,ll,rl) -> "{" ^ (mapjoin render_tex ll) ^ " " ^ s ^ "" ^ (mapjoin render_tex rl) ^ "}"
| TEX_BOX (bt,s) -> "{"^bt^"{" ^ s ^ "}}"
+ | TEX_BIG (bt,d) -> "{"^bt^(tex_part d)^"}"
| TEX_MATRIX (t,rows) -> "{\\begin{"^t^"}"^(mapjoine "\\\\" (mapjoine "&" (mapjoin render_tex)) rows)^"\\end{"^t^"}}"
+ | TEX_LR (l,r,tl) -> "\\left "^(tex_part l)^(mapjoin render_tex tl)^"\\right "^(tex_part r)
(* Dynamic loading*)
type encoding_t = LATIN1 | LATIN2 | UTF8
@@ -134,18 +136,18 @@
| "\\longmapsto" -> LITERAL (HTMLABLE (FONT_UF, "\\longmapsto ", "→"))
| "\\Longleftarrow" -> LITERAL (HTMLABLE (FONT_UF, "\\Longleftarrow ", "⇐"))
| "\\Longrightarrow" -> LITERAL (HTMLABLE (FONT_UF, "\\Longrightarrow ", "⇒"))
- | "\\uarr" -> LITERAL (HTMLABLEM (FONT_UF, "\\uparrow ", "↑"))
- | "\\uparrow" -> LITERAL (HTMLABLEM (FONT_UF, "\\uparrow ", "↑"))
- | "\\uArr" -> LITERAL (HTMLABLE (FONT_UF, "\\Uparrow ", "⇑"))
- | "\\Uarr" -> LITERAL (HTMLABLE (FONT_UF, "\\Uparrow ", "⇑"))
- | "\\Uparrow" -> LITERAL (HTMLABLE (FONT_UF, "\\Uparrow ", "⇑"))
- | "\\darr" -> LITERAL (HTMLABLEM (FONT_UF, "\\downarrow ", "↓"))
- | "\\downarrow" -> LITERAL (HTMLABLEM (FONT_UF, "\\downarrow ", "↓"))
- | "\\dArr" -> LITERAL (HTMLABLE (FONT_UF, "\\Downarrow ", "⇓"))
- | "\\Darr" -> LITERAL (HTMLABLE (FONT_UF, "\\Downarrow ", "⇓"))
- | "\\Downarrow" -> LITERAL (HTMLABLE (FONT_UF, "\\Downarrow ", "⇓"))
- | "\\updownarrow" -> LITERAL (TEX_ONLY "\\updownarrow ")
- | "\\Updownarrow" -> LITERAL (TEX_ONLY "\\Updownarrow ")
+ | "\\uarr" -> DELIMITER (HTMLABLEM (FONT_UF, "\\uparrow ", "↑"))
+ | "\\uparrow" -> DELIMITER (HTMLABLEM (FONT_UF, "\\uparrow ", "↑"))
+ | "\\uArr" -> DELIMITER (HTMLABLE (FONT_UF, "\\Uparrow ", "⇑"))
+ | "\\Uarr" -> DELIMITER (HTMLABLE (FONT_UF, "\\Uparrow ", "⇑"))
+ | "\\Uparrow" -> DELIMITER (HTMLABLE (FONT_UF, "\\Uparrow ", "⇑"))
+ | "\\darr" -> DELIMITER (HTMLABLEM (FONT_UF, "\\downarrow ", "↓"))
+ | "\\downarrow" -> DELIMITER (HTMLABLEM (FONT_UF, "\\downarrow ", "↓"))
+ | "\\dArr" -> DELIMITER (HTMLABLE (FONT_UF, "\\Downarrow ", "⇓"))
+ | "\\Darr" -> DELIMITER (HTMLABLE (FONT_UF, "\\Downarrow ", "⇓"))
+ | "\\Downarrow" -> DELIMITER (HTMLABLE (FONT_UF, "\\Downarrow ", "⇓"))
+ | "\\updownarrow" -> DELIMITER (TEX_ONLY "\\updownarrow ")
+ | "\\Updownarrow" -> DELIMITER (TEX_ONLY "\\Updownarrow ")
| "\\leftrightarrow" -> LITERAL (HTMLABLE (FONT_UF, "\\leftrightarrow ", "↔"))
| "\\lrarr" -> LITERAL (HTMLABLE (FONT_UF, "\\leftrightarrow ", "↔"))
| "\\harr" -> LITERAL (HTMLABLE (FONT_UF, "\\leftrightarrow ", "↔"))
@@ -219,8 +221,13 @@
| "\\tanh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\tanh ","tanh"))
| "\\sec" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sec ","sec"))
| "\\csc" -> LITERAL (HTMLABLEC(FONT_UFH,"\\csc ","csc"))
- | "\\arcsin" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arcsin ", "arcsin"))
+ | "\\arcsin" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arcsin ","arcsin"))
| "\\arctan" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arctan ","arctan"))
+ | "\\arccos" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccos}}","arccos")))
+ | "\\arccot" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccot}}","arccot")))
+ | "\\arcsec" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arcsec}}","arcsec")))
+ | "\\arccsc" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccsc}}","arccsc")))
+ | "\\sgn" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{sgn}}","sgn")))
| "\\cot" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cot ","cot"))
| "\\coth" -> LITERAL (HTMLABLEC(FONT_UFH,"\\coth ","coth"))
| "\\log" -> LITERAL (HTMLABLEC(FONT_UFH,"\\log ", "log"))
@@ -258,12 +265,12 @@
| "\\subseteq" -> LITERAL (HTMLABLE (FONT_UF, "\\subseteq ", "⊆"))
| "\\perp" -> LITERAL (HTMLABLE (FONT_UF, "\\perp ", "⊥"))
| "\\bot" -> LITERAL (HTMLABLE (FONT_UF, "\\bot ", "⊥"))
- | "\\lfloor" -> LITERAL (HTMLABLE (FONT_UF, "\\lfloor ", "⌊"))
- | "\\rfloor" -> LITERAL (HTMLABLE (FONT_UF, "\\rfloor ", "⌋"))
- | "\\lceil" -> LITERAL (HTMLABLE (FONT_UF, "\\lceil ", "⌈"))
- | "\\rceil" -> LITERAL (HTMLABLE (FONT_UF, "\\rceil ", "⌉"))
- | "\\lbrace" -> LITERAL (HTMLABLEC(FONT_UFH, "\\lbrace ", "{"))
- | "\\rbrace" -> LITERAL (HTMLABLEC(FONT_UFH, "\\rbrace ", "}"))
+ | "\\lfloor" -> DELIMITER (HTMLABLE (FONT_UF, "\\lfloor ", "⌊"))
+ | "\\rfloor" -> DELIMITER (HTMLABLE (FONT_UF, "\\rfloor ", "⌋"))
+ | "\\lceil" -> DELIMITER (HTMLABLE (FONT_UF, "\\lceil ", "⌈"))
+ | "\\rceil" -> DELIMITER (HTMLABLE (FONT_UF, "\\rceil ", "⌉"))
+ | "\\lbrace" -> DELIMITER (HTMLABLEC(FONT_UFH, "\\lbrace ", "{"))
+ | "\\rbrace" -> DELIMITER (HTMLABLEC(FONT_UFH, "\\rbrace ", "}"))
| "\\infty" -> LITERAL (HTMLABLEM(FONT_UF, "\\infty ", "∞"))
| "\\infin" -> LITERAL (HTMLABLEM(FONT_UF, "\\infty ", "∞"))
| "\\isin" -> LITERAL (HTMLABLE (FONT_UF, "\\in ", "∈"))
@@ -283,7 +290,7 @@
| "\\Im" -> LITERAL (HTMLABLE (FONT_UF, "\\Im ", "ℑ"))
| "\\image" -> LITERAL (HTMLABLE (FONT_UF, "\\Im ", "ℑ"))
| "\\prime" -> LITERAL (HTMLABLE (FONT_UFH,"\\prime ", "′"))
- | "\\backslash" -> LITERAL (HTMLABLEM(FONT_UFH,"\\backslash ", "\\"))
+ | "\\backslash" -> DELIMITER (HTMLABLEM(FONT_UFH,"\\backslash ", "\\"))
| "\\setminus" -> LITERAL (HTMLABLEM(FONT_UFH,"\\setminus ", "\\"))
| "\\times" -> LITERAL (HTMLABLEM(FONT_UFH,"\\times ", "×"))
| "\\pm" -> LITERAL (HTMLABLEM(FONT_UFH,"\\pm ", "±"))
@@ -313,12 +320,13 @@
| "\\dots" -> LITERAL (HTMLABLEM(FONT_UFH,"\\dots ", "..."))
| "\\quad" -> LITERAL (HTMLABLE (FONT_UF, "\\quad "," "))
| "\\qquad" -> LITERAL (HTMLABLE (FONT_UF, "\\qquad "," "))
- | "\\mid" -> LITERAL (HTMLABLEM(FONT_UFH,"\\mid ", " | "))
+ | "\\mid" -> DELIMITER (HTMLABLEM(FONT_UFH,"\\mid ", " | "))
| "\\neg" -> LITERAL (HTMLABLEM(FONT_UFH,"\\neg ", "¬"))
- | "\\langle" -> LITERAL (HTMLABLE (FONT_UFH,"\\langle ","〈"))
- | "\\rangle" -> LITERAL (HTMLABLE (FONT_UFH,"\\rangle ","〉"))
- | "\\lang" -> LITERAL (HTMLABLE (FONT_UFH,"\\langle ","〈"))
- | "\\rang" -> LITERAL (HTMLABLE (FONT_UFH,"\\rangle ","〉"))
+ | "\\langle" -> DELIMITER (HTMLABLE (FONT_UFH,"\\langle ","〈"))
+ | "\\rangle" -> DELIMITER (HTMLABLE (FONT_UFH,"\\rangle ","〉"))
+ | "\\lang" -> DELIMITER (HTMLABLE (FONT_UFH,"\\langle ","〈"))
+ | "\\rang" -> DELIMITER (HTMLABLE (FONT_UFH,"\\rangle ","〉"))
+ | "\\ddots" -> LITERAL (TEX_ONLY "\\ddots ")
| "\\clubs" -> LITERAL (TEX_ONLY "\\clubsuit ")
| "\\clubsuit" -> LITERAL (TEX_ONLY "\\clubsuit ")
| "\\spades" -> LITERAL (TEX_ONLY "\\spadesuit ")
@@ -341,8 +349,6 @@
| "\\N" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "N")))
| "\\lVert" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\lVert ", "||")))
| "\\rVert" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\rVert ", "||")))
- | "\\left" -> LITERAL (HTMLABLE (FONT_UF, "\\left ", ""))
- | "\\right" -> LITERAL (HTMLABLE (FONT_UF, "\\right ", ""))
| "\\nmid" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\nmid "))
| "\\lesssim" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\lesssim "))
| "\\ngeq" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\ngeq "))
@@ -385,6 +391,8 @@
| "\\iiint" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\iiint "))
| "\\iiiint" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\iiiint "))
| "\\varnothing" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\varnothing "))
+ | "\\left" -> LEFT
+ | "\\right" -> RIGHT
| "\\hat" -> FUN_AR1 "\\hat "
| "\\widehat" -> FUN_AR1 "\\widehat "
| "\\overline" -> FUN_AR1 "\\overline "
@@ -409,7 +417,6 @@
| "\\binom" -> FUN_AR2 "\\binom "
| "\\frac" -> FUN_AR2h ("\\frac ", fun num den -> Html.html_render [num], "
", Html.html_render [den])
| "\\over" -> FUN_INFIXh ("\\over ", fun num den -> Html.html_render num, "
", Html.html_render den)
-(* ? *)
| "\\sqrt" -> FUN_AR1 "\\sqrt "
| "\\pmod" -> FUN_AR1hl ("\\pmod ", ("(mod ", ")"))
| "\\bmod" -> FUN_AR1hl ("\\bmod ", ("mod ", ""))
@@ -422,8 +429,13 @@
| "\\it" -> DECLh ("\\it ", FONTFORCE_IT)
| "\\cal" -> DECL "\\cal "
| "\\bf" -> DECL "\\bf "
+ | "\\big" -> BIG "\\big "
+ | "\\Big" -> BIG "\\Big "
+ | "\\bigg" -> BIG "\\bigg "
+ | "\\Bigg" -> BIG "\\Bigg "
| "\\mathit" -> (tex_use_ams (); FUN_AR1hf ("\\mathit ", FONTFORCE_IT))
| "\\mathrm" -> (tex_use_ams (); FUN_AR1hf ("\\mathrm ", FONTFORCE_RM))
+ | "\\mathop" -> (tex_use_ams (); FUN_AR1 "\\mathop ")
| "\\boldsymbol" -> (tex_use_ams (); FUN_AR1 "\\boldsymbol ")
| "\\bold" -> (tex_use_ams (); FUN_AR1 "\\mathbf ")
| "\\Bbb" -> (tex_use_ams (); FUN_AR1 "\\mathbb ")
@@ -433,7 +445,6 @@
| "\\mathbb" -> (tex_use_ams (); FUN_AR1 "\\mathbb ")
| "\\mathfrak" -> (tex_use_ams (); FUN_AR1 "\\mathfrak ")
| "\\operatorname" -> (tex_use_ams (); FUN_AR1 "\\operatorname ")
-(* + *)
| "\\mbox" -> raise (Failure "malformatted \\mbox")
| "\\vbox" -> raise (Failure "malformatted \\vbox")
| "\\hbox" -> raise (Failure "malformatted \\hbox")