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