diff options
Diffstat (limited to 'Master/texmf-dist/tex/luatex/optex/base/unimath-codes.opm')
-rw-r--r-- | Master/texmf-dist/tex/luatex/optex/base/unimath-codes.opm | 155 |
1 files changed, 104 insertions, 51 deletions
diff --git a/Master/texmf-dist/tex/luatex/optex/base/unimath-codes.opm b/Master/texmf-dist/tex/luatex/optex/base/unimath-codes.opm index d0182a0f85c..4718f0dd51d 100644 --- a/Master/texmf-dist/tex/luatex/optex/base/unimath-codes.opm +++ b/Master/texmf-dist/tex/luatex/optex/base/unimath-codes.opm @@ -1,6 +1,6 @@ %% This is part of OpTeX project, see http://petr.olsak.net/optex -\_codedecl \_ncharrmA {Uni math codes <2020-03-14>} % preloaded on demand by \loadmath +\_codedecl \_ncharrmA {Uni math codes <2020-06-13>} % preloaded on demand by \loadmath \_doc ----------------------------- The control sequences for `\alpha`, `\beta` etc are redefined here. @@ -21,7 +21,8 @@ \varrho \varpi \_relax \_doc ----------------------------- - The math alphabets are declared here using the \^`\_umathrange` macro. + The math alphabets are declared here using the + \^`\_umathrange {<range>}<class><family><starting-code>` macro. \_cod ----------------------------- \_chardef\_ncharrmA=`A \_chardef\_ncharrma=`a @@ -39,20 +40,20 @@ \_chardef\_ncharsxA="1D63C \_chardef\_ncharsxa="1D656 \_chardef\_ncharttA="1D670 \_chardef\_nchartta="1D68A -\_protected\_def\_rmvariables {\_umathrange{A-Z}\_ncharrmA \_umathrange{a-z}\_ncharrma} -\_protected\_def\_bfvariables {\_umathrange{A-Z}\_ncharbfA \_umathrange{a-z}\_ncharbfa} -\_protected\_def\_nitvariables {\_umathrange{A-Z}\_ncharitA \_umathrange{a-z}\_ncharita} -\_protected\_def\_bivariables {\_umathrange{A-Z}\_ncharbiA \_umathrange{a-z}\_ncharbia} -\_protected\_def\_calvariables {\_umathrange{A-Z}\_ncharclA \_umathrange{a-z}\_ncharcla} -\_protected\_def\_bcalvariables {\_umathrange{A-Z}\_ncharbcA \_umathrange{a-z}\_ncharbca} -\_protected\_def\_frakvariables {\_umathrange{A-Z}\_ncharfrA \_umathrange{a-z}\_ncharfra} -\_protected\_def\_bfrakvariables {\_umathrange{A-Z}\_ncharbrA \_umathrange{a-z}\_ncharbra} -\_protected\_def\_bbvariables {\_umathrange{A-Z}\_ncharbbA \_umathrange{a-z}\_ncharbba} -\_protected\_def\_sansvariables {\_umathrange{A-Z}\_ncharsnA \_umathrange{a-z}\_ncharsna} -\_protected\_def\_bsansvariables {\_umathrange{A-Z}\_ncharbsA \_umathrange{a-z}\_ncharbsa} -\_protected\_def\_isansvariables {\_umathrange{A-Z}\_ncharsiA \_umathrange{a-z}\_ncharsia} -\_protected\_def\_bisansvariables {\_umathrange{A-Z}\_ncharsxA \_umathrange{a-z}\_ncharsxa} -\_protected\_def\_ttvariables {\_umathrange{A-Z}\_ncharttA \_umathrange{a-z}\_nchartta} +\_protected\_def\_rmvariables {\_umathrange{A-Z}71\_ncharrmA \_umathrange{a-z}71\_ncharrma} +\_protected\_def\_bfvariables {\_umathrange{A-Z}71\_ncharbfA \_umathrange{a-z}71\_ncharbfa} +\_protected\_def\_itvariables {\_umathrange{A-Z}71\_ncharitA \_umathrange{a-z}71\_ncharita} +\_protected\_def\_bivariables {\_umathrange{A-Z}71\_ncharbiA \_umathrange{a-z}71\_ncharbia} +\_protected\_def\_calvariables {\_umathrange{A-Z}71\_ncharclA \_umathrange{a-z}71\_ncharcla} +\_protected\_def\_bcalvariables {\_umathrange{A-Z}71\_ncharbcA \_umathrange{a-z}71\_ncharbca} +\_protected\_def\_frakvariables {\_umathrange{A-Z}71\_ncharfrA \_umathrange{a-z}71\_ncharfra} +\_protected\_def\_bfrakvariables {\_umathrange{A-Z}71\_ncharbrA \_umathrange{a-z}71\_ncharbra} +\_protected\_def\_bbvariables {\_umathrange{A-Z}71\_ncharbbA \_umathrange{a-z}71\_ncharbba} +\_protected\_def\_sansvariables {\_umathrange{A-Z}71\_ncharsnA \_umathrange{a-z}71\_ncharsna} +\_protected\_def\_bsansvariables {\_umathrange{A-Z}71\_ncharbsA \_umathrange{a-z}71\_ncharbsa} +\_protected\_def\_isansvariables {\_umathrange{A-Z}71\_ncharsiA \_umathrange{a-z}71\_ncharsia} +\_protected\_def\_bisansvariables {\_umathrange{A-Z}71\_ncharsxA \_umathrange{a-z}71\_ncharsxa} +\_protected\_def\_ttvariables {\_umathrange{A-Z}71\_ncharttA \_umathrange{a-z}71\_nchartta} \_chardef\_greekrmA="0391 \_chardef\_greekrma="03B1 \_chardef\_greekbfA="1D6A8 \_chardef\_greekbfa="1D6C2 @@ -61,20 +62,18 @@ \_chardef\_greeksnA="1D756 \_chardef\_greeksna="1D770 \_chardef\_greeksiA="1D790 \_chardef\_greeksia="1D7AA -\_protected\_def\_nitgreek {\_umathrangeGREEK\_greekrmA \_umathrangegreek\_greekita} -\_protected\_def\_rmgreek {\_umathrangeGREEK\_greekrmA \_umathrangegreek\_greekrma} -\_protected\_def\_bfgreek {\_umathrangeGREEK\_greekbfA \_umathrangegreek\_greekbfa} -\_protected\_def\_bigreek {\_umathrangeGREEK\_greekbfA \_umathrangegreek\_greekbia} -\_protected\_def\_sansgreek {\_umathrangeGREEK\_greeksnA \_umathrangegreek\_greeksna} -\_protected\_def\_isansgreek {\_umathrangeGREEK\_greeksnA \_umathrangegreek\_greeksia} - -% Another possibility (slanted capitals in \_nitgreek, \_bigreek, \_isansgreek): -%\_protected\_def\_nitgreek {\_umathrangeGREEK\_greekitA \_umathrangegreek\_greekita} -%\_protected\_def\_rmgreek {\_umathrangeGREEK\_greekrmA \_umathrangegreek\_greekrma} -%\_protected\_def\_bfgreek {\_umathrangeGREEK\_greekbfA \_umathrangegreek\_greekbfa} -%\_protected\_def\_bigreek {\_umathrangeGREEK\_greekbiA \_umathrangegreek\_greekbia} -%\_protected\_def\_sansgreek {\_umathrangeGREEK\_greeksnA \_umathrangegreek\_greeksna} -%\_protected\_def\_isansgreek {\_umathrangeGREEK\_greeksiA \_umathrangegreek\_greeksia} +\_protected\_def\_itgreek {\_umathrangegreek71\_greekita} +\_protected\_def\_rmgreek {\_umathrangegreek71\_greekrma} +\_protected\_def\_bfgreek {\_umathrangegreek71\_greekbfa} +\_protected\_def\_bigreek {\_umathrangegreek71\_greekbia} +\_protected\_def\_bsansgreek {\_umathrangegreek71\_greeksna} +\_protected\_def\_bisansgreek{\_umathrangegreek71\_greeksia} +\_protected\_def\_itGreek {\_umathrangeGREEK71\_greekitA} +\_protected\_def\_rmGreek {\_umathrangeGREEK71\_greekrmA} +\_protected\_def\_bfGreek {\_umathrangeGREEK71\_greekbfA} +\_protected\_def\_biGreek {\_umathrangeGREEK71\_greekbiA} +\_protected\_def\_bsansGreek {\_umathrangeGREEK71\_greeksnA} +\_protected\_def\_bisansGreek{\_umathrangeGREEK71\_greeksiA} \_chardef\_digitrmO=`0 \_chardef\_digitbfO="1D7CE @@ -83,12 +82,12 @@ \_chardef\_digitbsO="1D7EC \_chardef\_digitttO="1D7F6 -\_protected\_def\_rmdigits {\_umathrange{0-9}\_digitrmO} -\_protected\_def\_bfdigits {\_umathrange{0-9}\_digitbfO} -\_protected\_def\_bbdigits {\_umathrange{0-9}\_digitbbO} -\_protected\_def\_sansdigits {\_umathrange{0-9}\_digitsnO} -\_protected\_def\_bsansdigits {\_umathrange{0-9}\_digitbsO} -\_protected\_def\_ttdigits {\_umathrange{0-9}\_digitttO} +\_protected\_def\_rmdigits {\_umathrange{0-9}71\_digitrmO} +\_protected\_def\_bfdigits {\_umathrange{0-9}71\_digitbfO} +\_protected\_def\_bbdigits {\_umathrange{0-9}71\_digitbbO} +\_protected\_def\_sansdigits {\_umathrange{0-9}71\_digitsnO} +\_protected\_def\_bsansdigits {\_umathrange{0-9}71\_digitbsO} +\_protected\_def\_ttdigits {\_umathrange{0-9}71\_digitttO} \_doc ----------------------------- The \`\cal`, \`\bbchar`, \`\frak`, \`\script` @@ -99,8 +98,10 @@ You can redefine them again if you need different behavior (for example you don't want to use sans serif bold in math). What to do: \begtt \advance\hsize by2em - \_protected\_def\_bf {\_tryloadbf\_tenbf \_inmath{\_bfvariables\_bfgreek\_bfdigits}} - \_protected\_def\_bi {\_tryloadbi\_tenbi \_inmath{\_bivariables\_bigreek\_bfdigits}} + \_protected\_def\_bf + {\_tryloadbf\_tenbf \_inmath{\_bfvariables\_bfgreek\_bfGreek\_bfdigits}} + \_protected\_def\_bi + {\_tryloadbi\_tenbi \_inmath{\_bivariables\_bigreek\_bfGreek\_bfdigits}} \_public \bf \bi ; \endtt \`\_inmath` `{<cmds>}` applies `<cmds>` only in math mode. @@ -113,18 +114,21 @@ % \bf and \bi behaves as sans serif in math, ... \_protected\_def\_rm {\_tryloadrm \_tenrm \_inmath{\_rmvariables \_rmdigits}} -\_protected\_def\_it {\_tryloadit \_tenit \_inmath{\_nitvariables}} -\_protected\_def\_bf {\_tryloadbf \_tenbf \_inmath{\_bsansvariables \_sansgreek \_bsansdigits}} -\_protected\_def\_bi {\_tryloadbi \_tenbi \_inmath{\_bisansvariables \_isansgreek \_bsansdigits}} +\_protected\_def\_it {\_tryloadit \_tenit \_inmath{\_itvariables}} +\_protected\_def\_bf + {\_tryloadbf \_tenbf \_inmath{\_bsansvariables \_bsansgreek \_bsansGreek \_bsansdigits}} +\_protected\_def\_bi + {\_tryloadbi \_tenbi \_inmath{\_bisansvariables \_bisansgreek \_bsansGreek \_bsansdigits}} \_protected\_def\_tt {\_tryloadtt \_tentt \_inmath{\_ttvariables \_ttdigits}} \_protected\_def\_bbchar {\_bbvariables \_bbdigits} \_protected\_def\_cal {\_calvariables} \_protected\_def\_frak {\_frakvariables} -\_protected\_def\_misans {\_isansvariables \_isansgreek \_sansdigits} -\_protected\_def\_mbisans {\_bisansvariables \_isansgreek \_bsansdigits} +\_protected\_def\_misans {\_isansvariables \_sansdigits} +\_protected\_def\_mbisans {\_bisansvariables \_bisansgreek \_bsansGreek \_bsansdigits} \_protected\_def\_script {\_rmvariables \_fam4 } +\_protected\_def\_mit {\_itvariables \_rmdigits \_itgreek \_rmGreek } -\_public \rm \it \bf \bi \tt \bbchar \cal \frak \misans \mbisans \script ; +\_public \rm \it \bf \bi \tt \bbchar \cal \frak \misans \mbisans \script \mit ; \_doc ----------------------------- Each Unicode slot carries information about math type. This is saved in @@ -181,7 +185,7 @@ \_global\_Udelcode`<=1 "027E8 % these characters have different meaning \_global\_Udelcode`>=1 "027E9 % as normal and as delimeter -\_nitgreek \_nitvariables \_rmdigits % default setting +\_mit % default math alphapbets setting \_Umathcode `- = 2 1 "2212 %\_Umathcode`: = 3 1 "3A % mathclass defines it as 6 1 "3A (punctuation) @@ -231,6 +235,11 @@ \_let\|=\Vert \_mathcode`\_="8000 +\_global\_Umathcode "22EF = 0 1 "22EF % mathclass.txt says that it is Rel +\_global\_Umathchardef \unicodecdots = 0 1 "22EF + +\_global\_Umathcode `/ = 0 1 `/ % mathclass says that / is Bin, Plain TeX says that it is Ord. + \_doc ----------------------------- Aliases are declared here. They are names not menitioned in the `unimath-table.opm` file but commonly used in \TeX. @@ -254,7 +263,7 @@ \_let \gets=\leftarrow \_let \mathring=\ocirc \_let \lnot=\neg -\_let \longdivision=\longdivisionsign +\_let \longdivisionsign=\longdivision \_let \backepsilon=\upbackepsilon \_let \eth=\matheth \_let \dbkarow=\dbkarrow @@ -294,15 +303,18 @@ \_let \upvarpi=\mupvarpi \_doc ----------------------------- - The \^`\not` macro is redefined here. + The \`\not` macro is redefined here. If the `\_not!<char>` is defined + (by \`\_negationof`) + then this macro is used. Else centered / is printed over the <char>. \_cod ----------------------------- \_protected\_def\_not#1{% - \_ifcsname _not!\_csstring#1\_endcsname \_csname _not!\_csstring#1\_endcsname - \_else \_mathrel{\_mathord{\_rlap{\_kern1pt/}}\_mathord{#1}}% - \_fi -} + \_trycs{_not!\_csstring#1}{\_mathrel\_mathstyles{% + \_setbox0=\_hbox{\_math$\_currstyle#1$}% + \_hbox to\_wd0{\_hss$\_currstyle/$\_hss}\_kern-\_wd0 \_box0 +}}} \_def\_negationof #1#2{\_ea\_let \_csname _not!\_csstring#1\_endcsname =#2} + \_negationof = \neq \_negationof < \nless \_negationof > \ngtr @@ -314,6 +326,44 @@ \_negationof \greater \ngtr \_negationof \forksnot \forks \_negationof \in \notin +\_negationof \mid \nmid +\_negationof \cong \ncong +\_negationof \leftarrow \nleftarrow +\_negationof \rightarrow \nrightarrow +\_negationof \leftrightarrow \nleftrightarrow +\_negationof \Leftarrow \nLeftarrow +\_negationof \Leftrightarrow \nLeftrightarrow +\_negationof \Rightarrow \nRightarrow +\_negationof \exists \nexists +\_negationof \ni \nni +\_negationof \paralel \nparalel +\_negationof \sim \nsim +\_negationof \approx \napprox +\_negationof \equiv \nequiv +\_negationof \asymp \nasymp +\_negationof \lesssim \nlesssim +\_negationof \ngtrsim \ngtrsim +\_negationof \lessgtr \nlessgtr +\_negationof \gtrless \ngtrless +\_negationof \prec \nprec +\_negationof \succ \nsucc +\_negationof \subset \nsubset +\_negationof \supset \nsupset +\_negationof \subseteq \nsubseteq +\_negationof \supseteq \nsupseteq +\_negationof \vdash \nvdash +\_negationof \vDash \nvDash +\_negationof \Vdash \nVdash +\_negationof \VDash \nVDash +\_negationof \preccurlyeq \npreccurlyeq +\_negationof \succcurlyeq \nsucccurlyeq +\_negationof \sqsubseteq \nsqsubseteq +\_negationof \sqsupseteq \nsqsupseteq +\_negationof \vartriangleleft \nvartriangleleft +\_negationof \vartriangleright \nvartriangleright +\_negationof \trianglelefteq \ntrianglelefteq +\_negationof \trianglerighteq \ntrianglerighteq +\_negationof \vinfty \nvinfty \_public \not ; @@ -357,5 +407,8 @@ can define: \_endinput History: +2020-06-13 Umathcode of / declared asi iin Plain TeX +2020-06-07 \_itgreek \_itGreek, \_rmgreek \_rmGreek etc. introduced, names changed +2020-06-03 \not\mid = \nmid added, \not corrected 2020-04-30 Bug fix: \phi, \varpi etc. were bad encoded 2020-04-09 Bug fix: \Udelcode`<, \Udelcode`> added |