2001-03-16 12:08:14 +00:00
|
|
|
|
/**
|
2002-08-30 16:20:27 +00:00
|
|
|
|
* \file ControlMath.C
|
2002-09-05 15:14:23 +00:00
|
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
|
* Licence details can be found in the file COPYING.
|
2001-03-16 12:08:14 +00:00
|
|
|
|
*
|
|
|
|
|
* \author Alejandro Aguilar Sierra
|
2002-09-05 14:10:50 +00:00
|
|
|
|
* \author John Levon
|
|
|
|
|
*
|
|
|
|
|
* Full author contact details are available in file CREDITS
|
2001-03-16 12:08:14 +00:00
|
|
|
|
*/
|
|
|
|
|
|
2002-11-04 00:15:56 +00:00
|
|
|
|
#include <config.h>
|
|
|
|
|
|
2002-08-30 16:20:27 +00:00
|
|
|
|
#include "ControlMath.h"
|
2002-11-25 18:58:15 +00:00
|
|
|
|
#include "ViewBase.h"
|
|
|
|
|
|
2002-11-27 10:30:28 +00:00
|
|
|
|
#include "debug.h"
|
2002-11-25 18:58:15 +00:00
|
|
|
|
#include "funcrequest.h"
|
|
|
|
|
|
|
|
|
|
#include "frontends/LyXView.h"
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2002-11-20 16:11:18 +00:00
|
|
|
|
#include "support/lstrings.h"
|
|
|
|
|
#include "support/filetools.h"
|
2002-11-25 18:58:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ControlMath::ControlMath(LyXView & lv, Dialogs & d)
|
2002-11-27 12:48:41 +00:00
|
|
|
|
: ControlDialogBD(lv, d), active_(0)
|
2002-11-25 18:58:15 +00:00
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMath::apply()
|
|
|
|
|
{
|
|
|
|
|
view().apply();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMath::dispatchFunc(kb_action action, string const & arg) const
|
|
|
|
|
{
|
|
|
|
|
lv_.dispatch(FuncRequest(action, arg));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMath::insertSymbol(string const & sym, bool bs) const
|
|
|
|
|
{
|
|
|
|
|
if (bs)
|
|
|
|
|
lv_.dispatch(FuncRequest(LFUN_INSERT_MATH, '\\' + sym));
|
|
|
|
|
else
|
|
|
|
|
lv_.dispatch(FuncRequest(LFUN_INSERT_MATH, sym));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMath::addDaughter(void * key, ViewBase * v,
|
|
|
|
|
ButtonControllerBase * bc)
|
|
|
|
|
{
|
|
|
|
|
if (daughters_.find(key) != daughters_.end())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
daughters_[key] = DaughterPtr(new GUIMathSub(lv_, d_, *this, v, bc));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMath::showDaughter(void * key)
|
|
|
|
|
{
|
|
|
|
|
Store::iterator it = daughters_.find(key);
|
|
|
|
|
GUIMathSub * const new_active =
|
|
|
|
|
(it == daughters_.end()) ? 0 : it->second.get();
|
|
|
|
|
|
|
|
|
|
if (active_ != new_active) {
|
|
|
|
|
if (active_ )
|
|
|
|
|
active_->controller().hide();
|
|
|
|
|
active_ = new_active;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (active_)
|
|
|
|
|
active_->controller().show();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ControlMathSub::ControlMathSub(LyXView & lv, Dialogs & d, ControlMath const & p)
|
|
|
|
|
: ControlDialogBD(lv, d),
|
|
|
|
|
parent_(p)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMathSub::apply()
|
|
|
|
|
{
|
|
|
|
|
view().apply();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMathSub::dispatchFunc(kb_action action, string const & arg) const
|
|
|
|
|
{
|
|
|
|
|
parent_.dispatchFunc(action, arg);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ControlMathSub::insertSymbol(string const & sym, bool bs) const
|
|
|
|
|
{
|
|
|
|
|
parent_.insertSymbol(sym, bs);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GUIMathSub::GUIMathSub(LyXView & lv, Dialogs & d,
|
|
|
|
|
ControlMath const & p,
|
|
|
|
|
ViewBase * v,
|
|
|
|
|
ButtonControllerBase * bc)
|
|
|
|
|
: controller_(lv, d, p), bc_(bc), view_(v)
|
|
|
|
|
{
|
|
|
|
|
controller_.setView(*view_);
|
|
|
|
|
controller_.setButtonController(*bc_);
|
|
|
|
|
view_->setController(controller_);
|
|
|
|
|
}
|
|
|
|
|
|
2002-11-20 16:11:18 +00:00
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
char const * function_names[] = {
|
|
|
|
|
"arccos", "arcsin", "arctan", "arg", "bmod",
|
|
|
|
|
"cos", "cosh", "cot", "coth", "csc", "deg",
|
|
|
|
|
"det", "dim", "exp", "gcd", "hom", "inf", "ker",
|
|
|
|
|
"lg", "lim", "liminf", "limsup", "ln", "log",
|
|
|
|
|
"max", "min", "sec", "sin", "sinh", "sup",
|
2002-08-30 16:20:27 +00:00
|
|
|
|
"tan", "tanh", ""
|
2001-03-16 12:08:14 +00:00
|
|
|
|
};
|
|
|
|
|
|
2002-08-30 16:20:27 +00:00
|
|
|
|
int const nr_function_names = sizeof(function_names) / sizeof(char const *) - 1;
|
2001-03-19 15:38:22 +00:00
|
|
|
|
|
2002-09-06 01:41:14 +00:00
|
|
|
|
char const * latex_dots[] = {
|
|
|
|
|
"ldots", "cdots", "vdots", "ddots", ""
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_dots = sizeof(latex_dots) / sizeof(char const *) - 1;
|
|
|
|
|
|
2002-09-09 15:53:20 +00:00
|
|
|
|
char const * latex_deco[] = {
|
|
|
|
|
"widehat", "widetilde", "overbrace", "overleftarrow", "overrightarrow",
|
|
|
|
|
"overline", "underbrace", "underline", "underleftarrow", "underrightarrow",
|
|
|
|
|
"underleftrightarrow", "overleftrightarrow",
|
|
|
|
|
"hat", "acute", "bar", "dot",
|
|
|
|
|
"check", "grave", "vec", "ddot",
|
|
|
|
|
"breve", "tilde", ""
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_deco = sizeof(latex_deco) / sizeof(char const *) - 1;
|
|
|
|
|
|
2001-03-16 12:08:14 +00:00
|
|
|
|
char const * latex_arrow[] = {
|
|
|
|
|
"downarrow", "leftarrow", "Downarrow", "Leftarrow",
|
|
|
|
|
"hookleftarrow", "rightarrow", "uparrow", "Rightarrow", "Uparrow",
|
|
|
|
|
"hookrightarrow", "updownarrow", "Leftrightarrow", "leftharpoonup",
|
|
|
|
|
"rightharpoonup", "rightleftharpoons", "leftrightarrow", "Updownarrow",
|
|
|
|
|
"leftharpoondown", "rightharpoondown", "mapsto",
|
|
|
|
|
"Longleftarrow", "Longrightarrow", "Longleftrightarrow",
|
|
|
|
|
"longleftrightarrow", "longleftarrow", "longrightarrow", "longmapsto",
|
|
|
|
|
"nwarrow", "nearrow", "swarrow", "searrow", "",
|
|
|
|
|
};
|
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
int const nr_latex_arrow = sizeof(latex_arrow) / sizeof(char const *);
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
|
|
|
|
char const * latex_bop[] = {
|
|
|
|
|
"pm", "cap", "diamond", "oplus",
|
|
|
|
|
"mp", "cup", "bigtriangleup", "ominus",
|
|
|
|
|
"times", "uplus", "bigtriangledown", "otimes",
|
|
|
|
|
"div", "sqcap", "triangleright", "oslash",
|
|
|
|
|
"cdot", "sqcup", "triangleleft", "odot",
|
|
|
|
|
"star", "vee", "amalg", "bigcirc",
|
|
|
|
|
"setminus", "wedge", "dagger", "circ",
|
|
|
|
|
"bullet", "wr", "ddagger", ""
|
|
|
|
|
};
|
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
int const nr_latex_bop = sizeof(latex_bop) / sizeof(char const *);
|
|
|
|
|
|
|
|
|
|
char const * latex_brel[] = {
|
|
|
|
|
"leq", "geq", "equiv", "models",
|
|
|
|
|
"prec", "succ", "sim", "perp",
|
|
|
|
|
"preceq", "succeq", "simeq", "mid",
|
|
|
|
|
"ll", "gg", "asymp", "parallel",
|
|
|
|
|
"subset", "supset", "approx", "smile",
|
|
|
|
|
"subseteq", "supseteq", "cong", "frown",
|
|
|
|
|
"sqsubseteq", "sqsupseteq", "doteq", "neq",
|
|
|
|
|
"in", "ni", "propto", "notin",
|
|
|
|
|
"vdash", "dashv", "bowtie", ""
|
2001-03-16 12:08:14 +00:00
|
|
|
|
};
|
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
int const nr_latex_brel = sizeof(latex_brel) / sizeof(char const *);
|
|
|
|
|
|
|
|
|
|
char const * latex_greek[] = {
|
|
|
|
|
"Gamma", "Delta", "Theta", "Lambda", "Xi", "Pi",
|
|
|
|
|
"Sigma", "Upsilon", "Phi", "Psi", "Omega",
|
|
|
|
|
"alpha", "beta", "gamma", "delta", "epsilon", "varepsilon", "zeta",
|
|
|
|
|
"eta", "theta", "vartheta", "iota", "kappa", "lambda", "mu",
|
|
|
|
|
"nu", "xi", "pi", "varpi", "rho", "sigma", "varsigma",
|
|
|
|
|
"tau", "upsilon", "phi", "varphi", "chi", "psi", "omega", ""
|
|
|
|
|
};
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
int const nr_latex_greek = sizeof(latex_greek) / sizeof(char const *);
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
char const * latex_misc[] = {
|
|
|
|
|
"nabla", "partial", "infty", "prime", "ell",
|
|
|
|
|
"emptyset", "exists", "forall", "imath", "jmath",
|
|
|
|
|
"Re", "Im", "aleph", "wp", "hbar",
|
|
|
|
|
"angle", "top", "bot", "Vert", "neg",
|
|
|
|
|
"flat", "natural", "sharp", "surd", "triangle",
|
2002-03-21 21:21:28 +00:00
|
|
|
|
"diamondsuit", "heartsuit", "clubsuit", "spadesuit",
|
|
|
|
|
"textrm <20>", "textrm <20>", "mathcircumflex", "_",
|
2002-03-04 11:10:26 +00:00
|
|
|
|
"mathrm T",
|
2002-03-21 21:21:28 +00:00
|
|
|
|
"mathbb N", "mathbb Z", "mathbb Q",
|
2002-01-15 15:31:19 +00:00
|
|
|
|
"mathbb R", "mathbb C", "mathbb H",
|
2002-03-21 21:21:28 +00:00
|
|
|
|
"mathcal F", "mathcal L",
|
2002-03-04 11:10:26 +00:00
|
|
|
|
"mathcal H", "mathcal O", ""
|
2001-03-19 15:38:22 +00:00
|
|
|
|
};
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
int const nr_latex_misc = sizeof(latex_misc) / sizeof(char const *);
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
char const * latex_varsz[] = {
|
|
|
|
|
"sum", "int", "oint",
|
|
|
|
|
"prod", "coprod", "bigsqcup",
|
|
|
|
|
"bigotimes", "bigodot", "bigoplus",
|
|
|
|
|
"bigcap", "bigcup", "biguplus",
|
|
|
|
|
"bigvee", "bigwedge", ""
|
|
|
|
|
};
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2001-03-19 15:38:22 +00:00
|
|
|
|
int const nr_latex_varsz = sizeof(latex_varsz) / sizeof(char const *);
|
2001-03-16 12:08:14 +00:00
|
|
|
|
|
2002-01-18 12:18:20 +00:00
|
|
|
|
char const * latex_ams_misc[] = {
|
|
|
|
|
"digamma", "varkappa", "beth", "daleth", "gimel",
|
|
|
|
|
"ulcorner", "urcorner", "llcorner", "lrcorner",
|
|
|
|
|
"hbar", "hslash", "vartriangle",
|
|
|
|
|
"triangledown", "square", "lozenge",
|
|
|
|
|
"circledS", "angle", "measuredangle",
|
|
|
|
|
"nexists", "mho", "Finv",
|
|
|
|
|
"Game", "Bbbk", "backprime",
|
|
|
|
|
"varnothing", "blacktriangle", "blacktriangledown",
|
|
|
|
|
"blacksquare", "blacklozenge", "bigstar",
|
|
|
|
|
"sphericalangle", "complement", "eth",
|
|
|
|
|
"diagup", "diagdown", ""
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_ams_misc = sizeof(latex_ams_misc) / sizeof(char const *);
|
|
|
|
|
|
|
|
|
|
char const * latex_ams_arrows[] = {
|
|
|
|
|
"dashrightarrow", "dashleftarrow", "leftleftarrows",
|
|
|
|
|
"leftrightarrows", "Lleftarrow", "twoheadleftarrow",
|
|
|
|
|
"leftarrowtail", "looparrowleft", "leftrightharpoons",
|
|
|
|
|
"curvearrowleft", "circlearrowleft", "Lsh",
|
|
|
|
|
"upuparrows", "upharpoonleft", "downharpoonleft",
|
|
|
|
|
"multimap", "leftrightsquigarrow", "rightrightarrows",
|
|
|
|
|
"rightleftarrows", "rightrightarrows", "rightleftarrows",
|
|
|
|
|
"twoheadrightarrow", "rightarrowtail", "looparrowright",
|
|
|
|
|
"rightleftharpoons", "curvearrowright", "circlearrowright",
|
2002-03-21 21:21:28 +00:00
|
|
|
|
"Rsh", "downdownarrows", "upharpoonright",
|
2002-01-18 12:18:20 +00:00
|
|
|
|
"downharpoonright", "rightsquigarrow",
|
|
|
|
|
"nleftarrow", "nrightarrow", "nLeftarrow",
|
2002-08-29 05:40:51 +00:00
|
|
|
|
"nRightarrow", "nleftrightarrow", "nLeftrightarrow", ""
|
2002-01-18 12:18:20 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_ams_arrows = sizeof(latex_ams_arrows) / sizeof(char const *);
|
|
|
|
|
|
|
|
|
|
char const * latex_ams_rel[] = {
|
2002-01-28 14:36:39 +00:00
|
|
|
|
"leqq", "leqslant", "eqslantless", "eqslantgtr", "gtrsim", "gtrapprox",
|
|
|
|
|
"lesssim", "lessapprox", "approxeq", "gtrdot", "ggg", "gtrless",
|
|
|
|
|
"lessdot", "lll", "lessgtr", "gtreqless", "gtreqqless", "eqcirc",
|
|
|
|
|
"lesseqgtr", "lesseqqgtr", "doteqdot", "circeq", "triangleq", "thicksim",
|
|
|
|
|
"risingdotseq", "fallingdotseq", "backsim", "thickapprox", "supseteqq", "Supset",
|
2002-11-27 10:30:28 +00:00
|
|
|
|
"backsimeq", "subseteqq", "Subset", "sqsupset", "succcurlyeq", "curlyeqsucc",
|
2002-01-28 14:36:39 +00:00
|
|
|
|
"sqsubset", "preccurlyeq", "curlyeqprec", "succsim", "succapprox", "vartriangleright",
|
|
|
|
|
"precsim", "precapprox", "vartriangleleft", "trianglerighteq", "Vdash", "shortmid",
|
|
|
|
|
"trianglelefteq", "vDash", "Vvdash", "shortparallel", "between", "pitchfork",
|
|
|
|
|
"smallsmile", "smallfrown", "bumpeq", "varpropto", "blacktriangleleft", "therefore",
|
2002-08-29 05:40:51 +00:00
|
|
|
|
"Bumpeq", "geqq", "geqslant", "backepsilon", "blacktriangleright", "because", ""
|
2002-01-18 12:18:20 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_ams_rel = sizeof(latex_ams_rel) / sizeof(char const *);
|
|
|
|
|
|
|
|
|
|
char const * latex_ams_nrel[] = {
|
2002-01-28 14:36:39 +00:00
|
|
|
|
"nless", "nleq", "nleqslant", "ngeqslant", "ngeqq", "gneq",
|
2002-11-27 10:30:28 +00:00
|
|
|
|
"nleqq", "lneq", "lneqq", "gneqq", "gvertneqq", "gnsim",
|
2002-01-28 14:36:39 +00:00
|
|
|
|
"lvertneqq", "lnsim", "lnapprox", "gnapprox", "nsucc", "nsucceq",
|
|
|
|
|
"nprec", "npreceq", "precnsim","succnsim", "succnapprox", "ncong",
|
|
|
|
|
"precnapprox", "nsim", "nshortmid", "nshortparallel", "nparallel", "nvDash",
|
2002-03-21 21:21:28 +00:00
|
|
|
|
|
2002-11-27 10:30:28 +00:00
|
|
|
|
"nmid", "nvdash", "nvDash", "nVDash", "ntriangleright", "ntrianglerighteq",
|
2002-01-28 14:36:39 +00:00
|
|
|
|
"ntriangleleft", "ntrianglelefteq", "nsubseteq", "nsupseteq", "nsupseteqq", "supsetneq",
|
|
|
|
|
"subsetneq", "varsubsetneq", "subsetneqq", "varsupsetneq", "supsetneqq", "varsupsetneqq",
|
2002-11-27 10:30:28 +00:00
|
|
|
|
"varsubsetneqq", "ngtr", "ngeq", "", "", ""
|
2002-01-18 12:18:20 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_ams_nrel = sizeof(latex_ams_nrel) / sizeof(char const *);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
char const * latex_ams_ops[] = {
|
|
|
|
|
"dotplus", "smallsetminus", "Cap",
|
|
|
|
|
"Cup", "barwedge", "veebar",
|
|
|
|
|
"doublebarwedge", "boxminus", "boxtimes",
|
|
|
|
|
"boxdot", "boxplus", "divideontimes",
|
|
|
|
|
"ltimes", "rtimes", "leftthreetimes",
|
|
|
|
|
"rightthreetimes", "curlywedge", "curlyvee",
|
|
|
|
|
"circleddash", "circledast", "circledcirc",
|
|
|
|
|
"centerdot", "intercal", ""
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
int const nr_latex_ams_ops = sizeof(latex_ams_ops) / sizeof(char const *);
|
2002-11-20 16:11:18 +00:00
|
|
|
|
|
2002-11-27 10:30:28 +00:00
|
|
|
|
|
2002-11-20 16:11:18 +00:00
|
|
|
|
string const find_xpm(string const & name)
|
|
|
|
|
{
|
2002-11-27 10:30:28 +00:00
|
|
|
|
#warning Use a static table for this (Lgb)
|
|
|
|
|
// And get O(log n) lookup (Lgb)
|
|
|
|
|
|
2002-11-20 16:11:18 +00:00
|
|
|
|
string xpm_name = subst(name, ' ', '_');
|
|
|
|
|
if (xpm_name == "(") xpm_name = "lparen";
|
|
|
|
|
else if (xpm_name == ")") xpm_name = "rparen";
|
|
|
|
|
else if (xpm_name == "[") xpm_name = "lbracket";
|
|
|
|
|
else if (xpm_name == "]") xpm_name = "rbracket";
|
|
|
|
|
else if (xpm_name == "{") xpm_name = "lbrace";
|
|
|
|
|
else if (xpm_name == "}") xpm_name = "rbrace";
|
|
|
|
|
else if (xpm_name == "|") xpm_name = "bars";
|
2002-11-20 17:49:52 +00:00
|
|
|
|
else if (xpm_name == "_") xpm_name = "underscore";
|
|
|
|
|
else if (xpm_name == "textrm_<EFBFBD>") xpm_name = "textrm_A";
|
|
|
|
|
else if (xpm_name == "textrm_<EFBFBD>") xpm_name = "textrm_0";
|
2002-11-20 16:11:18 +00:00
|
|
|
|
else if (xpm_name == "Bumpeq") xpm_name = "bumpeq2";
|
|
|
|
|
else if (xpm_name == "Cap") xpm_name = "cap2";
|
|
|
|
|
else if (xpm_name == "Cup") xpm_name = "cup2";
|
|
|
|
|
else if (xpm_name == "Delta") xpm_name = "delta2";
|
|
|
|
|
else if (xpm_name == "Downarrow") xpm_name = "downarrow2";
|
|
|
|
|
else if (xpm_name == "Gamma") xpm_name = "gamma2";
|
|
|
|
|
else if (xpm_name == "Lambda") xpm_name = "lambda2";
|
|
|
|
|
else if (xpm_name == "Leftarrow") xpm_name = "leftarrow2";
|
|
|
|
|
else if (xpm_name == "Leftrightarrow") xpm_name = "leftrightarrow2";
|
|
|
|
|
else if (xpm_name == "Longleftarrow") xpm_name = "longleftarrow2";
|
|
|
|
|
else if (xpm_name == "Longleftrightarrow") xpm_name = "longleftrightarrow2";
|
|
|
|
|
else if (xpm_name == "Longrightarrow") xpm_name = "longrightarrow2";
|
|
|
|
|
else if (xpm_name == "nLeftarrow") xpm_name = "nleftarrow2";
|
|
|
|
|
else if (xpm_name == "nLeftrightarrow") xpm_name = "nleftrightarrow2";
|
|
|
|
|
else if (xpm_name == "nRightarrow") xpm_name = "nrightarrow2";
|
|
|
|
|
else if (xpm_name == "nvDash") xpm_name = "nvdash2";
|
|
|
|
|
else if (xpm_name == "nVDash") xpm_name = "nvdash3";
|
|
|
|
|
else if (xpm_name == "Omega") xpm_name = "omega2";
|
|
|
|
|
else if (xpm_name == "Phi") xpm_name = "phi2";
|
|
|
|
|
else if (xpm_name == "Pi") xpm_name = "pi2";
|
|
|
|
|
else if (xpm_name == "Psi") xpm_name = "psi2";
|
|
|
|
|
else if (xpm_name == "Rightarrow") xpm_name = "rightarrow2";
|
|
|
|
|
else if (xpm_name == "Sigma") xpm_name = "sigma2";
|
|
|
|
|
else if (xpm_name == "Subset") xpm_name = "subset2";
|
|
|
|
|
else if (xpm_name == "Supset") xpm_name = "supset2";
|
|
|
|
|
else if (xpm_name == "Theta") xpm_name = "theta2";
|
|
|
|
|
else if (xpm_name == "Uparrow") xpm_name = "uparrow2";
|
|
|
|
|
else if (xpm_name == "Updownarrow") xpm_name = "updownarrow2";
|
|
|
|
|
else if (xpm_name == "Upsilon") xpm_name = "upsilon2";
|
|
|
|
|
else if (xpm_name == "vDash") xpm_name = "vdash2";
|
|
|
|
|
else if (xpm_name == "Vdash") xpm_name = "vdash3";
|
|
|
|
|
else if (xpm_name == "Xi") xpm_name = "xi2";
|
|
|
|
|
|
|
|
|
|
lyxerr[Debug::GUI] << "Looking for math XPM called \""
|
2002-11-27 10:30:28 +00:00
|
|
|
|
<< xpm_name << '"' << std::endl;
|
|
|
|
|
|
2002-11-20 16:11:18 +00:00
|
|
|
|
return LibFileSearch("images/math/", xpm_name, "xpm");
|
|
|
|
|
}
|