Index: branches/REL1_18/extensions/Math/Math.php |
— | — | @@ -89,6 +89,7 @@ |
90 | 90 | $wgHooks['GetPreferences'][] = 'MathHooks::onGetPreferences'; |
91 | 91 | $wgHooks['LoadExtensionSchemaUpdates'][] = 'MathHooks::onLoadExtensionSchemaUpdates'; |
92 | 92 | $wgHooks['ParserTestTables'][] = 'MathHooks::onParserTestTables'; |
| 93 | +$wgHooks['ParserTestParser'][] = 'MathHooks::onParserTestParser'; |
93 | 94 | |
94 | 95 | $dir = dirname( __FILE__ ) . '/'; |
95 | 96 | $wgAutoloadClasses['MathHooks'] = $dir . 'Math.hooks.php'; |
Index: branches/REL1_18/extensions/Math/Math.hooks.php |
— | — | @@ -136,4 +136,18 @@ |
137 | 137 | $tables[] = 'math'; |
138 | 138 | return true; |
139 | 139 | } |
| 140 | + |
| 141 | + /** |
| 142 | + * Hack to fake a default $wgMathPath value so parser test output |
| 143 | + * that renders to images doesn't vary by who runs it. |
| 144 | + * |
| 145 | + * @global string $wgMathPath |
| 146 | + * @param Parser $parser |
| 147 | + * @return bool |
| 148 | + */ |
| 149 | + static function onParserTestParser( &$parser ) { |
| 150 | + global $wgMathPath; |
| 151 | + $wgMathPath = '/images/math'; |
| 152 | + return true; |
| 153 | + } |
140 | 154 | } |
Index: branches/REL1_18/extensions/Math/mathParserTests.txt |
— | — | @@ -39,3 +39,111 @@ |
40 | 40 | #</p> |
41 | 41 | #!! end |
42 | 42 | |
| 43 | +!! test |
| 44 | +BUG 26380: Add \widetilde support to match \widehat |
| 45 | +!! input |
| 46 | +<math>\widehat{x}</math> |
| 47 | +<math>\widetilde{x}</math> |
| 48 | +!! result |
| 49 | +<p><img class="tex" alt="\widehat{x}" src="/images/math/9/9/8/998309e831dfb051f233c92b4b8a825b.png" /> |
| 50 | +<img class="tex" alt="\widetilde{x}" src="/images/math/e/9/e/e9e91996778a6d6f5cdf4cc951955206.png" /> |
| 51 | +</p> |
| 52 | +!! end |
| 53 | + |
| 54 | +!! test |
| 55 | +BUG 27324: Euro symbol for math |
| 56 | +!! input |
| 57 | +<math>\euro 200</math> |
| 58 | +<math>\geneuro</math> |
| 59 | +<math>\geneuronarrow</math> |
| 60 | +<math>\geneurowide</math> |
| 61 | +<math>\officialeuro</math> |
| 62 | +!! result |
| 63 | +<p><span class="texhtml" dir="ltr">€200</span> |
| 64 | +<img class="tex" alt="\geneuro" src="/images/math/9/8/b/98b63c235ee187a38267e0e170b10e9d.png" /> |
| 65 | +<img class="tex" alt="\geneuronarrow" src="/images/math/a/a/4/aa4a1ed370f4ee705c6930384bf89502.png" /> |
| 66 | +<img class="tex" alt="\geneurowide" src="/images/math/4/4/0/4404468e6187fb04e4f7e1f15e550825.png" /> |
| 67 | +<img class="tex" alt="\officialeuro" src="/images/math/d/7/0/d708de0eed23dbd6f02b99ea9073547b.png" /> |
| 68 | +</p> |
| 69 | +!! end |
| 70 | + |
| 71 | +!! test |
| 72 | +BUG 27754: Archaic Greek letters for math (may require texlive-lang-greek) |
| 73 | +!! input |
| 74 | +<math>\digamma</math><!-- Lowercase digamma was already available --> |
| 75 | +<math>\Coppa\coppa\varcoppa</math> |
| 76 | +<math>\Digamma</math> |
| 77 | +<math>\Koppa\koppa</math> |
| 78 | +<math>\Sampi\sampi</math> |
| 79 | +<math>\Stigma\stigma\varstigma</math> |
| 80 | +!! result |
| 81 | +<p><img class="tex" alt="\digamma" src="/images/math/2/f/0/2f057b6e514c8ca2d9cf9a3e549f8865.png" /> |
| 82 | +<img class="tex" alt="\Coppa\coppa\varcoppa" src="/images/math/8/3/0/8308ee5003aa36112414cad8ef874f85.png" /> |
| 83 | +<img class="tex" alt="\Digamma" src="/images/math/5/c/f/5cfd6e5df6c87798542dca2e22c1e7cb.png" /> |
| 84 | +<img class="tex" alt="\Koppa\koppa" src="/images/math/5/2/5/52593a0cdac178d165985ac014788b97.png" /> |
| 85 | +<img class="tex" alt="\Sampi\sampi" src="/images/math/e/9/d/e9dabb19e4c27bf23d3c2a3629474562.png" /> |
| 86 | +<img class="tex" alt="\Stigma\stigma\varstigma" src="/images/math/7/b/9/7b9233276816994a33a5e968202cef6e.png" /> |
| 87 | +</p> |
| 88 | +!! end |
| 89 | + |
| 90 | +!! test |
| 91 | +BUG 19547: Apostrophe / single quotes in math \text{...} |
| 92 | +!! input |
| 93 | +<math>\text{next years}</math> |
| 94 | +<math>\text{next year's}</math> |
| 95 | +<math>\text{`next' year}</math> |
| 96 | +!! result |
| 97 | +<p><span class="texhtml" dir="ltr">next years</span> |
| 98 | +<span class="texhtml" dir="ltr">next year's</span> |
| 99 | +<span class="texhtml" dir="ltr">`next' year</span> |
| 100 | +</p> |
| 101 | +!! end |
| 102 | + |
| 103 | +!! test |
| 104 | +BUG 6722: Spacing fix for functions in math HTML output |
| 105 | +!! input |
| 106 | +<math>\sin x</math> |
| 107 | +<math>\sin(x)</math> |
| 108 | +<math>\sin{x}</math> |
| 109 | + |
| 110 | +<math>\sin x \,</math> |
| 111 | +<math>\sin(x) \,</math> |
| 112 | +<math>\sin{x} \,</math> |
| 113 | +!!result |
| 114 | +<p><span class="texhtml" dir="ltr">sin <i>x</i></span> |
| 115 | +<span class="texhtml" dir="ltr">sin(<i>x</i>)</span> |
| 116 | +<span class="texhtml" dir="ltr">sin <i>x</i></span> |
| 117 | +</p><p><img class="tex" alt="\sin x \," src="/images/math/7/6/a/76a8e1a01bd233c1e4e16d63b2bbf939.png" /> |
| 118 | +<img class="tex" alt="\sin(x) \," src="/images/math/1/6/c/16c69b0a3658d3b398f72c518d869a03.png" /> |
| 119 | +<img class="tex" alt="\sin{x} \," src="/images/math/8/3/9/839639707da39f691e702c2399cbf943.png" /> |
| 120 | +</p> |
| 121 | +!! end |
| 122 | + |
| 123 | +!! test |
| 124 | +BUG 18912: Add \sen function for Spanish sin to math |
| 125 | +!! input |
| 126 | +<math>\sen x</math> |
| 127 | +<math>\sen(x)</math> |
| 128 | +<math>\sen{x}</math> |
| 129 | + |
| 130 | +<math>\sen x \,</math> |
| 131 | +<math>\sen(x) \,</math> |
| 132 | +<math>\sen{x} \,</math> |
| 133 | +!! result |
| 134 | +<p><span class="texhtml" dir="ltr">sen <i>x</i></span> |
| 135 | +<span class="texhtml" dir="ltr">sen(<i>x</i>)</span> |
| 136 | +<span class="texhtml" dir="ltr">sen <i>x</i></span> |
| 137 | +</p><p><img class="tex" alt="\sen x \," src="/images/math/0/a/c/0ac592b8f31b4698766c50c532f446a7.png" /> |
| 138 | +<img class="tex" alt="\sen(x) \," src="/images/math/b/b/5/bb5469d24fcdd52aa60cb9ee90ba697d.png" /> |
| 139 | +<img class="tex" alt="\sen{x} \," src="/images/math/d/4/8/d4882a4bcf5db1da3e30d905da8b394e.png" /> |
| 140 | +</p> |
| 141 | +!! end |
| 142 | + |
| 143 | +!! test |
| 144 | +BUG 18912: \operatorname{sen} x gets wrong spacing in math |
| 145 | +!! input |
| 146 | +<math>\operatorname{sen}</math> |
| 147 | +!! result |
| 148 | +<p><img class="tex" alt="\operatorname{sen}" src="/images/math/3/e/7/3e71e75d9aac1bf5107271ad89ca7c3b.png" /> |
| 149 | +</p> |
| 150 | +!! end |
Index: branches/REL1_18/extensions/Math/math/lexer.mll |
— | — | @@ -11,8 +11,10 @@ |
12 | 12 | let delimiter_uf_lt = ['(' ')' '.'] |
13 | 13 | let literal_uf_op = ['+' '-' '*' '='] |
14 | 14 | let delimiter_uf_op = ['/' '|'] |
15 | | -let boxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' '?' '.' '!' ' ' '\128'-'\255'] |
16 | | -let aboxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' '?' '.' '!' ' '] |
| 15 | +let boxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' '?' '.' '!' '\'' '`' ' ' '\128'-'\255'] |
| 16 | +let aboxchars = ['0'-'9' 'a'-'z' 'A'-'Z' '+' '-' '*' ',' '=' '(' ')' ':' '/' ';' '?' '.' '!' '\'' '`' ' '] |
| 17 | +let latex_function_names = "arccos" | "arcsin" | "arctan" | "arg" | "cos" | "cosh" | "cot" | "coth" | "csc"| "deg" | "det" | "dim" | "exp" | "gcd" | "hom" | "inf" | "ker" | "lg" | "lim" | "liminf" | "limsup" | "ln" | "log" | "max" | "min" | "Pr" | "sec" | "sin" | "sinh" | "sup" | "tan" | "tanh" |
| 18 | +let mediawiki_function_names = "arccot" | "arcsec" | "arccsc" | "sgn" | "sen" |
17 | 19 | |
18 | 20 | rule token = parse |
19 | 21 | space + { token lexbuf } |
— | — | @@ -54,10 +56,18 @@ |
55 | 57 | | "-" { let str = Lexing.lexeme lexbuf in LITERAL (MHTMLABLEC (FONT_UFH,"-"," − ",MO,str))} |
56 | 58 | | literal_uf_op { let str = Lexing.lexeme lexbuf in LITERAL (MHTMLABLEC (FONT_UFH, str," "^str^" ",MO,str)) } |
57 | 59 | | delimiter_uf_op { let str = Lexing.lexeme lexbuf in DELIMITER (MHTMLABLEC (FONT_UFH, str," "^str^" ",MO,str)) } |
58 | | - | "\\" alpha + { Texutil.find (Lexing.lexeme lexbuf) } |
59 | 60 | | "\\sqrt" space * "[" { FUN_AR1opt "\\sqrt" } |
60 | 61 | | "\\xleftarrow" space * "[" { Texutil.tex_use_ams(); FUN_AR1opt "\\xleftarrow" } |
61 | 62 | | "\\xrightarrow" space * "[" { Texutil.tex_use_ams(); FUN_AR1opt "\\xrightarrow" } |
| 63 | + | "\\" (latex_function_names as name) space * "(" { LITERAL (HTMLABLEC(FONT_UFH,"\\" ^ name ^ "(", name ^ "(")) } |
| 64 | + | "\\" (latex_function_names as name) space * "[" { LITERAL (HTMLABLEC(FONT_UFH,"\\" ^ name ^ "[", name ^ "[")) } |
| 65 | + | "\\" (latex_function_names as name) space * "\\{" { LITERAL (HTMLABLEC(FONT_UFH,"\\" ^ name ^ "\\{", name ^ "{")) } |
| 66 | + | "\\" (latex_function_names as name) space * { LITERAL (HTMLABLEC(FONT_UFH,"\\" ^ name ^ " ", name ^ " ")) } |
| 67 | + | "\\" (mediawiki_function_names as name) space * "(" { (Texutil.tex_use_ams(); LITERAL (HTMLABLEC(FONT_UFH,"\\operatorname{" ^ name ^ "}(", name^ "("))) } |
| 68 | + | "\\" (mediawiki_function_names as name) space * "[" { (Texutil.tex_use_ams(); LITERAL (HTMLABLEC(FONT_UFH,"\\operatorname{" ^ name ^ "}[", name^ "["))) } |
| 69 | + | "\\" (mediawiki_function_names as name) space * "\\{" { (Texutil.tex_use_ams(); LITERAL (HTMLABLEC(FONT_UFH,"\\operatorname{" ^ name ^ "}\\{", name^ "{"))) } |
| 70 | + | "\\" (mediawiki_function_names as name) space * { (Texutil.tex_use_ams(); LITERAL (HTMLABLEC(FONT_UFH,"\\operatorname{" ^ name ^ "} ", name ^ " "))) } |
| 71 | + | "\\" alpha + { Texutil.find (Lexing.lexeme lexbuf) } |
62 | 72 | | "\\," { LITERAL (HTMLABLE (FONT_UF, "\\,"," ")) } |
63 | 73 | | "\\ " { LITERAL (HTMLABLE (FONT_UF, "\\ "," ")) } |
64 | 74 | | "\\;" { LITERAL (HTMLABLE (FONT_UF, "\\;"," ")) } |
Index: branches/REL1_18/extensions/Math/math/texutil.ml |
— | — | @@ -20,7 +20,7 @@ |
21 | 21 | | TEX_DQN (a) -> "_{" ^ (render_tex a) ^ "}" |
22 | 22 | | TEX_UQN (a) -> "^{" ^ (render_tex a) ^ "}" |
23 | 23 | | TEX_LITERAL s -> tex_part s |
24 | | - | TEX_FUN1 (f,a) -> "{" ^ f ^ " " ^ (render_tex a) ^ "}" |
| 24 | + | TEX_FUN1 (f,a) -> f ^ " " ^ (render_tex a) |
25 | 25 | | TEX_FUN1hl (f,_,a) -> "{" ^ f ^ " " ^ (render_tex a) ^ "}" |
26 | 26 | | TEX_FUN1hf (f,_,a) -> "{" ^ f ^ " " ^ (render_tex a) ^ "}" |
27 | 27 | | TEX_DECLh (f,_,a) -> "{" ^ f ^ "{" ^ (mapjoin render_tex a) ^ "}}" |
— | — | @@ -45,16 +45,22 @@ |
46 | 46 | let modules_nonascii = ref false |
47 | 47 | let modules_encoding = ref UTF8 |
48 | 48 | let modules_color = ref false |
| 49 | +let modules_teubner = ref false |
| 50 | +let modules_euro = ref false |
49 | 51 | |
50 | 52 | (* wrappers to easily set / reset module properties *) |
51 | 53 | let tex_use_ams () = modules_ams := true |
52 | 54 | let tex_use_nonascii () = modules_nonascii := true |
53 | 55 | let tex_use_color () = modules_color := true |
| 56 | +let tex_use_teubner () = modules_teubner := true |
| 57 | +let tex_use_euro () = modules_euro := true |
54 | 58 | let tex_mod_reset () = ( |
55 | 59 | modules_ams := false; |
56 | 60 | modules_nonascii := false; |
57 | 61 | modules_encoding := UTF8; |
58 | | - modules_color := false |
| 62 | + modules_color := false; |
| 63 | + modules_teubner := false; |
| 64 | + modules_euro := false; |
59 | 65 | ) |
60 | 66 | |
61 | 67 | (* Return TeX fragment for one of the encodings in (UTF8,LATIN1,LATIN2) *) |
— | — | @@ -68,6 +74,8 @@ |
69 | 75 | (if !modules_nonascii then get_encoding !modules_encoding else "") ^ |
70 | 76 | (if !modules_ams then "\\usepackage{amsmath}\n\\usepackage{amsfonts}\n\\usepackage{amssymb}\n" else "") ^ |
71 | 77 | (if !modules_color then "\\usepackage[dvips,usenames]{color}\n" else "") ^ |
| 78 | + (if !modules_teubner then "\\usepackage[greek]{babel}\n\\usepackage{teubner}\n" else "") ^ |
| 79 | + (if !modules_euro then "\\usepackage{eurosym}\n" else "") ^ |
72 | 80 | "\\usepackage{cancel}\n\\pagestyle{empty}\n\\begin{document}\n$$\n" |
73 | 81 | |
74 | 82 | (* TeX fragment appended after the content *) |
— | — | @@ -97,7 +105,7 @@ |
98 | 106 | | "\\epsilon" -> LITERAL (TEX_ONLY "\\epsilon ") |
99 | 107 | | "\\Epsilon" -> (tex_use_ams (); LITERAL (HTMLABLEC (FONT_UF, |
100 | 108 | "\\mathrm{E}", "Ε"))) |
101 | | - | "\\varepsilon" -> LITERAL (TEX_ONLY "\\varepsilon ") |
| 109 | + | "\\varepsilon" -> LITERAL (HTMLABLEC (FONT_UF, "\\varepsilon ", "ε")) |
102 | 110 | | "\\zeta" -> LITERAL (HTMLABLEC (FONT_UF, "\\zeta ", "ζ")) |
103 | 111 | | "\\Zeta" -> (tex_use_ams (); LITERAL (HTMLABLEC (FONT_UF, |
104 | 112 | "\\mathrm{Z}", "Ζ"))) |
— | — | @@ -142,9 +150,9 @@ |
143 | 151 | "\\mathrm{T}", "Τ"))) |
144 | 152 | | "\\upsilon" -> LITERAL (HTMLABLEC (FONT_UF, "\\upsilon ", "υ")) |
145 | 153 | | "\\Upsilon" -> LITERAL (HTMLABLEC (FONT_UF, "\\Upsilon ", "Υ")) |
146 | | - | "\\phi" -> LITERAL (TEX_ONLY "\\phi ") |
| 154 | + | "\\phi" -> LITERAL (HTMLABLEC (FONT_UF, "\\phi ", "ϕ")) |
147 | 155 | | "\\Phi" -> LITERAL (HTMLABLEC (FONT_UF, "\\Phi ", "Φ")) |
148 | | - | "\\varphi" -> LITERAL (TEX_ONLY "\\varphi ") |
| 156 | + | "\\varphi" -> LITERAL (HTMLABLEC (FONT_UF, "\\varphi ", "φ")) |
149 | 157 | | "\\chi" -> LITERAL (HTMLABLEC (FONT_UF, "\\chi ", "χ")) |
150 | 158 | | "\\Chi" -> (tex_use_ams (); LITERAL (HTMLABLEC (FONT_UF, |
151 | 159 | "\\mathrm{X}", "Χ"))) |
— | — | @@ -240,16 +248,6 @@ |
241 | 249 | | "\\triangleleft" -> LITERAL (TEX_ONLY "\\triangleleft ") |
242 | 250 | | "\\triangleright" -> LITERAL (TEX_ONLY "\\triangleright ") |
243 | 251 | | "\\textvisiblespace" -> LITERAL (TEX_ONLY "\\textvisiblespace ") |
244 | | - | "\\ker" -> LITERAL (HTMLABLEC(FONT_UFH,"\\ker ","ker")) |
245 | | - | "\\lim" -> LITERAL (TEX_ONLY "\\lim ") |
246 | | - | "\\limsup" -> LITERAL (TEX_ONLY "\\limsup ") |
247 | | - | "\\liminf" -> LITERAL (TEX_ONLY "\\liminf ") |
248 | | - | "\\sup" -> LITERAL (TEX_ONLY "\\sup ") |
249 | | - | "\\Pr" -> LITERAL (TEX_ONLY "\\Pr ") |
250 | | - | "\\hom" -> LITERAL (HTMLABLEC(FONT_UFH,"\\hom ","hom")) |
251 | | - | "\\arg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arg ","arg")) |
252 | | - | "\\dim" -> LITERAL (HTMLABLEC(FONT_UFH,"\\dim ","dim")) |
253 | | - | "\\inf" -> LITERAL (TEX_ONLY "\\inf ") |
254 | 252 | | "\\circ" -> LITERAL (TEX_ONLY "\\circ ") |
255 | 253 | | "\\hbar" -> LITERAL (TEX_ONLY "\\hbar ") |
256 | 254 | | "\\imath" -> LITERAL (TEX_ONLY "\\imath ") |
— | — | @@ -270,32 +268,6 @@ |
271 | 269 | | "\\limits" -> LITERAL (TEX_ONLY "\\limits ") |
272 | 270 | | "\\nolimits" -> LITERAL (TEX_ONLY "\\nolimits ") |
273 | 271 | | "\\top" -> LITERAL (TEX_ONLY "\\top ") |
274 | | - | "\\sin" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sin ","sin")) |
275 | | - | "\\cos" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cos ","cos")) |
276 | | - | "\\sinh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sinh ","sinh")) |
277 | | - | "\\cosh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cosh ","cosh")) |
278 | | - | "\\tan" -> LITERAL (HTMLABLEC(FONT_UFH,"\\tan ","tan")) |
279 | | - | "\\tanh" -> LITERAL (HTMLABLEC(FONT_UFH,"\\tanh ","tanh")) |
280 | | - | "\\sec" -> LITERAL (HTMLABLEC(FONT_UFH,"\\sec ","sec")) |
281 | | - | "\\csc" -> LITERAL (HTMLABLEC(FONT_UFH,"\\csc ","csc")) |
282 | | - | "\\arcsin" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arcsin ","arcsin")) |
283 | | - | "\\arctan" -> LITERAL (HTMLABLEC(FONT_UFH,"\\arctan ","arctan")) |
284 | | - | "\\arccos" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccos}}","arccos"))) |
285 | | - | "\\arccot" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccot}}","arccot"))) |
286 | | - | "\\arcsec" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arcsec}}","arcsec"))) |
287 | | - | "\\arccsc" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{arccsc}}","arccsc"))) |
288 | | - | "\\sgn" -> (tex_use_ams (); LITERAL (HTMLABLEC(FONT_UFH,"\\mathop{\\mathrm{sgn}}","sgn"))) |
289 | | - | "\\cot" -> LITERAL (HTMLABLEC(FONT_UFH,"\\cot ","cot")) |
290 | | - | "\\coth" -> LITERAL (HTMLABLEC(FONT_UFH,"\\coth ","coth")) |
291 | | - | "\\log" -> LITERAL (HTMLABLEC(FONT_UFH,"\\log ", "log")) |
292 | | - | "\\lg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\lg ", "lg")) |
293 | | - | "\\ln" -> LITERAL (HTMLABLEC(FONT_UFH,"\\ln ", "ln")) |
294 | | - | "\\exp" -> LITERAL (HTMLABLEC(FONT_UFH,"\\exp ", "exp")) |
295 | | - | "\\min" -> LITERAL (HTMLABLEC(FONT_UFH,"\\min ", "min")) |
296 | | - | "\\max" -> LITERAL (HTMLABLEC(FONT_UFH,"\\max ", "max")) |
297 | | - | "\\gcd" -> LITERAL (HTMLABLEC(FONT_UFH,"\\gcd ", "gcd")) |
298 | | - | "\\deg" -> LITERAL (HTMLABLEC(FONT_UFH,"\\deg ", "deg")) |
299 | | - | "\\det" -> LITERAL (HTMLABLEC(FONT_UFH,"\\det ", "det")) |
300 | 272 | | "\\bullet" -> LITERAL (HTMLABLE (FONT_UFH, "\\bullet ", "•")) |
301 | 273 | | "\\bull" -> LITERAL (HTMLABLE (FONT_UFH, "\\bullet ", "•")) |
302 | 274 | | "\\angle" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\angle ", "∠"))) |
— | — | @@ -419,6 +391,22 @@ |
420 | 392 | | "\\asymp" -> LITERAL (TEX_ONLY "\\asymp ") |
421 | 393 | | "\\doteq" -> LITERAL (TEX_ONLY "\\doteq ") |
422 | 394 | | "\\parallel" -> LITERAL (TEX_ONLY "\\parallel ") |
| 395 | + | "\\euro" -> (tex_use_euro (); LITERAL (HTMLABLEC (FONT_UF, "\\mbox{\\euro}", "€"))) |
| 396 | + | "\\geneuro" -> (tex_use_euro (); LITERAL (TEX_ONLY "\\mbox{\\geneuro}")) |
| 397 | + | "\\geneuronarrow" -> (tex_use_euro (); LITERAL (TEX_ONLY "\\mbox{\\geneuronarrow}")) |
| 398 | + | "\\geneurowide" -> (tex_use_euro (); LITERAL (TEX_ONLY "\\mbox{\\geneurowide}")) |
| 399 | + | "\\officialeuro" -> (tex_use_euro (); LITERAL (TEX_ONLY "\\mbox{\\officialeuro}")) |
| 400 | + | "\\Coppa" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\Coppa}", "Ϙ"))) |
| 401 | + | "\\coppa" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\coppa}", "ϙ"))) |
| 402 | + | "\\varcoppa" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\coppa}", "ϙ"))) |
| 403 | + | "\\Digamma" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\Digamma}", "Ϝ"))) |
| 404 | + | "\\Koppa" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\Koppa}", "Ϙ"))) |
| 405 | + | "\\koppa" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\koppa}", "ϟ"))) |
| 406 | + | "\\Sampi" -> (tex_use_teubner (); LITERAL (TEX_ONLY "\\mbox{\\Sampi}")) |
| 407 | + | "\\sampi" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\sampi}", "ϡ"))) |
| 408 | + | "\\Stigma" -> (tex_use_teubner (); LITERAL (TEX_ONLY "\\mbox{\\Stigma}")) |
| 409 | + | "\\stigma" -> (tex_use_teubner (); LITERAL (HTMLABLE (FONT_UF, "\\mbox{\\stigma}", "ϛ"))) |
| 410 | + | "\\varstigma" -> (tex_use_teubner (); LITERAL (TEX_ONLY "\\mbox{\\varstigma}")) |
423 | 411 | | "\\implies" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\implies ", "⇒"))) |
424 | 412 | | "\\mod" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mod ", "mod"))) |
425 | 413 | | "\\Diamond" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\Diamond ", "◊"))) |
— | — | @@ -427,16 +415,17 @@ |
428 | 416 | | "\\dotsi" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\dotsi ", "⋅⋅⋅"))) |
429 | 417 | | "\\dotsm" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\dotsm ", "⋅⋅⋅"))) |
430 | 418 | | "\\dotso" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UF, "\\dotso ", "..."))) |
431 | | - | "\\reals" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "<b>R</b>"))) |
432 | | - | "\\Reals" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "<b>R</b>"))) |
433 | | - | "\\R" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "<b>R</b>"))) |
434 | | - | "\\C" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "<b>C</b>"))) |
435 | | - | "\\cnums" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "<b>C</b>"))) |
436 | | - | "\\Complex" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "<b>C</b>"))) |
437 | | - | "\\Z" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{Z}", "<b>Z</b>"))) |
438 | | - | "\\natnums" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "<b>N</b>"))) |
439 | | - | "\\N" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "<b>N</b>"))) |
440 | | - | "\\Q" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{Q}", "<b>Q</b>"))) |
| 419 | + | "\\reals" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "ℝ"))) |
| 420 | + | "\\Reals" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "ℝ"))) |
| 421 | + | "\\R" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{R}", "ℝ"))) |
| 422 | + | "\\C" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "ℂ"))) |
| 423 | + | "\\cnums" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "ℂ"))) |
| 424 | + | "\\Complex" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{C}", "ℂ"))) |
| 425 | + | "\\Z" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{Z}", "ℤ"))) |
| 426 | + | "\\natnums" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "ℕ"))) |
| 427 | + | "\\N" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{N}", "ℕ"))) |
| 428 | + | "\\Q" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{Q}", "ℚ"))) |
| 429 | + | "\\H" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\mathbb{H}", "ℍ"))) |
441 | 430 | | "\\lVert" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\lVert ", "||"))) |
442 | 431 | | "\\rVert" -> (tex_use_ams (); LITERAL (HTMLABLE (FONT_UFH,"\\rVert ", "||"))) |
443 | 432 | | "\\nmid" -> (tex_use_ams (); LITERAL (TEX_ONLY "\\nmid ")) |
— | — | @@ -492,6 +481,7 @@ |
493 | 482 | | "\\hat" -> FUN_AR1 "\\hat " |
494 | 483 | | "\\hline" -> LITERAL (TEX_ONLY "\\hline ") |
495 | 484 | | "\\vline" -> LITERAL (TEX_ONLY "\\vline ") |
| 485 | + | "\\widetilde" -> LITERAL (TEX_ONLY "\\widetilde ") |
496 | 486 | | "\\widehat" -> LITERAL (TEX_ONLY "\\widehat ") |
497 | 487 | | "\\overline" -> LITERAL (TEX_ONLY "\\overline ") |
498 | 488 | | "\\overbrace" -> LITERAL (TEX_ONLY "\\overbrace ") |
Property changes on: branches/REL1_18/extensions/Math |
___________________________________________________________________ |
Added: svn:mergeinfo |
499 | 489 | Merged /trunk/extensions/Math:r97001-97002,97007,97014,97018,97034 |