Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion crates/mitex/tests/cvt/left_right.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ fn base() {
assert_snapshot!(convert_math(r#"\left.a\right."#).unwrap(), @"lr( a )");
assert_snapshot!(convert_math(r#"\left. \right] ,"#).unwrap(), @r###"lr( \] ) \,"###);
assert_snapshot!(convert_math(r#"\left . a \right \|"#).unwrap(), @"lr( a || )");
assert_snapshot!(convert_math(r#"\left\langle a\right\|"#).unwrap(), @"lr(angle.l a || )");
assert_snapshot!(convert_math(r#"\left\langle a\right\|"#).unwrap(), @"lr(chevron.l a || )");
// Note: this is an invalid expression
// Error handling
assert_snapshot!(convert_math(r#"\left{.}a\right{.}"#).unwrap_err(), @r###"error: error unexpected: "}""###);
Expand Down
2 changes: 1 addition & 1 deletion crates/mitex/tests/cvt/misc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ fn test_convert_lr() {
);
assert_snapshot!(convert_math(r#"$\left . a \right \|$"#).unwrap(), @"lr( a || )"
);
assert_snapshot!(convert_math(r#"$\left\langle a\right\|$"#).unwrap(), @"lr(angle.l a || )"
assert_snapshot!(convert_math(r#"$\left\langle a\right\|$"#).unwrap(), @"lr(chevron.l a || )"
);
assert_snapshot!(convert_math(r#"$\left\lbrack\lbrack x\rbrack\right\rbrack$"#).unwrap(), @"lr(bracket.l bracket.l x bracket.r bracket.r )"
);
Expand Down
79 changes: 44 additions & 35 deletions packages/mitex/specs/latex/standard.typ
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,10 @@
Bbb: define-cmd(1, alias: "bb"),
mathbb: define-cmd(1, alias: "bb"),
mathcal: define-cmd(1, alias: "cal"),
mathscr: define-cmd(1, handle: it => {
let s = get-tex-str(it)
s.clusters().map(x => $scr(#x)$).join()
}),
mathbin: define-cmd(1, handle: it => math.class("binary", it)),
mathclose: define-cmd(1, handle: it => math.class("closing", it)),
mathinner: define-cmd(1, handle: it => math.class("fence", it)),
Expand Down Expand Up @@ -385,14 +389,14 @@
cdotp: define-sym("dot.c"),
sdot: define-sym("dot.c"),
times: define-sym("times"),
oplus: define-sym("plus.circle"),
ominus: define-sym("minus.circle"),
oplus: define-sym("plus.o"),
ominus: define-sym("minus.o"),
pm: define-sym("plus.minus"),
plusmn: define-sym("plus.minus"),
mp: define-sym("minus.plus"),
div: define-sym("div"),
star: define-sym("star"),
cap: define-sym("sect"),
cap: define-sym("inter"),
cup: define-sym("union"),
"in": define-sym("in"),
isin: define-sym("in"),
Expand Down Expand Up @@ -444,24 +448,24 @@
rbrack: define-sym("bracket.r"),
lgroup: define-sym("⟮"),
rgroup: define-sym("⟯"),
llbracket: define-sym("bracket.l.double"),
rrbracket: define-sym("bracket.r.double"),
llbracket: define-sym("bracket.stroked.l"),
rrbracket: define-sym("bracket.stroked.r"),
angle: define-sym("angle"),
lang: define-sym("angle.l"),
rang: define-sym("angle.r"),
langle: define-sym("angle.l"),
rangle: define-sym("angle.r"),
lang: define-sym("chevron.l"),
rang: define-sym("chevron.r"),
langle: define-sym("chevron.l"),
rangle: define-sym("chevron.r"),
measuredangle: define-sym("angle.arc"),
sphericalangle: define-sym("angle.spheric"),
ast: define-sym("ast"),
checkmark: define-sym("checkmark"),
circledast: define-sym("ast.circle"),
circledast: define-sym("convolve.o"),
backslash: define-sym("backslash"),
dagger: define-sym("dagger"),
ddagger: define-sym("dagger.double"),
circleddash: define-sym("dash.circle"),
odot: define-sym("dot.circle"),
bigodot: define-sym("dot.circle.big"),
circleddash: define-sym("dash.o"),
odot: define-sym("dot.o"),
bigodot: define-sym("dot.o.big"),
boxdot: define-sym("dot.square"),
dots: define-sym("dots.h"),
cdots: define-sym("dots.h.c"),
Expand All @@ -482,13 +486,13 @@
backsim: define-sym("tilde.rev"),
prime: define-sym("prime"),
backprime: define-sym("prime.rev"),
bigoplus: define-sym("plus.circle.big"),
bigoplus: define-sym("plus.o.big"),
dotplus: define-sym("plus.dot"),
boxplus: define-sym("plus.square"),
boxminus: define-sym("minus.square"),
eqsim: define-sym("minus.tilde"),
otimes: define-sym("times.circle"),
bigotimes: define-sym("times.circle.big"),
otimes: define-sym("times.o"),
bigotimes: define-sym("times.o.big"),
divideontimes: define-sym("times.div"),
leftthreetimes: define-sym("times.three.l"),
rightthreetimes: define-sym("times.three.r"),
Expand All @@ -502,8 +506,10 @@
gg: define-sym("gt.double"),
gtreqless: define-sym("gt.eq.lt"),
gtreqqless: define-sym("⪌"),
gtrapprox: define-sym("gt.approx"),
ngeq: define-sym("gt.eq.not"),
geqq: define-sym("gt.equiv"),
ngeqq: of-sym(math.cancel(angle: 20deg, "\u{2267}")),
gtrless: define-sym("gt.lt"),
gneqq: define-sym("gt.nequiv"),
ngtr: define-sym("gt.not"),
Expand All @@ -518,7 +524,9 @@
ll: define-sym("lt.double"),
lesseqgtr: define-sym("lt.eq.gt"),
nleq: define-sym("lt.eq.not"),
nleqslant: of-sym(math.cancel(angle: 20deg, length: 1em, math.lt.eq.slant)),
leqq: define-sym("lt.equiv"),
nleqq: of-sym(math.cancel(angle: 20deg, "\u{2266}")),
lessgtr: define-sym("lt.gt"),
lneqq: define-sym("lt.nequiv"),
nless: define-sym("lt.not"),
Expand Down Expand Up @@ -565,12 +573,14 @@
notni: define-sym("in.rev.not"),
Subset: define-sym("subset.double"),
nsubseteq: define-sym("subset.eq.not"),
nsubseteqq: of-sym(math.cancel(angle: 20deg, length: 1em, "\u{2AC5}")),
sqsubseteq: define-sym("subset.eq.sq"),
subsetneq: define-sym("subset.neq"),
supset: define-sym("supset"),
Supset: define-sym("supset.double"),
supseteq: define-sym("supset.eq"),
nsupseteq: define-sym("supset.eq.not"),
nsupseteqq: of-sym(math.cancel(angle: 20deg, length: 1em, "\u{2AC6}")),
sqsupseteq: define-sym("supset.eq.sq"),
supsetneq: define-sym("supset.neq"),
bigcup: define-sym("union.big"),
Expand All @@ -579,10 +589,10 @@
biguplus: define-sym("union.plus.big"),
sqcup: define-sym("union.sq"),
bigsqcup: define-sym("union.sq.big"),
bigcap: define-sym("sect.big"),
Cap: define-sym("sect.double"),
sqcap: define-sym("sect.sq"),
partial: define-sym("diff"),
bigcap: define-sym("inter.big"),
Cap: define-sym("inter.double"),
sqcap: define-sym("inter.sq"),
partial: define-sym("partial"),
nabla: define-sym("nabla"),
coprod: define-sym("product.co"),
forall: define-sym("forall"),
Expand Down Expand Up @@ -620,7 +630,7 @@
spadesuit: define-sym("suit.spade"),
bull: define-sym("bullet"),
bullet: define-sym("bullet"),
circledcirc: define-sym("circle.nested"),
circledcirc: define-sym("compose.o"),
rhd: define-sym("triangle.stroked.r"),
lhd: define-sym("triangle.stroked.l"),
triangle: define-sym("triangle.stroked.t"),
Expand Down Expand Up @@ -693,8 +703,8 @@
vDash: define-sym("tack.r.double"),
nvDash: define-sym("tack.r.double.not"),
dashv: define-sym("tack.l"),
hbar: define-sym("planck.reduce"),
hslash: define-sym("planck.reduce"),
hbar: define-sym("planck"),
hslash: define-sym("planck"),
Re: define-sym("Re"),
Im: define-sym("Im"),
AA: define-sym("circle(A)"),
Expand Down Expand Up @@ -755,9 +765,9 @@
barwedge: define-sym("⊼"),
beth: define-sym("beth"),
between: define-sym("≬"),
bigdot: define-sym("dot.circle.big"),
bigplus: define-sym("plus.circle.big"),
bigtimes: define-sym("times.circle.big"),
bigdot: define-sym("dot.o.big"),
bigplus: define-sym("plus.o.big"),
bigtimes: define-sym("times.o.big"),
blacktriangle: define-sym("triangle.filled.t"),
blacktriangledown: define-sym("triangle.filled.b"),
blacktriangleleft: define-sym("triangle.filled.l"),
Expand Down Expand Up @@ -800,7 +810,7 @@
diagup: define-sym("╱"),
doteqdot: define-sym("≑"),
doublebarwedge: define-sym("⩞"),
doublecap: define-sym("sect.double"),
doublecap: define-sym("inter.double"),
doublecup: define-sym("union.double"),
eqcirc: define-sym("≖"),
Eqcolon: define-sym("−::"),
Expand Down Expand Up @@ -834,15 +844,14 @@
llcorner: define-sym("⌞"),
llless: define-sym("<<<"),
lnapprox: define-sym("⪉"),
gtrapprox: define-sym("⪆"),
lneq: define-sym("⪇"),
lrcorner: define-sym("⌟"),
lq: define-sym("quote.l.single"),
Lsh: define-sym("↰"),
maltese: define-sym("maltese"),
mathellipsis: define-sym("..."),
mathsterling: define-sym("pound"),
mho: define-sym("ohm.inv"),
mho: define-sym("Omega.inv"),
minuscolon: define-sym("dash.colon"),
minuscoloncolon: define-sym("−::"),
minuso: define-sym("⦵"),
Expand Down Expand Up @@ -973,12 +982,12 @@
pod: define-cmd(1, handle: it => $quad (it)$),
"set": define-cmd(1, handle: it => $\{it\}$),
Set: define-cmd(1, handle: it => $lr(\{it\})$),
bra: define-cmd(1, handle: it => $angle.l it|$),
Bra: define-cmd(1, handle: it => $lr(angle.l it|)$),
ket: define-cmd(1, handle: it => $|it angle.r$),
Ket: define-cmd(1, handle: it => $lr(|it angle.r)$),
braket: define-cmd(1, handle: it => $angle.l it angle.r$),
Braket: define-cmd(1, handle: it => $lr(angle.l it angle.r)$),
bra: define-cmd(1, handle: it => $chevron.l it|$),
Bra: define-cmd(1, handle: it => $lr(chevron.l it|)$),
ket: define-cmd(1, handle: it => $|it chevron.r$),
Ket: define-cmd(1, handle: it => $lr(|it chevron.r)$),
braket: define-cmd(1, handle: it => $chevron.l it chevron.r$),
Braket: define-cmd(1, handle: it => $lr(chevron.l it chevron.r)$),
fbox: define-cmd(1, handle: it => box(stroke: 0.5pt, $it$)),
hbox: define-cmd(1, handle: it => it),
// Matrices
Expand Down
Loading