summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/README.md6
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdfbin385698 -> 384713 bytes
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdfbin1612020 -> 1611964 bytes
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx94
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty40
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty40
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty2
8 files changed, 63 insertions, 121 deletions
diff --git a/Master/texmf-dist/doc/latex/unicode-math/README.md b/Master/texmf-dist/doc/latex/unicode-math/README.md
index 9765072572d..d10e0bc76fc 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/README.md
+++ b/Master/texmf-dist/doc/latex/unicode-math/README.md
@@ -81,10 +81,14 @@ Please file bug reports with minimal examples:
CHANGE HISTORY
--------------
+- v0.8f (2017/08/02)
+
+ * Emergency fix (thanks Bruno) for another bug revealed by `expl3` update.
+
- v0.8e (2017/07/30)
* Add `\surd` to access the sqrt symbol.
- * Fix bug exposed by expl3 update to booleans.
+ * Fix bug exposed by `expl3` update to booleans.
* Add Deja Vu Math TeX Gyre in list of symbols.
* Add `\sime` alias for `\simeq` and `\nsimeq` for `\nsime`.
(For negations it's helpful when they have consistent naming.)
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex
index 2c232aa8dde..9f235da34a7 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex
@@ -720,7 +720,7 @@ Typewriter & Upright & Normal & \cs{mathtt} & \Y & & \Y \\
Double-struck & Upright & Normal & \cs{mathbb} & \Y & & \Y \\
& Italic & Normal & \cs{mathbbit} & \Y & & \\
Script & Upright & Normal & \cs{mathscr} & \Y & & \\
- & & Bold & \cs{matbfscr} & \Y & & \\
+ & & Bold & \cs{mathbfscr} & \Y & & \\
Fraktur & Upright & Normal & \cs{mathfrak} & \Y & & \\
& & Bold & \cs{mathbffrac} & \Y & & \\
\bottomrule
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 e393cc3b6d3..67d02229f42 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 18fbed43f19..14ba299ac1f 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/unicode-math.dtx b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
index 4513ee78eaf..1b18fe91517 100644
--- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
@@ -6,22 +6,6 @@
%<*internal>
\begingroup
\input l3docstrip.tex
-\begingroup
- \catcode`\_ = 12 %
- \long\gdef\prepareActiveModule#1{%
- \if\relax#1\relax
- \let\replaceModuleInLine\empty
- \else
- \def\replaceModuleInLine{%
- \replaceAllIn\inLine{@@@@}{!!!!!FOURAT!!!!!}%
- \replaceAllIn\inLine{__@@}{__#1}%
- \replaceAllIn\inLine{_@@}{__#1}%
- \replaceAllIn\inLine{@@}{__#1}%
- \replaceAllIn\inLine{!!!!!FOURAT!!!!!}{@@}% i.e., use @@@@ when you need literal @@ in code
- }%
- \fi
- }
-\endgroup
\keepsilent
\let\MetaPrefix\DoubleperCent
\declarepreamble\texpreamble
@@ -69,7 +53,7 @@ This work is "maintained" by Will Robertson.
%<preamble&XE>\ProvidesPackage{unicode-math-xetex}
%<preamble&LU>\ProvidesPackage{unicode-math-luatex}
%<*preamble>
- [2017/07/30 v0.8e Unicode maths in XeLaTeX and LuaLaTeX]
+ [2017/08/02 v0.8f Unicode maths in XeLaTeX and LuaLaTeX]
%</preamble>
%<*internal>
\def\DOCUMENTEND{F}
@@ -3491,9 +3475,8 @@ This work is "maintained" by Will Robertson.
\group_begin:
% \end{macrocode}
% \paragraph{Superscripts}
-% Populate a property list with superscript characters; their meaning as their
-% key, for reasons that will become apparent soon, and their replacement as
-% each key's value.
+% Populate a property list with superscript characters; themselves as their
+% key, and their replacement as each key's value.
% Then make the superscript active and bind it to the scanning function.
%
% \cs{scantokens} makes this process much simpler since we can activate the
@@ -3501,7 +3484,7 @@ This work is "maintained" by Will Robertson.
% \begin{macrocode}
\cs_new:Nn \@@_setup_active_superscript:nn
{
- \prop_gput:Non \g_@@_supers_prop {\meaning #1} {#2}
+ \prop_gput:Nnn \g_@@_supers_prop {#1} {#2}
\char_set_catcode_active:N #1
\@@_char_gmake_mathactive:N #1
\scantokens
@@ -3545,7 +3528,7 @@ This work is "maintained" by Will Robertson.
% \begin{macrocode}
\cs_new:Nn \@@_setup_active_subscript:nn
{
- \prop_gput:Non \g_@@_subs_prop {\meaning #1} {#2}
+ \prop_gput:Nnn \g_@@_subs_prop {#1} {#2}
\char_set_catcode_active:N #1
\@@_char_gmake_mathactive:N #1
\scantokens
@@ -3604,7 +3587,8 @@ This work is "maintained" by Will Robertson.
% \begin{macrocode}
\group_end:
% \end{macrocode}
-% The scanning command, evident in its purpose:
+% The scanning command, which collects a chain of subscripts or a chain
+% of superscripts and then typesets what it has collected.
% \begin{macrocode}
\cs_new:Npn \@@_scan_sscript:
{
@@ -3617,56 +3601,34 @@ This work is "maintained" by Will Robertson.
}
}
% \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 \@@_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 \@@_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.
+% bail out on encountering a space or a brace. These cases are filtered
+% using \cs{peek_N_type:TF}. Otherwise the token can be taken as an
+% \texttt{N}-type argument. Then we search for it in the appropriate
+% property list (\cs{l_@@_tmpa_tl} is |subs| or |supers|).
+% If found, add the value to the current chain of sub/superscripts.
+% Remember to put the character back in the input otherwise.
+% The \cs{group_align_safe_begin:} and \cs{group_align_safe_end:} are
+% needed in case |#3| is |&|.
% \begin{macrocode}
-\cs_new:Npn \@@_peek_execute_branches_ss:
+\cs_new:Npn \@@_scan_sscript:TF #1#2
{
- \bool_lazy_any:nTF
+ \peek_N_type:TF
{
- { \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 }
+ \group_align_safe_begin:
+ \@@_scan_sscript_aux:nnN {#1} {#2}
}
- { \__peek_false:w }
- { \@@_peek_execute_branches_ss_aux: }
+ {#2}
}
-% \end{macrocode}
-% This is the actual comparison code.
-% Because the peeking has already tokenised the next token,
-% it's too late to extract its charcode directly. Instead,
-% we look at its meaning, which remains a `character' even
-% though it is itself math-active. If the character is ever
-% made fully active, this will break our assumptions!
-%
-% If the char's meaning exists as a property list key, we
-% build up a chain of sub-/superscripts and iterate. (If not, exit and
-% typeset what we've already collected.)
-% \begin{macrocode}
-\cs_new:Npn \@@_peek_execute_branches_ss_aux:
+\cs_new:Npn \@@_scan_sscript_aux:nnN #1#2#3
{
- \prop_if_in:coTF
- {g_@@_\l_@@_tmpa_tl _prop} {\meaning\l_peek_token}
- {
- \prop_get:coN
- {g_@@_\l_@@_tmpa_tl _prop} {\meaning\l_peek_token} \l_@@_tmpb_tl
- \tl_put_right:NV \l_@@_ss_chain_tl \l_@@_tmpb_tl
- \__peek_true:w
- }
- { \__peek_false:w }
+ \prop_get:cnNTF {g_@@_\l_@@_tmpa_tl _prop} {#3} \l_@@_tmpb_tl
+ {
+ \tl_put_right:NV \l_@@_ss_chain_tl \l_@@_tmpb_tl
+ \group_align_safe_end:
+ #1
+ }
+ { \group_align_safe_end: #2 #3 }
}
% \end{macrocode}
%
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 069b1d7b397..a7ab10aee47 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
@@ -1497,7 +1497,7 @@
\group_begin:
\cs_new:Nn \__um_setup_active_superscript:nn
{
- \prop_gput:Non \g__um_supers_prop {\meaning #1} {#2}
+ \prop_gput:Nnn \g__um_supers_prop {#1} {#2}
\char_set_catcode_active:N #1
\__um_char_gmake_mathactive:N #1
\scantokens
@@ -1535,7 +1535,7 @@
\__um_setup_active_superscript:nn {^^^^02b8} {y}
\cs_new:Nn \__um_setup_active_subscript:nn
{
- \prop_gput:Non \g__um_subs_prop {\meaning #1} {#2}
+ \prop_gput:Nnn \g__um_subs_prop {#1} {#2}
\char_set_catcode_active:N #1
\__um_char_gmake_mathactive:N #1
\scantokens
@@ -1599,34 +1599,22 @@
}
\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_lazy_any:nTF
+ \peek_N_type:TF
{
- { \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 }
+ \group_align_safe_begin:
+ \__um_scan_sscript_aux:nnN {#1} {#2}
}
- { \__peek_false:w }
- { \__um_peek_execute_branches_ss_aux: }
+ {#2}
}
-\cs_new:Npn \__um_peek_execute_branches_ss_aux:
+\cs_new:Npn \__um_scan_sscript_aux:nnN #1#2#3
{
- \prop_if_in:coTF
- {g__um_\l__um_tmpa_tl _prop} {\meaning\l_peek_token}
- {
- \prop_get:coN
- {g__um_\l__um_tmpa_tl _prop} {\meaning\l_peek_token} \l__um_tmpb_tl
- \tl_put_right:NV \l__um_ss_chain_tl \l__um_tmpb_tl
- \__peek_true:w
- }
- { \__peek_false:w }
+ \prop_get:cnNTF {g__um_\l__um_tmpa_tl _prop} {#3} \l__um_tmpb_tl
+ {
+ \tl_put_right:NV \l__um_ss_chain_tl \l__um_tmpb_tl
+ \group_align_safe_end:
+ #1
+ }
+ { \group_align_safe_end: #2 #3 }
}
\cs_new:Npn \__um_define_active_frac:Nw #1 #2/#3
{
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 b95c0b88525..b055c883b9f 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
@@ -1538,7 +1538,7 @@
\group_begin:
\cs_new:Nn \__um_setup_active_superscript:nn
{
- \prop_gput:Non \g__um_supers_prop {\meaning #1} {#2}
+ \prop_gput:Nnn \g__um_supers_prop {#1} {#2}
\char_set_catcode_active:N #1
\__um_char_gmake_mathactive:N #1
\scantokens
@@ -1576,7 +1576,7 @@
\__um_setup_active_superscript:nn {^^^^02b8} {y}
\cs_new:Nn \__um_setup_active_subscript:nn
{
- \prop_gput:Non \g__um_subs_prop {\meaning #1} {#2}
+ \prop_gput:Nnn \g__um_subs_prop {#1} {#2}
\char_set_catcode_active:N #1
\__um_char_gmake_mathactive:N #1
\scantokens
@@ -1640,34 +1640,22 @@
}
\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_lazy_any:nTF
+ \peek_N_type:TF
{
- { \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 }
+ \group_align_safe_begin:
+ \__um_scan_sscript_aux:nnN {#1} {#2}
}
- { \__peek_false:w }
- { \__um_peek_execute_branches_ss_aux: }
+ {#2}
}
-\cs_new:Npn \__um_peek_execute_branches_ss_aux:
+\cs_new:Npn \__um_scan_sscript_aux:nnN #1#2#3
{
- \prop_if_in:coTF
- {g__um_\l__um_tmpa_tl _prop} {\meaning\l_peek_token}
- {
- \prop_get:coN
- {g__um_\l__um_tmpa_tl _prop} {\meaning\l_peek_token} \l__um_tmpb_tl
- \tl_put_right:NV \l__um_ss_chain_tl \l__um_tmpb_tl
- \__peek_true:w
- }
- { \__peek_false:w }
+ \prop_get:cnNTF {g__um_\l__um_tmpa_tl _prop} {#3} \l__um_tmpb_tl
+ {
+ \tl_put_right:NV \l__um_ss_chain_tl \l__um_tmpb_tl
+ \group_align_safe_end:
+ #1
+ }
+ { \group_align_safe_end: #2 #3 }
}
\cs_new:Npn \__um_define_active_frac:Nw #1 #2/#3
{
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 34cddda2e48..8b7536094e4 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
@@ -19,7 +19,7 @@
%%
%% This work is "maintained" by Will Robertson.
\ProvidesPackage{unicode-math}
- [2017/07/30 v0.8e Unicode maths in XeLaTeX and LuaLaTeX]
+ [2017/08/02 v0.8f Unicode maths in XeLaTeX and LuaLaTeX]
\usepackage{ifxetex,ifluatex}
\ifxetex
\ifdim\number\XeTeXversion\XeTeXrevision in<0.9998in%