summaryrefslogtreecommitdiff
path: root/macros/luatex/optex/base/unimath-codes.opm
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/optex/base/unimath-codes.opm')
-rw-r--r--macros/luatex/optex/base/unimath-codes.opm141
1 files changed, 63 insertions, 78 deletions
diff --git a/macros/luatex/optex/base/unimath-codes.opm b/macros/luatex/optex/base/unimath-codes.opm
index 58e4fed8c6..21a9b1caeb 100644
--- a/macros/luatex/optex/base/unimath-codes.opm
+++ b/macros/luatex/optex/base/unimath-codes.opm
@@ -1,11 +1,11 @@
-%% This is part of OpTeX project, see http://petr.olsak.net/optex
+%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_codedecl \_ncharrmA {Uni math codes <2020-11-13>} % preloaded on demand by \loadmath
\_doc -----------------------------
The control sequences for `\alpha`, `\beta` etc are redefined here.
- The `\alpha` expands to the character with unicode `"03B1`, this is normal
- character $α$. You can type it directly in your editor, if you know how
+ The `\alpha` expands to the character with Unicode `"03B1`, this is a normal
+ character $α$. You can type it directly in your editor if you know how
to do this.
\_cod -----------------------------
@@ -110,8 +110,8 @@
\_protected\_def\_inmath#1{\_relax \_ifmmode#1\_fi} % to keep off \loop processing in text mode
% You can redefine these macros to follow your wishes.
-% For example you need upgright lowercase greek letters, you don't need
-% \bf and \bi behaves as sans serif in math, ...
+% For example, you need upright lowercase greek letters, you don't need
+% \bf and \bi behave as sans serif in math, ...
\_protected\_def\_rm {\_tryloadrm \_tenrm \_inmath{\_rmvariables \_rmdigits}}
\_protected\_def\_it {\_tryloadit \_tenit \_inmath{\_itvariables}}
@@ -135,7 +135,7 @@
the file `mathclass.txt` which is copied to `mathclass.opm` The file
has the following format:
{\vitt{mathclass.opm}\verbinput (70-85) mathclass.opm }
- We have to read this information and convert it to the `\Umathcode`s.
+ We have to read this information and convert it to the `\Umathcode`s.
\_cod -----------------------------
\_begingroup % \input mathclass.opm (which is a copy of MathClass.txt):
@@ -146,7 +146,7 @@
\_loop
\_pset{\_umathnumA}{#4}%
\_ifnum\_umathnumA<"#2 \_advance\_umathnumA by1
- \_repeat
+ \_repeat
\_fi
}
\_def\_pB#1{\_if#1L1\_fi \_if#1B2\_fi \_if#1V2\_fi \_if#1R3\_fi \_if#1N0\_fi \_if#1U0\_fi
@@ -163,9 +163,9 @@
\_doc -----------------------------
Each math symbol has its declaration in the file `unicode-math-table.tex`
- which is copied to `unimath-table.opm`. The file has following format:
+ which is copied to `unimath-table.opm`. The file has the following format:
{\vitt{unimath-table.opm}\verbinput (70-85) unimath-table.opm }
- We have to read this information and convert it to the Unicode math codes.
+ We have to read this information and convert it to the Unicode math codes.
\_cod -----------------------------
\_begingroup % \input unimath-table.opm (it is a copy of unicode-math-table.tex):
@@ -185,7 +185,7 @@
\_global\_Udelcode`<=1 "027E8 % these characters have different meaning
\_global\_Udelcode`>=1 "027E9 % as normal and as delimeter
-\_mit % default math alphapbets setting
+\_mit % default math alphabets setting
\_Umathcode `- = 2 1 "2212
%\_Umathcode`: = 3 1 "3A % mathclass defines it as 6 1 "3A (punctuation)
@@ -200,14 +200,14 @@
\_def\_intwithnolimits#1#2 {\_ifx#1\_relax \_else
\_ea\_let\_csname\_csstring#1op\_endcsname=#1%
\_ea\_def\_ea #1\_ea{\_csname\_csstring#1op\_endcsname \_nolimits}%
- \_bgroup \_lccode`\~=#2 \_lowercase{\_egroup \_mathcode`~="8000 \_let ~=#1}%
+ \_bgroup \_lccode`\~=#2 \_lowercase{\_egroup \_mathcode`~="8000 \_let ~=#1}%
\_ea \_intwithnolimits \_fi
}
-\_intwithnolimits \int "0222B \iint "0222C \iiint "0222D
- \oint "0222E \oiint "0222F \oiiint "02230
- \intclockwise "02231 \varointclockwise "02232 \ointctrclockwise "02233
+\_intwithnolimits \int "0222B \iint "0222C \iiint "0222D
+ \oint "0222E \oiint "0222F \oiiint "02230
+ \intclockwise "02231 \varointclockwise "02232 \ointctrclockwise "02233
\sumint "02A0B \iiiint "02A0C \intbar "02A0D \intBar "02A0E \fint "02A0F
- \pointint "02A15 \sqint "02A16 \intlarhk "02A17 \intx "02A18
+ \pointint "02A15 \sqint "02A16 \intlarhk "02A17 \intx "02A18
\intcap "02A19 \intcup "02A1A \upint "02A1B \lowint "02A1C \_relax "0
\_protected\_def \vert {\_Udelimiter 0 1 "07C }
@@ -235,13 +235,14 @@
\_let\|=\Vert
\_mathcode`\_="8000
-\_global\_Umathcode "22EF = 0 1 "22EF % mathclass.txt says that it is Rel
+\_global\_Umathcode "22EF = 0 1 "22EF % mathclass says that it is Rel
+\_global\_Umathcode "002E = 0 1 "002E % mathclass says that dot is Punct
\_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
+ Aliases are declared here. They are names not mentioned in the `unimath-table.opm` file
but commonly used in \TeX.
\_cod -----------------------------
@@ -272,36 +273,36 @@
\_let \hksearow=\hksearrow
\_let \hkswarow=\hkswarrow
-\_let \upalpha=\mupalpha
-\_let \upbeta=\mupbeta
-\_let \upgamma=\mupgamma
-\_let \updelta=\mupdelta
-\_let \upepsilon=\mupvarepsilon
+\_let \upalpha=\mupalpha
+\_let \upbeta=\mupbeta
+\_let \upgamma=\mupgamma
+\_let \updelta=\mupdelta
+\_let \upepsilon=\mupvarepsilon
\_let \upvarepsilon=\mupvarepsilon
-\_let \upzeta=\mupzeta
-\_let \upeta=\mupeta
-\_let \uptheta=\muptheta
-\_let \upiota=\mupiota
-\_let \upkappa=\mupkappa
-\_let \uplambda=\muplambda
-\_let \upmu=\mupmu
-\_let \upnu=\mupnu
-\_let \upxi=\mupxi
-\_let \upomicron=\mupomicron
-\_let \uppi=\muppi
+\_let \upzeta=\mupzeta
+\_let \upeta=\mupeta
+\_let \uptheta=\muptheta
+\_let \upiota=\mupiota
+\_let \upkappa=\mupkappa
+\_let \uplambda=\muplambda
+\_let \upmu=\mupmu
+\_let \upnu=\mupnu
+\_let \upxi=\mupxi
+\_let \upomicron=\mupomicron
+\_let \uppi=\muppi
\_let \uprho=\muprho
-\_let \upvarrho=\mupvarrho
-\_let \upvarsigma=\mupvarsigma
-\_let \upsigma=\mupsigma
-\_let \uptau=\muptau
-\_let \upupsilon=\mupupsilon
-\_let \upvarphi=\mupvarphi
-\_let \upchi=\mupchi
-\_let \uppsi=\muppsi
-\_let \upomega=\mupomega
-\_let \upvartheta=\mupvartheta
-\_let \upphi=\mupphi
-\_let \upvarpi=\mupvarpi
+\_let \upvarrho=\mupvarrho
+\_let \upvarsigma=\mupvarsigma
+\_let \upsigma=\mupsigma
+\_let \uptau=\muptau
+\_let \upupsilon=\mupupsilon
+\_let \upvarphi=\mupvarphi
+\_let \upchi=\mupchi
+\_let \uppsi=\muppsi
+\_let \upomega=\mupomega
+\_let \upvartheta=\mupvartheta
+\_let \upphi=\mupphi
+\_let \upvarpi=\mupvarpi
\_doc -----------------------------
The \`\not` macro is redefined here. If the `\_not!<char>` is defined
@@ -316,15 +317,15 @@
}}}
\_def\_negationof #1#2{\_ea\_let \_csname _not!\_csstring#1\_endcsname =#2}
-\_negationof = \neq
-\_negationof < \nless
+\_negationof = \neq
+\_negationof < \nless
\_negationof > \ngtr
\_negationof \gets \nleftarrow
\_negationof \simeq \nsime
-\_negationof \equal \ne
-\_negationof \le \nleq
-\_negationof \ge \ngeq
-\_negationof \greater \ngtr
+\_negationof \equal \ne
+\_negationof \le \nleq
+\_negationof \ge \ngeq
+\_negationof \greater \ngtr
\_negationof \forksnot \forks
\_negationof \in \notin
\_negationof \mid \nmid
@@ -370,45 +371,29 @@
\_doc -----------------------------
Newly declared public control sequences are used in internal macros by
- \OpTeX/. We need to get new meanings of these control sequences in
- private name space.
+ \OpTeX/. We need to get new meanings for these control sequences in
+ the private namespace.
\_cod -----------------------------
-\_private
- \ldotp \cdotp \bullet \triangleleft \trianglerigt \mapstochar \rightarrow
+\_private
+ \ldotp \cdotp \bullet \triangleleft \trianglerigt \mapstochar \rightarrow
\prime \lhook \rightarrow \leftarrow \rhook \triangleright \triangleleft
\Relbar \Rightarrow \relbar \rightarrow \Leftarrow \mapstochar
\longrightarrow \Longleftrightarrow \vdots \ddots ;
\_endcode
-\secc A few observations
+\secc More Unicode-math examples
-{\bf 1.} You can combine more fonts in math, if you register them to another
-math families (5, 6, 7, etc.) in the \^`\normalmath` macro.
+Example of using additional math font is in section 5.3 in the
+\ulink[http://petr.olsak.net/ftp/olsak/optex/optex-math.pdf]{\tt optex-math.pdf} documentation
-The default value of \^`\normalmath` shows a combination of base Unicode Math
-font with 8bit Math font at family 4. See definition of the `\script` macro where
-`\fam4` is used. Of course, we need to set `\rmvariables` too, because 8bit font
-accepts only codes less than 255.
-
-\medskip\noindent{\bf 2.}
-XITSmath-bold needs correction: the norm symbol $\|x\|$ is missing here.
-So, you can define:
-
-\begtt
-\def\_boldmath{%
- \loadumathfamily 1 {[xitsmath-bold]}{} % Base font
- \loadmathfamily 4 rsfs % script
- \loadumathfamily 5 {[xitsmath-regular]}{}
- \def\|{\Udelimiter 0 5 "02016 }% % norm delimiter from family 5
- \setmathdimens
-}
-\endtt
-
-\noindent{\bf 3.} You can combine more Unicode math fonts in single formula using
+You can combine more Unicode math fonts in single formula simply
+by the `\addUmathfont` macro, see
\ulink[http://petr.olsak.net/optex/optex-tricks.html#addumathfont]{\OpTeX/ trick 0030}.
+See \url{http://tex.stackexchange.com/questions/308749}
+for technical details about Unicode-math.
\_endinput