summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-06-30 22:36:26 +0000
committerKarl Berry <karl@freefriends.org>2014-06-30 22:36:26 +0000
commit96269d837dc550d7b3276e44afcfc7a4b42b5259 (patch)
treeca32177b0e84c7f5070bb04e53f2e19d67eb8806
parente7e2042fdd29c3b51aead77e94b84713768c238a (diff)
unicode-math (29jun14)
git-svn-id: svn://tug.org/texlive/trunk@34490 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/README9
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math-testsuite.pdfbin2587827 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdfbin370807 -> 426647 bytes
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdfbin1485026 -> 1261494 bytes
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/Makefile514
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-active-sscripts.ltx13
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-alph-spaces.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-arrow-accents.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-french.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-iso.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-literal.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-tex.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-upright.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathversion.ltx13
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-nolimits-spec.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under-2.ltx17
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under.ltx15
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-pkg-url.ltx18
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-1.ltx18
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-2.ltx23
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-back.ltx18
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-query-mathstyle.ltx26
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-range-prime-check.ltx17
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-slash-delim-2.ltx26
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt-n.ltx6
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/F-sscript-features.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L-sscale-dimen.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L600a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L600b.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L600c.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L600f.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L601a.ltx26
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L601b.ltx28
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L601f.ltx28
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L602b.ltx36
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L603b.ltx45
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L604a.ltx13
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L604b.ltx15
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L650a.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/L650b.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X002a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X002b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X002c.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X002d.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X002e.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003c.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003d.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003e.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003f.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003g.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003h.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003i.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003j.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003k.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003l.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003m.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003n.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003o.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X003p.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X004a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X004b.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X004c.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X004d.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X004e.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X004f.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005c.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005d.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005e.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005f.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005g.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005h.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005i.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005j.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005k.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X005l.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X010a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X010b.ltx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X010c.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X010d.ltx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X011a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X011b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X012a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X012b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X013a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X013b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X013c.ltx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X013d.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X013e.ltx6
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X014a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X014b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X014c.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X015a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X015b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X016a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X016b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X016c.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X017a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X017b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X017c.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X017d.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X018a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X018b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X019a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X019b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X020a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X020b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X021a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X021b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X030a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X031a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X031b.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X031c.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X032a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X032b.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X032c.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X033a.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X100a.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X100b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X100c.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X100d.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X100e.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X101a.ltx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X102a.ltx13
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X150a.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X151a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X202a.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X202b.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X203a.ltx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X206a.ltx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X206b.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X206c.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X207a.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X401a.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X500a.ltx14
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X501a.ltx13
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X501b.ltx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X501d.ltx14
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X501e.ltx26
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X502a.ltx21
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X502b.ltx20
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X503a.ltx22
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X600a.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X600b.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X600c.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X600d.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X600f.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X601a.ltx26
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X601b.ltx28
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X601f.ltx28
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X604a.ltx13
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X604b.ltx15
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X610f.ltx9
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X620b.ltx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X650a.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/X650b.ltx12
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-preamble.tex70
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-F.tex22
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-L.tex14
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-X.tex119
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unicode-math-testsuite.ltx53
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx2908
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx32
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty2467
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex26
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty2540
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua57
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty58
172 files changed, 4719 insertions, 5971 deletions
diff --git a/Master/texmf-dist/doc/latex/unicode-math/README b/Master/texmf-dist/doc/latex/unicode-math/README
index d1562647433..b0b1df18a7d 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/README
+++ b/Master/texmf-dist/doc/latex/unicode-math/README
@@ -153,9 +153,16 @@ standard behaviour.
CHANGE HISTORY
--------------
+- v0.7e (2014/06/30)
+
+ * No longer assume fixltx2e has been loaded.
+ * Some ascii math symbols have been renamed with a \math... prefix, such as \mathquestion.
+ * Assume latest luaotfload is being used; no need for a separate unicode-math.lua script.
+ * Assorted typos and minor bugs.
+
- v0.7e (2013/05/04)
- * Changes for luaotfload updates for TeX Live 2013.
+ * Track luaotfload updates.
- v0.7d (2013/03/16)
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-testsuite.pdf b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-testsuite.pdf
deleted file mode 100644
index 244b466d45d..00000000000
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-testsuite.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
index 2640c722778..1f1c06346e8 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
+++ b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
index d2fa6988288..6a97c7b9ca2 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
+++ b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/unicode-math/Makefile b/Master/texmf-dist/source/latex/unicode-math/Makefile
deleted file mode 100644
index 74bec7e2f19..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/Makefile
+++ /dev/null
@@ -1,514 +0,0 @@
-
-#### MAKEFILE CONFIG ####
-
-SHELL = /bin/sh
-.SILENT:
-.SUFFIXES:
-
-#### BEGIN ####
-
-help:
- echo 'UNICODE-MATH makefile targets:'
- echo ' '
- echo ' help - (this message)'
- echo ' ctan - generate archive for CTAN'
- echo ' doc - compile documentation inside build/'
- echo ' clean - remove build directory and compiled files'
- echo ' all - clean & doc & ctan'
- echo ' '
- echo ' install - install the package into your home texmf tree'
- echo ' install-sys - install the package into the system-wide texmf tree'
- echo ' (may require administration privileges)'
- echo ' install TEXMF=<texmf> - install the package into the path <texmf>'
- echo ' '
- echo ' check - run the test suite'
- echo ' initest - initialise any new tests'
- echo ' '
- echo ' xfile F=<abc> - compile file <abc> with XeLaTeX'
- echo ' lfile F=<abc> - compile file <abc> with LuaLaTeX'
- echo ' '
- echo ' '
- echo 'Append `hometree=none` to any of the above to disable searching
- echo 'the home texmf directory.'
- echo ' '
- echo 'To add a new test, add a file called X****.ltx to'
- echo 'directory testfiles/, run `make initest` and ensure'
- echo 'that the output X****.safe.pdf is correct.'
- echo ' '
- echo '`make test` will then compare future compilations of the'
- echo 'test file against this original and warn against any changes.'
- echo '`make build/X****.diff.pdf` will check a single test.'
- echo ' '
- echo 'I recommend `make -j4 check` or thereabouts to parallelise'
- echo 'the testing.'
-
-
-
-#### SETUP ####
-
-# file and folder names:
-
-PKG = unicode-math
-TBL = $(PKG)-table.tex
-SUITE = $(PKG)-testsuite
-XMPL = unimath-example.ltx
-SYM = unimath-symbols
-
-COPY = cp -a
-MKTEXLSR = mktexlsr
-
-testdir=testfiles
-builddir=build
-tds=$(builddir)/$(PKG).tds
-
-UPDATE = `which dtx-update` || true # TODO: generalise
-SPEAKFAIL := say 'Test failed!' || true # Mac OS X only?
-
-hometree = `kpsewhich -var-value=TEXMFHOME`
-
-# these files end up in the CTAN directory:
-
-PKGSOURCE = $(PKG).dtx $(TBL) Makefile
-DOC = $(PKG).pdf $(SUITE).pdf README $(XMPL) $(SYM).pdf
-CTANFILES = $(PKGSOURCE) $(XMPL) $(SYM).ltx $(DOC) $(testdir)
-BUILDCTAN = $(addprefix $(builddir)/,$(CTANFILES))
-BUILDDOC = $(addprefix $(builddir)/,$(DOC))
-
-#
-
-LTXSOURCE = $(PKG).sty $(PKG)-xetex.sty $(PKG)-luatex.sty $(PKG).lua $(TBL)
-
-# and this is how the TDS zip file is produced:
-
-INSFILES = \
- $(tds)/tex/latex/$(PKG)/unicode-math.sty \
- $(tds)/tex/latex/$(PKG)/unicode-math-xetex.sty \
- $(tds)/tex/latex/$(PKG)/unicode-math-luatex.sty \
- $(tds)/tex/latex/$(PKG)/unicode-math.lua \
- $(tds)/tex/latex/$(PKG)/unicode-math-table.tex
-
-OTHERFILES = \
- $(tds)/source/latex/$(PKG)/$(PKG).dtx \
- $(tds)/source/latex/$(PKG)/$(SUITE).ltx \
- $(tds)/source/latex/$(PKG)/$(SYM).ltx \
- $(tds)/source/latex/$(PKG)/Makefile \
- $(tds)/source/latex/$(PKG)/$(testdir) \
- $(tds)/doc/latex/$(PKG)/unicode-math.pdf \
- $(tds)/doc/latex/$(PKG)/unicode-math-testsuite.pdf \
- $(tds)/doc/latex/$(PKG)/README \
- $(tds)/doc/latex/$(PKG)/$(XMPL) \
- $(tds)/doc/latex/$(PKG)/$(SYM).pdf \
-
-TDSFILES = $(INSFILES) $(OTHERFILES)
-
-
-#### BASICS ####
-
-doc: $(BUILDDOC)
-
-README:
-
-$(XMPL):
-
-clean:
- rm -rf $(builddir)/*
- rm -f $(PKG).zip $(PKG).pdf $(SUITE).pdf
-
-all: clean doc ctan
-
-#### BUILD FILES
-
-$(builddir)/$(PKG).dtx: $(PKG).dtx
- mkdir -p $(builddir)
- $(UPDATE)
- $(COPY) $< $@
-
-$(builddir)/$(PKG).sty: $(builddir)/$(PKG).dtx
- echo "Updating $@"
- cd $(builddir) && \
- tex $(PKG).dtx > /dev/null ;
-
-$(builddir)/$(PKG).lua: $(builddir)/$(PKG).dtx
- echo "Updating $@"
- cd $(builddir) && \
- tex $(PKG).dtx > /dev/null ;
-
-$(builddir)/$(PKG).pdf: $(builddir)/$(PKG).dtx $(BUILDSOURCE)
- cd $(builddir) && \
- $(run_xelatex) $(PKG).dtx && \
- makeindex -s gind.ist $(PKG) && \
- $(run_xelatex) $(PKG).dtx;
-
-$(builddir)/$(SYM).pdf: $(builddir)/$(SYM).ltx
- cd $(builddir) && \
- $(run_xelatex) $(SYM).ltx && \
- $(run_xelatex) $(SYM).ltx;
-
-$(builddir)/%.ltx: $(testdir)/%.ltx
- $(COPY) $< $@
-
-$(builddir)/%.tex: $(testdir)/%.tex
- $(COPY) $< $@
-
-$(builddir)/$(testdir): $(testdir)
- $(COPY) $< $@
-
-$(builddir)/%: %
- $(COPY) $< $@
-
-$(builddir)/README: $(builddir)/README.markdown
- mv -f $< $@
-
-
-##### CTAN INSTALLATION #####
-
-TDS = $(builddir)/$(PKG).tds.zip
-
-tds: $(TDS)
-
-$(TDS): $(tds)/$(PKG).tds.zip
- $(COPY) $< $@
-
-$(tds)/$(PKG).tds.zip: $(TDSFILES)
- cd $(tds); \
- zip -r $(PKG).tds.zip ./* -x *.DS_Store -x *.safe.pdf *.ignore.pdf
-
-ctan: $(BUILDCTAN) tds
- cd $(builddir); \
- zip -r \
- ../$(PKG).zip $(CTANFILES) $(PKG).tds.zip \
- -x *.DS_Store -x *.safe.pdf *.ignore.pdf
-
-$(tds)/doc/latex/$(PKG)/% \
-$(tds)/tex/latex/$(PKG)/% \
-$(tds)/source/latex/$(PKG)/% : $(builddir)/%
- mkdir -p $(shell dirname $@)
- $(COPY) $< $@
-
-$(tds)/source/latex/$(PKG)/$(testdir):
- $(COPY) $(testdir) $(tds)/source/latex/$(PKG)/
-
-##### LOCAL TEXMF INSTALLATION #####
-
-TEXMFHOME=$(shell kpsewhich --var-value TEXMFHOME)
-TEXMFLOCAL=$(shell kpsewhich --var-value TEXMFLOCAL)
-
-install: $(INSFILES)
- if test -n "$(TEXMFHOME)" ; then \
- echo "Installing in '$(TEXMFHOME)'."; \
- $(COPY) $(tds)/* $(TEXMFHOME) && $(MKTEXLSR); \
- else \
- echo "Cannot locate your home texmf tree. Specify manually with\n\n make install TEXMFHOME=/path/to/texmf\n" ; \
- false ; \
- fi ;
-
-install-sys: $(INSFILES)
- if test -n "$(TEXMFLOCAL)" ; then \
- echo "Installing in '$(TEXMFLOCAL)'."; \
- $(COPY) $(tds)/* $(TEXMFLOCAL) && $(MKTEXLSR); \
- else \
- echo "Cannot locate your system-wide local texmf tree. Specify manually with\n\n make install TEXMFLOCAL=/path/to/texmf\n" ; \
- false ; \
- fi ;
-
-
-run_xelatex = export TEXMFHOME=$(hometree) && xelatex
-run_lualatex = export TEXMFHOME=$(hometree) && lualatex
-
-##### USEFUL FOR TEST FILES #####
-
-xfile: $(F) $(BUILDSOURCE)
- if test -z "$(F)" ; then \
- echo "Typesetting test.tex:"; \
- $(COPY) test.tex $(builddir)/test.tex; \
- cd $(builddir); $(run_xelatex) test.tex; \
- else \
- echo Typesetting $(F):; \
- $(COPY) $(F) $(builddir)/$(F); \
- cd $(builddir); $(run_xelatex) $(F); \
- fi
-
-lfile: $(F) $(BUILDSOURCE)
- if test -z "$(F)" ; then \
- echo "Typesetting test.tex:"; \
- $(COPY) test.tex $(builddir)/test.tex; \
- cd $(builddir); $(run_lualatex) test.tex; \
- else \
- echo Typesetting $(F):; \
- $(COPY) $(F) $(builddir)/$(F); \
- cd $(builddir); $(run_lualatex) $(F); \
- fi
-
-
-#############
-# TESTSUITE #
-#############
-
-#### Needed to compile and make stuff ####
-
-builddir=build
-testdir=testfiles
-lprefix=L
-xprefix=X
-both=F
-NAME=unicode-math
-
-COPY = cp -a
-MOVE = mv -f
-COMPARE_OPTS = -density 300x300 -metric ae -fuzz 35%
-
-# Redefine this to print output if you need:
-REDIRECT = > /dev/null
-
-LTXSOURCE = $(NAME).sty $(NAME)-xetex.sty $(NAME)-luatex.sty $(NAME).lua
-
-TESTLIST = umtest-suite-X.tex umtest-suite-L.tex umtest-suite-F.tex
-
-SUITESOURCE = $(addprefix $(testdir)/,umtest-preamble.tex $(TESTLIST))
-
-TESTOUT = $(wildcard $(testdir)/*.safe.pdf)
-BUILDTESTSRC = $(subst $(testdir)/,$(builddir)/,$(subst .safe.pdf,.ltx,$(TESTOUT)))
-
-BUILDTESTTARGET1 = $(TESTOUT)
-BUILDTESTTARGET2 = $(subst $(testdir)/,$(builddir)/,$(BUILDTESTTARGET1))
-BUILDTESTTARGET3 = $(subst .Xsafe.pdf,-X.diff.pdf,$(BUILDTESTTARGET2))
-BUILDTESTTARGET4 = $(subst .Lsafe.pdf,-L.diff.pdf,$(BUILDTESTTARGET3))
-BUILDTESTTARGET5 = $(subst .safe.pdf,.diff.pdf,$(BUILDTESTTARGET4))
-BUILDTESTTARGET = $(BUILDTESTTARGET5)
-
-BUILDSOURCE = $(addprefix $(builddir)/,$(LTXSOURCE))
-BUILDSUITE = $(subst $(testdir)/,$(builddir)/,$(SUITESOURCE))
-
-BUILDFILES = $(BUILDSOURCE) $(BUILDSUITE) $(BUILDTESTSRC) $(BUILDTESTTARGET)
-
-# Test suite PDF
-
-$(builddir)/$(SUITE).pdf: $(builddir)/$(SUITE).ltx $(BUILDSUITE)
- cd $(builddir) && \
- $(run_xelatex) $(SUITE).ltx
-
-
-#### All tests ####
-
-check: $(TESTLIST)
-
-$(TESTLIST): $(BUILDFILES)
- cd $(testdir) && \
- ls X*.safe.pdf | sed -e 's/\(.*\).safe.pdf/\\inserttest{\1}/g' > umtest-suite-X.tex && \
- ls L*.safe.pdf | sed -e 's/\(.*\).safe.pdf/\\inserttest{\1}/g' > umtest-suite-L.tex && \
- ls F*-L.safe.pdf | sed -e 's/\(.*\).safe.pdf/\\inserttest{\1}/g' > umtest-suite-F.tex;
-
-$(builddir)/%: $(testdir)/%
- @mkdir -p $(builddir); \
- $(COPY) $< $@
-
-$(builddir)/%: %
- @mkdir -p $(builddir); \
- $(COPY) -f $< $@
-
-
-#### Generating new tests ####
-
-lonelystub = $(shell cd $(testdir); ls | egrep '[XL].(.*\.ltx)$$|[XL].(.*\.safe\.pdf)$$' | cut -d . -f 1 | uniq -u )
-lonelyfile = $(addsuffix .safe.pdf,$(lonelystub))
-lonelypath = $(addprefix $(testdir)/,$(lonelyfile))
-lonelytest = $(addprefix $(builddir)/,$(addsuffix .pdf,$(lonelystub)))
-
-Xlonelystub = $(shell cd $(testdir); ls | egrep -o '(F.*\.ltx)$$|(F.*-X\.safe\.pdf)$$' | sed -e s/-X.safe.pdf// -e s/.ltx// | uniq -u | uniq )
-Xlonelyfile = $(addsuffix -X.safe.pdf,$(Xlonelystub))
-Xlonelypath = $(addprefix $(testdir)/,$(Xlonelyfile))
-Xlonelytest = $(addprefix $(builddir)/,$(addsuffix -X.pdf,$(Xlonelystub)))
-
-Llonelystub = $(shell cd $(testdir); ls | egrep -o '(F.*\.ltx)$$|(F.*-L\.safe\.pdf)$$' | sed -e s/-L.safe.pdf// -e s/.ltx// | uniq -u | uniq )
-Llonelyfile = $(addsuffix -L.safe.pdf,$(Llonelystub))
-Llonelypath = $(addprefix $(testdir)/,$(Llonelyfile))
-Llonelytest = $(addprefix $(builddir)/,$(addsuffix -L.pdf,$(Llonelystub)))
-
-initest: $(lonelypath) $(Xlonelypath) $(Llonelypath)
-
-$(lonelypath): $(lonelytest)
- $(COPY) `echo $@ | sed -e s/$(testdir)/$(builddir)/ -e s/.safe.pdf/.pdf/` $@
-
-$(Xlonelypath): $(Xlonelytest)
- $(COPY) `echo $@ | sed -e s/$(testdir)/$(builddir)/ -e s/-X.safe.pdf/-X.pdf/` $@
-
-$(Llonelypath): $(Llonelytest)
- $(COPY) `echo $@ | sed -e s/$(testdir)/$(builddir)/ -e s/-L.safe.pdf/-L.pdf/` $@
-
-
-#### TESTS FOR BOTH ENGINES ####
-
-$(builddir)/F%-L.diff.pdf: $(builddir)/F%-L.pdf
- @echo 'F$*: Comparing PDF from LuaLaTeX against reference output.'
- compare_result="$$(compare "$(builddir)/F$*-L.pdf" "$(testdir)/F$*-L.safe.pdf" $(COMPARE_OPTS) "$(builddir)/F$*-L.diff.pdf" 2>&1)" ; \
- if [ 0 -eq "$$?" -a 1 -ge "$$compare_result" ] ; \
- then \
- echo 'F$*: Test passed.' ; \
- else \
- echo 'F$*: Test failed.' ; \
- $(SPEAKFAIL) ; \
- false ; \
- fi
-
-$(builddir)/F%-X.diff.pdf: $(builddir)/F%-X.pdf
- @echo 'F$*: Comparing PDF from XeLaTeX against reference output.'
- compare_result="$$(compare "$(builddir)/F$*-X.pdf" "$(testdir)/F$*-X.safe.pdf" $(COMPARE_OPTS) "$(builddir)/F$*-X.diff.pdf" 2>&1)" ; \
- if [ 0 -eq "$$?" -a 1 -ge "$$compare_result" ] ; \
- then \
- echo 'F$*: Test passed.' ; \
- else \
- echo 'F$*: Test failed.' ; \
- $(SPEAKFAIL) ; \
- false ; \
- fi
-
-$(builddir)/F%-L.pdf: $(BUILDSOURCE) $(builddir)/F%-L.ltx
- @echo 'F$*: Generating PDF output with LuaLaTeX.'
- @cd $(builddir); $(run_lualatex) -interaction=nonstopmode F$*-L.ltx $(REDIRECT)
-
-$(builddir)/F%-X.pdf: $(BUILDSOURCE) $(builddir)/F%-X.ltx
- @echo 'F$*: Generating PDF output with XeLaTeX.'
- @cd $(builddir); $(run_xelatex) -interaction=nonstopmode F$*-X.ltx $(REDIRECT)
-
-$(builddir)/F%-L.ltx: $(builddir)/F%.ltx
- $(COPY) $< $@
-
-$(builddir)/F%-X.ltx: $(builddir)/F%.ltx
- $(COPY) $< $@
-
-
-#### TEST FOR EACH ENGINE INDIVIDUALLY ####
-
-$(builddir)/L%.diff.pdf: $(builddir)/L%.pdf
- @echo 'L$*: Comparing PDF against reference output.'
- compare_result="$$(compare "$(builddir)/L$*.pdf" "$(testdir)/L$*.safe.pdf" $(COMPARE_OPTS) "$(builddir)/L$*.diff.pdf" 2>&1)" ; \
- if [ 0 -eq "$$?" -a 1 -ge "$$compare_result" ] ; \
- then \
- echo 'L$*: Test passed.' ; \
- else \
- echo 'L$*: Test failed.' ; \
- $(SPEAKFAIL) ; \
- false ; \
- fi
-
-$(builddir)/X%.diff.pdf: $(builddir)/X%.pdf
- @echo 'X$*: Comparing PDF against reference output.'
- compare_result="$$(compare "$(builddir)/X$*.pdf" "$(testdir)/X$*.safe.pdf" $(COMPARE_OPTS) "$(builddir)/X$*.diff.pdf" 2>&1)" ; \
- if [ 0 -eq "$$?" -a 1 -ge "$$compare_result" ] ; \
- then \
- echo 'X$*: Test passed.' ; \
- else \
- echo 'X$*: Test failed.' ; \
- $(SPEAKFAIL) ; \
- false ; \
- fi
-
-$(builddir)/X%.pdf: $(BUILDSOURCE) $(BUILDSUITE) $(builddir)/X%.ltx
- @echo 'X$*: Generating PDF output with XeLaTeX.'
- @cd $(builddir) && $(run_xelatex) -interaction=nonstopmode X$*.ltx $(REDIRECT)
-
-$(builddir)/L%.pdf: $(BUILDSOURCE) $(BUILDSUITE) $(builddir)/L%.ltx
- @echo 'L$*: Generating PDF output with LuaLaTeX.'
- @cd $(builddir) && $(run_lualatex) -interaction=nonstopmode L$*.ltx $(REDIRECT)
-
-#### HACK: allow `make <foobar>` run that test.
-
-L%: build/L%.ltx
- make build/L$*.diff.pdf
-
-X%: build/X%.ltx
- make build/X$*.diff.pdf
-
-F%: build/F%.ltx
- make build/F$*-L.diff.pdf
- make build/F$*-X.diff.pdf
-
-
-
-
-
-
-
-############################
-###### NIGHTLY BUILDS ######
-############################
-
-UNAME_S := $(shell uname -s)
-
-# Mac OS X:
-ifeq ($(UNAME_S),Darwin)
- MD5 = md5
-endif
-
-# Linux:
-ifeq ($(UNAME_S),Linux)
- MD5 = md5sum
-endif
-
-BRANCH = tdsbuild
-
-TMP = /tmp
-LOG = $(TMP)/gitlog.tmp
-
-
-checkbranch:
- @if git branch | grep $(BRANCH) > /dev/null ; \
- then echo "TDS branch exists"; \
- else \
- echo "TDS branch does not exist; doing so will remove all untracked files from your working directory. Create the TDS branch with\n make createbranch"; \
- false; \
- fi;
-
-createbranch: $(TDS)
- cp -f $(TDS) $(TMP)/
- git symbolic-ref HEAD refs/heads/$(BRANCH)
- rm .git/index
- git clean -fdx
- unzip -o $(TMP)/$(TDS) -d .
- rm $(TMP)/$(TDS)
- git add --all
- git commit -m "Initial TDS commit"
- git checkout master
- git push origin $(BRANCH) master
- @echo "\nTDS branch creation was successful.\n"
- @echo "Now create a new package at TLContrib: http://tlcontrib.metatex.org/"
- @echo "Use the following metadata:"
- @echo " Package ID: $(PKG)"
- @echo " BRANCH: $(BRANCH)"
- @echo "\nAfter this process, use \`make tdsbuild\` to"
- @echo " (a) push your recent work on the master branch,"
- @echo " (b) automatically create a TDS snapshot,"
- @echo " (c) send the TDS snapshot to TLContrib."
-
-
-ifeq ($(UNAME_S),Darwin)
- tlclogin: USERNAME = $(shell security find-internet-password -s tlcontrib.metatex.org | grep "acct" | cut -f 4 -d \")
- tlclogin: PASSWORD = $(shell security 2>&1 >/dev/null find-internet-password -gs tlcontrib.metatex.org | cut -f 2 -d ' ')
-endif
-
-ifeq ($(UNAME_S),Linux)
- tlclogin: USERNAME = ""
- tlclogin: PASSWORD = ""
-endif
-
-tlclogin: VERSION = $(shell date "+%Y-%m-%d@%H:%M")
-tlclogin: ;
-
-tdsbuild: checkbranch tlclogin $(TDS)
- cp -f $(TDS) $(TMP)/
- @echo "Constructing commit history for snapshot build"
- date "+TDS snapshot %Y-%m-%d %H:%M" > $(LOG)
- echo '\n\nApproximate commit history since last snapshot:\n' >> $(LOG)
- git log --after="`git log -b $(BRANCH) -n 1 --pretty=format:"%aD"`" --pretty=format:"%+H%+s%+b" >> $(LOG)
- @echo "Committing TDS snapshot to separate branch"
- git checkout $(BRANCH)
- unzip -o $(TMP)/$(TDS) -d .
- rm $(TMP)/$(TDS)
- git commit --all --file=$(LOG)
- git clean -df
- @echo "Pushing TDS and master branch"
- git checkout master
- git push origin $(BRANCH) master
- @echo "Pinging TLContrib for automatic update"
- curl http://tlcontrib.metatex.org/cgi-bin/package.cgi/action=notify/key=$(PKG)/check=$(shell echo $(USERNAME)/$(PASSWORD)/$(VERSION) | $(MD5) )?version=$(VERSION) > /dev/null 2>&1
-
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-active-sscripts.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-active-sscripts.ltx
deleted file mode 100644
index 95a219a933d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-active-sscripts.ltx
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\setlength\parskip{12pt}
-\begin{document}
-$x₀₁₂$ $x₁₂₃$ $x₂₃₄$ $x₃₄₅$ $x₄₅₆$ $x₅₆₇$ $x₆₇₈$ $x₇₈₉$ $x₈₉₊$
-
-$x₉₊₋$ $x₊₋₍$ $x₋₍₌$ $x₍₌₎$ $x₌₎ₐ$ $x₎ₐₑ$ $xₐₑₒ$ $xₑₒₓ$ $xₒₓ₀$ $xₓ₀₁$
-
-$x⁰ⁱ⁺⁾ⁿ²$ $xⁱ⁺⁾ⁿ²$ $xⁿ²$ $x²ⁱ⁺⁾ⁿ$
-
-$x₃₄²ⁱ⁺⁾ⁿ$
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-alph-spaces.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-alph-spaces.ltx
deleted file mode 100644
index 6fce64b0170..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-alph-spaces.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage[math-style=ISO]{unicode-math}
-\setmathfont{xits-math.otf}
-\setmathfont[range=\mathit/{latin, greek, Greek}]{Asana-Math.otf}
-\begin{document}
-$abc$ $ABC$
-$\alpha\beta\gamma$
-$\Alpha\Beta\Gamma$
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-arrow-accents.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-arrow-accents.ltx
deleted file mode 100644
index cc06384349e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-arrow-accents.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\begin{document}
-\setmathfont{XITS Math}
-\[ \vec a \quad \vec{a} \quad \vec{abc} \quad
-\overrightarrow{abc} \quad \underrightarrow{abc} \]
-
-\setmathfont{Cambria Math}
-\[ \vec a \quad \vec{a} \quad \vec{abc} \quad
-\overrightarrow{abc} \quad \underrightarrow{abc} \]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-french.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-french.ltx
deleted file mode 100644
index 2eb0fe47e45..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-french.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=french]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINtext\]
-\[\latintext\]
-\[\LATINmath\]
-\[\latinmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-iso.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-iso.ltx
deleted file mode 100644
index ac4562f82a4..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-iso.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=ISO]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINtext\]
-\[\latintext\]
-\[\LATINmath\]
-\[\latinmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-literal.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-literal.ltx
deleted file mode 100644
index f1e18b59a53..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-literal.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINtext\]
-\[\latintext\]
-\[\LATINmath\]
-\[\latinmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-tex.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-tex.ltx
deleted file mode 100644
index a77bb279136..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-tex.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-
-\input{umtest-preamble}
-\usepackage[math-style=TeX]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINtext\]
-\[\latintext\]
-\[\LATINmath\]
-\[\latinmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-upright.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-upright.ltx
deleted file mode 100644
index 97890262c8f..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathstyle-upright.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINtext\]
-\[\latintext\]
-\[\LATINmath\]
-\[\latinmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathversion.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathversion.ltx
deleted file mode 100644
index 7fe40976ebe..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-mathversion.ltx
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{xits-math.otf}
-\setmathfont[version=bold,Colour=009900]{xits-math.otf}
-\begin{document}
-\[
-(x+y)^{{z+c}^{a+b}}
-\]
-\mathversion{bold}
-\[
-(x+y)^{{z+c}^{a+b}}
-\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-nolimits-spec.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-nolimits-spec.ltx
deleted file mode 100644
index 23900115403..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-nolimits-spec.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{xits-math.otf}
-\begin{document}
-\[\iiint_V\]
-\removenolimits\iiint
-\[\iiint_V\]
-\addnolimits\iiint
-\[\iiint_V\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under-2.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under-2.ltx
deleted file mode 100644
index f3cdfe89a3d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under-2.ltx
+++ /dev/null
@@ -1,17 +0,0 @@
-
-% see http://github.com/wspr/unicode-math/issues/212
-
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[Colour=FF0000]{xits-math.otf}
-\setmathfont
- [range={\mathop},Colour=0000FF]
- {xits-math.otf}
-
-\begin{document}
-
-\[ \underbrace{\int x dx}_{xyz}
-\qquad
-\overbrace{\int x dx}^{xyz} \]
-
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under.ltx
deleted file mode 100644
index 2d67a983321..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-over-under.ltx
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{xits-math.otf}
-\begin{document}
-\[
-\overbrace{a+b+c+d}^{e/f/g/h}
-\overbracket{a+b+c+d}^{e/f/g/h}
-\overparen{a+b+c+d}^{e/f/g/h}
-\]
-\[
-\underbrace{a+b+c+d}_{e/f/g/h}
-\underbracket{a+b+c+d}_{e/f/g/h}
-\underparen{a+b+c+d}_{e/f/g/h}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-pkg-url.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-pkg-url.ltx
deleted file mode 100644
index 2d204d33794..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-pkg-url.ltx
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmainfont{TeX Gyre Pagella}
-\setsansfont{TeX Gyre Adventor}
-\setmonofont{TeX Gyre Cursor}
-\setmathfont{Cambria Math}
-\usepackage{url}
-\begin{document}
-\centering\obeylines
-\url{http://www.lmgtfy.com/}
-\url{?q="~!@#$%^&*()<>`'}
-\urlstyle{rm}
-\url{http://www.lmgtfy.com/}
-\url{?q="~!@#$%^&*()<>`'}
-\urlstyle{sf}
-\url{http://www.lmgtfy.com/}
-\url{?q="~!@#$%^&*()<>`'}
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-1.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-1.ltx
deleted file mode 100644
index a26791419ef..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-1.ltx
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath,unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
- [${x\prime\prime\prime}$]
- [${x\prime\prime\prime\prime\prime\prime}$]
- [${x'}$]
- [${x'''}$]
- [${x''''''}$]
- [${x′}$]
- [${x′′′}$]
- [${x′′'′\prime′}$]
-
- $x⁗‴″′$
- $x′″‴⁗$
- $x″′$
- $x‴$
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-2.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-2.ltx
deleted file mode 100644
index e246d34c021..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-2.ltx
+++ /dev/null
@@ -1,23 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Asana Math}
-\begin{document}
-[$x_{x}'$]
-[$x_{x}′$]
-[$x_{x}\prime$]
-[$x_{x}`$]
-[$x_{x}\backprime$]
-
-[$x'_x$]
-[$x′_x$]
-[$x\prime_x$]
-[$x`_x$]
-[$x\backprime_x$]
-
-[$x_{x'}$]
-[$x_{x′}$]
-[$x_{x\prime}$]
-[$x_{x`}$]
-[$x_{x\backprime}$]
-
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-back.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-back.ltx
deleted file mode 100644
index 60298e39d60..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-primes-back.ltx
+++ /dev/null
@@ -1,18 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath,unicode-math}
-\setmathfont{Asana Math}
-\begin{document}
- [${x\backprime\backprime\backprime}$]
- [${x\backprime\backprime\backprime\backprime\backprime\backprime}$]
- [${x`}$]
- [${x```}$]
- [${x``````}$]
- [${x‵}$]
- [${x‵‵‵}$]
- [${x‵‵`‵\backprime‵}$]
-
- $x`‵‶‷$
- $x‷‶‵`$
- $x‶‵$
- $x‷$
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-query-mathstyle.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-query-mathstyle.ltx
deleted file mode 100644
index 6b61f8ae14c..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-query-mathstyle.ltx
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{umtest-preamble}
-
-\usepackage{unicode-math}
-\setmathfont[Colour=FF0000]{xits-math.otf}
-
-\begin{document}
-
-\ExplSyntaxOn
-[$\l_um_mathstyle_tl$]\
-[$\mathrm{\l_um_mathstyle_tl}$]\
-[$\mathup{\l_um_mathstyle_tl}$]\
-[$\mathit{\l_um_mathstyle_tl}$]
-
-[$\mathbf{\l_um_mathstyle_tl}$]\
-[$\mathbfit{\l_um_mathstyle_tl}$]\
-[$\mathbfup{\l_um_mathstyle_tl}$]
-
-[$\mathsf{\l_um_mathstyle_tl}$]\
-[$\mathsfit{\l_um_mathstyle_tl}$]\
-[$\mathsfup{\l_um_mathstyle_tl}$]
-
-[$\mathbfsf{\l_um_mathstyle_tl}$]\
-[$\mathbfsfit{\l_um_mathstyle_tl}$]\
-[$\mathbfsfup{\l_um_mathstyle_tl}$]
-
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-range-prime-check.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-range-prime-check.ltx
deleted file mode 100644
index 3181d7b8f79..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-range-prime-check.ltx
+++ /dev/null
@@ -1,17 +0,0 @@
-%
-% See http://github.com/wspr/unicode-math/issues/171
-%
-% The fix is related to the fact that primes use the `mathactive'
-% section of the unicode-math code, which is now controlled by
-% the parsing range feature (as it always should have been).
-
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[Colour=FF0000]{xits-math.otf}
-\setmathfont
- [range=\mathop,Colour=0000FF]
- {xits-math.otf}
-
-\begin{document}
-\[ f(x) = \int f'(x) dx \]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-slash-delim-2.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-slash-delim-2.ltx
deleted file mode 100644
index 179ae3ef968..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-slash-delim-2.ltx
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\begin{document}
-\newcommand\ARRAY[4]{%
- \begin{array}{cc}
- #1 & #2 \\ #3 & #4
- \end{array}}
-\def\test{\[
- \left.\left[\ARRAY a b c d\right]
- \middle\slash
- \left[\ARRAY 1 1 1 {\mathsf 0}\right]
- \right. \]}
-\setmathfont
- [slash-delimiter=frac]{Cambria Math}
-\setmathfont
- [range={\mathsfup},
- Color=0000FF]
- {STIXGeneral}
-\test
-\setmathfont
- [slash-delimiter=frac,
- range="2044,
- Color=FF0000]
- {Cambria Math}
-\test
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt-n.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt-n.ltx
deleted file mode 100644
index 344df2ba222..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt-n.ltx
+++ /dev/null
@@ -1,6 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \sqrt[n]{1+\sqrt[n]{1+\sqrt[n]{1+\sqrt[n]{1+\sqrt[n]{1+x}}}}}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt.ltx
deleted file mode 100644
index 84d41dd7598..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sqrt.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \sqrt{\sin^{2}x+\cos^{2}x}=1 \]
-\[ \sqrt{1+\sqrt{1+\sqrt{1+\sqrt{1+x}}}}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sscript-features.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sscript-features.ltx
deleted file mode 100644
index 3db6e6547c6..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/F-sscript-features.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[script-font = {Asana Math},
- script-features = {Style=MathScript,Colour=FF0000},
- sscript-font = {Cambria Math},
- sscript-features= {Style=MathScriptScript,Colour=0000FF}]
- {XITS Math}
-\begin{document}
-\[123456789^{123456789^{123456789}}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L-sscale-dimen.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L-sscale-dimen.ltx
deleted file mode 100644
index 1b872f322da..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L-sscale-dimen.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-$ $ \\
-\number \fontdimen 10 \textfont 0 \\
-\number \fontdimen 11 \textfont 0 \\
-\number \fontdimen 10 \scriptfont 0 \\
-\number \fontdimen 11 \scriptfont 0 \\
-\number \fontdimen 10 \scriptscriptfont 0 \\
-\number \fontdimen 11 \scriptscriptfont 0
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L600a.ltx
deleted file mode 100644
index 2fe3853b0a6..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L600b.ltx
deleted file mode 100644
index 2ba34f67e1f..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600b.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L600c.ltx
deleted file mode 100644
index fcd692a0bbe..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600c.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Asana Math}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L600f.ltx
deleted file mode 100644
index f98dfc61a3d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L600f.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L601a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L601a.ltx
deleted file mode 100644
index d7dbf3c5f6d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L601a.ltx
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{umtest-preamble}
-\usepackage{mathtools}
-\begin{document}
-\[
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-\]
-\(
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-}
-a^{
- a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
- }
-}
-\)
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L601b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L601b.ltx
deleted file mode 100644
index 2d4983a8c59..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L601b.ltx
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{umtest-preamble}
-\usepackage{mathtools}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-\]
-\(
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-}
-a^{
- a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
- }
-}
-\)
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L601f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L601f.ltx
deleted file mode 100644
index 4ecb9853cf1..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L601f.ltx
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{umtest-preamble}
-\usepackage{mathtools}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-\[
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-\]
-\(
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-}
-a^{
- a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
- }
-}
-\)
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L602b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L602b.ltx
deleted file mode 100644
index ce99258e075..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L602b.ltx
+++ /dev/null
@@ -1,36 +0,0 @@
-\input{umtest-preamble}
-
-\usepackage{unicode-math}
-
-\setmathfont{xits-math.otf}
-
-\ExplSyntaxOn
-
-\NewDocumentCommand \mathstylename { } {
- \mathtt {
- \prg_case_int:nnn { \luatexmathstyle } {
- { \displaystyle } { \token_to_str:N \displaystyle }
- { \luatexcrampeddisplaystyle } { \token_to_str:N \crampeddisplaystyle }
- { \textstyle } { \token_to_str:N \textstyle }
- { \luatexcrampedtextstyle } { \token_to_str:N \crampedtextstyle }
- { \scriptstyle } { \token_to_str:N \scriptstyle }
- { \luatexcrampedscriptstyle } { \token_to_str:N \crampedscriptstyle }
- { \scriptscriptstyle } { \token_to_str:N \scriptscriptstyle }
- { \luatexcrampedscriptscriptstyle } { \token_to_str:N \crampedscriptscriptstyle }
- } {
- outside math
- }
- }
-}
-
-\ExplSyntaxOff
-
-\begin{document}
-
-$\mathstylename \over \mathstylename$
-
-$\luatexUstack{\mathstylename \over \mathstylename}$
-
-$\frac{\mathstylename}{\mathstylename}$
-
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L603b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L603b.ltx
deleted file mode 100644
index 9b53e908fcf..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L603b.ltx
+++ /dev/null
@@ -1,45 +0,0 @@
-\input{umtest-preamble}
-
-\usepackage{amsmath}
-\usepackage{unicode-math}
-
-\setmathfont{xits-math.otf}
-
-\ExplSyntaxOn
-
-\NewDocumentCommand \mathstylename { } {
- \mathtt {
- \prg_case_int:nnn { \luatexmathstyle } {
- { \displaystyle } { \token_to_str:N \displaystyle }
- { \luatexcrampeddisplaystyle } { \token_to_str:N \crampeddisplaystyle }
- { \textstyle } { \token_to_str:N \textstyle }
- { \luatexcrampedtextstyle } { \token_to_str:N \crampedtextstyle }
- { \scriptstyle } { \token_to_str:N \scriptstyle }
- { \luatexcrampedscriptstyle } { \token_to_str:N \crampedscriptstyle }
- { \scriptscriptstyle } { \token_to_str:N \scriptscriptstyle }
- { \luatexcrampedscriptscriptstyle } { \token_to_str:N \crampedscriptscriptstyle }
- } {
- outside math
- }
- }
-}
-
-\ExplSyntaxOff
-
-\begin{document}
-
-$\mathstylename \over \mathstylename$
-
-$\luatexUstack{\mathstylename \over \mathstylename}$
-
-$\frac{\mathstylename}{\mathstylename}$
-
-$\dfrac{\mathstylename}{\mathstylename}$
-
-$\tfrac{\mathstylename}{\mathstylename}$
-
-$\binom{\mathstylename}{\mathstylename}$
-
-$\genfrac{/}{)}{}{}{\mathstylename}{\mathstylename}$
-
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L604a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L604a.ltx
deleted file mode 100644
index c43706cc298..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L604a.ltx
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{graphicx}
-\newcommand*{\test}[1]{%
- \parbox[b][50pt]{50pt}{\scalebox{3}{$#1$}}%
-}
-\begin{document}
-\test{\sqrt[a]{b}}
-\test{\sqrt[\uproot{10}a]{b}}
-
-\test{\sqrt[\leftroot{10}a]{b}}
-\test{\sqrt[\leftroot{10}\uproot{10}a]{b}}
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L604b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L604b.ltx
deleted file mode 100644
index 235d51c6354..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L604b.ltx
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{amsmath}
-\usepackage{graphicx}
-\setmathfont{Cambria Math}
-\newcommand*{\test}[1]{%
- \parbox[b][50pt]{50pt}{\scalebox{3}{$#1$}}%
-}
-\begin{document}
-\test{\sqrt[a]{b}}
-\test{\sqrt[\uproot{10}a]{b}}
-
-\test{\sqrt[\leftroot{10}a]{b}}
-\test{\sqrt[\leftroot{10}\uproot{10}a]{b}}
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L650a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L650a.ltx
deleted file mode 100644
index abaae93629a..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L650a.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{mathtools}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\coloneq
-\coloneqq
-\eqcolon
-\eqqcolon
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/L650b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/L650b.ltx
deleted file mode 100644
index 4bda71a40f0..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/L650b.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{colonequals}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\coloneq
-\colonequals
-\eqcolon
-\equalscolon
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X002a.ltx
deleted file mode 100644
index a63656c7b0a..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-
-\input{umtest-preamble}
-\usepackage[math-style=TeX]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKtext\]
-\[\greektext\]
-\[\GREEKmath\]
-\[\greekmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X002b.ltx
deleted file mode 100644
index de6f5474073..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=ISO]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKtext\]
-\[\greektext\]
-\[\GREEKmath\]
-\[\greekmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X002c.ltx
deleted file mode 100644
index 0239bace484..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002c.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKtext\]
-\[\greektext\]
-\[\GREEKmath\]
-\[\greekmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X002d.ltx
deleted file mode 100644
index 4ec5baf1857..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002d.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=french]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKtext\]
-\[\greektext\]
-\[\GREEKmath\]
-\[\greekmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X002e.ltx
deleted file mode 100644
index dfa269c4b29..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X002e.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[math-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKtext\]
-\[\greektext\]
-\[\GREEKmath\]
-\[\greekmath\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003a.ltx
deleted file mode 100644
index c41463fee4e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=TeX]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbfup\]
-\[\LATINmathbfit\]
-\[\latinmathbfup\]
-\[\latinmathbfit\]
-\[\numbersmathbfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003b.ltx
deleted file mode 100644
index a0c1a095c0c..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=TeX]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKmathbfup\]
-\[\GREEKmathbfit\]
-\[\greekmathbfup\]
-\[\greekmathbfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003c.ltx
deleted file mode 100644
index 06d6140e8e0..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003c.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=TeX]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\LATINmath\]
-\[\mathbf\LATINtext\]
-\[\mathbf\latinmath\]
-\[\mathbf\latintext\]
-\[\mathbf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003d.ltx
deleted file mode 100644
index 3617f29eb56..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003d.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=TeX]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\GREEKmath\]
-\[\mathbf\GREEKtext\]
-\[\mathbf\greekmath\]
-\[\mathbf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003e.ltx
deleted file mode 100644
index 683344f4d8f..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003e.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=ISO]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbfup\]
-\[\LATINmathbfit\]
-\[\latinmathbfup\]
-\[\latinmathbfit\]
-\[\numbersmathbfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003f.ltx
deleted file mode 100644
index c9b7566c16a..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003f.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=ISO]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKmathbfup\]
-\[\GREEKmathbfit\]
-\[\greekmathbfup\]
-\[\greekmathbfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003g.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003g.ltx
deleted file mode 100644
index 93508517c86..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003g.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=ISO]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\LATINmath\]
-\[\mathbf\LATINtext\]
-\[\mathbf\latinmath\]
-\[\mathbf\latintext\]
-\[\mathbf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003h.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003h.ltx
deleted file mode 100644
index 85293b2b647..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003h.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=ISO]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\GREEKmath\]
-\[\mathbf\GREEKtext\]
-\[\mathbf\greekmath\]
-\[\mathbf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003i.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003i.ltx
deleted file mode 100644
index 531c9ae9482..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003i.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbfup\]
-\[\LATINmathbfit\]
-\[\latinmathbfup\]
-\[\latinmathbfit\]
-\[\numbersmathbfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003j.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003j.ltx
deleted file mode 100644
index 101a5bd6125..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003j.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKmathbfup\]
-\[\GREEKmathbfit\]
-\[\greekmathbfup\]
-\[\greekmathbfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003k.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003k.ltx
deleted file mode 100644
index a8820f96cd4..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003k.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\LATINmath\]
-\[\mathbf\LATINtext\]
-\[\mathbf\latinmath\]
-\[\mathbf\latintext\]
-\[\mathbf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003l.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003l.ltx
deleted file mode 100644
index 816465b3262..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003l.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\GREEKmath\]
-\[\mathbf\GREEKtext\]
-\[\mathbf\greekmath\]
-\[\mathbf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003m.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003m.ltx
deleted file mode 100644
index 0b53338cbc4..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003m.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbfup\]
-\[\LATINmathbfit\]
-\[\latinmathbfup\]
-\[\latinmathbfit\]
-\[\numbersmathbfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003n.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003n.ltx
deleted file mode 100644
index b846b3efea2..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003n.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\GREEKmathbfup\]
-\[\GREEKmathbfit\]
-\[\greekmathbfup\]
-\[\greekmathbfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003o.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003o.ltx
deleted file mode 100644
index f66c7a1942f..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003o.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\LATINmath\]
-\[\mathbf\LATINtext\]
-\[\mathbf\latinmath\]
-\[\mathbf\latintext\]
-\[\mathbf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003p.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X003p.ltx
deleted file mode 100644
index 0758e53180d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X003p.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[bold-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbf\GREEKmath\]
-\[\mathbf\GREEKtext\]
-\[\mathbf\greekmath\]
-\[\mathbf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X004a.ltx
deleted file mode 100644
index e52a7177c3b..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathsfup\]
-\[\LATINmathsfit\]
-\[\latinmathsfup\]
-\[\latinmathsfit\]
-\[\numbersmathsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X004b.ltx
deleted file mode 100644
index 4e058413011..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004b.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=upright]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathsf{\LATINtext}\]
-\[\mathsf{\LATINmath}\]
-\[\mathsf{\latintext}\]
-\[\mathsf{\latinmath}\]
-\[\mathsf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X004c.ltx
deleted file mode 100644
index 9a24fb9b2f9..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004c.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=italic]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathsfup\]
-\[\LATINmathsfit\]
-\[\latinmathsfup\]
-\[\latinmathsfit\]
-\[\numbersmathsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X004d.ltx
deleted file mode 100644
index 5e59de81eee..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004d.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=italic]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathsf{\LATINtext}\]
-\[\mathsf{\LATINmath}\]
-\[\mathsf{\latintext}\]
-\[\mathsf{\latinmath}\]
-\[\mathsf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X004e.ltx
deleted file mode 100644
index 14fd11049b1..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004e.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathsfup\]
-\[\LATINmathsfit\]
-\[\latinmathsfup\]
-\[\latinmathsfit\]
-\[\numbersmathsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X004f.ltx
deleted file mode 100644
index e5de3fc8686..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X004f.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathsf{\LATINtext}\]
-\[\mathsf{\LATINmath}\]
-\[\mathsf{\latintext}\]
-\[\mathsf{\latinmath}\]
-\[\mathsf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005a.ltx
deleted file mode 100644
index 3b5b0ce2988..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=upright]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\LATINmathbfsfup\]
-\[\LATINmathbfsfit\]
-\[\latinmathbfsfup\]
-\[\latinmathbfsfit\]
-\[\numbersmathbfsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005b.ltx
deleted file mode 100644
index 0f57b4a516d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=upright]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\GREEKmathbfsfup\]
-\[\GREEKmathbfsfit\]
-\[\greekmathbfsfup\]
-\[\greekmathbfsfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005c.ltx
deleted file mode 100644
index 3ed6a2c7ce2..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005c.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=upright]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\mathbfsf\LATINmath\]
-\[\mathbfsf\LATINtext\]
-\[\mathbfsf\latinmath\]
-\[\mathbfsf\latintext\]
-\[\mathbfsf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005d.ltx
deleted file mode 100644
index 784b40f67f7..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005d.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=upright]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\mathbfsf\GREEKmath\]
-\[\mathbfsf\GREEKtext\]
-\[\mathbfsf\greekmath\]
-\[\mathbfsf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005e.ltx
deleted file mode 100644
index 01c3f606b45..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005e.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=italic]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\LATINmathbfsfup\]
-\[\LATINmathbfsfit\]
-\[\latinmathbfsfup\]
-\[\latinmathbfsfit\]
-\[\numbersmathbfsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005f.ltx
deleted file mode 100644
index 292e7c35bc0..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005f.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=italic]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\GREEKmathbfsfup\]
-\[\GREEKmathbfsfit\]
-\[\greekmathbfsfup\]
-\[\greekmathbfsfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005g.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005g.ltx
deleted file mode 100644
index 4fa9b07891e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005g.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=italic]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\mathbfsf\LATINmath\]
-\[\mathbfsf\LATINtext\]
-\[\mathbfsf\latinmath\]
-\[\mathbfsf\latintext\]
-\[\mathbfsf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005h.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005h.ltx
deleted file mode 100644
index 08fef7aae97..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005h.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=italic]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\mathbfsf\GREEKmath\]
-\[\mathbfsf\GREEKtext\]
-\[\mathbfsf\greekmath\]
-\[\mathbfsf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005i.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005i.ltx
deleted file mode 100644
index 95d871566bb..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005i.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=literal]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\LATINmathbfsfup\]
-\[\LATINmathbfsfit\]
-\[\latinmathbfsfup\]
-\[\latinmathbfsfit\]
-\[\numbersmathbfsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005j.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005j.ltx
deleted file mode 100644
index 2ac0f34ce13..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005j.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=literal]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\GREEKmathbfsfup\]
-\[\GREEKmathbfsfit\]
-\[\greekmathbfsfup\]
-\[\greekmathbfsfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005k.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005k.ltx
deleted file mode 100644
index a6912432c61..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005k.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=literal]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\mathbfsf\LATINmath\]
-\[\mathbfsf\LATINtext\]
-\[\mathbfsf\latinmath\]
-\[\mathbfsf\latintext\]
-\[\mathbfsf{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005l.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X005l.ltx
deleted file mode 100644
index 0d80cab5a5e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X005l.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage[sans-style=literal]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[\mathbfsf\GREEKmath\]
-\[\mathbfsf\GREEKtext\]
-\[\mathbfsf\greekmath\]
-\[\mathbfsf\greektext\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X010a.ltx
deleted file mode 100644
index 2b1c9d94450..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathscr{\LATINtext}\]
-\[\mathscr{\latintext}\]
-\[\mathscr{\LATINmath}\]
-\[\mathscr{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X010b.ltx
deleted file mode 100644
index 361ca0bf993..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010b.ltx
+++ /dev/null
@@ -1,8 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathscr\]
-\[\latinmathscr\]
-\[\reservedmathscr\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X010c.ltx
deleted file mode 100644
index 7d188361a91..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010c.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathfrak{\LATINtext}\]
-\[\mathfrak{\latintext}\]
-\[\mathfrak{\LATINmath}\]
-\[\mathfrak{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X010d.ltx
deleted file mode 100644
index 51206a6caf5..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X010d.ltx
+++ /dev/null
@@ -1,8 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathfrak\]
-\[\latinmathfrak\]
-\[\reservedmathfrak\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X011a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X011a.ltx
deleted file mode 100644
index 79ae950c0b6..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X011a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathup{\LATINtext}\]
-\[\mathup{\latintext}\]
-\[\mathup{\LATINmath}\]
-\[\mathup{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X011b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X011b.ltx
deleted file mode 100644
index cfc5b7ba7ab..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X011b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathup{\GREEKtext}\]
-\[\mathup{\greektext}\]
-\[\mathup{\GREEKmath}\]
-\[\mathup{\greekmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X012a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X012a.ltx
deleted file mode 100644
index 06c6bc26202..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X012a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathit{\LATINtext}\]
-\[\mathit{\latintext}\]
-\[\mathit{\LATINmath}\]
-\[\mathit{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X012b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X012b.ltx
deleted file mode 100644
index 845a3211b6a..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X012b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathit{\GREEKtext}\]
-\[\mathit{\greektext}\]
-\[\mathit{\GREEKmath}\]
-\[\mathit{\greekmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X013a.ltx
deleted file mode 100644
index 0192f10d062..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbb{\LATINtext}\]
-\[\mathbb{\latintext}\]
-\[\mathbb{\LATINmath}\]
-\[\mathbb{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X013b.ltx
deleted file mode 100644
index 3c65d345ade..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbb{0123456789}\]
-\[\numbersmathbb\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X013c.ltx
deleted file mode 100644
index 415af4ec8bd..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013c.ltx
+++ /dev/null
@@ -1,8 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbb\]
-\[\latinmathbb\]
-\[\reservedmathbb\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X013d.ltx
deleted file mode 100644
index a00cf42d01b..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013d.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{STIXGeneral}
-\begin{document}
-\[ \mathbb{πΠγΓ} \qquad \mathbb{𝜋𝛱𝛾𝛤} \]
-\[ \mathbb{\sum}_0^1 \]
-\[ \mathbb{∑}_0^1 \]
-\[ \Bbbsum_0^1 \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X013e.ltx
deleted file mode 100644
index f6ceed8dc86..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X013e.ltx
+++ /dev/null
@@ -1,6 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbbit{Ddeij}\qquad\mathbbit{𝐷𝑑𝑒𝑖𝑗}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X014a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X014a.ltx
deleted file mode 100644
index fc6f553987c..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X014a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathsfup{\LATINtext}\]
-\[\mathsfup{\latintext}\]
-\[\mathsfup{\LATINmath}\]
-\[\mathsfup{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X014b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X014b.ltx
deleted file mode 100644
index 4149fc57e12..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X014b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathsfup{0123456789}\]
-\[\numbersmathsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X014c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X014c.ltx
deleted file mode 100644
index ba6189e418b..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X014c.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathsfup\]
-\[\latinmathsfup\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X015a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X015a.ltx
deleted file mode 100644
index f973d4f3a34..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X015a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathsfit{\LATINtext}\]
-\[\mathsfit{\latintext}\]
-\[\mathsfit{\LATINmath}\]
-\[\mathsfit{\latinmath}\]
-\[\mathsfit{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X015b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X015b.ltx
deleted file mode 100644
index 5e3c2b63211..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X015b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathsfit\]
-\[\latinmathsfit\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X016a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X016a.ltx
deleted file mode 100644
index 29aa54e5c2d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X016a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Asana-Math.otf}
-\begin{document}
-\[\mathtt{\LATINtext}\]
-\[\mathtt{\latintext}\]
-\[\mathtt{\LATINmath}\]
-\[\mathtt{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X016b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X016b.ltx
deleted file mode 100644
index 9a06c7718b0..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X016b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Asana-Math.otf}
-\begin{document}
-\[\mathtt{0123456789}\]
-\[\numbersmathtt\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X016c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X016c.ltx
deleted file mode 100644
index 496b033b10c..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X016c.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Asana-Math.otf}
-\begin{document}
-\[\LATINmathtt\]
-\[\latinmathtt\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X017a.ltx
deleted file mode 100644
index 6802a577503..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfscr{\LATINtext}\]
-\[\mathbfscr{\latintext}\]
-\[\mathbfscr{\LATINmath}\]
-\[\mathbfscr{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X017b.ltx
deleted file mode 100644
index 7f86f0b89b9..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbfscr\]
-\[\latinmathbfscr\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X017c.ltx
deleted file mode 100644
index 979c07d7a59..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017c.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbffrak{\LATINtext}\]
-\[\mathbffrak{\latintext}\]
-\[\mathbffrak{\LATINmath}\]
-\[\mathbffrak{\latinmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X017d.ltx
deleted file mode 100644
index ad8f3741270..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X017d.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\LATINmathbffrak\]
-\[\latinmathbffrak\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X018a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X018a.ltx
deleted file mode 100644
index 54da5dfe0e8..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X018a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfup{\LATINtext}\]
-\[\mathbfup{\latintext}\]
-\[\mathbfup{\LATINmath}\]
-\[\mathbfup{\latinmath}\]
-\[\mathbfup{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X018b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X018b.ltx
deleted file mode 100644
index 177e9b3fd91..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X018b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfup{\GREEKtext}\]
-\[\mathbfup{\greektext}\]
-\[\mathbfup{\GREEKmath}\]
-\[\mathbfup{\greekmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X019a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X019a.ltx
deleted file mode 100644
index b41e0d188be..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X019a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfit{\LATINtext}\]
-\[\mathbfit{\latintext}\]
-\[\mathbfit{\LATINmath}\]
-\[\mathbfit{\latinmath}\]
-\[\mathbfit{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X019b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X019b.ltx
deleted file mode 100644
index 77ef28dd8aa..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X019b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfit{\GREEKtext}\]
-\[\mathbfit{\greektext}\]
-\[\mathbfit{\GREEKmath}\]
-\[\mathbfit{\greekmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X020a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X020a.ltx
deleted file mode 100644
index 6e5f4fc09bb..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X020a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfsfit{\LATINtext}\]
-\[\mathbfsfit{\latintext}\]
-\[\mathbfsfit{\LATINmath}\]
-\[\mathbfsfit{\latinmath}\]
-\[\mathbfsfit{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X020b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X020b.ltx
deleted file mode 100644
index 1af7bda0bb7..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X020b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{STIXGeneral-Bold}
-\begin{document}
-\[\mathbfsfup{\GREEKtext}\]
-\[\mathbfsfup{\greektext}\]
-\[\mathbfsfup{\GREEKmath}\]
-\[\mathbfsfup{\greekmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X021a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X021a.ltx
deleted file mode 100644
index 6e5f4fc09bb..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X021a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[\mathbfsfit{\LATINtext}\]
-\[\mathbfsfit{\latintext}\]
-\[\mathbfsfit{\LATINmath}\]
-\[\mathbfsfit{\latinmath}\]
-\[\mathbfsfit{0123456789}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X021b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X021b.ltx
deleted file mode 100644
index 5df9b942084..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X021b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{STIXGeneral-BoldItalic}
-\begin{document}
-\[\mathbfsfit{\GREEKtext}\]
-\[\mathbfsfit{\greektext}\]
-\[\mathbfsfit{\GREEKmath}\]
-\[\mathbfsfit{\greekmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X030a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X030a.ltx
deleted file mode 100644
index e2235a6e08c..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X030a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{FreeSerif}
-\begin{document}
-\[Ϝϝ\]
-\[𝟊𝟋\]
-\[\mathup{Ϝϝ}\]
-\[\mathbf{Ϝϝ}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X031a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X031a.ltx
deleted file mode 100644
index 6ec91773f00..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X031a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[nabla=upright] {unicode-math}
-\setmathfont{Free Serif}
-\begin{document}
-\[∇𝛻 \quad 𝛁𝜵 \quad 𝝯𝞩\]
-\[∇𝛻 \quad \mathbf{∇𝛻} \quad \mathbfsf{∇𝛻}\]
-\[\mathup{∇𝛻} \quad \mathit{∇𝛻}\]
-\[\mathbfup{∇𝛻} \quad \mathbfit{∇𝛻}\]
-\[\mathbfsfup{∇𝛻} \quad \mathbfsfit{∇𝛻}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X031b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X031b.ltx
deleted file mode 100644
index b195695b08e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X031b.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[nabla=italic] {unicode-math}
-\setmathfont{Free Serif}
-\begin{document}
-\[∇𝛻 \quad 𝛁𝜵 \quad 𝝯𝞩\]
-\[∇𝛻 \quad \mathbf{∇𝛻} \quad \mathbfsf{∇𝛻}\]
-\[\mathup{∇𝛻} \quad \mathit{∇𝛻}\]
-\[\mathbfup{∇𝛻} \quad \mathbfit{∇𝛻}\]
-\[\mathbfsfup{∇𝛻} \quad \mathbfsfit{∇𝛻}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X031c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X031c.ltx
deleted file mode 100644
index 9807a182d11..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X031c.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[nabla=literal] {unicode-math}
-\setmathfont{Free Serif}
-\begin{document}
-\[∇𝛻 \quad 𝛁𝜵 \quad 𝝯𝞩\]
-\[∇𝛻 \quad \mathbf{∇𝛻} \quad \mathbfsf{∇𝛻}\]
-\[\mathup{∇𝛻} \quad \mathit{∇𝛻}\]
-\[\mathbfup{∇𝛻} \quad \mathbfit{∇𝛻}\]
-\[\mathbfsfup{∇𝛻} \quad \mathbfsfit{∇𝛻}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X032a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X032a.ltx
deleted file mode 100644
index b3b4baa80c8..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X032a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[partial=upright]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[∂𝜕 \quad 𝛛𝝏 \quad 𝞉𝟃\]
-\[∂𝜕 \quad \mathbf{∂𝜕} \quad \mathbfsf{∂𝜕}\]
-\[\mathup{∂𝜕} \quad \mathit{∂𝜕}\]
-\[\mathbfup{∂𝜕} \quad \mathbfit{∂𝜕}\]
-\[\mathbfsfup{∂𝜕} \quad \mathbfsfit{∂𝜕}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X032b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X032b.ltx
deleted file mode 100644
index 4b85ab581a0..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X032b.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[partial=italic]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[∂𝜕 \quad 𝛛𝝏 \quad 𝞉𝟃\]
-\[∂𝜕 \quad \mathbf{∂𝜕} \quad \mathbfsf{∂𝜕}\]
-\[\mathup{∂𝜕} \quad \mathit{∂𝜕}\]
-\[\mathbfup{∂𝜕} \quad \mathbfit{∂𝜕}\]
-\[\mathbfsfup{∂𝜕} \quad \mathbfsfit{∂𝜕}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X032c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X032c.ltx
deleted file mode 100644
index 365edcb9f62..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X032c.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage[partial=literal]{unicode-math}
-\setmathfont{Code2001}
-\begin{document}
-\[∂𝜕 \quad 𝛛𝝏 \quad 𝞉𝟃\]
-\[∂𝜕 \quad \mathbf{∂𝜕} \quad \mathbfsf{∂𝜕}\]
-\[\mathup{∂𝜕} \quad \mathit{∂𝜕}\]
-\[\mathbfup{∂𝜕} \quad \mathbfit{∂𝜕}\]
-\[\mathbfsfup{∂𝜕} \quad \mathbfsfit{∂𝜕}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X033a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X033a.ltx
deleted file mode 100644
index 7bc54cf0655..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X033a.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\begin{document}
-\setmathfont[math-style=TeX]{Free Serif}
-\[ıȷ\quad 𝚤𝚥\]
-\[\mathup{ıȷ}\quad \mathup{𝚤𝚥}\]
-\[\mathit{ıȷ}\quad \mathit{𝚤𝚥}\]
-\setmathfont[math-style=upright]{Free Serif}
-\[ıȷ\quad 𝚤𝚥\]
-\[\mathup{ıȷ}\quad \mathup{𝚤𝚥}\]
-\[\mathit{ıȷ}\quad \mathit{𝚤𝚥}\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X100a.ltx
deleted file mode 100644
index 02d67fa4ea5..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100a.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \left( \left( \left( \left( \left( \left( x^2
- \right)^2 \right)^2 \right)^2 \right)^2 \right)^2 \right) \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X100b.ltx
deleted file mode 100644
index 7c2fc729287..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \left[ \left[ \left[ \left[ \left[ \left[ x^2
- \right]^2 \right]^2 \right]^2 \right]^2 \right]^2 \right] \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X100c.ltx
deleted file mode 100644
index 4f0963a13d9..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100c.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \left\{ \left\{ \left\{ \left\{ \left\{ \left\{ x^2
- \right\}^2 \right\}^2 \right\}^2 \right\}^2 \right\}^2 \right\} \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X100d.ltx
deleted file mode 100644
index fc776937285..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100d.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \left| \left| \left| \left| \left| \left| x^2
- \right|^2 \right|^2 \right|^2 \right|^2 \right|^2 \right| \]
-
-\[ \left\vert \left\vert \left\vert \left\vert \left\vert \left\vert x^2
- \right\vert^2 \right\vert^2 \right\vert^2 \right\vert^2 \right\vert^2 \right\vert \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X100e.ltx
deleted file mode 100644
index 471d165b962..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X100e.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \left‖ \left‖ \left‖ \left‖ \left‖ \left‖ x^2
- \right‖^2 \right‖^2 \right‖^2 \right‖^2 \right‖^2 \right‖ \]
-
-\[ \left\Vert \left\Vert \left\Vert \left\Vert \left\Vert \left\Vert x^2
- \right\Vert^2 \right\Vert^2 \right\Vert^2 \right\Vert^2 \right\Vert^2 \right\Vert \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X101a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X101a.ltx
deleted file mode 100644
index 499f862d74e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X101a.ltx
+++ /dev/null
@@ -1,8 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ a>b \quad c<d \]
-\[ \left< \left< \left< \left< x \right>^2
- \right>^2 \right>^2 \right>^2 \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X102a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X102a.ltx
deleted file mode 100644
index eda889561eb..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X102a.ltx
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{umtest-preamble}
-\usepackage[slash-delimiter=frac]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \left.\left[\begin{array}{cc}
- a & b \\ c & d
- \end{array}\right]
- \middle/
- \left[\begin{array}{cc}
- 1 & 1 \\ 1 & 0
- \end{array}\right]\right.
-\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X150a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X150a.ltx
deleted file mode 100644
index 0cb4b301d3d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X150a.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath,unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\centerline{$\int\quad\idotsint$}
-\[\int\quad\idotsint\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X151a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X151a.ltx
deleted file mode 100644
index fc8c46ddd91..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X151a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ \hat i \qquad \hat x \qquad \hat M \qquad \hat {x+y} \]
-\[ \widehat i \qquad \widehat x \qquad \widehat M \qquad \widehat {x+y} \]
-\[ \tilde i \qquad \tilde x \qquad \tilde M \qquad \tilde {x+y} \]
-\[ \widetilde i \qquad \widetilde x \qquad \widetilde M \qquad \widetilde {x+y} \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X202a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X202a.ltx
deleted file mode 100644
index b6dc986f62b..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X202a.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[a\colon b\qquad a: b
- \qquad a^^^^2236 b\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X202b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X202b.ltx
deleted file mode 100644
index c4f159a85f4..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X202b.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage[colon=literal]{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[a\colon b\qquad a: b
- \qquad a^^^^2236 b\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X203a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X203a.ltx
deleted file mode 100644
index caa793930e7..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X203a.ltx
+++ /dev/null
@@ -1,7 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[a-b\]
-\[a\minus b\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X206a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X206a.ltx
deleted file mode 100644
index 08de9dee0aa..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X206a.ltx
+++ /dev/null
@@ -1,8 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[A+B+\dots+Z\]
-\[(A+B+\dots)\]
-\[(A+B+\cdots)\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X206b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X206b.ltx
deleted file mode 100644
index 0f054b98c6b..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X206b.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[A+B+\dots+Z\]
-\[(A+B+\dots)\]
-\[(A+B+\cdots)\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X206c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X206c.ltx
deleted file mode 100644
index 3ed745d8c2e..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X206c.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[ a\percent b \% c \]
-\[ a\mathdollar b \$ c \]
-\[ a\ampersand b \& c \]
-\[ a\octothorpe b \# c \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X207a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X207a.ltx
deleted file mode 100644
index 0edbf0806bc..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X207a.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\unimathsetup{active-frac=normalsize}
-\[ ¼ ½ ¾ ⅐ ⅑ ⅒ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ \]
-\unimathsetup{active-frac=small}
-\[ ¼ ½ ¾ ⅐ ⅑ ⅒ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘ ⅙ ⅚ ⅛ ⅜ ⅝ ⅞ \]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X401a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X401a.ltx
deleted file mode 100644
index 301b74de02f..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X401a.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-
-
-
-\setmathfont{Cambria Math}
-
-\[ x=1.23 \quad x=1,23\]
-
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X500a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X500a.ltx
deleted file mode 100644
index 91eb7bcd520..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X500a.ltx
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[Colour=000000]{Cambria Math}
-\setmathfont[range={\mathop}, Colour=FF0000]{Cambria Math}
-\setmathfont[range={"3D}, Colour=009900]{Cambria Math}
-\setmathfont[range={\mathopen,\mathclose},
- Colour=0000FF]{Cambria Math}
-\setlength\parskip{12pt}
-\begin{document}
-\[
- F(s)=\mathscr{L}\left\{f(t)\right\}=
- \int_0^\infty \mathup{e}^{-st}f(t)\,\mathup{d}t
-\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X501a.ltx
deleted file mode 100644
index 63add88fcc5..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501a.ltx
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[Colour=000000]{Cambria Math}
-\setmathfont[range=\mathscr, Colour=FF0000]{Cambria Math}
-\setmathfont[range=\mathfrak, Colour=0000FF]{Cambria Math}
-\begin{document}
-\[\latintext\]
-\[\mathscr{\latintext}\]
-\[\mathfrak{\latintext}\]
-\[\LATINmath\]
-\[\mathscr{\LATINmath}\]
-\[\mathfrak{\LATINmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X501b.ltx
deleted file mode 100644
index 6aaca122253..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501b.ltx
+++ /dev/null
@@ -1,10 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[Colour=000000]{Cambria Math}
-\setmathfont[range=\mathscr, Colour=FF0000]{TeX Gyre Chorus}
-\begin{document}
-\[\latintext\]
-\[\mathscr{\latintext}\]
-\[\LATINmath\]
-\[\mathscr{\LATINmath}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X501d.ltx
deleted file mode 100644
index 5bb0a0fb66d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501d.ltx
+++ /dev/null
@@ -1,14 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[Colour=330000]{Cambria Math}
-\setmathfont[range=\mathit/{latin}, Colour=660000]{Cambria Math}
-\setmathfont[range=\mathit/{Greek}, Colour=990000]{Cambria Math}
-\setmathfont[range=\mathit/{greek}, Colour=BB0000]{Cambria Math}
-\setmathfont[range=\mathup/{num}, Colour=EE0000]{Cambria Math}
-\begin{document}
-\[\mathit{\LATINtext}\]
-\[\mathit{\latintext}\]
-\[\mathit{\GREEKtext}\]
-\[\mathit{\greektext}\]
-\[0123456789\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501e.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X501e.ltx
deleted file mode 100644
index b9470cd3618..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X501e.ltx
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont[
- range={
- \mathit/{latin}->\mathbfup ,
- \mathit/{Latin}->\mathsfup
- }
- ]{Cambria Math}
-\setmathfont[
- range={
- \mathup/{Greek}->\mathbfup ,
- \mathit/{greek}->\mathbfit
- },
- Colour=990000
- ]{Cambria Math}
-\begin{document}
-\vspace*{-1cm}
-\[\LATINtext\]
-\[\latintext\]
-\[\mathit{\LATINtext}\]
-\[\mathit{\latintext}\]
-\[{\GREEKtext}\]
-\[{\greektext}\]
-\[\mathup{\GREEKtext}\]
-\[\mathit{\greektext}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X502a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X502a.ltx
deleted file mode 100644
index b1c897c069c..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X502a.ltx
+++ /dev/null
@@ -1,21 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{STIXGeneral}
-\setmathfont
- [range={\mathit,\mathsfit,\mathscr}]
- {STIXGeneral-Italic}
-\setmathfont
- [range={\mathbfup,\mathbffrak,
- \mathbfsfup}]
- {STIXGeneral-Bold}
-\setmathfont
- [range={\mathbfit,\mathbfsfit,\mathbfscr}]
- {STIXGeneral-BoldItalic}
-\begin{document}
-\[\mathit{A}\mathup{A}
- \mathsfup{A}\mathsfit{A}\]
-\[\mathscr{A}\mathfrak{A}\mathbb{A}\]
-\[\mathbfup{A}\mathbfit{A}
- \mathbfsfup{A}\mathbfsfit{A}\]
-\[\mathbfscr{A}\mathbffrak{A}\]
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X502b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X502b.ltx
deleted file mode 100644
index bcc6473e823..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X502b.ltx
+++ /dev/null
@@ -1,20 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-Default:
-\[
-(a+b)^2 = \sqrt{c+d}
-\]
-\setmathfont[range={\mathup}]{Linux Libertine}
-\setmathfont[range={\mathit}]{Linux Libertine Italic}
-Example of a non-math OpenType font:
-\[
-(a+b)^2 = \sqrt{c+d}
-\]
-With symbols:
-\setmathfont[range={`\+,`\=,`\(,`\)}]{Linux Libertine}
-\[
-(a+b)^2 = \sqrt{c+d}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X503a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X503a.ltx
deleted file mode 100644
index 1ec7ff2e738..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X503a.ltx
+++ /dev/null
@@ -1,22 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\begin{document}
-\setmathfont{XITS Math}
-\[
- \mathscr{\LATINtext}
-\]
-\[
- \mathcal{\LATINtext}
-\]
-\setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1]{XITS Math}
-\[
- \mathscr{\LATINtext}
-\]
-\[
- \mathcal{\LATINtext}
-\]
-\footnotesize
-\[
- \mathbfcal{\LATINtext}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X600a.ltx
deleted file mode 100644
index 2fe3853b0a6..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600a.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X600b.ltx
deleted file mode 100644
index 2ba34f67e1f..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600b.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600c.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X600c.ltx
deleted file mode 100644
index fcd692a0bbe..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600c.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Asana Math}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600d.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X600d.ltx
deleted file mode 100644
index 582b7b44683..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600d.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{Neo Euler}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X600f.ltx
deleted file mode 100644
index f98dfc61a3d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X600f.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-\[
-\sum_{\substack{a \\ bbb}}
-\sum_{\substack{\dfrac12 \\ \vec A'}}
-\sum_{\begin{subarray}{l} a \\ bbb \end{subarray}}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X601a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X601a.ltx
deleted file mode 100644
index d7dbf3c5f6d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X601a.ltx
+++ /dev/null
@@ -1,26 +0,0 @@
-\input{umtest-preamble}
-\usepackage{mathtools}
-\begin{document}
-\[
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-\]
-\(
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-}
-a^{
- a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
- }
-}
-\)
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X601b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X601b.ltx
deleted file mode 100644
index 2d4983a8c59..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X601b.ltx
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{umtest-preamble}
-\usepackage{mathtools}
-\usepackage{unicode-math}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-\]
-\(
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-}
-a^{
- a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
- }
-}
-\)
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X601f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X601f.ltx
deleted file mode 100644
index 4ecb9853cf1..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X601f.ltx
+++ /dev/null
@@ -1,28 +0,0 @@
-\input{umtest-preamble}
-\usepackage{mathtools}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\begin{document}
-\[
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-\]
-\(
-\frac{a^2 + b^2}{a^2 + b^2}
-\frac{\cramped{a^2 + b^2}}{a^2 + b^2}
-\frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
-}
-a^{
- a^{
- \frac{a^2 + b^2}{a^2 + b^2}
- \frac{\cramped{a^2 + b^2}}{a^2 + b^2}
- \frac{a^2 + b^2}{\cramped{a^2 + b^2}}
- }
-}
-\)
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X604a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X604a.ltx
deleted file mode 100644
index c43706cc298..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X604a.ltx
+++ /dev/null
@@ -1,13 +0,0 @@
-\input{umtest-preamble}
-\usepackage{amsmath}
-\usepackage{graphicx}
-\newcommand*{\test}[1]{%
- \parbox[b][50pt]{50pt}{\scalebox{3}{$#1$}}%
-}
-\begin{document}
-\test{\sqrt[a]{b}}
-\test{\sqrt[\uproot{10}a]{b}}
-
-\test{\sqrt[\leftroot{10}a]{b}}
-\test{\sqrt[\leftroot{10}\uproot{10}a]{b}}
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X604b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X604b.ltx
deleted file mode 100644
index 235d51c6354..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X604b.ltx
+++ /dev/null
@@ -1,15 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{amsmath}
-\usepackage{graphicx}
-\setmathfont{Cambria Math}
-\newcommand*{\test}[1]{%
- \parbox[b][50pt]{50pt}{\scalebox{3}{$#1$}}%
-}
-\begin{document}
-\test{\sqrt[a]{b}}
-\test{\sqrt[\uproot{10}a]{b}}
-
-\test{\sqrt[\leftroot{10}a]{b}}
-\test{\sqrt[\leftroot{10}\uproot{10}a]{b}}
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X610f.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X610f.ltx
deleted file mode 100644
index f8055f46468..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X610f.ltx
+++ /dev/null
@@ -1,9 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\setmathfont{XITS Math}
-\usepackage[all,pdf]{xy}
-\begin{document}
-\[
-\xymatrix{a \ar[r] & b}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X620b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X620b.ltx
deleted file mode 100644
index c8c15066083..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X620b.ltx
+++ /dev/null
@@ -1,11 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{delarray}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\begin{array}[t]({c}) 1\\2\\3 \end{array}
-\begin{array}[c]({c}) 1\\2\\3 \end{array}
-\begin{array}[b]({c}) 1\\2\\3 \end{array}
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X650a.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X650a.ltx
deleted file mode 100644
index abaae93629a..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X650a.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{mathtools}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\coloneq
-\coloneqq
-\eqcolon
-\eqqcolon
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/X650b.ltx b/Master/texmf-dist/source/latex/unicode-math/testfiles/X650b.ltx
deleted file mode 100644
index 4bda71a40f0..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/X650b.ltx
+++ /dev/null
@@ -1,12 +0,0 @@
-\input{umtest-preamble}
-\usepackage{unicode-math}
-\usepackage{colonequals}
-\setmathfont{Cambria Math}
-\begin{document}
-\[
-\coloneq
-\colonequals
-\eqcolon
-\equalscolon
-\]
-\end{document}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-preamble.tex b/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-preamble.tex
deleted file mode 100644
index aa6442fc314..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-preamble.tex
+++ /dev/null
@@ -1,70 +0,0 @@
-
-\documentclass{article}
-\usepackage{geometry}
-\geometry{
- papersize={9cm,6cm},margin=0.5cm
-}
-\pagestyle{empty}
-
-\newcommand\LATINtext{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
-\newcommand\latintext{abcdefghijklmnopqrstuvwxyz}
-\newcommand\LATINmath{𝐴𝐵𝐶𝐷𝐸𝐹𝐺𝐻𝐼𝐽𝐾𝐿𝑀𝑁𝑂𝑃𝑄𝑅𝑆𝑇𝑈𝑉𝑊𝑋𝑌𝑍}
-\newcommand\latinmath{𝑎𝑏𝑐𝑑𝑒𝑓𝑔ℎ𝑖𝑗𝑘𝑙𝑚𝑛𝑜𝑝𝑞𝑟𝑠𝑡𝑢𝑣𝑤𝑥𝑦𝑧}
-\newcommand\GREEKtext{ΑΒΓΔΕΖΗΘϴΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ}
-\newcommand\greektext{αβγδεϵζηθϑικϰλμνξοπϖρϱςστυφϕχψω}
-\newcommand\GREEKmath{𝛢𝛣𝛤𝛥𝛦𝛧𝛨𝛩𝛳𝛪𝛫𝛬𝛭𝛮𝛯𝛰𝛱𝛲𝛴𝛵𝛶𝛷𝛸𝛹𝛺}
-\newcommand\greekmath{𝛼𝛽𝛾𝛿𝜀𝜖𝜁𝜂𝜃𝜗𝜄𝜅𝜘𝜆𝜇𝜈𝜉𝜊𝜋𝜛𝜌𝜚𝜍𝜎𝜏𝜐𝜑𝜙𝜒𝜓𝜔}
-
-\newcommand\LATINmathbb{𝔸𝔹ℂ𝔻𝔼𝔽𝔾ℍ𝕀𝕁𝕂𝕃𝕄ℕ𝕆ℙℚℝ𝕊𝕋𝕌𝕍𝕎𝕏𝕐ℤ}
-\newcommand\latinmathbb{𝕒𝕓𝕔𝕕𝕖𝕗𝕘𝕙𝕚𝕛𝕜𝕝𝕞𝕟𝕠𝕡𝕢𝕣𝕤𝕥𝕦𝕧𝕨𝕩𝕪𝕫}
-\newcommand\numbersmathbb{𝟘𝟙𝟚𝟛𝟜𝟝𝟞𝟟𝟠𝟡}
-\newcommand\reservedmathbb{𝔺 𝔿 𝕅 𝕇 𝕈 𝕉 𝕑}
-
-\newcommand\LATINmathscr{𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵}
-\newcommand\latinmathscr{𝒶𝒷𝒸𝒹ℯ𝒻ℊ𝒽𝒾𝒿𝓀𝓁𝓂𝓃ℴ𝓅𝓆𝓇𝓈𝓉𝓊𝓋𝓌𝓍𝓎𝓏}
-\newcommand\reservedmathscr{𝒝 𝒠 𝒡 𝒣 𝒤 𝒧 𝒨 𝒭 \quad 𝒺 𝒼 𝓄}
-
-\newcommand\LATINmathfrak{𝔄𝔅ℭ𝔇𝔈𝔉𝔊ℌℑ𝔍𝔎𝔏𝔐𝔑𝔒𝔓𝔔ℜ𝔖𝔗𝔘𝔙𝔚𝔛𝔜ℨ}
-\newcommand\latinmathfrak{𝔞𝔟𝔠𝔡𝔢𝔣𝔤𝔥𝔦𝔧𝔨𝔩𝔪𝔫𝔬𝔭𝔮𝔯𝔰𝔱𝔲𝔳𝔴𝔵𝔶𝔷}
-\newcommand\reservedmathfrak{𝔆 𝔋 𝔌 𝔕 𝔝}
-
-\newcommand\LATINmathsfup{𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹}
-\newcommand\latinmathsfup{𝖺𝖻𝖼𝖽𝖾𝖿𝗀𝗁𝗂𝗃𝗄𝗅𝗆𝗇𝗈𝗉𝗊𝗋𝗌𝗍𝗎𝗏𝗐𝗑𝗒𝗓}
-\newcommand\numbersmathsfup{𝟢𝟣𝟤𝟥𝟦𝟧𝟨𝟩𝟪𝟫}
-
-\newcommand\LATINmathsfit{𝘈𝘉𝘊𝘋𝘌𝘍𝘎𝘏𝘐𝘑𝘒𝘓𝘔𝘕𝘖𝘗𝘘𝘙𝘚𝘛𝘜𝘝𝘞𝘟𝘠𝘡}
-\newcommand\latinmathsfit{𝘢𝘣𝘤𝘥𝘦𝘧𝘨𝘩𝘪𝘫𝘬𝘭𝘮𝘯𝘰𝘱𝘲𝘳𝘴𝘵𝘶𝘷𝘸𝘹𝘺𝘻}
-
-\newcommand\LATINmathtt{𝙰𝙱𝙲𝙳𝙴𝙵𝙶𝙷𝙸𝙹𝙺𝙻𝙼𝙽𝙾𝙿𝚀𝚁𝚂𝚃𝚄𝚅𝚆𝚇𝚈𝚉}
-\newcommand\latinmathtt{𝚊𝚋𝚌𝚍𝚎𝚏𝚐𝚑𝚒𝚓𝚔𝚕𝚖𝚗𝚘𝚙𝚚𝚛𝚜𝚝𝚞𝚟𝚠𝚡𝚢𝚣}
-\newcommand\numbersmathtt{𝟶𝟷𝟸𝟹𝟺𝟻𝟼𝟽𝟾𝟿}
-
-
-\newcommand\LATINmathbfit{𝑨𝑩𝑪𝑫𝑬𝑭𝑮𝑯𝑰𝑱𝑲𝑳𝑴𝑵𝑶𝑷𝑸𝑹𝑺𝑻𝑼𝑽𝑾𝑿𝒀𝒁}
-\newcommand\latinmathbfit{𝒂𝒃𝒄𝒅𝒆𝒇𝒈𝒉𝒊𝒋𝒌𝒍𝒎𝒏𝒐𝒑𝒒𝒓𝒔𝒕𝒖𝒗𝒘𝒙𝒚𝒛}
-\newcommand\GREEKmathbfit{𝜜𝜝𝜞𝜟𝜠𝜡𝜢𝜣𝜭𝜤𝜥𝜦𝜧𝜨𝜩𝜪𝜫𝜬𝜮𝜯𝜰𝜱𝜲𝜳𝜴}
-\newcommand\greekmathbfit{𝜶𝜷𝜸𝜹𝜺𝝐𝜻𝜼𝜽𝝑𝜾𝜿𝝒𝝀𝝁𝝂𝝃𝝄𝝅𝝕𝝆𝝔𝝇𝝈𝝉𝝊𝝋𝝓𝝌𝝍𝝎}
-
-\newcommand\LATINmathbfup{𝐀𝐁𝐂𝐃𝐄𝐅𝐆𝐇𝐈𝐉𝐊𝐋𝐌𝐍𝐎𝐏𝐐𝐑𝐒𝐓𝐔𝐕𝐖𝐗𝐘𝐙}
-\newcommand\latinmathbfup{𝐚𝐛𝐜𝐝𝐞𝐟𝐠𝐡𝐢𝐣𝐤𝐥𝐦𝐧𝐨𝐩𝐪𝐫𝐬𝐭𝐮𝐯𝐰𝐱𝐲𝐳}
-\newcommand\GREEKmathbfup{𝚨𝚩𝚪𝚫𝚬𝚭𝚮𝚯𝚹𝚰𝚱𝚲𝚳𝚴𝚵𝚶𝚷𝚸𝚺𝚻𝚼𝚽𝚾𝚿𝛀}
-\newcommand\greekmathbfup{𝛂𝛃𝛄𝛅𝛆𝛜𝛇𝛈𝛉𝛝𝛊𝛋𝛞𝛌𝛍𝛎𝛏𝛐𝛑𝛡𝛒𝛠𝛓𝛔𝛕𝛖𝛗𝛟𝛘𝛙𝛚}
-\newcommand\numbersmathbfup{𝟎𝟏𝟐𝟑𝟒𝟓𝟔𝟕𝟖𝟗}
-
-\newcommand\LATINmathbfscr{𝓐𝓑𝓒𝓓𝓔𝓕𝓖𝓗𝓘𝓙𝓚𝓛𝓜𝓝𝓞𝓟𝓠𝓡𝓢𝓣𝓤𝓥𝓦𝓧𝓨𝓩}
-\newcommand\latinmathbfscr{𝓪𝓫𝓬𝓭𝓮𝓯𝓰𝓱𝓲𝓳𝓴𝓵𝓶𝓷𝓸𝓹𝓺𝓻𝓼𝓽𝓾𝓿𝔀𝔁𝔂𝔃}
-
-\newcommand\LATINmathbffrak{𝕬𝕭𝕮𝕯𝕰𝕱𝕲𝕳𝕴𝕵𝕶𝕷𝕸𝕹𝕺𝕻𝕼𝕽𝕾𝕿𝖀𝖁𝖂𝖃𝖄𝖅}
-\newcommand\latinmathbffrak{𝖆𝖇𝖈𝖉𝖊𝖋𝖌𝖍𝖎𝖏𝖐𝖑𝖒𝖓𝖔𝖕𝖖𝖗𝖘𝖙𝖚𝖛𝖜𝖝𝖞𝖟}
-
-\newcommand\LATINmathbfsfup{𝗔𝗕𝗖𝗗𝗘𝗙𝗚𝗛𝗜𝗝𝗞𝗟𝗠𝗡𝗢𝗣𝗤𝗥𝗦𝗧𝗨𝗩𝗪𝗫𝗬𝗭}
-\newcommand\latinmathbfsfup{𝗮𝗯𝗰𝗱𝗲𝗳𝗴𝗵𝗶𝗷𝗸𝗹𝗺𝗻𝗼𝗽𝗾𝗿𝘀𝘁𝘂𝘃𝘄𝘅𝘆𝘇}
-\newcommand\GREEKmathbfsfup{𝝖𝝗𝝘𝝙𝝚𝝛𝝜𝝝𝝧𝝞𝝟𝝠𝝡𝝢𝝣𝝤𝝥𝝦𝝨𝝩𝝪𝝫𝝬𝝭𝝮}
-\newcommand\greekmathbfsfup{𝝰𝝱𝝲𝝳𝝴𝞊𝝵𝝶𝝷𝞋𝝸𝝹𝞌𝝺𝝻𝝼𝝽𝝾𝝿𝞏𝞀𝞎𝞁𝞂𝞃𝞄𝞅𝞋𝞆𝞇𝞈}
-\newcommand\numbersmathbfsfup{𝟬𝟭𝟮𝟯𝟰𝟱𝟲𝟳𝟴𝟵}
-
-\newcommand\LATINmathbfsfit{𝘼𝘽𝘾𝘿𝙀𝙁𝙂𝙃𝙄𝙅𝙆𝙇𝙈𝙉𝙊𝙋𝙌𝙍𝙎𝙏𝙐𝙑𝙒𝙓𝙔𝙕}
-\newcommand\latinmathbfsfit{𝙖𝙗𝙘𝙙𝙚𝙛𝙜𝙝𝙞𝙟𝙠𝙡𝙢𝙣𝙤𝙥𝙦𝙧𝙨𝙩𝙪𝙫𝙬𝙭𝙮𝙯}
-\newcommand\GREEKmathbfsfit{𝞐𝞑𝞒𝞓𝞔𝞕𝞖𝞗𝞡𝞘𝞙𝞚𝞛𝞜𝞝𝞞𝞟𝞠𝞢𝞣𝞤𝞥𝞦𝞧𝞨}
-\newcommand\greekmathbfsfit{𝞪𝞫𝞬𝞭𝞮𝟄𝞯𝞰𝞱𝟅𝞲𝞳𝟆𝞴𝞵𝞶𝞷𝞸𝞹𝟉𝞺𝟈𝞻𝞼𝞽𝞾𝞿𝟅𝟀𝟁𝟂}
-
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-F.tex b/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-F.tex
deleted file mode 100644
index 4f97a00b0e2..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-F.tex
+++ /dev/null
@@ -1,22 +0,0 @@
-\inserttest{F-active-sscripts-L}
-\inserttest{F-alph-spaces-L}
-\inserttest{F-arrow-accents-L}
-\inserttest{F-mathstyle-french-L}
-\inserttest{F-mathstyle-iso-L}
-\inserttest{F-mathstyle-literal-L}
-\inserttest{F-mathstyle-tex-L}
-\inserttest{F-mathstyle-upright-L}
-\inserttest{F-mathversion-L}
-\inserttest{F-nolimits-spec-L}
-\inserttest{F-over-under-2-L}
-\inserttest{F-over-under-L}
-\inserttest{F-pkg-url-L}
-\inserttest{F-primes-1-L}
-\inserttest{F-primes-2-L}
-\inserttest{F-primes-back-L}
-\inserttest{F-query-mathstyle-L}
-\inserttest{F-range-prime-check-L}
-\inserttest{F-slash-delim-2-L}
-\inserttest{F-sqrt-L}
-\inserttest{F-sqrt-n-L}
-\inserttest{F-sscript-features-L}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-L.tex b/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-L.tex
deleted file mode 100644
index 9783d45465d..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-L.tex
+++ /dev/null
@@ -1,14 +0,0 @@
-\inserttest{L-sscale-dimen}
-\inserttest{L600a}
-\inserttest{L600b}
-\inserttest{L600c}
-\inserttest{L600f}
-\inserttest{L601a}
-\inserttest{L601b}
-\inserttest{L601f}
-\inserttest{L602b}
-\inserttest{L603b}
-\inserttest{L604a}
-\inserttest{L604b}
-\inserttest{L650a}
-\inserttest{L650b}
diff --git a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-X.tex b/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-X.tex
deleted file mode 100644
index 6ab838ffe64..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/testfiles/umtest-suite-X.tex
+++ /dev/null
@@ -1,119 +0,0 @@
-\inserttest{X002a}
-\inserttest{X002b}
-\inserttest{X002c}
-\inserttest{X002d}
-\inserttest{X002e}
-\inserttest{X003a}
-\inserttest{X003b}
-\inserttest{X003c}
-\inserttest{X003d}
-\inserttest{X003e}
-\inserttest{X003f}
-\inserttest{X003g}
-\inserttest{X003h}
-\inserttest{X003i}
-\inserttest{X003j}
-\inserttest{X003k}
-\inserttest{X003l}
-\inserttest{X003m}
-\inserttest{X003n}
-\inserttest{X003o}
-\inserttest{X003p}
-\inserttest{X004a}
-\inserttest{X004b}
-\inserttest{X004c}
-\inserttest{X004d}
-\inserttest{X004e}
-\inserttest{X004f}
-\inserttest{X005a}
-\inserttest{X005b}
-\inserttest{X005c}
-\inserttest{X005d}
-\inserttest{X005e}
-\inserttest{X005f}
-\inserttest{X005g}
-\inserttest{X005h}
-\inserttest{X005i}
-\inserttest{X005j}
-\inserttest{X005k}
-\inserttest{X005l}
-\inserttest{X010a}
-\inserttest{X010b}
-\inserttest{X010c}
-\inserttest{X010d}
-\inserttest{X011a}
-\inserttest{X011b}
-\inserttest{X012a}
-\inserttest{X012b}
-\inserttest{X013a}
-\inserttest{X013b}
-\inserttest{X013c}
-\inserttest{X013d}
-\inserttest{X013e}
-\inserttest{X014a}
-\inserttest{X014b}
-\inserttest{X014c}
-\inserttest{X015a}
-\inserttest{X015b}
-\inserttest{X016a}
-\inserttest{X016b}
-\inserttest{X016c}
-\inserttest{X017a}
-\inserttest{X017b}
-\inserttest{X017c}
-\inserttest{X017d}
-\inserttest{X018a}
-\inserttest{X018b}
-\inserttest{X019a}
-\inserttest{X019b}
-\inserttest{X020a}
-\inserttest{X020b}
-\inserttest{X021a}
-\inserttest{X021b}
-\inserttest{X030a}
-\inserttest{X031a}
-\inserttest{X031b}
-\inserttest{X031c}
-\inserttest{X032a}
-\inserttest{X032b}
-\inserttest{X032c}
-\inserttest{X033a}
-\inserttest{X100a}
-\inserttest{X100b}
-\inserttest{X100c}
-\inserttest{X100d}
-\inserttest{X100e}
-\inserttest{X101a}
-\inserttest{X102a}
-\inserttest{X150a}
-\inserttest{X151a}
-\inserttest{X202a}
-\inserttest{X202b}
-\inserttest{X203a}
-\inserttest{X206a}
-\inserttest{X206b}
-\inserttest{X206c}
-\inserttest{X207a}
-\inserttest{X401a}
-\inserttest{X500a}
-\inserttest{X501a}
-\inserttest{X501b}
-\inserttest{X501d}
-\inserttest{X501e}
-\inserttest{X502a}
-\inserttest{X502b}
-\inserttest{X503a}
-\inserttest{X600a}
-\inserttest{X600b}
-\inserttest{X600c}
-\inserttest{X600d}
-\inserttest{X600f}
-\inserttest{X601a}
-\inserttest{X601b}
-\inserttest{X601f}
-\inserttest{X604a}
-\inserttest{X604b}
-\inserttest{X610f}
-\inserttest{X620b}
-\inserttest{X650a}
-\inserttest{X650b}
diff --git a/Master/texmf-dist/source/latex/unicode-math/unicode-math-testsuite.ltx b/Master/texmf-dist/source/latex/unicode-math/unicode-math-testsuite.ltx
deleted file mode 100644
index 0744cfbc4ec..00000000000
--- a/Master/texmf-dist/source/latex/unicode-math/unicode-math-testsuite.ltx
+++ /dev/null
@@ -1,53 +0,0 @@
-\documentclass{article}
-\usepackage{xltxtra,fancyvrb,geometry,calc}
-\usepackage[multidot]{grffile}
-\geometry{margin=2cm,a4paper}
-\setmainfont{TeX Gyre Pagella}
-\setmonofont{Consolas}
-
-\def\prefix{}
-\newcommand\inserttest[1]{%
- \subsection{Test #1}
- \begin{minipage}{0.5\textwidth}
- \VerbatimInput{#1\prefix.ltx}
- \end{minipage}
- \hfill
- \begin{minipage}{8cm+4pt}
- \fboxsep=1pt
- \fboxrule=1pt
- \fbox{\includegraphics[width=8cm]{../testfiles/#1\prefix.safe.pdf}}
- \end{minipage}
-}
-
-\pagestyle{empty}
-\begin{document}
-\title{The \textsf{unicode-math} test suite}
-\author{Will Robertson}
-\date{Compiled: \today}
-\maketitle
-\thispagestyle{empty}
-
-\section{Preamble}
-
-\begin{minipage}{0.5\textwidth}
-The following pieces of output are generated from the code shown.
-As well as being good minimal examples, these tests are useful to ensure that new bugs don't affect old behaviour.
-When the test suite is run, the new output is compared pixel by pixel with that shown here and warnings produced if the outputs are not identical.
-\end{minipage}
-
-\section{Test files for both engines}
-
-Only the Lua\LaTeX\ output is shown; there will be (usually only) negligible differences between the outout between the two engines.
-
-\input{umtest-suite-F.tex}
-\def\prefix{}
-
-\section{Lua\LaTeX\ test files}
-
-\input{umtest-suite-L.tex}
-
-\section{\XeLaTeX\ test files}
-
-\input{umtest-suite-X.tex}
-
-\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
index e536cfe1435..c255e1b3050 100644
--- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
@@ -18,18 +18,6 @@ the conditions of the LaTeX Project Public License, version 1.3c or higher
This work is "maintained" by Will Robertson.
\endpreamble
-\def\MetaPrefix{--}
-\declarepreamble\luapreamble
-Copyright 2006-2013 Will Robertson <will.robertson@latex-project.org>
-Copyright 2010-2013 Philipp Stephani <st_philipp@yahoo.de>
-Copyright 2012-2013 Khaled Hosny <khaledhosny@eglug.org>
-
-This package is free software and may be redistributed and/or modified under
-the conditions of the LaTeX Project Public License, version 1.3c or higher
-(your choice): <http://www.latex-project.org/lppl/>.
-
-This work is "maintained" by Will Robertson.
-\endpreamble
\nopostamble
\askforoverwritefalse
\let\MetaPrefix\DoubleperCent
@@ -45,11 +33,6 @@ This work is "maintained" by Will Robertson.
\generate{\file{unicode-math-luatex.sty}{
\from{unicode-math.dtx}{package,LU}
}}
-\def\MetaPrefix{--}
-\usepreamble\luapreamble
-\generate{\file{unicode-math.lua}{\from{unicode-math.dtx}{lua}}}
-\let\MetaPrefix\DoubleperCent
-\nopreamble
\def\tempa{plain}
\ifx\tempa\fmtname\endgroup\expandafter\bye\fi
\generate{\file{dtx-style.sty}{\from{\jobname.dtx}{dtx-style}}}
@@ -60,7 +43,7 @@ This work is "maintained" by Will Robertson.
%<preamble&XE>\ProvidesPackage{unicode-math-xetex}
%<preamble&LU>\ProvidesPackage{unicode-math-luatex}
%<*preamble>
- [2013/05/04 v0.7e Unicode maths in XeLaTeX and LuaLaTeX]
+ [2014/06/30 v0.7f Unicode maths in XeLaTeX and LuaLaTeX]
%</preamble>
%<*internal>
\documentclass[a4paper]{ltxdoc}
@@ -493,7 +476,7 @@ This work is "maintained" by Will Robertson.
% in \tabref{mathalphabets}. Some of these have been covered in the previous sections.
%
% The math font switching commands do not nest; therefore if you want
-% sans serif bold, you must write |\mathsfbf{...}| rather than |\mathbf{\mathsf{...}}|.
+% sans serif bold, you must write |\mathbfsf{...}| rather than |\mathbf{\mathsf{...}}|.
% This may change in the future.
%
% \begin{table}
@@ -558,12 +541,12 @@ This work is "maintained" by Will Robertson.
% the caligraphic letters are accessed with the same glyph slots as the
% script letters but with the first stylistic set feature (|ss01|) applied.
% \begin{verbatim}
-% \setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1]{XITS Math}
+% \setmathfont[range={\mathcal,\mathbfcal},StylisticSet=1]{xits-math.otf}
% \end{verbatim}
% An example is shown below.
% \begin{quote}
-% \setmathfont[range=\mathscr]{XITS Math}
-% \setmathfont[range=\mathcal,StylisticSet=1]{XITS Math}
+% \setmathfont[range=\mathscr]{xits-math.otf}
+% \setmathfont[range=\mathcal,StylisticSet=1]{xits-math.otf}
% The Script style (\cs{mathscr}) in XITS Math is: $\mathscr{ABCXYZ}$\par
% The Caligraphic style (\cs{mathcal}) in XITS Math is: $\mathcal{ABCXYZ}$
% \end{quote}
@@ -1040,6 +1023,8 @@ This work is "maintained" by Will Robertson.
% \section{Header code}
%
% We (later on) bifurcate the package based on the engine being used.
+% These separate package files are indicated with the Docstrip flags \textsf{LU} and \textsf{XE}, respectively.
+% Shared code executed before loading the engine-specific code is indicated with the flag \textsf{preamble}.
% \begin{macrocode}
%<*load>
\luatex_if_engine:T { \RequirePackage{unicode-math-luatex} \endinput }
@@ -1051,6 +1036,7 @@ This work is "maintained" by Will Robertson.
%<*preamble&!XE&!LU>
% \end{macrocode}
%
+% Bail early if using pdf\TeX.
% \begin{macrocode}
\usepackage{ifxetex,ifluatex}
\ifxetex
@@ -1085,6 +1071,27 @@ This work is "maintained" by Will Robertson.
\RequirePackage{fix-cm} % avoid some warnings
\RequirePackage{filehook}[2011/01/03]
% \end{macrocode}
+% Need this part from \pkg{fixltx2e}:
+% \begin{macrocode}
+\def\@DeclareMathSizes #1#2#3#4#5{%
+ \@defaultunits\dimen@ #2pt\relax\@nnil
+ \if $#3$%
+ \expandafter\let\csname S@\strip@pt\dimen@\endcsname\math@fontsfalse
+ \else
+ \@defaultunits\dimen@ii #3pt\relax\@nnil
+ \@defaultunits\@tempdima #4pt\relax\@nnil
+ \@defaultunits\@tempdimb #5pt\relax\@nnil
+ \toks@{#1}%
+ \expandafter\xdef\csname S@\strip@pt\dimen@\endcsname{%
+ \gdef\noexpand\tf@size{\strip@pt\dimen@ii}%
+ \gdef\noexpand\sf@size{\strip@pt\@tempdima}%
+ \gdef\noexpand\ssf@size{\strip@pt\@tempdimb}%
+ \the\toks@
+ }%
+ \fi
+}
+% \end{macrocode}
+%
% Start using \LaTeX3 --- finally!
% \begin{macrocode}
\ExplSyntaxOn
@@ -1098,7 +1105,8 @@ This work is "maintained" by Will Robertson.
\cs_generate_variant:Nn \prop_get:NnN {cxN}
\cs_generate_variant:Nn \prop_if_in:NnTF {cx}
% \end{macrocode}
-% Extra expansion command:
+%
+% An extra expansion command:
% \begin{macrocode}
\cs_set:Npn \exp_args:NNcc #1#2#3#4 {
\exp_after:wN #1 \exp_after:wN #2
@@ -1107,6 +1115,11 @@ This work is "maintained" by Will Robertson.
}
% \end{macrocode}
%
+% For \pkg{fontspec}:
+% \begin{macrocode}
+\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
+\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {NNx}
+% \end{macrocode}
%
% \paragraph{Conditionals}
%
@@ -1154,6 +1167,7 @@ This work is "maintained" by Will Robertson.
\int_new:N \g_um_fam_int
% \end{macrocode}
%
+% For displaying in warning messages, etc.:
% \begin{macrocode}
\tl_const:Nn \c_um_math_alphabet_name_latin_tl {Latin,~lowercase}
\tl_const:Nn \c_um_math_alphabet_name_Latin_tl {Latin,~uppercase}
@@ -1165,6 +1179,8 @@ This work is "maintained" by Will Robertson.
%
% \subsection{Extras}
%
+% What might end up being provided by the kernel.
+%
% \begin{macro}{\um_glyph_if_exist:nTF}
%: TODO: Generalise for arbitrary fonts! \cs{l_um_font} is not always the one used for a specific glyph!!
% \begin{macrocode}
@@ -1183,12 +1199,70 @@ This work is "maintained" by Will Robertson.
% \end{macrocode}
% \end{macro}
%
-% \subsection{Function variants}
+% \begin{macro}{\um_set_mathcode:nnnn}
+% \begin{macro}{\um_set_mathcode:nnn}
+% \begin{macro}{\um_set_mathchar:NNnn}
+% \begin{macro}{\um_set_mathchar:cNnn}
+% \begin{macro}{\um_set_delcode:nnn}
+% \begin{macro}{\um_radical:nn}
+% \begin{macro}{\um_delimiter:Nnn}
+% \begin{macro}{\um_accent:nnn}
+% \begin{macro}{\um_accent_keyword:}
+% These are all wrappers for the primitive commands that take numerical
+% input only.
+% \begin{macrocode}
+\cs_set:Npn \um_set_mathcode:nnnn #1#2#3#4 {
+ \Umathcode \int_eval:n {#1} =
+ \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
+}
+\cs_set:Npn \um_set_mathcode:nnn #1#2#3 {
+ \Umathcode \int_eval:n {#1} =
+ \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#1} \scan_stop:
+}
+\cs_set:Npn \um_set_mathchar:NNnn #1#2#3#4 {
+ \Umathchardef #1 =
+ \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
+}
+\cs_new:Nn \um_set_delcode:nnn {
+ \Udelcode#2 = \csname sym#1\endcsname #3 \scan_stop:
+}
+\cs_new:Nn \um_radical:nn {
+ \Uradical \csname sym#1\endcsname #2 \scan_stop:
+}
+\cs_new:Nn \um_delimiter:Nnn {
+ \Udelimiter \mathchar@type#1 \csname sym#2\endcsname #3 \scan_stop:
+}
+\cs_new:Nn \um_accent:nnn {
+ \Umathaccent #1~ \mathchar@type\mathaccent \use:c { sym #2 } #3 \scan_stop:
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_generate_variant:Nn \um_set_mathchar:NNnn {c}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
%
+% \begin{macro}{\char_gmake_mathactive:N}
+% \begin{macro}{\char_gmake_mathactive:n}
% \begin{macrocode}
-\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
-\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {NNx}
+\cs_new:Nn \char_gmake_mathactive:N {
+ \global\mathcode `#1 = "8000 \scan_stop:
+}
+\cs_new:Nn \char_gmake_mathactive:n {
+ \global\mathcode #1 = "8000 \scan_stop:
+}
% \end{macrocode}
+% \end{macro}
+% \end{macro}
%
% \subsection{Package options}
%
@@ -1430,77 +1504,18 @@ This work is "maintained" by Will Robertson.
% \end{macrocode}
%
%
-% \section{\Hologo{LuaLaTeX} module}
-%
-% We create a \pkg{luatexbase} module that contains Lua functions for use with \hologo{LuaLaTeX}.
+% End of preamble code.
% \begin{macrocode}
%</preamble&!XE&!LU>
-%<*lua>
-local err, warn, info, log = luatexbase.provides_module({
- name = "unicode-math",
- date = "2013/05/04",
- version = 0.3,
- description = "Unicode math typesetting for LuaLaTeX",
- author = "Khaled Hosny, Will Robertson, Philipp Stephani",
- licence = "LPPL v1.3+"
-})
-% \end{macrocode}
-% \LuaTeX\ does not provide interface to accessing
-% \texttt{(Script)ScriptPercentScaleDown} math constants, so we
-% emulate \XeTeX\ behaviour by setting \cs{fontdimen10} and
-% \cs{fontdimen11}.
-%
-% |luaotfload| now provides these, they shoud be removed in the
-% next version.
-% \begin{macrocode}
-if luaotfload and luaotfload.module and luaotfload.module.version < 2 then
- local function set_sscale_dimens(fontdata)
- local mc = fontdata.MathConstants
- if mc then
- fontdata.parameters[10] = mc.ScriptPercentScaleDown or 70
- fontdata.parameters[11] = mc.ScriptScriptPercentScaleDown or 50
- end
- end
- luatexbase.add_to_callback("luaotfload.patch_font", set_sscale_dimens, "unicode_math.set_sscale_dimens")
-% \end{macrocode}
-%
-% Cambria Math has too small \texttt{DisplayOperatorMinHeight} constant, so we
-% patch it to amore accebtable value.
-%
-% \begin{macrocode}
- local function patch_cambria_domh(fontdata)
- local mc = fontdata.MathConstants
- if mc and fontdata.psname == "CambriaMath" then
- -- keeping backward compatibility with luaotfload v1
- local units_per_em
- local metadata = fontdata.shared and fontdata.shared.rawdata.metadata
- if metadata and metadata.units_per_em then
- units_per_em = metadata.units_per_em
- elseif fontdata.parameters.units then
- units_per_em = fontdata.parameters.units
- elseif fontdata.units then
- units_per_em = fontdata.units
- else
- units_per_em = 1000
- end
- local sz = fontdata.parameters.size or fontdata.size
- local mh = 2800 / units_per_em * sz
- if mc.DisplayOperatorMinHeight < mh then
- mc.DisplayOperatorMinHeight = mh
- end
- end
- end
- luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria.domh")
-end
-%</lua>
% \end{macrocode}
%
% (Error messages and warning definitions go here from the |msg| chunk
% defined in \secref[vref]{codemsg}.)
%
% \section{Bifurcation}
+%
% And here the split begins. Most of the code is still shared, but
-% code for \LuaTeX\ uses the `LU' prefix and code for \XeTeX\ uses `XE'.
+% code for \LuaTeX\ uses the `\textsf{LU}' flag and code for \XeTeX\ uses `\textsf{XE}'.
%
% \begin{macrocode}
%<*package&(XE|LU)>
@@ -1512,30 +1527,12 @@ end
% \XeTeX\ before version 0.9999 did not support |\U| prefix for extended math
% primitives, and while \LuaTeX\ had it from the start, prior 0.75.0 the
% \LaTeX\ format did not provide them without the |\luatex| prefix.
-%
-% \begin{macrocode}
-%<XE>\ifdim\number\XeTeXversion\XeTeXrevision in<0.9999in
-%<LU>\ifnum\luatexversion<75%
- \cs_new:Nn \um_cs_compat:n
-%<XE> { \cs_set_eq:cc {U#1} {XeTeX#1} }
-%<LU> { \cs_set_eq:cc {U#1} {luatexU#1} }
- \um_cs_compat:n {mathcode}
- \um_cs_compat:n {delcode}
- \um_cs_compat:n {mathcodenum}
- \um_cs_compat:n {mathcharnum}
- \um_cs_compat:n {mathchardef}
- \um_cs_compat:n {radical}
- \um_cs_compat:n {mathaccent}
- \um_cs_compat:n {delimiter}
-\fi
-% \end{macrocode}
+% We assume that users of \pkg{unicode-math} are using up-to-date engines however.
%
% \begin{macrocode}
%<*LU>
-\RequirePackage { lualatex-math } [ 2011/08/07 ]
-\RequirePackage { luatexbase }
-\RequirePackage { luaotfload } [ 2010/11/26 ]
-\RequireLuaModule { unicode-math } [ 2012/04/23 ]
+\RequirePackage{luaotfload} [2014/05/18]
+\RequirePackage{lualatex-math}[2011/08/07]
%</LU>
% \end{macrocode}
%
@@ -1547,64 +1544,65 @@ end
%
% Rather than `readable', in the end, this makes the code more extensible.
% \begin{macrocode}
-\cs_new:Nn \usv_set:nnn {
+\cs_new:Nn \usv_set:nnn
+ {
\tl_set:cn { \um_to_usv:nn {#1}{#2} } {#3}
-}
+ }
\cs_new:Nn \um_to_usv:nn { g_um_#1_#2_usv }
% \end{macrocode}
% \paragraph{Alphabets}
% \begin{macrocode}
-\usv_set:nnn {up}{num}{48}
-\usv_set:nnn {up}{Latin}{65}
-\usv_set:nnn {up}{latin}{97}
-\usv_set:nnn {up}{Greek}{"391}
-\usv_set:nnn {up}{greek}{"3B1}
-\usv_set:nnn {it}{Latin}{"1D434}
-\usv_set:nnn {it}{latin}{"1D44E}
-\usv_set:nnn {it}{Greek}{"1D6E2}
-\usv_set:nnn {it}{greek}{"1D6FC}
-\usv_set:nnn {bb}{num}{"1D7D8}
-\usv_set:nnn {bb}{Latin}{"1D538}
-\usv_set:nnn {bb}{latin}{"1D552}
-\usv_set:nnn {scr}{Latin}{"1D49C}
-\usv_set:nnn {cal}{Latin}{"1D49C}
-\usv_set:nnn {scr}{latin}{"1D4B6}
+\usv_set:nnn {up} {num} {48}
+\usv_set:nnn {up} {Latin}{65}
+\usv_set:nnn {up} {latin}{97}
+\usv_set:nnn {up} {Greek}{"391}
+\usv_set:nnn {up} {greek}{"3B1}
+\usv_set:nnn {it} {Latin}{"1D434}
+\usv_set:nnn {it} {latin}{"1D44E}
+\usv_set:nnn {it} {Greek}{"1D6E2}
+\usv_set:nnn {it} {greek}{"1D6FC}
+\usv_set:nnn {bb} {num} {"1D7D8}
+\usv_set:nnn {bb} {Latin}{"1D538}
+\usv_set:nnn {bb} {latin}{"1D552}
+\usv_set:nnn {scr} {Latin}{"1D49C}
+\usv_set:nnn {cal} {Latin}{"1D49C}
+\usv_set:nnn {scr} {latin}{"1D4B6}
\usv_set:nnn {frak}{Latin}{"1D504}
\usv_set:nnn {frak}{latin}{"1D51E}
-\usv_set:nnn {sf}{num}{"1D7E2}
-\usv_set:nnn {sfup}{num}{"1D7E2}
-\usv_set:nnn {sfit}{num}{"1D7E2}
+\usv_set:nnn {sf} {num} {"1D7E2}
+\usv_set:nnn {sfup}{num} {"1D7E2}
+\usv_set:nnn {sfit}{num} {"1D7E2}
\usv_set:nnn {sfup}{Latin}{"1D5A0}
-\usv_set:nnn {sf}{Latin}{"1D5A0}
+\usv_set:nnn {sf} {Latin}{"1D5A0}
\usv_set:nnn {sfup}{latin}{"1D5BA}
-\usv_set:nnn {sf}{latin}{"1D5BA}
+\usv_set:nnn {sf} {latin}{"1D5BA}
\usv_set:nnn {sfit}{Latin}{"1D608}
\usv_set:nnn {sfit}{latin}{"1D622}
-\usv_set:nnn {tt}{num}{"1D7F6}
-\usv_set:nnn {tt}{Latin}{"1D670}
-\usv_set:nnn {tt}{latin}{"1D68A}
+\usv_set:nnn {tt} {num} {"1D7F6}
+\usv_set:nnn {tt} {Latin}{"1D670}
+\usv_set:nnn {tt} {latin}{"1D68A}
% \end{macrocode}
% Bold:
% \begin{macrocode}
-\usv_set:nnn {bf}{num}{"1D7CE}
-\usv_set:nnn {bfup}{num}{"1D7CE}
-\usv_set:nnn {bfit}{num}{"1D7CE}
-\usv_set:nnn {bfup}{Latin}{"1D400}
-\usv_set:nnn {bfup}{latin}{"1D41A}
-\usv_set:nnn {bfup}{Greek}{"1D6A8}
-\usv_set:nnn {bfup}{greek}{"1D6C2}
-\usv_set:nnn {bfit}{Latin}{"1D468}
-\usv_set:nnn {bfit}{latin}{"1D482}
-\usv_set:nnn {bfit}{Greek}{"1D71C}
-\usv_set:nnn {bfit}{greek}{"1D736}
+\usv_set:nnn {bf} {num} {"1D7CE}
+\usv_set:nnn {bfup} {num} {"1D7CE}
+\usv_set:nnn {bfit} {num} {"1D7CE}
+\usv_set:nnn {bfup} {Latin}{"1D400}
+\usv_set:nnn {bfup} {latin}{"1D41A}
+\usv_set:nnn {bfup} {Greek}{"1D6A8}
+\usv_set:nnn {bfup} {greek}{"1D6C2}
+\usv_set:nnn {bfit} {Latin}{"1D468}
+\usv_set:nnn {bfit} {latin}{"1D482}
+\usv_set:nnn {bfit} {Greek}{"1D71C}
+\usv_set:nnn {bfit} {greek}{"1D736}
\usv_set:nnn {bffrak}{Latin}{"1D56C}
\usv_set:nnn {bffrak}{latin}{"1D586}
-\usv_set:nnn {bfscr}{Latin}{"1D4D0}
-\usv_set:nnn {bfcal}{Latin}{"1D4D0}
-\usv_set:nnn {bfscr}{latin}{"1D4EA}
-\usv_set:nnn {bfsf}{num}{"1D7EC}
-\usv_set:nnn {bfsfup}{num}{"1D7EC}
-\usv_set:nnn {bfsfit}{num}{"1D7EC}
+\usv_set:nnn {bfscr} {Latin}{"1D4D0}
+\usv_set:nnn {bfcal} {Latin}{"1D4D0}
+\usv_set:nnn {bfscr} {latin}{"1D4EA}
+\usv_set:nnn {bfsf} {num} {"1D7EC}
+\usv_set:nnn {bfsfup}{num} {"1D7EC}
+\usv_set:nnn {bfsfit}{num} {"1D7EC}
\usv_set:nnn {bfsfup}{Latin}{"1D5D4}
\usv_set:nnn {bfsfup}{latin}{"1D5EE}
\usv_set:nnn {bfsfup}{Greek}{"1D756}
@@ -1616,68 +1614,68 @@ end
% \end{macrocode}
%
% \begin{macrocode}
-\usv_set:nnn {bfsf}{Latin}{ \bool_if:NTF \g_um_upLatin_bool \g_um_bfsfup_Latin_usv \g_um_bfsfit_Latin_usv }
-\usv_set:nnn {bfsf}{latin}{ \bool_if:NTF \g_um_uplatin_bool \g_um_bfsfup_latin_usv \g_um_bfsfit_latin_usv }
-\usv_set:nnn {bfsf}{Greek}{ \bool_if:NTF \g_um_upGreek_bool \g_um_bfsfup_Greek_usv \g_um_bfsfit_Greek_usv }
-\usv_set:nnn {bfsf}{greek}{ \bool_if:NTF \g_um_upgreek_bool \g_um_bfsfup_greek_usv \g_um_bfsfit_greek_usv }
-\usv_set:nnn {bf}{Latin}{ \bool_if:NTF \g_um_bfupLatin_bool \g_um_bfup_Latin_usv \g_um_bfit_Latin_usv }
-\usv_set:nnn {bf}{latin}{ \bool_if:NTF \g_um_bfuplatin_bool \g_um_bfup_latin_usv \g_um_bfit_latin_usv }
-\usv_set:nnn {bf}{Greek}{ \bool_if:NTF \g_um_bfupGreek_bool \g_um_bfup_Greek_usv \g_um_bfit_Greek_usv }
-\usv_set:nnn {bf}{greek}{ \bool_if:NTF \g_um_bfupgreek_bool \g_um_bfup_greek_usv \g_um_bfit_greek_usv }
+\usv_set:nnn {bfsf}{Latin}{ \bool_if:NTF \g_um_upLatin_bool \g_um_bfsfup_Latin_usv \g_um_bfsfit_Latin_usv }
+\usv_set:nnn {bfsf}{latin}{ \bool_if:NTF \g_um_uplatin_bool \g_um_bfsfup_latin_usv \g_um_bfsfit_latin_usv }
+\usv_set:nnn {bfsf}{Greek}{ \bool_if:NTF \g_um_upGreek_bool \g_um_bfsfup_Greek_usv \g_um_bfsfit_Greek_usv }
+\usv_set:nnn {bfsf}{greek}{ \bool_if:NTF \g_um_upgreek_bool \g_um_bfsfup_greek_usv \g_um_bfsfit_greek_usv }
+\usv_set:nnn {bf} {Latin}{ \bool_if:NTF \g_um_bfupLatin_bool \g_um_bfup_Latin_usv \g_um_bfit_Latin_usv }
+\usv_set:nnn {bf} {latin}{ \bool_if:NTF \g_um_bfuplatin_bool \g_um_bfup_latin_usv \g_um_bfit_latin_usv }
+\usv_set:nnn {bf} {Greek}{ \bool_if:NTF \g_um_bfupGreek_bool \g_um_bfup_Greek_usv \g_um_bfit_Greek_usv }
+\usv_set:nnn {bf} {greek}{ \bool_if:NTF \g_um_bfupgreek_bool \g_um_bfup_greek_usv \g_um_bfit_greek_usv }
% \end{macrocode}
% Greek variants:
% \begin{macrocode}
-\usv_set:nnn {up}{varTheta}{"3F4}
-\usv_set:nnn {up}{Digamma}{"3DC}
+\usv_set:nnn {up}{varTheta} {"3F4}
+\usv_set:nnn {up}{Digamma} {"3DC}
\usv_set:nnn {up}{varepsilon}{"3F5}
-\usv_set:nnn {up}{vartheta}{"3D1}
-\usv_set:nnn {up}{varkappa}{"3F0}
-\usv_set:nnn {up}{varphi}{"3D5}
-\usv_set:nnn {up}{varrho}{"3F1}
-\usv_set:nnn {up}{varpi}{"3D6}
-\usv_set:nnn {up}{digamma}{"3DD}
+\usv_set:nnn {up}{vartheta} {"3D1}
+\usv_set:nnn {up}{varkappa} {"3F0}
+\usv_set:nnn {up}{varphi} {"3D5}
+\usv_set:nnn {up}{varrho} {"3F1}
+\usv_set:nnn {up}{varpi} {"3D6}
+\usv_set:nnn {up}{digamma} {"3DD}
% \end{macrocode}
% Bold:
% \begin{macrocode}
-\usv_set:nnn {bfup}{varTheta}{"1D6B9}
-\usv_set:nnn {bfup}{Digamma}{"1D7CA}
+\usv_set:nnn {bfup}{varTheta} {"1D6B9}
+\usv_set:nnn {bfup}{Digamma} {"1D7CA}
\usv_set:nnn {bfup}{varepsilon}{"1D6DC}
-\usv_set:nnn {bfup}{vartheta}{"1D6DD}
-\usv_set:nnn {bfup}{varkappa}{"1D6DE}
-\usv_set:nnn {bfup}{varphi}{"1D6DF}
-\usv_set:nnn {bfup}{varrho}{"1D6E0}
-\usv_set:nnn {bfup}{varpi}{"1D6E1}
-\usv_set:nnn {bfup}{digamma}{"1D7CB}
+\usv_set:nnn {bfup}{vartheta} {"1D6DD}
+\usv_set:nnn {bfup}{varkappa} {"1D6DE}
+\usv_set:nnn {bfup}{varphi} {"1D6DF}
+\usv_set:nnn {bfup}{varrho} {"1D6E0}
+\usv_set:nnn {bfup}{varpi} {"1D6E1}
+\usv_set:nnn {bfup}{digamma} {"1D7CB}
% \end{macrocode}
% Italic Greek variants:
% \begin{macrocode}
-\usv_set:nnn {it}{varTheta}{"1D6F3}
+\usv_set:nnn {it}{varTheta} {"1D6F3}
\usv_set:nnn {it}{varepsilon}{"1D716}
-\usv_set:nnn {it}{vartheta}{"1D717}
-\usv_set:nnn {it}{varkappa}{"1D718}
-\usv_set:nnn {it}{varphi}{"1D719}
-\usv_set:nnn {it}{varrho}{"1D71A}
-\usv_set:nnn {it}{varpi}{"1D71B}
+\usv_set:nnn {it}{vartheta} {"1D717}
+\usv_set:nnn {it}{varkappa} {"1D718}
+\usv_set:nnn {it}{varphi} {"1D719}
+\usv_set:nnn {it}{varrho} {"1D71A}
+\usv_set:nnn {it}{varpi} {"1D71B}
% \end{macrocode}
% Bold italic:
% \begin{macrocode}
-\usv_set:nnn {bfit}{varTheta}{"1D72D}
+\usv_set:nnn {bfit}{varTheta} {"1D72D}
\usv_set:nnn {bfit}{varepsilon}{"1D750}
-\usv_set:nnn {bfit}{vartheta}{"1D751}
-\usv_set:nnn {bfit}{varkappa}{"1D752}
-\usv_set:nnn {bfit}{varphi}{"1D753}
-\usv_set:nnn {bfit}{varrho}{"1D754}
-\usv_set:nnn {bfit}{varpi}{"1D755}
+\usv_set:nnn {bfit}{vartheta} {"1D751}
+\usv_set:nnn {bfit}{varkappa} {"1D752}
+\usv_set:nnn {bfit}{varphi} {"1D753}
+\usv_set:nnn {bfit}{varrho} {"1D754}
+\usv_set:nnn {bfit}{varpi} {"1D755}
% \end{macrocode}
% Bold sans:
% \begin{macrocode}
-\usv_set:nnn {bfsfup}{varTheta}{"1D767}
+\usv_set:nnn {bfsfup}{varTheta} {"1D767}
\usv_set:nnn {bfsfup}{varepsilon}{"1D78A}
-\usv_set:nnn {bfsfup}{vartheta}{"1D78B}
-\usv_set:nnn {bfsfup}{varkappa}{"1D78C}
-\usv_set:nnn {bfsfup}{varphi}{"1D78D}
-\usv_set:nnn {bfsfup}{varrho}{"1D78E}
-\usv_set:nnn {bfsfup}{varpi}{"1D78F}
+\usv_set:nnn {bfsfup}{vartheta} {"1D78B}
+\usv_set:nnn {bfsfup}{varkappa} {"1D78C}
+\usv_set:nnn {bfsfup}{varphi} {"1D78D}
+\usv_set:nnn {bfsfup}{varrho} {"1D78E}
+\usv_set:nnn {bfsfup}{varpi} {"1D78F}
% \end{macrocode}
% Bold sans italic:
% \begin{macrocode}
@@ -1851,6 +1849,10 @@ end
\usv_set:nnn {frak}{Z}{"2128}
% \end{macrocode}
%
+% \begin{macrocode}
+%</package&(XE|LU)>
+% \end{macrocode}
+%
% \subsection{STIX fonts}
%
% Version 1.0.0 of the STIX fonts contains a number of
@@ -1861,7 +1863,6 @@ end
% But we still want to be able to use them if possible.
%
% \begin{macrocode}
-%</package&(XE|LU)>
%<*stix>
% \end{macrocode}
%
@@ -2089,6 +2090,9 @@ end
%
% \begin{macrocode}
%</stix>
+% \end{macrocode}
+%
+% \begin{macrocode}
%<*package&(XE|LU)>
% \end{macrocode}
%
@@ -2096,7 +2100,8 @@ end
%
% The requirement of only setting up the maths fonts in the preamble is now removed. The following list might be overly ambitious.
% \begin{macrocode}
-\tl_map_inline:nn {
+\tl_map_inline:nn
+ {
\new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes
\@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@
\DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion
@@ -2110,9 +2115,10 @@ end
\@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter
\set@@mathdelimiter\DeclareMathRadical\mathchar@type
\DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@
-}{
+ }
+ {
\tl_remove_once:Nn \@preamblecmds {\do#1}
-}
+ }
% \end{macrocode}
%
% \section{Fundamentals}
@@ -2140,40 +2146,13 @@ end
% There are a bunch of tests to perform to process the various characters.
% The following assignments should all be fairly straightforward.
% \begin{macrocode}
-\cs_set:Nn \um_set_mathsymbol:nNNn {
+\cs_set:Nn \um_set_mathsymbol:nNNn
+ {
\tl_case:Nnn #3 {
- \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} }
- \mathopen
- {
- \tl_if_in:NnTF \l_um_radicals_tl {#2}
- {
- \cs_gset_protected_nopar:cpx {\cs_to_str:N #2 sign}
- { \um_radical:nn {#1} {#4} }
- \tl_set:cn {l_um_radical_\cs_to_str:N #2_tl} {\use:c{sym #1}~ #4}
- }
- {
- \um_set_delcode:nnn {#1} {#4} {#4}
- \um_set_mathcode:nnn {#4} \mathopen {#1}
- \cs_gset_protected_nopar:Npx #2
- { \um_delimiter:Nnn \mathopen {#1} {#4} }
- }
- }
- \mathclose
- {
- \um_set_delcode:nnn {#1} {#4} {#4}
- \um_set_mathcode:nnn {#4} \mathclose {#1}
- \cs_gset_protected_nopar:Npx #2
- { \um_delimiter:Nnn \mathclose {#1} {#4} }
- }
- \mathfence
- {
- \um_set_mathcode:nnn {#4} {#3} {#1}
- \um_set_delcode:nnn {#1} {#4} {#4}
- \cs_gset_protected_nopar:cpx {l \cs_to_str:N #2}
- { \um_delimiter:Nnn \mathopen {#1} {#4} }
- \cs_gset_protected_nopar:cpx {r \cs_to_str:N #2}
- { \um_delimiter:Nnn \mathclose {#1} {#4} }
- }
+ \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} }
+ \mathopen { \um_set_math_open:nnn {#1} {#2} {#4} }
+ \mathclose { \um_set_math_close:nnn {#1} {#2} {#4} }
+ \mathfence { \um_set_math_fence:nnnn {#1} {#2} {#3} {#4} }
\mathaccent
{ \cs_gset_protected_nopar:Npx #2 { \um_accent:nnn {fixed} {#1} {#4} } }
\mathbotaccent
@@ -2191,7 +2170,7 @@ end
}{
\um_set_mathcode:nnn {#4} {#3} {#1}
}
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2231,86 +2210,79 @@ end
% (~\cs{int} $\to$~) $\int$ $\to$ \cs{int_sym} $\to$ \cs{intop}
% \end{quote}
% \begin{macrocode}
-\cs_new:Nn \um_set_big_operator:nnn {
+\cs_new:Nn \um_set_big_operator:nnn
+ {
\group_begin:
\char_set_catcode_active:n {#3}
\char_gmake_mathactive:n {#3}
\um_active_char_set:wc #3 \q_nil { \cs_to_str:N #2 _sym }
\group_end:
\um_set_mathchar:cNnn {\cs_to_str:N #2 op} \mathop {#1} {#3}
- \cs_gset:cpx { \cs_to_str:N #2 _sym } {
+ \cs_gset:cpx { \cs_to_str:N #2 _sym }
+ {
\exp_not:c { \cs_to_str:N #2 op }
\exp_not:n { \tl_if_in:NnT \l_um_nolimits_tl {#2} \nolimits }
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
%
-%
-% \begin{macro}{\um_set_mathcode:nnnn}
-% \begin{macro}{\um_set_mathcode:nnn}
-% \begin{macro}{\um_set_mathchar:NNnn}
-% \begin{macro}{\um_set_mathchar:cNnn}
-% \begin{macro}{\um_set_delcode:nnn}
-% \begin{macro}{\um_radical:nn}
-% \begin{macro}{\um_delimiter:Nnn}
-% \begin{macro}{\um_accent:nnn}
-% \begin{macro}{\um_accent_keyword:}
-% These are all wrappers for the primitive commands that take numerical
-% input only.
+% \begin{macro}{\um_set_math_open:nnn}
+% \darg{Symbol font name}
+% \darg{Macro to assign}
+% \darg{Glyph slot}
% \begin{macrocode}
-\cs_set:Npn \um_set_mathcode:nnnn #1#2#3#4 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
-}
-\cs_set:Npn \um_set_mathcode:nnn #1#2#3 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#1} \scan_stop:
-}
-\cs_set:Npn \um_set_mathchar:NNnn #1#2#3#4 {
- \Umathchardef #1 =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
-}
-\cs_new:Nn \um_set_delcode:nnn {
- \Udelcode#2 = \csname sym#1\endcsname #3
-}
-\cs_new:Nn \um_radical:nn {
- \Uradical \csname sym#1\endcsname #2 \scan_stop:
-}
-\cs_new:Nn \um_delimiter:Nnn {
- \Udelimiter \mathchar@type#1 \csname sym#2\endcsname #3 \scan_stop:
-}
-\cs_new:Nn \um_accent:nnn {
- \Umathaccent #1~ \mathchar@type\mathaccent \use:c { sym #2 } #3 \scan_stop:
-}
+\cs_new:Nn \um_set_math_open:nnn
+ {
+ \tl_if_in:NnTF \l_um_radicals_tl {#2}
+ {
+ \cs_gset_protected_nopar:cpx {\cs_to_str:N #2 sign}
+ { \um_radical:nn {#1} {#3} }
+ \tl_set:cn {l_um_radical_\cs_to_str:N #2_tl} {\use:c{sym #1}~ #3}
+ }
+ {
+ \um_set_delcode:nnn {#1} {#3} {#3}
+ \um_set_mathcode:nnn {#3} \mathopen {#1}
+ \cs_gset_protected_nopar:Npx #2
+ { \um_delimiter:Nnn \mathopen {#1} {#3} }
+ }
+ }
% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\um_set_math_close:nnn}
+% \darg{Symbol font name}
+% \darg{Macro to assign}
+% \darg{Glyph slot}
% \begin{macrocode}
-\cs_generate_variant:Nn \um_set_mathchar:NNnn {c}
+\cs_new:Nn \um_set_math_close:nnn
+ {
+ \um_set_delcode:nnn {#1} {#3} {#3}
+ \um_set_mathcode:nnn {#3} \mathclose {#1}
+ \cs_gset_protected_nopar:Npx #2
+ { \um_delimiter:Nnn \mathclose {#1} {#3} }
+ }
% \end{macrocode}
% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
%
-%
-% \begin{macro}{\char_gmake_mathactive:N}
-% \begin{macro}{\char_gmake_mathactive:n}
+% \begin{macro}{\um_set_math_fence:nnnn}
+% \darg{Symbol font name}
+% \darg{Macro to assign}
+% \darg{Type, \eg, \cmd\mathalpha}
+% \darg{Glyph slot}
% \begin{macrocode}
-\cs_new:Nn \char_gmake_mathactive:N {
- \global\mathcode `#1 = "8000 \scan_stop:
-}
-\cs_new:Nn \char_gmake_mathactive:n {
- \global\mathcode #1 = "8000 \scan_stop:
-}
+\cs_new:Nn \um_set_math_fence:nnnn
+ {
+ \um_set_mathcode:nnn {#4} {#3} {#1}
+ \um_set_delcode:nnn {#1} {#4} {#4}
+ \cs_gset_protected_nopar:cpx {l \cs_to_str:N #2}
+ { \um_delimiter:Nnn \mathopen {#1} {#4} }
+ \cs_gset_protected_nopar:cpx {r \cs_to_str:N #2}
+ { \um_delimiter:Nnn \mathclose {#1} {#4} }
+ }
% \end{macrocode}
% \end{macro}
-% \end{macro}
+%
%
%
% \subsection{The main \cs{setmathfont} macro}
@@ -2323,48 +2295,6 @@ end
% \doarg{font features}
% \darg{font name}
% \begin{macrocode}
-\cs_new:Nn \um_init: {
- \bool_set_true:N \l_um_ot_math_bool
-% \end{macrocode}
-% \begin{itemize}
-% \item Erase any conception \LaTeX\ has of previously defined math symbol fonts;
-% this allows \cmd\DeclareSymbolFont\ at any point in the document.
-% \begin{macrocode}
- \cs_set_eq:NN \glb@currsize \scan_stop:
-% \end{macrocode}
-% \item To start with, assume we're defining the font for every math symbol character.
-% \begin{macrocode}
- \bool_set_true:N \l_um_init_bool
- \seq_clear:N \l_um_char_range_seq
- \clist_clear:N \l_um_char_num_range_clist
- \seq_clear:N \l_um_mathalph_seq
- \seq_clear:N \l_um_missing_alph_seq
-% \end{macrocode}
-% \item By default use the `normal' math version
-% \begin{macrocode}
- \tl_set:Nn \l_um_mversion_tl {normal}
-% \end{macrocode}
-% \item Other range initialisations
-% \begin{macrocode}
- \tl_set:Nn \um_symfont_tl {operators}
- \cs_set_eq:NN \_um_sym:nnn \um_process_symbol_noparse:nnn
- \cs_set_eq:NN \um_set_mathalphabet_char:Nnn \um_mathmap_noparse:Nnn
- \cs_set_eq:NN \um_remap_symbol:nnn \um_remap_symbol_noparse:nnn
- \cs_set_eq:NN \um_maybe_init_alphabet:n \um_init_alphabet:n
- \cs_set_eq:NN \um_map_char_single:nn \um_map_char_noparse:nn
- \cs_set_eq:NN \um_assign_delcode:nn \um_assign_delcode_noparse:nn
- \cs_set_eq:NN \um_make_mathactive:nNN \um_make_mathactive_noparse:nNN
-% \end{macrocode}
-% \item Define default font features for the script and scriptscript font.
-% \begin{macrocode}
- \tl_set:Nn \l_um_script_features_tl {Style=MathScript}
- \tl_set:Nn \l_um_sscript_features_tl {Style=MathScriptScript}
- \tl_set_eq:NN \l_um_script_font_tl \l_um_fontname_tl
- \tl_set_eq:NN \l_um_sscript_font_tl \l_um_fontname_tl
-% \end{macrocode}
-% \end{itemize}
-% \begin{macrocode}
-}
\DeclareDocumentCommand \setmathfont { O{} m } {
\tl_set:Nn \l_um_fontname_tl {#2}
\um_init:
@@ -2402,7 +2332,7 @@ end
\tl_set:Nn \l_um_tmpa_tl {normal}
\tl_if_eq:NNT \l_um_mversion_tl \l_um_tmpa_tl
{
- \SetSymbolFont{\um_symfont_tl}{bold}
+ \SetSymbolFont{\um_symfont_tl}{bold}
{\encodingdefault}{\l_um_family_tl}{\bfdefault}{\updefault}
}
% \end{macrocode}
@@ -2410,12 +2340,13 @@ end
% values for this font,
% and set defaults for math fams two and three for legacy compatibility:
% \begin{macrocode}
- \bool_if:nT {\l_um_ot_math_bool && !\g_um_mainfont_already_set_bool} {
+ \bool_if:nT { \l_um_ot_math_bool && !\g_um_mainfont_already_set_bool }
+ {
\bool_set_true:N \g_um_mainfont_already_set_bool
\um_declare_math_sizes:
\um_setup_legacy_fam_two:
\um_setup_legacy_fam_three:
- }
+ }
% \end{macrocode}
% And now we input every single maths char.
% \begin{macrocode}
@@ -2444,9 +2375,65 @@ end
% \end{macrocode}
% \end{macro}
%
+% Backward compatibility alias.
+% \begin{macrocode}
+\cs_set_eq:NN \resetmathfont \setmathfont
+% \end{macrocode}
+%
+% \begin{macro}{\um_init:}
+% \begin{macrocode}
+\cs_new:Nn \um_init:
+ {
+% \end{macrocode}
+% \begin{itemize}
+% \item Initially assume we're using a proper OpenType font with unicode maths.
+% \begin{macrocode}
+ \bool_set_true:N \l_um_ot_math_bool
+% \end{macrocode}
+% \item Erase any conception \LaTeX\ has of previously defined math symbol fonts;
+% this allows \cmd\DeclareSymbolFont\ at any point in the document.
+% \begin{macrocode}
+ \cs_set_eq:NN \glb@currsize \scan_stop:
+% \end{macrocode}
+% \item To start with, assume we're defining the font for every math symbol character.
+% \begin{macrocode}
+ \bool_set_true:N \l_um_init_bool
+ \seq_clear:N \l_um_char_range_seq
+ \clist_clear:N \l_um_char_num_range_clist
+ \seq_clear:N \l_um_mathalph_seq
+ \seq_clear:N \l_um_missing_alph_seq
+% \end{macrocode}
+% \item By default use the `normal' math version.
+% \begin{macrocode}
+ \tl_set:Nn \l_um_mversion_tl {normal}
+% \end{macrocode}
+% \item Other range initialisations.
+% \begin{macrocode}
+ \tl_set:Nn \um_symfont_tl {operators}
+ \cs_set_eq:NN \_um_sym:nnn \um_process_symbol_noparse:nnn
+ \cs_set_eq:NN \um_set_mathalphabet_char:Nnn \um_mathmap_noparse:Nnn
+ \cs_set_eq:NN \um_remap_symbol:nnn \um_remap_symbol_noparse:nnn
+ \cs_set_eq:NN \um_maybe_init_alphabet:n \um_init_alphabet:n
+ \cs_set_eq:NN \um_map_char_single:nn \um_map_char_noparse:nn
+ \cs_set_eq:NN \um_assign_delcode:nn \um_assign_delcode_noparse:nn
+ \cs_set_eq:NN \um_make_mathactive:nNN \um_make_mathactive_noparse:nNN
+% \end{macrocode}
+% \item Define default font features for the script and scriptscript font.
+% \begin{macrocode}
+ \tl_set:Nn \l_um_script_features_tl {Style=MathScript}
+ \tl_set:Nn \l_um_sscript_features_tl {Style=MathScriptScript}
+ \tl_set_eq:NN \l_um_script_font_tl \l_um_fontname_tl
+ \tl_set_eq:NN \l_um_sscript_font_tl \l_um_fontname_tl
+% \end{macrocode}
+% \end{itemize}
+% \begin{macrocode}
+ }
+% \end{macrocode}
+% \end{macro}
+%
%
% \begin{macro}{\um_declare_math_sizes:}
-% Set the math sizes according to the recommend font parameters:
+% Set the math sizes according to the recommended font parameters:
% \begin{macrocode}
\cs_new:Nn \um_declare_math_sizes:
{
@@ -2463,6 +2450,7 @@ end
%
%
% \begin{macro}{\um_setup_legacy_fam_two:}
+% \TeX\ won't load the same font twice at the same scale, so we need to magnify this one by an imperceptable amount.
% \begin{macrocode}
\cs_new:Nn \um_setup_legacy_fam_two:
{
@@ -2470,7 +2458,8 @@ end
{
\l_um_font_keyval_tl,
Scale=1.00001,
- FontAdjustment={
+ FontAdjustment =
+ {
\fontdimen8\font= \um_get_fontparam:nn {43} {FractionNumeratorDisplayStyleShiftUp}\relax
\fontdimen9\font= \um_get_fontparam:nn {42} {FractionNumeratorShiftUp}\relax
\fontdimen10\font=\um_get_fontparam:nn {32} {StackTopShiftUp}\relax
@@ -2486,7 +2475,7 @@ end
\fontdimen20\font=0pt\relax % delim1 = FractionDelimiterDisplaySize
\fontdimen21\font=0pt\relax % delim2 = FractionDelimiterSize
\fontdimen22\font=\um_get_fontparam:nn {15} {AxisHeight}\relax
- }
+ }
} {\l_um_fontname_tl}
\SetSymbolFont{symbols}{\l_um_mversion_tl}
{\encodingdefault}{\l_um_family_tl}{\mddefault}{\updefault}
@@ -2502,6 +2491,7 @@ end
% \end{macro}
%
% \begin{macro}{\um_setup_legacy_fam_three:}
+% Similarly, this font is shrunk by an imperceptable amount for \TeX\ to load it again.
% \begin{macrocode}
\cs_new:Nn \um_setup_legacy_fam_three:
{
@@ -2538,31 +2528,33 @@ end
%<LU> { \directlua{fontspec.mathfontdimen("l_um_font","#2")} }
% \end{macrocode}
%
-% Backward compatibility alias.
-% \begin{macrocode}
-\cs_set_eq:NN \resetmathfont \setmathfont
-% \end{macrocode}
%
%
% \begin{macro}{\um_fontspec_select_font:}
% Select the font with \cs{fontspec} and define \cs{l_um_font} from it.
% \begin{macrocode}
-\cs_new:Nn \um_fontspec_select_font: {
+\cs_new:Nn \um_fontspec_select_font:
+ {
\tl_set:Nx \l_um_font_keyval_tl {
%<LU> Renderer = Basic,
BoldItalicFont = {}, ItalicFont = {},
Script = Math,
- SizeFeatures = {
- {Size = \tf@size-} ,
- {Size = \sf@size-\tf@size ,
+ SizeFeatures =
+ {
+ {
+ Size = \tf@size-
+ } ,
+ {
+ Size = \sf@size-\tf@size ,
Font = \l_um_script_font_tl ,
\l_um_script_features_tl
} ,
- {Size = -\sf@size ,
+ {
+ Size = -\sf@size ,
Font = \l_um_sscript_font_tl ,
\l_um_sscript_features_tl
}
- },
+ } ,
\l_um_unknown_keys_clist
}
\fontspec_set_fontface:NNxn \l_um_font \l_um_family_tl
@@ -2574,7 +2566,7 @@ end
\fontfamily{\l_um_family_tl}\selectfont
\fontspec_if_script:nF {math} {\bool_gset_false:N \l_um_ot_math_bool}
\group_end:
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2588,16 +2580,19 @@ end
% a subset of the Unicode glyphs are to be defined.
% See \secref{rangeproc} for the code that enables this.
% \begin{macrocode}
-\cs_set:Npn \um_process_symbol_noparse:nnn #1#2#3 {
+\cs_set:Nn \um_process_symbol_noparse:nnn
+ {
\um_set_mathsymbol:nNNn {\um_symfont_tl} #2#3{#1}
-}
+ }
% \end{macrocode}
% \begin{macrocode}
-\cs_set:Npn \um_process_symbol_parse:nnn #1#2#3 {
- \um_if_char_spec:nNNT{#1}{#2}{#3}{
+\cs_set:Nn \um_process_symbol_parse:nnn
+ {
+ \um_if_char_spec:nNNT{#1}{#2}{#3}
+ {
\um_process_symbol_noparse:nnn {#1}{#2}{#3}
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2609,28 +2604,34 @@ end
% This function is used to define the mathcodes for those chars which should
% be mapped to a different glyph than themselves.
% \begin{macrocode}
-\cs_new:Npn \um_remap_symbols: {
+\cs_new:Npn \um_remap_symbols:
+ {
\um_remap_symbol:nnn{`\-}{\mathbin}{"02212}% hyphen to minus
\um_remap_symbol:nnn{`\*}{\mathbin}{"02217}% text asterisk to "centred asterisk"
- \bool_if:NF \g_um_literal_colon_bool {
+ \bool_if:NF \g_um_literal_colon_bool
+ {
\um_remap_symbol:nnn{`\:}{\mathrel}{"02236}% colon to ratio (i.e., punct to rel)
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
% Where |\um_remap_symbol:nnn| is defined to be one of these two, depending
% on the range setup:
% \begin{macrocode}
-\cs_new:Nn \um_remap_symbol_parse:nnn {
- \um_if_char_spec:nNNT {#3} {\@nil} {#2} {
+\cs_new:Nn \um_remap_symbol_parse:nnn
+ {
+ \um_if_char_spec:nNNT {#3} {\@nil} {#2}
+ {
\um_remap_symbol_noparse:nnn {#1} {#2} {#3}
- }
-}
-\cs_new:Nn \um_remap_symbol_noparse:nnn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_remap_symbol_noparse:nnn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_set_mathcode:nnnn {##1} {#2} {\um_symfont_tl} {#3}
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2643,7 +2644,8 @@ end
%
% \begin{macro}{\um_setup_mathactives:}
% \begin{macrocode}
-\cs_new:Npn \um_setup_mathactives: {
+\cs_new:Npn \um_setup_mathactives:
+ {
\um_make_mathactive:nNN {"2032} \um_prime_single_mchar \mathord
\um_make_mathactive:nNN {"2033} \um_prime_double_mchar \mathord
\um_make_mathactive:nNN {"2034} \um_prime_triple_mchar \mathord
@@ -2653,7 +2655,7 @@ end
\um_make_mathactive:nNN {"2037} \um_backprime_triple_mchar \mathord
\um_make_mathactive:nNN {`\'} \mathstraightquote \mathord
\um_make_mathactive:nNN {`\`} \mathbacktick \mathord
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2680,14 +2682,17 @@ end
%
% \begin{macro}{\um_assign_delcode:nn}
% \begin{macrocode}
-\cs_new:Nn \um_assign_delcode_noparse:nn {
+\cs_new:Nn \um_assign_delcode_noparse:nn
+ {
\um_set_delcode:nnn \um_symfont_tl {#1} {#2}
-}
-\cs_new:Nn \um_assign_delcode_parse:nn {
- \um_if_char_spec:nNNT {#2}{\@nil}{\@nil} {
+ }
+\cs_new:Nn \um_assign_delcode_parse:nn
+ {
+ \um_if_char_spec:nNNT {#2} {\@nil} {\@nil}
+ {
\um_assign_delcode_noparse:nn {#1} {#2}
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2701,13 +2706,14 @@ end
%
%
%
+% \begin{macro}{\um_setup_delcodes:}
% Some symbols that aren't mathopen/mathclose still need to have delimiter codes assigned.
% The list of vertical arrows may be incomplete.
% On the other hand, many fonts won't support them all being stretchy.
% And some of them are probably not meant to stretch, either. But adding them here doesn't hurt.
-% \begin{macro}{\um_setup_delcodes:}
% \begin{macrocode}
-\cs_new:Npn \um_setup_delcodes: {
+\cs_new:Npn \um_setup_delcodes:
+ {
\um_assign_delcode:nn {`\.} {\c_zero} % ensure \left. and \right. work
\um_assign_delcode:nn {`\/} {\g_um_slash_delimiter_usv}
\um_assign_delcode:nn {"2044} {\g_um_slash_delimiter_usv} % fracslash
@@ -2742,7 +2748,7 @@ end
\um_assign_delcode:n {"21E9} % down white arrow
\um_assign_delcode:n {"21EA} % up white arrow from bar
\um_assign_delcode:n {"21F3} % updown white arrow
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2770,13 +2776,14 @@ end
% integrals such as $\iiiint$, but that might be a matter of preference.
% \begin{macrocode}
\tl_new:N \l_um_nolimits_tl
-\tl_set:Nn \l_um_nolimits_tl {
+\tl_set:Nn \l_um_nolimits_tl
+ {
\int\iint\iiint\iiiint\oint\oiint\oiiint
\intclockwise\varointclockwise\ointctrclockwise\sumint
\intbar\intBar\fint\cirfnint\awint\rppolint
\scpolint\npolint\pointint\sqint\intlarhk\intx
\intcap\intcup\upint\lowint
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2784,9 +2791,10 @@ end
% This macro appends material to the macro containing the list of operators
% that don't take limits.
% \begin{macrocode}
-\DeclareDocumentCommand \addnolimits {m} {
+\DeclareDocumentCommand \addnolimits {m}
+ {
\tl_put_right:Nn \l_um_nolimits_tl {#1}
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2794,9 +2802,10 @@ end
% Can this macro be given a better name?
% It removes an item from the nolimits list.
% \begin{macrocode}
-\DeclareDocumentCommand \removenolimits {m} {
+\DeclareDocumentCommand \removenolimits {m}
+ {
\tl_remove_all:Nn \l_um_nolimits_tl {#1}
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2971,9 +2980,10 @@ end
% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |luatexUmath|.
% The \XeTeX\ font dimension numbers must be integer constants.
% \begin{macrocode}
-\cs_new_protected_nopar:Npn \um_font_param:nnn #1 #2 #3 {
+\cs_new_protected_nopar:Nn \um_font_param:nnn
+ {
\um_font_param:nnnnn { #1 } { #2 } { #2 } { #3 } { #3 }
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -2984,9 +2994,10 @@ end
% The \LuaTeX\ font parameter name is produced by removing all underscores and prefixing the result with |luatexUmath|.
% The \XeTeX\ font dimension number must be an integer constant.
% \begin{macrocode}
-\cs_new_protected_nopar:Npn \um_font_param:nn #1 #2 {
+\cs_new_protected_nopar:Nn \um_font_param:nn
+ {
\um_font_param:nnnnn { #1 } { #2 } { #2 } { #2 } { #2 }
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3008,24 +3019,28 @@ end
%<*XE>
\cs_new_protected_nopar:Nn \um_font_param_aux:NNnnnn
{
- \cs_new_nopar:Npn #1 ##1 {
+ \cs_new_nopar:Npn #1 ##1
+ {
\um_font_dimen:Nnnnn ##1 { #3 } { #4 } { #5 } { #6 }
- }
- \cs_new_protected_nopar:Npn #2 ##1 ##2 {
+ }
+ \cs_new_protected_nopar:Npn #2 ##1 ##2
+ {
#1 ##1 \dim_eval:n { ##2 }
- }
+ }
}
\cs_generate_variant:Nn \um_font_param_aux:NNnnnn { cc }
%</XE>
%<*LU>
\cs_new_protected_nopar:Nn \um_font_param_aux:NNN
{
- \cs_new_nopar:Npn #1 ##1 {
+ \cs_new_nopar:Npn #1 ##1
+ {
#3 ##1
- }
- \cs_new_protected_nopar:Npn #2 ##1 ##2 {
+ }
+ \cs_new_protected_nopar:Npn #2 ##1 ##2
+ {
#3 ##1 \dim_eval:n { ##2 }
- }
+ }
}
\cs_generate_variant:Nn \um_font_param_aux:NNN { ccc }
%</LU>
@@ -3137,12 +3152,12 @@ end
% \subsection{Script and scriptscript font options}
% \begin{macrocode}
\keys_define:nn {unicode-math}
-{
+ {
script-features .tl_set:N = \l_um_script_features_tl ,
sscript-features .tl_set:N = \l_um_sscript_features_tl ,
script-font .tl_set:N = \l_um_script_font_tl ,
sscript-font .tl_set:N = \l_um_sscript_font_tl ,
-}
+ }
% \end{macrocode}
%
% \subsection{Range processing}
@@ -3153,7 +3168,8 @@ end
\seq_new:N \l_um_char_range_seq
\seq_new:N \l_um_mclass_range_seq
\seq_new:N \l_um_cmd_range_seq
-\keys_define:nn {unicode-math} {
+\keys_define:nn {unicode-math}
+ {
range .code:n = {
\bool_set_false:N \l_um_init_bool
% \end{macrocode}
@@ -3202,7 +3218,12 @@ end
}
}
}
-}
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\g_um_mathclasses_seq}
+% Every math class.
+% \begin{macrocode}
\seq_new:N \g_um_mathclasses_seq
\seq_set_from_clist:Nn \g_um_mathclasses_seq
{
@@ -3211,7 +3232,7 @@ end
\mathfence,\mathover,\mathunder,\mathbotaccent
}
% \end{macrocode}
-%
+% \end{macro}
%
% \begin{macro}{\um_if_mathalph_decl:nTF}
% Possible forms of input:\\
@@ -3422,10 +3443,11 @@ end
% \begin{macro}{\um_new_mathstyle:N}
% This function defines a new command like \cs{mathfrak}.
% \begin{macrocode}
-\cs_new:Nn \um_new_mathstyle:N {
+\cs_new:Nn \um_new_mathstyle:N
+ {
\um_prepare_mathstyle:f {\exp_after:wN \use_none:nnnnn \token_to_str:N #1}
\seq_put_right:Nn \g_um_mathstyles_seq {#1}
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3444,8 +3466,10 @@ end
% \end{macro}
%
% \begin{macrocode}
-\AtEndOfPackage{
-\clist_map_inline:nn {
+\AtEndOfPackage
+ {
+\clist_map_inline:nn
+ {
{\mathup } {latin,Latin,greek,Greek,num,misc} {\mathup } ,
{\mathit } {latin,Latin,greek,Greek,misc} {\mathit } ,
{\mathbb } {latin,Latin,num,misc} {\mathbb } ,
@@ -3463,19 +3487,20 @@ end
{\mathbffrak} {latin,Latin} {\mathbffrak} ,
{\mathbfsfup} {latin,Latin,greek,Greek,num,misc} {\mathbfsfup} ,
{\mathbfsfit} {latin,Latin,greek,Greek,misc} {\mathbfsfit}
-}{
+ }
+ {
\seq_put_right:Nn \g_um_default_mathalph_seq {#1}
\exp_after:wN \um_new_mathstyle:N \use_i:nnn #1
-}
+ }
% \end{macrocode}
% These are `false' mathstyles that inherit other definitions:
% \begin{macrocode}
-\um_new_mathstyle:N \mathsf
-\um_new_mathstyle:N \mathbf
-\um_new_mathstyle:N \mathbfsf
+ \um_new_mathstyle:N \mathsf
+ \um_new_mathstyle:N \mathbf
+ \um_new_mathstyle:N \mathbfsf
% \end{macrocode}
% \begin{macrocode}
-}
+ }
% \end{macrocode}
%
%
@@ -3495,13 +3520,17 @@ end
% The flag \cs{l_um_mathstyle_tl} is for other applications to query the
% current math style.
% \begin{macrocode}
-\cs_new:Nn \um_prepare_mathstyle:n {
+\cs_new:Nn \um_prepare_mathstyle:n
+ {
\um_init_alphabet:x {#1}
- \cs_set:cpn {_um_math#1_aux:n} ##1 {
+ \cs_set:cpn {_um_math#1_aux:n} ##1
+ {
\use:c {um_switchto_math#1:} ##1 \egroup
- }
- \cs_set_protected:cpx {math#1} {
- \exp_not:n{
+ }
+ \cs_set_protected:cpx {math#1}
+ {
+ \exp_not:n
+ {
\bgroup
\mode_if_math:F
{
@@ -3509,10 +3538,10 @@ end
\non@alpherr\expandafter{\csname math#1\endcsname\space}
}
\tl_set:Nn \l_um_mathstyle_tl {#1}
- }
+ }
\exp_not:c {_um_math#1_aux:n}
- }
-}
+ }
+ }
\tl_new:N \l_um_mathstyle_tl
\cs_generate_variant:Nn \um_prepare_mathstyle:n {f}
% \end{macrocode}
@@ -3524,18 +3553,20 @@ end
% First used with the math alphabet macro is first defined, but then used
% later when redefining a particular maths alphabet.
% \begin{macrocode}
-\cs_set:Npn \um_init_alphabet:n #1 {
+\cs_set:Nn \um_init_alphabet:n
+ {
\um_log:nx {alph-initialise} {#1}
\cs_set_eq:cN {um_switchto_math#1:} \prg_do_nothing:
-}
+ }
\cs_generate_variant:Nn \um_init_alphabet:n {x}
% \end{macrocode}
% Variants (cannot use |\cs_generate_variant:Nn| because the base function is
% defined dynamically.)
% \begin{macrocode}
-\cs_new:Npn \um_maybe_init_alphabet:V {
+\cs_new:Npn \um_maybe_init_alphabet:V
+ {
\exp_args:NV \um_maybe_init_alphabet:n
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3551,7 +3582,8 @@ end
% This function is called within \cs{setmathfont} to configure the
% mapping between characters inside math styles.
% \begin{macrocode}
-\cs_new:Npn \um_setup_alphabets: {
+\cs_new:Npn \um_setup_alphabets:
+ {
% \end{macrocode}
% If |range=| has been used to configure styles, those choices will be in
% |\l_um_mathalph_seq|. If not, set up the styles implicitly:
@@ -3592,7 +3624,7 @@ end
\l_um_tmpa_tl \l_um_tmpb_tl \l_um_remap_style_tl
}
\seq_if_empty:NF \l_um_missing_alph_seq { \um_log:n { missing-alphabets } }
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3601,54 +3633,70 @@ end
% \darg{Math alphabets, comma separated of \{latin,Latin,greek,Greek,num\}}
% \darg{Name of the output math style (usually same as input \texttt{bb})}
% \begin{macrocode}
-\cs_new:Nn \um_setup_math_alphabet:Nnn {
- \tl_set:Nx \l_um_style_tl {
+\cs_new:Nn \um_setup_math_alphabet:Nnn
+ {
+ \tl_set:Nx \l_um_style_tl
+ {
\exp_after:wN \use_none:nnnnn \token_to_str:N #1
- }
+ }
% \end{macrocode}
% First check that at least one of the alphabets for the font shape is defined\dots
% \begin{macrocode}
- \clist_map_inline:nn {#2} {
+ \clist_map_inline:nn {#2}
+ {
\tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} }
- \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n} {
- \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} {
+ \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n}
+ {
+ \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc}
+ {
\um_maybe_init_alphabet:V \l_um_style_tl
\clist_map_break:
- }{
- \um_glyph_if_exist:cT { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }{
+ }
+ {
+ \um_glyph_if_exist:cT { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }
+ {
\um_maybe_init_alphabet:V \l_um_style_tl
\clist_map_break:
- }
- }
- }
- }
+ }
+ }
+ }
+ }
% \end{macrocode}
% \dots and then loop through them defining the individual ranges:
% \begin{macrocode}
- \clist_map_inline:nn {#2} {
+ \clist_map_inline:nn {#2}
+ {
\tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} }
- \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {
- \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} {
+ \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n}
+ {
+ \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc}
+ {
\um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)}
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3}
- }{
- \um_glyph_if_exist:cTF { \um_to_usv:nn {#3}{\l_um_tmpa_tl} } {
+ }
+ {
+ \um_glyph_if_exist:cTF { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }
+ {
\um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)}
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3}
- }{
- \bool_if:NTF \l_um_implicit_alph_bool {
- \seq_put_right:Nx \l_um_missing_alph_seq {
+ }
+ {
+ \bool_if:NTF \l_um_implicit_alph_bool
+ {
+ \seq_put_right:Nx \l_um_missing_alph_seq
+ {
\@backslashchar math \l_um_style_tl \space
(\tl_use:c{c_um_math_alphabet_name_ \l_um_tmpa_tl _tl})
- }
- }{
+ }
+ }
+ {
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {up}
- }
- }
- }
- }
- }
-}
+ }
+ }
+ }
+ }
+ }
+ }
\cs_generate_variant:Nn \um_setup_math_alphabet:Nnn {VVV}
% \end{macrocode}
% \end{macro}
@@ -3677,17 +3725,20 @@ end
% \begin{macro}{\um_map_char_noparse:nn}
% \begin{macro}{\um_map_char_parse:nn}
% \begin{macrocode}
-\cs_new:Nn \um_map_char_noparse:nn {
+\cs_new:Nn \um_map_char_noparse:nn
+ {
\um_set_mathcode:nnnn {#1}{\mathalpha}{\um_symfont_tl}{#2}
-}
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_map_char_parse:nn {
- \um_if_char_spec:nNNT {#1} {\@nil} {\mathalpha} {
+\cs_new:Nn \um_map_char_parse:nn
+ {
+ \um_if_char_spec:nNNT {#1} {\@nil} {\mathalpha}
+ {
\um_map_char_noparse:nn {#1}{#2}
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3697,18 +3748,21 @@ end
% \darg{from alphabet(s)}
% \darg{to alphabet}
% \begin{macrocode}
-\cs_new:Nn \um_map_char_single:nnn {
+\cs_new:Nn \um_map_char_single:nnn
+ {
\um_map_char_single:cc { \um_to_usv:nn {#1}{#3} }
{ \um_to_usv:nn {#2}{#3} }
-}
-\cs_set:Npn \um_map_single:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_map_single:nnn
+ {
\cs_if_exist:cT { \um_to_usv:nn {#3} {#1} }
{
- \clist_map_inline:nn {#2} {
+ \clist_map_inline:nn {#2}
+ {
\um_map_char_single:nnn {##1} {#3} {#1}
- }
+ }
}
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3720,43 +3774,51 @@ end
% \darg{Alphabet name (Latin)}
% First the function with numbers:
% \begin{macrocode}
-\cs_set:Npn \um_map_chars_range:nnn #1#2#3 {
+\cs_set:Nn \um_map_chars_range:nnn
+ {
\int_step_inline:nnnn {0}{1}{#1-1} {
\um_map_char_single:nn {#2+##1}{#3+##1}
}
-}
+ }
\cs_generate_variant:Nn \um_map_chars_range:nnn {ncc}
% \end{macrocode}
% And the wrapper with names:
% \begin{macrocode}
-\cs_new:Nn \um_map_chars_range:nnnn {
+\cs_new:Nn \um_map_chars_range:nnnn
+ {
\um_map_chars_range:ncc {#1} { \um_to_usv:nn {#2}{#4} }
{ \um_to_usv:nn {#3}{#4} }
-}
+ }
% \end{macrocode}
% \end{macro}
%
% \subsubsection{Functions for alphabets}
%
% \begin{macrocode}
-\cs_new:Nn \um_map_chars_Latin:nn {
- \clist_map_inline:nn {#1} {
+\cs_new:Nn \um_map_chars_Latin:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {26} {##1} {#2} {Latin}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_map_chars_latin:nn {
- \clist_map_inline:nn {#1} {
+\cs_new:Nn \um_map_chars_latin:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {26} {##1} {#2} {latin}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_map_chars_greek:nn {
- \clist_map_inline:nn {#1} {
+\cs_new:Nn \um_map_chars_greek:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {25} {##1} {#2} {greek}
\um_map_char_single:nnn {##1} {#2} {varepsilon}
\um_map_char_single:nnn {##1} {#2} {vartheta}
@@ -3764,23 +3826,26 @@ end
\um_map_char_single:nnn {##1} {#2} {varphi}
\um_map_char_single:nnn {##1} {#2} {varrho}
\um_map_char_single:nnn {##1} {#2} {varpi}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_map_chars_Greek:nn {
- \clist_map_inline:nn {#1} {
+\cs_new:Nn \um_map_chars_Greek:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {25} {##1} {#2} {Greek}
\um_map_char_single:nnn {##1} {#2} {varTheta}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_map_chars_numbers:nn {
+\cs_new:Nn \um_map_chars_numbers:nn
+ {
\um_map_chars_range:nnnn {10} {#1} {#2} {num}
-}
+ }
% \end{macrocode}
%
%
@@ -3794,9 +3859,10 @@ end
% Cannot use |\cs_generate_variant:Nn| because the base function is
% defined dynamically.
% \begin{macrocode}
-\cs_new:Npn \um_set_mathalphabet_char:Ncc {
+\cs_new:Npn \um_set_mathalphabet_char:Ncc
+ {
\exp_args:NNcc \um_set_mathalphabet_char:Nnn
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3806,13 +3872,16 @@ end
% \darg{Output slot, \eg, the slot for `$\mathbb{A}$'}
% Adds \cs{um_set_mathcode:nnnn} declarations to the specified maths alphabet's definition.
% \begin{macrocode}
-\cs_new:Nn \um_mathmap_noparse:Nnn {
- \clist_map_inline:nn {#2} {
- \tl_put_right:cx {um_switchto_\cs_to_str:N #1:} {
+\cs_new:Nn \um_mathmap_noparse:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
+ \tl_put_right:cx {um_switchto_\cs_to_str:N #1:}
+ {
\um_set_mathcode:nnnn{##1}{\mathalpha}{\um_symfont_tl}{#3}
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3824,11 +3893,13 @@ end
% macro with slot numbers corresponding to the specified range. This range is used to
% conditionally add \cs{um_set_mathcode:nnnn} declaractions to the maths alphabet definition.
% \begin{macrocode}
-\cs_new:Nn \um_mathmap_parse:Nnn {
- \clist_if_in:NnT \l_um_char_num_range_clist {#3} {
+\cs_new:Nn \um_mathmap_parse:Nnn
+ {
+ \clist_if_in:NnT \l_um_char_num_range_clist {#3}
+ {
\um_mathmap_noparse:Nnn {#1}{#2}{#3}
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3838,10 +3909,11 @@ end
% \darg{output math alphabet name}
% \darg{char name to map}
% \begin{macrocode}
-\cs_new:Npn \um_set_mathalphabet_char:Nnnn #1#2#3#4 {
+\cs_new:Nn \um_set_mathalphabet_char:Nnnn
+ {
\um_set_mathalphabet_char:Ncc #1 { \um_to_usv:nn {#2} {#4} }
{ \um_to_usv:nn {#3} {#4} }
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -3853,67 +3925,79 @@ end
% Loops through character ranges setting \cmd\mathcode.
% First the version that uses numbers:
% \begin{macrocode}
-\cs_new:Npn \um_set_mathalph_range:nNnn #1#2#3#4 {
+\cs_new:Nn \um_set_mathalph_range:nNnn
+ {
\int_step_inline:nnnn {0}{1}{#1-1}
{ \um_set_mathalphabet_char:Nnn {#2} { ##1 + #3 } { ##1 + #4 } }
-}
+ }
\cs_generate_variant:Nn \um_set_mathalph_range:nNnn {nNcc}
% \end{macrocode}
% Then the wrapper version that uses names:
% \begin{macrocode}
-\cs_new:Npn \um_set_mathalph_range:nNnnn #1#2#3#4#5 {
+\cs_new:Nn \um_set_mathalph_range:nNnnn
+ {
\um_set_mathalph_range:nNcc {#1} #2 { \um_to_usv:nn {#3} {#5} }
{ \um_to_usv:nn {#4} {#5} }
-}
+ }
% \end{macrocode}
% \end{macro}
%
% \subsubsection{Individual mapping functions for different alphabets}
%
% \begin{macrocode}
-\cs_new:Npn \um_set_mathalphabet_pos:Nnnn #1#2#3#4 {
- \cs_if_exist:cT { \um_to_usv:nn {#4}{#2} } {
+\cs_new:Nn \um_set_mathalphabet_pos:Nnnn
+ {
+ \cs_if_exist:cT { \um_to_usv:nn {#4}{#2} }
+ {
\clist_map_inline:nn {#3}
{ \um_set_mathalphabet_char:Nnnn #1 {##1} {#4} {#2} }
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_set_mathalphabet_numbers:Nnn {
+\cs_new:Nn \um_set_mathalphabet_numbers:Nnn
+ {
\clist_map_inline:nn {#2}
{ \um_set_mathalph_range:nNnnn {10} #1 {##1} {#3} {num} }
-}
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_set_mathalphabet_Latin:Nnn {
+\cs_new:Nn \um_set_mathalphabet_Latin:Nnn
+ {
\clist_map_inline:nn {#2}
{ \um_set_mathalph_range:nNnnn {26} #1 {##1} {#3} {Latin} }
-}
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_set_mathalphabet_latin:Nnn {
- \clist_map_inline:nn {#2} {
+\cs_new:Nn \um_set_mathalphabet_latin:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {26} #1 {##1} {#3} {latin}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {h}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_set_mathalphabet_Greek:Nnn {
- \clist_map_inline:nn {#2} {
+\cs_new:Nn \um_set_mathalphabet_Greek:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {25} #1 {##1} {#3} {Greek}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varTheta}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_set_mathalphabet_greek:Nnn {
- \clist_map_inline:nn {#2} {
+\cs_new:Nn \um_set_mathalphabet_greek:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {25} #1 {##1} {#3} {greek}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varepsilon}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {vartheta}
@@ -3921,143 +4005,188 @@ end
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varphi}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varrho}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varpi}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \subsection{Alphabets}
%
% \subsubsection{Upright: \cmd\mathup}
% \begin{macrocode}
-\cs_new:Nn \um_config_up_num:n {
+\cs_new:Nn \um_config_up_num:n
+ {
\um_map_chars_numbers:nn {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathup {up}{#1}
-}
+ }
+
\cs_new:Nn \um_config_up_Latin:n
- {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {up} {#1} }
- {
+ {
+ \bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {up} {#1} }
+ {
\bool_if:NT \g_um_upLatin_bool { \um_map_chars_Latin:nn {up,it} {#1} }
- }
- \um_set_mathalphabet_Latin:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_latin:n {
+ }
+ \um_set_mathalphabet_Latin:Nnn \mathup {up,it} {#1}
+ }
+
+\cs_new:Nn \um_config_up_latin:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_latin:nn {up} {#1} }
- {
- \bool_if:NT \g_um_uplatin_bool {
+ {
+ \bool_if:NT \g_um_uplatin_bool
+ {
\um_map_chars_latin:nn {up,it} {#1}
\um_map_single:nnn {h} {up,it} {#1}
\um_map_single:nnn {dotlessi} {up,it} {#1}
\um_map_single:nnn {dotlessj} {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_Greek:n {
+ }
+
+\cs_new:Nn \um_config_up_Greek:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_Greek:nn {up}{#1} }
- {
+ {
\bool_if:NT \g_um_upGreek_bool { \um_map_chars_Greek:nn {up,it}{#1} }
- }
+ }
\um_set_mathalphabet_Greek:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_greek:n {
+ }
+
+\cs_new:Nn \um_config_up_greek:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_greek:nn {up} {#1} }
- {
- \bool_if:NT \g_um_upgreek_bool {
+ {
+ \bool_if:NT \g_um_upgreek_bool
+ {
\um_map_chars_greek:nn {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathup {up,it} {#1}
-}
-\cs_new:Nn \um_config_up_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_up_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{up}{up}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{up,it}{up}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{up}{up}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{up,it}{up}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathup {partial} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {Nabla} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {dotlessi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {dotlessj} {up,it} {#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Italic: \cmd\mathit}
%
% \begin{macrocode}
-\cs_new:Nn \um_config_it_Latin:n {
+\cs_new:Nn \um_config_it_Latin:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {it} {#1} }
- {
+ {
\bool_if:NF \g_um_upLatin_bool { \um_map_chars_Latin:nn {up,it} {#1} }
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathit {up,it}{#1}
-}
-\cs_new:Nn \um_config_it_latin:n {
- \bool_if:NTF \g_um_literal_bool {
+ }
+
+\cs_new:Nn \um_config_it_latin:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
\um_map_chars_latin:nn {it} {#1}
\um_map_single:nnn {h}{it}{#1}
- }{
- \bool_if:NF \g_um_uplatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_uplatin_bool
+ {
\um_map_chars_latin:nn {up,it} {#1}
\um_map_single:nnn {h}{up,it}{#1}
\um_map_single:nnn {dotlessi}{up,it}{#1}
\um_map_single:nnn {dotlessj}{up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathit {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathit {dotlessi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathit {dotlessj} {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_Greek:n {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_Greek:nn {it}{#1}
- }{
+ }
+
+\cs_new:Nn \um_config_it_Greek:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
+ \um_map_chars_Greek:nn {it}{#1}
+ }
+ {
\bool_if:NF \g_um_upGreek_bool { \um_map_chars_Greek:nn {up,it}{#1} }
- }
+ }
\um_set_mathalphabet_Greek:Nnn \mathit {up,it}{#1}
-}
-\cs_new:Nn \um_config_it_greek:n {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_greek:nn {it} {#1} }
- {
+ }
+
+\cs_new:Nn \um_config_it_greek:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
+ \um_map_chars_greek:nn {it} {#1}
+ }
+ {
\bool_if:NF \g_um_upgreek_bool { \um_map_chars_greek:nn {it,up} {#1} }
- }
+ }
\um_set_mathalphabet_greek:Nnn \mathit {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_it_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{it}{it}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{up,it}{it}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{it}{it}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{up,it}{it}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathit {Nabla} {up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Blackboard or double-struck: \cmd\mathbb\ and \cmd\mathbbit}
%
% \begin{macrocode}
-\cs_new:Nn \um_config_bb_latin:n {
+\cs_new:Nn \um_config_bb_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbb {up,it}{#1}
-}
-\cs_new:Nn \um_config_bb_Latin:n {
+ }
+
+\cs_new:Nn \um_config_bb_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbb {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {C} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {H} {up,it} {#1}
@@ -4066,30 +4195,37 @@ end
\um_set_mathalphabet_pos:Nnnn \mathbb {Q} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {R} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {Z} {up,it} {#1}
-}
-\cs_new:Nn \um_config_bb_num:n {
+ }
+
+\cs_new:Nn \um_config_bb_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbb {up}{#1}
-}
-\cs_new:Nn \um_config_bb_misc:n {
+ }
+
+\cs_new:Nn \um_config_bb_misc:n
+ {
\um_set_mathalphabet_pos:Nnnn \mathbb {Pi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {pi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {Gamma} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {gamma} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {summation} {up} {#1}
-}
-\cs_new:Nn \um_config_bbit_misc:n {
+ }
+
+\cs_new:Nn \um_config_bbit_misc:n
+ {
\um_set_mathalphabet_pos:Nnnn \mathbbit {D} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {d} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {e} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {i} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {j} {up,it} {#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Script and caligraphic: \cmd\mathscr\ and \cmd\mathcal}
%
% \begin{macrocode}
-\cs_new:Nn \um_config_scr_Latin:n {
+\cs_new:Nn \um_config_scr_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathscr {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {B}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {E}{up,it}{#1}
@@ -4099,18 +4235,21 @@ end
\um_set_mathalphabet_pos:Nnnn \mathscr {L}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {M}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {R}{up,it}{#1}
-}
-\cs_new:Nn \um_config_scr_latin:n {
+ }
+
+\cs_new:Nn \um_config_scr_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathscr {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {e}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {g}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {o}{up,it}{#1}
-}
+ }
% \end{macrocode}
% These are by default synonyms for the above, but with the STIX
% fonts we want to use the alternate alphabet.
% \begin{macrocode}
-\cs_new:Nn \um_config_cal_Latin:n {
+\cs_new:Nn \um_config_cal_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathcal {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {B}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {E}{up,it}{#1}
@@ -4120,483 +4259,640 @@ end
\um_set_mathalphabet_pos:Nnnn \mathcal {L}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {M}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {R}{up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Fractur or fraktur or blackletter: \cmd\mathfrak}
%
% \begin{macrocode}
-\cs_new:Nn \um_config_frak_Latin:n {
+\cs_new:Nn \um_config_frak_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathfrak {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {C}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {H}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {I}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {R}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {Z}{up,it}{#1}
-}
-\cs_new:Nn \um_config_frak_latin:n {
+ }
+\cs_new:Nn \um_config_frak_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathfrak {up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Sans serif upright: \cmd\mathsfup}
% \begin{macrocode}
-\cs_new:Nn \um_config_sfup_num:n {
+\cs_new:Nn \um_config_sfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathsf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathsfup {up}{#1}
-}
-\cs_new:Nn \um_config_sfup_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfup_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {sfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfup_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfup_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {sfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathsfup {up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Sans serif italic: \cmd\mathsfit}
%
% \begin{macrocode}
-\cs_new:Nn \um_config_sfit_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+\cs_new:Nn \um_config_sfit_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfit_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfit_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathsfit {up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Typewriter or monospaced: \cmd\mathtt}
% \begin{macrocode}
-\cs_new:Nn \um_config_tt_num:n {
+\cs_new:Nn \um_config_tt_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathtt {up}{#1}
-}
-\cs_new:Nn \um_config_tt_Latin:n {
+ }
+\cs_new:Nn \um_config_tt_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathtt {up,it}{#1}
-}
-\cs_new:Nn \um_config_tt_latin:n {
+ }
+\cs_new:Nn \um_config_tt_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathtt {up,it}{#1}
-}
+ }
% \end{macrocode}
%
%
% \subsubsection{Bold Italic: \cmd\mathbfit}
% \begin{macrocode}
-\cs_new:Nn \um_config_bfit_Latin:n {
- \bool_if:NF \g_um_bfupLatin_bool {
+\cs_new:Nn \um_config_bfit_Latin:n
+ {
+ \bool_if:NF \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Latin:nn {bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfupLatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_latin:n {
- \bool_if:NF \g_um_bfuplatin_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_latin:n
+ {
+ \bool_if:NF \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_latin:nn {bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfuplatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_Greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_Greek:n
+ {
\um_set_mathalphabet_Greek:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Greek:nn {bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfupGreek_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupGreek_bool
+ {
\um_map_chars_Greek:nn {bfup,bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_greek:n
+ {
\um_set_mathalphabet_greek:Nnn \mathbfit {up,it} {#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_greek:nn {bfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {it} {#1}
- }{
- \bool_if:NF \g_um_bfupgreek_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupgreek_bool
+ {
\um_map_chars_greek:nn {bfit,bfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up,it} {#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
- \um_map_single:nnn {Nabla}{bfit}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
- \um_map_single:nnn {Nabla}{bfup,bfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
- \um_map_single:nnn {partial}{bfit}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
- \um_map_single:nnn {partial}{bfup,bfit}{#1}
- }
- }
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ { \um_map_single:nnn {Nabla}{bfit}{#1} }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ { \um_map_single:nnn {Nabla}{bfup,bfit}{#1} }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ { \um_map_single:nnn {partial}{bfit}{#1} }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ { \um_map_single:nnn {partial}{bfup,bfit}{#1} }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfit {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {it}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {it}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up,it}{#1}
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
%
%
% \subsubsection{Bold Upright: \cmd\mathbfup}
% \begin{macrocode}
-\cs_new:Nn \um_config_bfup_num:n {
+\cs_new:Nn \um_config_bfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathbfup {up}{#1}
-}
-\cs_new:Nn \um_config_bfup_Latin:n {
- \bool_if:NT \g_um_bfupLatin_bool {
+ }
+
+\cs_new:Nn \um_config_bfup_Latin:n
+ {
+ \bool_if:NT \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Latin:nn {bfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfupLatin_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_latin:n {
- \bool_if:NT \g_um_bfuplatin_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_latin:n
+ {
+ \bool_if:NT \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_latin:nn {bfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfuplatin_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_Greek:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfup_Greek:n
+ {
\um_set_mathalphabet_Greek:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Greek:nn {bfup}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfupGreek_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupGreek_bool
+ {
\um_map_chars_Greek:nn {bfup,bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_greek:n
+ {
\um_set_mathalphabet_greek:Nnn \mathbfup {up,it} {#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_greek:nn {bfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up} {#1}
- }{
- \bool_if:NT \g_um_bfupgreek_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupgreek_bool
+ {
\um_map_chars_greek:nn {bfup,bfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up,it} {#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfup}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfup,bfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfup}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfup,bfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfup {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {Nabla} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {Digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbf {digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbf {Digamma} {up}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up,it}{#1}
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
%
% \subsubsection{Bold fractur or fraktur or blackletter: \cmd\mathbffrak}
% \begin{macrocode}
-\cs_new:Nn \um_config_bffrak_Latin:n {
+\cs_new:Nn \um_config_bffrak_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbffrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_bffrak_latin:n {
+ }
+
+\cs_new:Nn \um_config_bffrak_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbffrak {up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Bold script or calligraphic: \cmd\mathbfscr}
% \begin{macrocode}
-\cs_new:Nn \um_config_bfscr_Latin:n {
+\cs_new:Nn \um_config_bfscr_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbfscr {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfscr_latin:n {
+ }
+\cs_new:Nn \um_config_bfscr_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbfscr {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfcal_Latin:n {
+ }
+\cs_new:Nn \um_config_bfcal_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbfcal {up,it}{#1}
-}
+ }
% \end{macrocode}
%
% \subsubsection{Bold upright sans serif: \cmd\mathbfsfup}
% \begin{macrocode}
-\cs_new:Nn \um_config_bfsfup_num:n {
+\cs_new:Nn \um_config_bfsfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbfsf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathbfsfup {up}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_bfsfup_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {bfsfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {bfsfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_Greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_Greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Greek:nn {bfsfup}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Greek:nn {bfsfup,bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Greek:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_greek:nn {bfsfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up} {#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_greek:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathbfsfup {up,it} {#1}
-}
-\cs_new:Nn \um_config_bfsfup_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+\cs_new:Nn \um_config_bfsfup_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup,bfsfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfsfup}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfsfup,bfsfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfsfup {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfsfup {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up,it}{#1}
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
%
%
% \subsubsection{Bold italic sans serif: \cmd\mathbfsfit}
% \begin{macrocode}
-\cs_new:Nn \um_config_bfsfit_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+\cs_new:Nn \um_config_bfsfit_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_Greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_Greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Greek:nn {bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Greek:nn {bfsfup,bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Greek:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_greek:nn {bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {it} {#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_greek:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathbfsfit {up,it} {#1}
-}
-\cs_new:Nn \um_config_bfsfit_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfit}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup,bfsfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfsfit}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfsfup,bfsfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfsfit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfsfit {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {it}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {it}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up,it}{#1}
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
%
% \section{A token list to contain the data of the math table}
@@ -4610,11 +4906,13 @@ end
% In time, the case statement inside |set_mathsymbol| will be moved in here
% to avoid re-running it every time.
% \begin{macrocode}
-\cs_new:Npn \um_symbol_setup: {
- \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4 {
- \exp_not:n {\_um_sym:nnn{##1}{##2}{##3}}
- }
-}
+\cs_new:Npn \um_symbol_setup:
+ {
+ \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4
+ {
+ \exp_not:n { \_um_sym:nnn {##1} {##2} {##3} }
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
@@ -4647,32 +4945,38 @@ end
% \begin{macrocode}
\group_begin:
\char_set_catcode_other:N \^
- \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil {
- \tex_lowercase:D {
- \tl_rescan:nn {
+ \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil
+ {
+ \tex_lowercase:D
+ {
+ \tl_rescan:nn
+ {
\ExplSyntaxOn
\char_set_catcode_other:N \{
\char_set_catcode_other:N \}
\char_set_catcode_other:N \&
\char_set_catcode_other:N \%
\char_set_catcode_other:N \$
- }{
+ }
+ {
\cs_gset_eq:NN #1 ^^^^^#2
- }
- }
- }
+ }
+ }
+ }
% \end{macrocode}
% Making |^| the right catcode isn't strictly necessary right now but it helps
% to future proof us with, e.g., breqn.
% Because we're inside a |\tl_rescan:nn|, use plain old \TeX\ syntax to avoid
% any catcode problems.
% \begin{macrocode}
- \cs_new:Npn \um_active_char_set:wc "#1 \q_nil #2 {
- \tex_lowercase:D {
+ \cs_new:Npn \um_active_char_set:wc "#1 \q_nil #2
+ {
+ \tex_lowercase:D
+ {
\tl_rescan:nn { \ExplSyntaxOn }
{ \cs_gset_protected_nopar:Npx ^^^^^#1 { \exp_not:c {#2} } }
- }
- }
+ }
+ }
\group_end:
% \end{macrocode}
% \end{macro}
@@ -4685,23 +4989,26 @@ end
% make sure |#| is an `other' so that we don't get confused with \cs{mathoctothorpe}.
% \begin{macrocode}
\AtBeginDocument{\um_define_math_chars:}
-\cs_new:Nn \um_define_math_chars: {
+\cs_new:Nn \um_define_math_chars:
+ {
\group_begin:
\char_set_catcode_math_superscript:N \^
- \cs_set:Npn \_um_sym:nnn ##1##2##3 {
+ \cs_set:Npn \_um_sym:nnn ##1##2##3
+ {
\bool_if:nF { \cs_if_eq_p:NN ##3 \mathaccent ||
\cs_if_eq_p:NN ##3 \mathopen ||
\cs_if_eq_p:NN ##3 \mathclose ||
\cs_if_eq_p:NN ##3 \mathover ||
\cs_if_eq_p:NN ##3 \mathunder ||
- \cs_if_eq_p:NN ##3 \mathbotaccent } {
+ \cs_if_eq_p:NN ##3 \mathbotaccent }
+ {
\um_cs_set_eq_active_char:Nw ##2 = ##1 \q_nil \ignorespaces
}
- }
+ }
\char_set_catcode_other:N \#
\um_input_math_symbol_table:
\group_end:
-}
+ }
% \end{macrocode}
% Fix \cs{backslash}, which is defined as the escape char character
% above:
@@ -4710,16 +5017,15 @@ end
\lccode`\*=`\\
\char_set_catcode_escape:N \|
\char_set_catcode_other:N \\
- |lowercase{
- |AtBeginDocument{
+ |lowercase
+ {
+ |AtBeginDocument
+ {
|let|backslash=*
- }
- }
+ }
+ }
|group_end:
% \end{macrocode}
-% Fix \cs{backslash}: ^^A |
-% \begin{macrocode}
-% \end{macrocode}
%
% \section{Fall-back font}
%
@@ -4791,10 +5097,11 @@ end
% trailing superscript, then it is included within the insertion.
% \begin{macrocode}
\cs_new:Nn \um_arg_i_before_egroup:n {#1\egroup}
-\cs_new:Nn \um_superscript:n {
+\cs_new:Nn \um_superscript:n
+ {
^\bgroup #1
\peek_meaning_remove:NTF ^ \um_arg_i_before_egroup:n \egroup
-}
+ }
% \end{macrocode}
%
% \begin{macrocode}
@@ -4804,14 +5111,19 @@ end
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new:Nn \um_nprimes:Nn {
- \um_superscript:n {
+\cs_new:Nn \um_nprimes:Nn
+ {
+ \um_superscript:n
+ {
#1
\prg_replicate:nn {#2-1} { \mskip \g_um_primekern_muskip #1 }
- }
-}
-\cs_new:Nn \um_nprimes_select:nn {
- \int_case:nnn {#2}{
+ }
+ }
+
+\cs_new:Nn \um_nprimes_select:nn
+ {
+ \int_case:nnn {#2}
+ {
{1} { \um_superscript:n {#1} }
{2} {
\um_glyph_if_exist:nTF {"2033}
@@ -4828,12 +5140,15 @@ end
{ \um_superscript:n {\um_prime_quad_mchar} }
{ \um_nprimes:Nn #1 {#2} }
}
- }{
+ }
+ {
\um_nprimes:Nn #1 {#2}
- }
-}
-\cs_new:Nn \um_nbackprimes_select:nn {
- \int_case:nnn {#2}{
+ }
+ }
+\cs_new:Nn \um_nbackprimes_select:nn
+ {
+ \int_case:nnn {#2}
+ {
{1} { \um_superscript:n {#1} }
{2} {
\um_glyph_if_exist:nTF {"2036}
@@ -4845,165 +5160,209 @@ end
{ \um_superscript:n {\um_backprime_triple_mchar} }
{ \um_nprimes:Nn #1 {#2} }
}
- }{
+ }
+ {
\um_nprimes:Nn #1 {#2}
- }
-}
+ }
+ }
% \end{macrocode}
%
% Scanning is annoying because I'm too lazy to do it for the general case.
%
% \begin{macrocode}
-\cs_new:Npn \um_scan_prime: {
+\cs_new:Npn \um_scan_prime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_zero:N \l_um_primecount_int
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_dprime: {
+ }
+\cs_new:Npn \um_scan_dprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {1}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_trprime: {
+ }
+\cs_new:Npn \um_scan_trprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_qprime: {
+ }
+\cs_new:Npn \um_scan_qprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_prime: {
+ }
+\cs_new:Npn \um_scan_sup_prime:
+ {
\int_zero:N \l_um_primecount_int
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_dprime: {
+ }
+\cs_new:Npn \um_scan_sup_dprime:
+ {
\int_set:Nn \l_um_primecount_int {1}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_trprime: {
+ }
+\cs_new:Npn \um_scan_sup_trprime:
+ {
\int_set:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_qprime: {
+ }
+\cs_new:Npn \um_scan_sup_qprime:
+ {
\int_set:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Nn \um_scanprime_collect:N {
+ }
+\cs_new:Nn \um_scanprime_collect:N
+ {
\int_incr:N \l_um_primecount_int
- \peek_meaning_remove:NTF ' {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_prime: {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2032 {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_dprime: {
+ \peek_meaning_remove:NTF '
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF \um_scan_prime:
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF ^^^^2032
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF \um_scan_dprime:
+ {
\int_incr:N \l_um_primecount_int
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2033 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2033
+ {
\int_incr:N \l_um_primecount_int
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_trprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_trprime:
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2034 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2034
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_qprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_qprime:
+ {
\int_add:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2057 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2057
+ {
\int_add:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N #1
- }{
+ }
+ {
\um_nprimes_select:nn {#1} {\l_um_primecount_int}
- }
- }
- }
- }
- }
- }
- }
- }
- }
-}
-\cs_new:Npn \um_scan_backprime: {
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+\cs_new:Npn \um_scan_backprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_zero:N \l_um_primecount_int
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_backdprime: {
+ }
+\cs_new:Npn \um_scan_backdprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {1}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_backtrprime: {
+ }
+\cs_new:Npn \um_scan_backtrprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backprime: {
+ }
+\cs_new:Npn \um_scan_sup_backprime:
+ {
\int_zero:N \l_um_primecount_int
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backdprime: {
+ }
+\cs_new:Npn \um_scan_sup_backdprime:
+ {
\int_set:Nn \l_um_primecount_int {1}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backtrprime: {
+ }
+\cs_new:Npn \um_scan_sup_backtrprime:
+ {
\int_set:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Nn \um_scanbackprime_collect:N {
+ }
+\cs_new:Nn \um_scanbackprime_collect:N
+ {
\int_incr:N \l_um_primecount_int
- \peek_meaning_remove:NTF ` {
+ \peek_meaning_remove:NTF `
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backprime:
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2035 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2035
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backdprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backdprime:
+ {
\int_incr:N \l_um_primecount_int
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2036 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2036
+ {
\int_incr:N \l_um_primecount_int
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backtrprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backtrprime:
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2037 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2037
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N #1
- }{
+ }
+ {
\um_nbackprimes_select:nn {#1} {\l_um_primecount_int}
- }
- }
- }
- }
- }
- }
- }
-}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
\AtBeginDocument{\um_define_prime_commands: \um_define_prime_chars:}
-\cs_new:Nn \um_define_prime_commands: {
+\cs_new:Nn \um_define_prime_commands:
+ {
\cs_set_eq:NN \prime \um_prime_single_mchar
\cs_set_eq:NN \dprime \um_prime_double_mchar
\cs_set_eq:NN \trprime \um_prime_triple_mchar
@@ -5011,7 +5370,7 @@ end
\cs_set_eq:NN \backprime \um_backprime_single_mchar
\cs_set_eq:NN \backdprime \um_backprime_double_mchar
\cs_set_eq:NN \backtrprime \um_backprime_triple_mchar
-}
+ }
\group_begin:
\char_set_catcode_active:N \'
\char_set_catcode_active:N \`
@@ -5022,7 +5381,8 @@ end
\char_set_catcode_active:n {"2035}
\char_set_catcode_active:n {"2036}
\char_set_catcode_active:n {"2037}
- \cs_gset:Nn \um_define_prime_chars: {
+ \cs_gset:Nn \um_define_prime_chars:
+ {
\cs_set_eq:NN ' \um_scan_sup_prime:
\cs_set_eq:NN ^^^^2032 \um_scan_sup_prime:
\cs_set_eq:NN ^^^^2033 \um_scan_sup_dprime:
@@ -5032,7 +5392,7 @@ end
\cs_set_eq:NN ^^^^2035 \um_scan_sup_backprime:
\cs_set_eq:NN ^^^^2036 \um_scan_sup_backdprime:
\cs_set_eq:NN ^^^^2037 \um_scan_sup_backtrprime:
- }
+ }
\group_end:
% \end{macrocode}
%
@@ -5043,55 +5403,58 @@ end
\cs_new:Nn \um_redefine_radical:
%<*XE>
{
- \@ifpackageloaded { amsmath } { } {
+ \@ifpackageloaded { amsmath } { }
+ {
% \end{macrocode}
% \begin{macro}{\r@@t}
% \darg{A mathstyle (for \cmd\mathpalette)}
% \darg{Leading superscript for the sqrt sign}
% A re-implementation of \LaTeX's hard-coded n-root sign using the appropriate \cmd\fontdimen s.
% \begin{macrocode}
- \cs_set_nopar:Npn \r@@t ##1 ##2 {
- \hbox_set:Nn \l_tmpa_box {
+ \cs_set_nopar:Npn \r@@t ##1 ##2
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
##1
\sqrtsign { ##2 }
\c_math_toggle_token
- }
- \um_mathstyle_scale:Nnn ##1 { \kern } {
- \fontdimen 63 \l_um_font
- }
- \box_move_up:nn {
+ }
+ \um_mathstyle_scale:Nnn ##1 { \kern }
+ { \fontdimen 63 \l_um_font }
+ \box_move_up:nn
+ {
(\box_ht:N \l_tmpa_box - \box_dp:N \l_tmpa_box)
* \number \fontdimen 65 \l_um_font / 100
- } {
- \box_use:N \rootbox
- }
- \um_mathstyle_scale:Nnn ##1 { \kern } {
- \fontdimen 64 \l_um_font
- }
+ }
+ { \box_use:N \rootbox }
+ \um_mathstyle_scale:Nnn ##1 { \kern }
+ { \fontdimen 64 \l_um_font }
\box_use_clear:N \l_tmpa_box
- }
+ }
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
- }
+ }
}
%</XE>
%<*LU>
{
- \@ifpackageloaded { amsmath } { } {
+ \@ifpackageloaded { amsmath } { }
+ {
% \end{macrocode}
% \begin{macro}{\root}
% Redefine this macro for \LuaTeX, which provides us a nice primitive to use.
% \begin{macrocode}
- \cs_set:Npn \root ##1 \of ##2 {
+ \cs_set:Npn \root ##1 \of ##2
+ {
\luatexUroot \l_um_radical_sqrt_tl { ##1 } { ##2 }
- }
+ }
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
- }
+ }
}
%</LU>
% \end{macrocode}
@@ -5106,13 +5469,14 @@ end
% \cs{um_fontdimen_to_scale:nn} returns a dimension correspond to the current
% font size relative proportion based on that percentage.
% \begin{macrocode}
-\cs_new:Nn \um_fontdimen_to_percent:nn {
+\cs_new:Nn \um_fontdimen_to_percent:nn
+ {
\strip@pt\dimexpr\fontdimen#1#2*65536/100\relax
-}
+ }
\cs_new:Nn \um_fontdimen_to_scale:nn
- {
- \um_fontdimen_to_percent:nn {#1} {#2} \dimexpr \f@size pt\relax
- }
+ {
+ \um_fontdimen_to_percent:nn {#1} {#2} \dimexpr \f@size pt\relax
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -5123,17 +5487,18 @@ end
% \darg{Length control sequence to be scaled according to the math style}
% This macro is used to scale the lengths reported by \cmd\fontdimen\ according to the scale factor for script- and scriptscript-size objects.
% \begin{macrocode}
-\cs_new:Nn \um_mathstyle_scale:Nnn {
+\cs_new:Nn \um_mathstyle_scale:Nnn
+ {
\ifx#1\scriptstyle
- #2\um_fontdimen_to_percent:nn{10}\l_um_font#3
+ #2 \um_fontdimen_to_percent:nn {10} \l_um_font #3
\else
\ifx#1\scriptscriptstyle
- #2\um_fontdimen_to_percent:nn{11}\l_um_font#3
+ #2 \um_fontdimen_to_percent:nn {11} \l_um_font #3
\else
- #2#3
+ #2 #3
\fi
\fi
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -5164,19 +5529,22 @@ end
% \cs{scantokens} makes this process much simpler since we can activate the
% char and assign its meaning in one step.
% \begin{macrocode}
-\cs_new:Nn \um_setup_active_superscript:nn {
+\cs_new:Nn \um_setup_active_superscript:nn
+ {
\prop_gput:Nxn \g_um_supers_prop {\meaning #1} {#2}
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \scantokens{
- \cs_gset:Npn #1 {
+ \scantokens
+ {
+ \cs_gset:Npn #1
+ {
\tl_set:Nn \l_um_ss_chain_tl {#2}
\cs_set_eq:NN \um_sub_or_super:n \sp
\tl_set:Nn \l_um_tmpa_tl {supers}
\um_scan_sscript:
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
% Bam:
% \begin{macrocode}
@@ -5200,19 +5568,22 @@ end
% \end{macrocode}
% \paragraph{Subscripts} Ditto above.
% \begin{macrocode}
-\cs_new:Nn \um_setup_active_subscript:nn {
+\cs_new:Nn \um_setup_active_subscript:nn
+ {
\prop_gput:Nxn \g_um_subs_prop {\meaning #1} {#2}
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \scantokens{
- \cs_gset:Npn #1 {
+ \scantokens
+ {
+ \cs_gset:Npn #1
+ {
\tl_set:Nn \l_um_ss_chain_tl {#2}
\cs_set_eq:NN \um_sub_or_super:n \sb
\tl_set:Nn \l_um_tmpa_tl {subs}
\um_scan_sscript:
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
% A few more subscripts than superscripts:
% \begin{macrocode}
@@ -5251,38 +5622,44 @@ end
% \end{macrocode}
% The scanning command, evident in its purpose:
% \begin{macrocode}
-\cs_new:Npn \um_scan_sscript: {
- \um_scan_sscript:TF {
+\cs_new:Npn \um_scan_sscript:
+ {
+ \um_scan_sscript:TF
+ {
\um_scan_sscript:
- }{
+ }
+ {
\um_sub_or_super:n {\l_um_ss_chain_tl}
- }
-}
+ }
+ }
% \end{macrocode}
% The main theme here is stolen from the source to the various \cs{peek_} functions.
% Consider this function as simply boilerplate:
% TODO: move all this to expl3, and don't use internal expl3 macros.
% \begin{macrocode}
-\cs_new:Npn \um_scan_sscript:TF #1#2 {
+\cs_new:Npn \um_scan_sscript:TF #1#2
+ {
\tl_set:Nx \__peek_true_aux:w { \exp_not:n{ #1 } }
\tl_set_eq:NN \__peek_true:w \__peek_true_remove:w
\tl_set:Nx \__peek_false:w { \exp_not:n { \group_align_safe_end: #2 } }
\group_align_safe_begin:
\peek_after:Nw \um_peek_execute_branches_ss:
-}
+ }
% \end{macrocode}
% We do not skip spaces when scanning ahead, and we explicitly wish to
% bail out on encountering a space or a brace.
% \begin{macrocode}
-\cs_new:Npn \um_peek_execute_branches_ss: {
- \bool_if:nTF {
+\cs_new:Npn \um_peek_execute_branches_ss:
+ {
+ \bool_if:nTF
+ {
\token_if_eq_catcode_p:NN \l_peek_token \c_group_begin_token ||
\token_if_eq_catcode_p:NN \l_peek_token \c_group_end_token ||
\token_if_eq_meaning_p:NN \l_peek_token \c_space_token
- }
- { \__peek_false:w }
- { \um_peek_execute_branches_ss_aux: }
-}
+ }
+ { \__peek_false:w }
+ { \um_peek_execute_branches_ss_aux: }
+ }
% \end{macrocode}
% This is the actual comparison code.
% Because the peeking has already tokenised the next token,
@@ -5295,7 +5672,8 @@ end
% build up a chain of sub-/superscripts and iterate. (If not, exit and
% typeset what we've already collected.)
% \begin{macrocode}
-\cs_new:Npn \um_peek_execute_branches_ss_aux: {
+\cs_new:Npn \um_peek_execute_branches_ss_aux:
+ {
\prop_if_in:cxTF
{g_um_\l_um_tmpa_tl _prop} {\meaning\l_peek_token}
{
@@ -5305,7 +5683,7 @@ end
\__peek_true:w
}
{ \__peek_false:w }
-}
+ }
% \end{macrocode}
%
% \subsubsection{Active fractions}
@@ -5314,24 +5692,29 @@ end
% \LaTeX\ fraction declaration.
%
% \begin{macrocode}
-\cs_new:Npn \um_define_active_frac:Nw #1 #2/#3 {
+\cs_new:Npn \um_define_active_frac:Nw #1 #2/#3
+ {
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \tl_rescan:nn {
+ \tl_rescan:nn
+ {
\catcode`\_=11\relax
\catcode`\:=11\relax
- }{
- \cs_gset:Npx #1 {
+ }
+ {
+ \cs_gset:Npx #1
+ {
\bool_if:NTF \l_um_smallfrac_bool {\exp_not:N\tfrac} {\exp_not:N\frac}
{#2} {#3}
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
% These are redefined for each math font selection in case the |active-frac|
% feature changes.
% \begin{macrocode}
-\cs_new:Npn \um_setup_active_frac: {
+\cs_new:Npn \um_setup_active_frac:
+ {
\group_begin:
\um_define_active_frac:Nw ^^^^2189 0/3
\um_define_active_frac:Nw ^^^^2152 1/{10}
@@ -5353,7 +5736,7 @@ end
\um_define_active_frac:Nw ^^^^215a 5/6
\um_define_active_frac:Nw ^^^^215e 7/8
\group_end:
-}
+ }
\um_setup_active_frac:
% \end{macrocode}
%
@@ -5401,13 +5784,16 @@ end
% This is wrong: it should be \unichar{003A} {colon} instead!
% We hope no-one will notice.
% \begin{macrocode}
-\@ifpackageloaded{amsmath}{
+\@ifpackageloaded{amsmath}
+ {
% define their own colon, perhaps I should just steal it. (It does look much better.)
-}{
- \cs_set_protected:Npn \colon {
+ }
+ {
+ \cs_set_protected:Npn \colon
+ {
\bool_if:NTF \g_um_literal_colon_bool {:} { \mathpunct{:} }
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -5450,30 +5836,36 @@ end
% In this case it will be overwritten using the \meta{parameter text} and the \meta{new replacement text for \LuaTeX} or the \meta{new replacement text for \XeTeX}, depending on the engine.
% Otherwise issue a warning and don’t overwrite.
% \begin{macrocode}
-\cs_new_protected_nopar:Npn \um_check_and_fix:NNnnnn #1 #2 #3 #4 #5 #6 {
- \cs_if_exist:NT #1 {
- \token_if_macro:NTF #1 {
+\cs_new_protected_nopar:Nn \um_check_and_fix:NNnnnn
+ {
+ \cs_if_exist:NT #1
+ {
+ \token_if_macro:NTF #1
+ {
\group_begin:
#2 \um_tmpa:w #3 { #4 }
- \cs_if_eq:NNTF #1 \um_tmpa:w {
+ \cs_if_eq:NNTF #1 \um_tmpa:w
+ {
\msg_info:nnx { unicode-math } { patch-macro }
{ \token_to_str:N #1 }
\group_end:
#2 #1 #3
%<XE> { #6 }
%<LU> { #5 }
- } {
+ }
+ {
\msg_warning:nnxxx { unicode-math } { wrong-meaning }
{ \token_to_str:N #1 } { \token_to_meaning:N #1 }
{ \token_to_meaning:N \um_tmpa:w }
\group_end:
- }
- } {
+ }
+ }
+ {
\msg_warning:nnx { unicode-math } { macro-expected }
{ \token_to_str:N #1 }
- }
- }
-}
+ }
+ }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -5489,9 +5881,10 @@ end
% In this case it will be overwritten using the \meta{parameter text} and the \meta{new replacement text}.
% Otherwise issue a warning and don’t overwrite.
% \begin{macrocode}
-\cs_new_protected_nopar:Npn \um_check_and_fix:NNnnn #1 #2 #3 #4 #5 {
+\cs_new_protected_nopar:Nn \um_check_and_fix:NNnnn
+ {
\um_check_and_fix:NNnnnn #1 #2 { #3 } { #4 } { #5 } { #5 }
-}
+ }
% \end{macrocode}
% \end{macro}
%
@@ -5508,11 +5901,13 @@ end
% In this case it will be overwritten using the \meta{parameter text} and the \meta{new replacement text}.
% Otherwise issue a warning and don’t overwrite.
% \begin{macrocode}
-\cs_new_protected_nopar:Npn \um_check_and_fix_luatex:NNnnn #1 #2 #3 #4 #5 {
- \luatex_if_engine:T {
+\cs_new_protected_nopar:Nn \um_check_and_fix_luatex:NNnnn
+ {
+ \luatex_if_engine:T
+ {
\um_check_and_fix:NNnnn #1 #2 { #3 } { #4 } { #5 }
- }
-}
+ }
+ }
\cs_generate_variant:Nn \um_check_and_fix_luatex:NNnnn { c }
% \end{macrocode}
% \end{macro}
@@ -5528,26 +5923,30 @@ end
% but activates automatically so old documents that might change the \cs{url}
% font still work correctly.
% \begin{macrocode}
-\AtEndOfPackageFile * {url} {
+\AtEndOfPackageFile * {url}
+ {
\tl_put_left:Nn \Url@FormatString { \um_switchto_mathup: }
- \tl_put_right:Nn \UrlSpecials {
+ \tl_put_right:Nn \UrlSpecials
+ {
\do\`{\mathchar`\`}
\do\'{\mathchar`\'}
\do\${\mathchar`\$}
\do\&{\mathchar`\&}
- }
-}
+ }
+ }
% \end{macrocode}
%
% \paragraph{\pkg{amsmath}}
% Since the mathcode of |`\-| is greater than eight bits, this piece of |\AtBeginDocument| code from \pkg{amsmath} dies if we try and set the maths font in the preamble:
% \begin{macrocode}
-\AtEndOfPackageFile * {amsmath} {
+\AtEndOfPackageFile * {amsmath}
+ {
%<*XE>
- \tl_remove_once:Nn \@begindocumenthook {
+ \tl_remove_once:Nn \@begindocumenthook
+ {
\mathchardef\std@minus\mathcode`\-\relax
\mathchardef\std@equal\mathcode`\=\relax
- }
+ }
\def\std@minus{\Umathcharnum\Umathcodenum`\-\relax}
\def\std@equal{\Umathcharnum\Umathcodenum`\=\relax}
%</XE>
@@ -5560,14 +5959,16 @@ end
% This isn't as clever as the \pkg{amsmath} definition but I think it works:
% \begin{macrocode}
%<*XE>
- \def \resetMathstrut@ {%
+ \def \resetMathstrut@
+ {%
\setbox\z@\hbox{$($}%)
\ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@
- }
+ }
% \end{macrocode}
% The |subarray| environment uses inappropriate font dimensions.
% \begin{macrocode}
- \um_check_and_fix:NNnnn \subarray \cs_set:Npn { #1 } {
+ \um_check_and_fix:NNnnn \subarray \cs_set:Npn { #1 }
+ {
\vcenter
\bgroup
\Let@
@@ -5583,19 +5984,21 @@ end
$ \m@th \scriptstyle ## $
\hfil
\crcr
- } {
+ }
+ {
\vcenter
\c_group_begin_token
\Let@
\restore@math@cr
\default@tag
- \skip_set:Nn \baselineskip {
+ \skip_set:Nn \baselineskip
+ {
% \end{macrocode}
% Here we use stack top shift + stack bottom shift, which sounds reasonable.
% \begin{macrocode}
\um_stack_num_up:N \scriptstyle
+ \um_stack_denom_down:N \scriptstyle
- }
+ }
% \end{macrocode}
% Here we use the minimum stack gap.
% \begin{macrocode}
@@ -5611,43 +6014,51 @@ end
\c_math_toggle_token
\hfil
\crcr
- }
+ }
%</XE>
% \end{macrocode}
% The roots need a complete rework.
% \begin{macrocode}
- \um_check_and_fix_luatex:NNnnn \plainroot@ \cs_set_nopar:Npn { #1 \of #2 } {
- \setbox \rootbox \hbox {
+ \um_check_and_fix_luatex:NNnnn \plainroot@ \cs_set_nopar:Npn { #1 \of #2 }
+ {
+ \setbox \rootbox \hbox
+ {
$ \m@th \scriptscriptstyle { #1 } $
- }
+ }
\mathchoice
{ \r@@t \displaystyle { #2 } }
{ \r@@t \textstyle { #2 } }~
{ \r@@t \scriptstyle { #2 } }
{ \r@@t \scriptscriptstyle { #2 } }
\egroup
- } {
- \bool_if:nTF {
+ }
+ {
+ \bool_if:nTF
+ {
\int_compare_p:nNn { \uproot@ } = { \c_zero }
&& \int_compare_p:nNn { \leftroot@ } = { \c_zero }
- } {
+ }
+ {
\luatexUroot \l_um_radical_sqrt_tl { #1 } { #2 }
- } {
- \hbox_set:Nn \rootbox {
+ }
+ {
+ \hbox_set:Nn \rootbox
+ {
\c_math_toggle_token
\m@th
\scriptscriptstyle { #1 }
\c_math_toggle_token
- }
+ }
\mathchoice
{ \r@@t \displaystyle { #2 } }
{ \r@@t \textstyle { #2 } }
{ \r@@t \scriptstyle { #2 } }
{ \r@@t \scriptscriptstyle { #2 } }
- }
+ }
\c_group_end_token
- }
- \um_check_and_fix:NNnnnn \r@@t \cs_set_nopar:Npn { #1 #2 } {
+ }
+ \um_check_and_fix:NNnnnn \r@@t \cs_set_nopar:Npn { #1 #2 }
+ {
\setboxz@h { $ \m@th #1 \sqrtsign { #2 } $ }
\dimen@ \ht\z@
\advance \dimen@ -\dp\z@
@@ -5659,69 +6070,82 @@ end
\mkern -10mu
\mkern \leftroot@ mu
\boxz@
- } {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
#1
\mskip \uproot@ mu
\c_math_toggle_token
- }
- \luatexUroot \l_um_radical_sqrt_tl {
- \box_move_up:nn { \box_wd:N \l_tmpa_box } {
- \hbox:n {
+ }
+ \luatexUroot \l_um_radical_sqrt_tl
+ {
+ \box_move_up:nn { \box_wd:N \l_tmpa_box }
+ {
+ \hbox:n
+ {
\c_math_toggle_token
\m@th
\mkern -\leftroot@ mu
\box_use:N \rootbox
\mkern \leftroot@ mu
\c_math_toggle_token
- }
- }
- } {
- #2
- }
- } {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ }
+ }
+ { #2 }
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
#1
\sqrtsign { #2 }
\c_math_toggle_token
- }
- \hbox_set:Nn \l_tmpb_box {
+ }
+ \hbox_set:Nn \l_tmpb_box
+ {
\c_math_toggle_token
\m@th
#1
\mskip \uproot@ mu
\c_math_toggle_token
- }
+ }
\mkern -\leftroot@ mu
- \um_mathstyle_scale:Nnn #1 { \kern } {
+ \um_mathstyle_scale:Nnn #1 { \kern }
+ {
\fontdimen 63 \l_um_font
- }
- \box_move_up:nn {
+ }
+ \box_move_up:nn
+ {
\box_wd:N \l_tmpb_box
+ (\box_ht:N \l_tmpa_box - \box_dp:N \l_tmpa_box)
* \number \fontdimen 65 \l_um_font / 100
- } {
+ }
+ {
\box_use:N \rootbox
- }
- \um_mathstyle_scale:Nnn #1 { \kern } {
+ }
+ \um_mathstyle_scale:Nnn #1 { \kern }
+ {
\fontdimen 64 \l_um_font
- }
+ }
\mkern \leftroot@ mu
\box_use_clear:N \l_tmpa_box
- }
-}
+ }
+ }
% \end{macrocode}
%
% \paragraph{\pkg{amsopn}}
% This code is to improve the output of analphabetic symbols in text of operator names (\cs{sin}, \cs{cos}, etc.). Just comment out the offending lines for now:
% \begin{macrocode}
%<*XE>
-\AtEndOfPackageFile * {amsopn} {
- \cs_set:Npn \newmcodes@ {
+\AtEndOfPackageFile * {amsopn}
+ {
+ \cs_set:Npn \newmcodes@
+ {
\mathcode`\'39\scan_stop:
\mathcode`\*42\scan_stop:
\mathcode`\."613A\scan_stop:
@@ -5731,8 +6155,8 @@ end
\mathcode`\-45\scan_stop:
\mathcode`\/47\scan_stop:
\mathcode`\:"603A\scan_stop:
- }
-}
+ }
+ }
%</XE>
% \end{macrocode}
% \paragraph{Symbols}
@@ -5746,48 +6170,61 @@ end
% \end{macrocode}
% \paragraph{Accents}
% \begin{macrocode}
-\cs_new_protected_nopar:Nn \um_setup_accents: {
- \cs_gset_protected_nopar:Npx \widehat {
+\cs_new_protected_nopar:Nn \um_setup_accents:
+ {
+ \cs_gset_protected_nopar:Npx \widehat
+ {
\um_accent:nnn {} { \um_symfont_tl } { "0302 }
- }
- \cs_gset_protected_nopar:Npx \widetilde {
+ }
+ \cs_gset_protected_nopar:Npx \widetilde
+ {
\um_accent:nnn {} { \um_symfont_tl } { "0303 }
- }
- \cs_gset_protected_nopar:Npx \overleftarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overleftarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20D6 }
- }
- \cs_gset_protected_nopar:Npx \overrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overrightarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20D7 }
- }
- \cs_gset_protected_nopar:Npx \overleftrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overleftrightarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20E1 }
- }
- \cs_gset_protected_nopar:Npx \wideutilde {
+ }
+ \cs_gset_protected_nopar:Npx \wideutilde
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "0330 }
- }
- \cs_gset_protected_nopar:Npx \underrightharpoondown {
+ }
+ \cs_gset_protected_nopar:Npx \underrightharpoondown
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EC }
- }
- \cs_gset_protected_nopar:Npx \underleftharpoondown {
+ }
+ \cs_gset_protected_nopar:Npx \underleftharpoondown
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20ED }
- }
- \cs_gset_protected_nopar:Npx \underleftarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underleftarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EE }
- }
- \cs_gset_protected_nopar:Npx \underrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underrightarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EF }
- }
- \cs_gset_protected_nopar:Npx \underleftrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underleftrightarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "034D }
- }
-}
+ }
+ }
% \end{macrocode}
%
% \begin{macrocode}
\cs_set_eq:NN \um_text_slash: \slash
-\cs_set_protected:Npn \slash {
+\cs_set_protected:Npn \slash
+ {
\mode_if_math:TF {\mathslash} {\um_text_slash:}
-}
+ }
% \end{macrocode}
%
% \paragraph{\cs{not}}
@@ -5808,26 +6245,33 @@ end
% \begin{macrocode}
\tl_new:N \l_not_token_name_tl
-\cs_new:Npn \not_newnot:N #1 {
+\cs_new:Npn \not_newnot:N #1
+ {
\tl_set:Nx \l_not_token_name_tl { \token_to_str:N #1 }
- \exp_args:Nx \tl_if_empty:nF { \tl_tail:V \l_not_token_name_tl } {
+ \exp_args:Nx \tl_if_empty:nF { \tl_tail:V \l_not_token_name_tl }
+ {
\tl_set:Nx \l_not_token_name_tl { \tl_tail:V \l_not_token_name_tl }
- }
- \cs_if_exist:cTF { n \l_not_token_name_tl } {
+ }
+ \cs_if_exist:cTF { n \l_not_token_name_tl }
+ {
\use:c { n \l_not_token_name_tl }
- } {
- \cs_if_exist:cTF { not \l_not_token_name_tl } {
+ }
+ {
+ \cs_if_exist:cTF { not \l_not_token_name_tl }
+ {
\use:c { not \l_not_token_name_tl }
- } {
+ }
+ {
\not_oldnot: #1 %\l_not_token_name_tl
- }
- }
-}
+ }
+ }
+ }
-\cs_new_protected_nopar:Nn \um_setup_negations: {
- \cs_set_eq:NN \not_oldnot: \not
- \cs_set_eq:NN \not \not_newnot:N
+\cs_set_eq:NN \not_oldnot: \not
+\cs_set_eq:NN \not \not_newnot:N
+\cs_new_protected_nopar:Nn \um_setup_negations:
+ {
\cs_gset:cpn { not= } { \neq }
\cs_gset:cpn { not< } { \nless }
\cs_gset:cpn { not> } { \ngtr }
@@ -5838,27 +6282,29 @@ end
\cs_gset:Npn \nge { \ngeq }
\cs_gset:Npn \ngreater { \ngtr }
\cs_gset:Npn \nforksnot { \forks }
-}
+ }
% \end{macrocode}
%
% \paragraph{\pkg{mathtools}}
% \pkg{mathtools}’s |\cramped| command and others that make use of its internal version use an incorrect font dimension.
%
% \begin{macrocode}
-\AtEndOfPackageFile * { mathtools } {
+\AtEndOfPackageFile * { mathtools }
+ {
%<*XE>
\newfam \g_um_empty_fam
\um_check_and_fix:NNnnn
\MT_cramped_internal:Nn \cs_set_nopar:Npn { #1 #2 }
- {
- \sbox \z@ {
+ {
+ \sbox \z@
+ {
$
\m@th
#1
\nulldelimiterspace = \z@
\radical \z@ { #2 }
$
- }
+ }
\ifx #1 \displaystyle
\dimen@ = \fontdimen 8 \textfont 3
\advance \dimen@ .25 \fontdimen 5 \textfont 2
@@ -5878,13 +6324,14 @@ end
\advance \dimen@ -\ht\z@
\ht\z@ = -\dimen@
\box\z@
- }
+ }
% \end{macrocode}
% The \XeTeX\ version is pretty similar to the legacy version, only using the correct font dimensions.
% Note we used `\verb|\XeTeXradical|' with a newly-allocated empty family to make sure that the radical rule width is not set.
% \begin{macrocode}
- {
- \hbox_set:Nn \l_tmpa_box {
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\color@setgroup
\c_math_toggle_token
\m@th
@@ -5893,32 +6340,37 @@ end
\XeTeXradical \g_um_empty_fam \c_zero { #2 }
\c_math_toggle_token
\color@endgroup
- }
- \box_set_ht:Nn \l_tmpa_box {
+ }
+ \box_set_ht:Nn \l_tmpa_box
+ {
\box_ht:N \l_tmpa_box
% \end{macrocode}
% Here we use the radical vertical gap.
% \begin{macrocode}
- \um_radical_vgap:N #1
- }
+ }
\box_use_clear:N \l_tmpa_box
- }
+ }
%</XE>
% \end{macrocode}
+%
% \begin{macro}{\overbracket}
% \begin{macro}{\underbracket}
% \pkg{mathtools}’s |\overbracket| and |\underbracket| take optional
% arguments and are defined in terms of rules, so we keep them, and rename
% ours to |\Uoverbracket| and |\Uunderbracket|.
% \begin{macrocode}
-\AtEndOfPackageFile * { mathtools } {
- \let\MToverbracket =\overbracket
- \let\MTunderbracket=\underbracket
+\AtEndOfPackageFile * { mathtools }
+ {
+ \cs_set_eq:NN \MToverbracket \overbracket
+ \cs_set_eq:NN \MTunderbracket \underbracket
- \AtBeginDocument {
- \msg_warning:nn { unicode-math } { mathtools-overbracket }
+ \AtBeginDocument
+ {
+ \msg_warning:nn { unicode-math } { mathtools-overbracket }
- \def\downbracketfill#1#2{%
+ \def\downbracketfill#1#2
+ {%
% \end{macrocode}
% Original definition used the height of |\braceld| which is not available
% with Unicode fonts, so we are hard coding the $5/18$ex suggested by
@@ -5928,19 +6380,20 @@ end
\downbracketend{#1}{#2}
\leaders \vrule \@height #1 \@depth \z@ \hfill
\downbracketend{#1}{#2}%
- }
- \def\upbracketfill#1#2{%
+ }
+ \def\upbracketfill#1#2
+ {%
\edef\l_MT_bracketheight_fdim{.27ex}%
\upbracketend{#1}{#2}
\leaders \vrule \@height \z@ \@depth #1 \hfill
\upbracketend{#1}{#2}%
- }
+ }
\let\Uoverbracket =\overbracket
\let\Uunderbracket=\underbracket
\let\overbracket =\MToverbracket
\let\underbracket =\MTunderbracket
- }
-}
+ }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -5960,7 +6413,7 @@ end
\NewDocumentCommand \coloneqq { } { \coloneq }
\NewDocumentCommand \Coloneqq { } { \Coloneq }
\NewDocumentCommand \eqqcolon { } { \eqcolon }
-}
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -5979,7 +6432,8 @@ end
% combinations. Fortunately there are no name clashes, so we can just
% overwrite their definitions.
% \begin{macrocode}
-\AtEndOfPackageFile * { colonequals } {
+\AtEndOfPackageFile * { colonequals }
+ {
\msg_warning:nn { unicode-math } { colonequals }
\RenewDocumentCommand \ratio { } { \mathratio }
\RenewDocumentCommand \coloncolon { } { \Colon }
@@ -5987,7 +6441,7 @@ end
\RenewDocumentCommand \colonequals { } { \coloneq }
\RenewDocumentCommand \equalscolon { } { \eqcolon }
\RenewDocumentCommand \coloncolonequals { } { \Coloneq }
-}
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -6064,11 +6518,11 @@ end
}
\msg_new:nnn { unicode-math } { mathtools-overbracket } {
Using~ \token_to_str:N \overbracket\ and~
- \token_to_str:N \underbracke\ from~
+ \token_to_str:N \underbracket\ from~
`mathtools'~ package.\\
\\
Use~ \token_to_str:N \Uoverbracket\ and~
- \token_to_str:N \Uunderbracke\ for~
+ \token_to_str:N \Uunderbracket\ for~
original~ `unicode-math'~ definition.
}
\msg_new:nnn { unicode-math } { mathtools-colon } {
@@ -6432,11 +6886,23 @@ end
\fvset{gobble=2,fontsize=\small,xleftmargin=2em}
%\usepackage[rm,small]{titlesec}
-\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
-\setsansfont[Scale=MatchLowercase,Ligatures=TeX]{Iwona}
-\setmonofont[Scale=MatchLowercase]{Inconsolata}
+\setmainfont{TeX Gyre Pagella}
+\setsansfont{Iwona}%
+ [
+ Scale=MatchLowercase,
+ Extension = .otf,
+ UprightFont = *-Regular,
+ ItalicFont = *-Italic,
+ BoldFont = *-Bold,
+ BoldItalicFont = *-BoldItalic,
+ ]
+\setmonofont{Inconsolatazi4-Regular.otf}%
+ [
+ Scale=MatchLowercase,
+ BoldFont=Inconsolatazi4-Bold.otf
+ ]
\setmathfont{texgyrepagella-math.otf}
-\newfontface\umfont{XITS Math}
+\newfontface\umfont{xits-math.otf}
\usepackage{hypdoc}
\hypersetup{linktocpage}
@@ -6512,4 +6978,4 @@ end
%
\endinput
-
+
diff --git a/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx b/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
index 96211735e86..e1998c08069 100644
--- a/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
+++ b/Master/texmf-dist/source/latex/unicode-math/unimath-symbols.ltx
@@ -1,4 +1,4 @@
-%!TEX TS-program = XeLaTeX
+%!TEX TS-program = LuaLaTeX
%%%%%%%%%%%%%%%%%%%%%%%
% SYMBOLS DEFINED BY UNICODE-MATH
@@ -80,6 +80,11 @@
\makebox[0pt][l]
{ \color[gray]{0.7} \textsuperscript{\sffamily (p)} }
}
+ \tl_if_in:NnT \LTXSYM {#2}
+ {
+ \makebox[0pt][l]
+ { \color[gray]{0.7} \textsuperscript{\sffamily (l)} }
+ }
\tl_if_in:NnT \AMSSYMB {#2}
{
\makebox[0pt][l]
@@ -99,7 +104,29 @@
\fi
}
-\def\PLAIN{\alpha\beta\gamma\delta\epsilon\zeta\eta\theta\iota\kappa\lambda\mu\nu\xi\pi\rho\sigma\tau\upsilon\phi\chi\psi\omega\varepsilon\vartheta\varpi\varrho\varsigma\varphi\Gamma\Delta\Theta\Lambda\Xi\Pi\Sigma\Upsilon\Phi\Psi\Omega\aleph\hbar\imath\jmath\ell\wp\Re\Im\partial\infty\prime\emptyset\nabla\surd\top\bot\angle\triangle\forall\exists\neg\flat\natural\sharp\clubsuit\diamondsuit\heartsuit\spadesuit\coprod\bigvee\bigwedge\biguplus\bigcap\bigcup\int\prod\sum\bigotimes\bigoplus\bigodot\oint\bigsqcup\smallint\triangleleft\triangleright\bigtriangleup\bigtriangledown\wedge\land\vee\lor\cap\cup\ddagger\dagger\sqcap\sqcup\uplus\amalg\diamond\bullet\wr\div\odot\oslash\otimes\ominus\oplus\mp\pm\circ\bigcirc\setminus\cdot\ast\times\star\propto\sqsubseteq\sqsupseteq\parallel\mid\dashv\vdash\nearrow\searrow\nwarrow\swarrow\Leftrightarrow\Leftarrow\Rightarrow\neq\ne\lnot\leq\le\geq\ge\succ\prec\approx\succeq\preceq\supset\subset\supseteq\subseteq\in\ni\owns\gg\ll\not\leftrightarrow\leftarrow\gets\rightarrow\to\mapstochar\mapsto\sim\simeq\perp\equiv\asymp\smile\frown\leftharpoonup\leftharpoondown\rightharpoonup\rightharpoondown\joinrel\relbar\Relbar\lhook\hookrightarrow\rhook\hookleftarrow\bowtie\models\Longrightarrow\longrightarrow\longleftarrow\Longleftarrow\longmapsto\longleftrightarrow\Longleftrightarrow\iff\ldotp\cdotp\colon\ldots\cdots\vdots\ddots\acute\grave\ddot\tilde\bar\breve\check\hat\vec\dot\widetilde\widehat\overrightarrow\overleftarrow\overbrace\underbrace\lmoustache\rmoustache\lgroup\rgroup\arrowvert\Arrowvert\bracevert\Vert\vert\uparrow\downarrow\updownarrow\Uparrow\Downarrow\Updownarrow\backslash\rangle\langle\rbrace\lbrace\rceil\lceil\rfloor\lfloor\sqrt}
+\def\PLAIN{\alpha\beta\gamma\delta\epsilon\zeta\eta\theta\iota\kappa\lambda\mu\nu\xi\pi\rho\sigma\tau\upsilon\phi\chi\psi\omega\varepsilon\vartheta\varpi\varrho\varsigma\varphi\Gamma\Delta\Theta\Lambda\Xi\Pi\Sigma\Upsilon\Phi\Psi\Omega
+%
+\aleph\hbar\imath\jmath\ell\wp\Re\Im\partial\infty\prime\emptyset\nabla\surd\top\bot\angle\triangle\forall\exists\neg\flat\natural\sharp\clubsuit\diamondsuit\heartsuit\spadesuit
+%
+\coprod\bigvee\bigwedge\biguplus\bigcap\bigcup\int\prod\sum\bigotimes\bigoplus\bigodot\oint\bigsqcup\smallint
+%
+\triangleleft\triangleright\bigtriangleup\bigtriangledown\wedge\land\vee\lor\cap\cup\ddagger\dagger\sqcap\sqcup\uplus\amalg\diamond\bullet\wr\div\odot\oslash\otimes\ominus\oplus\mp\pm\circ\bigcirc\setminus\cdot\ast\times\star\propto\sqsubseteq\sqsupseteq\parallel\mid\dashv\vdash\nearrow\searrow\nwarrow\swarrow\Leftrightarrow\Leftarrow\Rightarrow\neq\ne\lnot\leq\le\geq\ge\succ\prec\approx\succeq\preceq\supset\subset\supseteq\subseteq\in\ni\owns\gg\ll\not\leftrightarrow\leftarrow\gets\rightarrow\to\mapstochar\mapsto\sim\simeq\perp\equiv\asymp\smile\frown\leftharpoonup\leftharpoondown\rightharpoonup\rightharpoondown
+%
+\joinrel\relbar\Relbar\lhook\hookrightarrow\rhook\hookleftarrow\bowtie\models\Longrightarrow\longrightarrow\longleftarrow\Longleftarrow\longmapsto\longleftrightarrow\Longleftrightarrow\iff
+%
+\ldotp\cdotp\colon\ldots\cdots\vdots\ddots
+%
+\acute\grave\ddot\tilde\bar\breve\check\hat\vec\dot\widetilde\widehat
+%
+\overrightarrow\overleftarrow\overbrace\underbrace\lmoustache\rmoustache\lgroup\rgroup\arrowvert\Arrowvert\bracevert\Vert\vert\uparrow\downarrow\updownarrow\Uparrow\Downarrow\Updownarrow\backslash\rangle\langle\rbrace\lbrace\rceil\lceil\rfloor\lfloor\sqrt}
+
+\def\LTXSYM{
+\cong
+\notin
+\rightleftharpoons
+\doteq
+\mathring
+}
\def\AMSSYMB{\boxdot\boxplus\boxtimes\square\blacksquare\centerdot\lozenge\blacklozenge\circlearrowright\circlearrowleft\leftrightharpoons\boxminus\Vdash\Vvdash\vDash\twoheadrightarrow\twoheadleftarrow\leftleftarrows\rightrightarrows\upuparrows\downdownarrows\upharpoonright\restriction\downharpoonright\upharpoonleft\downharpoonleft\rightarrowtail\leftarrowtail\leftrightarrows\rightleftarrows\Lsh\Rsh\rightsquigarrow\leftrightsquigarrow\looparrowleft\looparrowright\circeq\succsim\gtrsim\gtrapprox\multimap\therefore\because\doteqdot\Doteq\triangleq\precsim\lesssim\lessapprox\eqslantless\eqslantgtr\curlyeqprec\curlyeqsucc\preccurlyeq\leqq\leqslant\lessgtr\backprime\risingdotseq\fallingdotseq\succcurlyeq\geqq\geqslant\gtrless\vartriangleright\vartriangleleft\trianglerighteq\trianglelefteq\bigstar\between\blacktriangledown\blacktriangleright\blacktriangleleft\vartriangle\blacktriangle\triangledown\eqcirc\lesseqgtr\gtreqless\lesseqqgtr\gtreqqless\Rrightarrow\Lleftarrow\veebar\barwedge\doublebarwedge\measuredangle\sphericalangle\varpropto\smallsmile\smallfrown\Subset\Supset\Cup\doublecup\Cap\doublecap\curlywedge\curlyvee\leftthreetimes\rightthreetimes\subseteqq\supseteqq\bumpeq\Bumpeq\lll\llless\ggg\gggtr\circledS\pitchfork\dotplus\backsim\backsimeq\complement\intercal\circledcirc\circledast\circleddash\lvertneqq\gvertneqq\nleq\ngeq\nless\ngtr\nprec\nsucc\lneqq\gneqq\nleqslant\ngeqslant\lneq\gneq\npreceq\nsucceq\precnsim\succnsim\lnsim\gnsim\nleqq\ngeqq\precneqq\succneqq\precnapprox\succnapprox\lnapprox\gnapprox\nsim\ncong\diagup\diagdown\varsubsetneq\varsupsetneq\nsubseteqq\nsupseteqq\subsetneqq\supsetneqq\varsubsetneqq\varsupsetneqq\subsetneq\supsetneq\nsubseteq\nsupseteq\nparallel\nmid\nshortmid\nshortparallel\nvdash\nVdash\nvDash\nVDash\ntrianglerighteq\ntrianglelefteq\ntriangleleft\ntriangleright\nleftarrow\nrightarrow\nLeftarrow\nRightarrow\nLeftrightarrow\nleftrightarrow\divideontimes\varnothing\nexists\Finv\Game\eth\eqsim\beth\gimel\daleth\lessdot\gtrdot\ltimes\rtimes\shortmid\shortparallel\smallsetminus\thicksim\thickapprox\approxeq\succapprox\precapprox\curvearrowleft\curvearrowright\digamma\varkappa\Bbbk\hslash\backepsilon}
@@ -123,6 +150,7 @@ Eight fonts are shown: (with approximate symbol counts)
\item[E] \mathversion{euler} $\mathup{Neo\ Euler}$ (\ref{count:euler})
\end{itemize}
Symbols defined in Plain \TeX\ are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (p)}} after their macro name.
+\LaTeX\ follows Plain \TeX, but defines a handful more, indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (l)}}
Symbols defined in \textsf{amssymb} are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (a)}}.
\tableofcontents
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
index 1cdc3c23ce1..e0588b9875c 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
@@ -15,74 +15,61 @@
%%
%% This work is "maintained" by Will Robertson.
\ExplSyntaxOn
-\ifnum\luatexversion<75%
- \cs_new:Nn \um_cs_compat:n
- { \cs_set_eq:cc {U#1} {luatexU#1} }
- \um_cs_compat:n {mathcode}
- \um_cs_compat:n {delcode}
- \um_cs_compat:n {mathcodenum}
- \um_cs_compat:n {mathcharnum}
- \um_cs_compat:n {mathchardef}
- \um_cs_compat:n {radical}
- \um_cs_compat:n {mathaccent}
- \um_cs_compat:n {delimiter}
-\fi
-\RequirePackage { lualatex-math } [ 2011/08/07 ]
-\RequirePackage { luatexbase }
-\RequirePackage { luaotfload } [ 2010/11/26 ]
-\RequireLuaModule { unicode-math } [ 2012/04/23 ]
-\cs_new:Nn \usv_set:nnn {
+\RequirePackage{luaotfload} [2014/05/18]
+\RequirePackage{lualatex-math}[2011/08/07]
+\cs_new:Nn \usv_set:nnn
+ {
\tl_set:cn { \um_to_usv:nn {#1}{#2} } {#3}
-}
+ }
\cs_new:Nn \um_to_usv:nn { g_um_#1_#2_usv }
-\usv_set:nnn {up}{num}{48}
-\usv_set:nnn {up}{Latin}{65}
-\usv_set:nnn {up}{latin}{97}
-\usv_set:nnn {up}{Greek}{"391}
-\usv_set:nnn {up}{greek}{"3B1}
-\usv_set:nnn {it}{Latin}{"1D434}
-\usv_set:nnn {it}{latin}{"1D44E}
-\usv_set:nnn {it}{Greek}{"1D6E2}
-\usv_set:nnn {it}{greek}{"1D6FC}
-\usv_set:nnn {bb}{num}{"1D7D8}
-\usv_set:nnn {bb}{Latin}{"1D538}
-\usv_set:nnn {bb}{latin}{"1D552}
-\usv_set:nnn {scr}{Latin}{"1D49C}
-\usv_set:nnn {cal}{Latin}{"1D49C}
-\usv_set:nnn {scr}{latin}{"1D4B6}
+\usv_set:nnn {up} {num} {48}
+\usv_set:nnn {up} {Latin}{65}
+\usv_set:nnn {up} {latin}{97}
+\usv_set:nnn {up} {Greek}{"391}
+\usv_set:nnn {up} {greek}{"3B1}
+\usv_set:nnn {it} {Latin}{"1D434}
+\usv_set:nnn {it} {latin}{"1D44E}
+\usv_set:nnn {it} {Greek}{"1D6E2}
+\usv_set:nnn {it} {greek}{"1D6FC}
+\usv_set:nnn {bb} {num} {"1D7D8}
+\usv_set:nnn {bb} {Latin}{"1D538}
+\usv_set:nnn {bb} {latin}{"1D552}
+\usv_set:nnn {scr} {Latin}{"1D49C}
+\usv_set:nnn {cal} {Latin}{"1D49C}
+\usv_set:nnn {scr} {latin}{"1D4B6}
\usv_set:nnn {frak}{Latin}{"1D504}
\usv_set:nnn {frak}{latin}{"1D51E}
-\usv_set:nnn {sf}{num}{"1D7E2}
-\usv_set:nnn {sfup}{num}{"1D7E2}
-\usv_set:nnn {sfit}{num}{"1D7E2}
+\usv_set:nnn {sf} {num} {"1D7E2}
+\usv_set:nnn {sfup}{num} {"1D7E2}
+\usv_set:nnn {sfit}{num} {"1D7E2}
\usv_set:nnn {sfup}{Latin}{"1D5A0}
-\usv_set:nnn {sf}{Latin}{"1D5A0}
+\usv_set:nnn {sf} {Latin}{"1D5A0}
\usv_set:nnn {sfup}{latin}{"1D5BA}
-\usv_set:nnn {sf}{latin}{"1D5BA}
+\usv_set:nnn {sf} {latin}{"1D5BA}
\usv_set:nnn {sfit}{Latin}{"1D608}
\usv_set:nnn {sfit}{latin}{"1D622}
-\usv_set:nnn {tt}{num}{"1D7F6}
-\usv_set:nnn {tt}{Latin}{"1D670}
-\usv_set:nnn {tt}{latin}{"1D68A}
-\usv_set:nnn {bf}{num}{"1D7CE}
-\usv_set:nnn {bfup}{num}{"1D7CE}
-\usv_set:nnn {bfit}{num}{"1D7CE}
-\usv_set:nnn {bfup}{Latin}{"1D400}
-\usv_set:nnn {bfup}{latin}{"1D41A}
-\usv_set:nnn {bfup}{Greek}{"1D6A8}
-\usv_set:nnn {bfup}{greek}{"1D6C2}
-\usv_set:nnn {bfit}{Latin}{"1D468}
-\usv_set:nnn {bfit}{latin}{"1D482}
-\usv_set:nnn {bfit}{Greek}{"1D71C}
-\usv_set:nnn {bfit}{greek}{"1D736}
+\usv_set:nnn {tt} {num} {"1D7F6}
+\usv_set:nnn {tt} {Latin}{"1D670}
+\usv_set:nnn {tt} {latin}{"1D68A}
+\usv_set:nnn {bf} {num} {"1D7CE}
+\usv_set:nnn {bfup} {num} {"1D7CE}
+\usv_set:nnn {bfit} {num} {"1D7CE}
+\usv_set:nnn {bfup} {Latin}{"1D400}
+\usv_set:nnn {bfup} {latin}{"1D41A}
+\usv_set:nnn {bfup} {Greek}{"1D6A8}
+\usv_set:nnn {bfup} {greek}{"1D6C2}
+\usv_set:nnn {bfit} {Latin}{"1D468}
+\usv_set:nnn {bfit} {latin}{"1D482}
+\usv_set:nnn {bfit} {Greek}{"1D71C}
+\usv_set:nnn {bfit} {greek}{"1D736}
\usv_set:nnn {bffrak}{Latin}{"1D56C}
\usv_set:nnn {bffrak}{latin}{"1D586}
-\usv_set:nnn {bfscr}{Latin}{"1D4D0}
-\usv_set:nnn {bfcal}{Latin}{"1D4D0}
-\usv_set:nnn {bfscr}{latin}{"1D4EA}
-\usv_set:nnn {bfsf}{num}{"1D7EC}
-\usv_set:nnn {bfsfup}{num}{"1D7EC}
-\usv_set:nnn {bfsfit}{num}{"1D7EC}
+\usv_set:nnn {bfscr} {Latin}{"1D4D0}
+\usv_set:nnn {bfcal} {Latin}{"1D4D0}
+\usv_set:nnn {bfscr} {latin}{"1D4EA}
+\usv_set:nnn {bfsf} {num} {"1D7EC}
+\usv_set:nnn {bfsfup}{num} {"1D7EC}
+\usv_set:nnn {bfsfit}{num} {"1D7EC}
\usv_set:nnn {bfsfup}{Latin}{"1D5D4}
\usv_set:nnn {bfsfup}{latin}{"1D5EE}
\usv_set:nnn {bfsfup}{Greek}{"1D756}
@@ -91,53 +78,53 @@
\usv_set:nnn {bfsfit}{latin}{"1D656}
\usv_set:nnn {bfsfit}{Greek}{"1D790}
\usv_set:nnn {bfsfit}{greek}{"1D7AA}
-\usv_set:nnn {bfsf}{Latin}{ \bool_if:NTF \g_um_upLatin_bool \g_um_bfsfup_Latin_usv \g_um_bfsfit_Latin_usv }
-\usv_set:nnn {bfsf}{latin}{ \bool_if:NTF \g_um_uplatin_bool \g_um_bfsfup_latin_usv \g_um_bfsfit_latin_usv }
-\usv_set:nnn {bfsf}{Greek}{ \bool_if:NTF \g_um_upGreek_bool \g_um_bfsfup_Greek_usv \g_um_bfsfit_Greek_usv }
-\usv_set:nnn {bfsf}{greek}{ \bool_if:NTF \g_um_upgreek_bool \g_um_bfsfup_greek_usv \g_um_bfsfit_greek_usv }
-\usv_set:nnn {bf}{Latin}{ \bool_if:NTF \g_um_bfupLatin_bool \g_um_bfup_Latin_usv \g_um_bfit_Latin_usv }
-\usv_set:nnn {bf}{latin}{ \bool_if:NTF \g_um_bfuplatin_bool \g_um_bfup_latin_usv \g_um_bfit_latin_usv }
-\usv_set:nnn {bf}{Greek}{ \bool_if:NTF \g_um_bfupGreek_bool \g_um_bfup_Greek_usv \g_um_bfit_Greek_usv }
-\usv_set:nnn {bf}{greek}{ \bool_if:NTF \g_um_bfupgreek_bool \g_um_bfup_greek_usv \g_um_bfit_greek_usv }
-\usv_set:nnn {up}{varTheta}{"3F4}
-\usv_set:nnn {up}{Digamma}{"3DC}
+\usv_set:nnn {bfsf}{Latin}{ \bool_if:NTF \g_um_upLatin_bool \g_um_bfsfup_Latin_usv \g_um_bfsfit_Latin_usv }
+\usv_set:nnn {bfsf}{latin}{ \bool_if:NTF \g_um_uplatin_bool \g_um_bfsfup_latin_usv \g_um_bfsfit_latin_usv }
+\usv_set:nnn {bfsf}{Greek}{ \bool_if:NTF \g_um_upGreek_bool \g_um_bfsfup_Greek_usv \g_um_bfsfit_Greek_usv }
+\usv_set:nnn {bfsf}{greek}{ \bool_if:NTF \g_um_upgreek_bool \g_um_bfsfup_greek_usv \g_um_bfsfit_greek_usv }
+\usv_set:nnn {bf} {Latin}{ \bool_if:NTF \g_um_bfupLatin_bool \g_um_bfup_Latin_usv \g_um_bfit_Latin_usv }
+\usv_set:nnn {bf} {latin}{ \bool_if:NTF \g_um_bfuplatin_bool \g_um_bfup_latin_usv \g_um_bfit_latin_usv }
+\usv_set:nnn {bf} {Greek}{ \bool_if:NTF \g_um_bfupGreek_bool \g_um_bfup_Greek_usv \g_um_bfit_Greek_usv }
+\usv_set:nnn {bf} {greek}{ \bool_if:NTF \g_um_bfupgreek_bool \g_um_bfup_greek_usv \g_um_bfit_greek_usv }
+\usv_set:nnn {up}{varTheta} {"3F4}
+\usv_set:nnn {up}{Digamma} {"3DC}
\usv_set:nnn {up}{varepsilon}{"3F5}
-\usv_set:nnn {up}{vartheta}{"3D1}
-\usv_set:nnn {up}{varkappa}{"3F0}
-\usv_set:nnn {up}{varphi}{"3D5}
-\usv_set:nnn {up}{varrho}{"3F1}
-\usv_set:nnn {up}{varpi}{"3D6}
-\usv_set:nnn {up}{digamma}{"3DD}
-\usv_set:nnn {bfup}{varTheta}{"1D6B9}
-\usv_set:nnn {bfup}{Digamma}{"1D7CA}
+\usv_set:nnn {up}{vartheta} {"3D1}
+\usv_set:nnn {up}{varkappa} {"3F0}
+\usv_set:nnn {up}{varphi} {"3D5}
+\usv_set:nnn {up}{varrho} {"3F1}
+\usv_set:nnn {up}{varpi} {"3D6}
+\usv_set:nnn {up}{digamma} {"3DD}
+\usv_set:nnn {bfup}{varTheta} {"1D6B9}
+\usv_set:nnn {bfup}{Digamma} {"1D7CA}
\usv_set:nnn {bfup}{varepsilon}{"1D6DC}
-\usv_set:nnn {bfup}{vartheta}{"1D6DD}
-\usv_set:nnn {bfup}{varkappa}{"1D6DE}
-\usv_set:nnn {bfup}{varphi}{"1D6DF}
-\usv_set:nnn {bfup}{varrho}{"1D6E0}
-\usv_set:nnn {bfup}{varpi}{"1D6E1}
-\usv_set:nnn {bfup}{digamma}{"1D7CB}
-\usv_set:nnn {it}{varTheta}{"1D6F3}
+\usv_set:nnn {bfup}{vartheta} {"1D6DD}
+\usv_set:nnn {bfup}{varkappa} {"1D6DE}
+\usv_set:nnn {bfup}{varphi} {"1D6DF}
+\usv_set:nnn {bfup}{varrho} {"1D6E0}
+\usv_set:nnn {bfup}{varpi} {"1D6E1}
+\usv_set:nnn {bfup}{digamma} {"1D7CB}
+\usv_set:nnn {it}{varTheta} {"1D6F3}
\usv_set:nnn {it}{varepsilon}{"1D716}
-\usv_set:nnn {it}{vartheta}{"1D717}
-\usv_set:nnn {it}{varkappa}{"1D718}
-\usv_set:nnn {it}{varphi}{"1D719}
-\usv_set:nnn {it}{varrho}{"1D71A}
-\usv_set:nnn {it}{varpi}{"1D71B}
-\usv_set:nnn {bfit}{varTheta}{"1D72D}
+\usv_set:nnn {it}{vartheta} {"1D717}
+\usv_set:nnn {it}{varkappa} {"1D718}
+\usv_set:nnn {it}{varphi} {"1D719}
+\usv_set:nnn {it}{varrho} {"1D71A}
+\usv_set:nnn {it}{varpi} {"1D71B}
+\usv_set:nnn {bfit}{varTheta} {"1D72D}
\usv_set:nnn {bfit}{varepsilon}{"1D750}
-\usv_set:nnn {bfit}{vartheta}{"1D751}
-\usv_set:nnn {bfit}{varkappa}{"1D752}
-\usv_set:nnn {bfit}{varphi}{"1D753}
-\usv_set:nnn {bfit}{varrho}{"1D754}
-\usv_set:nnn {bfit}{varpi}{"1D755}
-\usv_set:nnn {bfsfup}{varTheta}{"1D767}
+\usv_set:nnn {bfit}{vartheta} {"1D751}
+\usv_set:nnn {bfit}{varkappa} {"1D752}
+\usv_set:nnn {bfit}{varphi} {"1D753}
+\usv_set:nnn {bfit}{varrho} {"1D754}
+\usv_set:nnn {bfit}{varpi} {"1D755}
+\usv_set:nnn {bfsfup}{varTheta} {"1D767}
\usv_set:nnn {bfsfup}{varepsilon}{"1D78A}
-\usv_set:nnn {bfsfup}{vartheta}{"1D78B}
-\usv_set:nnn {bfsfup}{varkappa}{"1D78C}
-\usv_set:nnn {bfsfup}{varphi}{"1D78D}
-\usv_set:nnn {bfsfup}{varrho}{"1D78E}
-\usv_set:nnn {bfsfup}{varpi}{"1D78F}
+\usv_set:nnn {bfsfup}{vartheta} {"1D78B}
+\usv_set:nnn {bfsfup}{varkappa} {"1D78C}
+\usv_set:nnn {bfsfup}{varphi} {"1D78D}
+\usv_set:nnn {bfsfup}{varrho} {"1D78E}
+\usv_set:nnn {bfsfup}{varpi} {"1D78F}
\usv_set:nnn {bfsfit}{varTheta} {"1D7A1}
\usv_set:nnn {bfsfit}{varepsilon}{"1D7C4}
\usv_set:nnn {bfsfit}{vartheta} {"1D7C5}
@@ -265,7 +252,8 @@
\usv_set:nnn {frak}{I}{"2111}
\usv_set:nnn {frak}{R}{"211C}
\usv_set:nnn {frak}{Z}{"2128}
-\tl_map_inline:nn {
+\tl_map_inline:nn
+ {
\new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes
\@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@
\DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion
@@ -279,43 +267,17 @@
\@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter
\set@@mathdelimiter\DeclareMathRadical\mathchar@type
\DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@
-}{
+ }
+ {
\tl_remove_once:Nn \@preamblecmds {\do#1}
-}
-\cs_set:Nn \um_set_mathsymbol:nNNn {
+ }
+\cs_set:Nn \um_set_mathsymbol:nNNn
+ {
\tl_case:Nnn #3 {
- \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} }
- \mathopen
- {
- \tl_if_in:NnTF \l_um_radicals_tl {#2}
- {
- \cs_gset_protected_nopar:cpx {\cs_to_str:N #2 sign}
- { \um_radical:nn {#1} {#4} }
- \tl_set:cn {l_um_radical_\cs_to_str:N #2_tl} {\use:c{sym #1}~ #4}
- }
- {
- \um_set_delcode:nnn {#1} {#4} {#4}
- \um_set_mathcode:nnn {#4} \mathopen {#1}
- \cs_gset_protected_nopar:Npx #2
- { \um_delimiter:Nnn \mathopen {#1} {#4} }
- }
- }
- \mathclose
- {
- \um_set_delcode:nnn {#1} {#4} {#4}
- \um_set_mathcode:nnn {#4} \mathclose {#1}
- \cs_gset_protected_nopar:Npx #2
- { \um_delimiter:Nnn \mathclose {#1} {#4} }
- }
- \mathfence
- {
- \um_set_mathcode:nnn {#4} {#3} {#1}
- \um_set_delcode:nnn {#1} {#4} {#4}
- \cs_gset_protected_nopar:cpx {l \cs_to_str:N #2}
- { \um_delimiter:Nnn \mathopen {#1} {#4} }
- \cs_gset_protected_nopar:cpx {r \cs_to_str:N #2}
- { \um_delimiter:Nnn \mathclose {#1} {#4} }
- }
+ \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} }
+ \mathopen { \um_set_math_open:nnn {#1} {#2} {#4} }
+ \mathclose { \um_set_math_close:nnn {#1} {#2} {#4} }
+ \mathfence { \um_set_math_fence:nnnn {#1} {#2} {#3} {#4} }
\mathaccent
{ \cs_gset_protected_nopar:Npx #2 { \um_accent:nnn {fixed} {#1} {#4} } }
\mathbotaccent
@@ -333,76 +295,56 @@
}{
\um_set_mathcode:nnn {#4} {#3} {#1}
}
-}
+ }
\edef\mathfence{\string\mathfence}
\edef\mathover{\string\mathover}
\edef\mathunder{\string\mathunder}
\edef\mathbotaccent{\string\mathbotaccent}
-\cs_new:Nn \um_set_big_operator:nnn {
+\cs_new:Nn \um_set_big_operator:nnn
+ {
\group_begin:
\char_set_catcode_active:n {#3}
\char_gmake_mathactive:n {#3}
\um_active_char_set:wc #3 \q_nil { \cs_to_str:N #2 _sym }
\group_end:
\um_set_mathchar:cNnn {\cs_to_str:N #2 op} \mathop {#1} {#3}
- \cs_gset:cpx { \cs_to_str:N #2 _sym } {
+ \cs_gset:cpx { \cs_to_str:N #2 _sym }
+ {
\exp_not:c { \cs_to_str:N #2 op }
\exp_not:n { \tl_if_in:NnT \l_um_nolimits_tl {#2} \nolimits }
- }
-}
-\cs_set:Npn \um_set_mathcode:nnnn #1#2#3#4 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
-}
-\cs_set:Npn \um_set_mathcode:nnn #1#2#3 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#1} \scan_stop:
-}
-\cs_set:Npn \um_set_mathchar:NNnn #1#2#3#4 {
- \Umathchardef #1 =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
-}
-\cs_new:Nn \um_set_delcode:nnn {
- \Udelcode#2 = \csname sym#1\endcsname #3
-}
-\cs_new:Nn \um_radical:nn {
- \Uradical \csname sym#1\endcsname #2 \scan_stop:
-}
-\cs_new:Nn \um_delimiter:Nnn {
- \Udelimiter \mathchar@type#1 \csname sym#2\endcsname #3 \scan_stop:
-}
-\cs_new:Nn \um_accent:nnn {
- \Umathaccent #1~ \mathchar@type\mathaccent \use:c { sym #2 } #3 \scan_stop:
-}
-\cs_generate_variant:Nn \um_set_mathchar:NNnn {c}
-\cs_new:Nn \char_gmake_mathactive:N {
- \global\mathcode `#1 = "8000 \scan_stop:
-}
-\cs_new:Nn \char_gmake_mathactive:n {
- \global\mathcode #1 = "8000 \scan_stop:
-}
-\cs_new:Nn \um_init: {
- \bool_set_true:N \l_um_ot_math_bool
- \cs_set_eq:NN \glb@currsize \scan_stop:
- \bool_set_true:N \l_um_init_bool
- \seq_clear:N \l_um_char_range_seq
- \clist_clear:N \l_um_char_num_range_clist
- \seq_clear:N \l_um_mathalph_seq
- \seq_clear:N \l_um_missing_alph_seq
- \tl_set:Nn \l_um_mversion_tl {normal}
- \tl_set:Nn \um_symfont_tl {operators}
- \cs_set_eq:NN \_um_sym:nnn \um_process_symbol_noparse:nnn
- \cs_set_eq:NN \um_set_mathalphabet_char:Nnn \um_mathmap_noparse:Nnn
- \cs_set_eq:NN \um_remap_symbol:nnn \um_remap_symbol_noparse:nnn
- \cs_set_eq:NN \um_maybe_init_alphabet:n \um_init_alphabet:n
- \cs_set_eq:NN \um_map_char_single:nn \um_map_char_noparse:nn
- \cs_set_eq:NN \um_assign_delcode:nn \um_assign_delcode_noparse:nn
- \cs_set_eq:NN \um_make_mathactive:nNN \um_make_mathactive_noparse:nNN
- \tl_set:Nn \l_um_script_features_tl {Style=MathScript}
- \tl_set:Nn \l_um_sscript_features_tl {Style=MathScriptScript}
- \tl_set_eq:NN \l_um_script_font_tl \l_um_fontname_tl
- \tl_set_eq:NN \l_um_sscript_font_tl \l_um_fontname_tl
-}
+ }
+ }
+\cs_new:Nn \um_set_math_open:nnn
+ {
+ \tl_if_in:NnTF \l_um_radicals_tl {#2}
+ {
+ \cs_gset_protected_nopar:cpx {\cs_to_str:N #2 sign}
+ { \um_radical:nn {#1} {#3} }
+ \tl_set:cn {l_um_radical_\cs_to_str:N #2_tl} {\use:c{sym #1}~ #3}
+ }
+ {
+ \um_set_delcode:nnn {#1} {#3} {#3}
+ \um_set_mathcode:nnn {#3} \mathopen {#1}
+ \cs_gset_protected_nopar:Npx #2
+ { \um_delimiter:Nnn \mathopen {#1} {#3} }
+ }
+ }
+\cs_new:Nn \um_set_math_close:nnn
+ {
+ \um_set_delcode:nnn {#1} {#3} {#3}
+ \um_set_mathcode:nnn {#3} \mathclose {#1}
+ \cs_gset_protected_nopar:Npx #2
+ { \um_delimiter:Nnn \mathclose {#1} {#3} }
+ }
+\cs_new:Nn \um_set_math_fence:nnnn
+ {
+ \um_set_mathcode:nnn {#4} {#3} {#1}
+ \um_set_delcode:nnn {#1} {#4} {#4}
+ \cs_gset_protected_nopar:cpx {l \cs_to_str:N #2}
+ { \um_delimiter:Nnn \mathopen {#1} {#4} }
+ \cs_gset_protected_nopar:cpx {r \cs_to_str:N #2}
+ { \um_delimiter:Nnn \mathclose {#1} {#4} }
+ }
\DeclareDocumentCommand \setmathfont { O{} m } {
\tl_set:Nn \l_um_fontname_tl {#2}
\um_init:
@@ -421,15 +363,16 @@
\tl_set:Nn \l_um_tmpa_tl {normal}
\tl_if_eq:NNT \l_um_mversion_tl \l_um_tmpa_tl
{
- \SetSymbolFont{\um_symfont_tl}{bold}
+ \SetSymbolFont{\um_symfont_tl}{bold}
{\encodingdefault}{\l_um_family_tl}{\bfdefault}{\updefault}
}
- \bool_if:nT {\l_um_ot_math_bool && !\g_um_mainfont_already_set_bool} {
+ \bool_if:nT { \l_um_ot_math_bool && !\g_um_mainfont_already_set_bool }
+ {
\bool_set_true:N \g_um_mainfont_already_set_bool
\um_declare_math_sizes:
\um_setup_legacy_fam_two:
\um_setup_legacy_fam_three:
- }
+ }
\um_input_math_symbol_table:
\um_remap_symbols:
\um_setup_mathactives:
@@ -439,6 +382,30 @@
\um_setup_negations:
\ignorespaces
}
+\cs_set_eq:NN \resetmathfont \setmathfont
+\cs_new:Nn \um_init:
+ {
+ \bool_set_true:N \l_um_ot_math_bool
+ \cs_set_eq:NN \glb@currsize \scan_stop:
+ \bool_set_true:N \l_um_init_bool
+ \seq_clear:N \l_um_char_range_seq
+ \clist_clear:N \l_um_char_num_range_clist
+ \seq_clear:N \l_um_mathalph_seq
+ \seq_clear:N \l_um_missing_alph_seq
+ \tl_set:Nn \l_um_mversion_tl {normal}
+ \tl_set:Nn \um_symfont_tl {operators}
+ \cs_set_eq:NN \_um_sym:nnn \um_process_symbol_noparse:nnn
+ \cs_set_eq:NN \um_set_mathalphabet_char:Nnn \um_mathmap_noparse:Nnn
+ \cs_set_eq:NN \um_remap_symbol:nnn \um_remap_symbol_noparse:nnn
+ \cs_set_eq:NN \um_maybe_init_alphabet:n \um_init_alphabet:n
+ \cs_set_eq:NN \um_map_char_single:nn \um_map_char_noparse:nn
+ \cs_set_eq:NN \um_assign_delcode:nn \um_assign_delcode_noparse:nn
+ \cs_set_eq:NN \um_make_mathactive:nNN \um_make_mathactive_noparse:nNN
+ \tl_set:Nn \l_um_script_features_tl {Style=MathScript}
+ \tl_set:Nn \l_um_sscript_features_tl {Style=MathScriptScript}
+ \tl_set_eq:NN \l_um_script_font_tl \l_um_fontname_tl
+ \tl_set_eq:NN \l_um_sscript_font_tl \l_um_fontname_tl
+ }
\cs_new:Nn \um_declare_math_sizes:
{
\dim_compare:nF { \fontdimen 10 \l_um_font == 0pt }
@@ -454,7 +421,8 @@
{
\l_um_font_keyval_tl,
Scale=1.00001,
- FontAdjustment={
+ FontAdjustment =
+ {
\fontdimen8\font= \um_get_fontparam:nn {43} {FractionNumeratorDisplayStyleShiftUp}\relax
\fontdimen9\font= \um_get_fontparam:nn {42} {FractionNumeratorShiftUp}\relax
\fontdimen10\font=\um_get_fontparam:nn {32} {StackTopShiftUp}\relax
@@ -470,7 +438,7 @@
\fontdimen20\font=0pt\relax % delim1 = FractionDelimiterDisplaySize
\fontdimen21\font=0pt\relax % delim2 = FractionDelimiterSize
\fontdimen22\font=\um_get_fontparam:nn {15} {AxisHeight}\relax
- }
+ }
} {\l_um_fontname_tl}
\SetSymbolFont{symbols}{\l_um_mversion_tl}
{\encodingdefault}{\l_um_family_tl}{\mddefault}{\updefault}
@@ -509,23 +477,28 @@
}
\cs_new:Nn \um_get_fontparam:nn
{ \directlua{fontspec.mathfontdimen("l_um_font","#2")} }
-\cs_set_eq:NN \resetmathfont \setmathfont
-\cs_new:Nn \um_fontspec_select_font: {
+\cs_new:Nn \um_fontspec_select_font:
+ {
\tl_set:Nx \l_um_font_keyval_tl {
Renderer = Basic,
BoldItalicFont = {}, ItalicFont = {},
Script = Math,
- SizeFeatures = {
- {Size = \tf@size-} ,
- {Size = \sf@size-\tf@size ,
+ SizeFeatures =
+ {
+ {
+ Size = \tf@size-
+ } ,
+ {
+ Size = \sf@size-\tf@size ,
Font = \l_um_script_font_tl ,
\l_um_script_features_tl
} ,
- {Size = -\sf@size ,
+ {
+ Size = -\sf@size ,
Font = \l_um_sscript_font_tl ,
\l_um_sscript_features_tl
}
- },
+ } ,
\l_um_unknown_keys_clist
}
\fontspec_set_fontface:NNxn \l_um_font \l_um_family_tl
@@ -534,33 +507,43 @@
\fontfamily{\l_um_family_tl}\selectfont
\fontspec_if_script:nF {math} {\bool_gset_false:N \l_um_ot_math_bool}
\group_end:
-}
-\cs_set:Npn \um_process_symbol_noparse:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_process_symbol_noparse:nnn
+ {
\um_set_mathsymbol:nNNn {\um_symfont_tl} #2#3{#1}
-}
-\cs_set:Npn \um_process_symbol_parse:nnn #1#2#3 {
- \um_if_char_spec:nNNT{#1}{#2}{#3}{
+ }
+\cs_set:Nn \um_process_symbol_parse:nnn
+ {
+ \um_if_char_spec:nNNT{#1}{#2}{#3}
+ {
\um_process_symbol_noparse:nnn {#1}{#2}{#3}
- }
-}
-\cs_new:Npn \um_remap_symbols: {
+ }
+ }
+\cs_new:Npn \um_remap_symbols:
+ {
\um_remap_symbol:nnn{`\-}{\mathbin}{"02212}% hyphen to minus
\um_remap_symbol:nnn{`\*}{\mathbin}{"02217}% text asterisk to "centred asterisk"
- \bool_if:NF \g_um_literal_colon_bool {
+ \bool_if:NF \g_um_literal_colon_bool
+ {
\um_remap_symbol:nnn{`\:}{\mathrel}{"02236}% colon to ratio (i.e., punct to rel)
- }
-}
-\cs_new:Nn \um_remap_symbol_parse:nnn {
- \um_if_char_spec:nNNT {#3} {\@nil} {#2} {
+ }
+ }
+\cs_new:Nn \um_remap_symbol_parse:nnn
+ {
+ \um_if_char_spec:nNNT {#3} {\@nil} {#2}
+ {
\um_remap_symbol_noparse:nnn {#1} {#2} {#3}
- }
-}
-\cs_new:Nn \um_remap_symbol_noparse:nnn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_remap_symbol_noparse:nnn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_set_mathcode:nnnn {##1} {#2} {\um_symfont_tl} {#3}
- }
-}
-\cs_new:Npn \um_setup_mathactives: {
+ }
+ }
+\cs_new:Npn \um_setup_mathactives:
+ {
\um_make_mathactive:nNN {"2032} \um_prime_single_mchar \mathord
\um_make_mathactive:nNN {"2033} \um_prime_double_mchar \mathord
\um_make_mathactive:nNN {"2034} \um_prime_triple_mchar \mathord
@@ -570,7 +553,7 @@
\um_make_mathactive:nNN {"2037} \um_backprime_triple_mchar \mathord
\um_make_mathactive:nNN {`\'} \mathstraightquote \mathord
\um_make_mathactive:nNN {`\`} \mathbacktick \mathord
-}
+ }
\cs_new:Nn \um_make_mathactive_parse:nNN
{
\um_if_char_spec:nNNT {#1} #2 #3
@@ -581,16 +564,20 @@
\um_set_mathchar:NNnn #2 #3 {\um_symfont_tl} {#1}
\char_gmake_mathactive:n {#1}
}
-\cs_new:Nn \um_assign_delcode_noparse:nn {
+\cs_new:Nn \um_assign_delcode_noparse:nn
+ {
\um_set_delcode:nnn \um_symfont_tl {#1} {#2}
-}
-\cs_new:Nn \um_assign_delcode_parse:nn {
- \um_if_char_spec:nNNT {#2}{\@nil}{\@nil} {
+ }
+\cs_new:Nn \um_assign_delcode_parse:nn
+ {
+ \um_if_char_spec:nNNT {#2} {\@nil} {\@nil}
+ {
\um_assign_delcode_noparse:nn {#1} {#2}
- }
-}
+ }
+ }
\cs_new:Nn \um_assign_delcode:n { \um_assign_delcode:nn {#1} {#1} }
-\cs_new:Npn \um_setup_delcodes: {
+\cs_new:Npn \um_setup_delcodes:
+ {
\um_assign_delcode:nn {`\.} {\c_zero} % ensure \left. and \right. work
\um_assign_delcode:nn {`\/} {\g_um_slash_delimiter_usv}
\um_assign_delcode:nn {"2044} {\g_um_slash_delimiter_usv} % fracslash
@@ -625,21 +612,24 @@
\um_assign_delcode:n {"21E9} % down white arrow
\um_assign_delcode:n {"21EA} % up white arrow from bar
\um_assign_delcode:n {"21F3} % updown white arrow
-}
+ }
\tl_new:N \l_um_nolimits_tl
-\tl_set:Nn \l_um_nolimits_tl {
+\tl_set:Nn \l_um_nolimits_tl
+ {
\int\iint\iiint\iiiint\oint\oiint\oiiint
\intclockwise\varointclockwise\ointctrclockwise\sumint
\intbar\intBar\fint\cirfnint\awint\rppolint
\scpolint\npolint\pointint\sqint\intlarhk\intx
\intcap\intcup\upint\lowint
-}
-\DeclareDocumentCommand \addnolimits {m} {
+ }
+\DeclareDocumentCommand \addnolimits {m}
+ {
\tl_put_right:Nn \l_um_nolimits_tl {#1}
-}
-\DeclareDocumentCommand \removenolimits {m} {
+ }
+\DeclareDocumentCommand \removenolimits {m}
+ {
\tl_remove_all:Nn \l_um_nolimits_tl {#1}
-}
+ }
\tl_new:N \l_um_radicals_tl
\tl_set:Nn \l_um_radicals_tl {\sqrt \longdivision}
\cs_new_protected_nopar:Nn \um_new_cramped_style:N
@@ -655,22 +645,26 @@
\um_font_param_aux:ccc { um_ #1 :N } { um_set_ #1 :N }
{ luatexUmath \l_um_tmpa_tl }
}
-\cs_new_protected_nopar:Npn \um_font_param:nnn #1 #2 #3 {
+\cs_new_protected_nopar:Nn \um_font_param:nnn
+ {
\um_font_param:nnnnn { #1 } { #2 } { #2 } { #3 } { #3 }
-}
-\cs_new_protected_nopar:Npn \um_font_param:nn #1 #2 {
+ }
+\cs_new_protected_nopar:Nn \um_font_param:nn
+ {
\um_font_param:nnnnn { #1 } { #2 } { #2 } { #2 } { #2 }
-}
+ }
\cs_new_protected_nopar:Nn \um_font_param:n
{ \um_font_param:nnnnn { #1 } { 0 } { 0 } { 0 } { 0 } }
\cs_new_protected_nopar:Nn \um_font_param_aux:NNN
{
- \cs_new_nopar:Npn #1 ##1 {
+ \cs_new_nopar:Npn #1 ##1
+ {
#3 ##1
- }
- \cs_new_protected_nopar:Npn #2 ##1 ##2 {
+ }
+ \cs_new_protected_nopar:Npn #2 ##1 ##2
+ {
#3 ##1 \dim_eval:n { ##2 }
- }
+ }
}
\cs_generate_variant:Nn \um_font_param_aux:NNN { ccc }
\um_font_param:nn { axis } { 15 }
@@ -758,17 +752,18 @@
}
}
\keys_define:nn {unicode-math}
-{
+ {
script-features .tl_set:N = \l_um_script_features_tl ,
sscript-features .tl_set:N = \l_um_sscript_features_tl ,
script-font .tl_set:N = \l_um_script_font_tl ,
sscript-font .tl_set:N = \l_um_sscript_font_tl ,
-}
+ }
\seq_new:N \l_um_mathalph_seq
\seq_new:N \l_um_char_range_seq
\seq_new:N \l_um_mclass_range_seq
\seq_new:N \l_um_cmd_range_seq
-\keys_define:nn {unicode-math} {
+\keys_define:nn {unicode-math}
+ {
range .code:n = {
\bool_set_false:N \l_um_init_bool
\int_incr:N \g_um_fam_int
@@ -802,7 +797,7 @@
}
}
}
-}
+ }
\seq_new:N \g_um_mathclasses_seq
\seq_set_from_clist:Nn \g_um_mathclasses_seq
{
@@ -902,14 +897,17 @@
\bool_if:NTF \g_um_texgreek_bool \mitphi \mitvarphi
}
}
-\cs_new:Nn \um_new_mathstyle:N {
+\cs_new:Nn \um_new_mathstyle:N
+ {
\um_prepare_mathstyle:f {\exp_after:wN \use_none:nnnnn \token_to_str:N #1}
\seq_put_right:Nn \g_um_mathstyles_seq {#1}
-}
+ }
\seq_new:N \g_um_default_mathalph_seq
\seq_new:N \g_um_mathstyles_seq
-\AtEndOfPackage{
-\clist_map_inline:nn {
+\AtEndOfPackage
+ {
+\clist_map_inline:nn
+ {
{\mathup } {latin,Latin,greek,Greek,num,misc} {\mathup } ,
{\mathit } {latin,Latin,greek,Greek,misc} {\mathit } ,
{\mathbb } {latin,Latin,num,misc} {\mathbb } ,
@@ -927,21 +925,26 @@
{\mathbffrak} {latin,Latin} {\mathbffrak} ,
{\mathbfsfup} {latin,Latin,greek,Greek,num,misc} {\mathbfsfup} ,
{\mathbfsfit} {latin,Latin,greek,Greek,misc} {\mathbfsfit}
-}{
+ }
+ {
\seq_put_right:Nn \g_um_default_mathalph_seq {#1}
\exp_after:wN \um_new_mathstyle:N \use_i:nnn #1
-}
-\um_new_mathstyle:N \mathsf
-\um_new_mathstyle:N \mathbf
-\um_new_mathstyle:N \mathbfsf
-}
-\cs_new:Nn \um_prepare_mathstyle:n {
+ }
+ \um_new_mathstyle:N \mathsf
+ \um_new_mathstyle:N \mathbf
+ \um_new_mathstyle:N \mathbfsf
+ }
+\cs_new:Nn \um_prepare_mathstyle:n
+ {
\um_init_alphabet:x {#1}
- \cs_set:cpn {_um_math#1_aux:n} ##1 {
+ \cs_set:cpn {_um_math#1_aux:n} ##1
+ {
\use:c {um_switchto_math#1:} ##1 \egroup
- }
- \cs_set_protected:cpx {math#1} {
- \exp_not:n{
+ }
+ \cs_set_protected:cpx {math#1}
+ {
+ \exp_not:n
+ {
\bgroup
\mode_if_math:F
{
@@ -949,22 +952,25 @@
\non@alpherr\expandafter{\csname math#1\endcsname\space}
}
\tl_set:Nn \l_um_mathstyle_tl {#1}
- }
+ }
\exp_not:c {_um_math#1_aux:n}
- }
-}
+ }
+ }
\tl_new:N \l_um_mathstyle_tl
\cs_generate_variant:Nn \um_prepare_mathstyle:n {f}
-\cs_set:Npn \um_init_alphabet:n #1 {
+\cs_set:Nn \um_init_alphabet:n
+ {
\um_log:nx {alph-initialise} {#1}
\cs_set_eq:cN {um_switchto_math#1:} \prg_do_nothing:
-}
+ }
\cs_generate_variant:Nn \um_init_alphabet:n {x}
-\cs_new:Npn \um_maybe_init_alphabet:V {
+\cs_new:Npn \um_maybe_init_alphabet:V
+ {
\exp_args:NV \um_maybe_init_alphabet:n
-}
+ }
\seq_new:N \l_um_missing_alph_seq
-\cs_new:Npn \um_setup_alphabets: {
+\cs_new:Npn \um_setup_alphabets:
+ {
\seq_if_empty:NTF \l_um_mathalph_seq {
\um_log:n {setup-implicit}
\seq_set_eq:NN \l_um_mathalph_seq \g_um_default_mathalph_seq
@@ -995,93 +1001,123 @@
\l_um_tmpa_tl \l_um_tmpb_tl \l_um_remap_style_tl
}
\seq_if_empty:NF \l_um_missing_alph_seq { \um_log:n { missing-alphabets } }
-}
-\cs_new:Nn \um_setup_math_alphabet:Nnn {
- \tl_set:Nx \l_um_style_tl {
+ }
+\cs_new:Nn \um_setup_math_alphabet:Nnn
+ {
+ \tl_set:Nx \l_um_style_tl
+ {
\exp_after:wN \use_none:nnnnn \token_to_str:N #1
- }
- \clist_map_inline:nn {#2} {
+ }
+ \clist_map_inline:nn {#2}
+ {
\tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} }
- \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n} {
- \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} {
+ \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n}
+ {
+ \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc}
+ {
\um_maybe_init_alphabet:V \l_um_style_tl
\clist_map_break:
- }{
- \um_glyph_if_exist:cT { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }{
+ }
+ {
+ \um_glyph_if_exist:cT { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }
+ {
\um_maybe_init_alphabet:V \l_um_style_tl
\clist_map_break:
- }
- }
- }
- }
- \clist_map_inline:nn {#2} {
+ }
+ }
+ }
+ }
+ \clist_map_inline:nn {#2}
+ {
\tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} }
- \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {
- \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} {
+ \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n}
+ {
+ \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc}
+ {
\um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)}
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3}
- }{
- \um_glyph_if_exist:cTF { \um_to_usv:nn {#3}{\l_um_tmpa_tl} } {
+ }
+ {
+ \um_glyph_if_exist:cTF { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }
+ {
\um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)}
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3}
- }{
- \bool_if:NTF \l_um_implicit_alph_bool {
- \seq_put_right:Nx \l_um_missing_alph_seq {
+ }
+ {
+ \bool_if:NTF \l_um_implicit_alph_bool
+ {
+ \seq_put_right:Nx \l_um_missing_alph_seq
+ {
\@backslashchar math \l_um_style_tl \space
(\tl_use:c{c_um_math_alphabet_name_ \l_um_tmpa_tl _tl})
- }
- }{
+ }
+ }
+ {
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {up}
- }
- }
- }
- }
- }
-}
+ }
+ }
+ }
+ }
+ }
+ }
\cs_generate_variant:Nn \um_setup_math_alphabet:Nnn {VVV}
\cs_new:Npn \um_map_char_single:cc { \exp_args:Ncc \um_map_char_single:nn }
-\cs_new:Nn \um_map_char_noparse:nn {
+\cs_new:Nn \um_map_char_noparse:nn
+ {
\um_set_mathcode:nnnn {#1}{\mathalpha}{\um_symfont_tl}{#2}
-}
-\cs_new:Nn \um_map_char_parse:nn {
- \um_if_char_spec:nNNT {#1} {\@nil} {\mathalpha} {
+ }
+\cs_new:Nn \um_map_char_parse:nn
+ {
+ \um_if_char_spec:nNNT {#1} {\@nil} {\mathalpha}
+ {
\um_map_char_noparse:nn {#1}{#2}
- }
-}
-\cs_new:Nn \um_map_char_single:nnn {
+ }
+ }
+\cs_new:Nn \um_map_char_single:nnn
+ {
\um_map_char_single:cc { \um_to_usv:nn {#1}{#3} }
{ \um_to_usv:nn {#2}{#3} }
-}
-\cs_set:Npn \um_map_single:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_map_single:nnn
+ {
\cs_if_exist:cT { \um_to_usv:nn {#3} {#1} }
{
- \clist_map_inline:nn {#2} {
+ \clist_map_inline:nn {#2}
+ {
\um_map_char_single:nnn {##1} {#3} {#1}
- }
+ }
}
-}
-\cs_set:Npn \um_map_chars_range:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_map_chars_range:nnn
+ {
\int_step_inline:nnnn {0}{1}{#1-1} {
\um_map_char_single:nn {#2+##1}{#3+##1}
}
-}
+ }
\cs_generate_variant:Nn \um_map_chars_range:nnn {ncc}
-\cs_new:Nn \um_map_chars_range:nnnn {
+\cs_new:Nn \um_map_chars_range:nnnn
+ {
\um_map_chars_range:ncc {#1} { \um_to_usv:nn {#2}{#4} }
{ \um_to_usv:nn {#3}{#4} }
-}
-\cs_new:Nn \um_map_chars_Latin:nn {
- \clist_map_inline:nn {#1} {
+ }
+\cs_new:Nn \um_map_chars_Latin:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {26} {##1} {#2} {Latin}
- }
-}
-\cs_new:Nn \um_map_chars_latin:nn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_map_chars_latin:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {26} {##1} {#2} {latin}
- }
-}
-\cs_new:Nn \um_map_chars_greek:nn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_map_chars_greek:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {25} {##1} {#2} {greek}
\um_map_char_single:nnn {##1} {#2} {varepsilon}
\um_map_char_single:nnn {##1} {#2} {vartheta}
@@ -1089,73 +1125,95 @@
\um_map_char_single:nnn {##1} {#2} {varphi}
\um_map_char_single:nnn {##1} {#2} {varrho}
\um_map_char_single:nnn {##1} {#2} {varpi}
- }
-}
-\cs_new:Nn \um_map_chars_Greek:nn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_map_chars_Greek:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {25} {##1} {#2} {Greek}
\um_map_char_single:nnn {##1} {#2} {varTheta}
- }
-}
-\cs_new:Nn \um_map_chars_numbers:nn {
+ }
+ }
+\cs_new:Nn \um_map_chars_numbers:nn
+ {
\um_map_chars_range:nnnn {10} {#1} {#2} {num}
-}
-\cs_new:Npn \um_set_mathalphabet_char:Ncc {
+ }
+\cs_new:Npn \um_set_mathalphabet_char:Ncc
+ {
\exp_args:NNcc \um_set_mathalphabet_char:Nnn
-}
-\cs_new:Nn \um_mathmap_noparse:Nnn {
- \clist_map_inline:nn {#2} {
- \tl_put_right:cx {um_switchto_\cs_to_str:N #1:} {
+ }
+\cs_new:Nn \um_mathmap_noparse:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
+ \tl_put_right:cx {um_switchto_\cs_to_str:N #1:}
+ {
\um_set_mathcode:nnnn{##1}{\mathalpha}{\um_symfont_tl}{#3}
- }
- }
-}
-\cs_new:Nn \um_mathmap_parse:Nnn {
- \clist_if_in:NnT \l_um_char_num_range_clist {#3} {
+ }
+ }
+ }
+\cs_new:Nn \um_mathmap_parse:Nnn
+ {
+ \clist_if_in:NnT \l_um_char_num_range_clist {#3}
+ {
\um_mathmap_noparse:Nnn {#1}{#2}{#3}
- }
-}
-\cs_new:Npn \um_set_mathalphabet_char:Nnnn #1#2#3#4 {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_char:Nnnn
+ {
\um_set_mathalphabet_char:Ncc #1 { \um_to_usv:nn {#2} {#4} }
{ \um_to_usv:nn {#3} {#4} }
-}
-\cs_new:Npn \um_set_mathalph_range:nNnn #1#2#3#4 {
+ }
+\cs_new:Nn \um_set_mathalph_range:nNnn
+ {
\int_step_inline:nnnn {0}{1}{#1-1}
{ \um_set_mathalphabet_char:Nnn {#2} { ##1 + #3 } { ##1 + #4 } }
-}
+ }
\cs_generate_variant:Nn \um_set_mathalph_range:nNnn {nNcc}
-\cs_new:Npn \um_set_mathalph_range:nNnnn #1#2#3#4#5 {
+\cs_new:Nn \um_set_mathalph_range:nNnnn
+ {
\um_set_mathalph_range:nNcc {#1} #2 { \um_to_usv:nn {#3} {#5} }
{ \um_to_usv:nn {#4} {#5} }
-}
-\cs_new:Npn \um_set_mathalphabet_pos:Nnnn #1#2#3#4 {
- \cs_if_exist:cT { \um_to_usv:nn {#4}{#2} } {
+ }
+\cs_new:Nn \um_set_mathalphabet_pos:Nnnn
+ {
+ \cs_if_exist:cT { \um_to_usv:nn {#4}{#2} }
+ {
\clist_map_inline:nn {#3}
{ \um_set_mathalphabet_char:Nnnn #1 {##1} {#4} {#2} }
- }
-}
-\cs_new:Nn \um_set_mathalphabet_numbers:Nnn {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_numbers:Nnn
+ {
\clist_map_inline:nn {#2}
{ \um_set_mathalph_range:nNnnn {10} #1 {##1} {#3} {num} }
-}
-\cs_new:Nn \um_set_mathalphabet_Latin:Nnn {
+ }
+\cs_new:Nn \um_set_mathalphabet_Latin:Nnn
+ {
\clist_map_inline:nn {#2}
{ \um_set_mathalph_range:nNnnn {26} #1 {##1} {#3} {Latin} }
-}
-\cs_new:Nn \um_set_mathalphabet_latin:Nnn {
- \clist_map_inline:nn {#2} {
+ }
+\cs_new:Nn \um_set_mathalphabet_latin:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {26} #1 {##1} {#3} {latin}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {h}
- }
-}
-\cs_new:Nn \um_set_mathalphabet_Greek:Nnn {
- \clist_map_inline:nn {#2} {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_Greek:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {25} #1 {##1} {#3} {Greek}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varTheta}
- }
-}
-\cs_new:Nn \um_set_mathalphabet_greek:Nnn {
- \clist_map_inline:nn {#2} {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_greek:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {25} #1 {##1} {#3} {greek}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varepsilon}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {vartheta}
@@ -1163,127 +1221,172 @@
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varphi}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varrho}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varpi}
- }
-}
-\cs_new:Nn \um_config_up_num:n {
+ }
+ }
+\cs_new:Nn \um_config_up_num:n
+ {
\um_map_chars_numbers:nn {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathup {up}{#1}
-}
+ }
+
\cs_new:Nn \um_config_up_Latin:n
- {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {up} {#1} }
- {
+ {
+ \bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {up} {#1} }
+ {
\bool_if:NT \g_um_upLatin_bool { \um_map_chars_Latin:nn {up,it} {#1} }
- }
- \um_set_mathalphabet_Latin:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_latin:n {
+ }
+ \um_set_mathalphabet_Latin:Nnn \mathup {up,it} {#1}
+ }
+
+\cs_new:Nn \um_config_up_latin:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_latin:nn {up} {#1} }
- {
- \bool_if:NT \g_um_uplatin_bool {
+ {
+ \bool_if:NT \g_um_uplatin_bool
+ {
\um_map_chars_latin:nn {up,it} {#1}
\um_map_single:nnn {h} {up,it} {#1}
\um_map_single:nnn {dotlessi} {up,it} {#1}
\um_map_single:nnn {dotlessj} {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_Greek:n {
+ }
+
+\cs_new:Nn \um_config_up_Greek:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_Greek:nn {up}{#1} }
- {
+ {
\bool_if:NT \g_um_upGreek_bool { \um_map_chars_Greek:nn {up,it}{#1} }
- }
+ }
\um_set_mathalphabet_Greek:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_greek:n {
+ }
+
+\cs_new:Nn \um_config_up_greek:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_greek:nn {up} {#1} }
- {
- \bool_if:NT \g_um_upgreek_bool {
+ {
+ \bool_if:NT \g_um_upgreek_bool
+ {
\um_map_chars_greek:nn {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathup {up,it} {#1}
-}
-\cs_new:Nn \um_config_up_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_up_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{up}{up}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{up,it}{up}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{up}{up}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{up,it}{up}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathup {partial} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {Nabla} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {dotlessi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {dotlessj} {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_Latin:n {
+ }
+\cs_new:Nn \um_config_it_Latin:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {it} {#1} }
- {
+ {
\bool_if:NF \g_um_upLatin_bool { \um_map_chars_Latin:nn {up,it} {#1} }
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathit {up,it}{#1}
-}
-\cs_new:Nn \um_config_it_latin:n {
- \bool_if:NTF \g_um_literal_bool {
+ }
+
+\cs_new:Nn \um_config_it_latin:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
\um_map_chars_latin:nn {it} {#1}
\um_map_single:nnn {h}{it}{#1}
- }{
- \bool_if:NF \g_um_uplatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_uplatin_bool
+ {
\um_map_chars_latin:nn {up,it} {#1}
\um_map_single:nnn {h}{up,it}{#1}
\um_map_single:nnn {dotlessi}{up,it}{#1}
\um_map_single:nnn {dotlessj}{up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathit {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathit {dotlessi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathit {dotlessj} {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_Greek:n {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_Greek:nn {it}{#1}
- }{
+ }
+
+\cs_new:Nn \um_config_it_Greek:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
+ \um_map_chars_Greek:nn {it}{#1}
+ }
+ {
\bool_if:NF \g_um_upGreek_bool { \um_map_chars_Greek:nn {up,it}{#1} }
- }
+ }
\um_set_mathalphabet_Greek:Nnn \mathit {up,it}{#1}
-}
-\cs_new:Nn \um_config_it_greek:n {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_greek:nn {it} {#1} }
- {
+ }
+
+\cs_new:Nn \um_config_it_greek:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
+ \um_map_chars_greek:nn {it} {#1}
+ }
+ {
\bool_if:NF \g_um_upgreek_bool { \um_map_chars_greek:nn {it,up} {#1} }
- }
+ }
\um_set_mathalphabet_greek:Nnn \mathit {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_it_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{it}{it}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{up,it}{it}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{it}{it}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{up,it}{it}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathit {Nabla} {up,it}{#1}
-}
-\cs_new:Nn \um_config_bb_latin:n {
+ }
+\cs_new:Nn \um_config_bb_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbb {up,it}{#1}
-}
-\cs_new:Nn \um_config_bb_Latin:n {
+ }
+
+\cs_new:Nn \um_config_bb_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbb {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {C} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {H} {up,it} {#1}
@@ -1292,25 +1395,32 @@
\um_set_mathalphabet_pos:Nnnn \mathbb {Q} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {R} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {Z} {up,it} {#1}
-}
-\cs_new:Nn \um_config_bb_num:n {
+ }
+
+\cs_new:Nn \um_config_bb_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbb {up}{#1}
-}
-\cs_new:Nn \um_config_bb_misc:n {
+ }
+
+\cs_new:Nn \um_config_bb_misc:n
+ {
\um_set_mathalphabet_pos:Nnnn \mathbb {Pi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {pi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {Gamma} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {gamma} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {summation} {up} {#1}
-}
-\cs_new:Nn \um_config_bbit_misc:n {
+ }
+
+\cs_new:Nn \um_config_bbit_misc:n
+ {
\um_set_mathalphabet_pos:Nnnn \mathbbit {D} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {d} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {e} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {i} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {j} {up,it} {#1}
-}
-\cs_new:Nn \um_config_scr_Latin:n {
+ }
+\cs_new:Nn \um_config_scr_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathscr {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {B}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {E}{up,it}{#1}
@@ -1320,14 +1430,17 @@
\um_set_mathalphabet_pos:Nnnn \mathscr {L}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {M}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {R}{up,it}{#1}
-}
-\cs_new:Nn \um_config_scr_latin:n {
+ }
+
+\cs_new:Nn \um_config_scr_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathscr {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {e}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {g}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {o}{up,it}{#1}
-}
-\cs_new:Nn \um_config_cal_Latin:n {
+ }
+\cs_new:Nn \um_config_cal_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathcal {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {B}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {E}{up,it}{#1}
@@ -1337,495 +1450,665 @@
\um_set_mathalphabet_pos:Nnnn \mathcal {L}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {M}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {R}{up,it}{#1}
-}
-\cs_new:Nn \um_config_frak_Latin:n {
+ }
+\cs_new:Nn \um_config_frak_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathfrak {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {C}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {H}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {I}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {R}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {Z}{up,it}{#1}
-}
-\cs_new:Nn \um_config_frak_latin:n {
+ }
+\cs_new:Nn \um_config_frak_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathfrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfup_num:n {
+ }
+\cs_new:Nn \um_config_sfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathsf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathsfup {up}{#1}
-}
-\cs_new:Nn \um_config_sfup_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfup_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {sfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfup_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfup_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {sfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfit_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfit_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfit_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfit_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_tt_num:n {
+ }
+\cs_new:Nn \um_config_tt_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathtt {up}{#1}
-}
-\cs_new:Nn \um_config_tt_Latin:n {
+ }
+\cs_new:Nn \um_config_tt_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathtt {up,it}{#1}
-}
-\cs_new:Nn \um_config_tt_latin:n {
+ }
+\cs_new:Nn \um_config_tt_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathtt {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfit_Latin:n {
- \bool_if:NF \g_um_bfupLatin_bool {
+ }
+\cs_new:Nn \um_config_bfit_Latin:n
+ {
+ \bool_if:NF \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Latin:nn {bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfupLatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_latin:n {
- \bool_if:NF \g_um_bfuplatin_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_latin:n
+ {
+ \bool_if:NF \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_latin:nn {bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfuplatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_Greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_Greek:n
+ {
\um_set_mathalphabet_Greek:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Greek:nn {bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfupGreek_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupGreek_bool
+ {
\um_map_chars_Greek:nn {bfup,bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_greek:n
+ {
\um_set_mathalphabet_greek:Nnn \mathbfit {up,it} {#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_greek:nn {bfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {it} {#1}
- }{
- \bool_if:NF \g_um_bfupgreek_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupgreek_bool
+ {
\um_map_chars_greek:nn {bfit,bfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up,it} {#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
- \um_map_single:nnn {Nabla}{bfit}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
- \um_map_single:nnn {Nabla}{bfup,bfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
- \um_map_single:nnn {partial}{bfit}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
- \um_map_single:nnn {partial}{bfup,bfit}{#1}
- }
- }
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ { \um_map_single:nnn {Nabla}{bfit}{#1} }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ { \um_map_single:nnn {Nabla}{bfup,bfit}{#1} }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ { \um_map_single:nnn {partial}{bfit}{#1} }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ { \um_map_single:nnn {partial}{bfup,bfit}{#1} }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfit {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {it}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {it}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_num:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathbfup {up}{#1}
-}
-\cs_new:Nn \um_config_bfup_Latin:n {
- \bool_if:NT \g_um_bfupLatin_bool {
+ }
+
+\cs_new:Nn \um_config_bfup_Latin:n
+ {
+ \bool_if:NT \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Latin:nn {bfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfupLatin_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_latin:n {
- \bool_if:NT \g_um_bfuplatin_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_latin:n
+ {
+ \bool_if:NT \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_latin:nn {bfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfuplatin_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_Greek:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfup_Greek:n
+ {
\um_set_mathalphabet_Greek:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Greek:nn {bfup}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfupGreek_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupGreek_bool
+ {
\um_map_chars_Greek:nn {bfup,bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_greek:n
+ {
\um_set_mathalphabet_greek:Nnn \mathbfup {up,it} {#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_greek:nn {bfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up} {#1}
- }{
- \bool_if:NT \g_um_bfupgreek_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupgreek_bool
+ {
\um_map_chars_greek:nn {bfup,bfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up,it} {#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfup}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfup,bfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfup}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfup,bfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfup {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {Nabla} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {Digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbf {digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbf {Digamma} {up}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bffrak_Latin:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bffrak_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbffrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_bffrak_latin:n {
+ }
+
+\cs_new:Nn \um_config_bffrak_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbffrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfscr_Latin:n {
+ }
+\cs_new:Nn \um_config_bfscr_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbfscr {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfscr_latin:n {
+ }
+\cs_new:Nn \um_config_bfscr_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbfscr {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfcal_Latin:n {
+ }
+\cs_new:Nn \um_config_bfcal_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbfcal {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_num:n {
+ }
+\cs_new:Nn \um_config_bfsfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbfsf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathbfsfup {up}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_bfsfup_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {bfsfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {bfsfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_Greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_Greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Greek:nn {bfsfup}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Greek:nn {bfsfup,bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Greek:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_greek:nn {bfsfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up} {#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_greek:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathbfsfup {up,it} {#1}
-}
-\cs_new:Nn \um_config_bfsfup_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+\cs_new:Nn \um_config_bfsfup_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup,bfsfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfsfup}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfsfup,bfsfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfsfup {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfsfup {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfsfit_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfsfit_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_Greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_Greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Greek:nn {bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Greek:nn {bfsfup,bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Greek:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_greek:nn {bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {it} {#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_greek:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathbfsfit {up,it} {#1}
-}
-\cs_new:Nn \um_config_bfsfit_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfit}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup,bfsfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfsfit}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfsfup,bfsfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfsfit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfsfit {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {it}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {it}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Npn \um_symbol_setup: {
- \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4 {
- \exp_not:n {\_um_sym:nnn{##1}{##2}{##3}}
- }
-}
+ }
+ }
+ }
+\cs_new:Npn \um_symbol_setup:
+ {
+ \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4
+ {
+ \exp_not:n { \_um_sym:nnn {##1} {##2} {##3} }
+ }
+ }
\CatchFileEdef \g_um_mathtable_tl {unicode-math-table.tex} {\um_symbol_setup:}
\cs_new:Nn \um_input_math_symbol_table: {\g_um_mathtable_tl}
\group_begin:
\char_set_catcode_other:N \^
- \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil {
- \tex_lowercase:D {
- \tl_rescan:nn {
+ \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil
+ {
+ \tex_lowercase:D
+ {
+ \tl_rescan:nn
+ {
\ExplSyntaxOn
\char_set_catcode_other:N \{
\char_set_catcode_other:N \}
\char_set_catcode_other:N \&
\char_set_catcode_other:N \%
\char_set_catcode_other:N \$
- }{
+ }
+ {
\cs_gset_eq:NN #1 ^^^^^#2
- }
- }
- }
- \cs_new:Npn \um_active_char_set:wc "#1 \q_nil #2 {
- \tex_lowercase:D {
+ }
+ }
+ }
+ \cs_new:Npn \um_active_char_set:wc "#1 \q_nil #2
+ {
+ \tex_lowercase:D
+ {
\tl_rescan:nn { \ExplSyntaxOn }
{ \cs_gset_protected_nopar:Npx ^^^^^#1 { \exp_not:c {#2} } }
- }
- }
+ }
+ }
\group_end:
\AtBeginDocument{\um_define_math_chars:}
-\cs_new:Nn \um_define_math_chars: {
+\cs_new:Nn \um_define_math_chars:
+ {
\group_begin:
\char_set_catcode_math_superscript:N \^
- \cs_set:Npn \_um_sym:nnn ##1##2##3 {
+ \cs_set:Npn \_um_sym:nnn ##1##2##3
+ {
\bool_if:nF { \cs_if_eq_p:NN ##3 \mathaccent ||
\cs_if_eq_p:NN ##3 \mathopen ||
\cs_if_eq_p:NN ##3 \mathclose ||
\cs_if_eq_p:NN ##3 \mathover ||
\cs_if_eq_p:NN ##3 \mathunder ||
- \cs_if_eq_p:NN ##3 \mathbotaccent } {
+ \cs_if_eq_p:NN ##3 \mathbotaccent }
+ {
\um_cs_set_eq_active_char:Nw ##2 = ##1 \q_nil \ignorespaces
}
- }
+ }
\char_set_catcode_other:N \#
\um_input_math_symbol_table:
\group_end:
-}
+ }
\group_begin:
\lccode`\*=`\\
\char_set_catcode_escape:N \|
\char_set_catcode_other:N \\
- |lowercase{
- |AtBeginDocument{
+ |lowercase
+ {
+ |AtBeginDocument
+ {
|let|backslash=*
- }
- }
+ }
+ }
|group_end:
\AtBeginDocument { \um_load_lm_if_necessary: }
\cs_new:Nn \um_load_lm_if_necessary:
@@ -1837,21 +2120,27 @@
}
}
\cs_new:Nn \um_arg_i_before_egroup:n {#1\egroup}
-\cs_new:Nn \um_superscript:n {
+\cs_new:Nn \um_superscript:n
+ {
^\bgroup #1
\peek_meaning_remove:NTF ^ \um_arg_i_before_egroup:n \egroup
-}
+ }
\muskip_new:N \g_um_primekern_muskip
\muskip_gset:Nn \g_um_primekern_muskip { -\thinmuskip/2 }% arbitrary
\int_new:N \l_um_primecount_int
-\cs_new:Nn \um_nprimes:Nn {
- \um_superscript:n {
+\cs_new:Nn \um_nprimes:Nn
+ {
+ \um_superscript:n
+ {
#1
\prg_replicate:nn {#2-1} { \mskip \g_um_primekern_muskip #1 }
- }
-}
-\cs_new:Nn \um_nprimes_select:nn {
- \int_case:nnn {#2}{
+ }
+ }
+
+\cs_new:Nn \um_nprimes_select:nn
+ {
+ \int_case:nnn {#2}
+ {
{1} { \um_superscript:n {#1} }
{2} {
\um_glyph_if_exist:nTF {"2033}
@@ -1868,12 +2157,15 @@
{ \um_superscript:n {\um_prime_quad_mchar} }
{ \um_nprimes:Nn #1 {#2} }
}
- }{
+ }
+ {
\um_nprimes:Nn #1 {#2}
- }
-}
-\cs_new:Nn \um_nbackprimes_select:nn {
- \int_case:nnn {#2}{
+ }
+ }
+\cs_new:Nn \um_nbackprimes_select:nn
+ {
+ \int_case:nnn {#2}
+ {
{1} { \um_superscript:n {#1} }
{2} {
\um_glyph_if_exist:nTF {"2036}
@@ -1885,157 +2177,201 @@
{ \um_superscript:n {\um_backprime_triple_mchar} }
{ \um_nprimes:Nn #1 {#2} }
}
- }{
+ }
+ {
\um_nprimes:Nn #1 {#2}
- }
-}
-\cs_new:Npn \um_scan_prime: {
+ }
+ }
+\cs_new:Npn \um_scan_prime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_zero:N \l_um_primecount_int
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_dprime: {
+ }
+\cs_new:Npn \um_scan_dprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {1}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_trprime: {
+ }
+\cs_new:Npn \um_scan_trprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_qprime: {
+ }
+\cs_new:Npn \um_scan_qprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_prime: {
+ }
+\cs_new:Npn \um_scan_sup_prime:
+ {
\int_zero:N \l_um_primecount_int
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_dprime: {
+ }
+\cs_new:Npn \um_scan_sup_dprime:
+ {
\int_set:Nn \l_um_primecount_int {1}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_trprime: {
+ }
+\cs_new:Npn \um_scan_sup_trprime:
+ {
\int_set:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_qprime: {
+ }
+\cs_new:Npn \um_scan_sup_qprime:
+ {
\int_set:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Nn \um_scanprime_collect:N {
+ }
+\cs_new:Nn \um_scanprime_collect:N
+ {
\int_incr:N \l_um_primecount_int
- \peek_meaning_remove:NTF ' {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_prime: {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2032 {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_dprime: {
+ \peek_meaning_remove:NTF '
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF \um_scan_prime:
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF ^^^^2032
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF \um_scan_dprime:
+ {
\int_incr:N \l_um_primecount_int
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2033 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2033
+ {
\int_incr:N \l_um_primecount_int
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_trprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_trprime:
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2034 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2034
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_qprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_qprime:
+ {
\int_add:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2057 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2057
+ {
\int_add:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N #1
- }{
+ }
+ {
\um_nprimes_select:nn {#1} {\l_um_primecount_int}
- }
- }
- }
- }
- }
- }
- }
- }
- }
-}
-\cs_new:Npn \um_scan_backprime: {
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+\cs_new:Npn \um_scan_backprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_zero:N \l_um_primecount_int
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_backdprime: {
+ }
+\cs_new:Npn \um_scan_backdprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {1}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_backtrprime: {
+ }
+\cs_new:Npn \um_scan_backtrprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backprime: {
+ }
+\cs_new:Npn \um_scan_sup_backprime:
+ {
\int_zero:N \l_um_primecount_int
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backdprime: {
+ }
+\cs_new:Npn \um_scan_sup_backdprime:
+ {
\int_set:Nn \l_um_primecount_int {1}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backtrprime: {
+ }
+\cs_new:Npn \um_scan_sup_backtrprime:
+ {
\int_set:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Nn \um_scanbackprime_collect:N {
+ }
+\cs_new:Nn \um_scanbackprime_collect:N
+ {
\int_incr:N \l_um_primecount_int
- \peek_meaning_remove:NTF ` {
+ \peek_meaning_remove:NTF `
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backprime:
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2035 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2035
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backdprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backdprime:
+ {
\int_incr:N \l_um_primecount_int
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2036 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2036
+ {
\int_incr:N \l_um_primecount_int
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backtrprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backtrprime:
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2037 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2037
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N #1
- }{
+ }
+ {
\um_nbackprimes_select:nn {#1} {\l_um_primecount_int}
- }
- }
- }
- }
- }
- }
- }
-}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
\AtBeginDocument{\um_define_prime_commands: \um_define_prime_chars:}
-\cs_new:Nn \um_define_prime_commands: {
+\cs_new:Nn \um_define_prime_commands:
+ {
\cs_set_eq:NN \prime \um_prime_single_mchar
\cs_set_eq:NN \dprime \um_prime_double_mchar
\cs_set_eq:NN \trprime \um_prime_triple_mchar
@@ -2043,7 +2379,7 @@
\cs_set_eq:NN \backprime \um_backprime_single_mchar
\cs_set_eq:NN \backdprime \um_backprime_double_mchar
\cs_set_eq:NN \backtrprime \um_backprime_triple_mchar
-}
+ }
\group_begin:
\char_set_catcode_active:N \'
\char_set_catcode_active:N \`
@@ -2054,7 +2390,8 @@
\char_set_catcode_active:n {"2035}
\char_set_catcode_active:n {"2036}
\char_set_catcode_active:n {"2037}
- \cs_gset:Nn \um_define_prime_chars: {
+ \cs_gset:Nn \um_define_prime_chars:
+ {
\cs_set_eq:NN ' \um_scan_sup_prime:
\cs_set_eq:NN ^^^^2032 \um_scan_sup_prime:
\cs_set_eq:NN ^^^^2033 \um_scan_sup_dprime:
@@ -2064,51 +2401,58 @@
\cs_set_eq:NN ^^^^2035 \um_scan_sup_backprime:
\cs_set_eq:NN ^^^^2036 \um_scan_sup_backdprime:
\cs_set_eq:NN ^^^^2037 \um_scan_sup_backtrprime:
- }
+ }
\group_end:
\AtBeginDocument{\um_redefine_radical:}
\cs_new:Nn \um_redefine_radical:
{
- \@ifpackageloaded { amsmath } { } {
- \cs_set:Npn \root ##1 \of ##2 {
+ \@ifpackageloaded { amsmath } { }
+ {
+ \cs_set:Npn \root ##1 \of ##2
+ {
\luatexUroot \l_um_radical_sqrt_tl { ##1 } { ##2 }
- }
- }
+ }
+ }
}
-\cs_new:Nn \um_fontdimen_to_percent:nn {
+\cs_new:Nn \um_fontdimen_to_percent:nn
+ {
\strip@pt\dimexpr\fontdimen#1#2*65536/100\relax
-}
+ }
\cs_new:Nn \um_fontdimen_to_scale:nn
- {
- \um_fontdimen_to_percent:nn {#1} {#2} \dimexpr \f@size pt\relax
- }
-\cs_new:Nn \um_mathstyle_scale:Nnn {
+ {
+ \um_fontdimen_to_percent:nn {#1} {#2} \dimexpr \f@size pt\relax
+ }
+\cs_new:Nn \um_mathstyle_scale:Nnn
+ {
\ifx#1\scriptstyle
- #2\um_fontdimen_to_percent:nn{10}\l_um_font#3
+ #2 \um_fontdimen_to_percent:nn {10} \l_um_font #3
\else
\ifx#1\scriptscriptstyle
- #2\um_fontdimen_to_percent:nn{11}\l_um_font#3
+ #2 \um_fontdimen_to_percent:nn {11} \l_um_font #3
\else
- #2#3
+ #2 #3
\fi
\fi
-}
+ }
\prop_new:N \g_um_supers_prop
\prop_new:N \g_um_subs_prop
\group_begin:
-\cs_new:Nn \um_setup_active_superscript:nn {
+\cs_new:Nn \um_setup_active_superscript:nn
+ {
\prop_gput:Nxn \g_um_supers_prop {\meaning #1} {#2}
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \scantokens{
- \cs_gset:Npn #1 {
+ \scantokens
+ {
+ \cs_gset:Npn #1
+ {
\tl_set:Nn \l_um_ss_chain_tl {#2}
\cs_set_eq:NN \um_sub_or_super:n \sp
\tl_set:Nn \l_um_tmpa_tl {supers}
\um_scan_sscript:
- }
- }
-}
+ }
+ }
+ }
\um_setup_active_superscript:nn {^^^^2070} {0}
\um_setup_active_superscript:nn {^^^^00b9} {1}
\um_setup_active_superscript:nn {^^^^00b2} {2}
@@ -2126,19 +2470,22 @@
\um_setup_active_superscript:nn {^^^^207e} {)}
\um_setup_active_superscript:nn {^^^^2071} {i}
\um_setup_active_superscript:nn {^^^^207f} {n}
-\cs_new:Nn \um_setup_active_subscript:nn {
+\cs_new:Nn \um_setup_active_subscript:nn
+ {
\prop_gput:Nxn \g_um_subs_prop {\meaning #1} {#2}
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \scantokens{
- \cs_gset:Npn #1 {
+ \scantokens
+ {
+ \cs_gset:Npn #1
+ {
\tl_set:Nn \l_um_ss_chain_tl {#2}
\cs_set_eq:NN \um_sub_or_super:n \sb
\tl_set:Nn \l_um_tmpa_tl {subs}
\um_scan_sscript:
- }
- }
-}
+ }
+ }
+ }
\um_setup_active_subscript:nn {^^^^2080} {0}
\um_setup_active_subscript:nn {^^^^2081} {1}
\um_setup_active_subscript:nn {^^^^2082} {2}
@@ -2168,30 +2515,37 @@
\um_setup_active_subscript:nn {^^^^1d69} {\phi}
\um_setup_active_subscript:nn {^^^^1d6a} {\chi}
\group_end:
-\cs_new:Npn \um_scan_sscript: {
- \um_scan_sscript:TF {
+\cs_new:Npn \um_scan_sscript:
+ {
+ \um_scan_sscript:TF
+ {
\um_scan_sscript:
- }{
+ }
+ {
\um_sub_or_super:n {\l_um_ss_chain_tl}
- }
-}
-\cs_new:Npn \um_scan_sscript:TF #1#2 {
+ }
+ }
+\cs_new:Npn \um_scan_sscript:TF #1#2
+ {
\tl_set:Nx \__peek_true_aux:w { \exp_not:n{ #1 } }
\tl_set_eq:NN \__peek_true:w \__peek_true_remove:w
\tl_set:Nx \__peek_false:w { \exp_not:n { \group_align_safe_end: #2 } }
\group_align_safe_begin:
\peek_after:Nw \um_peek_execute_branches_ss:
-}
-\cs_new:Npn \um_peek_execute_branches_ss: {
- \bool_if:nTF {
+ }
+\cs_new:Npn \um_peek_execute_branches_ss:
+ {
+ \bool_if:nTF
+ {
\token_if_eq_catcode_p:NN \l_peek_token \c_group_begin_token ||
\token_if_eq_catcode_p:NN \l_peek_token \c_group_end_token ||
\token_if_eq_meaning_p:NN \l_peek_token \c_space_token
- }
- { \__peek_false:w }
- { \um_peek_execute_branches_ss_aux: }
-}
-\cs_new:Npn \um_peek_execute_branches_ss_aux: {
+ }
+ { \__peek_false:w }
+ { \um_peek_execute_branches_ss_aux: }
+ }
+\cs_new:Npn \um_peek_execute_branches_ss_aux:
+ {
\prop_if_in:cxTF
{g_um_\l_um_tmpa_tl _prop} {\meaning\l_peek_token}
{
@@ -2201,21 +2555,26 @@
\__peek_true:w
}
{ \__peek_false:w }
-}
-\cs_new:Npn \um_define_active_frac:Nw #1 #2/#3 {
+ }
+\cs_new:Npn \um_define_active_frac:Nw #1 #2/#3
+ {
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \tl_rescan:nn {
+ \tl_rescan:nn
+ {
\catcode`\_=11\relax
\catcode`\:=11\relax
- }{
- \cs_gset:Npx #1 {
+ }
+ {
+ \cs_gset:Npx #1
+ {
\bool_if:NTF \l_um_smallfrac_bool {\exp_not:N\tfrac} {\exp_not:N\frac}
{#2} {#3}
- }
- }
-}
-\cs_new:Npn \um_setup_active_frac: {
+ }
+ }
+ }
+\cs_new:Npn \um_setup_active_frac:
+ {
\group_begin:
\um_define_active_frac:Nw ^^^^2189 0/3
\um_define_active_frac:Nw ^^^^2152 1/{10}
@@ -2237,7 +2596,7 @@
\um_define_active_frac:Nw ^^^^215a 5/6
\um_define_active_frac:Nw ^^^^215e 7/8
\group_end:
-}
+ }
\um_setup_active_frac:
\def\to{\rightarrow}
\def\le{\leq}
@@ -2262,94 +2621,117 @@
\def\backepsilon{\upbackepsilon}
\def\eth{\matheth}
\def\smallint{{\textstyle\int}\limits}
-\@ifpackageloaded{amsmath}{
+\@ifpackageloaded{amsmath}
+ {
% define their own colon, perhaps I should just steal it. (It does look much better.)
-}{
- \cs_set_protected:Npn \colon {
+ }
+ {
+ \cs_set_protected:Npn \colon
+ {
\bool_if:NTF \g_um_literal_colon_bool {:} { \mathpunct{:} }
- }
-}
+ }
+ }
\def\mathrm{\mathup}
\let\mathfence\mathord
\def\digamma{\updigamma}
\def\Digamma{\upDigamma}
\def\operator@font{\um_switchto_mathup:}
-\cs_new_protected_nopar:Npn \um_check_and_fix:NNnnnn #1 #2 #3 #4 #5 #6 {
- \cs_if_exist:NT #1 {
- \token_if_macro:NTF #1 {
+\cs_new_protected_nopar:Nn \um_check_and_fix:NNnnnn
+ {
+ \cs_if_exist:NT #1
+ {
+ \token_if_macro:NTF #1
+ {
\group_begin:
#2 \um_tmpa:w #3 { #4 }
- \cs_if_eq:NNTF #1 \um_tmpa:w {
+ \cs_if_eq:NNTF #1 \um_tmpa:w
+ {
\msg_info:nnx { unicode-math } { patch-macro }
{ \token_to_str:N #1 }
\group_end:
#2 #1 #3
{ #5 }
- } {
+ }
+ {
\msg_warning:nnxxx { unicode-math } { wrong-meaning }
{ \token_to_str:N #1 } { \token_to_meaning:N #1 }
{ \token_to_meaning:N \um_tmpa:w }
\group_end:
- }
- } {
+ }
+ }
+ {
\msg_warning:nnx { unicode-math } { macro-expected }
{ \token_to_str:N #1 }
- }
- }
-}
-\cs_new_protected_nopar:Npn \um_check_and_fix:NNnnn #1 #2 #3 #4 #5 {
+ }
+ }
+ }
+\cs_new_protected_nopar:Nn \um_check_and_fix:NNnnn
+ {
\um_check_and_fix:NNnnnn #1 #2 { #3 } { #4 } { #5 } { #5 }
-}
-\cs_new_protected_nopar:Npn \um_check_and_fix_luatex:NNnnn #1 #2 #3 #4 #5 {
- \luatex_if_engine:T {
+ }
+\cs_new_protected_nopar:Nn \um_check_and_fix_luatex:NNnnn
+ {
+ \luatex_if_engine:T
+ {
\um_check_and_fix:NNnnn #1 #2 { #3 } { #4 } { #5 }
- }
-}
+ }
+ }
\cs_generate_variant:Nn \um_check_and_fix_luatex:NNnnn { c }
-\AtEndOfPackageFile * {url} {
+\AtEndOfPackageFile * {url}
+ {
\tl_put_left:Nn \Url@FormatString { \um_switchto_mathup: }
- \tl_put_right:Nn \UrlSpecials {
+ \tl_put_right:Nn \UrlSpecials
+ {
\do\`{\mathchar`\`}
\do\'{\mathchar`\'}
\do\${\mathchar`\$}
\do\&{\mathchar`\&}
- }
-}
-\AtEndOfPackageFile * {amsmath} {
+ }
+ }
+\AtEndOfPackageFile * {amsmath}
+ {
\cs_set:Npn \@cdots {\mathinner{\cdots}}
\cs_set_eq:NN \dotsb@ \cdots
- \um_check_and_fix_luatex:NNnnn \plainroot@ \cs_set_nopar:Npn { #1 \of #2 } {
- \setbox \rootbox \hbox {
+ \um_check_and_fix_luatex:NNnnn \plainroot@ \cs_set_nopar:Npn { #1 \of #2 }
+ {
+ \setbox \rootbox \hbox
+ {
$ \m@th \scriptscriptstyle { #1 } $
- }
+ }
\mathchoice
{ \r@@t \displaystyle { #2 } }
{ \r@@t \textstyle { #2 } }~
{ \r@@t \scriptstyle { #2 } }
{ \r@@t \scriptscriptstyle { #2 } }
\egroup
- } {
- \bool_if:nTF {
+ }
+ {
+ \bool_if:nTF
+ {
\int_compare_p:nNn { \uproot@ } = { \c_zero }
&& \int_compare_p:nNn { \leftroot@ } = { \c_zero }
- } {
+ }
+ {
\luatexUroot \l_um_radical_sqrt_tl { #1 } { #2 }
- } {
- \hbox_set:Nn \rootbox {
+ }
+ {
+ \hbox_set:Nn \rootbox
+ {
\c_math_toggle_token
\m@th
\scriptscriptstyle { #1 }
\c_math_toggle_token
- }
+ }
\mathchoice
{ \r@@t \displaystyle { #2 } }
{ \r@@t \textstyle { #2 } }
{ \r@@t \scriptstyle { #2 } }
{ \r@@t \scriptscriptstyle { #2 } }
- }
+ }
\c_group_end_token
- }
- \um_check_and_fix:NNnnnn \r@@t \cs_set_nopar:Npn { #1 #2 } {
+ }
+ \um_check_and_fix:NNnnnn \r@@t \cs_set_nopar:Npn { #1 #2 }
+ {
\setboxz@h { $ \m@th #1 \sqrtsign { #2 } $ }
\dimen@ \ht\z@
\advance \dimen@ -\dp\z@
@@ -2361,125 +2743,156 @@
\mkern -10mu
\mkern \leftroot@ mu
\boxz@
- } {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
#1
\mskip \uproot@ mu
\c_math_toggle_token
- }
- \luatexUroot \l_um_radical_sqrt_tl {
- \box_move_up:nn { \box_wd:N \l_tmpa_box } {
- \hbox:n {
+ }
+ \luatexUroot \l_um_radical_sqrt_tl
+ {
+ \box_move_up:nn { \box_wd:N \l_tmpa_box }
+ {
+ \hbox:n
+ {
\c_math_toggle_token
\m@th
\mkern -\leftroot@ mu
\box_use:N \rootbox
\mkern \leftroot@ mu
\c_math_toggle_token
- }
- }
- } {
- #2
- }
- } {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ }
+ }
+ { #2 }
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
#1
\sqrtsign { #2 }
\c_math_toggle_token
- }
- \hbox_set:Nn \l_tmpb_box {
+ }
+ \hbox_set:Nn \l_tmpb_box
+ {
\c_math_toggle_token
\m@th
#1
\mskip \uproot@ mu
\c_math_toggle_token
- }
+ }
\mkern -\leftroot@ mu
- \um_mathstyle_scale:Nnn #1 { \kern } {
+ \um_mathstyle_scale:Nnn #1 { \kern }
+ {
\fontdimen 63 \l_um_font
- }
- \box_move_up:nn {
+ }
+ \box_move_up:nn
+ {
\box_wd:N \l_tmpb_box
+ (\box_ht:N \l_tmpa_box - \box_dp:N \l_tmpa_box)
* \number \fontdimen 65 \l_um_font / 100
- } {
+ }
+ {
\box_use:N \rootbox
- }
- \um_mathstyle_scale:Nnn #1 { \kern } {
+ }
+ \um_mathstyle_scale:Nnn #1 { \kern }
+ {
\fontdimen 64 \l_um_font
- }
+ }
\mkern \leftroot@ mu
\box_use_clear:N \l_tmpa_box
- }
-}
+ }
+ }
\cs_set:Npn \| {\Vert}
\cs_set:Npn \mathellipsis {\mathinner{\unicodeellipsis}}
\cs_set:Npn \cdots {\mathinner{\unicodecdots}}
-\cs_new_protected_nopar:Nn \um_setup_accents: {
- \cs_gset_protected_nopar:Npx \widehat {
+\cs_new_protected_nopar:Nn \um_setup_accents:
+ {
+ \cs_gset_protected_nopar:Npx \widehat
+ {
\um_accent:nnn {} { \um_symfont_tl } { "0302 }
- }
- \cs_gset_protected_nopar:Npx \widetilde {
+ }
+ \cs_gset_protected_nopar:Npx \widetilde
+ {
\um_accent:nnn {} { \um_symfont_tl } { "0303 }
- }
- \cs_gset_protected_nopar:Npx \overleftarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overleftarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20D6 }
- }
- \cs_gset_protected_nopar:Npx \overrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overrightarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20D7 }
- }
- \cs_gset_protected_nopar:Npx \overleftrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overleftrightarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20E1 }
- }
- \cs_gset_protected_nopar:Npx \wideutilde {
+ }
+ \cs_gset_protected_nopar:Npx \wideutilde
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "0330 }
- }
- \cs_gset_protected_nopar:Npx \underrightharpoondown {
+ }
+ \cs_gset_protected_nopar:Npx \underrightharpoondown
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EC }
- }
- \cs_gset_protected_nopar:Npx \underleftharpoondown {
+ }
+ \cs_gset_protected_nopar:Npx \underleftharpoondown
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20ED }
- }
- \cs_gset_protected_nopar:Npx \underleftarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underleftarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EE }
- }
- \cs_gset_protected_nopar:Npx \underrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underrightarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EF }
- }
- \cs_gset_protected_nopar:Npx \underleftrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underleftrightarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "034D }
- }
-}
+ }
+ }
\cs_set_eq:NN \um_text_slash: \slash
-\cs_set_protected:Npn \slash {
+\cs_set_protected:Npn \slash
+ {
\mode_if_math:TF {\mathslash} {\um_text_slash:}
-}
+ }
\tl_new:N \l_not_token_name_tl
-\cs_new:Npn \not_newnot:N #1 {
+\cs_new:Npn \not_newnot:N #1
+ {
\tl_set:Nx \l_not_token_name_tl { \token_to_str:N #1 }
- \exp_args:Nx \tl_if_empty:nF { \tl_tail:V \l_not_token_name_tl } {
+ \exp_args:Nx \tl_if_empty:nF { \tl_tail:V \l_not_token_name_tl }
+ {
\tl_set:Nx \l_not_token_name_tl { \tl_tail:V \l_not_token_name_tl }
- }
- \cs_if_exist:cTF { n \l_not_token_name_tl } {
+ }
+ \cs_if_exist:cTF { n \l_not_token_name_tl }
+ {
\use:c { n \l_not_token_name_tl }
- } {
- \cs_if_exist:cTF { not \l_not_token_name_tl } {
+ }
+ {
+ \cs_if_exist:cTF { not \l_not_token_name_tl }
+ {
\use:c { not \l_not_token_name_tl }
- } {
+ }
+ {
\not_oldnot: #1 %\l_not_token_name_tl
- }
- }
-}
+ }
+ }
+ }
-\cs_new_protected_nopar:Nn \um_setup_negations: {
- \cs_set_eq:NN \not_oldnot: \not
- \cs_set_eq:NN \not \not_newnot:N
+\cs_set_eq:NN \not_oldnot: \not
+\cs_set_eq:NN \not \not_newnot:N
+\cs_new_protected_nopar:Nn \um_setup_negations:
+ {
\cs_gset:cpn { not= } { \neq }
\cs_gset:cpn { not< } { \nless }
\cs_gset:cpn { not> } { \ngtr }
@@ -2490,40 +2903,46 @@
\cs_gset:Npn \nge { \ngeq }
\cs_gset:Npn \ngreater { \ngtr }
\cs_gset:Npn \nforksnot { \forks }
-}
-\AtEndOfPackageFile * { mathtools } {
-\AtEndOfPackageFile * { mathtools } {
- \let\MToverbracket =\overbracket
- \let\MTunderbracket=\underbracket
+ }
+\AtEndOfPackageFile * { mathtools }
+ {
+\AtEndOfPackageFile * { mathtools }
+ {
+ \cs_set_eq:NN \MToverbracket \overbracket
+ \cs_set_eq:NN \MTunderbracket \underbracket
- \AtBeginDocument {
- \msg_warning:nn { unicode-math } { mathtools-overbracket }
+ \AtBeginDocument
+ {
+ \msg_warning:nn { unicode-math } { mathtools-overbracket }
-\def\downbracketfill#1#2{%
+\def\downbracketfill#1#2
+ {%
\edef\l_MT_bracketheight_fdim{.27ex}%
\downbracketend{#1}{#2}
\leaders \vrule \@height #1 \@depth \z@ \hfill
\downbracketend{#1}{#2}%
- }
-\def\upbracketfill#1#2{%
+ }
+\def\upbracketfill#1#2
+ {%
\edef\l_MT_bracketheight_fdim{.27ex}%
\upbracketend{#1}{#2}
\leaders \vrule \@height \z@ \@depth #1 \hfill
\upbracketend{#1}{#2}%
- }
+ }
\let\Uoverbracket =\overbracket
\let\Uunderbracket=\underbracket
\let\overbracket =\MToverbracket
\let\underbracket =\MTunderbracket
- }
-}
+ }
+ }
\msg_warning:nn { unicode-math } { mathtools-colon }
\NewDocumentCommand \dblcolon { } { \Colon }
\NewDocumentCommand \coloneqq { } { \coloneq }
\NewDocumentCommand \Coloneqq { } { \Coloneq }
\NewDocumentCommand \eqqcolon { } { \eqcolon }
-}
-\AtEndOfPackageFile * { colonequals } {
+ }
+\AtEndOfPackageFile * { colonequals }
+ {
\msg_warning:nn { unicode-math } { colonequals }
\RenewDocumentCommand \ratio { } { \mathratio }
\RenewDocumentCommand \coloncolon { } { \Colon }
@@ -2531,5 +2950,5 @@
\RenewDocumentCommand \colonequals { } { \coloneq }
\RenewDocumentCommand \equalscolon { } { \eqcolon }
\RenewDocumentCommand \coloncolonequals { } { \Coloneq }
-}
+ }
\ExplSyntaxOff
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex
index 4f78236f58d..9ed56cd1001 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex
@@ -1,29 +1,29 @@
-\UnicodeMathSymbol{"00021}{\exclam }{\mathpunct}{exclamation mark}%
-\UnicodeMathSymbol{"00023}{\octothorpe }{\mathord}{number sign}%
+\UnicodeMathSymbol{"00021}{\mathexclam }{\mathpunct}{exclamation mark}%
+\UnicodeMathSymbol{"00023}{\mathoctothorpe }{\mathord}{number sign}%
\UnicodeMathSymbol{"00024}{\mathdollar }{\mathord}{dollar sign}%
-\UnicodeMathSymbol{"00025}{\percent }{\mathord}{percent sign}%
-\UnicodeMathSymbol{"00026}{\ampersand }{\mathord}{ampersand}%
+\UnicodeMathSymbol{"00025}{\mathpercent }{\mathord}{percent sign}%
+\UnicodeMathSymbol{"00026}{\mathampersand }{\mathord}{ampersand}%
\UnicodeMathSymbol{"00028}{\lparen }{\mathopen}{left parenthesis}%
\UnicodeMathSymbol{"00029}{\rparen }{\mathclose}{right parenthesis}%
-\UnicodeMathSymbol{"0002B}{\plus }{\mathbin}{plus sign b:}%
-\UnicodeMathSymbol{"0002C}{\comma }{\mathpunct}{comma}%
-\UnicodeMathSymbol{"0002E}{\period }{\mathord}{full stop, period}%
+\UnicodeMathSymbol{"0002B}{\mathplus }{\mathbin}{plus sign b:}%
+\UnicodeMathSymbol{"0002C}{\mathcomma }{\mathpunct}{comma}%
+\UnicodeMathSymbol{"0002E}{\mathperiod }{\mathord}{full stop, period}%
\UnicodeMathSymbol{"0002F}{\mathslash }{\mathord}{solidus}%
\UnicodeMathSymbol{"0003A}{\mathcolon }{\mathpunct}{colon}%
-\UnicodeMathSymbol{"0003B}{\semicolon }{\mathpunct}{semicolon p:}%
+\UnicodeMathSymbol{"0003B}{\mathsemicolon }{\mathpunct}{semicolon p:}%
\UnicodeMathSymbol{"0003C}{\less }{\mathrel}{less-than sign r:}%
\UnicodeMathSymbol{"0003D}{\equal }{\mathrel}{equals sign r:}%
\UnicodeMathSymbol{"0003E}{\greater }{\mathrel}{greater-than sign r:}%
-\UnicodeMathSymbol{"0003F}{\question }{\mathord}{question mark}%
-\UnicodeMathSymbol{"00040}{\atsign }{\mathord}{commercial at}%
+\UnicodeMathSymbol{"0003F}{\mathquestion }{\mathord}{question mark}%
+\UnicodeMathSymbol{"00040}{\mathatsign }{\mathord}{commercial at}%
\UnicodeMathSymbol{"0005B}{\lbrack }{\mathopen}{left square bracket}%
\UnicodeMathSymbol{"0005C}{\backslash }{\mathord}{reverse solidus}%
\UnicodeMathSymbol{"0005D}{\rbrack }{\mathclose}{right square bracket}%
\UnicodeMathSymbol{"0007B}{\lbrace }{\mathopen}{left curly bracket}%
\UnicodeMathSymbol{"0007C}{\vert }{\mathfence}{vertical bar}%
\UnicodeMathSymbol{"0007D}{\rbrace }{\mathclose}{right curly bracket}%
-\UnicodeMathSymbol{"000A3}{\sterling }{\mathord}{pound sign}%
-\UnicodeMathSymbol{"000A5}{\yen }{\mathord}{yen sign}%
+\UnicodeMathSymbol{"000A3}{\mathsterling }{\mathord}{pound sign}%
+\UnicodeMathSymbol{"000A5}{\mathyen }{\mathord}{yen sign}%
\UnicodeMathSymbol{"000AC}{\neg }{\mathord}{/neg /lnot not sign}%
\UnicodeMathSymbol{"000B1}{\pm }{\mathbin}{plus-or-minus sign}%
\UnicodeMathSymbol{"000B7}{\cdotp }{\mathbin}{/centerdot b: middle dot}%
@@ -1423,7 +1423,7 @@
\UnicodeMathSymbol{"02B40}{\equalleftarrow }{\mathrel}{equals sign above leftwards arrow}%
\UnicodeMathSymbol{"02B41}{\bsimilarleftarrow }{\mathrel}{reverse tilde operator above leftwards arrow}%
\UnicodeMathSymbol{"02B42}{\leftarrowbackapprox }{\mathrel}{leftwards arrow above reverse almost equal to}%
-\UnicodeMathSymbol{"02B43}{\rightarrowgtr }{\mathrel}{rightwards arrow through less-than}%
+\UnicodeMathSymbol{"02B43}{\rightarrowgtr }{\mathrel}{rightwards arrow through greater-than}%
\UnicodeMathSymbol{"02B44}{\rightarrowsupset }{\mathrel}{rightwards arrow through subset}%
\UnicodeMathSymbol{"02B45}{\LLeftarrow }{\mathrel}{leftwards quadruple arrow}%
\UnicodeMathSymbol{"02B46}{\RRightarrow }{\mathrel}{rightwards quadruple arrow}%
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
index 1885f4cc6b9..ae66336f6df 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
@@ -15,70 +15,59 @@
%%
%% This work is "maintained" by Will Robertson.
\ExplSyntaxOn
-\ifdim\number\XeTeXversion\XeTeXrevision in<0.9999in
- \cs_new:Nn \um_cs_compat:n
- { \cs_set_eq:cc {U#1} {XeTeX#1} }
- \um_cs_compat:n {mathcode}
- \um_cs_compat:n {delcode}
- \um_cs_compat:n {mathcodenum}
- \um_cs_compat:n {mathcharnum}
- \um_cs_compat:n {mathchardef}
- \um_cs_compat:n {radical}
- \um_cs_compat:n {mathaccent}
- \um_cs_compat:n {delimiter}
-\fi
-\cs_new:Nn \usv_set:nnn {
+\cs_new:Nn \usv_set:nnn
+ {
\tl_set:cn { \um_to_usv:nn {#1}{#2} } {#3}
-}
+ }
\cs_new:Nn \um_to_usv:nn { g_um_#1_#2_usv }
-\usv_set:nnn {up}{num}{48}
-\usv_set:nnn {up}{Latin}{65}
-\usv_set:nnn {up}{latin}{97}
-\usv_set:nnn {up}{Greek}{"391}
-\usv_set:nnn {up}{greek}{"3B1}
-\usv_set:nnn {it}{Latin}{"1D434}
-\usv_set:nnn {it}{latin}{"1D44E}
-\usv_set:nnn {it}{Greek}{"1D6E2}
-\usv_set:nnn {it}{greek}{"1D6FC}
-\usv_set:nnn {bb}{num}{"1D7D8}
-\usv_set:nnn {bb}{Latin}{"1D538}
-\usv_set:nnn {bb}{latin}{"1D552}
-\usv_set:nnn {scr}{Latin}{"1D49C}
-\usv_set:nnn {cal}{Latin}{"1D49C}
-\usv_set:nnn {scr}{latin}{"1D4B6}
+\usv_set:nnn {up} {num} {48}
+\usv_set:nnn {up} {Latin}{65}
+\usv_set:nnn {up} {latin}{97}
+\usv_set:nnn {up} {Greek}{"391}
+\usv_set:nnn {up} {greek}{"3B1}
+\usv_set:nnn {it} {Latin}{"1D434}
+\usv_set:nnn {it} {latin}{"1D44E}
+\usv_set:nnn {it} {Greek}{"1D6E2}
+\usv_set:nnn {it} {greek}{"1D6FC}
+\usv_set:nnn {bb} {num} {"1D7D8}
+\usv_set:nnn {bb} {Latin}{"1D538}
+\usv_set:nnn {bb} {latin}{"1D552}
+\usv_set:nnn {scr} {Latin}{"1D49C}
+\usv_set:nnn {cal} {Latin}{"1D49C}
+\usv_set:nnn {scr} {latin}{"1D4B6}
\usv_set:nnn {frak}{Latin}{"1D504}
\usv_set:nnn {frak}{latin}{"1D51E}
-\usv_set:nnn {sf}{num}{"1D7E2}
-\usv_set:nnn {sfup}{num}{"1D7E2}
-\usv_set:nnn {sfit}{num}{"1D7E2}
+\usv_set:nnn {sf} {num} {"1D7E2}
+\usv_set:nnn {sfup}{num} {"1D7E2}
+\usv_set:nnn {sfit}{num} {"1D7E2}
\usv_set:nnn {sfup}{Latin}{"1D5A0}
-\usv_set:nnn {sf}{Latin}{"1D5A0}
+\usv_set:nnn {sf} {Latin}{"1D5A0}
\usv_set:nnn {sfup}{latin}{"1D5BA}
-\usv_set:nnn {sf}{latin}{"1D5BA}
+\usv_set:nnn {sf} {latin}{"1D5BA}
\usv_set:nnn {sfit}{Latin}{"1D608}
\usv_set:nnn {sfit}{latin}{"1D622}
-\usv_set:nnn {tt}{num}{"1D7F6}
-\usv_set:nnn {tt}{Latin}{"1D670}
-\usv_set:nnn {tt}{latin}{"1D68A}
-\usv_set:nnn {bf}{num}{"1D7CE}
-\usv_set:nnn {bfup}{num}{"1D7CE}
-\usv_set:nnn {bfit}{num}{"1D7CE}
-\usv_set:nnn {bfup}{Latin}{"1D400}
-\usv_set:nnn {bfup}{latin}{"1D41A}
-\usv_set:nnn {bfup}{Greek}{"1D6A8}
-\usv_set:nnn {bfup}{greek}{"1D6C2}
-\usv_set:nnn {bfit}{Latin}{"1D468}
-\usv_set:nnn {bfit}{latin}{"1D482}
-\usv_set:nnn {bfit}{Greek}{"1D71C}
-\usv_set:nnn {bfit}{greek}{"1D736}
+\usv_set:nnn {tt} {num} {"1D7F6}
+\usv_set:nnn {tt} {Latin}{"1D670}
+\usv_set:nnn {tt} {latin}{"1D68A}
+\usv_set:nnn {bf} {num} {"1D7CE}
+\usv_set:nnn {bfup} {num} {"1D7CE}
+\usv_set:nnn {bfit} {num} {"1D7CE}
+\usv_set:nnn {bfup} {Latin}{"1D400}
+\usv_set:nnn {bfup} {latin}{"1D41A}
+\usv_set:nnn {bfup} {Greek}{"1D6A8}
+\usv_set:nnn {bfup} {greek}{"1D6C2}
+\usv_set:nnn {bfit} {Latin}{"1D468}
+\usv_set:nnn {bfit} {latin}{"1D482}
+\usv_set:nnn {bfit} {Greek}{"1D71C}
+\usv_set:nnn {bfit} {greek}{"1D736}
\usv_set:nnn {bffrak}{Latin}{"1D56C}
\usv_set:nnn {bffrak}{latin}{"1D586}
-\usv_set:nnn {bfscr}{Latin}{"1D4D0}
-\usv_set:nnn {bfcal}{Latin}{"1D4D0}
-\usv_set:nnn {bfscr}{latin}{"1D4EA}
-\usv_set:nnn {bfsf}{num}{"1D7EC}
-\usv_set:nnn {bfsfup}{num}{"1D7EC}
-\usv_set:nnn {bfsfit}{num}{"1D7EC}
+\usv_set:nnn {bfscr} {Latin}{"1D4D0}
+\usv_set:nnn {bfcal} {Latin}{"1D4D0}
+\usv_set:nnn {bfscr} {latin}{"1D4EA}
+\usv_set:nnn {bfsf} {num} {"1D7EC}
+\usv_set:nnn {bfsfup}{num} {"1D7EC}
+\usv_set:nnn {bfsfit}{num} {"1D7EC}
\usv_set:nnn {bfsfup}{Latin}{"1D5D4}
\usv_set:nnn {bfsfup}{latin}{"1D5EE}
\usv_set:nnn {bfsfup}{Greek}{"1D756}
@@ -87,53 +76,53 @@
\usv_set:nnn {bfsfit}{latin}{"1D656}
\usv_set:nnn {bfsfit}{Greek}{"1D790}
\usv_set:nnn {bfsfit}{greek}{"1D7AA}
-\usv_set:nnn {bfsf}{Latin}{ \bool_if:NTF \g_um_upLatin_bool \g_um_bfsfup_Latin_usv \g_um_bfsfit_Latin_usv }
-\usv_set:nnn {bfsf}{latin}{ \bool_if:NTF \g_um_uplatin_bool \g_um_bfsfup_latin_usv \g_um_bfsfit_latin_usv }
-\usv_set:nnn {bfsf}{Greek}{ \bool_if:NTF \g_um_upGreek_bool \g_um_bfsfup_Greek_usv \g_um_bfsfit_Greek_usv }
-\usv_set:nnn {bfsf}{greek}{ \bool_if:NTF \g_um_upgreek_bool \g_um_bfsfup_greek_usv \g_um_bfsfit_greek_usv }
-\usv_set:nnn {bf}{Latin}{ \bool_if:NTF \g_um_bfupLatin_bool \g_um_bfup_Latin_usv \g_um_bfit_Latin_usv }
-\usv_set:nnn {bf}{latin}{ \bool_if:NTF \g_um_bfuplatin_bool \g_um_bfup_latin_usv \g_um_bfit_latin_usv }
-\usv_set:nnn {bf}{Greek}{ \bool_if:NTF \g_um_bfupGreek_bool \g_um_bfup_Greek_usv \g_um_bfit_Greek_usv }
-\usv_set:nnn {bf}{greek}{ \bool_if:NTF \g_um_bfupgreek_bool \g_um_bfup_greek_usv \g_um_bfit_greek_usv }
-\usv_set:nnn {up}{varTheta}{"3F4}
-\usv_set:nnn {up}{Digamma}{"3DC}
+\usv_set:nnn {bfsf}{Latin}{ \bool_if:NTF \g_um_upLatin_bool \g_um_bfsfup_Latin_usv \g_um_bfsfit_Latin_usv }
+\usv_set:nnn {bfsf}{latin}{ \bool_if:NTF \g_um_uplatin_bool \g_um_bfsfup_latin_usv \g_um_bfsfit_latin_usv }
+\usv_set:nnn {bfsf}{Greek}{ \bool_if:NTF \g_um_upGreek_bool \g_um_bfsfup_Greek_usv \g_um_bfsfit_Greek_usv }
+\usv_set:nnn {bfsf}{greek}{ \bool_if:NTF \g_um_upgreek_bool \g_um_bfsfup_greek_usv \g_um_bfsfit_greek_usv }
+\usv_set:nnn {bf} {Latin}{ \bool_if:NTF \g_um_bfupLatin_bool \g_um_bfup_Latin_usv \g_um_bfit_Latin_usv }
+\usv_set:nnn {bf} {latin}{ \bool_if:NTF \g_um_bfuplatin_bool \g_um_bfup_latin_usv \g_um_bfit_latin_usv }
+\usv_set:nnn {bf} {Greek}{ \bool_if:NTF \g_um_bfupGreek_bool \g_um_bfup_Greek_usv \g_um_bfit_Greek_usv }
+\usv_set:nnn {bf} {greek}{ \bool_if:NTF \g_um_bfupgreek_bool \g_um_bfup_greek_usv \g_um_bfit_greek_usv }
+\usv_set:nnn {up}{varTheta} {"3F4}
+\usv_set:nnn {up}{Digamma} {"3DC}
\usv_set:nnn {up}{varepsilon}{"3F5}
-\usv_set:nnn {up}{vartheta}{"3D1}
-\usv_set:nnn {up}{varkappa}{"3F0}
-\usv_set:nnn {up}{varphi}{"3D5}
-\usv_set:nnn {up}{varrho}{"3F1}
-\usv_set:nnn {up}{varpi}{"3D6}
-\usv_set:nnn {up}{digamma}{"3DD}
-\usv_set:nnn {bfup}{varTheta}{"1D6B9}
-\usv_set:nnn {bfup}{Digamma}{"1D7CA}
+\usv_set:nnn {up}{vartheta} {"3D1}
+\usv_set:nnn {up}{varkappa} {"3F0}
+\usv_set:nnn {up}{varphi} {"3D5}
+\usv_set:nnn {up}{varrho} {"3F1}
+\usv_set:nnn {up}{varpi} {"3D6}
+\usv_set:nnn {up}{digamma} {"3DD}
+\usv_set:nnn {bfup}{varTheta} {"1D6B9}
+\usv_set:nnn {bfup}{Digamma} {"1D7CA}
\usv_set:nnn {bfup}{varepsilon}{"1D6DC}
-\usv_set:nnn {bfup}{vartheta}{"1D6DD}
-\usv_set:nnn {bfup}{varkappa}{"1D6DE}
-\usv_set:nnn {bfup}{varphi}{"1D6DF}
-\usv_set:nnn {bfup}{varrho}{"1D6E0}
-\usv_set:nnn {bfup}{varpi}{"1D6E1}
-\usv_set:nnn {bfup}{digamma}{"1D7CB}
-\usv_set:nnn {it}{varTheta}{"1D6F3}
+\usv_set:nnn {bfup}{vartheta} {"1D6DD}
+\usv_set:nnn {bfup}{varkappa} {"1D6DE}
+\usv_set:nnn {bfup}{varphi} {"1D6DF}
+\usv_set:nnn {bfup}{varrho} {"1D6E0}
+\usv_set:nnn {bfup}{varpi} {"1D6E1}
+\usv_set:nnn {bfup}{digamma} {"1D7CB}
+\usv_set:nnn {it}{varTheta} {"1D6F3}
\usv_set:nnn {it}{varepsilon}{"1D716}
-\usv_set:nnn {it}{vartheta}{"1D717}
-\usv_set:nnn {it}{varkappa}{"1D718}
-\usv_set:nnn {it}{varphi}{"1D719}
-\usv_set:nnn {it}{varrho}{"1D71A}
-\usv_set:nnn {it}{varpi}{"1D71B}
-\usv_set:nnn {bfit}{varTheta}{"1D72D}
+\usv_set:nnn {it}{vartheta} {"1D717}
+\usv_set:nnn {it}{varkappa} {"1D718}
+\usv_set:nnn {it}{varphi} {"1D719}
+\usv_set:nnn {it}{varrho} {"1D71A}
+\usv_set:nnn {it}{varpi} {"1D71B}
+\usv_set:nnn {bfit}{varTheta} {"1D72D}
\usv_set:nnn {bfit}{varepsilon}{"1D750}
-\usv_set:nnn {bfit}{vartheta}{"1D751}
-\usv_set:nnn {bfit}{varkappa}{"1D752}
-\usv_set:nnn {bfit}{varphi}{"1D753}
-\usv_set:nnn {bfit}{varrho}{"1D754}
-\usv_set:nnn {bfit}{varpi}{"1D755}
-\usv_set:nnn {bfsfup}{varTheta}{"1D767}
+\usv_set:nnn {bfit}{vartheta} {"1D751}
+\usv_set:nnn {bfit}{varkappa} {"1D752}
+\usv_set:nnn {bfit}{varphi} {"1D753}
+\usv_set:nnn {bfit}{varrho} {"1D754}
+\usv_set:nnn {bfit}{varpi} {"1D755}
+\usv_set:nnn {bfsfup}{varTheta} {"1D767}
\usv_set:nnn {bfsfup}{varepsilon}{"1D78A}
-\usv_set:nnn {bfsfup}{vartheta}{"1D78B}
-\usv_set:nnn {bfsfup}{varkappa}{"1D78C}
-\usv_set:nnn {bfsfup}{varphi}{"1D78D}
-\usv_set:nnn {bfsfup}{varrho}{"1D78E}
-\usv_set:nnn {bfsfup}{varpi}{"1D78F}
+\usv_set:nnn {bfsfup}{vartheta} {"1D78B}
+\usv_set:nnn {bfsfup}{varkappa} {"1D78C}
+\usv_set:nnn {bfsfup}{varphi} {"1D78D}
+\usv_set:nnn {bfsfup}{varrho} {"1D78E}
+\usv_set:nnn {bfsfup}{varpi} {"1D78F}
\usv_set:nnn {bfsfit}{varTheta} {"1D7A1}
\usv_set:nnn {bfsfit}{varepsilon}{"1D7C4}
\usv_set:nnn {bfsfit}{vartheta} {"1D7C5}
@@ -261,7 +250,8 @@
\usv_set:nnn {frak}{I}{"2111}
\usv_set:nnn {frak}{R}{"211C}
\usv_set:nnn {frak}{Z}{"2128}
-\tl_map_inline:nn {
+\tl_map_inline:nn
+ {
\new@mathgroup\cdp@list\cdp@elt\DeclareMathSizes
\@DeclareMathSizes\newmathalphabet\newmathalphabet@@\newmathalphabet@@@
\DeclareMathVersion\define@mathalphabet\define@mathgroup\addtoversion
@@ -275,45 +265,19 @@
\@DeclareMathDelimiter\@xDeclareMathDelimiter\set@mathdelimiter
\set@@mathdelimiter\DeclareMathRadical\mathchar@type
\DeclareSymbolFontAlphabet\DeclareSymbolFontAlphabet@
-}{
+ }
+ {
\tl_remove_once:Nn \@preamblecmds {\do#1}
-}
+ }
\def\new@mathgroup{\alloc@8\mathgroup\chardef\@cclvi}
\let\newfam\new@mathgroup
-\cs_set:Nn \um_set_mathsymbol:nNNn {
+\cs_set:Nn \um_set_mathsymbol:nNNn
+ {
\tl_case:Nnn #3 {
- \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} }
- \mathopen
- {
- \tl_if_in:NnTF \l_um_radicals_tl {#2}
- {
- \cs_gset_protected_nopar:cpx {\cs_to_str:N #2 sign}
- { \um_radical:nn {#1} {#4} }
- \tl_set:cn {l_um_radical_\cs_to_str:N #2_tl} {\use:c{sym #1}~ #4}
- }
- {
- \um_set_delcode:nnn {#1} {#4} {#4}
- \um_set_mathcode:nnn {#4} \mathopen {#1}
- \cs_gset_protected_nopar:Npx #2
- { \um_delimiter:Nnn \mathopen {#1} {#4} }
- }
- }
- \mathclose
- {
- \um_set_delcode:nnn {#1} {#4} {#4}
- \um_set_mathcode:nnn {#4} \mathclose {#1}
- \cs_gset_protected_nopar:Npx #2
- { \um_delimiter:Nnn \mathclose {#1} {#4} }
- }
- \mathfence
- {
- \um_set_mathcode:nnn {#4} {#3} {#1}
- \um_set_delcode:nnn {#1} {#4} {#4}
- \cs_gset_protected_nopar:cpx {l \cs_to_str:N #2}
- { \um_delimiter:Nnn \mathopen {#1} {#4} }
- \cs_gset_protected_nopar:cpx {r \cs_to_str:N #2}
- { \um_delimiter:Nnn \mathclose {#1} {#4} }
- }
+ \mathop { \um_set_big_operator:nnn {#1} {#2} {#4} }
+ \mathopen { \um_set_math_open:nnn {#1} {#2} {#4} }
+ \mathclose { \um_set_math_close:nnn {#1} {#2} {#4} }
+ \mathfence { \um_set_math_fence:nnnn {#1} {#2} {#3} {#4} }
\mathaccent
{ \cs_gset_protected_nopar:Npx #2 { \um_accent:nnn {fixed} {#1} {#4} } }
\mathbotaccent
@@ -331,76 +295,56 @@
}{
\um_set_mathcode:nnn {#4} {#3} {#1}
}
-}
+ }
\edef\mathfence{\string\mathfence}
\edef\mathover{\string\mathover}
\edef\mathunder{\string\mathunder}
\edef\mathbotaccent{\string\mathbotaccent}
-\cs_new:Nn \um_set_big_operator:nnn {
+\cs_new:Nn \um_set_big_operator:nnn
+ {
\group_begin:
\char_set_catcode_active:n {#3}
\char_gmake_mathactive:n {#3}
\um_active_char_set:wc #3 \q_nil { \cs_to_str:N #2 _sym }
\group_end:
\um_set_mathchar:cNnn {\cs_to_str:N #2 op} \mathop {#1} {#3}
- \cs_gset:cpx { \cs_to_str:N #2 _sym } {
+ \cs_gset:cpx { \cs_to_str:N #2 _sym }
+ {
\exp_not:c { \cs_to_str:N #2 op }
\exp_not:n { \tl_if_in:NnT \l_um_nolimits_tl {#2} \nolimits }
- }
-}
-\cs_set:Npn \um_set_mathcode:nnnn #1#2#3#4 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
-}
-\cs_set:Npn \um_set_mathcode:nnn #1#2#3 {
- \Umathcode \int_eval:n {#1} =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#1} \scan_stop:
-}
-\cs_set:Npn \um_set_mathchar:NNnn #1#2#3#4 {
- \Umathchardef #1 =
- \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
-}
-\cs_new:Nn \um_set_delcode:nnn {
- \Udelcode#2 = \csname sym#1\endcsname #3
-}
-\cs_new:Nn \um_radical:nn {
- \Uradical \csname sym#1\endcsname #2 \scan_stop:
-}
-\cs_new:Nn \um_delimiter:Nnn {
- \Udelimiter \mathchar@type#1 \csname sym#2\endcsname #3 \scan_stop:
-}
-\cs_new:Nn \um_accent:nnn {
- \Umathaccent #1~ \mathchar@type\mathaccent \use:c { sym #2 } #3 \scan_stop:
-}
-\cs_generate_variant:Nn \um_set_mathchar:NNnn {c}
-\cs_new:Nn \char_gmake_mathactive:N {
- \global\mathcode `#1 = "8000 \scan_stop:
-}
-\cs_new:Nn \char_gmake_mathactive:n {
- \global\mathcode #1 = "8000 \scan_stop:
-}
-\cs_new:Nn \um_init: {
- \bool_set_true:N \l_um_ot_math_bool
- \cs_set_eq:NN \glb@currsize \scan_stop:
- \bool_set_true:N \l_um_init_bool
- \seq_clear:N \l_um_char_range_seq
- \clist_clear:N \l_um_char_num_range_clist
- \seq_clear:N \l_um_mathalph_seq
- \seq_clear:N \l_um_missing_alph_seq
- \tl_set:Nn \l_um_mversion_tl {normal}
- \tl_set:Nn \um_symfont_tl {operators}
- \cs_set_eq:NN \_um_sym:nnn \um_process_symbol_noparse:nnn
- \cs_set_eq:NN \um_set_mathalphabet_char:Nnn \um_mathmap_noparse:Nnn
- \cs_set_eq:NN \um_remap_symbol:nnn \um_remap_symbol_noparse:nnn
- \cs_set_eq:NN \um_maybe_init_alphabet:n \um_init_alphabet:n
- \cs_set_eq:NN \um_map_char_single:nn \um_map_char_noparse:nn
- \cs_set_eq:NN \um_assign_delcode:nn \um_assign_delcode_noparse:nn
- \cs_set_eq:NN \um_make_mathactive:nNN \um_make_mathactive_noparse:nNN
- \tl_set:Nn \l_um_script_features_tl {Style=MathScript}
- \tl_set:Nn \l_um_sscript_features_tl {Style=MathScriptScript}
- \tl_set_eq:NN \l_um_script_font_tl \l_um_fontname_tl
- \tl_set_eq:NN \l_um_sscript_font_tl \l_um_fontname_tl
-}
+ }
+ }
+\cs_new:Nn \um_set_math_open:nnn
+ {
+ \tl_if_in:NnTF \l_um_radicals_tl {#2}
+ {
+ \cs_gset_protected_nopar:cpx {\cs_to_str:N #2 sign}
+ { \um_radical:nn {#1} {#3} }
+ \tl_set:cn {l_um_radical_\cs_to_str:N #2_tl} {\use:c{sym #1}~ #3}
+ }
+ {
+ \um_set_delcode:nnn {#1} {#3} {#3}
+ \um_set_mathcode:nnn {#3} \mathopen {#1}
+ \cs_gset_protected_nopar:Npx #2
+ { \um_delimiter:Nnn \mathopen {#1} {#3} }
+ }
+ }
+\cs_new:Nn \um_set_math_close:nnn
+ {
+ \um_set_delcode:nnn {#1} {#3} {#3}
+ \um_set_mathcode:nnn {#3} \mathclose {#1}
+ \cs_gset_protected_nopar:Npx #2
+ { \um_delimiter:Nnn \mathclose {#1} {#3} }
+ }
+\cs_new:Nn \um_set_math_fence:nnnn
+ {
+ \um_set_mathcode:nnn {#4} {#3} {#1}
+ \um_set_delcode:nnn {#1} {#4} {#4}
+ \cs_gset_protected_nopar:cpx {l \cs_to_str:N #2}
+ { \um_delimiter:Nnn \mathopen {#1} {#4} }
+ \cs_gset_protected_nopar:cpx {r \cs_to_str:N #2}
+ { \um_delimiter:Nnn \mathclose {#1} {#4} }
+ }
\DeclareDocumentCommand \setmathfont { O{} m } {
\tl_set:Nn \l_um_fontname_tl {#2}
\um_init:
@@ -419,15 +363,16 @@
\tl_set:Nn \l_um_tmpa_tl {normal}
\tl_if_eq:NNT \l_um_mversion_tl \l_um_tmpa_tl
{
- \SetSymbolFont{\um_symfont_tl}{bold}
+ \SetSymbolFont{\um_symfont_tl}{bold}
{\encodingdefault}{\l_um_family_tl}{\bfdefault}{\updefault}
}
- \bool_if:nT {\l_um_ot_math_bool && !\g_um_mainfont_already_set_bool} {
+ \bool_if:nT { \l_um_ot_math_bool && !\g_um_mainfont_already_set_bool }
+ {
\bool_set_true:N \g_um_mainfont_already_set_bool
\um_declare_math_sizes:
\um_setup_legacy_fam_two:
\um_setup_legacy_fam_three:
- }
+ }
\um_input_math_symbol_table:
\um_remap_symbols:
\um_setup_mathactives:
@@ -437,6 +382,30 @@
\um_setup_negations:
\ignorespaces
}
+\cs_set_eq:NN \resetmathfont \setmathfont
+\cs_new:Nn \um_init:
+ {
+ \bool_set_true:N \l_um_ot_math_bool
+ \cs_set_eq:NN \glb@currsize \scan_stop:
+ \bool_set_true:N \l_um_init_bool
+ \seq_clear:N \l_um_char_range_seq
+ \clist_clear:N \l_um_char_num_range_clist
+ \seq_clear:N \l_um_mathalph_seq
+ \seq_clear:N \l_um_missing_alph_seq
+ \tl_set:Nn \l_um_mversion_tl {normal}
+ \tl_set:Nn \um_symfont_tl {operators}
+ \cs_set_eq:NN \_um_sym:nnn \um_process_symbol_noparse:nnn
+ \cs_set_eq:NN \um_set_mathalphabet_char:Nnn \um_mathmap_noparse:Nnn
+ \cs_set_eq:NN \um_remap_symbol:nnn \um_remap_symbol_noparse:nnn
+ \cs_set_eq:NN \um_maybe_init_alphabet:n \um_init_alphabet:n
+ \cs_set_eq:NN \um_map_char_single:nn \um_map_char_noparse:nn
+ \cs_set_eq:NN \um_assign_delcode:nn \um_assign_delcode_noparse:nn
+ \cs_set_eq:NN \um_make_mathactive:nNN \um_make_mathactive_noparse:nNN
+ \tl_set:Nn \l_um_script_features_tl {Style=MathScript}
+ \tl_set:Nn \l_um_sscript_features_tl {Style=MathScriptScript}
+ \tl_set_eq:NN \l_um_script_font_tl \l_um_fontname_tl
+ \tl_set_eq:NN \l_um_sscript_font_tl \l_um_fontname_tl
+ }
\cs_new:Nn \um_declare_math_sizes:
{
\dim_compare:nF { \fontdimen 10 \l_um_font == 0pt }
@@ -452,7 +421,8 @@
{
\l_um_font_keyval_tl,
Scale=1.00001,
- FontAdjustment={
+ FontAdjustment =
+ {
\fontdimen8\font= \um_get_fontparam:nn {43} {FractionNumeratorDisplayStyleShiftUp}\relax
\fontdimen9\font= \um_get_fontparam:nn {42} {FractionNumeratorShiftUp}\relax
\fontdimen10\font=\um_get_fontparam:nn {32} {StackTopShiftUp}\relax
@@ -468,7 +438,7 @@
\fontdimen20\font=0pt\relax % delim1 = FractionDelimiterDisplaySize
\fontdimen21\font=0pt\relax % delim2 = FractionDelimiterSize
\fontdimen22\font=\um_get_fontparam:nn {15} {AxisHeight}\relax
- }
+ }
} {\l_um_fontname_tl}
\SetSymbolFont{symbols}{\l_um_mversion_tl}
{\encodingdefault}{\l_um_family_tl}{\mddefault}{\updefault}
@@ -507,22 +477,27 @@
}
\cs_new:Nn \um_get_fontparam:nn
{ \the\fontdimen#1\l_um_font\relax }
-\cs_set_eq:NN \resetmathfont \setmathfont
-\cs_new:Nn \um_fontspec_select_font: {
+\cs_new:Nn \um_fontspec_select_font:
+ {
\tl_set:Nx \l_um_font_keyval_tl {
BoldItalicFont = {}, ItalicFont = {},
Script = Math,
- SizeFeatures = {
- {Size = \tf@size-} ,
- {Size = \sf@size-\tf@size ,
+ SizeFeatures =
+ {
+ {
+ Size = \tf@size-
+ } ,
+ {
+ Size = \sf@size-\tf@size ,
Font = \l_um_script_font_tl ,
\l_um_script_features_tl
} ,
- {Size = -\sf@size ,
+ {
+ Size = -\sf@size ,
Font = \l_um_sscript_font_tl ,
\l_um_sscript_features_tl
}
- },
+ } ,
\l_um_unknown_keys_clist
}
\fontspec_set_fontface:NNxn \l_um_font \l_um_family_tl
@@ -531,33 +506,43 @@
\fontfamily{\l_um_family_tl}\selectfont
\fontspec_if_script:nF {math} {\bool_gset_false:N \l_um_ot_math_bool}
\group_end:
-}
-\cs_set:Npn \um_process_symbol_noparse:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_process_symbol_noparse:nnn
+ {
\um_set_mathsymbol:nNNn {\um_symfont_tl} #2#3{#1}
-}
-\cs_set:Npn \um_process_symbol_parse:nnn #1#2#3 {
- \um_if_char_spec:nNNT{#1}{#2}{#3}{
+ }
+\cs_set:Nn \um_process_symbol_parse:nnn
+ {
+ \um_if_char_spec:nNNT{#1}{#2}{#3}
+ {
\um_process_symbol_noparse:nnn {#1}{#2}{#3}
- }
-}
-\cs_new:Npn \um_remap_symbols: {
+ }
+ }
+\cs_new:Npn \um_remap_symbols:
+ {
\um_remap_symbol:nnn{`\-}{\mathbin}{"02212}% hyphen to minus
\um_remap_symbol:nnn{`\*}{\mathbin}{"02217}% text asterisk to "centred asterisk"
- \bool_if:NF \g_um_literal_colon_bool {
+ \bool_if:NF \g_um_literal_colon_bool
+ {
\um_remap_symbol:nnn{`\:}{\mathrel}{"02236}% colon to ratio (i.e., punct to rel)
- }
-}
-\cs_new:Nn \um_remap_symbol_parse:nnn {
- \um_if_char_spec:nNNT {#3} {\@nil} {#2} {
+ }
+ }
+\cs_new:Nn \um_remap_symbol_parse:nnn
+ {
+ \um_if_char_spec:nNNT {#3} {\@nil} {#2}
+ {
\um_remap_symbol_noparse:nnn {#1} {#2} {#3}
- }
-}
-\cs_new:Nn \um_remap_symbol_noparse:nnn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_remap_symbol_noparse:nnn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_set_mathcode:nnnn {##1} {#2} {\um_symfont_tl} {#3}
- }
-}
-\cs_new:Npn \um_setup_mathactives: {
+ }
+ }
+\cs_new:Npn \um_setup_mathactives:
+ {
\um_make_mathactive:nNN {"2032} \um_prime_single_mchar \mathord
\um_make_mathactive:nNN {"2033} \um_prime_double_mchar \mathord
\um_make_mathactive:nNN {"2034} \um_prime_triple_mchar \mathord
@@ -567,7 +552,7 @@
\um_make_mathactive:nNN {"2037} \um_backprime_triple_mchar \mathord
\um_make_mathactive:nNN {`\'} \mathstraightquote \mathord
\um_make_mathactive:nNN {`\`} \mathbacktick \mathord
-}
+ }
\cs_new:Nn \um_make_mathactive_parse:nNN
{
\um_if_char_spec:nNNT {#1} #2 #3
@@ -578,16 +563,20 @@
\um_set_mathchar:NNnn #2 #3 {\um_symfont_tl} {#1}
\char_gmake_mathactive:n {#1}
}
-\cs_new:Nn \um_assign_delcode_noparse:nn {
+\cs_new:Nn \um_assign_delcode_noparse:nn
+ {
\um_set_delcode:nnn \um_symfont_tl {#1} {#2}
-}
-\cs_new:Nn \um_assign_delcode_parse:nn {
- \um_if_char_spec:nNNT {#2}{\@nil}{\@nil} {
+ }
+\cs_new:Nn \um_assign_delcode_parse:nn
+ {
+ \um_if_char_spec:nNNT {#2} {\@nil} {\@nil}
+ {
\um_assign_delcode_noparse:nn {#1} {#2}
- }
-}
+ }
+ }
\cs_new:Nn \um_assign_delcode:n { \um_assign_delcode:nn {#1} {#1} }
-\cs_new:Npn \um_setup_delcodes: {
+\cs_new:Npn \um_setup_delcodes:
+ {
\um_assign_delcode:nn {`\.} {\c_zero} % ensure \left. and \right. work
\um_assign_delcode:nn {`\/} {\g_um_slash_delimiter_usv}
\um_assign_delcode:nn {"2044} {\g_um_slash_delimiter_usv} % fracslash
@@ -622,21 +611,24 @@
\um_assign_delcode:n {"21E9} % down white arrow
\um_assign_delcode:n {"21EA} % up white arrow from bar
\um_assign_delcode:n {"21F3} % updown white arrow
-}
+ }
\tl_new:N \l_um_nolimits_tl
-\tl_set:Nn \l_um_nolimits_tl {
+\tl_set:Nn \l_um_nolimits_tl
+ {
\int\iint\iiint\iiiint\oint\oiint\oiiint
\intclockwise\varointclockwise\ointctrclockwise\sumint
\intbar\intBar\fint\cirfnint\awint\rppolint
\scpolint\npolint\pointint\sqint\intlarhk\intx
\intcap\intcup\upint\lowint
-}
-\DeclareDocumentCommand \addnolimits {m} {
+ }
+\DeclareDocumentCommand \addnolimits {m}
+ {
\tl_put_right:Nn \l_um_nolimits_tl {#1}
-}
-\DeclareDocumentCommand \removenolimits {m} {
+ }
+\DeclareDocumentCommand \removenolimits {m}
+ {
\tl_remove_all:Nn \l_um_nolimits_tl {#1}
-}
+ }
\tl_new:N \l_um_radicals_tl
\tl_set:Nn \l_um_radicals_tl {\sqrt \longdivision}
\cs_new_protected_nopar:Nn \um_new_cramped_style:N
@@ -683,22 +675,26 @@
\um_font_param_aux:ccnnnn { um_ #1 :N } { um_set_ #1 :N }
{ #2 } { #3 } { #4 } { #5 }
}
-\cs_new_protected_nopar:Npn \um_font_param:nnn #1 #2 #3 {
+\cs_new_protected_nopar:Nn \um_font_param:nnn
+ {
\um_font_param:nnnnn { #1 } { #2 } { #2 } { #3 } { #3 }
-}
-\cs_new_protected_nopar:Npn \um_font_param:nn #1 #2 {
+ }
+\cs_new_protected_nopar:Nn \um_font_param:nn
+ {
\um_font_param:nnnnn { #1 } { #2 } { #2 } { #2 } { #2 }
-}
+ }
\cs_new_protected_nopar:Nn \um_font_param:n
{ }
\cs_new_protected_nopar:Nn \um_font_param_aux:NNnnnn
{
- \cs_new_nopar:Npn #1 ##1 {
+ \cs_new_nopar:Npn #1 ##1
+ {
\um_font_dimen:Nnnnn ##1 { #3 } { #4 } { #5 } { #6 }
- }
- \cs_new_protected_nopar:Npn #2 ##1 ##2 {
+ }
+ \cs_new_protected_nopar:Npn #2 ##1 ##2
+ {
#1 ##1 \dim_eval:n { ##2 }
- }
+ }
}
\cs_generate_variant:Nn \um_font_param_aux:NNnnnn { cc }
\um_font_param:nn { axis } { 15 }
@@ -786,17 +782,18 @@
}
}
\keys_define:nn {unicode-math}
-{
+ {
script-features .tl_set:N = \l_um_script_features_tl ,
sscript-features .tl_set:N = \l_um_sscript_features_tl ,
script-font .tl_set:N = \l_um_script_font_tl ,
sscript-font .tl_set:N = \l_um_sscript_font_tl ,
-}
+ }
\seq_new:N \l_um_mathalph_seq
\seq_new:N \l_um_char_range_seq
\seq_new:N \l_um_mclass_range_seq
\seq_new:N \l_um_cmd_range_seq
-\keys_define:nn {unicode-math} {
+\keys_define:nn {unicode-math}
+ {
range .code:n = {
\bool_set_false:N \l_um_init_bool
\int_incr:N \g_um_fam_int
@@ -830,7 +827,7 @@
}
}
}
-}
+ }
\seq_new:N \g_um_mathclasses_seq
\seq_set_from_clist:Nn \g_um_mathclasses_seq
{
@@ -930,14 +927,17 @@
\bool_if:NTF \g_um_texgreek_bool \mitphi \mitvarphi
}
}
-\cs_new:Nn \um_new_mathstyle:N {
+\cs_new:Nn \um_new_mathstyle:N
+ {
\um_prepare_mathstyle:f {\exp_after:wN \use_none:nnnnn \token_to_str:N #1}
\seq_put_right:Nn \g_um_mathstyles_seq {#1}
-}
+ }
\seq_new:N \g_um_default_mathalph_seq
\seq_new:N \g_um_mathstyles_seq
-\AtEndOfPackage{
-\clist_map_inline:nn {
+\AtEndOfPackage
+ {
+\clist_map_inline:nn
+ {
{\mathup } {latin,Latin,greek,Greek,num,misc} {\mathup } ,
{\mathit } {latin,Latin,greek,Greek,misc} {\mathit } ,
{\mathbb } {latin,Latin,num,misc} {\mathbb } ,
@@ -955,21 +955,26 @@
{\mathbffrak} {latin,Latin} {\mathbffrak} ,
{\mathbfsfup} {latin,Latin,greek,Greek,num,misc} {\mathbfsfup} ,
{\mathbfsfit} {latin,Latin,greek,Greek,misc} {\mathbfsfit}
-}{
+ }
+ {
\seq_put_right:Nn \g_um_default_mathalph_seq {#1}
\exp_after:wN \um_new_mathstyle:N \use_i:nnn #1
-}
-\um_new_mathstyle:N \mathsf
-\um_new_mathstyle:N \mathbf
-\um_new_mathstyle:N \mathbfsf
-}
-\cs_new:Nn \um_prepare_mathstyle:n {
+ }
+ \um_new_mathstyle:N \mathsf
+ \um_new_mathstyle:N \mathbf
+ \um_new_mathstyle:N \mathbfsf
+ }
+\cs_new:Nn \um_prepare_mathstyle:n
+ {
\um_init_alphabet:x {#1}
- \cs_set:cpn {_um_math#1_aux:n} ##1 {
+ \cs_set:cpn {_um_math#1_aux:n} ##1
+ {
\use:c {um_switchto_math#1:} ##1 \egroup
- }
- \cs_set_protected:cpx {math#1} {
- \exp_not:n{
+ }
+ \cs_set_protected:cpx {math#1}
+ {
+ \exp_not:n
+ {
\bgroup
\mode_if_math:F
{
@@ -977,22 +982,25 @@
\non@alpherr\expandafter{\csname math#1\endcsname\space}
}
\tl_set:Nn \l_um_mathstyle_tl {#1}
- }
+ }
\exp_not:c {_um_math#1_aux:n}
- }
-}
+ }
+ }
\tl_new:N \l_um_mathstyle_tl
\cs_generate_variant:Nn \um_prepare_mathstyle:n {f}
-\cs_set:Npn \um_init_alphabet:n #1 {
+\cs_set:Nn \um_init_alphabet:n
+ {
\um_log:nx {alph-initialise} {#1}
\cs_set_eq:cN {um_switchto_math#1:} \prg_do_nothing:
-}
+ }
\cs_generate_variant:Nn \um_init_alphabet:n {x}
-\cs_new:Npn \um_maybe_init_alphabet:V {
+\cs_new:Npn \um_maybe_init_alphabet:V
+ {
\exp_args:NV \um_maybe_init_alphabet:n
-}
+ }
\seq_new:N \l_um_missing_alph_seq
-\cs_new:Npn \um_setup_alphabets: {
+\cs_new:Npn \um_setup_alphabets:
+ {
\seq_if_empty:NTF \l_um_mathalph_seq {
\um_log:n {setup-implicit}
\seq_set_eq:NN \l_um_mathalph_seq \g_um_default_mathalph_seq
@@ -1023,93 +1031,123 @@
\l_um_tmpa_tl \l_um_tmpb_tl \l_um_remap_style_tl
}
\seq_if_empty:NF \l_um_missing_alph_seq { \um_log:n { missing-alphabets } }
-}
-\cs_new:Nn \um_setup_math_alphabet:Nnn {
- \tl_set:Nx \l_um_style_tl {
+ }
+\cs_new:Nn \um_setup_math_alphabet:Nnn
+ {
+ \tl_set:Nx \l_um_style_tl
+ {
\exp_after:wN \use_none:nnnnn \token_to_str:N #1
- }
- \clist_map_inline:nn {#2} {
+ }
+ \clist_map_inline:nn {#2}
+ {
\tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} }
- \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n} {
- \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} {
+ \cs_if_exist:cT {um_config_ \l_um_style_tl _\l_um_tmpa_tl :n}
+ {
+ \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc}
+ {
\um_maybe_init_alphabet:V \l_um_style_tl
\clist_map_break:
- }{
- \um_glyph_if_exist:cT { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }{
+ }
+ {
+ \um_glyph_if_exist:cT { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }
+ {
\um_maybe_init_alphabet:V \l_um_style_tl
\clist_map_break:
- }
- }
- }
- }
- \clist_map_inline:nn {#2} {
+ }
+ }
+ }
+ }
+ \clist_map_inline:nn {#2}
+ {
\tl_set:Nx \l_um_tmpa_tl { \tl_trim_spaces:n {##1} }
- \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {
- \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc} {
+ \cs_if_exist:cT {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n}
+ {
+ \str_if_eq_x:nnTF {\l_um_tmpa_tl}{misc}
+ {
\um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)}
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3}
- }{
- \um_glyph_if_exist:cTF { \um_to_usv:nn {#3}{\l_um_tmpa_tl} } {
+ }
+ {
+ \um_glyph_if_exist:cTF { \um_to_usv:nn {#3}{\l_um_tmpa_tl} }
+ {
\um_log:nx {setup-alph} {math \l_um_style_tl~(\l_um_tmpa_tl)}
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {#3}
- }{
- \bool_if:NTF \l_um_implicit_alph_bool {
- \seq_put_right:Nx \l_um_missing_alph_seq {
+ }
+ {
+ \bool_if:NTF \l_um_implicit_alph_bool
+ {
+ \seq_put_right:Nx \l_um_missing_alph_seq
+ {
\@backslashchar math \l_um_style_tl \space
(\tl_use:c{c_um_math_alphabet_name_ \l_um_tmpa_tl _tl})
- }
- }{
+ }
+ }
+ {
\use:c {um_config_ \l_um_style_tl _ \l_um_tmpa_tl :n} {up}
- }
- }
- }
- }
- }
-}
+ }
+ }
+ }
+ }
+ }
+ }
\cs_generate_variant:Nn \um_setup_math_alphabet:Nnn {VVV}
\cs_new:Npn \um_map_char_single:cc { \exp_args:Ncc \um_map_char_single:nn }
-\cs_new:Nn \um_map_char_noparse:nn {
+\cs_new:Nn \um_map_char_noparse:nn
+ {
\um_set_mathcode:nnnn {#1}{\mathalpha}{\um_symfont_tl}{#2}
-}
-\cs_new:Nn \um_map_char_parse:nn {
- \um_if_char_spec:nNNT {#1} {\@nil} {\mathalpha} {
+ }
+\cs_new:Nn \um_map_char_parse:nn
+ {
+ \um_if_char_spec:nNNT {#1} {\@nil} {\mathalpha}
+ {
\um_map_char_noparse:nn {#1}{#2}
- }
-}
-\cs_new:Nn \um_map_char_single:nnn {
+ }
+ }
+\cs_new:Nn \um_map_char_single:nnn
+ {
\um_map_char_single:cc { \um_to_usv:nn {#1}{#3} }
{ \um_to_usv:nn {#2}{#3} }
-}
-\cs_set:Npn \um_map_single:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_map_single:nnn
+ {
\cs_if_exist:cT { \um_to_usv:nn {#3} {#1} }
{
- \clist_map_inline:nn {#2} {
+ \clist_map_inline:nn {#2}
+ {
\um_map_char_single:nnn {##1} {#3} {#1}
- }
+ }
}
-}
-\cs_set:Npn \um_map_chars_range:nnn #1#2#3 {
+ }
+\cs_set:Nn \um_map_chars_range:nnn
+ {
\int_step_inline:nnnn {0}{1}{#1-1} {
\um_map_char_single:nn {#2+##1}{#3+##1}
}
-}
+ }
\cs_generate_variant:Nn \um_map_chars_range:nnn {ncc}
-\cs_new:Nn \um_map_chars_range:nnnn {
+\cs_new:Nn \um_map_chars_range:nnnn
+ {
\um_map_chars_range:ncc {#1} { \um_to_usv:nn {#2}{#4} }
{ \um_to_usv:nn {#3}{#4} }
-}
-\cs_new:Nn \um_map_chars_Latin:nn {
- \clist_map_inline:nn {#1} {
+ }
+\cs_new:Nn \um_map_chars_Latin:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {26} {##1} {#2} {Latin}
- }
-}
-\cs_new:Nn \um_map_chars_latin:nn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_map_chars_latin:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {26} {##1} {#2} {latin}
- }
-}
-\cs_new:Nn \um_map_chars_greek:nn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_map_chars_greek:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {25} {##1} {#2} {greek}
\um_map_char_single:nnn {##1} {#2} {varepsilon}
\um_map_char_single:nnn {##1} {#2} {vartheta}
@@ -1117,73 +1155,95 @@
\um_map_char_single:nnn {##1} {#2} {varphi}
\um_map_char_single:nnn {##1} {#2} {varrho}
\um_map_char_single:nnn {##1} {#2} {varpi}
- }
-}
-\cs_new:Nn \um_map_chars_Greek:nn {
- \clist_map_inline:nn {#1} {
+ }
+ }
+\cs_new:Nn \um_map_chars_Greek:nn
+ {
+ \clist_map_inline:nn {#1}
+ {
\um_map_chars_range:nnnn {25} {##1} {#2} {Greek}
\um_map_char_single:nnn {##1} {#2} {varTheta}
- }
-}
-\cs_new:Nn \um_map_chars_numbers:nn {
+ }
+ }
+\cs_new:Nn \um_map_chars_numbers:nn
+ {
\um_map_chars_range:nnnn {10} {#1} {#2} {num}
-}
-\cs_new:Npn \um_set_mathalphabet_char:Ncc {
+ }
+\cs_new:Npn \um_set_mathalphabet_char:Ncc
+ {
\exp_args:NNcc \um_set_mathalphabet_char:Nnn
-}
-\cs_new:Nn \um_mathmap_noparse:Nnn {
- \clist_map_inline:nn {#2} {
- \tl_put_right:cx {um_switchto_\cs_to_str:N #1:} {
+ }
+\cs_new:Nn \um_mathmap_noparse:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
+ \tl_put_right:cx {um_switchto_\cs_to_str:N #1:}
+ {
\um_set_mathcode:nnnn{##1}{\mathalpha}{\um_symfont_tl}{#3}
- }
- }
-}
-\cs_new:Nn \um_mathmap_parse:Nnn {
- \clist_if_in:NnT \l_um_char_num_range_clist {#3} {
+ }
+ }
+ }
+\cs_new:Nn \um_mathmap_parse:Nnn
+ {
+ \clist_if_in:NnT \l_um_char_num_range_clist {#3}
+ {
\um_mathmap_noparse:Nnn {#1}{#2}{#3}
- }
-}
-\cs_new:Npn \um_set_mathalphabet_char:Nnnn #1#2#3#4 {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_char:Nnnn
+ {
\um_set_mathalphabet_char:Ncc #1 { \um_to_usv:nn {#2} {#4} }
{ \um_to_usv:nn {#3} {#4} }
-}
-\cs_new:Npn \um_set_mathalph_range:nNnn #1#2#3#4 {
+ }
+\cs_new:Nn \um_set_mathalph_range:nNnn
+ {
\int_step_inline:nnnn {0}{1}{#1-1}
{ \um_set_mathalphabet_char:Nnn {#2} { ##1 + #3 } { ##1 + #4 } }
-}
+ }
\cs_generate_variant:Nn \um_set_mathalph_range:nNnn {nNcc}
-\cs_new:Npn \um_set_mathalph_range:nNnnn #1#2#3#4#5 {
+\cs_new:Nn \um_set_mathalph_range:nNnnn
+ {
\um_set_mathalph_range:nNcc {#1} #2 { \um_to_usv:nn {#3} {#5} }
{ \um_to_usv:nn {#4} {#5} }
-}
-\cs_new:Npn \um_set_mathalphabet_pos:Nnnn #1#2#3#4 {
- \cs_if_exist:cT { \um_to_usv:nn {#4}{#2} } {
+ }
+\cs_new:Nn \um_set_mathalphabet_pos:Nnnn
+ {
+ \cs_if_exist:cT { \um_to_usv:nn {#4}{#2} }
+ {
\clist_map_inline:nn {#3}
{ \um_set_mathalphabet_char:Nnnn #1 {##1} {#4} {#2} }
- }
-}
-\cs_new:Nn \um_set_mathalphabet_numbers:Nnn {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_numbers:Nnn
+ {
\clist_map_inline:nn {#2}
{ \um_set_mathalph_range:nNnnn {10} #1 {##1} {#3} {num} }
-}
-\cs_new:Nn \um_set_mathalphabet_Latin:Nnn {
+ }
+\cs_new:Nn \um_set_mathalphabet_Latin:Nnn
+ {
\clist_map_inline:nn {#2}
{ \um_set_mathalph_range:nNnnn {26} #1 {##1} {#3} {Latin} }
-}
-\cs_new:Nn \um_set_mathalphabet_latin:Nnn {
- \clist_map_inline:nn {#2} {
+ }
+\cs_new:Nn \um_set_mathalphabet_latin:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {26} #1 {##1} {#3} {latin}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {h}
- }
-}
-\cs_new:Nn \um_set_mathalphabet_Greek:Nnn {
- \clist_map_inline:nn {#2} {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_Greek:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {25} #1 {##1} {#3} {Greek}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varTheta}
- }
-}
-\cs_new:Nn \um_set_mathalphabet_greek:Nnn {
- \clist_map_inline:nn {#2} {
+ }
+ }
+\cs_new:Nn \um_set_mathalphabet_greek:Nnn
+ {
+ \clist_map_inline:nn {#2}
+ {
\um_set_mathalph_range:nNnnn {25} #1 {##1} {#3} {greek}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varepsilon}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {vartheta}
@@ -1191,127 +1251,172 @@
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varphi}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varrho}
\um_set_mathalphabet_char:Nnnn #1 {##1} {#3} {varpi}
- }
-}
-\cs_new:Nn \um_config_up_num:n {
+ }
+ }
+\cs_new:Nn \um_config_up_num:n
+ {
\um_map_chars_numbers:nn {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathup {up}{#1}
-}
+ }
+
\cs_new:Nn \um_config_up_Latin:n
- {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {up} {#1} }
- {
+ {
+ \bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {up} {#1} }
+ {
\bool_if:NT \g_um_upLatin_bool { \um_map_chars_Latin:nn {up,it} {#1} }
- }
- \um_set_mathalphabet_Latin:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_latin:n {
+ }
+ \um_set_mathalphabet_Latin:Nnn \mathup {up,it} {#1}
+ }
+
+\cs_new:Nn \um_config_up_latin:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_latin:nn {up} {#1} }
- {
- \bool_if:NT \g_um_uplatin_bool {
+ {
+ \bool_if:NT \g_um_uplatin_bool
+ {
\um_map_chars_latin:nn {up,it} {#1}
\um_map_single:nnn {h} {up,it} {#1}
\um_map_single:nnn {dotlessi} {up,it} {#1}
\um_map_single:nnn {dotlessj} {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_Greek:n {
+ }
+
+\cs_new:Nn \um_config_up_Greek:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_Greek:nn {up}{#1} }
- {
+ {
\bool_if:NT \g_um_upGreek_bool { \um_map_chars_Greek:nn {up,it}{#1} }
- }
+ }
\um_set_mathalphabet_Greek:Nnn \mathup {up,it}{#1}
-}
-\cs_new:Nn \um_config_up_greek:n {
+ }
+
+\cs_new:Nn \um_config_up_greek:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_greek:nn {up} {#1} }
- {
- \bool_if:NT \g_um_upgreek_bool {
+ {
+ \bool_if:NT \g_um_upgreek_bool
+ {
\um_map_chars_greek:nn {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathup {up,it} {#1}
-}
-\cs_new:Nn \um_config_up_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_up_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{up}{up}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{up,it}{up}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{up}{up}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{up,it}{up}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathup {partial} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {Nabla} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {dotlessi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathup {dotlessj} {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_Latin:n {
+ }
+\cs_new:Nn \um_config_it_Latin:n
+ {
\bool_if:NTF \g_um_literal_bool { \um_map_chars_Latin:nn {it} {#1} }
- {
+ {
\bool_if:NF \g_um_upLatin_bool { \um_map_chars_Latin:nn {up,it} {#1} }
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathit {up,it}{#1}
-}
-\cs_new:Nn \um_config_it_latin:n {
- \bool_if:NTF \g_um_literal_bool {
+ }
+
+\cs_new:Nn \um_config_it_latin:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
\um_map_chars_latin:nn {it} {#1}
\um_map_single:nnn {h}{it}{#1}
- }{
- \bool_if:NF \g_um_uplatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_uplatin_bool
+ {
\um_map_chars_latin:nn {up,it} {#1}
\um_map_single:nnn {h}{up,it}{#1}
\um_map_single:nnn {dotlessi}{up,it}{#1}
\um_map_single:nnn {dotlessj}{up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathit {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathit {dotlessi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathit {dotlessj} {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_Greek:n {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_Greek:nn {it}{#1}
- }{
+ }
+
+\cs_new:Nn \um_config_it_Greek:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
+ \um_map_chars_Greek:nn {it}{#1}
+ }
+ {
\bool_if:NF \g_um_upGreek_bool { \um_map_chars_Greek:nn {up,it}{#1} }
- }
+ }
\um_set_mathalphabet_Greek:Nnn \mathit {up,it}{#1}
-}
-\cs_new:Nn \um_config_it_greek:n {
- \bool_if:NTF \g_um_literal_bool { \um_map_chars_greek:nn {it} {#1} }
- {
+ }
+
+\cs_new:Nn \um_config_it_greek:n
+ {
+ \bool_if:NTF \g_um_literal_bool
+ {
+ \um_map_chars_greek:nn {it} {#1}
+ }
+ {
\bool_if:NF \g_um_upgreek_bool { \um_map_chars_greek:nn {it,up} {#1} }
- }
+ }
\um_set_mathalphabet_greek:Nnn \mathit {up,it} {#1}
-}
-\cs_new:Nn \um_config_it_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_it_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{it}{it}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{up,it}{it}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{it}{it}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{up,it}{it}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathit {Nabla} {up,it}{#1}
-}
-\cs_new:Nn \um_config_bb_latin:n {
+ }
+\cs_new:Nn \um_config_bb_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbb {up,it}{#1}
-}
-\cs_new:Nn \um_config_bb_Latin:n {
+ }
+
+\cs_new:Nn \um_config_bb_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbb {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {C} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {H} {up,it} {#1}
@@ -1320,25 +1425,32 @@
\um_set_mathalphabet_pos:Nnnn \mathbb {Q} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {R} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {Z} {up,it} {#1}
-}
-\cs_new:Nn \um_config_bb_num:n {
+ }
+
+\cs_new:Nn \um_config_bb_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbb {up}{#1}
-}
-\cs_new:Nn \um_config_bb_misc:n {
+ }
+
+\cs_new:Nn \um_config_bb_misc:n
+ {
\um_set_mathalphabet_pos:Nnnn \mathbb {Pi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {pi} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {Gamma} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {gamma} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbb {summation} {up} {#1}
-}
-\cs_new:Nn \um_config_bbit_misc:n {
+ }
+
+\cs_new:Nn \um_config_bbit_misc:n
+ {
\um_set_mathalphabet_pos:Nnnn \mathbbit {D} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {d} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {e} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {i} {up,it} {#1}
\um_set_mathalphabet_pos:Nnnn \mathbbit {j} {up,it} {#1}
-}
-\cs_new:Nn \um_config_scr_Latin:n {
+ }
+\cs_new:Nn \um_config_scr_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathscr {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {B}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {E}{up,it}{#1}
@@ -1348,14 +1460,17 @@
\um_set_mathalphabet_pos:Nnnn \mathscr {L}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {M}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {R}{up,it}{#1}
-}
-\cs_new:Nn \um_config_scr_latin:n {
+ }
+
+\cs_new:Nn \um_config_scr_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathscr {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {e}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {g}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathscr {o}{up,it}{#1}
-}
-\cs_new:Nn \um_config_cal_Latin:n {
+ }
+\cs_new:Nn \um_config_cal_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathcal {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {B}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {E}{up,it}{#1}
@@ -1365,495 +1480,665 @@
\um_set_mathalphabet_pos:Nnnn \mathcal {L}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {M}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathcal {R}{up,it}{#1}
-}
-\cs_new:Nn \um_config_frak_Latin:n {
+ }
+\cs_new:Nn \um_config_frak_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathfrak {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {C}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {H}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {I}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {R}{up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathfrak {Z}{up,it}{#1}
-}
-\cs_new:Nn \um_config_frak_latin:n {
+ }
+\cs_new:Nn \um_config_frak_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathfrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfup_num:n {
+ }
+\cs_new:Nn \um_config_sfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathsf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathsfup {up}{#1}
-}
-\cs_new:Nn \um_config_sfup_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfup_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {sfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfup_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfup_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {sfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfit_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfit_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_sfit_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_sfit_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {sfup,sfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_tt_num:n {
+ }
+\cs_new:Nn \um_config_tt_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathtt {up}{#1}
-}
-\cs_new:Nn \um_config_tt_Latin:n {
+ }
+\cs_new:Nn \um_config_tt_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathtt {up,it}{#1}
-}
-\cs_new:Nn \um_config_tt_latin:n {
+ }
+\cs_new:Nn \um_config_tt_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathtt {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfit_Latin:n {
- \bool_if:NF \g_um_bfupLatin_bool {
+ }
+\cs_new:Nn \um_config_bfit_Latin:n
+ {
+ \bool_if:NF \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Latin:nn {bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfupLatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_latin:n {
- \bool_if:NF \g_um_bfuplatin_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_latin:n
+ {
+ \bool_if:NF \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_latin:nn {bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfuplatin_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_Greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_Greek:n
+ {
\um_set_mathalphabet_Greek:Nnn \mathbfit {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Greek:nn {bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {it}{#1}
- }{
- \bool_if:NF \g_um_bfupGreek_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupGreek_bool
+ {
\um_map_chars_Greek:nn {bfup,bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_greek:n
+ {
\um_set_mathalphabet_greek:Nnn \mathbfit {up,it} {#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_greek:nn {bfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {it} {#1}
- }{
- \bool_if:NF \g_um_bfupgreek_bool {
+ }
+ {
+ \bool_if:NF \g_um_bfupgreek_bool
+ {
\um_map_chars_greek:nn {bfit,bfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up,it} {#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfit_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
- \um_map_single:nnn {Nabla}{bfit}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
- \um_map_single:nnn {Nabla}{bfup,bfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
- \um_map_single:nnn {partial}{bfit}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
- \um_map_single:nnn {partial}{bfup,bfit}{#1}
- }
- }
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfit_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ { \um_map_single:nnn {Nabla}{bfit}{#1} }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ { \um_map_single:nnn {Nabla}{bfup,bfit}{#1} }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ { \um_map_single:nnn {partial}{bfit}{#1} }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ { \um_map_single:nnn {partial}{bfup,bfit}{#1} }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfit {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {it}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {it}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_num:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathbfup {up}{#1}
-}
-\cs_new:Nn \um_config_bfup_Latin:n {
- \bool_if:NT \g_um_bfupLatin_bool {
+ }
+
+\cs_new:Nn \um_config_bfup_Latin:n
+ {
+ \bool_if:NT \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Latin:nn {bfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfupLatin_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupLatin_bool
+ {
\um_map_chars_Latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_latin:n {
- \bool_if:NT \g_um_bfuplatin_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_latin:n
+ {
+ \bool_if:NT \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
- }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_latin:nn {bfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfuplatin_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfuplatin_bool
+ {
\um_map_chars_latin:nn {bfup,bfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_Greek:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfup_Greek:n
+ {
\um_set_mathalphabet_Greek:Nnn \mathbfup {up,it}{#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_Greek:nn {bfup}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up}{#1}
- }{
- \bool_if:NT \g_um_bfupGreek_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupGreek_bool
+ {
\um_map_chars_Greek:nn {bfup,bfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbf {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_greek:n {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_greek:n
+ {
\um_set_mathalphabet_greek:Nnn \mathbfup {up,it} {#1}
- \bool_if:NTF \g_um_bfliteral_bool {
+ \bool_if:NTF \g_um_bfliteral_bool
+ {
\um_map_chars_greek:nn {bfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up} {#1}
- }{
- \bool_if:NT \g_um_bfupgreek_bool {
+ }
+ {
+ \bool_if:NT \g_um_bfupgreek_bool
+ {
\um_map_chars_greek:nn {bfup,bfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbf {up,it} {#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfup_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ }
+
+\cs_new:Nn \um_config_bfup_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfup}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfup,bfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfup}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfup,bfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfup {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {Nabla} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfup {Digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbf {digamma} {up}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbf {Digamma} {up}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bffrak_Latin:n {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bffrak_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbffrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_bffrak_latin:n {
+ }
+
+\cs_new:Nn \um_config_bffrak_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbffrak {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfscr_Latin:n {
+ }
+\cs_new:Nn \um_config_bfscr_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbfscr {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfscr_latin:n {
+ }
+\cs_new:Nn \um_config_bfscr_latin:n
+ {
\um_set_mathalphabet_latin:Nnn \mathbfscr {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfcal_Latin:n {
+ }
+\cs_new:Nn \um_config_bfcal_Latin:n
+ {
\um_set_mathalphabet_Latin:Nnn \mathbfcal {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_num:n {
+ }
+\cs_new:Nn \um_config_bfsfup_num:n
+ {
\um_set_mathalphabet_numbers:Nnn \mathbfsf {up}{#1}
\um_set_mathalphabet_numbers:Nnn \mathbfsfup {up}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+\cs_new:Nn \um_config_bfsfup_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {bfsfup} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {bfsfup} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_Greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_Greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Greek:nn {bfsfup}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up}{#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_Greek:nn {bfsfup,bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Greek:Nnn \mathbfsfup {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfup_greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfup_greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_greek:nn {bfsfup} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up} {#1}
- }{
- \bool_if:NT \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NT \g_um_upsans_bool
+ {
\um_map_chars_greek:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathbfsfup {up,it} {#1}
-}
-\cs_new:Nn \um_config_bfsfup_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+\cs_new:Nn \um_config_bfsfup_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup,bfsfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfsfup}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfsfup,bfsfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfsfup {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfsfup {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up}{#1}
- }{
- \bool_if:NT \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NT \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up}{#1}
- }{
- \bool_if:NT \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NT \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Nn \um_config_bfsfit_Latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+ }
+ }
+\cs_new:Nn \um_config_bfsfit_Latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Latin:nn {bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_Latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Latin:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_latin:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_latin:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_latin:nn {bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_latin:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_latin:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_latin:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_Greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_Greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_Greek:nn {bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {it}{#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_Greek:nn {bfsfup,bfsfit}{#1}
\um_set_mathalphabet_Greek:Nnn \mathbfsf {up,it}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_Greek:Nnn \mathbfsfit {up,it}{#1}
-}
-\cs_new:Nn \um_config_bfsfit_greek:n {
- \bool_if:NTF \g_um_sfliteral_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_greek:n
+ {
+ \bool_if:NTF \g_um_sfliteral_bool
+ {
\um_map_chars_greek:nn {bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {it} {#1}
- }{
- \bool_if:NF \g_um_upsans_bool {
+ }
+ {
+ \bool_if:NF \g_um_upsans_bool
+ {
\um_map_chars_greek:nn {bfsfup,bfsfit} {#1}
\um_set_mathalphabet_greek:Nnn \mathbfsf {up,it} {#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_greek:Nnn \mathbfsfit {up,it} {#1}
-}
-\cs_new:Nn \um_config_bfsfit_misc:n {
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+
+\cs_new:Nn \um_config_bfsfit_misc:n
+ {
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfit}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_map_single:nnn {Nabla}{bfsfup,bfsfit}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_partial_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_map_single:nnn {partial}{bfsfit}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_map_single:nnn {partial}{bfsfup,bfsfit}{#1}
- }
- }
+ }
+ }
\um_set_mathalphabet_pos:Nnnn \mathbfsfit {partial} {up,it}{#1}
\um_set_mathalphabet_pos:Nnnn \mathbfsfit {Nabla} {up,it}{#1}
- \bool_if:NTF \g_um_literal_partial_bool {
+ \bool_if:NTF \g_um_literal_partial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {it}{#1}
- }{
- \bool_if:NF \g_um_uppartial_bool {
+ }
+ {
+ \bool_if:NF \g_um_uppartial_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {partial} {up,it}{#1}
- }
- }
- \bool_if:NTF \g_um_literal_Nabla_bool {
+ }
+ }
+ \bool_if:NTF \g_um_literal_Nabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {it}{#1}
- }{
- \bool_if:NF \g_um_upNabla_bool {
+ }
+ {
+ \bool_if:NF \g_um_upNabla_bool
+ {
\um_set_mathalphabet_pos:Nnnn \mathbfsf {Nabla} {up,it}{#1}
- }
- }
-}
-\cs_new:Npn \um_symbol_setup: {
- \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4 {
- \exp_not:n {\_um_sym:nnn{##1}{##2}{##3}}
- }
-}
+ }
+ }
+ }
+\cs_new:Npn \um_symbol_setup:
+ {
+ \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4
+ {
+ \exp_not:n { \_um_sym:nnn {##1} {##2} {##3} }
+ }
+ }
\CatchFileEdef \g_um_mathtable_tl {unicode-math-table.tex} {\um_symbol_setup:}
\cs_new:Nn \um_input_math_symbol_table: {\g_um_mathtable_tl}
\group_begin:
\char_set_catcode_other:N \^
- \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil {
- \tex_lowercase:D {
- \tl_rescan:nn {
+ \cs_gset:Npn \um_cs_set_eq_active_char:Nw #1 = "#2 \q_nil
+ {
+ \tex_lowercase:D
+ {
+ \tl_rescan:nn
+ {
\ExplSyntaxOn
\char_set_catcode_other:N \{
\char_set_catcode_other:N \}
\char_set_catcode_other:N \&
\char_set_catcode_other:N \%
\char_set_catcode_other:N \$
- }{
+ }
+ {
\cs_gset_eq:NN #1 ^^^^^#2
- }
- }
- }
- \cs_new:Npn \um_active_char_set:wc "#1 \q_nil #2 {
- \tex_lowercase:D {
+ }
+ }
+ }
+ \cs_new:Npn \um_active_char_set:wc "#1 \q_nil #2
+ {
+ \tex_lowercase:D
+ {
\tl_rescan:nn { \ExplSyntaxOn }
{ \cs_gset_protected_nopar:Npx ^^^^^#1 { \exp_not:c {#2} } }
- }
- }
+ }
+ }
\group_end:
\AtBeginDocument{\um_define_math_chars:}
-\cs_new:Nn \um_define_math_chars: {
+\cs_new:Nn \um_define_math_chars:
+ {
\group_begin:
\char_set_catcode_math_superscript:N \^
- \cs_set:Npn \_um_sym:nnn ##1##2##3 {
+ \cs_set:Npn \_um_sym:nnn ##1##2##3
+ {
\bool_if:nF { \cs_if_eq_p:NN ##3 \mathaccent ||
\cs_if_eq_p:NN ##3 \mathopen ||
\cs_if_eq_p:NN ##3 \mathclose ||
\cs_if_eq_p:NN ##3 \mathover ||
\cs_if_eq_p:NN ##3 \mathunder ||
- \cs_if_eq_p:NN ##3 \mathbotaccent } {
+ \cs_if_eq_p:NN ##3 \mathbotaccent }
+ {
\um_cs_set_eq_active_char:Nw ##2 = ##1 \q_nil \ignorespaces
}
- }
+ }
\char_set_catcode_other:N \#
\um_input_math_symbol_table:
\group_end:
-}
+ }
\group_begin:
\lccode`\*=`\\
\char_set_catcode_escape:N \|
\char_set_catcode_other:N \\
- |lowercase{
- |AtBeginDocument{
+ |lowercase
+ {
+ |AtBeginDocument
+ {
|let|backslash=*
- }
- }
+ }
+ }
|group_end:
\AtBeginDocument { \um_load_lm_if_necessary: }
\cs_new:Nn \um_load_lm_if_necessary:
@@ -1865,21 +2150,27 @@
}
}
\cs_new:Nn \um_arg_i_before_egroup:n {#1\egroup}
-\cs_new:Nn \um_superscript:n {
+\cs_new:Nn \um_superscript:n
+ {
^\bgroup #1
\peek_meaning_remove:NTF ^ \um_arg_i_before_egroup:n \egroup
-}
+ }
\muskip_new:N \g_um_primekern_muskip
\muskip_gset:Nn \g_um_primekern_muskip { -\thinmuskip/2 }% arbitrary
\int_new:N \l_um_primecount_int
-\cs_new:Nn \um_nprimes:Nn {
- \um_superscript:n {
+\cs_new:Nn \um_nprimes:Nn
+ {
+ \um_superscript:n
+ {
#1
\prg_replicate:nn {#2-1} { \mskip \g_um_primekern_muskip #1 }
- }
-}
-\cs_new:Nn \um_nprimes_select:nn {
- \int_case:nnn {#2}{
+ }
+ }
+
+\cs_new:Nn \um_nprimes_select:nn
+ {
+ \int_case:nnn {#2}
+ {
{1} { \um_superscript:n {#1} }
{2} {
\um_glyph_if_exist:nTF {"2033}
@@ -1896,12 +2187,15 @@
{ \um_superscript:n {\um_prime_quad_mchar} }
{ \um_nprimes:Nn #1 {#2} }
}
- }{
+ }
+ {
\um_nprimes:Nn #1 {#2}
- }
-}
-\cs_new:Nn \um_nbackprimes_select:nn {
- \int_case:nnn {#2}{
+ }
+ }
+\cs_new:Nn \um_nbackprimes_select:nn
+ {
+ \int_case:nnn {#2}
+ {
{1} { \um_superscript:n {#1} }
{2} {
\um_glyph_if_exist:nTF {"2036}
@@ -1913,157 +2207,201 @@
{ \um_superscript:n {\um_backprime_triple_mchar} }
{ \um_nprimes:Nn #1 {#2} }
}
- }{
+ }
+ {
\um_nprimes:Nn #1 {#2}
- }
-}
-\cs_new:Npn \um_scan_prime: {
+ }
+ }
+\cs_new:Npn \um_scan_prime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_zero:N \l_um_primecount_int
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_dprime: {
+ }
+\cs_new:Npn \um_scan_dprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {1}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_trprime: {
+ }
+\cs_new:Npn \um_scan_trprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_qprime: {
+ }
+\cs_new:Npn \um_scan_qprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_prime: {
+ }
+\cs_new:Npn \um_scan_sup_prime:
+ {
\int_zero:N \l_um_primecount_int
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_dprime: {
+ }
+\cs_new:Npn \um_scan_sup_dprime:
+ {
\int_set:Nn \l_um_primecount_int {1}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_trprime: {
+ }
+\cs_new:Npn \um_scan_sup_trprime:
+ {
\int_set:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_qprime: {
+ }
+\cs_new:Npn \um_scan_sup_qprime:
+ {
\int_set:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N \um_prime_single_mchar
-}
-\cs_new:Nn \um_scanprime_collect:N {
+ }
+\cs_new:Nn \um_scanprime_collect:N
+ {
\int_incr:N \l_um_primecount_int
- \peek_meaning_remove:NTF ' {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_prime: {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2032 {
- \um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_dprime: {
+ \peek_meaning_remove:NTF '
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF \um_scan_prime:
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF ^^^^2032
+ { \um_scanprime_collect:N #1 }
+ {
+ \peek_meaning_remove:NTF \um_scan_dprime:
+ {
\int_incr:N \l_um_primecount_int
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2033 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2033
+ {
\int_incr:N \l_um_primecount_int
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_trprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_trprime:
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2034 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2034
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_qprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_qprime:
+ {
\int_add:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2057 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2057
+ {
\int_add:Nn \l_um_primecount_int {3}
\um_scanprime_collect:N #1
- }{
+ }
+ {
\um_nprimes_select:nn {#1} {\l_um_primecount_int}
- }
- }
- }
- }
- }
- }
- }
- }
- }
-}
-\cs_new:Npn \um_scan_backprime: {
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+\cs_new:Npn \um_scan_backprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_zero:N \l_um_primecount_int
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_backdprime: {
+ }
+\cs_new:Npn \um_scan_backdprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {1}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_backtrprime: {
+ }
+\cs_new:Npn \um_scan_backtrprime:
+ {
\cs_set_eq:NN \um_superscript:n \use:n
\int_set:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backprime: {
+ }
+\cs_new:Npn \um_scan_sup_backprime:
+ {
\int_zero:N \l_um_primecount_int
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backdprime: {
+ }
+\cs_new:Npn \um_scan_sup_backdprime:
+ {
\int_set:Nn \l_um_primecount_int {1}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Npn \um_scan_sup_backtrprime: {
+ }
+\cs_new:Npn \um_scan_sup_backtrprime:
+ {
\int_set:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N \um_backprime_single_mchar
-}
-\cs_new:Nn \um_scanbackprime_collect:N {
+ }
+\cs_new:Nn \um_scanbackprime_collect:N
+ {
\int_incr:N \l_um_primecount_int
- \peek_meaning_remove:NTF ` {
+ \peek_meaning_remove:NTF `
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backprime:
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2035 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2035
+ {
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backdprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backdprime:
+ {
\int_incr:N \l_um_primecount_int
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2036 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2036
+ {
\int_incr:N \l_um_primecount_int
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF \um_scan_backtrprime: {
+ }
+ {
+ \peek_meaning_remove:NTF \um_scan_backtrprime:
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N #1
- }{
- \peek_meaning_remove:NTF ^^^^2037 {
+ }
+ {
+ \peek_meaning_remove:NTF ^^^^2037
+ {
\int_add:Nn \l_um_primecount_int {2}
\um_scanbackprime_collect:N #1
- }{
+ }
+ {
\um_nbackprimes_select:nn {#1} {\l_um_primecount_int}
- }
- }
- }
- }
- }
- }
- }
-}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
\AtBeginDocument{\um_define_prime_commands: \um_define_prime_chars:}
-\cs_new:Nn \um_define_prime_commands: {
+\cs_new:Nn \um_define_prime_commands:
+ {
\cs_set_eq:NN \prime \um_prime_single_mchar
\cs_set_eq:NN \dprime \um_prime_double_mchar
\cs_set_eq:NN \trprime \um_prime_triple_mchar
@@ -2071,7 +2409,7 @@
\cs_set_eq:NN \backprime \um_backprime_single_mchar
\cs_set_eq:NN \backdprime \um_backprime_double_mchar
\cs_set_eq:NN \backtrprime \um_backprime_triple_mchar
-}
+ }
\group_begin:
\char_set_catcode_active:N \'
\char_set_catcode_active:N \`
@@ -2082,7 +2420,8 @@
\char_set_catcode_active:n {"2035}
\char_set_catcode_active:n {"2036}
\char_set_catcode_active:n {"2037}
- \cs_gset:Nn \um_define_prime_chars: {
+ \cs_gset:Nn \um_define_prime_chars:
+ {
\cs_set_eq:NN ' \um_scan_sup_prime:
\cs_set_eq:NN ^^^^2032 \um_scan_sup_prime:
\cs_set_eq:NN ^^^^2033 \um_scan_sup_dprime:
@@ -2092,70 +2431,76 @@
\cs_set_eq:NN ^^^^2035 \um_scan_sup_backprime:
\cs_set_eq:NN ^^^^2036 \um_scan_sup_backdprime:
\cs_set_eq:NN ^^^^2037 \um_scan_sup_backtrprime:
- }
+ }
\group_end:
\AtBeginDocument{\um_redefine_radical:}
\cs_new:Nn \um_redefine_radical:
{
- \@ifpackageloaded { amsmath } { } {
- \cs_set_nopar:Npn \r@@t ##1 ##2 {
- \hbox_set:Nn \l_tmpa_box {
+ \@ifpackageloaded { amsmath } { }
+ {
+ \cs_set_nopar:Npn \r@@t ##1 ##2
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
##1
\sqrtsign { ##2 }
\c_math_toggle_token
- }
- \um_mathstyle_scale:Nnn ##1 { \kern } {
- \fontdimen 63 \l_um_font
- }
- \box_move_up:nn {
+ }
+ \um_mathstyle_scale:Nnn ##1 { \kern }
+ { \fontdimen 63 \l_um_font }
+ \box_move_up:nn
+ {
(\box_ht:N \l_tmpa_box - \box_dp:N \l_tmpa_box)
* \number \fontdimen 65 \l_um_font / 100
- } {
- \box_use:N \rootbox
- }
- \um_mathstyle_scale:Nnn ##1 { \kern } {
- \fontdimen 64 \l_um_font
- }
+ }
+ { \box_use:N \rootbox }
+ \um_mathstyle_scale:Nnn ##1 { \kern }
+ { \fontdimen 64 \l_um_font }
\box_use_clear:N \l_tmpa_box
- }
- }
+ }
+ }
}
-\cs_new:Nn \um_fontdimen_to_percent:nn {
+\cs_new:Nn \um_fontdimen_to_percent:nn
+ {
\strip@pt\dimexpr\fontdimen#1#2*65536/100\relax
-}
+ }
\cs_new:Nn \um_fontdimen_to_scale:nn
- {
- \um_fontdimen_to_percent:nn {#1} {#2} \dimexpr \f@size pt\relax
- }
-\cs_new:Nn \um_mathstyle_scale:Nnn {
+ {
+ \um_fontdimen_to_percent:nn {#1} {#2} \dimexpr \f@size pt\relax
+ }
+\cs_new:Nn \um_mathstyle_scale:Nnn
+ {
\ifx#1\scriptstyle
- #2\um_fontdimen_to_percent:nn{10}\l_um_font#3
+ #2 \um_fontdimen_to_percent:nn {10} \l_um_font #3
\else
\ifx#1\scriptscriptstyle
- #2\um_fontdimen_to_percent:nn{11}\l_um_font#3
+ #2 \um_fontdimen_to_percent:nn {11} \l_um_font #3
\else
- #2#3
+ #2 #3
\fi
\fi
-}
+ }
\prop_new:N \g_um_supers_prop
\prop_new:N \g_um_subs_prop
\group_begin:
-\cs_new:Nn \um_setup_active_superscript:nn {
+\cs_new:Nn \um_setup_active_superscript:nn
+ {
\prop_gput:Nxn \g_um_supers_prop {\meaning #1} {#2}
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \scantokens{
- \cs_gset:Npn #1 {
+ \scantokens
+ {
+ \cs_gset:Npn #1
+ {
\tl_set:Nn \l_um_ss_chain_tl {#2}
\cs_set_eq:NN \um_sub_or_super:n \sp
\tl_set:Nn \l_um_tmpa_tl {supers}
\um_scan_sscript:
- }
- }
-}
+ }
+ }
+ }
\um_setup_active_superscript:nn {^^^^2070} {0}
\um_setup_active_superscript:nn {^^^^00b9} {1}
\um_setup_active_superscript:nn {^^^^00b2} {2}
@@ -2173,19 +2518,22 @@
\um_setup_active_superscript:nn {^^^^207e} {)}
\um_setup_active_superscript:nn {^^^^2071} {i}
\um_setup_active_superscript:nn {^^^^207f} {n}
-\cs_new:Nn \um_setup_active_subscript:nn {
+\cs_new:Nn \um_setup_active_subscript:nn
+ {
\prop_gput:Nxn \g_um_subs_prop {\meaning #1} {#2}
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \scantokens{
- \cs_gset:Npn #1 {
+ \scantokens
+ {
+ \cs_gset:Npn #1
+ {
\tl_set:Nn \l_um_ss_chain_tl {#2}
\cs_set_eq:NN \um_sub_or_super:n \sb
\tl_set:Nn \l_um_tmpa_tl {subs}
\um_scan_sscript:
- }
- }
-}
+ }
+ }
+ }
\um_setup_active_subscript:nn {^^^^2080} {0}
\um_setup_active_subscript:nn {^^^^2081} {1}
\um_setup_active_subscript:nn {^^^^2082} {2}
@@ -2215,30 +2563,37 @@
\um_setup_active_subscript:nn {^^^^1d69} {\phi}
\um_setup_active_subscript:nn {^^^^1d6a} {\chi}
\group_end:
-\cs_new:Npn \um_scan_sscript: {
- \um_scan_sscript:TF {
+\cs_new:Npn \um_scan_sscript:
+ {
+ \um_scan_sscript:TF
+ {
\um_scan_sscript:
- }{
+ }
+ {
\um_sub_or_super:n {\l_um_ss_chain_tl}
- }
-}
-\cs_new:Npn \um_scan_sscript:TF #1#2 {
+ }
+ }
+\cs_new:Npn \um_scan_sscript:TF #1#2
+ {
\tl_set:Nx \__peek_true_aux:w { \exp_not:n{ #1 } }
\tl_set_eq:NN \__peek_true:w \__peek_true_remove:w
\tl_set:Nx \__peek_false:w { \exp_not:n { \group_align_safe_end: #2 } }
\group_align_safe_begin:
\peek_after:Nw \um_peek_execute_branches_ss:
-}
-\cs_new:Npn \um_peek_execute_branches_ss: {
- \bool_if:nTF {
+ }
+\cs_new:Npn \um_peek_execute_branches_ss:
+ {
+ \bool_if:nTF
+ {
\token_if_eq_catcode_p:NN \l_peek_token \c_group_begin_token ||
\token_if_eq_catcode_p:NN \l_peek_token \c_group_end_token ||
\token_if_eq_meaning_p:NN \l_peek_token \c_space_token
- }
- { \__peek_false:w }
- { \um_peek_execute_branches_ss_aux: }
-}
-\cs_new:Npn \um_peek_execute_branches_ss_aux: {
+ }
+ { \__peek_false:w }
+ { \um_peek_execute_branches_ss_aux: }
+ }
+\cs_new:Npn \um_peek_execute_branches_ss_aux:
+ {
\prop_if_in:cxTF
{g_um_\l_um_tmpa_tl _prop} {\meaning\l_peek_token}
{
@@ -2248,21 +2603,26 @@
\__peek_true:w
}
{ \__peek_false:w }
-}
-\cs_new:Npn \um_define_active_frac:Nw #1 #2/#3 {
+ }
+\cs_new:Npn \um_define_active_frac:Nw #1 #2/#3
+ {
\char_set_catcode_active:N #1
\char_gmake_mathactive:N #1
- \tl_rescan:nn {
+ \tl_rescan:nn
+ {
\catcode`\_=11\relax
\catcode`\:=11\relax
- }{
- \cs_gset:Npx #1 {
+ }
+ {
+ \cs_gset:Npx #1
+ {
\bool_if:NTF \l_um_smallfrac_bool {\exp_not:N\tfrac} {\exp_not:N\frac}
{#2} {#3}
- }
- }
-}
-\cs_new:Npn \um_setup_active_frac: {
+ }
+ }
+ }
+\cs_new:Npn \um_setup_active_frac:
+ {
\group_begin:
\um_define_active_frac:Nw ^^^^2189 0/3
\um_define_active_frac:Nw ^^^^2152 1/{10}
@@ -2284,7 +2644,7 @@
\um_define_active_frac:Nw ^^^^215a 5/6
\um_define_active_frac:Nw ^^^^215e 7/8
\group_end:
-}
+ }
\um_setup_active_frac:
\def\to{\rightarrow}
\def\le{\leq}
@@ -2309,73 +2669,91 @@
\def\backepsilon{\upbackepsilon}
\def\eth{\matheth}
\def\smallint{{\textstyle\int}\limits}
-\@ifpackageloaded{amsmath}{
+\@ifpackageloaded{amsmath}
+ {
% define their own colon, perhaps I should just steal it. (It does look much better.)
-}{
- \cs_set_protected:Npn \colon {
+ }
+ {
+ \cs_set_protected:Npn \colon
+ {
\bool_if:NTF \g_um_literal_colon_bool {:} { \mathpunct{:} }
- }
-}
+ }
+ }
\def\mathrm{\mathup}
\let\mathfence\mathord
\def\digamma{\updigamma}
\def\Digamma{\upDigamma}
\def\operator@font{\um_switchto_mathup:}
-\cs_new_protected_nopar:Npn \um_check_and_fix:NNnnnn #1 #2 #3 #4 #5 #6 {
- \cs_if_exist:NT #1 {
- \token_if_macro:NTF #1 {
+\cs_new_protected_nopar:Nn \um_check_and_fix:NNnnnn
+ {
+ \cs_if_exist:NT #1
+ {
+ \token_if_macro:NTF #1
+ {
\group_begin:
#2 \um_tmpa:w #3 { #4 }
- \cs_if_eq:NNTF #1 \um_tmpa:w {
+ \cs_if_eq:NNTF #1 \um_tmpa:w
+ {
\msg_info:nnx { unicode-math } { patch-macro }
{ \token_to_str:N #1 }
\group_end:
#2 #1 #3
{ #6 }
- } {
+ }
+ {
\msg_warning:nnxxx { unicode-math } { wrong-meaning }
{ \token_to_str:N #1 } { \token_to_meaning:N #1 }
{ \token_to_meaning:N \um_tmpa:w }
\group_end:
- }
- } {
+ }
+ }
+ {
\msg_warning:nnx { unicode-math } { macro-expected }
{ \token_to_str:N #1 }
- }
- }
-}
-\cs_new_protected_nopar:Npn \um_check_and_fix:NNnnn #1 #2 #3 #4 #5 {
+ }
+ }
+ }
+\cs_new_protected_nopar:Nn \um_check_and_fix:NNnnn
+ {
\um_check_and_fix:NNnnnn #1 #2 { #3 } { #4 } { #5 } { #5 }
-}
-\cs_new_protected_nopar:Npn \um_check_and_fix_luatex:NNnnn #1 #2 #3 #4 #5 {
- \luatex_if_engine:T {
+ }
+\cs_new_protected_nopar:Nn \um_check_and_fix_luatex:NNnnn
+ {
+ \luatex_if_engine:T
+ {
\um_check_and_fix:NNnnn #1 #2 { #3 } { #4 } { #5 }
- }
-}
+ }
+ }
\cs_generate_variant:Nn \um_check_and_fix_luatex:NNnnn { c }
-\AtEndOfPackageFile * {url} {
+\AtEndOfPackageFile * {url}
+ {
\tl_put_left:Nn \Url@FormatString { \um_switchto_mathup: }
- \tl_put_right:Nn \UrlSpecials {
+ \tl_put_right:Nn \UrlSpecials
+ {
\do\`{\mathchar`\`}
\do\'{\mathchar`\'}
\do\${\mathchar`\$}
\do\&{\mathchar`\&}
- }
-}
-\AtEndOfPackageFile * {amsmath} {
- \tl_remove_once:Nn \@begindocumenthook {
+ }
+ }
+\AtEndOfPackageFile * {amsmath}
+ {
+ \tl_remove_once:Nn \@begindocumenthook
+ {
\mathchardef\std@minus\mathcode`\-\relax
\mathchardef\std@equal\mathcode`\=\relax
- }
+ }
\def\std@minus{\Umathcharnum\Umathcodenum`\-\relax}
\def\std@equal{\Umathcharnum\Umathcodenum`\=\relax}
\cs_set:Npn \@cdots {\mathinner{\cdots}}
\cs_set_eq:NN \dotsb@ \cdots
- \def \resetMathstrut@ {%
+ \def \resetMathstrut@
+ {%
\setbox\z@\hbox{$($}%)
\ht\Mathstrutbox@\ht\z@ \dp\Mathstrutbox@\dp\z@
- }
- \um_check_and_fix:NNnnn \subarray \cs_set:Npn { #1 } {
+ }
+ \um_check_and_fix:NNnnn \subarray \cs_set:Npn { #1 }
+ {
\vcenter
\bgroup
\Let@
@@ -2391,16 +2769,18 @@
$ \m@th \scriptstyle ## $
\hfil
\crcr
- } {
+ }
+ {
\vcenter
\c_group_begin_token
\Let@
\restore@math@cr
\default@tag
- \skip_set:Nn \baselineskip {
+ \skip_set:Nn \baselineskip
+ {
\um_stack_num_up:N \scriptstyle
+ \um_stack_denom_down:N \scriptstyle
- }
+ }
\lineskip \um_stack_vgap:N \scriptstyle
\lineskiplimit \lineskip
\ialign
@@ -2413,39 +2793,47 @@
\c_math_toggle_token
\hfil
\crcr
- }
- \um_check_and_fix_luatex:NNnnn \plainroot@ \cs_set_nopar:Npn { #1 \of #2 } {
- \setbox \rootbox \hbox {
+ }
+ \um_check_and_fix_luatex:NNnnn \plainroot@ \cs_set_nopar:Npn { #1 \of #2 }
+ {
+ \setbox \rootbox \hbox
+ {
$ \m@th \scriptscriptstyle { #1 } $
- }
+ }
\mathchoice
{ \r@@t \displaystyle { #2 } }
{ \r@@t \textstyle { #2 } }~
{ \r@@t \scriptstyle { #2 } }
{ \r@@t \scriptscriptstyle { #2 } }
\egroup
- } {
- \bool_if:nTF {
+ }
+ {
+ \bool_if:nTF
+ {
\int_compare_p:nNn { \uproot@ } = { \c_zero }
&& \int_compare_p:nNn { \leftroot@ } = { \c_zero }
- } {
+ }
+ {
\luatexUroot \l_um_radical_sqrt_tl { #1 } { #2 }
- } {
- \hbox_set:Nn \rootbox {
+ }
+ {
+ \hbox_set:Nn \rootbox
+ {
\c_math_toggle_token
\m@th
\scriptscriptstyle { #1 }
\c_math_toggle_token
- }
+ }
\mathchoice
{ \r@@t \displaystyle { #2 } }
{ \r@@t \textstyle { #2 } }
{ \r@@t \scriptstyle { #2 } }
{ \r@@t \scriptscriptstyle { #2 } }
- }
+ }
\c_group_end_token
- }
- \um_check_and_fix:NNnnnn \r@@t \cs_set_nopar:Npn { #1 #2 } {
+ }
+ \um_check_and_fix:NNnnnn \r@@t \cs_set_nopar:Npn { #1 #2 }
+ {
\setboxz@h { $ \m@th #1 \sqrtsign { #2 } $ }
\dimen@ \ht\z@
\advance \dimen@ -\dp\z@
@@ -2457,63 +2845,76 @@
\mkern -10mu
\mkern \leftroot@ mu
\boxz@
- } {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
#1
\mskip \uproot@ mu
\c_math_toggle_token
- }
- \luatexUroot \l_um_radical_sqrt_tl {
- \box_move_up:nn { \box_wd:N \l_tmpa_box } {
- \hbox:n {
+ }
+ \luatexUroot \l_um_radical_sqrt_tl
+ {
+ \box_move_up:nn { \box_wd:N \l_tmpa_box }
+ {
+ \hbox:n
+ {
\c_math_toggle_token
\m@th
\mkern -\leftroot@ mu
\box_use:N \rootbox
\mkern \leftroot@ mu
\c_math_toggle_token
- }
- }
- } {
- #2
- }
- } {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ }
+ }
+ { #2 }
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\c_math_toggle_token
\m@th
#1
\sqrtsign { #2 }
\c_math_toggle_token
- }
- \hbox_set:Nn \l_tmpb_box {
+ }
+ \hbox_set:Nn \l_tmpb_box
+ {
\c_math_toggle_token
\m@th
#1
\mskip \uproot@ mu
\c_math_toggle_token
- }
+ }
\mkern -\leftroot@ mu
- \um_mathstyle_scale:Nnn #1 { \kern } {
+ \um_mathstyle_scale:Nnn #1 { \kern }
+ {
\fontdimen 63 \l_um_font
- }
- \box_move_up:nn {
+ }
+ \box_move_up:nn
+ {
\box_wd:N \l_tmpb_box
+ (\box_ht:N \l_tmpa_box - \box_dp:N \l_tmpa_box)
* \number \fontdimen 65 \l_um_font / 100
- } {
+ }
+ {
\box_use:N \rootbox
- }
- \um_mathstyle_scale:Nnn #1 { \kern } {
+ }
+ \um_mathstyle_scale:Nnn #1 { \kern }
+ {
\fontdimen 64 \l_um_font
- }
+ }
\mkern \leftroot@ mu
\box_use_clear:N \l_tmpa_box
- }
-}
-\AtEndOfPackageFile * {amsopn} {
- \cs_set:Npn \newmcodes@ {
+ }
+ }
+\AtEndOfPackageFile * {amsopn}
+ {
+ \cs_set:Npn \newmcodes@
+ {
\mathcode`\'39\scan_stop:
\mathcode`\*42\scan_stop:
\mathcode`\."613A\scan_stop:
@@ -2523,72 +2924,92 @@
\mathcode`\-45\scan_stop:
\mathcode`\/47\scan_stop:
\mathcode`\:"603A\scan_stop:
- }
-}
+ }
+ }
\cs_set:Npn \| {\Vert}
\cs_set:Npn \mathellipsis {\mathinner{\unicodeellipsis}}
\cs_set:Npn \cdots {\mathinner{\unicodecdots}}
-\cs_new_protected_nopar:Nn \um_setup_accents: {
- \cs_gset_protected_nopar:Npx \widehat {
+\cs_new_protected_nopar:Nn \um_setup_accents:
+ {
+ \cs_gset_protected_nopar:Npx \widehat
+ {
\um_accent:nnn {} { \um_symfont_tl } { "0302 }
- }
- \cs_gset_protected_nopar:Npx \widetilde {
+ }
+ \cs_gset_protected_nopar:Npx \widetilde
+ {
\um_accent:nnn {} { \um_symfont_tl } { "0303 }
- }
- \cs_gset_protected_nopar:Npx \overleftarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overleftarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20D6 }
- }
- \cs_gset_protected_nopar:Npx \overrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overrightarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20D7 }
- }
- \cs_gset_protected_nopar:Npx \overleftrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \overleftrightarrow
+ {
\um_accent:nnn {} { \um_symfont_tl } { "20E1 }
- }
- \cs_gset_protected_nopar:Npx \wideutilde {
+ }
+ \cs_gset_protected_nopar:Npx \wideutilde
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "0330 }
- }
- \cs_gset_protected_nopar:Npx \underrightharpoondown {
+ }
+ \cs_gset_protected_nopar:Npx \underrightharpoondown
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EC }
- }
- \cs_gset_protected_nopar:Npx \underleftharpoondown {
+ }
+ \cs_gset_protected_nopar:Npx \underleftharpoondown
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20ED }
- }
- \cs_gset_protected_nopar:Npx \underleftarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underleftarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EE }
- }
- \cs_gset_protected_nopar:Npx \underrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underrightarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "20EF }
- }
- \cs_gset_protected_nopar:Npx \underleftrightarrow {
+ }
+ \cs_gset_protected_nopar:Npx \underleftrightarrow
+ {
\um_accent:nnn {bottom} { \um_symfont_tl } { "034D }
- }
-}
+ }
+ }
\cs_set_eq:NN \um_text_slash: \slash
-\cs_set_protected:Npn \slash {
+\cs_set_protected:Npn \slash
+ {
\mode_if_math:TF {\mathslash} {\um_text_slash:}
-}
+ }
\tl_new:N \l_not_token_name_tl
-\cs_new:Npn \not_newnot:N #1 {
+\cs_new:Npn \not_newnot:N #1
+ {
\tl_set:Nx \l_not_token_name_tl { \token_to_str:N #1 }
- \exp_args:Nx \tl_if_empty:nF { \tl_tail:V \l_not_token_name_tl } {
+ \exp_args:Nx \tl_if_empty:nF { \tl_tail:V \l_not_token_name_tl }
+ {
\tl_set:Nx \l_not_token_name_tl { \tl_tail:V \l_not_token_name_tl }
- }
- \cs_if_exist:cTF { n \l_not_token_name_tl } {
+ }
+ \cs_if_exist:cTF { n \l_not_token_name_tl }
+ {
\use:c { n \l_not_token_name_tl }
- } {
- \cs_if_exist:cTF { not \l_not_token_name_tl } {
+ }
+ {
+ \cs_if_exist:cTF { not \l_not_token_name_tl }
+ {
\use:c { not \l_not_token_name_tl }
- } {
+ }
+ {
\not_oldnot: #1 %\l_not_token_name_tl
- }
- }
-}
+ }
+ }
+ }
-\cs_new_protected_nopar:Nn \um_setup_negations: {
- \cs_set_eq:NN \not_oldnot: \not
- \cs_set_eq:NN \not \not_newnot:N
+\cs_set_eq:NN \not_oldnot: \not
+\cs_set_eq:NN \not \not_newnot:N
+\cs_new_protected_nopar:Nn \um_setup_negations:
+ {
\cs_gset:cpn { not= } { \neq }
\cs_gset:cpn { not< } { \nless }
\cs_gset:cpn { not> } { \ngtr }
@@ -2599,20 +3020,22 @@
\cs_gset:Npn \nge { \ngeq }
\cs_gset:Npn \ngreater { \ngtr }
\cs_gset:Npn \nforksnot { \forks }
-}
-\AtEndOfPackageFile * { mathtools } {
+ }
+\AtEndOfPackageFile * { mathtools }
+ {
\newfam \g_um_empty_fam
\um_check_and_fix:NNnnn
\MT_cramped_internal:Nn \cs_set_nopar:Npn { #1 #2 }
- {
- \sbox \z@ {
+ {
+ \sbox \z@
+ {
$
\m@th
#1
\nulldelimiterspace = \z@
\radical \z@ { #2 }
$
- }
+ }
\ifx #1 \displaystyle
\dimen@ = \fontdimen 8 \textfont 3
\advance \dimen@ .25 \fontdimen 5 \textfont 2
@@ -2632,9 +3055,10 @@
\advance \dimen@ -\ht\z@
\ht\z@ = -\dimen@
\box\z@
- }
- {
- \hbox_set:Nn \l_tmpa_box {
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ {
\color@setgroup
\c_math_toggle_token
\m@th
@@ -2643,45 +3067,51 @@
\XeTeXradical \g_um_empty_fam \c_zero { #2 }
\c_math_toggle_token
\color@endgroup
- }
- \box_set_ht:Nn \l_tmpa_box {
+ }
+ \box_set_ht:Nn \l_tmpa_box
+ {
\box_ht:N \l_tmpa_box
- \um_radical_vgap:N #1
- }
+ }
\box_use_clear:N \l_tmpa_box
- }
-\AtEndOfPackageFile * { mathtools } {
- \let\MToverbracket =\overbracket
- \let\MTunderbracket=\underbracket
+ }
+\AtEndOfPackageFile * { mathtools }
+ {
+ \cs_set_eq:NN \MToverbracket \overbracket
+ \cs_set_eq:NN \MTunderbracket \underbracket
- \AtBeginDocument {
- \msg_warning:nn { unicode-math } { mathtools-overbracket }
+ \AtBeginDocument
+ {
+ \msg_warning:nn { unicode-math } { mathtools-overbracket }
-\def\downbracketfill#1#2{%
+\def\downbracketfill#1#2
+ {%
\edef\l_MT_bracketheight_fdim{.27ex}%
\downbracketend{#1}{#2}
\leaders \vrule \@height #1 \@depth \z@ \hfill
\downbracketend{#1}{#2}%
- }
-\def\upbracketfill#1#2{%
+ }
+\def\upbracketfill#1#2
+ {%
\edef\l_MT_bracketheight_fdim{.27ex}%
\upbracketend{#1}{#2}
\leaders \vrule \@height \z@ \@depth #1 \hfill
\upbracketend{#1}{#2}%
- }
+ }
\let\Uoverbracket =\overbracket
\let\Uunderbracket=\underbracket
\let\overbracket =\MToverbracket
\let\underbracket =\MTunderbracket
- }
-}
+ }
+ }
\msg_warning:nn { unicode-math } { mathtools-colon }
\NewDocumentCommand \dblcolon { } { \Colon }
\NewDocumentCommand \coloneqq { } { \coloneq }
\NewDocumentCommand \Coloneqq { } { \Coloneq }
\NewDocumentCommand \eqqcolon { } { \eqcolon }
-}
-\AtEndOfPackageFile * { colonequals } {
+ }
+\AtEndOfPackageFile * { colonequals }
+ {
\msg_warning:nn { unicode-math } { colonequals }
\RenewDocumentCommand \ratio { } { \mathratio }
\RenewDocumentCommand \coloncolon { } { \Colon }
@@ -2689,5 +3119,5 @@
\RenewDocumentCommand \colonequals { } { \coloneq }
\RenewDocumentCommand \equalscolon { } { \eqcolon }
\RenewDocumentCommand \coloncolonequals { } { \Coloneq }
-}
+ }
\ExplSyntaxOff
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua
deleted file mode 100644
index 66c830792bc..00000000000
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.lua
+++ /dev/null
@@ -1,57 +0,0 @@
---
--- This is file `unicode-math.lua',
--- generated with the docstrip utility.
---
--- The original source files were:
---
--- unicode-math.dtx (with options: `lua')
--- Copyright 2006-2013 Will Robertson <will.robertson@latex-project.org>
--- Copyright 2010-2013 Philipp Stephani <st_philipp@yahoo.de>
--- Copyright 2012-2013 Khaled Hosny <khaledhosny@eglug.org>
---
--- This package is free software and may be redistributed and/or modified under
--- the conditions of the LaTeX Project Public License, version 1.3c or higher
--- (your choice): <http://www.latex-project.org/lppl/>.
---
--- This work is "maintained" by Will Robertson.
-local err, warn, info, log = luatexbase.provides_module({
- name = "unicode-math",
- date = "2013/05/04",
- version = 0.3,
- description = "Unicode math typesetting for LuaLaTeX",
- author = "Khaled Hosny, Will Robertson, Philipp Stephani",
- licence = "LPPL v1.3+"
-})
-if luaotfload and luaotfload.module and luaotfload.module.version < 2 then
- local function set_sscale_dimens(fontdata)
- local mc = fontdata.MathConstants
- if mc then
- fontdata.parameters[10] = mc.ScriptPercentScaleDown or 70
- fontdata.parameters[11] = mc.ScriptScriptPercentScaleDown or 50
- end
- end
- luatexbase.add_to_callback("luaotfload.patch_font", set_sscale_dimens, "unicode_math.set_sscale_dimens")
- local function patch_cambria_domh(fontdata)
- local mc = fontdata.MathConstants
- if mc and fontdata.psname == "CambriaMath" then
- -- keeping backward compatibility with luaotfload v1
- local units_per_em
- local metadata = fontdata.shared and fontdata.shared.rawdata.metadata
- if metadata and metadata.units_per_em then
- units_per_em = metadata.units_per_em
- elseif fontdata.parameters.units then
- units_per_em = fontdata.parameters.units
- elseif fontdata.units then
- units_per_em = fontdata.units
- else
- units_per_em = 1000
- end
- local sz = fontdata.parameters.size or fontdata.size
- local mh = 2800 / units_per_em * sz
- if mc.DisplayOperatorMinHeight < mh then
- mc.DisplayOperatorMinHeight = mh
- end
- end
- end
- luatexbase.add_to_callback("luaotfload.patch_font", patch_cambria_domh, "cambria.domh")
-end
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
index 5071282d3dd..87163c8219e 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
@@ -17,7 +17,7 @@
%%
%% This work is "maintained" by Will Robertson.
\ProvidesPackage{unicode-math}
- [2013/05/04 v0.7e Unicode maths in XeLaTeX and LuaLaTeX]
+ [2014/06/30 v0.7f Unicode maths in XeLaTeX and LuaLaTeX]
\usepackage{ifxetex,ifluatex}
\ifxetex
\ifdim\number\XeTeXversion\XeTeXrevision in<0.9998in%
@@ -46,6 +46,23 @@
\RequirePackage{catchfile}
\RequirePackage{fix-cm} % avoid some warnings
\RequirePackage{filehook}[2011/01/03]
+\def\@DeclareMathSizes #1#2#3#4#5{%
+ \@defaultunits\dimen@ #2pt\relax\@nnil
+ \if $#3$%
+ \expandafter\let\csname S@\strip@pt\dimen@\endcsname\math@fontsfalse
+ \else
+ \@defaultunits\dimen@ii #3pt\relax\@nnil
+ \@defaultunits\@tempdima #4pt\relax\@nnil
+ \@defaultunits\@tempdimb #5pt\relax\@nnil
+ \toks@{#1}%
+ \expandafter\xdef\csname S@\strip@pt\dimen@\endcsname{%
+ \gdef\noexpand\tf@size{\strip@pt\dimen@ii}%
+ \gdef\noexpand\sf@size{\strip@pt\@tempdima}%
+ \gdef\noexpand\ssf@size{\strip@pt\@tempdimb}%
+ \the\toks@
+ }%
+ \fi
+}
\ExplSyntaxOn
\cs_generate_variant:Nn \tl_put_right:Nn {cx}
\cs_generate_variant:Nn \seq_if_in:NnTF {NV}
@@ -57,6 +74,8 @@
\cs:w #3 \exp_after:wN \cs_end:
\cs:w #4 \cs_end:
}
+\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
+\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {NNx}
\bool_new:N \l_um_ot_math_bool
\bool_new:N \l_um_init_bool
\bool_new:N \l_um_implicit_alph_bool
@@ -100,8 +119,37 @@
\cs_generate_variant:Nn \um_glyph_if_exist:nTF {c}
\cs_generate_variant:Nn \um_glyph_if_exist:nT {c}
\cs_generate_variant:Nn \um_glyph_if_exist:nF {c}
-\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
-\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {NNx}
+\cs_set:Npn \um_set_mathcode:nnnn #1#2#3#4 {
+ \Umathcode \int_eval:n {#1} =
+ \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
+}
+\cs_set:Npn \um_set_mathcode:nnn #1#2#3 {
+ \Umathcode \int_eval:n {#1} =
+ \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#1} \scan_stop:
+}
+\cs_set:Npn \um_set_mathchar:NNnn #1#2#3#4 {
+ \Umathchardef #1 =
+ \mathchar@type#2 \csname sym#3\endcsname \int_eval:n {#4} \scan_stop:
+}
+\cs_new:Nn \um_set_delcode:nnn {
+ \Udelcode#2 = \csname sym#1\endcsname #3 \scan_stop:
+}
+\cs_new:Nn \um_radical:nn {
+ \Uradical \csname sym#1\endcsname #2 \scan_stop:
+}
+\cs_new:Nn \um_delimiter:Nnn {
+ \Udelimiter \mathchar@type#1 \csname sym#2\endcsname #3 \scan_stop:
+}
+\cs_new:Nn \um_accent:nnn {
+ \Umathaccent #1~ \mathchar@type\mathaccent \use:c { sym #2 } #3 \scan_stop:
+}
+\cs_generate_variant:Nn \um_set_mathchar:NNnn {c}
+\cs_new:Nn \char_gmake_mathactive:N {
+ \global\mathcode `#1 = "8000 \scan_stop:
+}
+\cs_new:Nn \char_gmake_mathactive:n {
+ \global\mathcode #1 = "8000 \scan_stop:
+}
\DeclareDocumentCommand \unimathsetup {m}
{
\keys_set:nn {unicode-math} {#1}
@@ -325,11 +373,11 @@
}
\msg_new:nnn { unicode-math } { mathtools-overbracket } {
Using~ \token_to_str:N \overbracket\ and~
- \token_to_str:N \underbracke\ from~
+ \token_to_str:N \underbracket\ from~
`mathtools'~ package.\\
\\
Use~ \token_to_str:N \Uoverbracket\ and~
- \token_to_str:N \Uunderbracke\ for~
+ \token_to_str:N \Uunderbracket\ for~
original~ `unicode-math'~ definition.
}
\msg_new:nnn { unicode-math } { mathtools-colon } {