diff options
author | Karl Berry <karl@freefriends.org> | 2019-09-26 21:49:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-09-26 21:49:25 +0000 |
commit | 6b5aee18d53170454bf65845519f0bd0345c0788 (patch) | |
tree | d8a116d5578a4a388825649e8c4e0dcd71c4b455 /Master/texmf-dist/source/latex | |
parent | df42b39352bb8ffd623c43a39225b9d869e698e3 (diff) |
unicode-math (26sep19)
git-svn-id: svn://tug.org/texlive/trunk@52185 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
4 files changed, 44 insertions, 174 deletions
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx index bc782ba88c4..ee1f0642bc4 100644 --- a/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx +++ b/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx @@ -9,8 +9,6 @@ % % 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} - { \tl_remove_once:Nn \@begindocumenthook { \mathchardef\std@minus\mathcode`\-\relax @@ -38,24 +36,7 @@ % \end{macrocode} % The |subarray| environment uses inappropriate font dimensions. % \begin{macrocode} - \@@_check_and_fix:NNnnn \subarray \cs_set:Npn { #1 } - { - \vcenter - \bgroup - \Let@ - \restore@math@cr - \default@tag - \baselineskip \fontdimen 10~ \scriptfont \tw@ - \advance \baselineskip \fontdimen 12~ \scriptfont \tw@ - \lineskip \thr@@@@ \fontdimen 8~ \scriptfont \thr@@@@ - \lineskiplimit \lineskip - \ialign - \bgroup - \ifx c #1 \hfil \fi - $ \m@th \scriptstyle ## $ - \hfil - \crcr - } + \cs_set:Npn \subarray #1 { \vcenter \c_group_begin_token @@ -64,15 +45,9 @@ \default@tag \skip_set:Nn \baselineskip { -% \end{macrocode} -% Here we use stack top shift + stack bottom shift, which sounds reasonable. -% \begin{macrocode} \@@_stack_num_up:N \scriptstyle + \@@_stack_denom_down:N \scriptstyle } -% \end{macrocode} -% Here we use the minimum stack gap. -% \begin{macrocode} \lineskip \@@_stack_vgap:N \scriptstyle \lineskiplimit \lineskip \ialign @@ -91,19 +66,7 @@ % The roots need a complete rework. % \begin{macrocode} %<*LU> - \@@_check_and_fix: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 - } + \cs_set_nopar:Npn \plainroot@ #1 \of #2 { \bool_if:nTF { @@ -131,20 +94,7 @@ % \end{macrocode} % % \begin{macrocode} - \@@_check_and_fix:NNnnn \r@@@@t \cs_set_nopar:Npn { #1 #2 } - { - \setboxz@h { $ \m@th #1 \sqrtsign { #2 } $ } - \dimen@ \ht\z@ - \advance \dimen@ -\dp\z@ - \setbox\@ne \hbox { $ \m@th #1 \mskip \uproot@ mu $ } - \advance \dimen@ by 1.667 \wd\@ne - \mkern -\leftroot@ mu - \mkern 5mu - \raise .6\dimen@ \copy\rootbox - \mkern -10mu - \mkern \leftroot@ mu - \boxz@ - } + \cs_set_nopar:Npn \r@@@@t #1 #2 %<*LU> { \hbox_set:Nn \l_tmpa_box @@ -197,7 +147,6 @@ \box_use_drop:N \l_tmpa_box } %</XE> - } % \end{macrocode} % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx index a5f05c81b39..72ce5186da1 100644 --- a/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx +++ b/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx @@ -7,47 +7,6 @@ %<*package> % \end{macrocode} % -% \begin{macro}{\@@_check_and_fix:NNnnn} -% \darg{command} -% \darg{factory command} -% \darg{parameter text} -% \darg{expected replacement text} -% \darg{new replacement text} -% Tries to patch \meta{command}. -% If \meta{command} is undefined, do nothing. -% Otherwise it must be a macro with the given \meta{parameter text} and \meta{expected replacement text}, created by the given \meta{factory command} or equivalent. -% 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:Nn \@@_check_and_fix:NNnnn - { - \cs_if_exist:NT #1 - { - \token_if_macro:NTF #1 - { - \group_begin: - #2 \@@_tmpa:w #3 { #4 } - \cs_if_eq:NNTF #1 \@@_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 \@@_tmpa:w } - \group_end: - } - } - { - \msg_warning:nnx { unicode-math } { macro-expected } - { \token_to_str:N #1 } - } - } - } -% \end{macrocode} -% \end{macro} % % \section{Patching/augmenting 3rd-party packages} % @@ -60,7 +19,7 @@ % but activates automatically so documents that might change the \cs{url} % font through the standard interface still work correctly. % \begin{macrocode} -\AtEndOfPackageFile * {url} +\@@_after_package:nNn {url} \@@_patch_url: { \tl_put_left:Nn \Url@FormatString { \@@_switch_to:n {literal} } \tl_put_right:Nn \UrlSpecials @@ -84,43 +43,21 @@ % upsetting effect on legacy math alphabets. % \begin{macrocode} %<*XE> -\AtEndOfPackageFile * { mathtools } +\@@_after_package:nNn { mathtools } \@@_patch_mathtools_A: { - \@@_check_and_fix:NNnnn \MT_cramped_internal:Nn \cs_set_nopar:Npn { #1 #2 } - { - \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 - \else - \dimen@ = 1.25 \fontdimen 8 - \ifx #1 \textstyle - \textfont - \else - \ifx #1 \scriptstyle - \scriptfont - \else - \scriptscriptfont - \fi - \fi - 3 - \fi - \advance \dimen@ -\ht\z@ - \ht\z@ = -\dimen@ - \box\z@ - } + \cs_set_nopar:Npn \MT_cramped_internal:Nn ##1 ##2 { \hbox_set:Nn \l_tmpa_box { \color@setgroup \c_math_toggle_token \m@th - #1 + ##1 \dim_zero:N \nulldelimiterspace - \XeTeXradical 255 ~ 0 ~ { #2 } + \XeTeXradical 255 ~ 0 ~ { ##2 } \c_math_toggle_token \color@endgroup } \box_set_ht:Nn \l_tmpa_box { - \box_ht:N \l_tmpa_box - \@@_radical_vgap:N #1 + \box_ht:N \l_tmpa_box - \@@_radical_vgap:N ##1 } \box_use_drop:N \l_tmpa_box } @@ -138,7 +75,7 @@ % with Unicode fonts, so we are hard coding the $5/18$ex suggested by % \pkg{mathtools}’s documentation. % \begin{macrocode} -\AtEndOfPackageFile * { mathtools } +\@@_after_package:nNn { mathtools } \@@_patch_mathtools_B: { \cs_set_eq:NN \MToverbracket \overbracket \cs_set_eq:NN \MTunderbracket \underbracket @@ -147,20 +84,20 @@ { \msg_warning:nn { unicode-math } { mathtools-overbracket } - \cs_set:Npn \downbracketfill #1 #2 + \cs_set:Npn \downbracketfill ##1 ##2 { \tl_set:Nn \l_MT_bracketheight_fdim {.27ex} - \downbracketend {#1} {#2} - \leaders \vrule \@height #1 \@depth \z@ \hfill - \downbracketend {#1} {#2} + \downbracketend {##1} {##2} + \leaders \vrule \@height ##1 \@depth \z@ \hfill + \downbracketend {##1} {##2} } - \cs_set:Npn \upbracketfill #1 #2 + \cs_set:Npn \upbracketfill ##1 ##2 { \tl_set:Nn \l_MT_bracketheight_fdim {.27ex} - \upbracketend {#1} {#2} - \leaders \vrule \@height \z@ \@depth #1 \hfill - \upbracketend {#1} {#2} + \upbracketend {##1} {##2} + \leaders \vrule \@height \z@ \@depth ##1 \hfill + \upbracketend {##1} {##2} } \cs_set_eq:NN \Uoverbracket \overbracket @@ -179,53 +116,22 @@ % \begin{macro}{\eqqcolon} % \pkg{mathtools} defines several commands as combinations of colons and % other characters, but with meanings incompatible to \pkg{unicode-math}. -% Thus we issue a warning. Because \pkg{mathtools} uses -% \cmd{\providecommand} \cmd{\AtBeginDocument}, we can just define the -% offending commands here. +% Thus we issue a warning. Note \pkg{mathtools} uses +% \cmd{\providecommand} \cmd{\AtBeginDocument}. % \begin{macrocode} -\AtEndOfPackageFile * { mathtools } +\@@_after_package:nNn { mathtools } \@@_patch_mathtools_C: { \msg_warning:nn { unicode-math } { mathtools-colon } - \NewDocumentCommand \dblcolon { } { \Colon } - \NewDocumentCommand \coloneqq { } { \coloneq } - \NewDocumentCommand \Coloneqq { } { \Coloneq } - \NewDocumentCommand \eqqcolon { } { \eqcolon } - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \subsection{\pkg{colonequals}} -% -% \begin{macro}{\ratio} -% \begin{macro}{\coloncolon} -% \begin{macro}{\minuscolon} -% \begin{macro}{\colonequals} -% \begin{macro}{\equalscolon} -% \begin{macro}{\coloncolonequals} -% Similarly to \pkg{mathtools}, the \pkg{colonequals} defines several colon -% combinations. Fortunately there are no name clashes, so we can just -% overwrite their definitions. -% \begin{macrocode} -\AtEndOfPackageFile * { colonequals } - { - \msg_warning:nn { unicode-math } { colonequals } - \RenewDocumentCommand \ratio { } { \mathratio } - \RenewDocumentCommand \coloncolon { } { \Colon } - \RenewDocumentCommand \minuscolon { } { \dashcolon } - \RenewDocumentCommand \colonequals { } { \coloneq } - \RenewDocumentCommand \equalscolon { } { \eqcolon } - \RenewDocumentCommand \coloncolonequals { } { \Coloneq } + \DeclareDocumentCommand \dblcolon { } { \Colon } + \DeclareDocumentCommand \coloneqq { } { \coloneq } + \DeclareDocumentCommand \Coloneqq { } { \Coloneq } + \DeclareDocumentCommand \eqqcolon { } { \eqcolon } } % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} % % \begin{macrocode} %</package> diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx index b739fa6deae..16e3213998d 100644 --- a/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx +++ b/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx @@ -17,7 +17,22 @@ % \begin{macrocode} \RequirePackage{xparse,l3keys2e} \RequirePackage{fontspec} -\RequirePackage{filehook} +\RequirePackage{fix-cm} +\RequirePackage{amsmath} +%<LU>\RequirePackage{lualatex-math} +% \end{macrocode} +% +% \begin{macrocode} +\cs_set_protected:Npn \@@_after_package:nNn #1 #2 #3 + { + \AtBeginDocument + { + \cs_new_protected:Npn #2 {#3} + \@ifpackageloaded {#1} {#2} {} + } + } +\RequirePackage{xparse,l3keys2e} +\RequirePackage{fontspec} \RequirePackage{fix-cm} %<LU>\RequirePackage{lualatex-math} % \end{macrocode} 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 59cf98b1885..3aee6d530b0 100644 --- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx +++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx @@ -60,15 +60,15 @@ %<base>\ProvidesExplPackage{unicode-math} %<package&XE>\ProvidesExplPackage{unicode-math-xetex} %<package&LU>\ProvidesExplPackage{unicode-math-luatex} -%<base|package> {2019/03/04} {0.8o} {Unicode maths in XeLaTeX and LuaLaTeX} +%<base|package> {2019/09/26} {0.8p} {Unicode maths in XeLaTeX and LuaLaTeX} % \end{macrocode} % % Here the version and date are setup for typesetting the documentation. % \begin{macrocode} %<*dtx> \date{ - \def\filedate{2019/03/04} - \def\fileversion{0.8o} + \def\filedate{2019/09/26} + \def\fileversion{0.8p} \filedate \qquad \fileversion } %</dtx> |