tex2typst_rs/
map.rs

1use phf::phf_map;
2
3pub static SYMBOL_MAP: phf::Map<&'static str, &'static str> = phf_map! {
4        "nonumber" => "",
5        "vec" => "arrow",
6        "overrightarrow" => "arrow",
7        "dot" => "dot",
8        "ddot" => "dot.double",
9        "doteq" => "dot(eq)",
10        "dots" => "dots.h",
11        "widehat" => "hat", // Ideally, the result of \widehat should be longer than \hat. But it is not implemented now.
12        "widetilde" => "tilde", // Ideally, the result of \widetilde should be longer than \tilde. But it is not implemented now.
13        "quad" => "quad",
14        "qquad" => "wide",
15        "overbrace" => "overbrace", // same
16        "underbrace" => "underbrace", // same
17        "overline" => "overline", // same
18        "underline" => "underline", // same
19        "bar" => "macron",
20        "dbinom" => "binom",
21        "tbinom" => "binom",
22        "dfrac" => "frac",
23        "tfrac" => "frac",
24
25        "operatorname" => "op",
26
27        "boldsymbol" => "bold",
28        "mathbb" => "bb",
29        "mathbf" => "bold",
30        "mathcal" => "cal",
31        "mathit" => "italic",
32        "mathfrak" => "frak",
33        "mathrm" => "upright",
34        "mathsf" => "sans",
35        "mathtt" => "mono",
36
37        "rm" => "upright",
38
39        "pmb" => "bold",
40
41        /* wave */
42        // tex: \sim \approx \cong \simeq \asymp \equiv \propto
43        // typst: tilde.op approx tilde.equiv tilde.eq ≍ equiv prop
44        "asymp" => "≍", // just use the Unicode character :-)
45
46        /* arrows */
47        "gets" => "arrow.l",
48        "leftharpoonup" => "harpoon.lt",
49        "iff" => "arrow.l.r.double.long",
50        "implies" => "arrow.r.double.long",
51
52        "Delta" => "Delta",
53        "Gamma" => "Gamma",
54        "Lambda" => "Lambda",
55        "Omega" => "Omega",
56        "P" => "pilcrow",
57        "Phi" => "Phi",
58        "Pi" => "Pi",
59        "Psi" => "Psi",
60        "S" => "section",
61        "Sigma" => "Sigma",
62        "Theta" => "Theta",
63        "aleph" => "alef",
64        "alpha" => "alpha",
65        "amalg" => "product.co",
66        "approx" => "approx",
67        "beta" => "beta",
68        "bigcirc" => "circle.big",
69        "bowtie" => "join",
70        "bullet" => "bullet",
71        "cdots" => "dots.c",
72        "chi" => "chi",
73        "circ" => "circle.small", // 'circle.small' or 'compose'
74        "colon" => "colon",
75        "copyright" => "copyright",
76        "delta" => "delta",
77        "diamond" => "diamond",
78        "emptyset" => "nothing",
79        "epsilon" => "epsilon.alt",
80        "equiv" => "equiv",
81        "eta" => "eta",
82        "frown" => "paren.t",
83        "gamma" => "gamma",
84        "ge" => "gt.eq",
85        "hbar" => "planck.reduce",
86        "intercal" => "top", // 'top' or 'tack.b'
87        "iota" => "iota",
88        "kappa" => "kappa",
89        "lambda" => "lambda",
90        "land" => "and",
91        "ldots" => "dots.h",
92        "le" => "lt.eq",
93        "leadsto" => "arrow.squiggly",
94        "lhd" => "triangle.l",
95        "lor" => "or",
96        "mu" => "mu",
97        "neq" => "eq.not",
98        "nu" => "nu",
99        "ntriangleleft" => "lt.tri.not",
100        "ntriangleright" => "gt.tri.not",
101        "omega" => "omega",
102        "omicron" => "omicron",
103        "phi" => "phi.alt",
104        "pi" => "pi",
105        "pounds" => "pound",
106        "psi" => "psi",
107        "rhd" => "triangle",
108        "rho" => "rho",
109        "sigma" => "sigma",
110        "simeq" => "tilde.eq",
111        "slash" => "slash",
112        "smallsetminus" => "without",
113        "smile" => "paren.b",
114        "tau" => "tau",
115        "theta" => "theta",
116        "to" => "arrow.r",
117        "top" => "top",
118        "triangle" => "triangle.t",
119        "upsilon" => "upsilon",
120        "varepsilon" => "epsilon",
121        "varphi" => "phi",
122        "varpi" => "pi.alt",
123        "varrho" => "rho.alt",
124        "varsigma" => "sigma.alt",
125        "vartheta" => "theta.alt",
126        "vee" => "or",
127        "wedge" => "and",
128        "xi" => "xi",
129        "yen" => "yen",
130        "zeta" => "zeta",
131
132        "mathscr" => "scr",
133        "LaTeX" => "#LaTeX",
134        "TeX" => "#TeX",
135
136        "lparen" => "paren.l",
137        "lParen" => "paren.l.double",
138        "rparen" => "paren.r",
139        "rParen" => "paren.r.double",
140        "overparen" => "paren.t",
141        "underparen" => "paren.b",
142        "lbrace" => "brace.l",
143        "lBrace" => "brace.l.double",
144        "rbrace" => "brace.r",
145        "rBrace" => "brace.r.double",
146        "lbrack" => "bracket.l",
147        "lBrack" => "bracket.l.double",
148        "rbrack" => "bracket.r",
149        "rBrack" => "bracket.r.double",
150        "overbracket" => "bracket.t",
151        "underbracket" => "bracket.b",
152        "lbrbrak" => "shell.l",
153        "Lbrbrak" => "shell.l.double",
154        "rbrbrak" => "shell.r",
155        "Rbrbrak" => "shell.r.double",
156        "obrbrak" => "shell.t",
157        "ubrbrak" => "shell.b",
158        "vert" => "bar.v",
159        "Vert" => "bar.v.double",
160        "Vvert" => "bar.v.triple",
161        "circledvert" => "bar.v.circle",
162        "horizbar" => "bar.h",
163        "lvzigzag" => "fence.l",
164        "Lvzigzag" => "fence.l.double",
165        "rvzigzag" => "fence.r",
166        "Rvzigzag" => "fence.r.double",
167        "fourvdots" => "fence.dotted",
168        "angle" => "angle",
169        "langle" => "angle.l",
170        "lcurvyangle" => "angle.l.curly",
171        "langledot" => "angle.l.dot",
172        "rangle" => "angle.r",
173        "rcurvyangle" => "angle.r.curly",
174        "rangledot" => "angle.r.dot",
175        "angdnr" => "angle.acute",
176        "measuredangle" => "angle.arc",
177        "measuredangleleft" => "angle.arc.rev",
178        "wideangledown" => "angle.oblique",
179        "revangle" => "angle.rev",
180        "rightangle" => "angle.right",
181        "measuredrightangle" => "angle.right.arc",
182        "rightanglemdot" => "angle.right.dot",
183        "rightanglesqr" => "angle.right.sq",
184        "angles" => "angle.s",
185        "threedangle" => "angle.spatial",
186        "sphericalangle" => "angle.spheric",
187        "gtlpar" => "angle.spheric.rev",
188        "sphericalangleup" => "angle.spheric.top",
189        "lceil" => "ceil.l",
190        "rceil" => "ceil.r",
191        "lfloor" => "floor.l",
192        "rfloor" => "floor.r",
193        "mathampersand" => "amp",
194        "upand" => "amp.inv",
195        "ast" => "ast.op",
196        "circledast" => "ast.circle",
197        "boxast" => "ast.square",
198        "mathatsign" => "at",
199        "backslash" => "backslash",
200        "obslash" => "backslash.circle",
201        "rsolbar" => "backslash.not",
202        "mathcolon" => "colon",
203        "Colon" => "colon.double",
204        "coloneq" => "colon.eq",
205        "Coloneq" => "colon.double.eq",
206        "mathcomma" => "comma",
207        "dagger" => "dagger",
208        "ddagger" => "dagger.double",
209        "dashcolon" => "dash.colon",
210        "circleddash" => "dash.circle",
211        "hzigzag" => "dash.wave.double",
212        "cdot" => "dot.op",
213        "mathperiod" => "dot.basic",
214        "cdotp" => "dot.c",
215        "odot" => "dot.circle",
216        "bigodot" => "dot.circle.big",
217        "boxdot" => "dot.square",
218        "dddot" => "dot.triple",
219        "ddddot" => "dot.quad",
220        "mathexclam" => "excl",
221        "Exclam" => "excl.double",
222        "mathquestion" => "quest",
223        "Question" => "quest.double",
224        "mathoctothorpe" => "hash",
225        // "mathhyphen" => "hyph",
226        "mathpercent" => "percent",
227        "mathparagraph" => "pilcrow",
228        "mathsection" => "section",
229        "mathsemicolon" => "semi",
230        "mathslash" => "slash",
231        "sslash" => "slash.double",
232        "trslash" => "slash.triple",
233        "xsol" => "slash.big",
234        "unicodecdots" => "dots.h.c",
235        "unicodeellipsis" => "dots.h",
236        "vdots" => "dots.v",
237        "ddots" => "dots.down",
238        "adots" => "dots.up",
239        "sim" => "tilde.op",
240        "dotsim" => "tilde.dot",
241        "sime" => "tilde.eq",
242        "nsimeq" => "tilde.eq.not",
243        "backsimeq" => "tilde.eq.rev",
244        "cong" => "tilde.equiv",
245        "ncong" => "tilde.equiv.not",
246        "simneqq" => "tilde.nequiv",
247        "nsim" => "tilde.not",
248        "backsim" => "tilde.rev",
249        "backcong" => "tilde.rev.equiv",
250        "approxident" => "tilde.triple",
251        "caretinsert" => "caret",
252        "prime" => "prime",
253        "backprime" => "prime.rev",
254        "dprime" => "prime.double",
255        "backdprime" => "prime.double.rev",
256        "trprime" => "prime.triple",
257        "backtrprime" => "prime.triple.rev",
258        "qprime" => "prime.quad",
259        "mathplus" => "plus",
260        "oplus" => "plus.circle",
261        "rightarrowonoplus" => "plus.circle.arrow",
262        "bigoplus" => "plus.circle.big",
263        "dotplus" => "plus.dot",
264        "doubleplus" => "plus.double",
265        "pm" => "plus.minus",
266        "boxplus" => "plus.square",
267        "triangleplus" => "plus.triangle",
268        "tripleplus" => "plus.triple",
269        "minus" => "minus",
270        "ominus" => "minus.circle",
271        "dotminus" => "minus.dot",
272        "mp" => "minus.plus",
273        "boxminus" => "minus.square",
274        "eqsim" => "minus.tilde",
275        "triangleminus" => "minus.triangle",
276        "div" => "div",
277        "odiv" => "div.circle",
278        "times" => "times",
279        "bigtimes" => "times.big",
280        "otimes" => "times.circle",
281        "bigotimes" => "times.circle.big",
282        "divideontimes" => "times.div",
283        "leftthreetimes" => "times.three.l",
284        "rightthreetimes" => "times.three.r",
285        "ltimes" => "times.l",
286        "rtimes" => "times.r",
287        "boxtimes" => "times.square",
288        "triangletimes" => "times.triangle",
289        "mathratio" => "ratio",
290        "equal" => "eq",
291        "stareq" => "eq.star",
292        "circledequal" => "eq.circle",
293        "eqcolon" => "eq.colon",
294        // \usepackage{mathtools} defines \eqdef
295        // https://tex.stackexchange.com/questions/28836/typesetting-the-define-equals-symbol
296        "eqdef" => "eq.def",
297        "triangleq" => "eq.delta",
298        "veeeq" => "eq.equi",
299        "wedgeq" => "eq.est",
300        "eqgtr" => "eq.gt",
301        "eqless" => "eq.lt",
302        "measeq" => "eq.m",
303        "ne" => "eq.not",
304        "curlyeqprec" => "eq.prec",
305        "questeq" => "eq.quest",
306        "curlyeqsucc" => "eq.succ",
307        "Equiv" => "eq.quad",
308        "greater" => "gt",
309        "ogreaterthan" => "gt.circle",
310        "gtrdot" => "gt.dot",
311        "gtrapprox" => "gt.approx",
312        "gg" => "gt.double",
313        "geq" => "gt.eq",
314        "geqslant" => "gt.eq.slant",
315        "gtreqless" => "gt.eq.lt",
316        "ngeq" => "gt.eq.not",
317        "geqq" => "gt.equiv",
318        "gtrless" => "gt.lt",
319        "ngtrless" => "gt.lt.not",
320        "gneq" => "gt.neq",
321        "gnapprox" => "gt.napprox",
322        "gneqq" => "gt.nequiv",
323        "ngtr" => "gt.not",
324        "gnsim" => "gt.ntilde",
325        "gtrsim" => "gt.tilde",
326        "ngtrsim" => "gt.tilde.not",
327        "vartriangleright" => "gt.tri",
328        "trianglerighteq" => "gt.tri.eq",
329        "ntrianglerighteq" => "gt.tri.eq.not",
330        "nvartriangleright" => "gt.tri.not",
331        "ggg" => "gt.triple",
332        "gggnest" => "gt.triple.nested",
333        "less" => "lt",
334        "olessthan" => "lt.circle",
335        "lessdot" => "lt.dot",
336        "lessapprox" => "lt.approx",
337        "ll" => "lt.double",
338        "leq" => "lt.eq",
339        "leqslant" => "lt.eq.slant",
340        "lesseqgtr" => "lt.eq.gt",
341        "nleq" => "lt.eq.not",
342        "leqq" => "lt.equiv",
343        "lessgtr" => "lt.gt",
344        "nlessgtr" => "lt.gt.not",
345        "lneq" => "lt.neq",
346        "lnapprox" => "lt.napprox",
347        "lneqq" => "lt.nequiv",
348        "nless" => "lt.not",
349        "lnsim" => "lt.ntilde",
350        "lesssim" => "lt.tilde",
351        "nlesssim" => "lt.tilde.not",
352        "vartriangleleft" => "lt.tri",
353        "trianglelefteq" => "lt.tri.eq",
354        "ntrianglelefteq" => "lt.tri.eq.not",
355        "nvartriangleleft" => "lt.tri.not",
356        "lll" => "lt.triple",
357        "lllnest" => "lt.triple.nested",
358        "approxeq" => "approx.eq",
359        "napprox" => "approx.not",
360        "prec" => "prec",
361        "precapprox" => "prec.approx",
362        "preccurlyeq" => "prec.curly.eq",
363        "npreccurlyeq" => "prec.curly.eq.not",
364        "Prec" => "prec.double",
365        "preceq" => "prec.eq",
366        "preceqq" => "prec.equiv",
367        "precnapprox" => "prec.napprox",
368        "precneq" => "prec.neq",
369        "precneqq" => "prec.nequiv",
370        "nprec" => "prec.not",
371        "precnsim" => "prec.ntilde",
372        "precsim" => "prec.tilde",
373        "succ" => "succ",
374        "succapprox" => "succ.approx",
375        "succcurlyeq" => "succ.curly.eq",
376        "nsucccurlyeq" => "succ.curly.eq.not",
377        "Succ" => "succ.double",
378        "succeq" => "succ.eq",
379        "succeqq" => "succ.equiv",
380        "succnapprox" => "succ.napprox",
381        "succneq" => "succ.neq",
382        "succneqq" => "succ.nequiv",
383        "nsucc" => "succ.not",
384        "succnsim" => "succ.ntilde",
385        "succsim" => "succ.tilde",
386        "nequiv" => "equiv.not",
387        "propto" => "prop",
388        "origof" => "original",
389        "imageof" => "image",
390        "varnothing" => "emptyset",
391        "emptysetoarr" => "emptyset.arrow.r",
392        "emptysetoarrl" => "emptyset.arrow.l",
393        "emptysetobar" => "emptyset.bar",
394        "emptysetocirc" => "emptyset.circle",
395        "revemptyset" => "emptyset.rev",
396        "setminus" => "without",
397        "complement" => "complement",
398        "in" => "in",
399        "notin" => "in.not",
400        "ni" => "in.rev",
401        "nni" => "in.rev.not",
402        "smallni" => "in.rev.small",
403        "smallin" => "in.small",
404        "subset" => "subset",
405        "subsetdot" => "subset.dot",
406        "Subset" => "subset.double",
407        "subseteq" => "subset.eq",
408        "nsubseteq" => "subset.eq.not",
409        "sqsubseteq" => "subset.eq.sq",
410        "nsqsubseteq" => "subset.eq.sq.not",
411        "subsetneq" => "subset.neq",
412        "nsubset" => "subset.not",
413        "sqsubset" => "subset.sq",
414        "sqsubsetneq" => "subset.sq.neq",
415        "supset" => "supset",
416        "supsetdot" => "supset.dot",
417        "Supset" => "supset.double",
418        "supseteq" => "supset.eq",
419        "nsupseteq" => "supset.eq.not",
420        "sqsupseteq" => "supset.eq.sq",
421        "nsqsupseteq" => "supset.eq.sq.not",
422        "supsetneq" => "supset.neq",
423        "nsupset" => "supset.not",
424        "sqsupset" => "supset.sq",
425        "sqsupsetneq" => "supset.sq.neq",
426        "cup" => "union",
427        "cupleftarrow" => "union.arrow",
428        "bigcup" => "union.big",
429        "cupdot" => "union.dot",
430        "bigcupdot" => "union.dot.big",
431        "Cup" => "union.double",
432        "uminus" => "union.minus",
433        "cupvee" => "union.or",
434        "uplus" => "union.plus",
435        "biguplus" => "union.plus.big",
436        "sqcup" => "union.sq",
437        "bigsqcup" => "union.sq.big",
438        "Sqcup" => "union.sq.double",
439        "cap" => "sect",
440        "capwedge" => "sect.and",
441        "bigcap" => "sect.big",
442        "capdot" => "sect.dot",
443        "Cap" => "sect.double",
444        "sqcap" => "sect.sq",
445        "bigsqcap" => "sect.sq.big",
446        "Sqcap" => "sect.sq.double",
447        "infty" => "infinity",
448        "nvinfty" => "infinity.bar",
449        "iinfin" => "infinity.incomplete",
450        "tieinfty" => "infinity.tie",
451        "partial" => "diff",
452        "nabla" => "gradient",
453        "sum" => "sum",
454        "sumint" => "sum.integral",
455        "prod" => "product",
456        "coprod" => "product.co",
457        "int" => "integral",
458        "intlarhk" => "integral.arrow.hook",
459        "awint" => "integral.ccw",
460        "oint" => "integral.cont",
461        "ointctrclockwise" => "integral.cont.ccw",
462        "varointclockwise" => "integral.cont.cw",
463        "intclockwise" => "integral.cw",
464        "intbar" => "integral.dash",
465        "intBar" => "integral.dash.double",
466        "iint" => "integral.double",
467        "iiiint" => "integral.quad",
468        "intcap" => "integral.sect",
469        "fint" => "integral.slash",
470        "sqint" => "integral.square",
471        "oiint" => "integral.surf",
472        "intx" => "integral.times",
473        "iiint" => "integral.triple",
474        "intcup" => "integral.union",
475        "oiiint" => "integral.vol",
476        "increment" => "laplace",
477        "forall" => "forall",
478        "exists" => "exists",
479        "nexists" => "exists.not",
480        "bot" => "bot",
481        "neg" => "not",
482        "bigwedge" => "and.big",
483        "curlywedge" => "and.curly",
484        "wedgedot" => "and.dot",
485        "Wedge" => "and.double",
486        "bigvee" => "or.big",
487        "curlyvee" => "or.curly",
488        "veedot" => "or.dot",
489        "Vee" => "or.double",
490        "models" => "models",
491        "Vdash" => "forces",
492        "nVdash" => "forces.not",
493        "therefore" => "therefore",
494        "because" => "because",
495        "QED" => "qed",
496        "vysmwhtcircle" => "compose",
497        "multimap" => "multimap",
498        "dualmap" => "multimap.double",
499        "tplus" => "tiny",
500        "tminus" => "miny",
501        "mid" => "divides",
502        "nmid" => "divides.not",
503        "wr" => "wreath",
504        "parallel" => "parallel",
505        "nhpar" => "parallel.struck",
506        "circledparallel" => "parallel.circle",
507        "equalparallel" => "parallel.eq",
508        "equivVert" => "parallel.equiv",
509        "nparallel" => "parallel.not",
510        "eparsl" => "parallel.slanted.eq",
511        "smeparsl" => "parallel.slanted.eq.tilde",
512        "eqvparsl" => "parallel.slanted.equiv",
513        "parsim" => "parallel.tilde",
514        "perp" => "perp",
515        "operp" => "perp.circle",
516        "diameter" => "diameter",
517        "Join" => "join",
518        "rightouterjoin" => "join.r",
519        "leftouterjoin" => "join.l",
520        "fullouterjoin" => "join.l.r",
521        "smashtimes" => "smash",
522        "mathdollar" => "dollar",
523        "euro" => "euro",
524        "mathsterling" => "pound",
525        "mathyen" => "yen",
526        "checkmark" => "checkmark",
527        "maltese" => "maltese",
528        "clubsuit" => "suit.club.filled",
529        "varclubsuit" => "suit.club.stroked",
530        "vardiamondsuit" => "suit.diamond.filled",
531        "diamondsuit" => "suit.diamond.stroked",
532        "varheartsuit" => "suit.heart.filled",
533        "heartsuit" => "suit.heart.stroked",
534        "spadesuit" => "suit.spade.filled",
535        "varspadesuit" => "suit.spade.stroked",
536        "quarternote" => "note.quarter.alt",
537        "eighthnote" => "note.eighth.alt",
538        "twonotes" => "note.eighth.beamed",
539        "natural" => "natural",
540        "flat" => "flat",
541        "sharp" => "sharp",
542        "smblkcircle" => "bullet",
543        "mdlgwhtcircle" => "circle.stroked",
544        "mdsmwhtcircle" => "circle.stroked.small",
545        "lgwhtcircle" => "circle.stroked.big",
546        "mdlgblkcircle" => "circle.filled",
547        "mdsmblkcircle" => "circle.filled.tiny",
548        "vysmblkcircle" => "circle.filled.small",
549        "lgblkcircle" => "circle.filled.big",
550        "dottedcircle" => "circle.dotted",
551        "circledcirc" => "circle.nested",
552        "whthorzoval" => "ellipse.stroked.h",
553        "whtvertoval" => "ellipse.stroked.v",
554        "blkhorzoval" => "ellipse.filled.h",
555        "blkvertoval" => "ellipse.filled.v",
556        "bigtriangleup" => "triangle.stroked.t",
557        "bigtriangledown" => "triangle.stroked.b",
558        "triangleright" => "triangle.stroked.r",
559        "triangleleft" => "triangle.stroked.l",
560        "lltriangle" => "triangle.stroked.bl",
561        "lrtriangle" => "triangle.stroked.br",
562        "ultriangle" => "triangle.stroked.tl",
563        "urtriangle" => "triangle.stroked.tr",
564        "vartriangle" => "triangle.stroked.small.t",
565        "triangledown" => "triangle.stroked.small.b",
566        "smalltriangleright" => "triangle.stroked.small.r",
567        "smalltriangleleft" => "triangle.stroked.small.l",
568        "whiteinwhitetriangle" => "triangle.stroked.nested",
569        "trianglecdot" => "triangle.stroked.dot",
570        "bigblacktriangleup" => "triangle.filled.t",
571        "bigblacktriangledown" => "triangle.filled.b",
572        "blacktriangleright" => "triangle.filled.r",
573        "blacktriangleleft" => "triangle.filled.l",
574        "llblacktriangle" => "triangle.filled.bl",
575        "lrblacktriangle" => "triangle.filled.br",
576        "ulblacktriangle" => "triangle.filled.tl",
577        "urblacktriangle" => "triangle.filled.tr",
578        "blacktriangle" => "triangle.filled.small.t",
579        "blacktriangledown" => "triangle.filled.small.b",
580        "smallblacktriangleright" => "triangle.filled.small.r",
581        "smallblacktriangleleft" => "triangle.filled.small.l",
582        "mdlgwhtsquare" => "square.stroked",
583        "smwhtsquare" => "square.stroked.tiny",
584        "mdsmwhtsquare" => "square.stroked.small",
585        "mdwhtsquare" => "square.stroked.medium",
586        "lgwhtsquare" => "square.stroked.big",
587        "dottedsquare" => "square.stroked.dotted",
588        "squoval" => "square.stroked.rounded",
589        "mdlgblksquare" => "square.filled",
590        "smblksquare" => "square.filled.tiny",
591        "mdsmblksquare" => "square.filled.small",
592        "mdblksquare" => "square.filled.medium",
593        "lgblksquare" => "square.filled.big",
594        "hrectangle" => "rect.stroked.h",
595        "vrectangle" => "rect.stroked.v",
596        "hrectangleblack" => "rect.filled.h",
597        "vrectangleblack" => "rect.filled.v",
598        "pentagon" => "penta.stroked",
599        "pentagonblack" => "penta.filled",
600        "varhexagon" => "hexa.stroked",
601        "varhexagonblack" => "hexa.filled",
602        "mdlgwhtdiamond" => "diamond.stroked",
603        "smwhtdiamond" => "diamond.stroked.small",
604        "mdwhtdiamond" => "diamond.stroked.medium",
605        "diamondcdot" => "diamond.stroked.dot",
606        "mdlgblkdiamond" => "diamond.filled",
607        "mdblkdiamond" => "diamond.filled.medium",
608        "smblkdiamond" => "diamond.filled.small",
609        "mdlgwhtlozenge" => "lozenge.stroked",
610        "smwhtlozenge" => "lozenge.stroked.small",
611        "mdwhtlozenge" => "lozenge.stroked.medium",
612        "mdlgblklozenge" => "lozenge.filled",
613        "smblklozenge" => "lozenge.filled.small",
614        "mdblklozenge" => "lozenge.filled.medium",
615        "parallelogram" => "parallelogram.stroked",
616        "parallelogramblack" => "parallelogram.filled",
617        "star" => "star.op",
618        "bigwhitestar" => "star.stroked",
619        "bigstar" => "star.filled",
620        "rightarrow" => "arrow.r",
621        "longmapsto" => "arrow.r.long.bar",
622        "mapsto" => "arrow.r.bar",
623        "rightdowncurvedarrow" => "arrow.r.curve",
624        "rightdasharrow" => "arrow.r.dashed",
625        "rightdotarrow" => "arrow.r.dotted",
626        "Rightarrow" => "arrow.r.double",
627        "Mapsto" => "arrow.r.double.bar",
628        "Longrightarrow" => "arrow.r.double.long",
629        "Longmapsto" => "arrow.r.double.long.bar",
630        "nRightarrow" => "arrow.r.double.not",
631        "hookrightarrow" => "arrow.r.hook",
632        "longrightarrow" => "arrow.r.long",
633        "longrightsquigarrow" => "arrow.r.long.squiggly",
634        "looparrowright" => "arrow.r.loop",
635        "nrightarrow" => "arrow.r.not",
636        "RRightarrow" => "arrow.r.quad",
637        "rightsquigarrow" => "arrow.r.squiggly",
638        "rightarrowbar" => "arrow.r.stop",
639        "rightwhitearrow" => "arrow.r.stroked",
640        "rightarrowtail" => "arrow.r.tail",
641        "similarrightarrow" => "arrow.r.tilde",
642        "Rrightarrow" => "arrow.r.triple",
643        "twoheadmapsto" => "arrow.r.twohead.bar",
644        "twoheadrightarrow" => "arrow.r.twohead",
645        "rightwavearrow" => "arrow.r.wave",
646        "leftarrow" => "arrow.l",
647        "mapsfrom" => "arrow.l.bar",
648        "leftdowncurvedarrow" => "arrow.l.curve",
649        "leftdasharrow" => "arrow.l.dashed",
650        "leftdotarrow" => "arrow.l.dotted",
651        "Leftarrow" => "arrow.l.double",
652        "Mapsfrom" => "arrow.l.double.bar",
653        "Longleftarrow" => "arrow.l.double.long",
654        "Longmapsfrom" => "arrow.l.double.long.bar",
655        "nLeftarrow" => "arrow.l.double.not",
656        "hookleftarrow" => "arrow.l.hook",
657        "longleftarrow" => "arrow.l.long",
658        "longmapsfrom" => "arrow.l.long.bar",
659        "longleftsquigarrow" => "arrow.l.long.squiggly",
660        "looparrowleft" => "arrow.l.loop",
661        "nleftarrow" => "arrow.l.not",
662        "LLeftarrow" => "arrow.l.quad",
663        "leftsquigarrow" => "arrow.l.squiggly",
664        "barleftarrow" => "arrow.l.stop",
665        "leftwhitearrow" => "arrow.l.stroked",
666        "leftarrowtail" => "arrow.l.tail",
667        "similarleftarrow" => "arrow.l.tilde",
668        "Lleftarrow" => "arrow.l.triple",
669        "twoheadmapsfrom" => "arrow.l.twohead.bar",
670        "twoheadleftarrow" => "arrow.l.twohead",
671        "leftwavearrow" => "arrow.l.wave",
672        "uparrow" => "arrow.t",
673        "mapsup" => "arrow.t.bar",
674        "uprightcurvearrow" => "arrow.t.curve",
675        "updasharrow" => "arrow.t.dashed",
676        "Uparrow" => "arrow.t.double",
677        "UUparrow" => "arrow.t.quad",
678        "baruparrow" => "arrow.t.stop",
679        "upwhitearrow" => "arrow.t.stroked",
680        "Uuparrow" => "arrow.t.triple",
681        "twoheaduparrow" => "arrow.t.twohead",
682        "downarrow" => "arrow.b",
683        "mapsdown" => "arrow.b.bar",
684        "downrightcurvedarrow" => "arrow.b.curve",
685        "downdasharrow" => "arrow.b.dashed",
686        "Downarrow" => "arrow.b.double",
687        "DDownarrow" => "arrow.b.quad",
688        "downarrowbar" => "arrow.b.stop",
689        "downwhitearrow" => "arrow.b.stroked",
690        "Ddownarrow" => "arrow.b.triple",
691        "twoheaddownarrow" => "arrow.b.twohead",
692        "leftrightarrow" => "arrow.l.r",
693        "Leftrightarrow" => "arrow.l.r.double",
694        "Longleftrightarrow" => "arrow.l.r.double.long",
695        "nLeftrightarrow" => "arrow.l.r.double.not",
696        "longleftrightarrow" => "arrow.l.r.long",
697        "nleftrightarrow" => "arrow.l.r.not",
698        "leftrightsquigarrow" => "arrow.l.r.wave",
699        "updownarrow" => "arrow.t.b",
700        "Updownarrow" => "arrow.t.b.double",
701        "nearrow" => "arrow.tr",
702        "Nearrow" => "arrow.tr.double",
703        "hknearrow" => "arrow.tr.hook",
704        "searrow" => "arrow.br",
705        "Searrow" => "arrow.br.double",
706        "hksearrow" => "arrow.br.hook",
707        "nwarrow" => "arrow.tl",
708        "Nwarrow" => "arrow.tl.double",
709        "hknwarrow" => "arrow.tl.hook",
710        "swarrow" => "arrow.bl",
711        "Swarrow" => "arrow.bl.double",
712        "hkswarrow" => "arrow.bl.hook",
713        "nwsearrow" => "arrow.tl.br",
714        "neswarrow" => "arrow.tr.bl",
715        "acwopencirclearrow" => "arrow.ccw",
716        "curvearrowleft" => "arrow.ccw.half",
717        "cwopencirclearrow" => "arrow.cw",
718        "curvearrowright" => "arrow.cw.half",
719        "downzigzagarrow" => "arrow.zigzag",
720        "rightrightarrows" => "arrows.rr",
721        "leftleftarrows" => "arrows.ll",
722        "upuparrows" => "arrows.tt",
723        "downdownarrows" => "arrows.bb",
724        "leftrightarrows" => "arrows.lr",
725        "barleftarrowrightarrowbar" => "arrows.lr.stop",
726        "rightleftarrows" => "arrows.rl",
727        "updownarrows" => "arrows.tb",
728        "downuparrows" => "arrows.bt",
729        "rightthreearrows" => "arrows.rrr",
730        "leftthreearrows" => "arrows.lll",
731        "rightharpoonup" => "harpoon.rt",
732        "barrightharpoonup" => "harpoon.rt.bar",
733        "rightharpoonupbar" => "harpoon.rt.stop",
734        "rightharpoondown" => "harpoon.rb",
735        "barrightharpoondown" => "harpoon.rb.bar",
736        "rightharpoondownbar" => "harpoon.rb.stop",
737        "leftharpoonupbar" => "harpoon.lt.bar",
738        "barleftharpoonup" => "harpoon.lt.stop",
739        "leftharpoondown" => "harpoon.lb",
740        "leftharpoondownbar" => "harpoon.lb.bar",
741        "barleftharpoondown" => "harpoon.lb.stop",
742        "upharpoonleft" => "harpoon.tl",
743        "upharpoonleftbar" => "harpoon.tl.bar",
744        "barupharpoonleft" => "harpoon.tl.stop",
745        "upharpoonright" => "harpoon.tr",
746        "upharpoonrightbar" => "harpoon.tr.bar",
747        "barupharpoonright" => "harpoon.tr.stop",
748        "downharpoonleft" => "harpoon.bl",
749        "bardownharpoonleft" => "harpoon.bl.bar",
750        "downharpoonleftbar" => "harpoon.bl.stop",
751        "downharpoonright" => "harpoon.br",
752        "bardownharpoonright" => "harpoon.br.bar",
753        "downharpoonrightbar" => "harpoon.br.stop",
754        "leftrightharpoonupup" => "harpoon.lt.rt",
755        "leftrightharpoondowndown" => "harpoon.lb.rb",
756        "leftrightharpoondownup" => "harpoon.lb.rt",
757        "leftrightharpoonupdown" => "harpoon.lt.rb",
758        "updownharpoonleftleft" => "harpoon.tl.bl",
759        "updownharpoonrightright" => "harpoon.tr.br",
760        "updownharpoonleftright" => "harpoon.tl.br",
761        "updownharpoonrightleft" => "harpoon.tr.bl",
762        "rightharpoonsupdown" => "harpoons.rtrb",
763        "downharpoonsleftright" => "harpoons.blbr",
764        "downupharpoonsleftright" => "harpoons.bltr",
765        "leftrightharpoonsdown" => "harpoons.lbrb",
766        "leftharpoonsupdown" => "harpoons.ltlb",
767        "leftrightharpoons" => "harpoons.ltrb",
768        "leftrightharpoonsup" => "harpoons.ltrt",
769        "rightleftharpoonsdown" => "harpoons.rblb",
770        "rightleftharpoons" => "harpoons.rtlb",
771        "rightleftharpoonsup" => "harpoons.rtlt",
772        "updownharpoonsleftright" => "harpoons.tlbr",
773        "upharpoonsleftright" => "harpoons.tltr",
774        "vdash" => "tack.r",
775        "nvdash" => "tack.r.not",
776        "vlongdash" => "tack.r.long",
777        "assert" => "tack.r.short",
778        "vDash" => "tack.r.double",
779        "nvDash" => "tack.r.double.not",
780        "dashv" => "tack.l",
781        "longdashv" => "tack.l.long",
782        "shortlefttack" => "tack.l.short",
783        "Dashv" => "tack.l.double",
784        "bigbot" => "tack.t.big",
785        "Vbar" => "tack.t.double",
786        "shortuptack" => "tack.t.short",
787        "bigtop" => "tack.b.big",
788        "barV" => "tack.b.double",
789        "shortdowntack" => "tack.b.short",
790        "dashVdash" => "tack.l.r",
791        "mupalpha" => "alpha",
792        "mupbeta" => "beta",
793        "mupchi" => "chi",
794        "mupdelta" => "delta",
795        "mupvarepsilon" => "epsilon",
796        "mupepsilon" => "epsilon.alt",
797        "mupeta" => "eta",
798        "mupgamma" => "gamma",
799        "mupiota" => "iota",
800        "mupkappa" => "kappa",
801        "mupvarkappa" => "kappa.alt",
802        "muplambda" => "lambda",
803        "mupmu" => "mu",
804        "mupnu" => "nu",
805        "mho" => "ohm.inv",
806        "mupomega" => "omega",
807        "mupomicron" => "omicron",
808        "mupvarphi" => "phi",
809        "mupphi" => "phi.alt",
810        "muppi" => "pi",
811        "mupvarpi" => "pi.alt",
812        "muppsi" => "psi",
813        "muprho" => "rho",
814        "mupvarrho" => "rho.alt",
815        "mupsigma" => "sigma",
816        "mupvarsigma" => "sigma.alt",
817        "muptau" => "tau",
818        "muptheta" => "theta",
819        "mupvartheta" => "theta.alt",
820        "mupupsilon" => "upsilon",
821        "mupxi" => "xi",
822        "mupzeta" => "zeta",
823        "mupAlpha" => "Alpha",
824        "mupBeta" => "Beta",
825        "mupChi" => "Chi",
826        "mupDelta" => "Delta",
827        "mupEpsilon" => "Epsilon",
828        "mupEta" => "Eta",
829        "mupGamma" => "Gamma",
830        "mupIota" => "Iota",
831        "mupKappa" => "Kappa",
832        "mupLambda" => "Lambda",
833        "mupMu" => "Mu",
834        "mupNu" => "Nu",
835        "mupOmega" => "Omega",
836        "mupOmicron" => "Omicron",
837        "mupPhi" => "Phi",
838        "mupPi" => "Pi",
839        "mupPsi" => "Psi",
840        "mupRho" => "Rho",
841        "mupSigma" => "Sigma",
842        "mupTau" => "Tau",
843        "mupTheta" => "Theta",
844        "mupUpsilon" => "Upsilon",
845        "mupXi" => "Xi",
846        "mupZeta" => "Zeta",
847        "BbbA" => "AA",
848        "BbbB" => "BB",
849        "BbbC" => "CC",
850        "BbbD" => "DD",
851        "BbbE" => "EE",
852        "BbbF" => "FF",
853        "BbbG" => "GG",
854        "BbbH" => "HH",
855        "BbbI" => "II",
856        "BbbJ" => "JJ",
857        "BbbK" => "KK",
858        "BbbL" => "LL",
859        "BbbM" => "MM",
860        "BbbN" => "NN",
861        "BbbO" => "OO",
862        "BbbP" => "PP",
863        "BbbQ" => "QQ",
864        "BbbR" => "RR",
865        "BbbS" => "SS",
866        "BbbT" => "TT",
867        "BbbU" => "UU",
868        "BbbV" => "VV",
869        "BbbW" => "WW",
870        "BbbX" => "XX",
871        "BbbY" => "YY",
872        "BbbZ" => "ZZ",
873        "ell" => "ell",
874        "Planckconst" => "planck",
875        "hslash" => "planck.reduce",
876        "Angstrom" => "angstrom",
877        "Re" => "Re",
878        "Im" => "Im",
879        "imath" => "dotless.i",
880        "jmath" => "dotless.j",
881
882        // force override
883        "frac" => "frac",
884        "tilde" => "tilde",
885        "hat" => "hat",
886        "upright" => "mathrm",
887        "bold" => "boldsymbol",
888
889        "hyph.minus" => "\\text{-}",
890};