#include "math_macro.h"
#include "math_macrotemplate.h"
#include "math_parser.h"
-#include "math_fracinset.h"
-#include "math_cheatinset.h"
-#include "math_charinset.h"
#include "debug.h"
-
+#include "support.h" // math_font_available
MathArray mathed_parse_cell(string const &);
built = true;
//lyxerr[Debug::MATHED] << "Building macros\n";
- createTemplate("emptyset", 0, "\\not0");
- createTemplate("ne", 0, "\\not=");
- createTemplate("ge", 0, "\\geq");
- createTemplate("gets", 0, "\\leftarrow");
+ //createTemplate("emptyset", 0, "\\not0");
+ createTemplate("notin", 0, "\\not\\in");
+ createTemplate("slash", 0, "/");
+
+ // fontmath.ltx
+
+ createTemplate("lnot", 0, "\\neg");
createTemplate("land", 0, "\\wedge");
- createTemplate("le", 0, "\\leq");
createTemplate("lor", 0, "\\vee");
- createTemplate("notin", 0, "\\not\\in");
- createTemplate("perp", 0, "\\bot");
+ createTemplate("ne", 0, "\\neq");
+ createTemplate("le", 0, "\\leq");
+ createTemplate("ge", 0, "\\geq");
createTemplate("owns", 0, "\\ni");
+ createTemplate("gets", 0, "\\leftarrow");
createTemplate("to", 0, "\\rightarrow");
- //createTemplate("lint", 4, "\\int_#1^#2#3 d#4");
- //createTemplate("silentmult", 0, "\\cdot");
- //createTemplate("binom", 2, "\\left(\\frac#1#2\\right)");
-
- MathMacroTemplate ll("ll", 0);
- ll.cell(0).push_back(new MathCharInset('<', LM_TC_CONST));
- ll.cell(0).push_back(new MathCheatInset(-0.9));
- ll.cell(0).push_back(new MathCharInset('<', LM_TC_CONST));
- insertTemplate(ll);
-
- MathMacroTemplate gg("gg", 0);
- gg.cell(0).push_back(new MathCharInset('>', LM_TC_CONST));
- gg.cell(0).push_back(new MathCheatInset(-0.9));
- gg.cell(0).push_back(new MathCharInset('>', LM_TC_CONST));
- insertTemplate(gg);
+ createTemplate("|", 0, "\\parallel");
+
+ createTemplate("longleftrightarrow", 0, "\\leftarrow\\kern-6mu\\rightarrow");
+ createTemplate("Longleftrightarrow", 0, "\\Leftarrow\\kern-6mu\\Rightarrow");
+ createTemplate("doteq", 0, "\\stackrel{\\cdot}{=}");
+
+ //createTemplate("models", 0, "|\\kern-9mu=");
+
+ if (math_font_available(LM_TC_CMSY)) {
+ createTemplate("longrightarrow", 0, "\\lyxbar\\kern-5mu\\rightarrow");
+ createTemplate("longleftarrow", 0, "\\leftarrow\\kern-5mu\\lyxbar");
+ createTemplate("mapsto", 0, "\\mapstochar\\rightarrow");
+ createTemplate("longmapsto", 0, "\\mapstochar\\lyxbar\\kern-5mu\\rightarrow");
+ }
+
+ if (math_font_available(LM_TC_CMR)) {
+ createTemplate("Longrightarrow", 0, "\\lyxeq\\kern-3mu\\Rightarrow");
+ createTemplate("Longleftarrow", 0, "\\Leftarrow\\kern-9mu\\lyxeq");
+ }
+
+ if (math_font_available(LM_TC_CMM)) {
+ createTemplate("hookrightarrow", 0, "\\lhook\\kern-5mu\\rightarrow");
+ createTemplate("hookleftarrow", 0, "\\leftarrow\\kern-5mu\\rhook");
+ createTemplate("bowtie", 0, "\\triangleright\\kern-3mu\\triangleleft");
+ }
+
+ if (math_font_available(LM_TC_MSA)) {
+ //amsfonts.sty
+
+ createTemplate("dashrightarrow", 0, "\\lyxdabar\\lyxdabar\\lyxright");
+ createTemplate("dashleftarrow", 0, "\\lyxleft\\lyxdabar\\lyxdabar");
+ createTemplate("dasharrow", 0, "\\dashrightarrow");
+ createTemplate("Box", 0, "\\square");
+ createTemplate("Diamond", 0, "\\lozenge");
+ createTemplate("leadsto", 0, "\\rightsquigarrow");
+
+ // amssymb.sty
+
+ createTemplate("restriction", 0, "\\upharpoonright");
+ createTemplate("Doteq", 0, "\\doteqdot");
+ createTemplate("doublecup", 0, "\\Cup");
+ createTemplate("doublecap", 0, "\\Cap");
+ createTemplate("llless", 0, "\\lll");
+ createTemplate("gggtr", 0, "\\ggg");
+ }
+
+ //createTemplate("lint", 4, "\\int_#1^#2#3 d#4");
+ //createTemplate("silentmult", 0, "\\cdot");
+ //createTemplate("binom", 2, "\\left(\\frac#1#2\\right)");
}