3 #include "math_parser.h"
4 #include "math_binominset.h"
5 #include "math_decorationinset.h"
6 #include "math_dotsinset.h"
7 #include "math_funcinset.h"
8 #include "math_funcliminset.h"
9 #include "math_fracinset.h"
10 #include "math_kerninset.h"
11 #include "math_macro.h"
12 #include "math_macrotable.h"
13 #include "math_notinset.h"
14 #include "math_rootinset.h"
15 #include "math_spaceinset.h"
16 #include "math_specialcharinset.h"
17 #include "math_sqrtinset.h"
18 #include "math_symbolinset.h"
19 #include "math_stackrelinset.h"
22 MathInset * createMathInset(latexkeys const * l)
26 return new MathFuncLimInset(l);
28 return new MathSpecialCharInset(l->id);
36 return new MathSymbolInset(l);
38 return new MathStackrelInset;
40 return new MathKernInset;
43 return new MathBinomInset;
46 return new MathFracInset;
48 return new MathFracInset(true);
50 return new MathNotInset;
52 return new MathSqrtInset;
54 return new MathRootInset;
55 case LM_TK_DECORATION:
56 return new MathDecorationInset(l->name);
58 return new MathSpaceInset(l->id);
60 return new MathDotsInset(l->name);
62 return new MathFuncInset(l->name);
66 MathInset * createMathInset(string const & s)
68 latexkeys const * l = in_word_set(s);
70 return createMathInset(l);
72 if (MathMacroTable::hasTemplate(s))
73 return new MathMacro(MathMacroTable::provideTemplate(s));
75 return new MathFuncInset(s);