3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Alejandro Aguilar Sierra
9 * Full author contact details are available in file CREDITS
14 #include "ControlMath.h"
16 char const * function_names[] = {
17 "arccos", "arcsin", "arctan", "arg", "bmod",
18 "cos", "cosh", "cot", "coth", "csc", "deg",
19 "det", "dim", "exp", "gcd", "hom", "inf", "ker",
20 "lg", "lim", "liminf", "limsup", "ln", "log",
21 "max", "min", "sec", "sin", "sinh", "sup",
25 int const nr_function_names = sizeof(function_names) / sizeof(char const *) - 1;
27 char const * latex_dots[] = {
28 "ldots", "cdots", "vdots", "ddots", ""
31 int const nr_latex_dots = sizeof(latex_dots) / sizeof(char const *) - 1;
33 char const * latex_deco[] = {
34 "widehat", "widetilde", "overbrace", "overleftarrow", "overrightarrow",
35 "overline", "underbrace", "underline", "underleftarrow", "underrightarrow",
36 "underleftrightarrow", "overleftrightarrow",
37 "hat", "acute", "bar", "dot",
38 "check", "grave", "vec", "ddot",
42 int const nr_latex_deco = sizeof(latex_deco) / sizeof(char const *) - 1;
44 char const * latex_arrow[] = {
45 "downarrow", "leftarrow", "Downarrow", "Leftarrow",
46 "hookleftarrow", "rightarrow", "uparrow", "Rightarrow", "Uparrow",
47 "hookrightarrow", "updownarrow", "Leftrightarrow", "leftharpoonup",
48 "rightharpoonup", "rightleftharpoons", "leftrightarrow", "Updownarrow",
49 "leftharpoondown", "rightharpoondown", "mapsto",
50 "Longleftarrow", "Longrightarrow", "Longleftrightarrow",
51 "longleftrightarrow", "longleftarrow", "longrightarrow", "longmapsto",
52 "nwarrow", "nearrow", "swarrow", "searrow", "",
55 int const nr_latex_arrow = sizeof(latex_arrow) / sizeof(char const *);
57 char const * latex_bop[] = {
58 "pm", "cap", "diamond", "oplus",
59 "mp", "cup", "bigtriangleup", "ominus",
60 "times", "uplus", "bigtriangledown", "otimes",
61 "div", "sqcap", "triangleright", "oslash",
62 "cdot", "sqcup", "triangleleft", "odot",
63 "star", "vee", "amalg", "bigcirc",
64 "setminus", "wedge", "dagger", "circ",
65 "bullet", "wr", "ddagger", ""
68 int const nr_latex_bop = sizeof(latex_bop) / sizeof(char const *);
70 char const * latex_brel[] = {
71 "leq", "geq", "equiv", "models",
72 "prec", "succ", "sim", "perp",
73 "preceq", "succeq", "simeq", "mid",
74 "ll", "gg", "asymp", "parallel",
75 "subset", "supset", "approx", "smile",
76 "subseteq", "supseteq", "cong", "frown",
77 "sqsubseteq", "sqsupseteq", "doteq", "neq",
78 "in", "ni", "propto", "notin",
79 "vdash", "dashv", "bowtie", ""
82 int const nr_latex_brel = sizeof(latex_brel) / sizeof(char const *);
84 char const * latex_greek[] = {
85 "Gamma", "Delta", "Theta", "Lambda", "Xi", "Pi",
86 "Sigma", "Upsilon", "Phi", "Psi", "Omega",
87 "alpha", "beta", "gamma", "delta", "epsilon", "varepsilon", "zeta",
88 "eta", "theta", "vartheta", "iota", "kappa", "lambda", "mu",
89 "nu", "xi", "pi", "varpi", "rho", "sigma", "varsigma",
90 "tau", "upsilon", "phi", "varphi", "chi", "psi", "omega", ""
93 int const nr_latex_greek = sizeof(latex_greek) / sizeof(char const *);
95 char const * latex_misc[] = {
96 "nabla", "partial", "infty", "prime", "ell",
97 "emptyset", "exists", "forall", "imath", "jmath",
98 "Re", "Im", "aleph", "wp", "hbar",
99 "angle", "top", "bot", "Vert", "neg",
100 "flat", "natural", "sharp", "surd", "triangle",
101 "diamondsuit", "heartsuit", "clubsuit", "spadesuit",
102 "textrm Å", "textrm Ø", "mathcircumflex", "_",
104 "mathbb N", "mathbb Z", "mathbb Q",
105 "mathbb R", "mathbb C", "mathbb H",
106 "mathcal F", "mathcal L",
107 "mathcal H", "mathcal O", ""
110 int const nr_latex_misc = sizeof(latex_misc) / sizeof(char const *);
112 char const * latex_varsz[] = {
113 "sum", "int", "oint",
114 "prod", "coprod", "bigsqcup",
115 "bigotimes", "bigodot", "bigoplus",
116 "bigcap", "bigcup", "biguplus",
117 "bigvee", "bigwedge", ""
120 int const nr_latex_varsz = sizeof(latex_varsz) / sizeof(char const *);
122 char const * latex_ams_misc[] = {
123 "digamma", "varkappa", "beth", "daleth", "gimel",
124 "ulcorner", "urcorner", "llcorner", "lrcorner",
125 "hbar", "hslash", "vartriangle",
126 "triangledown", "square", "lozenge",
127 "circledS", "angle", "measuredangle",
128 "nexists", "mho", "Finv",
129 "Game", "Bbbk", "backprime",
130 "varnothing", "blacktriangle", "blacktriangledown",
131 "blacksquare", "blacklozenge", "bigstar",
132 "sphericalangle", "complement", "eth",
133 "diagup", "diagdown", ""
136 int const nr_latex_ams_misc = sizeof(latex_ams_misc) / sizeof(char const *);
138 char const * latex_ams_arrows[] = {
139 "dashrightarrow", "dashleftarrow", "leftleftarrows",
140 "leftrightarrows", "Lleftarrow", "twoheadleftarrow",
141 "leftarrowtail", "looparrowleft", "leftrightharpoons",
142 "curvearrowleft", "circlearrowleft", "Lsh",
143 "upuparrows", "upharpoonleft", "downharpoonleft",
144 "multimap", "leftrightsquigarrow", "rightrightarrows",
145 "rightleftarrows", "rightrightarrows", "rightleftarrows",
146 "twoheadrightarrow", "rightarrowtail", "looparrowright",
147 "rightleftharpoons", "curvearrowright", "circlearrowright",
148 "Rsh", "downdownarrows", "upharpoonright",
149 "downharpoonright", "rightsquigarrow",
150 "nleftarrow", "nrightarrow", "nLeftarrow",
151 "nRightarrow", "nleftrightarrow", "nLeftrightarrow", ""
154 int const nr_latex_ams_arrows = sizeof(latex_ams_arrows) / sizeof(char const *);
156 char const * latex_ams_rel[] = {
157 "leqq", "leqslant", "eqslantless", "eqslantgtr", "gtrsim", "gtrapprox",
158 "lesssim", "lessapprox", "approxeq", "gtrdot", "ggg", "gtrless",
159 "lessdot", "lll", "lessgtr", "gtreqless", "gtreqqless", "eqcirc",
160 "lesseqgtr", "lesseqqgtr", "doteqdot", "circeq", "triangleq", "thicksim",
161 "risingdotseq", "fallingdotseq", "backsim", "thickapprox", "supseteqq", "Supset",
162 "backsimeq", "subseteqq", "Subset","sqsupset", "succcurlyeq", "curlyeqsucc",
163 "sqsubset", "preccurlyeq", "curlyeqprec", "succsim", "succapprox", "vartriangleright",
164 "precsim", "precapprox", "vartriangleleft", "trianglerighteq", "Vdash", "shortmid",
165 "trianglelefteq", "vDash", "Vvdash", "shortparallel", "between", "pitchfork",
166 "smallsmile", "smallfrown", "bumpeq", "varpropto", "blacktriangleleft", "therefore",
167 "Bumpeq", "geqq", "geqslant", "backepsilon", "blacktriangleright", "because", ""
170 int const nr_latex_ams_rel = sizeof(latex_ams_rel) / sizeof(char const *);
172 char const * latex_ams_nrel[] = {
173 "nless", "nleq", "nleqslant", "ngeqslant", "ngeqq", "gneq",
174 "nleqq", "lneq", "lneqq","gneqq", "gvertneqq", "gnsim",
175 "lvertneqq", "lnsim", "lnapprox", "gnapprox", "nsucc", "nsucceq",
176 "nprec", "npreceq", "precnsim","succnsim", "succnapprox", "ncong",
177 "precnapprox", "nsim", "nshortmid", "nshortparallel", "nparallel", "nvDash",
179 "nmid", "nvdash", "nvDash","nVDash", "ntriangleright", "ntrianglerighteq",
180 "ntriangleleft", "ntrianglelefteq", "nsubseteq", "nsupseteq", "nsupseteqq", "supsetneq",
181 "subsetneq", "varsubsetneq", "subsetneqq", "varsupsetneq", "supsetneqq", "varsupsetneqq",
182 "varsubsetneqq", "ngtr", "ngeq","", "", ""
185 int const nr_latex_ams_nrel = sizeof(latex_ams_nrel) / sizeof(char const *);
188 char const * latex_ams_ops[] = {
189 "dotplus", "smallsetminus", "Cap",
190 "Cup", "barwedge", "veebar",
191 "doublebarwedge", "boxminus", "boxtimes",
192 "boxdot", "boxplus", "divideontimes",
193 "ltimes", "rtimes", "leftthreetimes",
194 "rightthreetimes", "curlywedge", "curlyvee",
195 "circleddash", "circledast", "circledcirc",
196 "centerdot", "intercal", ""
199 int const nr_latex_ams_ops = sizeof(latex_ams_ops) / sizeof(char const *);