-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27
-
28
-
29
-
30
-
31
-
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
-
40
-
41
-
42
-
43
-
44
-
45
-
46
-
47
-
48
-
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: https://codemirror.net/LICENSE
(function() {
var mode = CodeMirror.getMode({tabSize: 4}, "stex");
function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
MT("word",
"foo");
MT("twoWords",
"foo bar");
MT("beginEndDocument",
"[tag \\begin][bracket {][atom document][bracket }]",
"[tag \\end][bracket {][atom document][bracket }]");
MT("beginEndEquation",
"[tag \\begin][bracket {][atom equation][bracket }]",
" E=mc^2",
"[tag \\end][bracket {][atom equation][bracket }]");
MT("beginModule",
"[tag \\begin][bracket {][atom module][bracket }[[]]]");
MT("beginModuleId",
"[tag \\begin][bracket {][atom module][bracket }[[]id=bbt-size[bracket ]]]");
MT("importModule",
"[tag \\importmodule][bracket [[][string b-b-t][bracket ]]{][builtin b-b-t][bracket }]");
MT("importModulePath",
"[tag \\importmodule][bracket [[][tag \\KWARCslides][bracket {][string dmath/en/cardinality][bracket }]]{][builtin card][bracket }]");
MT("psForPDF",
"[tag \\PSforPDF][bracket [[][atom 1][bracket ]]{]#1[bracket }]");
MT("comment",
"[comment % foo]");
MT("tagComment",
"[tag \\item][comment % bar]");
MT("commentTag",
" [comment % \\item]");
MT("commentLineBreak",
"[comment %]",
"foo");
MT("tagErrorCurly",
"[tag \\begin][error }][bracket {]");
MT("tagErrorSquare",
"[tag \\item][error ]]][bracket {]");
MT("commentCurly",
"[comment % }]");
MT("tagHash",
"the [tag \\#] key");
MT("tagNumber",
"a [tag \\$][atom 5] stetson");
MT("tagPercent",
"[atom 100][tag \\%] beef");
MT("tagAmpersand",
"L [tag \\&] N");
MT("tagUnderscore",
"foo[tag \\_]bar");
MT("tagBracketOpen",
"[tag \\emph][bracket {][tag \\{][bracket }]");
MT("tagBracketClose",
"[tag \\emph][bracket {][tag \\}][bracket }]");
MT("tagLetterNumber",
"section [tag \\S][atom 1]");
MT("textTagNumber",
"para [tag \\P][atom 2]");
MT("thinspace",
"x[tag \\,]y");
MT("thickspace",
"x[tag \\;]y");
MT("negativeThinspace",
"x[tag \\!]y");
MT("periodNotSentence",
"J.\\ L.\\ is");
MT("periodSentence",
"X[tag \\@]. The");
MT("italicCorrection",
"[bracket {][tag \\em] If[tag \\/][bracket }] I");
MT("tagBracket",
"[tag \\newcommand][bracket {][tag \\pop][bracket }]");
MT("inlineMathTagFollowedByNumber",
"[keyword $][tag \\pi][number 2][keyword $]");
MT("inlineMath",
"[keyword $][number 3][variable-2 x][tag ^][number 2.45]-[tag \\sqrt][bracket {][tag \\$\\alpha][bracket }] = [number 2][keyword $] other text");
MT("inlineMathLatexStyle",
"[keyword \\(][number 3][variable-2 x][tag ^][number 2.45]-[tag \\sqrt][bracket {][tag \\$\\alpha][bracket }] = [number 2][keyword \\)] other text");
MT("displayMath",
"More [keyword $$]\t[variable-2 S][tag ^][variable-2 n][tag \\sum] [variable-2 i][keyword $$] other text");
MT("displayMath environment",
"[tag \\begin][bracket {][atom equation][bracket }] x [tag \\end][bracket {][atom equation][bracket }] other text");
MT("displayMath environment with label",
"[tag \\begin][bracket {][atom equation][bracket }][tag \\label][bracket {][atom eq1][bracket }] x [tag \\end][bracket {][atom equation][bracket }] other text~[tag \\ref][bracket {][atom eq1][bracket }]");
MT("mathWithComment",
"[keyword $][variable-2 x] [comment % $]",
"[variable-2 y][keyword $] other text");
MT("lineBreakArgument",
"[tag \\\\][bracket [[][atom 1cm][bracket ]]]");
})();