texlive[44940] Master/texmf-dist: unicode-math (2aug17)
commits+karl at tug.org
commits+karl at tug.org
Thu Aug 3 01:11:18 CEST 2017
Revision: 44940
http://tug.org/svn/texlive?view=revision&revision=44940
Author: karl
Date: 2017-08-03 01:11:17 +0200 (Thu, 03 Aug 2017)
Log Message:
-----------
unicode-math (2aug17)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/unicode-math/README.md
trunk/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex
trunk/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
trunk/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
trunk/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
Modified: trunk/Master/texmf-dist/doc/latex/unicode-math/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unicode-math/README.md 2017-08-02 23:11:04 UTC (rev 44939)
+++ trunk/Master/texmf-dist/doc/latex/unicode-math/README.md 2017-08-02 23:11:17 UTC (rev 44940)
@@ -81,10 +81,14 @@
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.)
Modified: trunk/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex 2017-08-02 23:11:04 UTC (rev 44939)
+++ trunk/Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex 2017-08-02 23:11:17 UTC (rev 44940)
@@ -720,7 +720,7 @@
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
Modified: trunk/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx 2017-08-02 23:11:04 UTC (rev 44939)
+++ trunk/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx 2017-08-02 23:11:17 UTC (rev 44940)
@@ -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 @@
%<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 @@
\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 @@
% \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 @@
% \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 @@
% \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,59 +3601,37 @@
}
}
% \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.
+% We do not skip spaces when scanning ahead, and we explicitly wish to
+% 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 \@@_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:
+ \peek_N_type:TF
+ {
+ \group_align_safe_begin:
+ \@@_scan_sscript_aux:nnN {#1} {#2}
+ }
+ {#2}
}
-% \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 \@@_peek_execute_branches_ss:
+\cs_new:Npn \@@_scan_sscript_aux:nnN #1#2#3
{
- \bool_lazy_any:nTF
+ \prop_get:cnNTF {g_@@_\l_@@_tmpa_tl _prop} {#3} \l_@@_tmpb_tl
{
- { \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 }
+ \tl_put_right:NV \l_@@_ss_chain_tl \l_@@_tmpb_tl
+ \group_align_safe_end:
+ #1
}
- { \__peek_false:w }
- { \@@_peek_execute_branches_ss_aux: }
+ { \group_align_safe_end: #2 #3 }
}
% \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:
- {
- \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 }
- }
-% \end{macrocode}
-%
% \subsubsection{Active fractions}
% Active fractions can be setup independently of any maths font definition;
% all it requires is a mapping from the Unicode input chars to the relevant
Modified: trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty 2017-08-02 23:11:04 UTC (rev 44939)
+++ trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty 2017-08-02 23:11:17 UTC (rev 44940)
@@ -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,35 +1599,23 @@
}
\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:
+ \peek_N_type:TF
+ {
+ \group_align_safe_begin:
+ \__um_scan_sscript_aux:nnN {#1} {#2}
+ }
+ {#2}
}
-\cs_new:Npn \__um_peek_execute_branches_ss:
+\cs_new:Npn \__um_scan_sscript_aux:nnN #1#2#3
{
- \bool_lazy_any:nTF
+ \prop_get:cnNTF {g__um_\l__um_tmpa_tl _prop} {#3} \l__um_tmpb_tl
{
- { \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 }
+ \tl_put_right:NV \l__um_ss_chain_tl \l__um_tmpb_tl
+ \group_align_safe_end:
+ #1
}
- { \__peek_false:w }
- { \__um_peek_execute_branches_ss_aux: }
+ { \group_align_safe_end: #2 #3 }
}
-\cs_new:Npn \__um_peek_execute_branches_ss_aux:
- {
- \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 }
- }
\cs_new:Npn \__um_define_active_frac:Nw #1 #2/#3
{
\char_set_catcode_active:N #1
Modified: trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty 2017-08-02 23:11:04 UTC (rev 44939)
+++ trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty 2017-08-02 23:11:17 UTC (rev 44940)
@@ -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,35 +1640,23 @@
}
\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:
+ \peek_N_type:TF
+ {
+ \group_align_safe_begin:
+ \__um_scan_sscript_aux:nnN {#1} {#2}
+ }
+ {#2}
}
-\cs_new:Npn \__um_peek_execute_branches_ss:
+\cs_new:Npn \__um_scan_sscript_aux:nnN #1#2#3
{
- \bool_lazy_any:nTF
+ \prop_get:cnNTF {g__um_\l__um_tmpa_tl _prop} {#3} \l__um_tmpb_tl
{
- { \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 }
+ \tl_put_right:NV \l__um_ss_chain_tl \l__um_tmpb_tl
+ \group_align_safe_end:
+ #1
}
- { \__peek_false:w }
- { \__um_peek_execute_branches_ss_aux: }
+ { \group_align_safe_end: #2 #3 }
}
-\cs_new:Npn \__um_peek_execute_branches_ss_aux:
- {
- \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 }
- }
\cs_new:Npn \__um_define_active_frac:Nw #1 #2/#3
{
\char_set_catcode_active:N #1
Modified: trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty 2017-08-02 23:11:04 UTC (rev 44939)
+++ trunk/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty 2017-08-02 23:11:17 UTC (rev 44940)
@@ -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%
More information about the tex-live-commits
mailing list