let modules_ams = ref false
let modules_nonascii = ref false
let modules_encoding = ref UTF8
+let modules_color = ref false
let tex_use_ams () = modules_ams := true
let tex_use_nonascii () = modules_nonascii := true
-let tex_mod_reset () = (modules_ams := false; modules_nonascii := false; modules_encoding := UTF8)
+let tex_use_color () = modules_color := true
+let tex_mod_reset () = (modules_ams := false; modules_nonascii := false; modules_encoding := UTF8; modules_color := false)
let get_encoding = function
UTF8 -> "\\usepackage{ucs}\n\\usepackage[utf8]{inputenc}\n"
| LATIN2 -> "\\usepackage[latin2]{inputenc}\n"
let get_preface () = "\\nonstopmode\n\\documentclass[12pt]{article}\n" ^
- (if !modules_nonascii then get_encoding !modules_encoding else "") ^
- (if !modules_ams then "\\usepackage{amsmath}\n\\usepackage{amsfonts}\n\\usepackage{amssymb}\n" else "") ^
- "\\pagestyle{empty}\n\\begin{document}\n$$\n"
+ (if !modules_nonascii then get_encoding !modules_encoding else "") ^
+ (if !modules_ams then "\\usepackage{amsmath}\n\\usepackage{amsfonts}\n\\usepackage{amssymb}\n" else "") ^
+ (if !modules_color then "\\usepackage[dvips,usenames]{color}\n" else "") ^
+ "\\pagestyle{empty}\n\\begin{document}\n$$\n"
let get_footer () = "\n$$\n\\end{document}\n"
let set_encoding = function
| "\\rho" -> LITERAL (HTMLABLEC (FONT_UF, "\\rho ", "ρ"))
| "\\Rho" -> LITERAL (HTMLABLEC (FONT_RTI, "P", "Ρ"))
| "\\varrho" -> LITERAL (TEX_ONLY "\\varrho ")
+ | "\\sim" -> LITERAL (HTMLABLEC (FONT_UF, "\\sim ", "˜"))
| "\\sigma" -> LITERAL (HTMLABLEC (FONT_UF, "\\sigma ", "σ"))
| "\\Sigma" -> LITERAL (HTMLABLEC (FONT_RTI, "\\Sigma ", "Σ"))
| "\\varsigma" -> LITERAL (TEX_ONLY "\\varsigma ")
| "\\hAar" -> LITERAL (HTMLABLE (FONT_UF, "\\Leftrightarrow ", "⇔"))
| "\\Longleftrightarrow"->LITERAL (HTMLABLE (FONT_UF, "\\Longleftrightarrow ", "↔"))
| "\\iff" -> LITERAL (HTMLABLE (FONT_UF, "\\iff ", "↔"))
+ | "\\ll" -> LITERAL (TEX_ONLY "\\ll ")
+ | "\\gg" -> LITERAL (TEX_ONLY "\\gg ")
+ | "\\div" -> LITERAL (TEX_ONLY "\\div ")
| "\\searrow" -> LITERAL (TEX_ONLY "\\searrow ")
| "\\nearrow" -> LITERAL (TEX_ONLY "\\nearrow ")
| "\\swarrow" -> LITERAL (TEX_ONLY "\\swarrow ")
| "\\bigoplus" -> LITERAL (TEX_ONLY "\\bigoplus ")
| "\\bigvee" -> LITERAL (TEX_ONLY "\\bigvee ")
| "\\biguplus" -> LITERAL (TEX_ONLY "\\biguplus ")
- | "\\oint" -> LITERAL (TEX_ONLY "\\oint ")
+ | "\\oint" -> LITERAL (TEX_ONLY "\\oint ")
| "\\bigwedge" -> LITERAL (TEX_ONLY "\\bigwedge ")
| "\\models" -> LITERAL (TEX_ONLY "\\models ")
| "\\vdash" -> LITERAL (TEX_ONLY "\\vdash ")
| "\\triangle" -> LITERAL (TEX_ONLY "\\triangle ")
- | "\\wr" -> LITERAL (TEX_ONLY "\\wr ")
+ | "\\bowtie" -> LITERAL (TEX_ONLY "\\bowtie ")
+ | "\\wr" -> LITERAL (TEX_ONLY "\\wr ")
| "\\triangleleft" -> LITERAL (TEX_ONLY "\\triangleleft ")
| "\\triangleright" -> LITERAL (TEX_ONLY "\\triangleright ")
| "\\textvisiblespace" -> LITERAL (TEX_ONLY "\\textvisiblespace ")
- | "\\ker" -> LITERAL (TEX_ONLY "\\ker ")
- | "\\lim" -> LITERAL (TEX_ONLY "\\lim ")
+ | "\\ker" -> LITERAL (TEX_ONLY "\\ker ")
+ | "\\lim" -> LITERAL (TEX_ONLY "\\lim ")
| "\\limsup" -> LITERAL (TEX_ONLY "\\limsup ")
| "\\liminf" -> LITERAL (TEX_ONLY "\\liminf ")
- | "\\sup" -> LITERAL (TEX_ONLY "\\sup ")
- | "\\Pr" -> LITERAL (TEX_ONLY "\\Pr ")
- | "\\hom" -> LITERAL (TEX_ONLY "\\hom ")
- | "\\arg" -> LITERAL (TEX_ONLY "\\arg ")
- | "\\dim" -> LITERAL (TEX_ONLY "\\dim ")
- | "\\inf" -> LITERAL (TEX_ONLY "\\inf ")
- | "\\circ" -> LITERAL (TEX_ONLY "\\circ ")
- | "\\hbar" -> LITERAL (TEX_ONLY "\\hbar ")
- | "\\imath" -> LITERAL (TEX_ONLY "\\imath ")
- | "\\lnot" -> LITERAL (TEX_ONLY "\\lnot ")
+ | "\\sup" -> LITERAL (TEX_ONLY "\\sup ")
+ | "\\Pr" -> LITERAL (TEX_ONLY "\\Pr ")
+ | "\\hom" -> LITERAL (TEX_ONLY "\\hom ")
+ | "\\arg" -> LITERAL (TEX_ONLY "\\arg ")
+ | "\\dim" -> LITERAL (TEX_ONLY "\\dim ")
+ | "\\inf" -> LITERAL (TEX_ONLY "\\inf ")
+ | "\\circ" -> LITERAL (TEX_ONLY "\\circ ")
+ | "\\hbar" -> LITERAL (TEX_ONLY "\\hbar ")
+ | "\\imath" -> LITERAL (TEX_ONLY "\\imath ")
+ | "\\lnot" -> LITERAL (TEX_ONLY "\\lnot ")
| "\\hookrightarrow" -> LITERAL (TEX_ONLY "\\hookrightarrow ")
| "\\hookleftarrow" -> LITERAL (TEX_ONLY "\\hookleftarrow ")
| "\\mp" -> LITERAL (TEX_ONLY "\\mp ")
| "\\flat" -> LITERAL (TEX_ONLY "\\flat ")
| "\\sharp" -> LITERAL (TEX_ONLY "\\sharp ")
| "\\natural" -> LITERAL (TEX_ONLY "\\natural ")
- | "\\int" -> LITERAL (HTMLABLE_BIG ("\\int ", "∫"))
- | "\\sum" -> LITERAL (HTMLABLE_BIG ("\\sum ", "∑"))
- | "\\prod" -> LITERAL (HTMLABLE_BIG ("\\prod ", "∏"))
+ | "\\int" -> LITERAL (HTMLABLE_BIG ("\\int ", "∫"))
+ | "\\sum" -> LITERAL (HTMLABLE_BIG ("\\sum ", "∑"))
+ | "\\prod" -> LITERAL (HTMLABLE_BIG ("\\prod ", "∏"))
| "\\vdots" -> LITERAL (TEX_ONLY "\\vdots ")
+ | "\\limits" -> LITERAL (TEX_ONLY "\\limits ")
+ | "\\nolimits" -> LITERAL (TEX_ONLY "\\nolimits ")
| "\\top" -> LITERAL (TEX_ONLY "\\top ")
- | "\\sin" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sin ","sin"))
- | "\\cos" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cos ","cos"))
- | "\\sinh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sinh ","sinh"))
- | "\\cosh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cosh ","cosh"))
- | "\\tan" -> LITERAL (HTMLABLEC(FONT_UFH,"\\tan ","tan"))
- | "\\tanh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\tanh ","tanh"))
- | "\\sec" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sec ","sec"))
- | "\\csc" -> LITERAL (HTMLABLEC(FONT_UFH,"\\csc ","csc"))
+ | "\\sin" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sin ","sin"))
+ | "\\cos" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cos ","cos"))
+ | "\\sinh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sinh ","sinh"))
+ | "\\cosh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cosh ","cosh"))
+ | "\\tan" -> LITERAL (HTMLABLEC(FONT_UFH,"\\tan ","tan"))
+ | "\\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"))
| "\\arctan" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arctan ","arctan"))
| "\\arccos" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccos}}","arccos")))
| "\\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"))
- | "\\lg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\lg ", "lg"))
- | "\\ln" -> LITERAL (HTMLABLEC(FONT_UFH,"\\ln ", "ln"))
- | "\\exp" -> LITERAL (HTMLABLEC(FONT_UFH,"\\exp ", "exp"))
- | "\\min" -> LITERAL (HTMLABLEC(FONT_UFH,"\\min ", "min"))
- | "\\max" -> LITERAL (HTMLABLEC(FONT_UFH,"\\max ", "max"))
- | "\\gcd" -> LITERAL (HTMLABLEC(FONT_UFH,"\\gcd ", "gcd"))
- | "\\deg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\deg ", "deg"))
- | "\\det" -> LITERAL (HTMLABLEC(FONT_UFH,"\\det ", "det"))
+ | "\\cot" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cot ","cot"))
+ | "\\coth" -> LITERAL (HTMLABLEC(FONT_UFH,"\\coth ","coth"))
+ | "\\log" -> LITERAL (HTMLABLEC(FONT_UFH,"\\log ", "log"))
+ | "\\lg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\lg ", "lg"))
+ | "\\ln" -> LITERAL (HTMLABLEC(FONT_UFH,"\\ln ", "ln"))
+ | "\\exp" -> LITERAL (HTMLABLEC(FONT_UFH,"\\exp ", "exp"))
+ | "\\min" -> LITERAL (HTMLABLEC(FONT_UFH,"\\min ", "min"))
+ | "\\max" -> LITERAL (HTMLABLEC(FONT_UFH,"\\max ", "max"))
+ | "\\gcd" -> LITERAL (HTMLABLEC(FONT_UFH,"\\gcd ", "gcd"))
+ | "\\deg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\deg ", "deg"))
+ | "\\det" -> LITERAL (HTMLABLEC(FONT_UFH,"\\det ", "det"))
| "\\bullet" -> LITERAL (HTMLABLE (FONT_UFH, "\\bullet ", "•"))
| "\\bull" -> LITERAL (HTMLABLE (FONT_UFH, "\\bullet ", "•"))
| "\\angle" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\angle ", "∠")))
| "\\pm" -> LITERAL (HTMLABLEM(FONT_UFH,"\\pm ", "±"))
| "\\plusmn" -> LITERAL (HTMLABLEM(FONT_UFH,"\\pm ", "±"))
| "\\cdot" -> LITERAL (HTMLABLE (FONT_UFH,"\\cdot ", "⋅"))
+ | "\\AA" -> LITERAL (HTMLABLE (FONT_UFH,"\\AA ", "Å"))
| "\\cdots" -> LITERAL (HTMLABLE (FONT_UFH,"\\cdots ", "⋅⋅⋅"))
| "\\sdot" -> LITERAL (HTMLABLE (FONT_UFH,"\\cdot ", "⋅"))
| "\\oplus" -> LITERAL (HTMLABLE (FONT_UF, "\\oplus ", "⊕"))
| "\\otimes" -> LITERAL (HTMLABLE (FONT_UF, "\\otimes ", "⊗"))
| "\\cap" -> LITERAL (HTMLABLEM(FONT_UF, "\\cap ", "∩"))
| "\\cup" -> LITERAL (HTMLABLE (FONT_UF, "\\cup ", "∪"))
+ | "\\sqcap" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\sqcap "))
+ | "\\sqcup" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\sqcup "))
| "\\empty" -> LITERAL (HTMLABLE (FONT_UF, "\\emptyset ", "∅"))
| "\\emptyset" -> LITERAL (HTMLABLE (FONT_UF, "\\emptyset ", "∅"))
| "\\O" -> LITERAL (HTMLABLE (FONT_UF, "\\emptyset ", "∅"))
| "\\partial" -> LITERAL (HTMLABLEM(FONT_UF, "\\partial ", "∂"))
| "\\ldots" -> LITERAL (HTMLABLEM(FONT_UFH,"\\ldots ", "..."))
| "\\dots" -> LITERAL (HTMLABLEM(FONT_UFH,"\\dots ", "..."))
- | "\\quad" -> LITERAL (HTMLABLE (FONT_UF, "\\quad "," "))
- | "\\qquad" -> LITERAL (HTMLABLE (FONT_UF, "\\qquad "," "))
+ | "\\quad" -> LITERAL (HTMLABLE (FONT_UF, "\\quad "," "))
+ | "\\qquad" -> LITERAL (HTMLABLE (FONT_UF, "\\qquad "," "))
| "\\mid" -> LITERAL (HTMLABLEM(FONT_UFH,"\\mid ", " | "))
| "\\neg" -> LITERAL (HTMLABLEM(FONT_UFH,"\\neg ", "¬"))
| "\\langle" -> DELIMITER (HTMLABLE (FONT_UFH,"\\langle ","⟨"))
| "\\rangle" -> DELIMITER (HTMLABLE (FONT_UFH,"\\rangle ","⟩"))
| "\\lang" -> DELIMITER (HTMLABLE (FONT_UFH,"\\langle ","⟨"))
| "\\rang" -> DELIMITER (HTMLABLE (FONT_UFH,"\\rangle ","⟩"))
- | "\\lbrack" -> DELIMITER (HTMLABLEC(FONT_UFH,"[","["))
- | "\\rbrack" -> DELIMITER (HTMLABLEC(FONT_UFH,"]","]"))
+ | "\\lbrack" -> DELIMITER (HTMLABLEC(FONT_UFH,"[","["))
+ | "\\rbrack" -> DELIMITER (HTMLABLEC(FONT_UFH,"]","]"))
| "\\ddots" -> LITERAL (TEX_ONLY "\\ddots ")
| "\\clubs" -> LITERAL (TEX_ONLY "\\clubsuit ")
| "\\clubsuit" -> LITERAL (TEX_ONLY "\\clubsuit ")
| "\\diamonds" -> LITERAL (TEX_ONLY "\\diamondsuit ")
| "\\diamondsuit" -> LITERAL (TEX_ONLY "\\diamondsuit ")
| "\\implies" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\implies ", "⇒")))
- | "\\mod" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mod ", "mod")))
+ | "\\mod" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mod ", "mod")))
| "\\Diamond" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\Diamond ", "◊")))
| "\\dotsb" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\dotsb ", "⋅⋅⋅")))
| "\\reals" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "<b>R</b>")))
| "\\Complex" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "<b>C</b>")))
| "\\Z" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{Z}", "<b>Z</b>")))
| "\\natnums" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "<b>N</b>")))
- | "\\N" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "<b>N</b>")))
+ | "\\N" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "<b>N</b>")))
| "\\lVert" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\lVert ", "||")))
| "\\rVert" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\rVert ", "||")))
| "\\nmid" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\nmid "))
| "\\trianglelefteq" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\trianglelefteq "))
| "\\trianglerighteq" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\trianglerighteq "))
| "\\square" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\square "))
+ | "\\checkmark" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\checkmark "))
| "\\supsetneq" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\supsetneq "))
| "\\subsetneq" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\subsetneq "))
| "\\Box" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\Box "))
| "\\upharpoonleft" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\upharpoonleft "))
| "\\downharpoonright" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\downharpoonright "))
| "\\downharpoonleft" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\downharpoonleft "))
+ | "\\rightharpoonup" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\rightharpoonup "))
+ | "\\rightharpoondown" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\rightharpoondown "))
+ | "\\leftharpoonup" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\leftharpoonup "))
+ | "\\leftharpoondown" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\leftharpoondown "))
| "\\nless" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\nless "))
| "\\Vdash" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\Vdash "))
| "\\vDash" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\vDash "))
| "\\varnothing" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\varnothing "))
| "\\left" -> LEFT
| "\\right" -> RIGHT
- | "\\hat" -> FUN_AR1 "\\hat "
+ | "\\hat" -> FUN_AR1 "\\hat "
| "\\widehat" -> FUN_AR1 "\\widehat "
| "\\overline" -> FUN_AR1 "\\overline "
| "\\overbrace" -> FUN_AR1 "\\overbrace "
| "\\overleftarrow" -> FUN_AR1 "\\overleftarrow "
| "\\overrightarrow" -> FUN_AR1 "\\overrightarrow "
| "\\overleftrightarrow"->FUN_AR1 "\\overleftrightarrow "
- | "\\check" -> FUN_AR1 "\\check "
- | "\\acute" -> FUN_AR1 "\\acute "
- | "\\grave" -> FUN_AR1 "\\grave "
- | "\\bar" -> FUN_AR1 "\\bar "
- | "\\vec" -> FUN_AR1 "\\vec "
- | "\\dot" -> FUN_AR1 "\\dot "
- | "\\ddot" -> FUN_AR1 "\\ddot "
- | "\\breve" -> FUN_AR1 "\\breve "
- | "\\tilde" -> FUN_AR1 "\\tilde "
- | "\\not" -> FUN_AR1 "\\not "
+ | "\\check" -> FUN_AR1 "\\check "
+ | "\\acute" -> FUN_AR1 "\\acute "
+ | "\\grave" -> FUN_AR1 "\\grave "
+ | "\\bar" -> FUN_AR1 "\\bar "
+ | "\\vec" -> FUN_AR1 "\\vec "
+ | "\\dot" -> FUN_AR1 "\\dot "
+ | "\\ddot" -> FUN_AR1 "\\ddot "
+ | "\\breve" -> FUN_AR1 "\\breve "
+ | "\\tilde" -> FUN_AR1 "\\tilde "
+ | "\\not" -> LITERAL (TEX_ONLY "\\not ")
| "\\choose" -> FUN_INFIX "\\choose "
| "\\atop" -> FUN_INFIX "\\atop "
| "\\binom" -> FUN_AR2 "\\binom "
| "\\rm" -> DECLh ("\\rm ", FONTFORCE_RM)
| "\\it" -> DECLh ("\\it ", FONTFORCE_IT)
| "\\cal" -> DECL "\\cal "
+ | "\\displaystyle" -> LITERAL (TEX_ONLY "\\displaystyle ")
+ | "\\scriptstyle" -> LITERAL (TEX_ONLY "\\scriptstyle ")
+ | "\\textstyle" -> LITERAL (TEX_ONLY "\\textstyle ")
+ | "\\scriptscriptstyle"-> LITERAL (TEX_ONLY "\\scriptscriptstyle ")
| "\\bf" -> DECL "\\bf "
- | "\\big" -> BIG "\\big "
- | "\\Big" -> BIG "\\Big "
- | "\\bigg" -> BIG "\\bigg "
- | "\\Bigg" -> BIG "\\Bigg "
+ | "\\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 ")
| "\\mbox" -> raise (Failure "malformatted \\mbox")
| "\\vbox" -> raise (Failure "malformatted \\vbox")
| "\\hbox" -> raise (Failure "malformatted \\hbox")
+ | "\\color" -> (tex_use_color (); LITERAL (TEX_ONLY "\\color"))
| s -> raise (Illegal_tex_function s)