From 55b9d356c616c30b8a2892babf47015ca39fb549 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 26 Sep 2019 03:00:29 +0000 Subject: CTAN sync 201909260300 --- macros/latex/contrib/unicode-math/CHANGES.md | 9 ++ macros/latex/contrib/unicode-math/README.md | 2 +- .../latex/contrib/unicode-math/um-code-amsmath.dtx | 57 +-------- .../latex/contrib/unicode-math/um-code-compat.dtx | 138 ++++----------------- .../latex/contrib/unicode-math/um-code-opening.dtx | 17 ++- macros/latex/contrib/unicode-math/um-doc-main.tex | 8 +- .../contrib/unicode-math/unicode-math-code.pdf | Bin 332100 -> 323520 bytes macros/latex/contrib/unicode-math/unicode-math.dtx | 6 +- macros/latex/contrib/unicode-math/unicode-math.pdf | Bin 162882 -> 162731 bytes .../latex/contrib/unicode-math/unimath-example.pdf | Bin 22157 -> 22002 bytes .../latex/contrib/unicode-math/unimath-symbols.pdf | Bin 1203926 -> 1208308 bytes 11 files changed, 60 insertions(+), 177 deletions(-) (limited to 'macros/latex/contrib/unicode-math') diff --git a/macros/latex/contrib/unicode-math/CHANGES.md b/macros/latex/contrib/unicode-math/CHANGES.md index ffe61e18a8..01dcd8a462 100644 --- a/macros/latex/contrib/unicode-math/CHANGES.md +++ b/macros/latex/contrib/unicode-math/CHANGES.md @@ -1,6 +1,15 @@ CHANGE HISTORY ============== +## v0.8p (2019/09/26) + + * Remove dependency on `filehook` package. Just to simplify. + * Remove patch code for the `colonequals` package; now if you use that package + you will simply receive its standard ‘constructed’ symbols. + * Load `amsmath` automatically. This is not intended to save time for the user, + but to simplify the code logic. Users should continue to load `amsmath` explicitly IMO. + + ## v0.8o (2019/03/04) * Avoid `'Dimension too large' error` for some (unpredictable) combinations of font diff --git a/macros/latex/contrib/unicode-math/README.md b/macros/latex/contrib/unicode-math/README.md index 7208d66799..12e0d1157a 100644 --- a/macros/latex/contrib/unicode-math/README.md +++ b/macros/latex/contrib/unicode-math/README.md @@ -76,7 +76,7 @@ REQUIREMENTS ------------ As well as running XeTeX or LuaTeX, this package requires recent versions of the -`lm-math`, `fontspec`, `expl3`, `xpackages`, `filehook`, and `lualatex-math` packages. +`lm-math`, `fontspec`, `expl3`, `xpackages`, and `lualatex-math` packages. THANKS diff --git a/macros/latex/contrib/unicode-math/um-code-amsmath.dtx b/macros/latex/contrib/unicode-math/um-code-amsmath.dtx index bc782ba88c..ee1f0642bc 100644 --- a/macros/latex/contrib/unicode-math/um-code-amsmath.dtx +++ b/macros/latex/contrib/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 } % - } % \end{macrocode} % % \begin{macrocode} diff --git a/macros/latex/contrib/unicode-math/um-code-compat.dtx b/macros/latex/contrib/unicode-math/um-code-compat.dtx index a5f05c81b3..72ce5186da 100644 --- a/macros/latex/contrib/unicode-math/um-code-compat.dtx +++ b/macros/latex/contrib/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} % diff --git a/macros/latex/contrib/unicode-math/um-code-opening.dtx b/macros/latex/contrib/unicode-math/um-code-opening.dtx index b739fa6dea..16e3213998 100644 --- a/macros/latex/contrib/unicode-math/um-code-opening.dtx +++ b/macros/latex/contrib/unicode-math/um-code-opening.dtx @@ -17,7 +17,22 @@ % \begin{macrocode} \RequirePackage{xparse,l3keys2e} \RequirePackage{fontspec} -\RequirePackage{filehook} +\RequirePackage{fix-cm} +\RequirePackage{amsmath} +%\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} %\RequirePackage{lualatex-math} % \end{macrocode} diff --git a/macros/latex/contrib/unicode-math/um-doc-main.tex b/macros/latex/contrib/unicode-math/um-doc-main.tex index 8ecc8357e7..5c0bc22ed1 100644 --- a/macros/latex/contrib/unicode-math/um-doc-main.tex +++ b/macros/latex/contrib/unicode-math/um-doc-main.tex @@ -69,7 +69,7 @@ Load \pkg{unicode-math} as a regular \LaTeX\ package. It should be loaded after any other maths or font-related package in case it needs to overwrite their definitions. Here's an example using the filename syntax to load the \TeX\ Gyre Pagella Math font: (this works for both \XeLaTeX\ and \LuaLaTeX) \begin{Verbatim} -\usepackage{amsmath} % if desired +\usepackage{amsmath} \usepackage{unicode-math} \setmathfont{texgyrepagella-math.otf} \end{Verbatim} @@ -78,6 +78,10 @@ Once the package is loaded, traditional TFM-based maths fonts are no longer supp you can only switch to a different OpenType maths font using the \cs{setmathfont} command. If you do not load an OpenType maths font before |\begin{document}|, Latin Modern Math will be loaded automatically. +Note that \pkg{amsmath} should be loaded before \pkg{unicode-math} to avoid conflicts, and +it will be loaded automatically if not requested earlier in the preamble. + + \subsection{New commands} \LaTeX, since the first version of \LaTeXe, changed the math group selection from, say, |{\bf x}| to |\mathbf{x}|. It introduced commands @@ -111,7 +115,7 @@ the two meanings with a command like |\mathbf| for the boldface text font in math and a command like |\symbf| (for the bold math font). The five new symbol font commands that behave in this way are: \cs{symup}, -\cs{symit}, \cs{symbf}, \cs{symsf}, and \cs{symit}. +\cs{symit}, \cs{symbf}, \cs{symsf}, and \cs{symtt}. These commands switch to single-letter mathematical symbols (generally within the same OpenType font). diff --git a/macros/latex/contrib/unicode-math/unicode-math-code.pdf b/macros/latex/contrib/unicode-math/unicode-math-code.pdf index bf0ca20ed5..c251d66a18 100644 Binary files a/macros/latex/contrib/unicode-math/unicode-math-code.pdf and b/macros/latex/contrib/unicode-math/unicode-math-code.pdf differ diff --git a/macros/latex/contrib/unicode-math/unicode-math.dtx b/macros/latex/contrib/unicode-math/unicode-math.dtx index 59cf98b188..3aee6d530b 100644 --- a/macros/latex/contrib/unicode-math/unicode-math.dtx +++ b/macros/latex/contrib/unicode-math/unicode-math.dtx @@ -60,15 +60,15 @@ %\ProvidesExplPackage{unicode-math} %\ProvidesExplPackage{unicode-math-xetex} %\ProvidesExplPackage{unicode-math-luatex} -% {2019/03/04} {0.8o} {Unicode maths in XeLaTeX and LuaLaTeX} +% {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 } % diff --git a/macros/latex/contrib/unicode-math/unicode-math.pdf b/macros/latex/contrib/unicode-math/unicode-math.pdf index 05d2817a78..41da2850e6 100644 Binary files a/macros/latex/contrib/unicode-math/unicode-math.pdf and b/macros/latex/contrib/unicode-math/unicode-math.pdf differ diff --git a/macros/latex/contrib/unicode-math/unimath-example.pdf b/macros/latex/contrib/unicode-math/unimath-example.pdf index 82fdbee8f9..315e19f268 100644 Binary files a/macros/latex/contrib/unicode-math/unimath-example.pdf and b/macros/latex/contrib/unicode-math/unimath-example.pdf differ diff --git a/macros/latex/contrib/unicode-math/unimath-symbols.pdf b/macros/latex/contrib/unicode-math/unimath-symbols.pdf index dcb99c16db..bd55866e6b 100644 Binary files a/macros/latex/contrib/unicode-math/unimath-symbols.pdf and b/macros/latex/contrib/unicode-math/unimath-symbols.pdf differ -- cgit v1.2.3