diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/unicode-math/README.md | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/unicode-math/unicode-math-doc.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf | bin | 385698 -> 384713 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf | bin | 1612020 -> 1611964 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx | 94 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty | 40 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty | 40 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty | 2 |
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 Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf Binary files differindex 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 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% |