mathml 0.8.1 → 0.10.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +47 -103
- data/Rakefile.utirake +374 -0
- data/lib/math_ml.rb +9 -1875
- data/lib/math_ml/element.rb +227 -0
- data/lib/math_ml/latex.rb +1105 -0
- data/lib/math_ml/latex/builtin.rb +5 -0
- data/lib/math_ml/latex/builtin/symbol.rb +549 -0
- data/lib/math_ml/symbol/character_reference.rb +2107 -0
- data/lib/math_ml/symbol/entity_reference.rb +2106 -0
- data/lib/math_ml/symbol/utf8.rb +2108 -0
- data/spec/math_ml/element_spec.rb +32 -0
- data/spec/math_ml/latex/macro_spec.rb +122 -0
- data/spec/math_ml/latex/parser_spec.rb +578 -0
- data/spec/math_ml/latex/scanner_spec.rb +202 -0
- data/spec/math_ml/string_spec.rb +29 -0
- data/spec/math_ml/util_spec.rb +700 -0
- data/spec/math_ml_spec.rb +14 -0
- data/spec/util.rb +38 -0
- metadata +61 -44
- data/README +0 -58
- data/symbols/fetch_symbol.rb +0 -446
- data/symbols/fetch_symbol_test.rb +0 -180
- data/symbols/list.txt +0 -518
- data/test/math_ml_test.rb +0 -794
- data/test/math_ml_test_util.rb +0 -48
- data/test/math_ml_test_util_test.rb +0 -22
- data/test/string_test.rb +0 -36
- data/test/util_test.rb +0 -694
@@ -1,180 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require "test/unit"
|
4
|
-
require "symbols/fetch_symbol"
|
5
|
-
require "test/math_ml_test_util"
|
6
|
-
require "math_ml"
|
7
|
-
|
8
|
-
class TC_Misc < Test::Unit::TestCase
|
9
|
-
def test_brace_nest
|
10
|
-
assert_equal("{1.{2.}2.}1.", brace_nest("{{}}"))
|
11
|
-
assert_equal("{1.{2.}2.{2.}2.}1.", brace_nest("{{}{}}"))
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
class TC_FetchSymbol < Test::Unit::TestCase
|
16
|
-
include Util4TC_MathML
|
17
|
-
LIST = <<'EOT'
|
18
|
-
\{ subsup o-
|
19
|
-
\& subsup o:amp
|
20
|
-
\varepsilon subsup I:
|
21
|
-
\Gamma subsup i:
|
22
|
-
\ensuremath subsup v
|
23
|
-
\log subsup i-
|
24
|
-
\lim underover i-
|
25
|
-
\dagger subsup
|
26
|
-
\braceld subsup o=x25dc # dummy
|
27
|
-
\relbar subsup o--
|
28
|
-
\precneqq subsup o-<mfrac mathsize='1%' linethickness='0'><mo>≺</mo><mo>≠</mo></mfrac> # dummy
|
29
|
-
EOT
|
30
|
-
|
31
|
-
def test_fetchsymbol
|
32
|
-
r = fetch_symbol
|
33
|
-
|
34
|
-
#latex.ltx
|
35
|
-
assert_equal(:subsup, r["\\log"])
|
36
|
-
assert_equal(:subsup, r["\\deg"])
|
37
|
-
assert_equal(:underover, r["\\lim"])
|
38
|
-
assert_equal(:underover, r["\\gcd"])
|
39
|
-
assert_equal(nil, r["\\bigl"])
|
40
|
-
assert_equal(:subsup, r["\\$"])
|
41
|
-
assert_equal(:subsup, r["\\}"])
|
42
|
-
assert_equal(:subsup, r["\\copyright"])
|
43
|
-
assert_equal(:subsup, r["\\%"])
|
44
|
-
|
45
|
-
#fontmath.ltx
|
46
|
-
assert_equal(:subsup, r["\\alpha"])
|
47
|
-
assert_equal(:subsup, r["\\Gamma"])
|
48
|
-
assert_equal(:underover, r["\\coprod"])
|
49
|
-
assert_equal(:subsup, r["\\triangleleft"])
|
50
|
-
assert_equal(:subsup, r["\\propto"])
|
51
|
-
assert_equal(:subsup, r["\\ldotp"])
|
52
|
-
assert_equal(:subsup, r["\\hbar"])
|
53
|
-
assert_equal(nil, r["\\overrightarrow"])
|
54
|
-
assert_equal(nil, r["\\n@space"])
|
55
|
-
assert_equal(nil, r["\\rightarrowfill"])
|
56
|
-
assert_equal(:subsup, r["\\lnot"])
|
57
|
-
assert_equal(:subsup, r["\\|"])
|
58
|
-
assert_equal(:subsup, r["\\lmoustache"])
|
59
|
-
assert_equal(:subsup, r["\\arrowvert"])
|
60
|
-
assert_equal(:subsup, r["\\uparrow"])
|
61
|
-
assert_equal(:subsup, r["\\longleftarrow"])
|
62
|
-
|
63
|
-
#amssymb.sty
|
64
|
-
assert_equal(:subsup, r["\\boxdot"])
|
65
|
-
assert_equal(:subsup, r["\\Doteq"])
|
66
|
-
assert_equal(:subsup, r["\\Diamond"])
|
67
|
-
|
68
|
-
#amsfonts.sty
|
69
|
-
assert_equal(:subsup, r["\\ulcorner"])
|
70
|
-
assert_equal(:subsup, r["\\urcorner"])
|
71
|
-
assert_equal(:subsup, r["\\rightleftharpoons"])
|
72
|
-
assert_equal(:subsup, r["\\leadsto"])
|
73
|
-
assert_equal(nil, r["\\dabar@"])
|
74
|
-
|
75
|
-
#amsmath.str
|
76
|
-
assert_equal(:subsup, r["\\ldots"])
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_parse_list
|
80
|
-
h = parse_list(LIST)[1]
|
81
|
-
assert_equal([:s, :o, ""], h["\\{"])
|
82
|
-
assert_equal([:s, :o, :amp], h["\\&"])
|
83
|
-
assert_equal([:s, :I], h["\\varepsilon"])
|
84
|
-
assert_equal([:s, :i], h["\\Gamma"])
|
85
|
-
assert_equal(nil, h["\\ensuremath"])
|
86
|
-
assert_equal([:s, :i, ""], h["\\log"])
|
87
|
-
assert_equal([:u, :i, ""], h["\\lim"])
|
88
|
-
assert_equal([:s], h["\\dagger"])
|
89
|
-
assert_equal([:s, :o, 0x25dc], h["\\braceld"])
|
90
|
-
assert_equal([:s, :o, "-"], h["\\relbar"])
|
91
|
-
assert_equal([:s, :o, "<mfrac mathsize='1%' linethickness='0'><mo>≺</mo><mo>≠</mo></mfrac>"], h["\\precneqq"])
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_to_mathml
|
95
|
-
def tm(com, h)
|
96
|
-
to_mathml(com, h[com])
|
97
|
-
end
|
98
|
-
|
99
|
-
h = parse_list(LIST)[1]
|
100
|
-
assert_equal("<mo>{</mo>", tm("\\{", h))
|
101
|
-
assert_equal("<mo>&</mo>", tm("\\&", h))
|
102
|
-
assert_equal("<mi>ϵ</mi>", tm("\\varepsilon", h))
|
103
|
-
assert_equal("<mi mathvariant='normal'>Γ</mi>", tm("\\Gamma", h))
|
104
|
-
assert_equal("", tm("\\ensuremat", h))
|
105
|
-
assert_equal("<mi>log</mi>", tm("\\log", h))
|
106
|
-
assert_equal("<mo>†</mo>", tm("\\dagger", h))
|
107
|
-
assert_equal("<mo>◜</mo>", tm("\\braceld", h))
|
108
|
-
end
|
109
|
-
|
110
|
-
def test_gen_rb
|
111
|
-
e = <<'EOT'
|
112
|
-
SymbolCommands={
|
113
|
-
"{"=>[:s,:o,""],
|
114
|
-
"&"=>[:s,:o,:amp],
|
115
|
-
"varepsilon"=>[:s,:I],
|
116
|
-
"Gamma"=>[:s,:i],
|
117
|
-
"ensuremath"=>nil,
|
118
|
-
"log"=>[:s,:i,""],
|
119
|
-
"lim"=>[:u,:i,""],
|
120
|
-
"dagger"=>[:s],
|
121
|
-
"braceld"=>[:s,:o,0x25dc],
|
122
|
-
"relbar"=>[:s,:o,"-"],
|
123
|
-
"precneqq"=>[:s,:o,"<mfrac mathsize='1%' linethickness='0'><mo>≺</mo><mo>≠</mo></mfrac>"],
|
124
|
-
}
|
125
|
-
EOT
|
126
|
-
assert_equal(e, gen_rb(LIST))
|
127
|
-
end
|
128
|
-
|
129
|
-
def test_mathml_rb_symbol_command
|
130
|
-
a, h = parse_list(IO.read("symbols/list.txt"))
|
131
|
-
a.each do |com|
|
132
|
-
latex = "#{com}_a^b"
|
133
|
-
m = to_mathml(com, h[com])
|
134
|
-
unless h[com]
|
135
|
-
case com
|
136
|
-
when "\\,"
|
137
|
-
e = "<msubsup><mspace width='0.167em' /><mi>a</mi><mi>b</mi></msubsup>"
|
138
|
-
else
|
139
|
-
e = "<msubsup><none /><mi>a</mi><mi>b</mi></msubsup>"
|
140
|
-
end
|
141
|
-
else
|
142
|
-
if h[com][0] && h[com][0]==:u
|
143
|
-
e = "<munderover>#{m}<mi>a</mi><mi>b</mi></munderover>"
|
144
|
-
elsif h[com][0] && h[com][0]==:s
|
145
|
-
e = "<msubsup>#{m}<mi>a</mi><mi>b</mi></msubsup>"
|
146
|
-
else
|
147
|
-
raise "#{com}"
|
148
|
-
end
|
149
|
-
end
|
150
|
-
begin
|
151
|
-
assert_nothing_raised{smml(latex, true)}
|
152
|
-
assert_equal(e, smml(latex, true))
|
153
|
-
rescue
|
154
|
-
puts latex
|
155
|
-
raise
|
156
|
-
end
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
def test_delims
|
161
|
-
d = []
|
162
|
-
fetch_symbol(d)
|
163
|
-
|
164
|
-
MathML::LaTeX::BuiltinCommands::Delimiters.each do |i|
|
165
|
-
assert(d.include?("\\#{i}"), "Add '#{i}'")
|
166
|
-
end
|
167
|
-
d.each do |i|
|
168
|
-
assert(MathML::LaTeX::BuiltinCommands::Delimiters.include?(i[/^\\(.*)$/, 1]), "Missing '#{i}'")
|
169
|
-
end
|
170
|
-
end
|
171
|
-
|
172
|
-
def test_missing
|
173
|
-
p = load_preput_list(IO.read("symbols/list.txt"))
|
174
|
-
h = fetch_symbol
|
175
|
-
p.each_key do |k|
|
176
|
-
test = h.include?(k) ? "" : k
|
177
|
-
assert_equal("", test)
|
178
|
-
end
|
179
|
-
end
|
180
|
-
end
|
data/symbols/list.txt
DELETED
@@ -1,518 +0,0 @@
|
|
1
|
-
# Line which begin with '#' is comment
|
2
|
-
# "LaTeX command" "subsup|underover" "data"
|
3
|
-
# 1st chararacter of 3rd column(data) is type of element
|
4
|
-
# o:operator i:identifier I:identifier(Italic) n:number v:nothing to do(not <none> element)
|
5
|
-
# 2nd character is class of data
|
6
|
-
# '-' is string, ':' is entity(name), '=' is entity(code)
|
7
|
-
# remain string is text or entity
|
8
|
-
# when it omitted, that is same to command without '\'
|
9
|
-
# when all omitted, default is "o:"
|
10
|
-
\{ subsup o-
|
11
|
-
\} subsup o-
|
12
|
-
\# subsup o-
|
13
|
-
\$ subsup o-
|
14
|
-
\& subsup o:amp
|
15
|
-
\_ subsup o-
|
16
|
-
\% subsup o-
|
17
|
-
\, subsup v # dummy
|
18
|
-
\varepsilon subsup I:
|
19
|
-
\mathdollar subsup o-$
|
20
|
-
\lbrace subsup
|
21
|
-
\rbrace subsup
|
22
|
-
\P subsup o:para
|
23
|
-
\mathparagraph subsup o:para
|
24
|
-
\S subsup o:sect
|
25
|
-
\mathsection subsup o:sect
|
26
|
-
\dag subsup o:dagger
|
27
|
-
\dagger subsup
|
28
|
-
\ddag subsup o:ddagger
|
29
|
-
\ddagger subsup
|
30
|
-
\copyright subsup o:copy
|
31
|
-
\pounds subsup o:pound
|
32
|
-
\mathsterling subsup o:pound
|
33
|
-
\dots subsup o:mldr
|
34
|
-
\mathellipsis subsup o:mldr
|
35
|
-
\ldots subsup o:mldr
|
36
|
-
\ensuremath subsup v # dummy
|
37
|
-
\| subsup o:DoubleVerticalBar
|
38
|
-
\mho subsup
|
39
|
-
\Join subsup o:bowtie
|
40
|
-
\Box subsup o:square
|
41
|
-
\Diamond subsup
|
42
|
-
\leadsto subsup o:zigrarr
|
43
|
-
\sqsubset subsup
|
44
|
-
\sqsupset subsup
|
45
|
-
\lhd subsup o:vltri
|
46
|
-
\unlhd subsup o:ltrie
|
47
|
-
\rhd subsup o:vrtri
|
48
|
-
\unrhd subsup o:rtrie
|
49
|
-
\log subsup i-
|
50
|
-
\lg subsup i-
|
51
|
-
\ln subsup i-
|
52
|
-
\lim underover i-
|
53
|
-
\limsup underover i-lim sup
|
54
|
-
\liminf underover i-lim inf
|
55
|
-
\sin subsup i-
|
56
|
-
\arcsin subsup i-
|
57
|
-
\sinh subsup i-
|
58
|
-
\cos subsup i-
|
59
|
-
\arccos subsup i-
|
60
|
-
\cosh subsup i-
|
61
|
-
\tan subsup i-
|
62
|
-
\arctan subsup i-
|
63
|
-
\tanh subsup i-
|
64
|
-
\cot subsup i-
|
65
|
-
\coth subsup i-
|
66
|
-
\sec subsup i-
|
67
|
-
\csc subsup i-
|
68
|
-
\max underover i-
|
69
|
-
\min underover i-
|
70
|
-
\sup underover i-
|
71
|
-
\inf underover i-
|
72
|
-
\arg subsup i-
|
73
|
-
\ker subsup i-
|
74
|
-
\dim subsup i-
|
75
|
-
\hom subsup i-
|
76
|
-
\det underover i-
|
77
|
-
\exp subsup i-
|
78
|
-
\Pr underover i-
|
79
|
-
\gcd underover i-
|
80
|
-
\deg subsup i-
|
81
|
-
\prime subsup
|
82
|
-
\alpha subsup I:
|
83
|
-
\beta subsup I:
|
84
|
-
\gamma subsup I:
|
85
|
-
\delta subsup I:
|
86
|
-
\epsilon subsup I:
|
87
|
-
\zeta subsup I:
|
88
|
-
\eta subsup I:
|
89
|
-
\theta subsup I:
|
90
|
-
\iota subsup I:
|
91
|
-
\kappa subsup I:
|
92
|
-
\lambda subsup I:
|
93
|
-
\mu subsup I:
|
94
|
-
\nu subsup I:
|
95
|
-
\xi subsup I:
|
96
|
-
\pi subsup I:
|
97
|
-
\rho subsup I:
|
98
|
-
\sigma subsup I:
|
99
|
-
\tau subsup I:
|
100
|
-
\upsilon subsup I:
|
101
|
-
\phi subsup I:
|
102
|
-
\chi subsup I:
|
103
|
-
\psi subsup I:
|
104
|
-
\omega subsup I:
|
105
|
-
\vartheta subsup I:
|
106
|
-
\varpi subsup I:
|
107
|
-
\varrho subsup I:
|
108
|
-
\varsigma subsup I:
|
109
|
-
\varphi subsup I:
|
110
|
-
\Gamma subsup i:
|
111
|
-
\Delta subsup i:
|
112
|
-
\Theta subsup i:
|
113
|
-
\Lambda subsup i:
|
114
|
-
\Xi subsup i:
|
115
|
-
\Pi subsup i:
|
116
|
-
\Sigma subsup i:
|
117
|
-
\Upsilon subsup i:Upsi
|
118
|
-
\Phi subsup i:
|
119
|
-
\Psi subsup i:
|
120
|
-
\Omega subsup i:
|
121
|
-
\aleph subsup i:
|
122
|
-
\hbar subsup i:hslash # alternative
|
123
|
-
\imath subsup i:
|
124
|
-
\jmath subsup i:
|
125
|
-
\ell subsup
|
126
|
-
\wp subsup
|
127
|
-
\Re subsup i:
|
128
|
-
\Im subsup i:
|
129
|
-
\partial subsup o:part
|
130
|
-
\infty subsup n:infin
|
131
|
-
\emptyset subsup i:empty
|
132
|
-
\nabla subsup i:
|
133
|
-
\surd subsup o:Sqrt
|
134
|
-
\top subsup
|
135
|
-
\bot subsup
|
136
|
-
\angle subsup
|
137
|
-
\not subsup
|
138
|
-
\triangle subsup
|
139
|
-
\forall subsup
|
140
|
-
\exists subsup o:exist
|
141
|
-
\neg subsup o:not
|
142
|
-
\lnot subsup o:not
|
143
|
-
\flat subsup
|
144
|
-
\natural subsup
|
145
|
-
\sharp subsup
|
146
|
-
\clubsuit subsup
|
147
|
-
\diamondsuit subsup
|
148
|
-
\heartsuit subsup
|
149
|
-
\spadesuit subsup
|
150
|
-
\coprod underover
|
151
|
-
\bigvee underover
|
152
|
-
\bigwedge underover
|
153
|
-
\biguplus underover
|
154
|
-
\bigcap underover
|
155
|
-
\bigcup underover
|
156
|
-
\intop underover o:int
|
157
|
-
\int subsup o:
|
158
|
-
\prod underover
|
159
|
-
\sum underover
|
160
|
-
\bigotimes underover
|
161
|
-
\bigoplus underover
|
162
|
-
\bigodot underover
|
163
|
-
\ointop underover o:oint
|
164
|
-
\oint subsup
|
165
|
-
\bigsqcup underover
|
166
|
-
\smallint underover o:int
|
167
|
-
\triangleleft subsup
|
168
|
-
\triangleright subsup
|
169
|
-
\bigtriangleup subsup
|
170
|
-
\bigtriangledown subsup
|
171
|
-
\wedge subsup
|
172
|
-
\land subsup o:wedge
|
173
|
-
\vee subsup
|
174
|
-
\lor subsup o:vee
|
175
|
-
\cap subsup
|
176
|
-
\cup subsup
|
177
|
-
\sqcap subsup
|
178
|
-
\sqcup subsup
|
179
|
-
\uplus subsup
|
180
|
-
\amalg subsup
|
181
|
-
\diamond subsup
|
182
|
-
\bullet subsup
|
183
|
-
\wr subsup
|
184
|
-
\div subsup
|
185
|
-
\odot subsup
|
186
|
-
\oslash subsup
|
187
|
-
\otimes subsup
|
188
|
-
\ominus subsup
|
189
|
-
\oplus subsup
|
190
|
-
\mp subsup
|
191
|
-
\pm subsup
|
192
|
-
\circ subsup o:cir
|
193
|
-
\bigcirc subsup
|
194
|
-
\setminus subsup
|
195
|
-
\cdot subsup o:sdot
|
196
|
-
\ast subsup
|
197
|
-
\times subsup
|
198
|
-
\star subsup
|
199
|
-
\propto subsup
|
200
|
-
\sqsubseteq subsup
|
201
|
-
\sqsupseteq subsup
|
202
|
-
\parallel subsup
|
203
|
-
\mid subsup
|
204
|
-
\dashv subsup
|
205
|
-
\vdash subsup
|
206
|
-
\nearrow subsup
|
207
|
-
\searrow subsup
|
208
|
-
\nwarrow subsup
|
209
|
-
\swarrow subsup
|
210
|
-
\Leftrightarrow subsup
|
211
|
-
\Leftarrow subsup
|
212
|
-
\Rightarrow subsup
|
213
|
-
\neq subsup o:ne
|
214
|
-
\ne subsup
|
215
|
-
\leq subsup
|
216
|
-
\le subsup
|
217
|
-
\geq subsup
|
218
|
-
\ge subsup
|
219
|
-
\succ subsup
|
220
|
-
\prec subsup
|
221
|
-
\approx subsup
|
222
|
-
\succeq subsup o:sccue
|
223
|
-
\preceq subsup o:prcue
|
224
|
-
\supset subsup
|
225
|
-
\subset subsup
|
226
|
-
\supseteq subsup
|
227
|
-
\subseteq subsup
|
228
|
-
\in subsup
|
229
|
-
\ni subsup
|
230
|
-
\owns subsup o:ni
|
231
|
-
\gg subsup
|
232
|
-
\ll subsup
|
233
|
-
\leftrightarrow subsup
|
234
|
-
\leftarrow subsup
|
235
|
-
\gets subsup o:leftarrow
|
236
|
-
\rightarrow subsup
|
237
|
-
\to subsup o:rightarrow
|
238
|
-
\mapstochar subsup o:vdash #alternative
|
239
|
-
\mapsto subsup
|
240
|
-
\sim subsup
|
241
|
-
\simeq subsup
|
242
|
-
\perp subsup
|
243
|
-
\equiv subsup
|
244
|
-
\asymp subsup
|
245
|
-
\smile subsup
|
246
|
-
\frown subsup
|
247
|
-
\leftharpoonup subsup
|
248
|
-
\leftharpoondown subsup
|
249
|
-
\rightharpoonup subsup
|
250
|
-
\rightharpoondown subsup
|
251
|
-
\cong subsup
|
252
|
-
\notin subsup
|
253
|
-
\rightleftharpoons subsup
|
254
|
-
\doteq subsup
|
255
|
-
\joinrel subsup v # dummy
|
256
|
-
\relbar subsup o--
|
257
|
-
\Relbar subsup o-=
|
258
|
-
\lhook subsup o:sub
|
259
|
-
\hookrightarrow subsup
|
260
|
-
\rhook subsup o:sup
|
261
|
-
\hookleftarrow subsup
|
262
|
-
\bowtie subsup
|
263
|
-
\models subsup
|
264
|
-
\Longrightarrow subsup
|
265
|
-
\longrightarrow subsup
|
266
|
-
\longleftarrow subsup
|
267
|
-
\Longleftarrow subsup
|
268
|
-
\longmapsto subsup o:mapsto
|
269
|
-
\longleftrightarrow subsup
|
270
|
-
\Longleftrightarrow subsup
|
271
|
-
\iff subsup
|
272
|
-
\ldotp subsup o-.
|
273
|
-
\cdotp subsup o:cdot
|
274
|
-
\colon subsup
|
275
|
-
\cdots subsup o:ctdot
|
276
|
-
\vdots subsup o:vellip
|
277
|
-
\ddots subsup o:dtdot
|
278
|
-
\braceld subsup o=x25dc # alternative
|
279
|
-
\bracerd subsup o=x25dd # alternative
|
280
|
-
\bracelu subsup o=x25df # alternative
|
281
|
-
\braceru subsup o=x25de # alternative
|
282
|
-
\lmoustache subsup
|
283
|
-
\rmoustache subsup
|
284
|
-
\arrowvert subsup o:vert
|
285
|
-
\Arrowvert subsup o:DoubleVerticalBar
|
286
|
-
\Vert subsup o:DoubleVerticalBar
|
287
|
-
\vert subsup
|
288
|
-
\uparrow subsup
|
289
|
-
\downarrow subsup
|
290
|
-
\updownarrow subsup
|
291
|
-
\Uparrow subsup
|
292
|
-
\Downarrow subsup
|
293
|
-
\Updownarrow subsup
|
294
|
-
\backslash subsup o-\
|
295
|
-
\rangle subsup
|
296
|
-
\langle subsup
|
297
|
-
\rceil subsup
|
298
|
-
\lceil subsup
|
299
|
-
\rfloor subsup
|
300
|
-
\lfloor subsup
|
301
|
-
\lgroup subsup o=x2570
|
302
|
-
\rgroup subsup o=x256f
|
303
|
-
\bracevert subsup o:vert
|
304
|
-
\mathunderscore subsup o-_
|
305
|
-
\square subsup
|
306
|
-
\rightsquigarrow subsup
|
307
|
-
\lozenge subsup
|
308
|
-
\vartriangleright subsup
|
309
|
-
\vartriangleleft subsup
|
310
|
-
\trianglerighteq subsup
|
311
|
-
\trianglelefteq subsup
|
312
|
-
\boxdot subsup o:dotsquare
|
313
|
-
\boxplus subsup
|
314
|
-
\boxtimes subsup
|
315
|
-
\blacksquare subsup
|
316
|
-
\centerdot subsup
|
317
|
-
\blacklozenge subsup
|
318
|
-
\circlearrowright subsup
|
319
|
-
\circlearrowleft subsup
|
320
|
-
\leftrightharpoons subsup
|
321
|
-
\boxminus subsup
|
322
|
-
\Vdash subsup
|
323
|
-
\Vvdash subsup
|
324
|
-
\vDash subsup
|
325
|
-
\twoheadrightarrow subsup
|
326
|
-
\twoheadleftarrow subsup
|
327
|
-
\leftleftarrows subsup
|
328
|
-
\rightrightarrows subsup
|
329
|
-
\upuparrows subsup
|
330
|
-
\downdownarrows subsup
|
331
|
-
\upharpoonright subsup
|
332
|
-
\restriction subsup o:upharpoonright
|
333
|
-
\downharpoonright subsup
|
334
|
-
\upharpoonleft subsup
|
335
|
-
\downharpoonleft subsup
|
336
|
-
\rightarrowtail subsup
|
337
|
-
\leftarrowtail subsup
|
338
|
-
\leftrightarrows subsup
|
339
|
-
\rightleftarrows subsup
|
340
|
-
\Lsh subsup
|
341
|
-
\Rsh subsup
|
342
|
-
\leftrightsquigarrow subsup
|
343
|
-
\looparrowleft subsup
|
344
|
-
\looparrowright subsup
|
345
|
-
\circeq subsup
|
346
|
-
\succsim subsup
|
347
|
-
\gtrsim subsup
|
348
|
-
\gtrapprox subsup
|
349
|
-
\multimap subsup
|
350
|
-
\therefore subsup
|
351
|
-
\because subsup
|
352
|
-
\doteqdot subsup
|
353
|
-
\Doteq subsup o:doteqdot
|
354
|
-
\triangleq subsup
|
355
|
-
\precsim subsup
|
356
|
-
\lesssim subsup
|
357
|
-
\lessapprox subsup
|
358
|
-
\eqslantless subsup
|
359
|
-
\eqslantgtr subsup
|
360
|
-
\curlyeqprec subsup
|
361
|
-
\curlyeqsucc subsup
|
362
|
-
\preccurlyeq subsup
|
363
|
-
\leqq subsup
|
364
|
-
\leqslant subsup o:leq # alternative
|
365
|
-
\lessgtr subsup
|
366
|
-
\backprime subsup
|
367
|
-
\risingdotseq subsup
|
368
|
-
\fallingdotseq subsup
|
369
|
-
\succcurlyeq subsup
|
370
|
-
\geqq subsup
|
371
|
-
\geqslant subsup o:geq # alternative
|
372
|
-
\gtrless subsup
|
373
|
-
\bigstar subsup
|
374
|
-
\between subsup
|
375
|
-
\blacktriangledown subsup
|
376
|
-
\blacktriangleright subsup
|
377
|
-
\blacktriangleleft subsup
|
378
|
-
\vartriangle subsup o:triangle
|
379
|
-
\blacktriangle subsup
|
380
|
-
\triangledown subsup
|
381
|
-
\eqcirc subsup
|
382
|
-
\lesseqgtr subsup
|
383
|
-
\gtreqless subsup
|
384
|
-
\lesseqqgtr subsup
|
385
|
-
\gtreqqless subsup
|
386
|
-
\Rrightarrow subsup
|
387
|
-
\Lleftarrow subsup
|
388
|
-
\veebar subsup
|
389
|
-
\barwedge subsup
|
390
|
-
\doublebarwedge subsup
|
391
|
-
\measuredangle subsup
|
392
|
-
\sphericalangle subsup o:angsph
|
393
|
-
\varpropto subsup
|
394
|
-
\smallsmile subsup o:smile
|
395
|
-
\smallfrown subsup o:frown
|
396
|
-
\Subset subsup
|
397
|
-
\Supset subsup
|
398
|
-
\Cup subsup
|
399
|
-
\doublecup subsup o:Cup
|
400
|
-
\Cap subsup
|
401
|
-
\doublecap subsup o:Cap
|
402
|
-
\curlywedge subsup
|
403
|
-
\curlyvee subsup
|
404
|
-
\leftthreetimes subsup
|
405
|
-
\rightthreetimes subsup
|
406
|
-
\subseteqq subsup
|
407
|
-
\supseteqq subsup
|
408
|
-
\bumpeq subsup
|
409
|
-
\Bumpeq subsup
|
410
|
-
\lll subsup o:Ll
|
411
|
-
\llless subsup o:Ll
|
412
|
-
\ggg subsup
|
413
|
-
\gggtr subsup o:ggg
|
414
|
-
\circledS subsup
|
415
|
-
\pitchfork subsup
|
416
|
-
\dotplus subsup
|
417
|
-
\backsim subsup
|
418
|
-
\backsimeq subsup
|
419
|
-
\complement subsup
|
420
|
-
\intercal subsup
|
421
|
-
\circledcirc subsup
|
422
|
-
\circledast subsup
|
423
|
-
\circleddash subsup
|
424
|
-
\lvertneqq subsup o:lneqq
|
425
|
-
\gvertneqq subsup o:gneqq
|
426
|
-
\nleq subsup o=x2270
|
427
|
-
\ngeq subsup o=x2271
|
428
|
-
\nless subsup
|
429
|
-
\ngtr subsup
|
430
|
-
\nprec subsup
|
431
|
-
\nsucc subsup
|
432
|
-
\lneqq subsup
|
433
|
-
\gneqq subsup
|
434
|
-
\nleqslant subsup
|
435
|
-
\ngeqslant subsup
|
436
|
-
\lneq subsup
|
437
|
-
\gneq subsup
|
438
|
-
\npreceq subsup o:nprcue
|
439
|
-
\nsucceq subsup o:nsccue
|
440
|
-
\precnsim subsup
|
441
|
-
\succnsim subsup
|
442
|
-
\lnsim subsup
|
443
|
-
\gnsim subsup
|
444
|
-
\nleqq subsup
|
445
|
-
\ngeqq subsup
|
446
|
-
\precneqq subsup o-<mfrac linethickness='0' mathsize='1%'><mo>≺</mo><mo>≠</mo></mfrac> # alternative
|
447
|
-
\succneqq subsup o-<mfrac linethickness='0' mathsize='1%'><mo>≻</mo><mo>≠</mo></mfrac> # alternative
|
448
|
-
\precnapprox subsup
|
449
|
-
\succnapprox subsup
|
450
|
-
\lnapprox subsup o-<mfrac linethickness='0' mathsize='1%'><mo><</mo><mo>≉</mo></mfrac> # alternative
|
451
|
-
\gnapprox subsup o-<mfrac linethickness='0' mathsize='1%'><mo>></mo><mo>≉</mo></mfrac> # alternative
|
452
|
-
\nsim subsup
|
453
|
-
\ncong subsup
|
454
|
-
\diagup subsup o=x2571
|
455
|
-
\diagdown subsup o=x2572
|
456
|
-
\varsubsetneq subsup o:subsetneq
|
457
|
-
\varsupsetneq subsup o:supsetneq
|
458
|
-
\nsubseteqq subsup
|
459
|
-
\nsupseteqq subsup
|
460
|
-
\subsetneqq subsup
|
461
|
-
\supsetneqq subsup
|
462
|
-
\varsubsetneqq subsup o:subsetneqq # alternative
|
463
|
-
\varsupsetneqq subsup o:supsetneqq # alternative
|
464
|
-
\subsetneq subsup
|
465
|
-
\supsetneq subsup
|
466
|
-
\nsubseteq subsup
|
467
|
-
\nsupseteq subsup
|
468
|
-
\nparallel subsup
|
469
|
-
\nmid subsup
|
470
|
-
\nshortmid subsup o:nmid # alternative
|
471
|
-
\nshortparallel subsup o:nparallel # alternative
|
472
|
-
\nvdash subsup
|
473
|
-
\nVdash subsup
|
474
|
-
\nvDash subsup
|
475
|
-
\nVDash subsup
|
476
|
-
\ntrianglerighteq subsup
|
477
|
-
\ntrianglelefteq subsup
|
478
|
-
\ntriangleleft subsup
|
479
|
-
\ntriangleright subsup
|
480
|
-
\nleftarrow subsup
|
481
|
-
\nrightarrow subsup
|
482
|
-
\nLeftarrow subsup
|
483
|
-
\nRightarrow subsup
|
484
|
-
\nLeftrightarrow subsup
|
485
|
-
\nleftrightarrow subsup
|
486
|
-
\divideontimes subsup
|
487
|
-
\varnothing subsup
|
488
|
-
\nexists subsup
|
489
|
-
\Finv subsup o=x2132
|
490
|
-
\Game subsup o-G # alternative
|
491
|
-
\eth subsup
|
492
|
-
\eqsim subsup
|
493
|
-
\beth subsup
|
494
|
-
\gimel subsup
|
495
|
-
\daleth subsup
|
496
|
-
\lessdot subsup
|
497
|
-
\gtrdot subsup
|
498
|
-
\ltimes subsup
|
499
|
-
\rtimes subsup
|
500
|
-
\shortmid subsup o:mid # alternative
|
501
|
-
\shortparallel subsup
|
502
|
-
\smallsetminus subsup o:setminus # alternative
|
503
|
-
\thicksim subsup o:sim # alternative
|
504
|
-
\thickapprox subsup o:approx # alternative
|
505
|
-
\approxeq subsup
|
506
|
-
\succapprox subsup
|
507
|
-
\precapprox subsup
|
508
|
-
\curvearrowleft subsup
|
509
|
-
\curvearrowright subsup
|
510
|
-
\digamma subsup
|
511
|
-
\varkappa subsup
|
512
|
-
\Bbbk subsup i:kopf
|
513
|
-
\hslash subsup
|
514
|
-
\backepsilon subsup
|
515
|
-
\ulcorner subsup o:boxdr # alternative
|
516
|
-
\urcorner subsup o:boxdl # alternative
|
517
|
-
\llcorner subsup o:boxur # alternative
|
518
|
-
\lrcorner subsup o:boxul # alternative
|