diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-02 22:42:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-02 22:42:01 +0000 |
commit | 961f0d1df526285b3a08b8a75af7197b5e6f86b7 (patch) | |
tree | a0a096f519b75b148833f7ebd70ca5af996fa2c6 /Master/texmf-dist/source | |
parent | b97aa19e35137596fcf0193abee3788b21250f32 (diff) |
l2e (2feb20)
git-svn-id: svn://tug.org/texlive/trunk@53640 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
151 files changed, 6468 insertions, 2186 deletions
diff --git a/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx b/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx index 890fbd0d827..11747842787 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 1999 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi diff --git a/Master/texmf-dist/source/latex/amsmath/amsbsy.ins b/Master/texmf-dist/source/latex/amsmath/amsbsy.ins index fe1cd5413de..07707907e9c 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsbsy.ins +++ b/Master/texmf-dist/source/latex/amsmath/amsbsy.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== diff --git a/Master/texmf-dist/source/latex/amsmath/amscd.dtx b/Master/texmf-dist/source/latex/amsmath/amscd.dtx index 2d0a35d685d..12e94a11dc1 100644 --- a/Master/texmf-dist/source/latex/amsmath/amscd.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amscd.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 1999 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi diff --git a/Master/texmf-dist/source/latex/amsmath/amscd.ins b/Master/texmf-dist/source/latex/amsmath/amscd.ins index 148c4cb32e5..5890ca06c10 100644 --- a/Master/texmf-dist/source/latex/amsmath/amscd.ins +++ b/Master/texmf-dist/source/latex/amsmath/amscd.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== diff --git a/Master/texmf-dist/source/latex/amsmath/amsgen.dtx b/Master/texmf-dist/source/latex/amsmath/amsgen.dtx index 5edc26b9cc4..92df548f127 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsgen.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amsgen.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 1999 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi diff --git a/Master/texmf-dist/source/latex/amsmath/amsgen.ins b/Master/texmf-dist/source/latex/amsmath/amsgen.ins index 8c5683cb5a6..be7720bc891 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsgen.ins +++ b/Master/texmf-dist/source/latex/amsmath/amsgen.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== diff --git a/Master/texmf-dist/source/latex/amsmath/amsmath.dtx b/Master/texmf-dist/source/latex/amsmath/amsmath.dtx index 11b7545c266..42f3088867d 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsmath.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amsmath.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 2000, 2013 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi @@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\% % \end{macrocode} % % \begin{macrocode} -\ProvidesPackage{amsmath}[2019/11/16 v2.17d AMS math features] +\ProvidesPackage{amsmath}[2020/01/20 v2.17e AMS math features] % \end{macrocode} % % \section{Catcode defenses} @@ -302,10 +302,13 @@ For additional information on amsmath, use the \lq ?\rq\space option.% % \end{macrocode} % % Processing to handle the \opt{cmex10} option is a little tricky -% because of different possible loading orders for \pkg{amsmath} and -% \pkg{amsfonts}. The package \pkg{amsmath} sets the \cs{cmex@opt} -% flag to 7 or 10, and the package \pkg{amsfonts} sets the flag to 1 -% or 0. +% because of different possible loading orders for \pkg{amsmath} +% and \pkg{amsfonts}. The package \pkg{amsmath} sets the +% \cs{cmex@opt} flag to 0, 7 or 10, and in the past the package +% \pkg{amsfonts} did set the flag to 1 or 0. These days it always +% sets it to 10. The situation is a bit unsettled but we don't own +% \pkg{amsfonts}. +% \changes{v2.17d}{2019/12/01}{docu update, no code change (gh/200)} % \begin{macrocode} \ifnum\cmex@opt=7 \relax \DeclareFontShape{OMX}{cmex}{m}{n}{% @@ -517,9 +520,13 @@ For additional information on amsmath, use the \lq ?\rq\space option.% \@xp\@tempa\vert\@empty\@nil \ifnum\@tempcnta>\z@ \advance\@tempcnta "4000000 - \xdef\lvert{\delimiter\number\@tempcnta\space } +% \end{macrocode} +% Use \cs{protected} on the new delimiters. +% \changes{v2.17e}{2020/01/20}{Make delimiters robust (gh/251))} +% \begin{macrocode} + \protected\xdef\lvert{\delimiter\number\@tempcnta\space } \advance\@tempcnta "1000000 - \xdef\rvert{\delimiter\number\@tempcnta\space } + \protected\xdef\rvert{\delimiter\number\@tempcnta\space } \else \ifx\@@undefined\lvert % Fall back to cmex encoding since we don't know what else to do. @@ -532,9 +539,9 @@ For additional information on amsmath, use the \lq ?\rq\space option.% \@xp\@tempa\Vert\@empty\@nil \ifnum\@tempcnta>\z@ \advance\@tempcnta "4000000 - \xdef\lVert{\delimiter\number\@tempcnta\space } + \protected\xdef\lVert{\delimiter\number\@tempcnta\space } \advance\@tempcnta "1000000 - \xdef\rVert{\delimiter\number\@tempcnta\space } + \protected\xdef\rVert{\delimiter\number\@tempcnta\space } \else \ifx\@@undefined\lVert \DeclareMathDelimiter{\lVert} @@ -645,13 +652,13 @@ Foreign command \@backslashchar#1;\MessageBreak % \end{macrocode} % % \begin{macrocode} -\else +\else % \end{macrocode} % XeTeX version % \begin{macrocode} \def\genfrac@rule#1#2#3#4{% \hbox{$\left#1\vcenter{\hrule \@width\z@ - \@height + \@height \ifdim\fontdimen#2#3\tw@=\z@ #4\fontdimen6#3\tw@ \else @@ -697,7 +704,7 @@ Foreign command \@backslashchar#1;\MessageBreak % \begin{macrocode} \def\genfrac@rule#1#2#3{% \hbox{$\left#1\vcenter{\hrule \@width\z@ - \@height + \@height \ifdim\Umathfractiondelsize#2=\z@ #3\fontdimen6#3\tw@ \else @@ -1093,7 +1100,7 @@ Foreign command \@backslashchar#1;\MessageBreak % \changes{v2.15}{2016/02/20}{Indent \cs{mdots@@} for readability and add additional tests} % \begin{macrocode} \def\mdots@@{\gdef\thedots@{\dotso@}% - \ifx\@let@token\boldsymbol + \ifx\@let@token\boldsymbol \gdef\thedots@\boldsymbol{\boldsymboldots@}% \else \ifx,\@let@token \gdef\thedots@{\dotsc}% @@ -1167,7 +1174,7 @@ Foreign command \@backslashchar#1;\MessageBreak % \begin{macrocode} \fi % end macro \ifgtest@ test (no else) \fi % end if \Umathchar test - \fi % end \math@ \ifgtest@ + \fi % end \math@ \ifgtest@ \fi % end \keybin@ \ifgtest@ test (no else) \fi % end if \not (no else) \fi % end if comma (no else) @@ -3190,9 +3197,10 @@ ill-advised in LaTeX.% % \end{macro} % % \begin{macro}{\ifst@rred} -% The switch |st@rred| is set to true by all starred -% environments -% and set to false by the unstarred versions. +% The switch |st@rred| is set to true by all starred environments +% and set to false by the unstarred versions. +% One exception is the \env{xxalignat} environment where this is set +% to true. % \begin{macrocode} \newif\ifst@rred % \end{macrocode} @@ -3443,7 +3451,8 @@ and fix things up.} \nointerlineskip \vskip-\ht\strutbox@ \vskip-\dp\strutbox@ - \vbox{\noindent\hbox to\displaywidth{\hbox to#1{\strut@\hfill}}}% + \vbox{\noindent\hbox to\displaywidth{% + \hbox to#1{\strut@\hfill}}}% \prevdepth\dimen@ \fi }% diff --git a/Master/texmf-dist/source/latex/amsmath/amsmath.ins b/Master/texmf-dist/source/latex/amsmath/amsmath.ins index 7a6a0873595..55e40898042 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsmath.ins +++ b/Master/texmf-dist/source/latex/amsmath/amsmath.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== diff --git a/Master/texmf-dist/source/latex/amsmath/amsopn.dtx b/Master/texmf-dist/source/latex/amsmath/amsopn.dtx index b7047377f3a..35c3b1605bc 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsopn.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amsopn.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 1999 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi diff --git a/Master/texmf-dist/source/latex/amsmath/amsopn.ins b/Master/texmf-dist/source/latex/amsmath/amsopn.ins index 8c977446cc2..84aff6243b9 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsopn.ins +++ b/Master/texmf-dist/source/latex/amsmath/amsopn.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== diff --git a/Master/texmf-dist/source/latex/amsmath/amstext.dtx b/Master/texmf-dist/source/latex/amsmath/amstext.dtx index a4c9aeb5d98..a5e8491dc2b 100644 --- a/Master/texmf-dist/source/latex/amsmath/amstext.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amstext.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 1999 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi diff --git a/Master/texmf-dist/source/latex/amsmath/amstext.ins b/Master/texmf-dist/source/latex/amsmath/amstext.ins index 84fcb0cb951..5f9a5c4076a 100644 --- a/Master/texmf-dist/source/latex/amsmath/amstext.ins +++ b/Master/texmf-dist/source/latex/amsmath/amstext.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== @@ -48,4 +48,3 @@ The Current Maintainer of this work is the LaTeX3 project. } \endbatchfile - diff --git a/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx b/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx index 2165dde41ad..9cc0b710273 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx +++ b/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx @@ -2,7 +2,7 @@ % \iffalse meta-comment % % Copyright (C) 1995, 1999 American Mathematical Society. -% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. +% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society. % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -11,9 +11,9 @@ % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX % version 2005/12/01 or later. -% +% % This work has the LPPL maintenance status `maintained'. -% +% % The Current Maintainer of this work is the LaTeX3 Project. % % \fi diff --git a/Master/texmf-dist/source/latex/amsmath/amsxtra.ins b/Master/texmf-dist/source/latex/amsmath/amsxtra.ins index 9e739c3d4b9..bbcd08e3f7a 100644 --- a/Master/texmf-dist/source/latex/amsmath/amsxtra.ins +++ b/Master/texmf-dist/source/latex/amsmath/amsxtra.ins @@ -1,7 +1,7 @@ -%% +%% %% Copyright 2010 American Mathematical Society. %% Copyright 2016 LaTeX3 Project and American Mathematical Society. -%% +%% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. @@ -9,9 +9,9 @@ %% https://www.latex-project.org/lppl.txt %% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% This work has the LPPL maintenance status `maintained'. -%% +%% %% The Current Maintainer of this work is the LaTeX3 Project. %% %% ==================================================================== @@ -48,4 +48,3 @@ The Current Maintainer of this work is the LaTeX3 project. } \endbatchfile - diff --git a/Master/texmf-dist/source/latex/base/alltt.dtx b/Master/texmf-dist/source/latex/base/alltt.dtx index c106b5a97ff..2c9e22a1243 100644 --- a/Master/texmf-dist/source/latex/base/alltt.dtx +++ b/Master/texmf-dist/source/latex/base/alltt.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/alltt.ins b/Master/texmf-dist/source/latex/base/alltt.ins index e60d1f6df37..adb3838a473 100644 --- a/Master/texmf-dist/source/latex/base/alltt.ins +++ b/Master/texmf-dist/source/latex/base/alltt.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/classes.dtx b/Master/texmf-dist/source/latex/base/classes.dtx index 1de8095a6e1..ea3b014c897 100644 --- a/Master/texmf-dist/source/latex/base/classes.dtx +++ b/Master/texmf-dist/source/latex/base/classes.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -53,7 +53,7 @@ %<*driver> \ProvidesFile{classes.drv} %</driver> - [2019/10/25 v1.4k + [2019/12/20 v1.4l %<article|report|book> Standard LaTeX document class] %<10pt|11pt|12pt> Standard LaTeX file (size option)] % \end{macrocode} @@ -213,7 +213,7 @@ % \changes{v1.3l}{1995/10/20}{Disabled in compatibility mode all % options that are new in \LaTeXe.} % \changes{v1.3v}{1997/06/16}{Documentation fixes.} -% \changes{v1.4j}{2019/08/27}{Various commands made robust} +% \changes{v1.4j}{2019/08/27}{Various commands made robust} % % % \title{Standard Document Classes for \LaTeX{} version 2e\thanks{This @@ -611,11 +611,11 @@ \normalsize % \end{macrocode} % We use |\MakeRobust| instead of |\DeclareRobustCommand| above to avoid a log -% entry for the redefinition. But if we are running in in a rollback situation +% entry for the redefinition. But if we are running in a rollback situation % (prior to 2015) we don't touch it. -% \changes{v1.4k}{2019/10/25}{Roll back handling (gh/201)} +% \changes{v1.4k}{2019/10/25}{Roll back handling (gh/201)} % \begin{macrocode} -\ifx\MakeRobust\@undefined \else +\ifx\MakeRobust\@undefined \else \MakeRobust\normalsize \fi % \end{macrocode} @@ -2949,15 +2949,33 @@ % \begin{macro}{\labelitemiv} % Itemization is controlled by four commands: |\labelitemi|, % |\labelitemii|, |\labelitemiii|, and |\labelitemiv|, which define -% the labels of thevarious itemization levels: the symbols used are +% the labels of the various itemization levels: the symbols used are % bullet, bold en-dash, centered asterisk and centred dot. % % \begin{macrocode} -\newcommand\labelitemi{\textbullet} -\newcommand\labelitemii{\normalfont\bfseries \textendash} -\newcommand\labelitemiii{\textasteriskcentered} -\newcommand\labelitemiv{\textperiodcentered} +\newcommand\labelitemi {\labelitemfont \textbullet} +\newcommand\labelitemii {\labelitemfont \bfseries \textendash} +\newcommand\labelitemiii{\labelitemfont \textasteriskcentered} +\newcommand\labelitemiv{ \labelitemfont \textperiodcentered} % \end{macrocode} +% +% \begin{macro}{\labelitemfont} +% The default definition for \cs{labelitemfont} is to reset the +% font to \cs{normalfont} so that always the same symbol is +% produced regardless of surrounding conditions. +% +% \changes{v1.4l}{2019/12/20}{Normalize label fonts} +% A possible alternative would be +%\begin{verbatim} +%\renewcommand\labelitemfont{% +% \fontseries\seriesdefault +% \fontshape\shapedefault\selectfont} +%\end{verbatim} +% which resets series and shape doesn't touch the family. +% \begin{macrocode} +\newcommand\labelitemfont{\normalfont} +% \end{macrocode} +% \end{macro} % \end{macro} % \end{macro} % \end{macro} @@ -3758,7 +3776,7 @@ \@mkboth{% \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% % \end{macrocode} -% The the actual table of contents is made by calling +% The actual table of contents is made by calling % |\@starttoc{toc}|. After that we restore twocolumn mode if % necessary. % \begin{macrocode} @@ -3826,7 +3844,7 @@ \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2% % \end{macrocode} -% +% % \changes{v1.4i}{2018/09/03}{Prevent protrusion % (\url{https://tex.stackexchange.com/q/172785/10109})} % \begin{macrocode} @@ -3894,7 +3912,7 @@ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2% % \end{macrocode} -% +% % \changes{v1.4i}{2018/09/03}{Prevent protrusion % (\url{https://tex.stackexchange.com/q/172785/10109})} % \begin{macrocode} @@ -3951,7 +3969,7 @@ #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2% % \end{macrocode} -% +% % \changes{v1.4i}{2018/09/03}{Prevent protrusion % (\url{https://tex.stackexchange.com/q/172785/10109})} % \begin{macrocode} @@ -4343,7 +4361,7 @@ % defined below in command names. These commands may be redefined in % any class or package that is customising \LaTeX\ for use with % non-English languages. -% \changes{v1.3h}{1995/07/20}{Split up to save save stack /1742} +% \changes{v1.3h}{1995/07/20}{Split up to save on save stack /1742} % % \begin{macro}{\contentsname} % \begin{macro}{\listfigurename} @@ -4478,4 +4496,3 @@ % \Finale % \endinput - diff --git a/Master/texmf-dist/source/latex/base/classes.ins b/Master/texmf-dist/source/latex/base/classes.ins index b56871b111e..13d49747272 100644 --- a/Master/texmf-dist/source/latex/base/classes.ins +++ b/Master/texmf-dist/source/latex/base/classes.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -118,4 +118,3 @@ extension .ins) which are part of the distribution. } \endbatchfile - diff --git a/Master/texmf-dist/source/latex/base/cmextra.ins b/Master/texmf-dist/source/latex/base/cmextra.ins index 00a85544645..05776a68075 100644 --- a/Master/texmf-dist/source/latex/base/cmextra.ins +++ b/Master/texmf-dist/source/latex/base/cmextra.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -90,39 +90,39 @@ making successful document exchange impossible. % % \Ask\answer{% % ************************************************************** -% ^^J* +% ^^J* % ^^J* Do you have the Concrete Roman fonts installed on your system, % ^^J* or do you intend to install them? -% ^^J* +% ^^J* % ^^J* If so please answer with `y' otherwise with `n' below. % ^^J* -% ^^J* You can easily redo this installation later in case you +% ^^J* You can easily redo this installation later in case you % ^^J* change your mind. % ^^J**************************************************************} -% +% % {\ifx\answer\y -% +% % \Msg{*** Generating font defs for Cork encoded fonts ***} % \Msg{*** Generating font defs for old TeX Text encoding ***} % \Msg{*** Generating font defs for math italic encoding ***} -% +% % \generate{% % \file{t1ccr.fd}{\from{cmfonts.fdd}{fd,T1ccr}} % \file{ot1ccr.fd}{\from{cmfonts.fdd}{fd,OT1ccr}} % \file{omlccm.fd}{\from{cmfonts.fdd}{fd,OMLccm}}} -% +% % \fi} \Ask\answer{% ************************************************************** - ^^J* + ^^J* ^^J* Do you have the cyrillic fonts from the University of ^^J* Washington installed on your system, ^^J* or do you intend to install them? - ^^J* + ^^J* ^^J* If so please answer with `y' otherwise with `n' below. ^^J* - ^^J* You can easily redo this installation later in case you + ^^J* You can easily redo this installation later in case you ^^J* change your mind. ^^J* ^^J* Normally it is better *not* to install these files, but use diff --git a/Master/texmf-dist/source/latex/base/cmfonts.fdd b/Master/texmf-dist/source/latex/base/cmfonts.fdd index f3303947926..1eb318b0492 100644 --- a/Master/texmf-dist/source/latex/base/cmfonts.fdd +++ b/Master/texmf-dist/source/latex/base/cmfonts.fdd @@ -2,31 +2,30 @@ % % Copyright 1993-2019 % The LaTeX3 Project and any individual authors listed elsewhere -% in this file. -% +% in this file. +% % This file is part of the LaTeX base system. % ------------------------------------------- -% +% % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in % https://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX +% and version 1.3c or later is part of all distributions of LaTeX % version 2008 or later. -% +% % This file has the LPPL maintenance status "maintained". -% +% % The list of all files belonging to the LaTeX base distribution is % given in the file `manifest.txt'. See also `legal.txt' for additional % information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. -% +% % \fi -% \CheckSum{295} % %\iffalse This is a META comment % @@ -68,7 +67,7 @@ %<*driver, > \ProvidesFile{cmfonts.drv} %</driver, > - [2014/09/29 v2.5h Standard LaTeX font definitions] + [2019/12/16 v2.5j Standard LaTeX font definitions] % %<*driver> \documentclass{ltxdoc} @@ -88,7 +87,7 @@ %\fi % % -% +% % \changes{v2.5e}{1997/06/16}{Replaced reference to DC-fonts by ec % fonts.} % \changes{v2.5c}{1997/05/26}{Removed spaces in and around arguments @@ -107,11 +106,11 @@ % {Dont force T1 hyphenchar to 127. latex/1853} % \changes{v2.4c}{1995/11/07}{Use decimal rather than octal character % specification for \cs{hyphenchar} and \cs{skewchar} so that there is -% no problem with an active quote character.} +% no problem with an active quote character.} % \changes{v2.4a}{1995/10/22}{Added support for new (v1.2) DC fonts % and text companion fonts (TS1 encoding).} % \changes{v2.3d}{1994/11/02}{Added more font substitutions for -% \cs{pounds}.} +% \cs{pounds}.} % \changes{v2.3d}{1994/10/30}{Added OMLcmr.fd and OMScmr.fd.} % \changes{v2.3b}{1994/05/12}{Added \cs{ProvidesFile} commands} % \changes{v2.3a}{1994/05/03}{Included definitions for @@ -514,7 +513,7 @@ %<ec>ecssdc10 }{} % \end{macrocode} -% +% % \begin{macrocode} %<*!new&!ec> %<+T1cmss>%%%%%%%% bold extended series @@ -613,7 +612,7 @@ % % \subsubsection{Computer Modern Variable Typewriter} % -% The Computer Modern Variable Typewriter family is the +% The Computer Modern Variable Typewriter family is the % proportional spaced version of the Computer Modern Typewriter % family. It is implemented as a separate family to allow easy use % in normal text, including changes of shape/series etc if available. @@ -915,8 +914,13 @@ %<+OT1cmss,Ucmss>% Font undefined, therefore substituted %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{it} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{it}% -%<-nowarn> {<->sub*cmss/m/sl}{} -%<+nowarn> {<->ssub*cmss/m/sl}{} +% \end{macrocode} +% Never warn about substituting \texttt{sl} for \texttt{it} because +% that is common practise for sans serif fonts. +% \changes{v2.5i}{2019/12/02}{Silent warning for cmss/it substitution +% (gh/172)} +% \begin{macrocode} + {<->ssub*cmss/m/sl}{} %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{sl} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{sl}% {% @@ -943,7 +947,7 @@ %<-ori> <5><6><7><8><9>cmssdc10% <10><10.95><12><14.4><17.28><20.74><24.88>cmssdc10% }{} - + %<+OT1cmss,Ucmss>%%%%%%%%% bold extended series %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{bx}{n} %<+Ucmss>\DeclareFontShape{U}{cmss}{bx}{n}% @@ -1021,6 +1025,13 @@ %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{it}% %<-nowarn> {<->sub*cmtt/m/it}{} %<+nowarn> {<->ssub*cmtt/m/it}{} +% \end{macrocode} +% +% \changes{v2.5j}{2019/12/16}{Provide substitutions for cmtt/bx/sl} +% \begin{macrocode} +%<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{sl} +%<-nowarn> {<->sub*cmtt/m/n}{} +%<+nowarn> {<->ssub*cmtt/m/n}{} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{ui} %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{ui}% %<-nowarn> {<->sub*cmtt/m/it}{} @@ -1031,7 +1042,7 @@ % % \subsubsection{Computer Modern Variable Typewriter (\texttt{OT1})} % -% The Computer Modern Variable Typewriter family is the +% The Computer Modern Variable Typewriter family is the % proportional spaced version of the Computer Modern Typewriter % family. It is implemented as a separate family to allow easy use % in normal text, including changes of shape/series etc if available. @@ -1126,7 +1137,7 @@ % % \subsubsection{Computer Modern Roman Math italics} % -% \changes{v2.3d}{1994/10/30}{Added OMLcmr font substitutions pointing +% \changes{v2.3d}{1994/10/30}{Added OMLcmr font substitutions pointing % to OMLcmm. } % \changes{v2.3f}{1995/04/22}{Corrected OMLcmr \cs{skewchar}} % @@ -1153,7 +1164,7 @@ {<->ssub*cmm/b/it}{} %</OMLcmr> % \end{macrocode} -% +% % \subsubsection{Computer Modern Math symbols} % % \changes{v2.3a}{1994/05/02}{Included font definitions for @@ -1174,10 +1185,10 @@ % % \subsubsection{Computer Modern Roman Math symbols} % -% \changes{v2.3d}{1994/10/30}{Added OMScmr font substitutions pointing +% \changes{v2.3d}{1994/10/30}{Added OMScmr font substitutions pointing % to OMScmm. } % -% Some text symbols like `\P' and `\dag' are kept in the OMS encoding, +% Some text symbols like `\P' and `\dag' are kept in the OMS encoding, % so we need font substititutions from OMS/cmr to OMS/cmsy. % \begin{macrocode} %<*OMScmr> diff --git a/Master/texmf-dist/source/latex/base/cmfonts.ins b/Master/texmf-dist/source/latex/base/cmfonts.ins index b28cb7ba29d..b5ed3e3f106 100644 --- a/Master/texmf-dist/source/latex/base/cmfonts.ins +++ b/Master/texmf-dist/source/latex/base/cmfonts.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -104,7 +104,7 @@ making successful document exchange impossible. \file{omscmr.fd}{\from{cmfonts.fdd}{OMScmr}} } - + \ifToplevel{ \Msg{***********************************************************} \Msg{*} @@ -119,6 +119,5 @@ making successful document exchange impossible. \Msg{* Happy TeXing} \Msg{***********************************************************} } - -\endbatchfile +\endbatchfile diff --git a/Master/texmf-dist/source/latex/base/doc.dtx b/Master/texmf-dist/source/latex/base/doc.dtx index e7f2b44c2f3..1341f56b8b2 100644 --- a/Master/texmf-dist/source/latex/base/doc.dtx +++ b/Master/texmf-dist/source/latex/base/doc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -35,7 +35,7 @@ %<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01] %<+package> \ProvidesPackage{doc} %<+shortvrb>\ProvidesPackage{shortvrb} -%<+package|shortvrb> [2019/11/10 v2.1k +%<+package|shortvrb> [2019/12/16 v2.1l %<+package|shortvrb> Standard LaTeX documentation package (FMi)] %\catcode`\<=12 % @@ -1448,18 +1448,19 @@ % bothered since doc-sources should be up-to-date but since the % request came from someone called David Carlisle \ldots :-) % \changes{v1.9y}{1996/01/26}{Support compat mode} +% \changes{v2.1l}{2019/12/16}{Use \cs{shapedefault} not \cs{updefault} for extended NFSS} % \begin{macrocode} \def\MacroFont{\small \usefont\encodingdefault \ttdefault \mddefault - \updefault + \shapedefault }% \else \def\MacroFont{\fontencoding\encodingdefault \fontfamily\ttdefault \fontseries\mddefault - \fontshape\updefault + \fontshape\shapedefault \small}% \fi }{} @@ -2006,7 +2007,7 @@ % \begin{macrocode} \@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim % \end{macrocode} -% +% % \changes{v2.1j}{2019/11/03}{Kernel now sets up \cs{verbvisiblespace} (gh/205)} % \changes{v2.1k}{2019/11/10}{Put the definition into the right command :-( (gh/205)} % \begin{macrocode} @@ -4542,7 +4543,7 @@ \ifnum\check@sum>\m@ne % \end{macrocode} % We do nothing if the checksum in the file is negative (or not given as -% it is initialized with -1). +% it is initialized with -1). % \begin{macrocode} \ifnum\check@sum=\z@ \typeout{**********************************}% diff --git a/Master/texmf-dist/source/latex/base/docstrip.dtx b/Master/texmf-dist/source/latex/base/docstrip.dtx index 5ee3d1b7ae3..9cc7945d602 100644 --- a/Master/texmf-dist/source/latex/base/docstrip.dtx +++ b/Master/texmf-dist/source/latex/base/docstrip.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -316,8 +316,8 @@ % \DeclareDir{makeindex}{idxstyle} %\end{verbatim} % This will cause base latex files and font descriptions to be -% written to directory |c:\emtex\texinput\latex2e|, files of the -% \texttt{tools} package to be written to |c:\emtex\texinput\tools| +% written to directory |c:\emtex\texinput\latex2e|, files of the +% \texttt{tools} package to be written to |c:\emtex\texinput\tools| % and makeindex files to |c:\emtex\idxstyle|. % % Sometimes it is desirable to put some files outside of the base diff --git a/Master/texmf-dist/source/latex/base/docstrip.ins b/Master/texmf-dist/source/latex/base/docstrip.ins index 7b68b7ce85b..281a376761b 100644 --- a/Master/texmf-dist/source/latex/base/docstrip.ins +++ b/Master/texmf-dist/source/latex/base/docstrip.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -52,9 +52,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -64,7 +64,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -77,8 +77,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/ec.ins b/Master/texmf-dist/source/latex/base/ec.ins index 196396a24a7..4283ef1ddda 100644 --- a/Master/texmf-dist/source/latex/base/ec.ins +++ b/Master/texmf-dist/source/latex/base/ec.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -87,7 +87,7 @@ making successful document exchange impossible. \Msg{*** Generating font defs for Cork encoded and Text Companion fonts ***} - + \generate{ \file{t1cmfib.fd}{ \from{cmfonts.fdd}{fd,T1cmfib,ec}} @@ -137,5 +137,5 @@ making successful document exchange impossible. \Msg{* Happy TeXing} \Msg{***********************************************************} } - + \endbatchfile diff --git a/Master/texmf-dist/source/latex/base/exscale.dtx b/Master/texmf-dist/source/latex/base/exscale.dtx index 575a89ce687..f13e0116cd1 100644 --- a/Master/texmf-dist/source/latex/base/exscale.dtx +++ b/Master/texmf-dist/source/latex/base/exscale.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -174,7 +174,7 @@ % Now we can define the macros. Note: |\n@space| sets the internal % variables |\nulldelimiterspace| and |\mathsurround| to zero length. % -% Older kernels (e.g in roll back didn't have LR-mode with the +% Older kernels (e.g in roll back didn't have LR-mode with the % these commands) so we test for the support comment. This only works % if the rollback request is before loading this package but that is % where it should be. @@ -192,7 +192,7 @@ \def\bigg{\bBigg@\tw@} \def\Bigg{\bBigg@{2.5}} % \end{macrocode} -% +% % \begin{macrocode} %</package> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/exscale.ins b/Master/texmf-dist/source/latex/base/exscale.ins index cc8d8d9ae90..d504b056cb4 100644 --- a/Master/texmf-dist/source/latex/base/exscale.ins +++ b/Master/texmf-dist/source/latex/base/exscale.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/fix-cm.dtx b/Master/texmf-dist/source/latex/base/fix-cm.dtx index 7f770cf8c00..e4c384ee70c 100644 --- a/Master/texmf-dist/source/latex/base/fix-cm.dtx +++ b/Master/texmf-dist/source/latex/base/fix-cm.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/fix-cm.ins b/Master/texmf-dist/source/latex/base/fix-cm.ins index eb4547d5761..0407d39630b 100644 --- a/Master/texmf-dist/source/latex/base/fix-cm.ins +++ b/Master/texmf-dist/source/latex/base/fix-cm.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/fontdef.dtx b/Master/texmf-dist/source/latex/base/fontdef.dtx index c9c5f5d77dc..4dd5ea38456 100644 --- a/Master/texmf-dist/source/latex/base/fontdef.dtx +++ b/Master/texmf-dist/source/latex/base/fontdef.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -39,7 +39,7 @@ %<driver, >\ProvidesFile{fontdef.drv} % \fi % \ProvidesFile{fontdef.dtx} -%<-latexrelease> [2019/09/21 v3.0d LaTeX Kernel +%<-latexrelease> [2020/01/25 v3.0f LaTeX Kernel % \iftrue (\else %<text, >(Text %<math, >(Math @@ -102,7 +102,7 @@ % % You are not allowed to change this source file! If you want to % change the default encodings and/or the font shape groups preloaded -% you should should create a copy of \texttt{fonttext.ltx} +% you should create a copy of \texttt{fonttext.ltx} % under the name \texttt{fonttext.cfg} and change this copy. If % \LaTeXe{} finds a file of this name it will use it, otherwise it % uses the standard file which is \texttt{fontdef.ltx}. @@ -249,22 +249,43 @@ % \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines} % \begin{macrocode} \input {omlenc.def} -\input {t1enc.def} -\input {ot1enc.def} % <- should come after T1 for speed \input {omsenc.def} % \end{macrocode} +% Documents containing a lot of accented characters should really +% be using T1 fonts. We therefore load this last so that T1 encoding +% specific commands are executed as fast as possible (encoding +% files are no longer reloaded in \texttt{fontenc}. +% \changes{v3.0f}{2020/01/25}{Load t1enc.def last (gh/255)} +% \begin{macrocode} +\input {ot1enc.def} +\input {t1enc.def} +% \end{macrocode} +% +% \begin{macrocode} +\input{ts1enc.def} +% \end{macrocode} % \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines} % \begin{macrocode} \ifx\Umathchar\@undefined % \end{macrocode} % -% We then set set the default text font encoding. This will +% We then set the default text font encoding. This will % hopefully change some day to |T1|. This setting should \emph{not} % be changed to produce a portable format. % \begin{macrocode} \fontencoding{OT1} % \end{macrocode} % +% +% +% +% \begin{macrocode} +\def\rmsubstdefault{cmr} +\def\sfsubstdefault{cmss} +\def\ttsubstdefault{cmtt} +\LoadFontDefinitionFile{TS1}{cmr} +% \end{macrocode} +% % \begin{macrocode} \else % \end{macrocode} @@ -273,12 +294,16 @@ \input {tuenc.def} \fontencoding{TU} \DeclareFontSubstitution{TU}{lmr}{m}{n} -\begingroup -\nfss@catcodes -\input {tulmr.fd} -\input {tulmss.fd} -\input {tulmtt.fd} -\endgroup +\LoadFontDefinitionFile{TU}{lmr} +\LoadFontDefinitionFile{TU}{lmss} +\LoadFontDefinitionFile{TU}{lmtt} +% \end{macrocode} +% +% \begin{macrocode} +\def\rmsubstdefault{lmr} +\def\sfsubstdefault{lmss} +\def\ttsubstdefault{lmtt} +\LoadFontDefinitionFile{TS1}{lmr} % \end{macrocode} % % \begin{macrocode} @@ -442,8 +467,9 @@ % \begin{macro}{\bfdefault} % \begin{macro}{\mddefault} % Series changing commands are influenced by the following hooks. +% \changes{v3.0e}{2019/12/17}{Set \cs{bfdefault} to ``b''} % \begin{macrocode} -\newcommand\bfdefault{bx} +\newcommand\bfdefault{b} % overwritten below \newcommand\mddefault{m} % \end{macrocode} % \end{macro} @@ -453,18 +479,39 @@ % \begin{macro}{\sldefault} % \begin{macro}{\scdefault} % \begin{macro}{\updefault} +% % Shape changing commands use the following hooks. +% \changes{v3.0e}{2019/12/17}{Set \cs{updefault} to ``up''} % \begin{macrocode} \newcommand\itdefault{it} \newcommand\sldefault{sl} \newcommand\scdefault{sc} -\newcommand\updefault{n} +\newcommand\updefault{up} % overwritten below % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % + +% \begin{macrocode} +%</text> +%<*text|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\updefault}{font defaults change}% +\renewcommand\updefault{up} +\renewcommand\bfdefault{b} +%</text|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\updefault}{font defaults change}% +%<latexrelease> +%<latexrelease>\renewcommand\updefault{n} +%<latexrelease>\renewcommand\bfdefault{bx} +%<latexrelease>\EndIncludeInRelease +%<*text> +% \end{macrocode} +% % \begin{macro}{\familydefault} % \begin{macro}{\seriesdefault} % \begin{macro}{\shapedefault} @@ -477,7 +524,14 @@ % \begin{macrocode} \newcommand\familydefault{\rmdefault} \newcommand\seriesdefault{\mddefault} -\newcommand\shapedefault{\updefault} +% \end{macrocode} +% In previous releases \cs{shapedefault} pointed to \cs{updefault} +% which resolved to \texttt{n}, but these days that is no longer +% the case (and \texttt{up} is wrong when you want to do a +% reset. So we now use \texttt{n} explicitly. +% \begin{macrocode} +% \changes{v3.0e}{2019/12/17}{Set \cs{shapedefault} explicitly to ``n''} +\newcommand\shapedefault{n} % \end{macrocode} % \end{macro} % \end{macro} @@ -854,7 +908,15 @@ \DeclareMathSymbol{\forall}{\mathord}{symbols}{"38} \DeclareMathSymbol{\exists}{\mathord}{symbols}{"39} \DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A} - \let\lnot=\neg +% \end{macrocode} +% Alias: +% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)} +% \begin{macrocode} +% \let\lnot=\neg +\DeclareMathSymbol{\lnot}{\mathord}{symbols}{"3A} +% \end{macrocode} +% +% \begin{macrocode} \DeclareMathSymbol{\flat}{\mathord}{letters}{"5B} \DeclareMathSymbol{\natural}{\mathord}{letters}{"5C} \DeclareMathSymbol{\sharp}{\mathord}{letters}{"5D} @@ -863,9 +925,9 @@ \DeclareMathSymbol{\heartsuit}{\mathord}{symbols}{"7E} \DeclareMathSymbol{\spadesuit}{\mathord}{symbols}{"7F} % \end{macrocode} -% +% % \changes{v3.0c}{2019/08/27}{Various commands made robust throughout -% the file} +% the file} % \begin{macrocode} \DeclareRobustCommand\hbar{{\mathchar'26\mkern-9muh}} \DeclareRobustCommand\surd{{\mathchar"1270}} @@ -908,18 +970,33 @@ \DeclareMathSymbol{\triangleright}{\mathbin}{letters}{"2E} \DeclareMathSymbol{\bigtriangleup}{\mathbin}{symbols}{"34} \DeclareMathSymbol{\bigtriangledown}{\mathbin}{symbols}{"35} - \let \varbigtriangledown \bigtriangledown - \let \varbigtriangleup \bigtriangleup +% \end{macrocode} +% Alias: +% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)} +% \begin{macrocode} +% \let \varbigtriangledown \bigtriangledown +% \let \varbigtriangleup \bigtriangleup +\DeclareMathSymbol{\varbigtriangleup}{\mathbin}{symbols}{"34} +\DeclareMathSymbol{\varbigtriangledown}{\mathbin}{symbols}{"35} % \end{macrocode} % -% These last two synonyms are needed because the \textsf{stamryrd} +% These last two synonyms are needed because the \textsf{stmaryrd} % package redefines them as Operators. % % \begin{macrocode} \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E} - \let\land=\wedge \DeclareMathSymbol{\vee}{\mathbin}{symbols}{"5F} - \let\lor=\vee +% \end{macrocode} +% Alias: +% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)} +% \begin{macrocode} +% \let\land=\wedge +% \let\lor=\vee +\DeclareMathSymbol{\land}{\mathbin}{symbols}{"5E} +\DeclareMathSymbol{\lor}{\mathbin}{symbols}{"5F} +% \end{macrocode} +% +% \begin{macrocode} \DeclareMathSymbol{\cap}{\mathbin}{symbols}{"5C} \DeclareMathSymbol{\cup}{\mathbin}{symbols}{"5B} \DeclareMathSymbol{\ddagger}{\mathbin}{symbols}{"7A} @@ -966,21 +1043,31 @@ \DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C} \DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28} \DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29} -\DeclareRobustCommand\neq{\not=} + \DeclareRobustCommand\neq{\not=} % \end{macrocode} % As \cs{neq} is robust we should not use \cs{let} to define -% \cs{ne} as then then it would change if \cs{neq} changes. +% \cs{ne} as then it would change if \cs{neq} changes. % \changes{v3.0d}{2019/09/21}{Distangle alias (gh/184)} % \begin{macrocode} -%\let\ne=\neq -\DeclareRobustCommand\ne{\not=} + \DeclareRobustCommand\ne{\not=} % \end{macrocode} -% It is ok to use \cs{let} for those declared by \cs{DeclareMathSymbol}. +% It would ok to use \cs{let} for those declared by +% \cs{DeclareMathSymbol} but for a cleaner interface we avoid it +% always (just in case the internals change). % \begin{macrocode} \DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14} - \let\le=\leq \DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15} - \let\ge=\geq +% \end{macrocode} +% Alias: +% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)} +% \begin{macrocode} +% \let\le=\leq +% \let\ge=\geq +\DeclareMathSymbol{\le}{\mathrel}{symbols}{"14} +\DeclareMathSymbol{\ge}{\mathrel}{symbols}{"15} +% \end{macrocode} +% +% \begin{macrocode} \DeclareMathSymbol{\succ}{\mathrel}{symbols}{"1F} \DeclareMathSymbol{\prec}{\mathrel}{symbols}{"1E} \DeclareMathSymbol{\approx}{\mathrel}{symbols}{"19} @@ -992,15 +1079,32 @@ \DeclareMathSymbol{\subseteq}{\mathrel}{symbols}{"12} \DeclareMathSymbol{\in}{\mathrel}{symbols}{"32} \DeclareMathSymbol{\ni}{\mathrel}{symbols}{"33} - \let\owns=\ni +% \end{macrocode} +% Alias: +% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)} +% \begin{macrocode} +% \let\owns=\ni +\DeclareMathSymbol{\owns}{\mathrel}{symbols}{"33} +% \end{macrocode} +% +% \begin{macrocode} \DeclareMathSymbol{\gg}{\mathrel}{symbols}{"1D} \DeclareMathSymbol{\ll}{\mathrel}{symbols}{"1C} \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} \DeclareMathSymbol{\leftrightarrow}{\mathrel}{symbols}{"24} \DeclareMathSymbol{\leftarrow}{\mathrel}{symbols}{"20} - \let\gets=\leftarrow \DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21} - \let\to=\rightarrow +% \end{macrocode} +% Alias: +% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)} +% \begin{macrocode} +% \let\gets=\leftarrow +% \let\to=\rightarrow +\DeclareMathSymbol{\gets}{\mathrel}{symbols}{"20} +\DeclareMathSymbol{\to}{\mathrel}{symbols}{"21} +% \end{macrocode} +% +% \begin{macrocode} \DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37} \DeclareRobustCommand\mapsto{\mapstochar\rightarrow} \DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18} @@ -1343,7 +1447,7 @@ % % \subsubsection{Biggggg} % -% \changes{v3.0b}{2018/09/24}{Start LR-mode if necessary (git/49)} +% \changes{v3.0b}{2018/09/24}{Start LR-mode if necessary (git/49)} % \begin{macrocode} %</math> %<*math|latexrelease> @@ -1368,7 +1472,7 @@ %<latexrelease>\EndIncludeInRelease %<*math> % \end{macrocode} -% +% % \begin{macrocode} \def\n@space{\nulldelimiterspace\z@ \m@th} % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/format.ins b/Master/texmf-dist/source/latex/base/format.ins index 5a1bf6e79c6..940161edd5b 100644 --- a/Master/texmf-dist/source/latex/base/format.ins +++ b/Master/texmf-dist/source/latex/base/format.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -90,7 +90,7 @@ reports for it can be opened at https://latex-project.org/bugs.html Copyright 2015 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -100,7 +100,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -113,19 +113,19 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble \let\MetaPrefix\DoubleperCent \declarepreamble\cfgpreamble -This is a generated file. +This is a generated file. -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -135,7 +135,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -173,11 +173,13 @@ the system are in the document `cfgguide.tex'. \from{ltcounts.dtx}{2ekernel} \from{ltlength.dtx}{2ekernel} \from{ltfssbas.dtx}{2ekernel} + \from{ltfssaxes.dtx}{2ekernel} \from{ltfsstrc.dtx}{2ekernel} -% \from{ltfsscmp.dtx}{compat,2ekernel} +% \from{ltfsscmp.dtx}{compat,2ekernel} % only provided as part of latexrelease.sty! \from{ltfssdcl.dtx}{compat,2ekernel} \from{ltfssini.dtx}{compat,2ekernel} \from{ltfntcmd.dtx}{2ekernel} + \from{lttextcomp.dtx}{2ekernel} \from{ltpageno.dtx}{2ekernel} \from{ltxref.dtx}{2ekernel} \from{ltmiscen.dtx}{2ekernel} @@ -207,11 +209,13 @@ the system are in the document `cfgguide.tex'. \from{ltmath.dtx}{fleqn}} \file{leqno.clo}{% \from{ltmath.dtx}{leqno}} +%%% generate the textcomp package + \file{textcomp.sty}{% + \from{lttextcomp.dtx}{TS1sty}} + \file{textcomp-2018-08-11.sty}{% + \from{lttextcomp.dtx}{TS1oldsty}} } - - - \generateFile{oldlfont.sty}{t}{% \from{oldlfont.dtx}{package} } @@ -220,6 +224,10 @@ the system are in the document `cfgguide.tex'. \from{newlfont.dtx}{package} } + +% expl3-based extensions +\generate{\file{ltexpl.ltx}{\from{ltexpl.dtx}{2ekernel}}} + % luatex support (TeX part) \generate{\file{ltluatex.tex}{\from{ltluatex.dtx}{tex,plain}}} @@ -254,7 +262,7 @@ the system are in the document `cfgguide.tex'. %%%%%%%%%%%%%%%%% Lua code % This is at the end as the prefix/postamble requirements are -% different to everything else +% different to everything else \def\MetaPrefix{--} \usepreamble\luapreamble @@ -262,6 +270,3 @@ the system are in the document `cfgguide.tex'. \generate{\file{ltluatex.lua}{\from{ltluatex.dtx}{lua}}} \endbatchfile - - - diff --git a/Master/texmf-dist/source/latex/base/graphpap.dtx b/Master/texmf-dist/source/latex/base/graphpap.dtx index 7e4b322f326..ac72f4dca5f 100644 --- a/Master/texmf-dist/source/latex/base/graphpap.dtx +++ b/Master/texmf-dist/source/latex/base/graphpap.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/graphpap.ins b/Master/texmf-dist/source/latex/base/graphpap.ins index eb1d356edc6..b5bb800122a 100644 --- a/Master/texmf-dist/source/latex/base/graphpap.ins +++ b/Master/texmf-dist/source/latex/base/graphpap.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/ifthen.dtx b/Master/texmf-dist/source/latex/base/ifthen.dtx index 1a289df1c35..f2157e094ab 100644 --- a/Master/texmf-dist/source/latex/base/ifthen.dtx +++ b/Master/texmf-dist/source/latex/base/ifthen.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ifthen.ins b/Master/texmf-dist/source/latex/base/ifthen.ins index acfa2fcf433..0e813cd5de3 100644 --- a/Master/texmf-dist/source/latex/base/ifthen.ins +++ b/Master/texmf-dist/source/latex/base/ifthen.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/inputenc.dtx b/Master/texmf-dist/source/latex/base/inputenc.dtx index 65f260826de..641125cc75d 100644 --- a/Master/texmf-dist/source/latex/base/inputenc.dtx +++ b/Master/texmf-dist/source/latex/base/inputenc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/inputenc.ins b/Master/texmf-dist/source/latex/base/inputenc.ins index 0831576d768..6494a689eab 100644 --- a/Master/texmf-dist/source/latex/base/inputenc.ins +++ b/Master/texmf-dist/source/latex/base/inputenc.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -103,8 +103,8 @@ extension .ins) which are part of the distribution. \file{latin10.def}{ \from{inputenc.dtx}{latin10}} } - - + + \generate{ \file{cp850.def}{ @@ -122,7 +122,7 @@ extension .ins) which are part of the distribution. \file{decmulti.def}{ \from{inputenc.dtx}{decmulti}} } - + \generate{ \file{ascii.def}{ \from{inputenc.dtx}{ascii}} diff --git a/Master/texmf-dist/source/latex/base/latex209.dtx b/Master/texmf-dist/source/latex/base/latex209.dtx index 10de2958ba0..6523e65286f 100644 --- a/Master/texmf-dist/source/latex/base/latex209.dtx +++ b/Master/texmf-dist/source/latex/base/latex209.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/latex209.ins b/Master/texmf-dist/source/latex/base/latex209.ins index 7bd0eed06a7..bb72f344f1b 100644 --- a/Master/texmf-dist/source/latex/base/latex209.ins +++ b/Master/texmf-dist/source/latex/base/latex209.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -88,7 +88,7 @@ extension .ins) which are part of the distribution. \file{latex209.def}{ \from{latex209.dtx}{head} \from{oldlfont.dtx}{latex209} - \from{latex209.dtx}{tail}} + \from{latex209.dtx}{tail}} \file{article.sty}{ \from{latex209.dtx}{article}} \file{book.sty}{ diff --git a/Master/texmf-dist/source/latex/base/latexrelease.dtx b/Master/texmf-dist/source/latex/base/latexrelease.dtx index cfb1bff8aaa..5ee39a3a2df 100644 --- a/Master/texmf-dist/source/latex/base/latexrelease.dtx +++ b/Master/texmf-dist/source/latex/base/latexrelease.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -30,7 +30,7 @@ % \iffalse % %<*dtx> - \def\latexreleaseversion{<date only known in .sty file>} + \def\latexreleaseversion{<date only known in .sty file>} \ProvidesFile{latexrelease.dtx} %</dtx> %<driver>\ProvidesFile{latexrelease.drv} @@ -83,7 +83,7 @@ % explicitly opt-in to bug fixes and improvements, and the vast % majority of documents did not benefit. % -% As described in \LaTeX\ News 22, a new policy is being implemented +% As described in \LaTeX\ News 22, a new policy is being implemented % in which improvements will now be added to the format by default, % and this \Lpack{latexrelease} package may be used to ensure % stability where needed, either by making a new format use an older @@ -108,7 +108,7 @@ % the commands defined here to adjust their definitions to the % specified date as described below. % -% Note that the \Lpack{latexrelease} package is intended for use +% Note that the \Lpack{latexrelease} package is intended for use % at the start of a \emph{document}. Package and class code should not % include this package as loading a package should not normally globally % reset the effective version of \LaTeX\ that is in force, so affecting all @@ -126,8 +126,8 @@ % \item \emph{yyyy/mm/dd} or \emph{yyyy-nn-dd} % The package accepts any possible \LaTeX\ format date as argument, % although dates in the future for which the current release of this -% package has no information will generate a warning. Dates -% earlier than 2015 will work but will roll back to some point in 2015 +% package has no information will generate a warning. Dates +% earlier than 2015 will work but will roll back to some point in 2015 % when the method was introduced. % |\IncludeInRelease| command is defined. % The |\requestedLaTeXdate| is set to the normalized date argument @@ -176,7 +176,7 @@ % \item[\marg{code-date}] This date is associated with the \marg{code} % argument and will be compared to the requested date in the option to % the \Lpack{latexrelease}. -% +% % \item[\oarg{format-date}] This optional argument can be used to % specify a format date with the code in addition to the mandatory % \marg{code-date} argument. This can be useful for package developers @@ -268,11 +268,11 @@ %\end{verbatim} % % To use the latest version, however it would have disadvantage that -% until the next release of \LaTeX, by default, if the document does +% until the next release of \LaTeX, by default, if the document does % not use \Lpack{latexrelease} to specify a date, the new improved % code will not be selected as the effective date will be 2015/01/01 % and so the first code block will be skipped. -% +% % For this reason |\IncludeInRelease| has an optional argument that % specifies an alternative date to use if a date option has not been % specified to \Lpack{latexrelease}. @@ -297,7 +297,7 @@ % skipped. % % If on the other hand the document requests an explicit release date -% using \Lpack{latexrelease} then this date will be used to decide what +% using \Lpack{latexrelease} then this date will be used to decide what % code block to include. % % \subsection{Using \cs{IncludeInRelease} in Packages} @@ -317,7 +317,7 @@ % % To avoid this issue you can use the following coding % strategy: place the current |\widget| definition in the main code -% where it correctly belongs. +% where it correctly belongs. % \begin{verbatim} % ... % \def\widget {even newer improved March version} @@ -366,7 +366,7 @@ % \section{fixltx2e} % % As noted above, prior to the 2015 \LaTeX\ release updates to the -% \LaTeX\ kernel were not made in the format source files but were +% \LaTeX\ kernel were not made in the format source files but were % made available in the \Lpack{fixltx2e} package. That package is no % longer needed but we generate a small package from this source % that just makes a warning message but otherwise does nothing. @@ -487,7 +487,7 @@ of this package available from CTAN} % % The code for each change will be inserted at this point, extracted % from the kernel source files. -% +% % \begin{macrocode} %</latexrelease> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/latexrelease.ins b/Master/texmf-dist/source/latex/base/latexrelease.ins index 9358692a910..ff55e7d8c0e 100644 --- a/Master/texmf-dist/source/latex/base/latexrelease.ins +++ b/Master/texmf-dist/source/latex/base/latexrelease.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -115,13 +115,16 @@ extension .ins) which are part of the distribution. \from{ltfssini.dtx} {latexrelease}% \from{fontdef.dtx} {latexrelease}% (covering fontmath and fonttext) \from{ltfntcmd.dtx} {latexrelease}% empty + \from{lttextcomp.dtx} {latexrelease}% \from{ltfssbas.dtx} {latexrelease}% - \from{ltfsstrc.dtx} {latexrelease}% empty + \from{ltfssaxes.dtx} {latexrelease}% + \from{ltfsstrc.dtx} {latexrelease}% \from{ltfsscmp.dtx} {latexrelease}% \from{ltpageno.dtx} {latexrelease}% empty \from{ltxref.dtx} {latexrelease}% empty \from{ltmiscen.dtx} {latexrelease}% \from{ltluatex.dtx} {latexrelease}% + \from{ltexpl.dtx} {latexrelease}% \from{ltfinal.dtx} {latexrelease}% } diff --git a/Master/texmf-dist/source/latex/base/latexsym.dtx b/Master/texmf-dist/source/latex/base/latexsym.dtx index 52b12e0c36f..908f11e1244 100644 --- a/Master/texmf-dist/source/latex/base/latexsym.dtx +++ b/Master/texmf-dist/source/latex/base/latexsym.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -172,7 +172,7 @@ % \subsection{\LaTeX{} symbols fonts} % % \changes{v2.2d}{1996/11/20}{lowercase ulasy.fd /1044} -% The rest of this file defines the the font shape declarations +% The rest of this file defines the font shape declarations % that have to go into the corresponding |.fd| file. % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/latexsym.ins b/Master/texmf-dist/source/latex/base/latexsym.ins index 7b42cf9132b..9e9901b879c 100644 --- a/Master/texmf-dist/source/latex/base/latexsym.ins +++ b/Master/texmf-dist/source/latex/base/latexsym.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -87,9 +87,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -99,7 +99,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -150,8 +150,3 @@ making successful document exchange impossible. } \endbatchfile - - - - - diff --git a/Master/texmf-dist/source/latex/base/letter.dtx b/Master/texmf-dist/source/latex/base/letter.dtx index b8a8f0a257f..ee9a87cf849 100644 --- a/Master/texmf-dist/source/latex/base/letter.dtx +++ b/Master/texmf-dist/source/latex/base/letter.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/letter.ins b/Master/texmf-dist/source/latex/base/letter.ins index b71c06b95ac..8e8ed4ef7b9 100644 --- a/Master/texmf-dist/source/latex/base/letter.ins +++ b/Master/texmf-dist/source/latex/base/letter.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -104,6 +104,3 @@ extension .ins) which are part of the distribution. } \endbatchfile - - - diff --git a/Master/texmf-dist/source/latex/base/ltalloc.dtx b/Master/texmf-dist/source/latex/base/ltalloc.dtx index 4932dc707be..d18df9ad896 100644 --- a/Master/texmf-dist/source/latex/base/ltalloc.dtx +++ b/Master/texmf-dist/source/latex/base/ltalloc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltbibl.dtx b/Master/texmf-dist/source/latex/base/ltbibl.dtx index 0823620f992..a3a25308fe8 100644 --- a/Master/texmf-dist/source/latex/base/ltbibl.dtx +++ b/Master/texmf-dist/source/latex/base/ltbibl.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltboxes.dtx b/Master/texmf-dist/source/latex/base/ltboxes.dtx index 7e1c2c38b02..61ea87235ab 100644 --- a/Master/texmf-dist/source/latex/base/ltboxes.dtx +++ b/Master/texmf-dist/source/latex/base/ltboxes.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltclass.dtx b/Master/texmf-dist/source/latex/base/ltclass.dtx index 83aacf8ddbd..9e7668e88e0 100644 --- a/Master/texmf-dist/source/latex/base/ltclass.dtx +++ b/Master/texmf-dist/source/latex/base/ltclass.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltclass.dtx} - [2019/10/07 v1.3c LaTeX Kernel (Class & Package Interface)] + [2020/01/28 v1.3h LaTeX Kernel (Class & Package Interface)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltclass.dtx} @@ -156,7 +156,7 @@ % some comments about how it was produced. % % The environment can also be called with an optional argument which is -% used to alter some of its behavior: option \texttt{force} or +% used to alter some of its behavior: option \texttt{force} or % \texttt{overwrite} will allow for overwriting existing files, % option \texttt{nosearch} will only check the current directory % when looking if the file exists. This can be useful if you want to @@ -172,10 +172,10 @@ % A possible use case for using it inside the document body is if you % want to reuse some text several times in the document you could then % write it and later use \cs{input} to retrieve it where needed. -% +% % % The begin and end tags should each be on a -% line by itself. +% line by itself. % % \subsection{Option processing} % @@ -362,7 +362,7 @@ % % |\DeclareOption*{\PassOptionsToPackage{\CurrentOption}|^^A % |{|\meta{pkg-name}|}|\\ -% Handle the the current option by passing it on to the package +% Handle the current option by passing it on to the package % \meta{pkg-name}, which will presumably be loaded via % |\RequirePackage| later in the file. This is useful for building % `extension' packages, that perhaps handle a couple of new options, @@ -671,7 +671,7 @@ %<latexrelease>\EndIncludeInRelease %<*2ekernel> % \end{macrocode} -% +% % \begin{macrocode} \@onlypreamble\@ifl@t@r % \end{macrocode} @@ -791,19 +791,69 @@ \@ifnextchar[\@pr@videpackage{\@pr@videpackage[]}}%] \@onlypreamble\ProvidesPackage % \end{macrocode} +% \end{macro} +% % +% +% \begin{macro}{\@pr@videpackage} +% This is the helper command for \cs{ProvidesPackage}. It tries to +% be cautious when handling the identification string in case it +% contains UTF-8 characters. +% \changes{v1.3e}{2019/11/29}{Protect package info text (gh/52)} % \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\@pr@videpackage}{Protection for package info}% \def\@pr@videpackage[#1]{% - \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}% + \expandafter\protected@xdef % <-- protected... + \csname ver@\@currname.\@currext\endcsname{#1}% \ifx\@currext\@clsextension \typeout{Document Class: \@gtempa\space#1}% \else - \wlog{Package: \@gtempa\space#1}% + \protected@wlog{Package: \@gtempa\space#1}% <--- protected \fi} -\@onlypreamble\@pr@videpackage % \end{macrocode} % \end{macro} % +% +% +% \begin{macro}{\protected@wlog} +% This is like plain \TeX's \cs{wlog} but gracefully handles +% protected commands. +% \begin{macrocode} +\long\def\protected@wlog#1{\begingroup + \set@display@protect + \immediate \write \m@ne {#1}\endgroup } +% \end{macrocode} +% \end{macro} +% +% +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@pr@videpackage}{Protection for package info}% +%<latexrelease> +%<latexrelease>\def\@pr@videpackage[#1]{% +%<latexrelease> \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}% +%<latexrelease> \ifx\@currext\@clsextension +%<latexrelease> \typeout{Document Class: \@gtempa\space#1}% +%<latexrelease> \else +%<latexrelease> \wlog{Package: \@gtempa\space#1}% +%<latexrelease> \fi} +%<latexrelease>\let\protected@wlog\@undefined +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +\@onlypreamble\@pr@videpackage +% \end{macrocode} +% +% +% % \begin{macro}{\ProvidesClass} % Like |\ProvidesPackage|, but for classes. % \begin{macrocode} @@ -925,7 +975,7 @@ % \end{macro} % % \begin{macro}{\default@ds} -% The default default option code. +% The default option code. % Set by |\@onefilewithoptions| to either |\OptionNotUsed| for % classes, or |\@unknownoptionerror| for packages. This may be reset % in either case with |\DeclareOption*|. @@ -1356,8 +1406,8 @@ % \begin{macrocode} \def\reserved@b##1,{% % \end{macrocode} -% If |#1| is |\@nnil| we have reached the end of the list -% (older version used |\@nil| here but |\@nil| is undefined so |\ifx| +% If |#1| is |\@nnil| we have reached the end of the list +% (older version used |\@nil| here but |\@nil| is undefined so |\ifx| % equal to all undefined commands) % \begin{macrocode} \ifx\@nnil##1\relax\else @@ -1429,12 +1479,13 @@ % {Made the initial version [] not [\cs{@unknownversion}]} % \changes{v0.2m}{1993/12/07} % {Reset \cs{CurrentOption}} +% \changes{v1.3d}{2019/10/18}{Initialize \cs{...-h@@k} only when loading +% the package or class (gh/198)} % \begin{macrocode} \def\@onefilewithoptions#1[#2][#3]#4{% \@pushfilename \xdef\@currname{#1}% \global\let\@currext#4% - \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty \let\CurrentOption\@empty \@reset@ptions \makeatletter @@ -1470,6 +1521,11 @@ % \begin{macrocode} \global\expandafter \let\csname ver@\@currname.\@currext\endcsname\@empty +% \end{macrocode} +% We initialize \cs{...-h@@k} here and only if we load the file so that it +% remains undefined otherwise. +% \begin{macrocode} + \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty \InputIfFileExists {\@currname.\@currext}% {}% @@ -1725,14 +1781,13 @@ % filecontents environment file name} % \changes{v1.3b}{2019/08/27}{Make various commands robust} % \changes{v1.3c}{2019/09/11}{Support optional argument for filecontents} +% \changes{v1.3f}{2020/01/05}{Support more write streams in LuaTeX gh/238} % %</2ekernel> %<*2ekernel|latexrelease> %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}% % - - % \end{macrocode} % We use |@tempswa| to mean no preamble writing and reuse |@filesw| % to indicate no overwriting: @@ -1747,13 +1802,16 @@ % To handle the optional argument we execute for each option the % command \cs{filec@ntents@OPTION} if it exist or complain about % unknown option. +% \changes{v1.3h}{2020/01/28}{Allow spaces in option string and display +% only unknown options not the whole option list (gh/256)} % \begin{macrocode} \def\filec@ntents@opt[#1]{% - \@for\@tempa:=#1\do{% - \ifcsname filec@ntents@\@tempa\endcsname - \csname filec@ntents@\@tempa\endcsname + \edef\@fortmp{\zap@space#1 \@empty}% + \@for\@reserveda:=\@fortmp\do{% + \ifcsname filec@ntents@\@reserveda\endcsname + \csname filec@ntents@\@reserveda\endcsname \else - \@latex@error{Unknown filecontents option #1}% + \@latex@error{Unknown filecontents option \@reserveda}% {Valid options are force (or overwrite), nosearch, noheader}% \fi}% \filec@ntents @@ -1782,7 +1840,7 @@ \let\filec@ntents@checkdir\@empty \def\filec@ntents@where{exists on the system} % \end{macrocode} -% +% % \begin{macrocode} \begingroup% \@tempcnta=1 @@ -1801,6 +1859,11 @@ \gdef\filec@ntents#1{% \set@curr@file{\filec@ntents@checkdir#1}% \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}% +% \end{macrocode} +% +% Lua\TeX\ has more writes (and 18 is safe here). +% \begin{macrocode} + \chardef\reserved@c\ifx\directlua\@undefined 15 \else 127 \fi% \openin\@inputcheck\q@curr@file \space % \ifeof\@inputcheck% \@latex@warning@no@line% @@ -1810,8 +1873,7 @@ % \changes{v1.0y}{1997/10/10} % {\cs{reserved@c} not \cs{verbatim@out} to save a csname} % \begin{macrocode} - \chardef\reserved@c15 % - \ch@ck7\reserved@c\write% + \ch@ck7\reserved@c\write\relax% \immediate\openout\reserved@c\q@curr@file\relax% \else% % \end{macrocode} @@ -1831,7 +1893,7 @@ % by mistake overwriting the input file (\cs{jobname}). Of course, % this only works for input files ending in \texttt{.tex}. If a % different extension is used there is no way to see that we are -% overwriting outselves! +% overwriting ourselves! % \begin{macrocode} \edef\reserved@a{#1}% \edef\reserved@a{\detokenize\expandafter{\reserved@a}}% @@ -1847,13 +1909,13 @@ % \end{macrocode} % We allocate a write channel but we open it only if it is % (hopefully) safe. If not opened that means we are going to write -% on the terminal. +% on the terminal. +% \changes{v1.3g}{2020/01/27}{Fix typo in error message} % \begin{macrocode} - \chardef\reserved@c15 % - \ch@ck7\reserved@c\write% + \ch@ck7\reserved@c\write\relax% \if@filesw% % Foul ... trying to overwrite \jobname! \@latex@error{Trying to overwrite `\jobname.tex'}{You can't % - write to the file you a reading from!\MessageBreak% + write to the file you are reading from!\MessageBreak% Data is written to screen instead.}% \else% \@latex@warning@no@line% @@ -1863,7 +1925,7 @@ \fi% \fi% % \end{macrocode} -% Closing the \cs{@inputcheck} is done here ot avoid having to do +% Closing the \cs{@inputcheck} is done here to avoid having to do % this in each branch. % \begin{macrocode} \closein\@inputcheck% @@ -2087,7 +2149,7 @@ % \section{Package/class rollback mechanism} % % -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexreleasefirst> @@ -2111,7 +2173,7 @@ % \begin{macro}{\requestedLaTeXdate} % The macro (!) |\requestedLaTeXdate| holds the globally requested % rollback date (via \texttt{latexrelease}) or zero if no such -% request was made. +% request was made. % \begin{macrocode} \def\requestedLaTeXdate{0} % \end{macrocode} @@ -2153,7 +2215,7 @@ % \end{macro} % \end{macro} % \end{macro} - +% % \begin{macro}{\pkgcls@candidate} % \begin{macro}{\pkgcls@releasedate} % When looping through the |\DeclareRelease| declarations we @@ -2186,7 +2248,7 @@ \ifx\load@onefilewithoptions\@undefined \let\load@onefilewithoptions\@onefilewithoptions % \end{macrocode} -% +% % \begin{macrocode} \def\@onefilewithoptions#1[#2][#3]#4{% % \end{macrocode} @@ -2237,7 +2299,7 @@ % \end{macrocode} % \end{macro} % \end{macro} -% +% % % \begin{macro}{\pkgcls@parse@date@arg} % The |\pkgcls@parse@date@arg| command parses the second optional @@ -2271,8 +2333,8 @@ % So in summary we have: % \begin{flushleft} % \hspace*{-1in}\begin{tabular}{ccccc@{}} -% Input & & \cs{pkgcls@targetdate} -% & \cs{pkgcls@targetlabel} +% Input & & \cs{pkgcls@targetdate} +% & \cs{pkgcls@targetlabel} % & \cs{pkgcls@mindate}\\[3pt] % \meta{empty} & $\to$ & \meta{global-rollbackdate-as-number} % & \meta{empty} & \meta{empty} @@ -2283,7 +2345,7 @@ % \texttt{=}\meta{date} & $\to$ & \meta{date-as-number} % & \meta{empty} & \meta{empty} % \\ -% \texttt{=}\meta{version}& $\to$ & \texttt{1} +% \texttt{=}\meta{version}& $\to$ & \texttt{1} % & \meta{version} & \meta{empty} % \\ % \meta{other} & $\to$ & \meta{global-rollbackdate-as-number} @@ -2293,7 +2355,7 @@ % \end{flushleft} % where \meta{global-rollbackdate-as-number} is a date request given % via \texttt{latexrelease} or if there wasn't one \texttt{0}. -% +% % \begin{macrocode} \def\pkgcls@parse@date@arg #1{% % \end{macrocode} @@ -2315,7 +2377,7 @@ \fi } % \end{macrocode} -% The actual parsing work then happens in |\pkgcls@parse@date@arg@|: +% The actual parsing work then happens in |\pkgcls@parse@date@arg@|: % \begin{macrocode} \def\pkgcls@parse@date@arg@#1=#2\@nil{% % \end{macrocode} @@ -2353,7 +2415,7 @@ \else % \end{macrocode} % If |#1| was not empty then there wasn't a \texttt{=} character in -% first position so we we are dealing either with a ``minimum +% first position so we are dealing either with a ``minimum % date'' or with some incorrect data. We assume the former and make % the following assignments (the first one finishing the assignment % of |\pkgcls@targetdate|): @@ -2371,9 +2433,9 @@ % \begin{macrocode} \ifnum \pkgcls@targetdate > \z@ \ifnum \@parse@version0#1//00\@nil > \pkgcls@targetdate - \@latex@warning@no@line{Suspicious rollback/min-date date given\MessageBreak + \@latex@warning@no@line{Suspicious rollback/min-date date given\MessageBreak A minimal date of #1 has been specified for - \@cls@pkg\MessageBreak '\pkgcls@name'.\MessageBreak + \@cls@pkg\MessageBreak '\pkgcls@name'.\MessageBreak But this is in conflict with a rollback request to \requestedpatchdate} \fi @@ -2381,17 +2443,14 @@ \fi } % \end{macrocode} -% Strip off te trailing \texttt{=} and assign the version name to +% Strip off the trailing \texttt{=} and assign the version name to % |\pkgcls@targetlabel|. % \begin{macrocode} \def\pkgcls@parse@date@arg@version#1={% \def\pkgcls@targetlabel{#1}} % \end{macrocode} % \end{macro} - - - - +% % \begin{macro}{\DeclareRelease} % First argument is the ``name'' of the release and it can be left empty % if one doesn't like to give a name to the release. @@ -2476,7 +2535,7 @@ \pkgcls@debug{New candidate: #3}% %</tracerollback> \fi - \else + \else % \end{macrocode} % If we end up in this branch we have a named version request. So % we check if |\pkgcls@targetlabel| matches the current name and if @@ -2497,10 +2556,7 @@ } % \end{macrocode} % \end{macro} - - - - +% % \begin{macro}{\pkgcls@use@this@release} % If a certain release has been selected (stored in the external % file given in \verb=#1=) we need to input it and afterwards stop @@ -2535,8 +2591,7 @@ } % \end{macrocode} % \end{macro} - - +% % \begin{macro}{\pkgcls@show@selection} % This command records what selection was made. As that is needed % in two places (and it is rather lengthly) it was placed in a @@ -2556,7 +2611,7 @@ date \ifnum\requestedLaTeXdate=\pkgcls@targetdate \requestedpatchdate - \else + \else \expandafter\@gobble\pkgcls@arg \fi.\MessageBreak % \end{macrocode} @@ -2566,7 +2621,7 @@ % \begin{macrocode} Best approximation is \else - version '\pkgcls@targetlabel'.\MessageBreak + version '\pkgcls@targetlabel'.\MessageBreak This corresponds to \fi \ifx\@nil#2\@nil @@ -2578,19 +2633,18 @@ } % \end{macrocode} % \end{macro} - - +% % \begin{macro}{\pkgcls@rollbackdate@error} % This is called if the requested rollback date is earlier than the % earliest known release of a package or class. % % A similar error is given if global rollback date and min-date on % a specific package conflict with each other, but that case is -% happens only once so it is is inlined. +% happens only once so it is inlined. % \begin{macrocode} \def\pkgcls@rollbackdate@error#1{% \@latex@error{Suspicious rollback date given}% - {The \@cls@pkg\space'\@currname' claims that it + {The \@cls@pkg\space'\@currname' claims that it came into existence on #1 which\MessageBreak is after your requested rollback date --- so something is wrong here.\MessageBreak @@ -2635,7 +2689,6 @@ % |\DeclareCurrentRelease| but no declared older releases (so % basically the use of the declaration is a bit dubious). % \begin{macrocode} - \ifx\pkgcls@candidate\@empty \pkgcls@rollbackdate@error{#2}% \else @@ -2669,7 +2722,6 @@ % \end{macro} % % - % \begin{macro}{\IfTargetDateBefore} % This enables a simple form of conditional code inside a class or % package file. If there is a date request and the request date is diff --git a/Master/texmf-dist/source/latex/base/ltcntrl.dtx b/Master/texmf-dist/source/latex/base/ltcntrl.dtx index eb1b9319579..b779d27fb6c 100644 --- a/Master/texmf-dist/source/latex/base/ltcntrl.dtx +++ b/Master/texmf-dist/source/latex/base/ltcntrl.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltcounts.dtx b/Master/texmf-dist/source/latex/base/ltcounts.dtx index 8217b3f91b8..5dc1c8866d7 100644 --- a/Master/texmf-dist/source/latex/base/ltcounts.dtx +++ b/Master/texmf-dist/source/latex/base/ltcounts.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -322,7 +322,7 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel> % \end{macrocode} @@ -335,7 +335,7 @@ %<latexrelease> {\@removefromreset}{Add interfaces}% %<*2ekernel|latexrelease> % \end{macrocode} -% +% % \begin{macrocode} \def\@removefromreset#1#2{% % \end{macrocode} @@ -374,17 +374,17 @@ % \begin{macro}{\counterwithout} -% +% % \changes{v1.1k}{2018/03/08}{Interface added} % \begin{macrocode} \def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x} % \end{macrocode} -% +% % \begin{macrocode} \def\counterwithout@s#1#2{% \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}} % \end{macrocode} -% +% % \begin{macrocode} \def\counterwithout@x#1#2{% \@ifbothcounters{#1}{#2}% @@ -399,17 +399,17 @@ % \begin{macro}{\counterwithin} -% +% % \changes{v1.1k}{2018/03/08}{Interface added} % \begin{macrocode} \def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x} % \end{macrocode} -% +% % \begin{macrocode} \def\counterwithin@s#1#2{% \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}} % \end{macrocode} -% +% % \changes{v1.1l}{2018/04/11}{Correct default (issue/38)} % \begin{macrocode} \def\counterwithin@x#1#2{% @@ -424,7 +424,7 @@ % \end{macro} -% +% % \begin{macrocode} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease diff --git a/Master/texmf-dist/source/latex/base/ltdefns.dtx b/Master/texmf-dist/source/latex/base/ltdefns.dtx index 44d7bfde648..ae472966d57 100644 --- a/Master/texmf-dist/source/latex/base/ltdefns.dtx +++ b/Master/texmf-dist/source/latex/base/ltdefns.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -1049,7 +1049,7 @@ % infinite loop! In particular, setting |\protect| to |\@empty| will % cause |\_| to loop forever. It will also break lots of other % things, such as protected |\ifmmode|s inside |\halign|s. If you -% really really have to do such a thing, then please set +% really have to do such a thing, then please set % |\@typeset@protect| to be |\@empty| as well. (This is what the % code for |\patterns| does, for example.) % @@ -1289,7 +1289,7 @@ \expandafter\@gobble\string#1\space\endcsname \global\expandafter\let\csname \expandafter\@gobble\string#1\space\endcsname\@undefined - }% + }% } %<latexrelease>\EndIncludeInRelease %</2ekernel|latexrelease> @@ -1563,7 +1563,7 @@ % current font's |\hyphenchar|. Monospace fonts are usually declared % with |\hyphenchar| set to $-1$ to suppress hyhenation. % -% \LaTeX, from \LaTeX2.09 in 1986 defined |\-| by +% \LaTeX, from \LaTeX2.09 in 1986 defined |\-| by % \begin{verbatim} % \def\-{\discretionary{-}{}{}} % \end{verbatim} @@ -1618,7 +1618,7 @@ % \end{macrocode} % \end{macro} % -% Delayed from |ltvers.dtx| +% Delayed from |ltvers.dtx| % \begin{macrocode} \newif\if@includeinrelease \@includeinreleasefalse diff --git a/Master/texmf-dist/source/latex/base/ltdirchk.dtx b/Master/texmf-dist/source/latex/base/ltdirchk.dtx index 744759f3176..25fb9480ddd 100644 --- a/Master/texmf-dist/source/latex/base/ltdirchk.dtx +++ b/Master/texmf-dist/source/latex/base/ltdirchk.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -978,7 +978,7 @@ % \section{\TeX\ Versions} % % \begin{macro}{\@TeXversion} -% \TeX\ versions older than than 3.141 require |\@TeXversion| to be +% \TeX\ versions older than 3.141 require |\@TeXversion| to be % set. This can be determined automatically due to a trick suggested % by Bernd Raichle. (Actually this will not always get the correct % version number, eg \TeX3.14 would be detected as \TeX3, but \LaTeX\ diff --git a/Master/texmf-dist/source/latex/base/lterror.dtx b/Master/texmf-dist/source/latex/base/lterror.dtx index 3f6c4369705..9a606ea8c1d 100644 --- a/Master/texmf-dist/source/latex/base/lterror.dtx +++ b/Master/texmf-dist/source/latex/base/lterror.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -103,7 +103,7 @@ % the error messages already in the format. % % These days we don't support autoloading approach any longer, but -% this part bit is kept in case it is used in old documents. +% this part bit is kept in case it is used in old documents. % \begin{macrocode} \expandafter\let\csname ver@autoerr.sty\endcsname\fmtversion % \end{macrocode} @@ -448,7 +448,7 @@ Type H <return> for immediate help.}% % % \begin{macro}{\c@errorcontextlines} % \changes{LaTeX2e}{1993/11/22}{Macro added} -% |\errorcontextlines| as a \LaTeX\ counter, so that it may be be +% |\errorcontextlines| as a \LaTeX\ counter, so that it may be % manipulated with |\setcounter| (once it is defined :-) % \begin{macrocode} \let\c@errorcontextlines\errorcontextlines @@ -792,7 +792,7 @@ Type H <return> for immediate help.}% % \end{macro} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltexpl.dtx b/Master/texmf-dist/source/latex/base/ltexpl.dtx new file mode 100644 index 00000000000..230cd911588 --- /dev/null +++ b/Master/texmf-dist/source/latex/base/ltexpl.dtx @@ -0,0 +1,99 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019-2020 +% The LaTeX3 Project and any individual authors listed elsewhere +% in this file. +% +% This file is part of the LaTeX base system. +% ------------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008 or later. +% +% This file has the LPPL maintenance status "maintained". +% +% The list of all files belonging to the LaTeX base distribution is +% given in the file `manifest.txt'. See also `legal.txt' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% +% \fi +% +% \iffalse +%%% From File: ltexpl.dtx +% +%<*driver> +% \fi +\ProvidesFile{ltexpl.dtx} + [2019-10-02 v0.0 LaTeX Kernel (expl3-dependent code)] +% \iffalse +\documentclass{ltxdoc} +\GetFileInfo{ltfinal.dtx} +\title{\filename} +\date{\filedate} +\author{% + Joseph Wright} +\begin{document} + \MaintainedByLaTeXTeam{latex} + \maketitle + \DocInput{ltfinal.dtx} +\end{document} +%</driver> +% \fi +% +% \section{\pkg{expl3}-dependent code} +% +% \StopEventually{} +% +% \changes{v0.0}{2019-10-02}{Initial version} +% +% \begin{macrocode} +%<*2ekernel> +% \end{macrocode} +% +% \subsection{Loader} +% +% Check for the required primitive/engine support and the existence of +% a loader. +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {expl3}{Pre-load expl3}% +\IfFileExists{expl3.ltx} + {% + \ifnum0% + \ifdefined\pdffilesize 1\fi + \ifdefined\filesize 1\fi + \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi + >0 % + \else + \message{Skipping expl3-dependent extensions} +%<2ekernel> \expandafter\endinput +%<latexrelease> \expandafter\@gobbletwo + \fi + } + {% + \message{Skipping expl3-dependent extensions}% +%<2ekernel> \endinput +%<latexrelease> \@gobbletwo + }% +\input{expl3.ltx} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% +% \begin{macrocode} +%</2ekernel> +% \end{macrocode} +% +% \Finale diff --git a/Master/texmf-dist/source/latex/base/ltfiles.dtx b/Master/texmf-dist/source/latex/base/ltfiles.dtx index 87a7f5e983b..33594a7b912 100644 --- a/Master/texmf-dist/source/latex/base/ltfiles.dtx +++ b/Master/texmf-dist/source/latex/base/ltfiles.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltfiles.dtx} - [2019/11/09 v1.2e LaTeX Kernel (File Handling)] + [2019/11/11 v1.2f LaTeX Kernel (File Handling)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfiles.dtx} @@ -745,7 +745,7 @@ % "a b c" -> "a b c" % a" "b" "c -> "a b c" % -> "" -%\end{verbatim} +%\end{verbatim} % \begin{macrocode} \def\quote@name#1{"\quote@@name#1\@gobble""} \def\quote@@name#1"{#1\quote@@name} @@ -761,7 +761,7 @@ % % % \begin{macro}{\IfFileExists} -% +% % \changes{v1.2a}{2019/07/01}{Support UTF-8} % \changes{v1.2b}{2019/08/27}{Make command robust} % \changes{v1.2d}{2019/10/26}{dont quote name} @@ -796,6 +796,33 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\@iffileonpath} +% If the file is not found by |\openin|, and |\input@path| is defined, +% look in all the directories specified in |\input@path|. +% \changes{v0.9p}{1994/01/18}{Macro added} +% \changes{v1.0f}{1994/05/02} +% {\cs{@break@loop} renamed to \cs{@break@tfor}} +% \changes{v1.0t}{1995/05/25} +% {(CAR) added \cs{long}} +% \changes{v1.1d}{1996/01/10} +% {Change argument handling to not require doubled hash. latex/2024} +% \changes{v1.2d}{2019/10/26}{quote on openin}% +% \changes{v1.2f}{2019/11/11}{make \cs{@filef@und} match quoting used on \cs{openin}}% +% \begin{macrocode} +\long\def\@iffileonpath#1{% + \let\reserved@a\@secondoftwo + \expandafter\@tfor\expandafter\reserved@b\expandafter + :\expandafter=\input@path\do{% + \openin\@inputcheck\expandafter\quote@name\expandafter{\reserved@b#1} % + \ifeof\@inputcheck\else + \edef\@filef@und{\expandafter\quote@name\expandafter{\reserved@b#1} }% + \let\reserved@a\@firstoftwo% + \closein\@inputcheck + \@break@tfor + \fi}% + \reserved@a} +% \end{macrocode} +% \end{macro} % % \begin{macrocode} %</2ekernel|latexrelease> @@ -825,38 +852,25 @@ %<latexrelease> \fi %<latexrelease> \reserved@a} %<latexrelease> +%<latexrelease>\long\def\@iffileonpath#1{% +%<latexrelease> \let\reserved@a\@secondoftwo +%<latexrelease> \expandafter\@tfor\expandafter\reserved@b\expandafter +%<latexrelease> :\expandafter=\input@path\do{% +%<latexrelease> \openin\@inputcheck\reserved@b#1 % +%<latexrelease> \ifeof\@inputcheck\else +%<latexrelease> \edef\@filef@und{\reserved@b#1 }% +%<latexrelease> \let\reserved@a\@firstoftwo% +%<latexrelease> \closein\@inputcheck +%<latexrelease> \@break@tfor +%<latexrelease> \fi}% +%<latexrelease> \reserved@a} +%<latexrelease> %<latexrelease>\EndIncludeInRelease %<*2ekernel> % \end{macrocode} -% % % -% \begin{macro}{\@iffileonpath} -% If the file is not found by |\openin|, and |\input@path| is defined, -% look in all the directories specified in |\input@path|. -% \changes{v0.9p}{1994/01/18}{Macro added} -% \changes{v1.0f}{1994/05/02} -% {\cs{@break@loop} renamed to \cs{@break@tfor}} -% \changes{v1.0t}{1995/05/25} -% {(CAR) added \cs{long}} -% \changes{v1.1d}{1996/01/10} -% {Change argument handling to not require doubled hash. latex/2024} -% \changes{v1.2d}{2019/10/26}{quote on openin}% -% \begin{macrocode} -\long\def\@iffileonpath#1{% - \let\reserved@a\@secondoftwo - \expandafter\@tfor\expandafter\reserved@b\expandafter - :\expandafter=\input@path\do{% - \openin\@inputcheck\expandafter\quote@name\expandafter{\reserved@b#1} % - \ifeof\@inputcheck\else - \edef\@filef@und{"\reserved@b#1" }% - \let\reserved@a\@firstoftwo% - \closein\@inputcheck - \@break@tfor - \fi}% - \reserved@a} -% \end{macrocode} -% \end{macro} +% % % \begin{macro}{\InputIfFileExists} % \changes{v0.9b} @@ -887,7 +901,7 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macro}{\@swaptwoargs} % % \changes{v1.1o}{2019/02/07}{Helper macro added} @@ -898,7 +912,7 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease diff --git a/Master/texmf-dist/source/latex/base/ltfinal.dtx b/Master/texmf-dist/source/latex/base/ltfinal.dtx index 47641e96010..56549507624 100644 --- a/Master/texmf-dist/source/latex/base/ltfinal.dtx +++ b/Master/texmf-dist/source/latex/base/ltfinal.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltfinal.dtx} - [2019/09/14 v2.1h LaTeX Kernel (Final Settings)] + [2019-10-02 v2.2 LaTeX Kernel (Final Settings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfinal.dtx} @@ -237,7 +237,7 @@ % \end{macro} % \end{macro} % \end{macro} -% +% % % % The default values of the picture and |\fbox| parameters: @@ -271,10 +271,10 @@ % \end{macrocode} % % \subsection{Lccodes for hyphenation} -% +% % \changes{v2.0a}{2015/01/03}{Unicode data loading added} % \changes{v2.0c}{2015/01/24}{Skip T1-code entirely with Unicode engines} -% \changes{v2.0d}{2015/03/26}{Use renamed +% \changes{v2.0d}{2015/03/26}{Use renamed % \texttt{unicode-letters.def}} % \changes{v2.0i}{2015/12/10}{Use new common Unicode data loaders} % \changes{v2.0j}{2016/01/04}{Do not set up inter character classes for @@ -739,7 +739,7 @@ %<latexrelease> \catcode\@tempcnta=15 %<latexrelease> \advance\@tempcnta\@ne %<latexrelease>\ifnum\@tempcnta<32 -%<latexrelease>\repeat % +%<latexrelease>\repeat % %<latexrelease>\catcode9=10 % tab %<latexrelease>\catcode10=12 % ctrl J %<latexrelease>\catcode12=13 % ctrl L @@ -1044,6 +1044,14 @@ % }{} % \end{macrocode} % +% \subsection{Loading further extensions} +% +% \changes{v2.2}{2019-10-02}{Load \textsf{ltexpl}} +% Simply load further code: it's deliberately separate +% \begin{macrocode} +\input{ltexpl.ltx} +% \end{macrocode} +% % \subsection{Freeing Memory} % % \begin{macro}{\reserved@a} @@ -1116,6 +1124,24 @@ % \end{macro} % \end{macro} % +% \subsection{Some last minute initializations \ldots} +% +% This initializes the 2020/02/02 extensions to NFSS after any changes +% in the preamble. +% \begin{macrocode} +\AtBeginDocument{\reinstall@nfss@defs\init@series@setup} +% \end{macrocode} +% +% +% +% \subsection{Do some temporary work for pre-release} +% +% This is a good place to load code that hasn't yet been +% integrated into the other files \ldots +% \begin{macrocode} +%\input ... +% \end{macrocode} +% % \subsection{Dumping the format} % Finally we make |@| into a letter, ensure the format will % be in the `normal' error mode, and dump everything into the diff --git a/Master/texmf-dist/source/latex/base/ltfloat.dtx b/Master/texmf-dist/source/latex/base/ltfloat.dtx index 7e0c35df22b..23c3f464d3f 100644 --- a/Master/texmf-dist/source/latex/base/ltfloat.dtx +++ b/Master/texmf-dist/source/latex/base/ltfloat.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltfntcmd.dtx b/Master/texmf-dist/source/latex/base/ltfntcmd.dtx index e214057bc4b..0a44d5acf1e 100644 --- a/Master/texmf-dist/source/latex/base/ltfntcmd.dtx +++ b/Master/texmf-dist/source/latex/base/ltfntcmd.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltfntcmd.dtx} - [2019/01/27 v3.4b LaTeX Kernel (Font commands)] + [2019/12/17 v3.4c LaTeX Kernel (Font commands)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltfntcmd.dtx} @@ -391,6 +391,35 @@ % \end{macro} % \end{macro} % \end{macro} + + +% \begin{macro}{textulc} +% \begin{macro}{textsw} +% \begin{macro}{textssc} +% +% \changes{v3.4c}{2019/12/17}{Macro added} +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\textulc}{Additional text commands}% +\DeclareTextFontCommand{\textulc}{\ulcshape} +\DeclareTextFontCommand{\textsw}{\swshape} +\DeclareTextFontCommand{\textssc}{\sscshape} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\textulc}{Additional text commands}% +%<latexrelease> +%<latexrelease>\let\textulc\@undefined +%<latexrelease>\let\textsw\@undefined +%<latexrelease>\let\textssc\@undefined +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\emph} % \changes{v3.0a}{1993/12/11}{Macro changed} diff --git a/Master/texmf-dist/source/latex/base/ltfssaxes.dtx b/Master/texmf-dist/source/latex/base/ltfssaxes.dtx new file mode 100644 index 00000000000..4dd7a36ca48 --- /dev/null +++ b/Master/texmf-dist/source/latex/base/ltfssaxes.dtx @@ -0,0 +1,1229 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019-2020 +% The LaTeX3 Project and any individual authors listed elsewhere +% in this file. +% +% This file is part of the LaTeX base system. +% ------------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008 or later. +% +% This file has the LPPL maintenance status "maintained". +% +% The list of all files belonging to the LaTeX base distribution is +% given in the file `manifest.txt'. See also `legal.txt' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% +% \fi +% \iffalse +%%% From File: ltfssaxes.dtx +%% Copyright (C) 1999-2020 Frank Mittelbach +% +%<*driver> +% \fi +% +% +\ProvidesFile{ltfssaxes.dtx} + [2020/01/30 v1.0a LaTeX Kernel (NFSS Axes handing)] +% \iffalse +\documentclass{ltxdoc} +\begin{document} +\DocInput{ltfssaxes.dtx} +\end{document} +%</driver> +% \fi +% +% +% +% +% \GetFileInfo{ltfssaxes.dtx} +% \title{A new font selection scheme for \TeX{} macro packages\\ +% (Axes Handling)\thanks +% {This file has version number +% \fileversion\ dated \filedate}} +% +% \author{Frank Mittelbach} +% +% \MaintainedByLaTeXTeam{latex} +% \maketitle +% +% This file contains the implementation for handling extra axes +% splitting the series and the values into sub-categories. selection +% commands. See other parts of the \LaTeX\ distribution, or \emph{The +% \LaTeX\ Companion} for higher level documentation of the +% \LaTeX\ Font Selection Scheme. +% +% +% +% \StopEventually{} +% +% Everything in the this file got introduced 2020/02/02, so we do a +% single rollback (for now). +% \begin{macrocode} +%<*2ekernel> +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\DeclareFontSeriesChangeRule}{Series change rules}% +% \end{macrocode} +% +% +% +% \section{Changing the font series} +% +% In the original NFSS implementation the series was a single +% attribute stored in \cs{f@series} and so one always had to specify +% both weight and width together. This means it was impossible to +% typeset, a paragraph in a condensed font and inside have a few words +% in bold weight (but still condensed) without doing this manually by +% requesting \verb=\fontseries{bc}\selectfont=. +% +% The new implementation now works differently by looking both at the +% current value of \cs{f@series} and the requested new series and out +% of that combination selects a resulting series value. Thus, if the +% current series is \texttt{c} and we ask for \texttt{b} we now get +% \texttt{bc}. +% +% This is done by consulting a simple lookup table. This table is +% configurable (though most likely that flexibility will seldom of +% ever be needed) Adding or changing entries in this table are done +% with \cs{DeclareFontSeriesChangeRule}. +% +% \subsection{The series lookup table} +% +% +% \begin{macro}{\DeclareFontSeriesChangeRule} +% The \cs{DeclareFontSeriesChangeRule} defines entries in a simple +% database (implemented as a set of commands) that define mappings +% between from an existing series and requested new series and maps +% that to a result series (and additionally offers an alternative +% if the desired one is not existing): +% \begin{itemize} +% \item[\texttt{\#1}] current \cs{f@series} +% \item[\texttt{\#2}] requested new series +% \item[\texttt{\#3}] result (if that exist for the given font family +% \item[\texttt{\#4}] alternative result (if \texttt{\#3} does not exist) +% \end{itemize} +% If an \texttt{.fd} file has its own substitution rules then +% \texttt{\#3} exist and thus \texttt{\#4} is not applied. +% +% If there is no matching database entry or if neither the result +% nor the alternate result exist in the font family the requested +% new series is used (which then may trigger substitutions later on. +% \begin{macrocode} +\def\DeclareFontSeriesChangeRule#1#2#3#4{% + \@namedef{series@#1@#2}{{#3}{#4}}} +% \end{macrocode} +% \end{macro} +% +% \subsection{Mapping rules for series changes} +% +% The rules set up use explicit series values not \cs{..default} +% indirections; my current feeling is that this is in fact better. +% +% With 9 weights and 9 width classes this table is getting a bit large +% in the end (324 entries) but on the other hand it doesn't change and +% accessing speed and it is fast this way. +% +% We could alternatively split the axis and maintain weight and width +% separately, but that would take more processing time and would not +% allow for setting up explicit exceptions nicely (not sure that this +% would ever get used though). +% +% Design considerations for mapping entries: +% \begin{itemize} +% \item +% +% We make \texttt{m} to reset both weight and width (as this is +% how it always worked). To reset just the width \texttt{?m} is +% provided and to reset just the weight \texttt{m?}. +% +% \item +% +% We do support ``\texttt{m}\textit{width}'' and +% ``\textit{weight}\texttt{m}'', e.g., \texttt{mec} to mean ``go to +% medium weight and extra-condensed width''. At the end of the +% process we automatically drop any leftover \texttt{m} in the +% series name (unless it is just a single \texttt{m}). +% +% +% \item +% +% If there is no table entry then the target series is used +% unconditionally. This means that any request to set both weight +% and width (e.g. \texttt{bx} or \texttt{ulc}) needs no table +% entries. +% For that reason there are no entries which have a weight+width as +% request (i.e., second argument). +% +% In particular this is also true for cases involving \texttt{m}, +% e.g., \texttt{bm} (bold medium width) which automatially gets +% reduced result in \texttt{b} or \texttt{mc} (medium weight +% condensed) which becomes \texttt{c} as a result. +% +% \item +% +% Only a few entries have ``alterative'' values and perhaps most of +% them should get dropped. Or maybe not \ldots{} needs some thought +% perhaps. +% +% The idea is that you don't want the normal substitution to kick +% in because that would reset the shape first and it may be better +% to stay with \texttt{b} when a change to \texttt{c} is requested +% and \texttt{bc} doesn't exist, than to go to first change the +% shape to \texttt{n} and then find that \texttt{bc/n} doesn't +% exist either and thus ending up wth \texttt{m/n}. +% +% \item +% +% Also: while I did set up all nine standard weight values from +% \texttt{ul} to \texttt{ub} I only bothered to provide entries for +% \texttt{ec}, \texttt{sc}, \texttt{c} and \texttt{x}, because other levels of +% compression/expansion are not in any real fonts that I know. +% +% Could and perhaps should be eventually extended to cover the +% whole set. +% +% \end{itemize} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {bc}{b}{bc}{} +\DeclareFontSeriesChangeRule {bc}{c}{bc}{} +\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc} +\DeclareFontSeriesChangeRule {bc}{el}{elc}{} +\DeclareFontSeriesChangeRule {bc}{l}{lc}{} +\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc} +\DeclareFontSeriesChangeRule {bc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {bc}{x}{bx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {bx}{b}{bx}{} +\DeclareFontSeriesChangeRule {bx}{c} {bc} {bx} %<----- +\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {bx}{ec} {bec} {bx} %<----- +\DeclareFontSeriesChangeRule {bx}{el}{elx}{} +\DeclareFontSeriesChangeRule {bx}{l}{lx}{} +\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {} +\DeclareFontSeriesChangeRule {bx}{sc} {bsc} {bx} %<----- +\DeclareFontSeriesChangeRule {bx}{sl}{slx} {} +\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {bx}{x}{bx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {b}{bx} {bx} {b} %<----- +\DeclareFontSeriesChangeRule {b}{c} {bc} {b} %<----- +\DeclareFontSeriesChangeRule {b}{ec} {bec} {b} %<----- +\DeclareFontSeriesChangeRule {b}{sb} {sb} {b} %<----- +\DeclareFontSeriesChangeRule {b}{sc} {bsc} {b} %<----- +\DeclareFontSeriesChangeRule {b}{x} {bx} {b} %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {c}{bx} {bx} {b} %<----- +\DeclareFontSeriesChangeRule {c}{b}{bc}{} +\DeclareFontSeriesChangeRule {c}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {c}{el}{elc}{} +\DeclareFontSeriesChangeRule {c}{l}{lc}{} +\DeclareFontSeriesChangeRule {c}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {c}{sl}{slc}{} +\DeclareFontSeriesChangeRule {c}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {c}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {c}{x}{x}{m} %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ebc}{b}{bc}{} +\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{} +\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc} +\DeclareFontSeriesChangeRule {ebc}{el}{elc}{} +\DeclareFontSeriesChangeRule {ebc}{l}{lc}{} +\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc} +\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{} +% \end{macrocode} +% +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ec}{bx} {bx} {b} %<----- +\DeclareFontSeriesChangeRule {ec}{b}{bec}{} +\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{} +\DeclareFontSeriesChangeRule {ec}{el}{elec}{} +\DeclareFontSeriesChangeRule {ec}{l}{lec}{} +\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{} +\DeclareFontSeriesChangeRule {ec}{sl}{slec}{} +\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{} +\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{} +\DeclareFontSeriesChangeRule {ec}{x}{x}{m} %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {sc}{bx} {bx} {b} %<----- +\DeclareFontSeriesChangeRule {sc}{b}{bsc}{} +\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{} +\DeclareFontSeriesChangeRule {sc}{el}{elsc}{} +\DeclareFontSeriesChangeRule {sc}{l}{lsc}{} +\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{} +\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{} +\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{} +\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{} +\DeclareFontSeriesChangeRule {sc}{x}{x}{m} %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ebx}{b}{bx}{} +\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{} +\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{} +\DeclareFontSeriesChangeRule {ebx}{el}{elx}{} +\DeclareFontSeriesChangeRule {ebx}{l}{lx}{} +\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{} +\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {eb}{c}{ebc}{} +\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{} +\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{} +\DeclareFontSeriesChangeRule {eb}{x}{ebx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {elc}{b}{bc}{} +\DeclareFontSeriesChangeRule {elc}{c}{elc}{} +\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {elc}{ec}{elec}{} +\DeclareFontSeriesChangeRule {elc}{el}{elc}{} +\DeclareFontSeriesChangeRule {elc}{l}{lc}{} +\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{} +\DeclareFontSeriesChangeRule {elc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {elc}{x}{elx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {elx}{b}{bx}{} +\DeclareFontSeriesChangeRule {elx}{c}{elc}{} +\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {elx}{ec}{elec}{} +\DeclareFontSeriesChangeRule {elx}{el}{elx}{} +\DeclareFontSeriesChangeRule {elx}{l}{lx}{} +\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{} +\DeclareFontSeriesChangeRule {elx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {elx}{x}{elx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {el}{c}{elc}{} +\DeclareFontSeriesChangeRule {el}{ec}{elec}{} +\DeclareFontSeriesChangeRule {el}{sc}{elsc}{} +\DeclareFontSeriesChangeRule {el}{x}{elx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {lc}{b}{bc}{} +\DeclareFontSeriesChangeRule {lc}{c}{lc}{} +\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {lc}{ec}{lec}{} +\DeclareFontSeriesChangeRule {lc}{el}{elc}{} +\DeclareFontSeriesChangeRule {lc}{l}{lc}{} +\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{} +\DeclareFontSeriesChangeRule {lc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {lc}{x}{lx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {lx}{b}{bx}{} +\DeclareFontSeriesChangeRule {lx}{c}{lc}{} +\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {lx}{ec}{lec}{} +\DeclareFontSeriesChangeRule {lx}{el}{elx}{} +\DeclareFontSeriesChangeRule {lx}{l}{lx}{} +\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{} +\DeclareFontSeriesChangeRule {lx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {lx}{x}{lx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {l}{bx} {bx} {b} %<----- +\DeclareFontSeriesChangeRule {l}{b} {b} {bx} %<----- +\DeclareFontSeriesChangeRule {l}{c} {lc} {l} % ? %<----- +\DeclareFontSeriesChangeRule {l}{ec} {lec} {l} % ? %<----- +\DeclareFontSeriesChangeRule {l}{sb} {sb} {b} % ? %<----- +\DeclareFontSeriesChangeRule {l}{sc} {lsc} {l} % ? %<----- +\DeclareFontSeriesChangeRule {l}{x} {lx} {l} % ? %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {m}{bx} {bx} {b} %<----- +\DeclareFontSeriesChangeRule {m}{b} {b} {bx} %<----- +\DeclareFontSeriesChangeRule {m}{c} {c} {m} %<----- +\DeclareFontSeriesChangeRule {m}{ec} {ec} {m} %<----- +\DeclareFontSeriesChangeRule {m}{l} {l} {m} %<----- +\DeclareFontSeriesChangeRule {m}{sb} {sb} {b} %<----- +\DeclareFontSeriesChangeRule {m}{sc} {sc} {m} %<----- +\DeclareFontSeriesChangeRule {m}{x} {x} {m} %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {sbc}{b}{bc}{} +\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{} +\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc} +\DeclareFontSeriesChangeRule {sbc}{el}{elc}{} +\DeclareFontSeriesChangeRule {sbc}{l}{lc}{} +\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc} +\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {sbx}{b}{bx}{} +\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{} +\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{} +\DeclareFontSeriesChangeRule {sbx}{el}{elx}{} +\DeclareFontSeriesChangeRule {sbx}{l}{lx}{} +\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{} +\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {sb}{c} {sbc} {bc} %? %<----- +\DeclareFontSeriesChangeRule {sb}{ec} {sbec} {sbc} %? %<----- +\DeclareFontSeriesChangeRule {sb}{sc} {sbsc} {sbc} %? %<----- +\DeclareFontSeriesChangeRule {sb}{x} {sbx} {bx} %? %<----- +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {slc}{b}{bc}{} +\DeclareFontSeriesChangeRule {slc}{c}{slc}{} +\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {slc}{ec}{slec}{} +\DeclareFontSeriesChangeRule {slc}{el}{elc}{} +\DeclareFontSeriesChangeRule {slc}{l}{lc}{} +\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{} +\DeclareFontSeriesChangeRule {slc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {slc}{x}{slx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {slx}{b}{bx}{} +\DeclareFontSeriesChangeRule {slx}{c}{slc}{} +\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {slx}{ec}{slec}{} +\DeclareFontSeriesChangeRule {slx}{el}{elx}{} +\DeclareFontSeriesChangeRule {slx}{l}{lx}{} +\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{} +\DeclareFontSeriesChangeRule {slx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {slx}{x}{slx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {sl}{c}{slc}{} +\DeclareFontSeriesChangeRule {sl}{ec}{slec}{} +\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{} +\DeclareFontSeriesChangeRule {sl}{x}{slx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ubc}{b}{bc}{} +\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{} +\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{} +\DeclareFontSeriesChangeRule {ubc}{el}{elc}{} +\DeclareFontSeriesChangeRule {ubc}{l}{lc}{} +\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{} +\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ubx}{b}{bx}{} +\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{} +\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{} +\DeclareFontSeriesChangeRule {ubx}{el}{elx}{} +\DeclareFontSeriesChangeRule {ubx}{l}{lx}{} +\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{} +\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ub}{c}{ubc}{} +\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{} +\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{} +\DeclareFontSeriesChangeRule {ub}{x}{ubx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ulc}{b}{bc}{} +\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{} +\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{} +\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc} +\DeclareFontSeriesChangeRule {ulc}{el}{elc}{} +\DeclareFontSeriesChangeRule {ulc}{l}{lc}{} +\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{} +\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc} +\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{} +\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{} +\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{} +\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ulx}{b}{bx}{} +\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{} +\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{} +\DeclareFontSeriesChangeRule {ulx}{el}{elx}{} +\DeclareFontSeriesChangeRule {ulx}{l}{lx}{} +\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{} +\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{} +\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{} +\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {ul}{c}{ulc}{} +\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{} +\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{} +\DeclareFontSeriesChangeRule {ul}{x}{ulx}{} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareFontSeriesChangeRule {x}{b}{bx}{} +\DeclareFontSeriesChangeRule {x}{c}{c}{} +\DeclareFontSeriesChangeRule {x}{eb}{ebx}{} +\DeclareFontSeriesChangeRule {x}{ec}{ec}{} +\DeclareFontSeriesChangeRule {x}{el}{elx}{} +\DeclareFontSeriesChangeRule {x}{l}{lx}{} +\DeclareFontSeriesChangeRule {x}{sb}{sbx}{} +\DeclareFontSeriesChangeRule {x}{sc}{sc}{} +\DeclareFontSeriesChangeRule {x}{sl}{slx}{} +\DeclareFontSeriesChangeRule {x}{ub}{ubx}{} +\DeclareFontSeriesChangeRule {x}{ul}{ulx}{} +% \end{macrocode} +% +% +% Special rules for \texttt{lm} etc.\ aren't needed because if the +% target \texttt{lm} is request it will used if there is no rule +% and that id then reduced to \texttt{l} +% automatically. Same for \texttt{mc} and friends. Only \texttt{?m} +% and \texttt{m?} need rules. +% +% So here are the special rules for \texttt{m?}: +% \begin{macrocode} +\DeclareFontSeriesChangeRule {bc}{m?}{c}{} +\DeclareFontSeriesChangeRule {bec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {bx}{m?}{x}{} +\DeclareFontSeriesChangeRule {b}{m?}{m}{} +\DeclareFontSeriesChangeRule {c}{m?}{c}{} +\DeclareFontSeriesChangeRule {ebc}{m?}{c}{} +\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {ebx}{m?}{x}{} +\DeclareFontSeriesChangeRule {eb}{m?}{m}{} +\DeclareFontSeriesChangeRule {ec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {elc}{m?}{c}{} +\DeclareFontSeriesChangeRule {elec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {elx}{m?}{x}{} +\DeclareFontSeriesChangeRule {el}{m?}{m}{} +\DeclareFontSeriesChangeRule {lc}{m?}{c}{} +\DeclareFontSeriesChangeRule {lec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {lx}{m?}{x}{} +\DeclareFontSeriesChangeRule {l}{m?}{m}{} +\DeclareFontSeriesChangeRule {m}{m?}{m}{} +\DeclareFontSeriesChangeRule {sbc}{m?}{c}{} +\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {sbx}{m?}{x}{} +\DeclareFontSeriesChangeRule {sb}{m?}{m}{} +\DeclareFontSeriesChangeRule {sc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {slc}{m?}{c}{} +\DeclareFontSeriesChangeRule {slec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {slx}{m?}{x}{} +\DeclareFontSeriesChangeRule {sl}{m?}{m}{} +\DeclareFontSeriesChangeRule {ubc}{m?}{c}{} +\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {ubx}{m?}{x}{} +\DeclareFontSeriesChangeRule {ub}{m?}{ub}{} +\DeclareFontSeriesChangeRule {ulc}{m?}{c}{} +\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{} +\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{} +\DeclareFontSeriesChangeRule {ulx}{m?}{x}{} +\DeclareFontSeriesChangeRule {ul}{m?}{m}{} +\DeclareFontSeriesChangeRule {x}{m?}{x}{} +% \end{macrocode} +% +% And there the special rules for \texttt{?m}: +% \begin{macrocode} +\DeclareFontSeriesChangeRule {bc}{?m}{b}{} +\DeclareFontSeriesChangeRule {bec}{?m}{b}{} +\DeclareFontSeriesChangeRule {bsc}{?m}{b}{} +\DeclareFontSeriesChangeRule {bsc}{?m}{b}{} +\DeclareFontSeriesChangeRule {bx}{?m}{b}{} +\DeclareFontSeriesChangeRule {b}{?m}{b}{} +\DeclareFontSeriesChangeRule {c}{?m}{m}{} +\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{} +\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{} +\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{} +\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{} +\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{} +\DeclareFontSeriesChangeRule {eb}{?m}{eb}{} +\DeclareFontSeriesChangeRule {ec}{?m}{m}{} +\DeclareFontSeriesChangeRule {elc}{?m}{el}{} +\DeclareFontSeriesChangeRule {elec}{?m}{el}{} +\DeclareFontSeriesChangeRule {elsc}{?m}{el}{} +\DeclareFontSeriesChangeRule {elsc}{?m}{el}{} +\DeclareFontSeriesChangeRule {elx}{?m}{el}{} +\DeclareFontSeriesChangeRule {el}{?m}{el}{} +\DeclareFontSeriesChangeRule {lc}{?m}{l}{} +\DeclareFontSeriesChangeRule {lec}{?m}{l}{} +\DeclareFontSeriesChangeRule {lsc}{?m}{l}{} +\DeclareFontSeriesChangeRule {lsc}{?m}{l}{} +\DeclareFontSeriesChangeRule {lx}{?m}{l}{} +\DeclareFontSeriesChangeRule {l}{?m}{l}{} +\DeclareFontSeriesChangeRule {m}{?m}{m}{} +\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{} +\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{} +\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{} +\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{} +\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{} +\DeclareFontSeriesChangeRule {sb}{?m}{sb}{} +\DeclareFontSeriesChangeRule {sc}{?m}{m}{} +\DeclareFontSeriesChangeRule {sc}{?m}{m}{} +\DeclareFontSeriesChangeRule {slc}{?m}{sl}{} +\DeclareFontSeriesChangeRule {slec}{?m}{sl}{} +\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{} +\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{} +\DeclareFontSeriesChangeRule {slx}{?m}{sl}{} +\DeclareFontSeriesChangeRule {sl}{?m}{sl}{} +\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{} +\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{} +\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{} +\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{} +\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{} +\DeclareFontSeriesChangeRule {ub}{?m}{m}{} +\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{} +\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{} +\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{} +\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{} +\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{} +\DeclareFontSeriesChangeRule {ul}{?m}{ul}{} +\DeclareFontSeriesChangeRule {x}{?m}{m}{} +% \end{macrocode} +% +% + + +% \subsection{Changing to a new series} +% + +% \begin{macro}{\fontseriesforce} +% To change unconditionally to a new series you can use +% \cs{fontseriesforce}. If course, if the series doesn't exist for +% the current family substitution still happens, but there is not +% dependency on the current series. +% \begin{macrocode} +\DeclareRobustCommand\fontseriesforce[1]{\edef\f@series{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fontseries} +% The \cs{fontseries} command takes one argument which is the requested new +% font series. In the orginal implementation it simply saved the +% expanded value in \cs{f@series}. Now we do a bit more processing +% and look up the final value in the font series data base. This is +% done by \cs{merge@font@series}. +% \begin{macrocode} +\DeclareRobustCommand\fontseries[1]{\merge@font@series{#1}} +% \end{macrocode} +% \end{macro} + + +% \begin{macro}{\merge@font@series} +% We look up the data base value by expanding the right command +% twice. If no such value exist then the result will be \cs{relax} +% otherwise it will be the two brace groups: the desired result and +% the alternate result. The first case means that the third +% argument to \cs{merge@font@series} will be empty. +% \begin{macrocode} +\def\merge@font@series#1{% + \expandafter\expandafter\expandafter + \merge@font@series@ + \csname series@\f@series @#1\endcsname + {#1}% + \@nil +} +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\merge@font@series@} +% This now defines the new \cs{f@series}: +% \begin{macrocode} +\def\merge@font@series@#1#2#3\@nil{% +% \end{macrocode} +% If the third argument is empty there is no database entry for the +% combination and the second argument holds the new series so we +% return that. +% +% Originally the test was simply \verb=\ifx!#3!= but that actually +% dies if \texttt{\#3} starts with a conditional and in the +% definition of \cs{AmSfont} that is actually the case. +% \begin{macrocode} +%\ifcat\expandafter X\detokenize{#1}X% + \def\@reserveda{#3}% + \ifx\@reserveda\@empty + \set@target@series{#2}% + \else +% \end{macrocode} +% Otherwise we check if the desired result for the series +% (\texttt{\#1}) exists for the font family and the current shape. +% As the \texttt{.fd} is perhaps not loaded yet, we first +% have to do that, otherwise the test would fail even if the face +% is actually available. +% \begin{macrocode} + \maybe@load@fontshape + \edef\@reserveda{\f@encoding /\f@family /#1/\f@shape}% + \ifcsname \@reserveda \endcsname +% \end{macrocode} +% If the desired result is available then we use that. However, we +% do need some post-processing because we need to drop surplus +% \texttt{m}s due to the way naming convention was designed in the +% '90s (sigh). +% \begin{macrocode} + \set@target@series{#1}% +% \end{macrocode} +% If not, then we try the alternate result (\texttt{\#2}). +% \begin{macrocode} + \else + \ifcsname \f@encoding /\f@family /#2/\f@shape \endcsname +% \end{macrocode} +% If the alternate result exist we use that and also issue a +% warning (or rather a log entry) that we didn't managed to change +% to the desired font. +% \begin{macrocode} + \set@target@series{#2}% + \@font@shape@subst@warning +% \end{macrocode} +% If that doesn't exist either, then we use the requested series unmodified +% (again with a warning). +% \begin{macrocode} + \else + \set@target@series{#3}% + \@font@shape@subst@warning + \fi + \fi + \fi +} +% \end{macrocode} +% It is possible that the previous font and the new one are +% actually identical (and the font was not found because it still +% needs loading) in which case a warning would look rather odd. So +% we make a quick check for that (which is the reason why we defined +% \cs{@reserveda} above. +% \begin{macrocode} +\def\@font@shape@subst@warning{% + \edef\@reservedb{\curr@fontshape}% + \ifx\@reserveda\@reservedb \else + \@font@warning{Font shape `\@reserveda' undefined\MessageBreak + using `\@reservedb' instead}% + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% +% +% \begin{macro}{\maybe@load@fontshape} +% A small helper that we use a couple of times: try loading a +% fontshape (in a group because \cs{try@load@fontshape} normalizes +% catcodes). +% \begin{macrocode} +\def\maybe@load@fontshape{\begingroup\try@load@fontshape\endgroup} +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macro}{\set@target@series} +% \begin{macro}{\series@drop@one@m} +% +% Finally the code for normalizing the \cs{f@series} value. +% +% The combined series value determined by the mapping may still +% contain an \texttt{m} that we have to remove (as the \texttt{.fd} +% files use \texttt{c} not \texttt{mc} to denote a medium weight +% condensed series, etc.). We do this in all branches above because a user +% might have written +%\begin{verbatim} +\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc} +%\end{verbatim} +% instead of using \texttt{sc} and \texttt{c} as needed in the +% \texttt{.fd} file. +% \begin{macrocode} +\def\set@target@series#1{% +% \end{macrocode} +% We need to \cs{edef} the argument first in case it starts with a +% conditional. +% \begin{macrocode} + \edef\f@series{#1}% + \edef\f@series{\expandafter\series@drop@one@m\f@series mm\series@drop@one@m}% +} +% \end{macrocode} +% Drop up to two \texttt{m}s but keep one if that makes the series +% value empty. +% \begin{macrocode} +\def\series@drop@one@m#1m#2m#3\series@drop@one@m{% + \ifx\relax#1#2\relax m\else#1#2\fi +} +% \end{macrocode} +% \end{macro} +% \end{macro} + + + +% \section{Changing the shape} +% +% Shapes are also split in two axes (though it could be more if +% that is desirable), essentially building in an ``sc'' +% axis). +% +% +% +% \begin{macro}{\DeclareFontShapeChangeRule} +% The database for shapes is done in exactly the same way, only +% that it is much smaller and we usually have no alternative shape +% (or rather it is empty thus not used). +% \begin{macrocode} +\def\DeclareFontShapeChangeRule #1#2#3#4{% + \@namedef{shape@#1@#2}{{#3}{#4}}} +% \end{macrocode} +% \end{macro} +% +% +% There is kind of the same problem with returning back from +% \texttt{sc} to normal. It sort of needs its own letter. In +% \texttt{fontspec} this was solved by the first time \cs{upshape} changes +% \texttt{it} or \texttt{sl} back (so only \texttt{sc} remains) and +% second time it changes then \texttt{sc} back to normal. Maybe +% that's not a bad way to handle it, but decided for a slightly +% different approach: \texttt{n} always returns to ``normal'', ie +% resets everything and \texttt{up} changes italic or slanted to +% upright and \texttt{ulc} undoes small caps. +% +% So we now offer \cs{normalshape} (using \cs{shapedefault} which is normally the same as +% calling both \cs{ulcshape} and \cs{upshape}, only more efficient. +% +% +% \begin{macro}{\ulcshape} +% \begin{macro}{\textulc} +% \begin{macro}{\ulcdefault} +% To request going back to upper/lowercase we need a new +% command. It uses \texttt{ulc} as shape name but this shape is +% virtual, i.e., it doesn't exist as a real shape, it is only used +% as part of the database table entries and thus only appears in +% the second argument there (but not in the first). +% \begin{macrocode} +\DeclareRobustCommand\ulcshape + {\not@math@alphabet\ulcshape\relax + \fontshape\ulcdefault\selectfont} +\newcommand\ulcdefault{ulc} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\swshape} +% \begin{macro}{\textsw} +% \begin{macro}{\swdefault} +% New command to select a swash shape. The standard rules put this +% in the same category as italics or slanted, i.e., if you ask for +% it then italics are undone. One could provide more complicated +% rules so that \texttt{it} + \texttt{sw} becomes \texttt{swit} but +% given that there are only very few fonts that have swash letters +% that level of flexibility (these days) would be just resulting in +% a lot of combinations that do not exist. +% \begin{macrocode} +\DeclareRobustCommand\swshape + {\not@math@alphabet\swshape\relax + \fontshape\swdefault\selectfont} +\newcommand\swdefault{sw} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% +% \begin{macro}{\sscshape} +% \begin{macro}{\textssc} +% \begin{macro}{\sscdefault} +% New command to select spaced small capitals. This is only here +% because \texttt{fontaxes} offered it. There isn't a single free +% font that supports it. However, some commercial ones do, so we +% offer it so that at some point \texttt{fontaxes} could be +% retired. +% +% So far there aren't any rules for it---probably there should be +% some putting it in the same category as \texttt{sc}. +% \begin{macrocode} +\DeclareRobustCommand\sscshape + {\not@math@alphabet\sscshape\relax + \fontshape\sscdefault\selectfont} +\newcommand\sscdefault{ssc} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% +% \subsection{Mapping rules for shape combinations} +% +% Many of the entries are commented out as we will get that result +% without any entry. +% \begin{macrocode} +%\DeclareFontShapeChangeRule {n}{n} {n} {} +\DeclareFontShapeChangeRule {n}{it} {it} {sl} +\DeclareFontShapeChangeRule {n}{sl} {sl} {it} +%\DeclareFontShapeChangeRule {n}{sw} {sw} {} +%\DeclareFontShapeChangeRule {n}{sc} {sc} {} +\DeclareFontShapeChangeRule {n}{ulc} {n} {} +\DeclareFontShapeChangeRule {n}{up} {n} {} +% \end{macrocode} +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {it}{n} {n} {} +%\DeclareFontShapeChangeRule {it}{it} {it} {} +\DeclareFontShapeChangeRule {it}{sl} {sl} {it} +%\DeclareFontShapeChangeRule {it}{sw} {sw} {} +% \end{macrocode} +% If neither \texttt{scit} nor \texttt{scsl} exist then \texttt{sc} +% will be used as a fallback albeit with a log entry, so except for +% the latter there will be no change for CM or Latin Modern fonts. +% \begin{macrocode} +\DeclareFontShapeChangeRule {it}{sc} {scit} {scsl} +\DeclareFontShapeChangeRule {it}{ulc} {it} {} +\DeclareFontShapeChangeRule {it}{up} {n} {} +% \end{macrocode} +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {sl}{n} {n} {} +\DeclareFontShapeChangeRule {sl}{it} {it} {sl} +%\DeclareFontShapeChangeRule {sl}{sl} {sl} {} +%\DeclareFontShapeChangeRule {sl}{sw} {sw} {} +\DeclareFontShapeChangeRule {sl}{sc} {scsl} {scit} +\DeclareFontShapeChangeRule {sl}{ulc} {sl} {} +\DeclareFontShapeChangeRule {sl}{up} {n} {} +% \end{macrocode} +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {sc}{n} {n} {} +\DeclareFontShapeChangeRule {sc}{it} {scit} {scsl} +\DeclareFontShapeChangeRule {sc}{sl} {scsl} {scit} +\DeclareFontShapeChangeRule {sc}{sw} {scsw} {sw} +%\DeclareFontShapeChangeRule {sc}{sc} {sc} {} +\DeclareFontShapeChangeRule {sc}{ulc} {n} {} +% \end{macrocode} +% +% The next rule might be a bit surprising and rightly so. Correct +% would be that \texttt{sc} is not affected by \texttt{up}, i.e., +% remains \texttt{sc} as showed in the commented out rule. However, +% for nearly three decades commands such as \upshape{sc} or +% \cs{textup} changed small caps back to the ``normal'' shape. So +% for backward compatibility we keep hat behavior. +% +% As a result you are currently typesetting in \texttt{scit} or +% \texttt{scsl} using \cs{upshape} twice will return you to the +% normal shape too, the first will change to \texttt{sc} and the +% second (because of the rule below) change that to +% \texttt{n}. This is the way \texttt{fontspec} implemented its +% version on this interface, so this rule means we are also +% compatible with the way \texttt{fontspec} behaved. Still it +% remains an odditywhic I would rather liked to have avoided. +% \begin{macrocode} +%\DeclareFontShapeChangeRule {sc}{up} {sc} {} +\DeclareFontShapeChangeRule {sc}{up} {n} {} +% \end{macrocode} +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {scit}{n} {n} {} +\DeclareFontShapeChangeRule {scit}{it} {scit} {} +\DeclareFontShapeChangeRule {scit}{sl} {scsl} {scit} +\DeclareFontShapeChangeRule {scit}{sw} {scsw} {sc} % or scit? +\DeclareFontShapeChangeRule {scit}{sc} {scit} {} +\DeclareFontShapeChangeRule {scit}{ulc} {it} {} +\DeclareFontShapeChangeRule {scit}{up} {sc} {} +% \end{macrocode} +% The previous rule assumes that if \texttt{scit} exists then +% \texttt{it} exists as well. If not, the mechanism will save +% \texttt{ulc} in \cs{f@series} which most certainly doesn't +% exist. So when a font is later selected that would result in a +% substitution (so no harm done really). Alternatively, we could in +% this case use \texttt{n} as aternative, which may be a bit +% faster, but such a setup would be so weird in the first place +% that this isn't worth the effort. +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {scsl}{n} {n} {} +\DeclareFontShapeChangeRule {scsl}{it} {scit} {scsl} +\DeclareFontShapeChangeRule {scsl}{sl} {scsl} {} +\DeclareFontShapeChangeRule {scsl}{sw} {scsw} {sc} % or scsl? +\DeclareFontShapeChangeRule {scsl}{sc} {scsl} {} +\DeclareFontShapeChangeRule {scsl}{ulc} {sl} {} +\DeclareFontShapeChangeRule {scsl}{up} {sc} {} +% \end{macrocode} +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {scsw}{n} {n} {} +\DeclareFontShapeChangeRule {scsw}{it} {scit} {scsw} +\DeclareFontShapeChangeRule {scsw}{sl} {scsl} {} +\DeclareFontShapeChangeRule {scsw}{sw} {scsw} {} +\DeclareFontShapeChangeRule {scsw}{sc} {scsw} {} +\DeclareFontShapeChangeRule {scsw}{ulc} {sw} {} +\DeclareFontShapeChangeRule {scsw}{up} {sc} {} +% \end{macrocode} +% +% \begin{macrocode} +%\DeclareFontShapeChangeRule {sw}{n} {n} {} +%\DeclareFontShapeChangeRule {sw}{it} {it} {} +%\DeclareFontShapeChangeRule {sw}{sl} {sl} {} +%\DeclareFontShapeChangeRule {sw}{sw} {sw} {} +\DeclareFontShapeChangeRule {sw}{sc} {scsw} {} +\DeclareFontShapeChangeRule {sw}{ulc} {sw} {} +\DeclareFontShapeChangeRule {sw}{up} {n} {} +% \end{macrocode} +% +% +% \subsection{Changing to a new shape} +% +% \begin{macro}{\fontshape} +% Again the \cs{fontshape} now has to do a lookup to get to its new +% value in \cs{f@shape}. The method is exactly the same as in +% \cs{fontseries}. +% \begin{macrocode} +\DeclareRobustCommand\fontshape[1]{\merge@font@shape{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fontshapeforce} +% The unconditional version: +% \begin{macrocode} +\DeclareRobustCommand\fontshapeforce[1]{\edef\f@shape{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\merge@font@shape} +% Look up the database entry (if existing) and act accordingly. +% \begin{macrocode} +\def\merge@font@shape#1{% + \expandafter\expandafter\expandafter + \merge@font@shape@ + \csname shape@\f@shape @#1\endcsname + {#1}% + \@nil +} +% \end{macrocode} +% \end{macro} +% + +% \begin{macro}{\merge@font@shape@} +% Same game now, except that we look at shapes not series values +% and we can set the shape without the complication of dropping +% ``m''s from the name as we had to for the series. +% \begin{macrocode} +\def\merge@font@shape@#1#2#3\@nil{% + \def\@reserveda{#3}% + \ifx\@reserveda\@empty + \edef\f@shape{#2}% + \else + \maybe@load@fontshape + \edef\@reserveda{\f@encoding /\f@family /\f@series/#1}% + \ifcsname \@reserveda\endcsname + \edef\f@shape{#1}% + \else + \ifcsname \f@encoding /\f@family /\f@series/#2\endcsname + \edef\f@shape{#2}% + \@font@shape@subst@warning + \else + \edef\f@shape{#3}% + \@font@shape@subst@warning + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macro}{\normalshape} +% +% \cs{normalshape} resets both sub-axes if the default rules are used. +% \begin{macrocode} +\protected\def\normalshape + {\not@math@alphabet\normalshape\relax + \fontshape\shapedefault\selectfont}% +% \end{macrocode} +% \end{macro} +% +% +% +% +% \section{Make sure we win \ldots} +% +% This code implements one aspect of what the package \textsf{fontaxes} +% provide. So its redefinitions for the various shape commands, +% such as \cs{itshape} should no longer happen. We therefore force +% the standard definitions at \cs{AtBeginDocument} (later when this +% is defined. Once +% \texttt{fontaxes} is no longer doing such redefinitions that could +% be taken out again. +% +% We use a separate macro so that we can easily disable this (in +% case of rollback). +% +% \begin{macro}{\reinstall@nfss@defs} +% +% I use \cs{protected} here not \cs{DeclareRobustCommand} to avoid +% extra status lines. +% \begin{macrocode} +\def\reinstall@nfss@defs{% + \protected\def\upshape + {\not@math@alphabet\upshape\relax + \fontshape\updefault\selectfont}% + \protected\def\slshape + {\not@math@alphabet\slshape\relax + \fontshape\sldefault\selectfont}% + \protected\def\scshape + {\not@math@alphabet\scshape\relax + \fontshape\scdefault\selectfont}% + \protected\def\itshape + {\not@math@alphabet\itshape\mathit + \fontshape\itdefault\selectfont}% + \protected\def\ulcshape + {\not@math@alphabet\ulcshape\relax + \fontshape{ulc}\selectfont}% + \protected\def\swshape + {\not@math@alphabet\swshape\relax + \fontshape\swdefault\selectfont}% + \protected\def\sscshape + {\not@math@alphabet\sscshape\relax + \fontshape\sscdefault\selectfont}% +} +% \end{macrocode} +% \end{macro} +% +% +% Supporting rollback \ldots +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\DeclareFontSeriesChangeRule}{Series change rules}% +%<latexrelease> +%<latexrelease>\DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}} +%<latexrelease>\DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}} +%<latexrelease>\let\fontseriesforce\@undefined +%<latexrelease>\let\fontshapeforce\@undefined +%<latexrelease> +%<latexrelease>\let\DeclareFontSeriesChangeRule\@undefined +%<latexrelease>\let\merge@font@series\@undefined +%<latexrelease>\let\merge@font@series@\@undefined +%<latexrelease>\let\@font@shape@subst@warning\@undefined +%<latexrelease>\let\maybe@load@fontshape\@undefined +%<latexrelease>\let\set@target@series\@undefined +%<latexrelease>\let\series@drop@one@m\@undefined +%<latexrelease>\let\DeclareFontShapeChangeRule\@undefined +%<latexrelease>\let\merge@font@shape\@undefined +%<latexrelease>\let\merge@font@shape@\@undefined +%<latexrelease>\let\normalshape\@undefined +%<latexrelease>\let\ulcshape\@undefined +%<latexrelease>\let\ulcdefault\@undefined +%<latexrelease>\let\swshape\@undefined +%<latexrelease>\let\swdefault\@undefined +%<latexrelease>\let\sscshape\@undefined +%<latexrelease>\let\sscdefault\@undefined +%<latexrelease>\let\normalshape\@undefined +% \end{macrocode} +% This is always called in \cs{document} so don't make it undefined. +% \begin{macrocode} +%<latexrelease> +%<latexrelease>\let\reinstall@nfss@defs\relax +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +%</2ekernel> +% \end{macrocode} +% +% \Finale +% diff --git a/Master/texmf-dist/source/latex/base/ltfssbas.dtx b/Master/texmf-dist/source/latex/base/ltfssbas.dtx index da9dab5d382..b59b0fafdd6 100644 --- a/Master/texmf-dist/source/latex/base/ltfssbas.dtx +++ b/Master/texmf-dist/source/latex/base/ltfssbas.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -35,7 +35,7 @@ % % \ProvidesFile{ltfssbas.dtx} - [2019/08/27 v3.2d LaTeX Kernel (NFSS Basic Macros)] + [2019/12/17 v3.2e LaTeX Kernel (NFSS Basic Macros)] % \iffalse \documentclass{ltxdoc} \begin{document} @@ -800,16 +800,11 @@ % \begin{macro}{\f@shape} % \begin{macrocode} \DeclareRobustCommand\fontfamily[1]{\edef\f@family{#1}} -\DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}} -\DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}} % \end{macrocode} -% Some handy abbreviation if you want to get some particular font -% in the current size. If also the size should change one has to -% issue a |\fontsize| command first. +% There are now defined later (and differently). % \begin{macrocode} -\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}% - \fontseries{#3}\fontshape{#4}\selectfont - \ignorespaces} +%\DeclareRobustCommand\fontseries[1]{\edef\f@series{#1}} +%\DeclareRobustCommand\fontshape [1]{\edef\f@shape{#1}} % \end{macrocode} % \end{macro} % \end{macro} @@ -819,6 +814,31 @@ % \end{macro} % % +% +% \begin{macro}{\usefont} +% Some handy abbreviation if you want to get some particular font +% in the current size. If also the size should change one has to +% issue a |\fontsize| command first. +% +% \cs{fontencoding} needs to do some setup work so we call that, +% but instead of calling \cs{fontfamily}, \cs{fontseries} and +% \cs{fontshape} it earlier versions of this code did, we now set +% \cs{f@family}, etc.\ directly. If we would call \cs{fontseries} +% or \cs{fontshape} as it +% was done in the past, they would now interact with the existing +% series and shape which is not desired if we intend to use an +% explicit font shape! +% \changes{v3.2e}{2019/12/17}{Don't call \cs{fontseries} or \cs{fontshape}} +% \begin{macrocode} +\DeclareRobustCommand\usefont[4]{\fontencoding{#1}% + \edef\f@family{#2}% + \edef\f@series{#3}% + \edef\f@shape{#4}\selectfont + \ignorespaces} +% \end{macrocode} +% \end{macro} +% +% % \begin{macro}{\linespread} % \changes{v2.1j}{1994/05/12}{New macro} % \changes{v2.1p}{1994/05/16}{Remove surplus braces} @@ -1269,6 +1289,122 @@ % \end{macro} % % +% +% \begin{macro}{\LoadFontDefinitionFile} +% Load and \texttt{.fd} files for some encoding and family (if it exists). +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\LoadFontDefinitionFile}{Loading .fd files}% +\def\LoadFontDefinitionFile#1#2{% + \begingroup + \edef\f@encoding{#1}% + \edef\f@family{#2}% + \try@load@fontshape + \endgroup +} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\LoadFontDefinitionFile}{Loading .fd files}% +%<latexrelease> +%<latexrelease>\let\LoadFontDefinitionFile\@undefined +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% \end{macro} +% +% +% + +% \begin{macro}{\DeclareFontFamilySubstitution} +% The idea for this macro is stolen from the \texttt{substitutefont} +% package by Günter Milde, with some modifications and a new name. +% +% Its purpose is to provide characters in a special encoding tht +% are not available in the current font family to be taken from a +% different family that is visually compatible (or not if you +% choose badly). For example, you can match the GFS Didot Greek +% characters with \TeX{} Gyre Pagella (Palatino) by specifying +%\begin{verbatim} +% \DeclareFontFamilySubstitution{LGR}{qpl}{udidot} +%\end{verbatim} +% This way if you ask for the \texttt{LGR} encoding in for the +% \texttt{qpl} family you get the characters from the +% \texttt{udidot} family substituted. +% +% We need to ensure that the macro is defined with +% \cs{nfss@catcodes} in force (not quite sure why at the moment to +% be honest). +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\DeclareFontFamilySubstitution}{Provide family substituation}% +\begingroup +\nfss@catcodes +\gdef\DeclareFontFamilySubstitution#1#2#3{% +% \end{macrocode} +% We only provide a set of silent substitutions. The package also +% (re)declared the family, but this is incorrect in my eyes and it +% is better to handle that differently. +% +% Of course the families may still need loading at +% this point and so we arange for this. Otherwise we might run into +% trouble because the necessary \cs{DeclareFontFamily} has not been +% seen. +% \begin{macrocode} + \LoadFontDefinitionFile{#1}{#2}% + \LoadFontDefinitionFile{#1}{#3}% +% \end{macrocode} +% +% \begin{macrocode} + \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}% + \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}% + \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}% + \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}% +% \end{macrocode} +% These days a few more shapes might be around, so we declare those +% too. If they don't exist then after the first substitution normal +% fallbacks will happen. +% \begin{macrocode} + \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}% + \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}% + \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}% +% \end{macrocode} +% Same game with \texttt{b} and \texttt{bx}, for other weights you +% are on your own: +% \begin{macrocode} + \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}% + \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}% + \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}% + \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}% + \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}% + \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}% + \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}% + \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}% + \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}% + \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}% + \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}% + \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}% + \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}% + \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}% +} +\endgroup +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\DeclareFontFamilySubstitution}{Provide family substituation}% +%<latexrelease> +%<latexrelease>\let\DeclareFontFamilySubstitution\@undefined +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% \end{macro} +% +% +% % \begin{macro}{\DeclareErrorFont} % Declare the last resort shape! We assume that in this fontshape % there is a 10pt font but it doesn't really matter. We only loose @@ -1323,7 +1459,7 @@ %<latexrelease>\EndIncludeInRelease %<*2ekernel> % \end{macrocode} -% +% % \begin{macrocode} \@onlypreamble\DeclareErrorFont % \end{macrocode} @@ -1389,7 +1525,7 @@ % \begin{macrocode} \begingroup \try@load@fontshape - \endgroup + \endgroup \fi \fi \fi % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltfsscmp.dtx b/Master/texmf-dist/source/latex/base/ltfsscmp.dtx index d62eeb6f47b..8583fb1a9b4 100644 --- a/Master/texmf-dist/source/latex/base/ltfsscmp.dtx +++ b/Master/texmf-dist/source/latex/base/ltfsscmp.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltfssdcl.dtx b/Master/texmf-dist/source/latex/base/ltfssdcl.dtx index d1284a08e8a..951c6de2e5a 100644 --- a/Master/texmf-dist/source/latex/base/ltfssdcl.dtx +++ b/Master/texmf-dist/source/latex/base/ltfssdcl.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -36,7 +36,7 @@ % % \ProvidesFile{ltfssdcl.dtx} - [2019/08/27 v3.0s LaTeX Kernel (NFSS Declarative Interface)] + [2020/01/20 v3.0t LaTeX Kernel (NFSS Declarative Interface)] % \iffalse \documentclass{ltxdoc} \begin{document} @@ -1104,7 +1104,7 @@ \edef\reserved@a{\noexpand\in@ {\expandafter\@gobble\string\mathaccent} {\expandafter\meaning - \csname\expandafter\@gobble\string#1\space\endcsname}}% + \csname\expandafter\@gobble\string#1\space\endcsname}}% \reserved@a \ifin@ \expandafter\let @@ -1367,12 +1367,7 @@ % \begin{macro}{\@DeclareMathDelimiter} % \changes{v3.0r}{2016/02/18} % {Check for delimiter not \cs{delimiter}} -% \changes{v3.0s}{2019/08/27}{Make math delimiters robust} % \begin{macrocode} -%</2ekernel> -%<*2ekernel|latexrelease> -%<latexrelease>\IncludeInRelease{2019/10/01}% -%<latexrelease> {\@DeclareMathDelimiter}{Make math delimiters robust}% \def\@DeclareMathDelimiter#1#2#3#4#5#6{% \expandafter\in@\csname sym#3\expandafter\endcsname \expandafter{\group@list}% @@ -1398,11 +1393,9 @@ \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% % \edef\reserved@a{\noexpand\in@ - {\expandafter\@gobble\string\delimiter}% - {\expandafter\meaning\csname\expandafter\@gobble\string#1\space\endcsname}}% + {\expandafter\@gobble\string\delimiter}{\meaning#1}}% \reserved@a \ifin@ - \expandafter\let\csname\expandafter\@gobble\string#1\space\endcsname\@undefined \expandafter\set@mathdelimiter \csname sym#3\expandafter\endcsname \csname sym#5\endcsname#1#2% @@ -1428,65 +1421,6 @@ \@latex@error{Symbol font `#3' is not defined}\@eha \fi } -%</2ekernel|latexrelease> -%<latexrelease>\EndIncludeInRelease -%<latexrelease>\IncludeInRelease{0000/00/00}% -%<latexrelease> {\@DeclareMathDelimiter}{Make math delimiters robust}% -%<latexrelease>\def\@DeclareMathDelimiter#1#2#3#4#5#6{% -%<latexrelease> \expandafter\in@\csname sym#3\expandafter\endcsname -%<latexrelease> \expandafter{\group@list}% -%<latexrelease> \ifin@ -%<latexrelease> \expandafter\in@\csname sym#5\expandafter\endcsname -%<latexrelease> \expandafter{\group@list}% -%<latexrelease> \ifin@ -%<latexrelease> \begingroup -%<latexrelease> \count\z@=#4\relax -%<latexrelease> \count\tw@\count\z@ -%<latexrelease> \divide\count\z@\sixt@@n -%<latexrelease> \count@\count\z@ -%<latexrelease> \multiply\count@\sixt@@n -%<latexrelease> \advance\count\tw@-\count@ -%<latexrelease> \edef\reserved@c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% -%<latexrelease> % -%<latexrelease> \count\z@=#6\relax -%<latexrelease> \count\tw@\count\z@ -%<latexrelease> \divide\count\z@\sixt@@n -%<latexrelease> \count@\count\z@ -%<latexrelease> \multiply\count@\sixt@@n -%<latexrelease> \advance\count\tw@-\count@ -%<latexrelease> \edef\reserved@d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}% -%<latexrelease> % -%<latexrelease> \edef\reserved@a{\noexpand\in@ -%<latexrelease> {\expandafter\@gobble\string\delimiter}{\meaning#1}}% -%<latexrelease> \reserved@a -%<latexrelease> \ifin@ -%<latexrelease> \expandafter\set@mathdelimiter -%<latexrelease> \csname sym#3\expandafter\endcsname -%<latexrelease> \csname sym#5\endcsname#1#2% -%<latexrelease> \reserved@c\reserved@d -%<latexrelease> \@font@info{Redeclaring math delimiter \string#1}% -%<latexrelease> \else -%<latexrelease> \expandafter\ifx -%<latexrelease> \csname\expandafter\@gobble\string#1\endcsname -%<latexrelease> \relax -%<latexrelease> \expandafter\set@mathdelimiter -%<latexrelease> \csname sym#3\expandafter\endcsname -%<latexrelease> \csname sym#5\endcsname#1#2% -%<latexrelease> \reserved@c\reserved@d -%<latexrelease> \else -%<latexrelease> \@latex@error{Command `\string#1' already defined}\@eha -%<latexrelease> \fi -%<latexrelease> \fi -%<latexrelease> \endgroup -%<latexrelease> \else -%<latexrelease> \@latex@error{Symbol font `#5' is not defined}\@eha -%<latexrelease> \fi -%<latexrelease> \else -%<latexrelease> \@latex@error{Symbol font `#3' is not defined}\@eha -%<latexrelease> \fi -%<latexrelease>} -%<latexrelease>\EndIncludeInRelease -%<*2ekernel> % \end{macrocode} % % \begin{macrocode} @@ -1547,9 +1481,16 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\set@mathdelimiter}{make delimiters robust}% \def\set@mathdelimiter#1#2#3#4#5#6{% +% \end{macrocode} +% We use \cs{protected} not \cs{MakeRobust} so that +% \verb=\bigl\lfoor= etc.\ works inside \cs{protected@edef}. +% \changes{v3.0s}{2019/08/27}{Make math delimiters robust} +% \changes{v3.0t}{2020/01/20}{fix for gh/251} +% \begin{macrocode} + \protected \xdef#3{\delimiter"\mathchar@type#4\hexnumber@#1#5% \hexnumber@#2#6 }% - \MakeRobust#3% +% \MakeRobust#3% } \@onlypreamble\set@mathdelimiter %</2ekernel|latexrelease> diff --git a/Master/texmf-dist/source/latex/base/ltfssini.dtx b/Master/texmf-dist/source/latex/base/ltfssini.dtx index b073a5cc379..9687e08b0e6 100644 --- a/Master/texmf-dist/source/latex/base/ltfssini.dtx +++ b/Master/texmf-dist/source/latex/base/ltfssini.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -36,7 +36,7 @@ % % \ProvidesFile{ltfssini.dtx} - [2019/08/27 v3.1d LaTeX Kernel (NFSS Initialisation)] + [2020/01/11 v3.1f LaTeX Kernel (NFSS Initialisation)] % \iffalse \documentclass{ltxdoc} \begin{document} @@ -157,26 +157,28 @@ % Now we define the standard font change commands. % We don't allow the use of |\rmfamily| etc.\ in math mode. % +% (Actually most are now defined further down in the file.) +% % First the changes to another \emph{family}: % \begin{macrocode} -\DeclareRobustCommand\rmfamily - {\not@math@alphabet\rmfamily\mathrm - \fontfamily\rmdefault\selectfont} -\DeclareRobustCommand\sffamily - {\not@math@alphabet\sffamily\mathsf - \fontfamily\sfdefault\selectfont} -\DeclareRobustCommand\ttfamily - {\not@math@alphabet\ttfamily\mathtt - \fontfamily\ttdefault\selectfont} +%\DeclareRobustCommand\rmfamily +% {\not@math@alphabet\rmfamily\mathrm +% \fontfamily\rmdefault\selectfont} +%\DeclareRobustCommand\sffamily +% {\not@math@alphabet\sffamily\mathsf +% \fontfamily\sfdefault\selectfont} +%\DeclareRobustCommand\ttfamily +% {\not@math@alphabet\ttfamily\mathtt +% \fontfamily\ttdefault\selectfont} % \end{macrocode} % Then the commands changing the \emph{series}: % \begin{macrocode} -\DeclareRobustCommand\bfseries - {\not@math@alphabet\bfseries\mathbf - \fontseries\bfdefault\selectfont} -\DeclareRobustCommand\mdseries - {\not@math@alphabet\mdseries\relax - \fontseries\mddefault\selectfont} +%\DeclareRobustCommand\bfseries +% {\not@math@alphabet\bfseries\mathbf +% \fontseries\bfdefault\selectfont} +%\DeclareRobustCommand\mdseries +% {\not@math@alphabet\mdseries\relax +% \fontseries\mddefault\selectfont} \DeclareRobustCommand\upshape {\not@math@alphabet\upshape\relax \fontshape\updefault\selectfont} @@ -196,29 +198,873 @@ % % % +% +% \section{Custom series settings for main document families} +% +% This section was introduced 2020/02/02 and for now we support a +% full rollback (may need splitting later). +% \changes{v3.1e}{2019/12/17}{Provide custom series settings a la mweights} +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\DeclareFontSeriesDefault}{Custom series}% +% \end{macrocode} +% +% One problem with the NFSS approach of handling the series axis +% turned out to be that (especially with respect to ``boldness'') +% different font families implemented different strategies. For +% example, with Computer Modern fonts you normally only have +% \texttt{bx} whereas most PostScript fonts offered only \texttt{b} +% but not \texttt{bx}. As a result \LaTeX's standard setting for +% \cs{bfdefault} didn't work with such fonts, but if it got changed +% to produce \texttt{b}, then that didn't work with Computer Modern +% if the fonts got combined (e.g., using Computer Modern Typewriter +% with such fonts). +% +% The solution back then was to provide substitution rules in the +% font \texttt{.fd} such that if a \texttt{bx} series got requested +% the \texttt{b} series got used. While this works in that +% particular case, it isn't a very +% general solution. For example, if you happen to have a font family that +% has several weights you may want to typeset the whole document +% in a somewhat lighter or darker font but if you then modify +% \cs{mddefault} to allow for this, then of course your change only +% works with that particular family but not with the typewriter +% or sans serif family you also want to use. +% +% A better solution was provided by the \texttt{mweights} package by +% Bob Tennent that offers defaults on the level of the three main +% font families in the document: for ``rm'', ``sf'' and ``tt'' so +% that font packages could define defaults for the sans serif +% document font by providing \cs{bfseries@sf} which then was used +% when \cs{bfseries} got executed and the current family was the +% \cs{sffamily}. +% +% \DescribeMacro\DeclareFontSeriesDefault +% We now support this concept directly from within \LaTeX{} and for +% use in font packages (or the document preamble) we offer +% \cs{DeclareSeriesDefault}. This declaration takes three +% arguments: +% \begin{description} +% \item[document family interface:] Can either be \texttt{rm}, +% \texttt{sf} or \texttt{tt}. This is optional and if not given the +% overall default. +% \item[document series interface:] Can be \texttt{md} or +% \texttt{bf}. +% \item[series value:] This is the value that is going to be used +% with the combination is requested. +% \end{description} +% +% For example, \verb=\DeclareFontSeriesDefault[rm]{bf}{sb}= would +% use \texttt{sb} (semi-bold) when \cs{rmfamily} \cs{bfseries} is +% asked for. +% +% If used without the optional argument, e.g., +% \verb=\DeclareFontSeriesDefault{bf}{b}= then this is like +% redefining \cs{bfdefault} or \cs{mddefault}. +% +% If some family specify defaults aren't given, e.g. if there are +% no declarations for, say, \texttt{tt} then the format defaults +% of \cs{mddefault} and \cs{bfdefault} are assumed. If those are +% later changed this is \emph{not} reflected!\footnote{I see no +% easy way to achieve this without compromising compatibility with +% existing packages that currently use \textsf{mweights} and directly +% define (some) of the \cs{mdseries@..} commands but not others.} +% +% +% +% \begin{macro}{\DeclareFontSeriesDefault} +% The command to declare font series defaults for the ``rm'', ``sf'' or +% ``tt'' family. +% \begin{macrocode} +\newcommand\DeclareFontSeriesDefault[3][]{% + \def\@reserveda{#1}% +% \end{macrocode} +% No optional argument: set up general default. +% \begin{macrocode} + \ifx\@resereda\@empty + \ifcsname #2series\endcsname % supported are + % \[md/bf]default + \expandafter\def + \csname #2default\endcsname{#3}% + \else + \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}% + {Mandatory first argument must be 'md' or 'bf'.} + \fi +% \end{macrocode} +% Optional argument given, set up specific default. +% \begin{macrocode} + \else + \ifcsname #2series@#1\endcsname % supported are + % \[md/bf]series@[rm/sf/tt] + \expandafter\edef + \csname #2series@#1\endcsname{#3}% +% \end{macrocode} +% +% If the interface is used we remove the frozen kernel +% default. This way, we know that something was explicitly set up +% (even if the setup has the same value as the default). +% \begin{macrocode} + \expandafter\let + \csname #2series@#1@kernel\endcsname\@undefined + \else + \@latex@error{Wrong syntax for \string\DeclareFontSeriesDefault}% + {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak + Second argument must be 'md' or 'bf'.} + \fi + \fi +} +% \end{macrocode} +% \end{macro} + + + + +% \begin{macro}{\mdseries@rm} +% \begin{macro}{\mdseries@sf} +% \begin{macro}{\mdseries@tt} +% \begin{macro}{\bfseries@rm} +% \begin{macro}{\bfseries@sf} +% \begin{macro}{\bfseries@tt} +% We initialize the family specific default at the end of the +% format generation. Later on they may get overwritten in the +% preamble or a package via \cs{DeclareFontSeriesDefault} (or +% possibly directly). +% +% Conceptual change: The \cs{bfdefault} will be \texttt{b} not +% \texttt{bx} because that is what it should be really for nearly +% every font except Computer/Latin Modern. +% +% To account for the fact that by default we typeset in CM or LM we +% set up the \cs{bfseries@..} defaults to use \texttt{bx} instead. +% +% This means that it behaves like before because if the default +% fonts are used then \cs{bfseries@rm} etc kick in and make +% \cs{textbf} use \texttt{bx}. However, if the font gets changed +% then \cs{bfdefault} will get used. +% +% \begin{macrocode} +\def\bfseries@rm{bx} +\def\bfseries@sf{bx} +\def\bfseries@tt{bx} +% \end{macrocode} +% +% Frozen version of the kernel defaults so we can see if they have changed. +% \begin{macrocode} +\let\bfseries@rm@kernel\bfseries@rm +\let\bfseries@sf@kernel\bfseries@sf +\let\bfseries@tt@kernel\bfseries@tt +% \end{macrocode} +% +% The default for the medium series is \texttt{m} and this will be +% interpreted as resetting both weight and width. To reset only one +% of them the virtual value \texttt{?m} and \texttt{m?} are available. +% \begin{macrocode} +\def\mdseries@rm{m} +\def\mdseries@sf{m} +\def\mdseries@tt{m} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} + + + +% \begin{macro}{\expand@font@defaults} +% +% The family specific defaults are fully expanded, i.e., they are +% defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}. +% However, the overall defaults, e.g., \cs{bfdefault} may have been +% redefined by the user and thus may not be fully expanded. So to +% enable reliable comparison we make expanded versions of +% them. That we rerun each time. The alternative would be to only +% allow for changes before begin document. +% \begin{macrocode} +\def\expand@font@defaults{% + \edef\rmdef@ult{\rmdefault}% + \edef\sfdef@ult{\sfdefault}% + \edef\ttdef@ult{\ttdefault}% + \edef\bfdef@ult{\bfdefault}% + \edef\mddef@ult{\mddefault}% + \edef\famdef@ult{\familydefault}% +} +% \end{macrocode} +% +% \end{macro} + + + +% \begin{macro}{\bfseries} +% This document command switches to the bold series. +% \begin{macrocode} +\DeclareRobustCommand\bfseries{% + \not@math@alphabet\bfseries\mathbf +% \end{macrocode} +% In the original NFSS definition it then called \cs{fontseries} +% with the value \cs{bfdefault}. In the new scheme we have more +% alternatives and therefore check if the current family +% (\cs{f@family}) is the current \cs{rmdef@ult}, \cs{sfdef@ult} or +% \cs{ttdef@ult} and the select the correct family default in that case. +% \begin{macrocode} + \expand@font@defaults + \fontseries{% + \ifx\f@family\rmdef@ult \bfseries@rm + \else\ifx\f@family\sfdef@ult \bfseries@sf + \else\ifx\f@family\ttdef@ult \bfseries@tt +% \end{macrocode} +% If not \cs{bfdefault} is used. +% \begin{macrocode} + \else \bfdefault + \fi\fi\fi + }% + \selectfont +} +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\mdseries} +% This document command switches to the medium series. +% \begin{macrocode} +\DeclareRobustCommand\mdseries{% + \not@math@alphabet\mdseries\relax + \expand@font@defaults + \fontseries{% + \ifx\f@family\rmdef@ult \mdseries@rm + \else\ifx\f@family\sfdef@ult \mdseries@sf + \else\ifx\f@family\ttdef@ult \mdseries@tt + \else \mddefault + \fi\fi\fi + }% + \selectfont +} +% \end{macrocode} +% \end{macro} + + +% \begin{macro}{\rmfamily} +% Here are the document level commands for changing the main font +% families, or rather, here is a documented outline of the code, +% the actual code is then streamlined and somewhat generalized. +%\begin{verbatim} +%\DeclareRobustCommand\rmfamily{% +% \not@math@alphabet\rmfamily\mathrm +%\end{verbatim} +% If families are changed then we have to do a bit more work. +% In the original NFSS implementation +% a family change kept encoding, series shape and size unchanged +% but now we can't any +% longer simply reuse the current series value. Instead we may have +% to change it from one family default to the next. +%\begin{verbatim} +% \expand@font@defaults +%\end{verbatim} +% We have to do the testing while the current family is still +% unchanged but we have to do the adjustment of the series after it +% got changed (because the new family might has different sets +% ofshapes available and we certainly don't want to see +% substituation going on. So we use \cs{target@series@value} to +% hold the target series (if any). +%\begin{verbatim} +% \let\target@series@value\@empty +%\end{verbatim} +% Thus, if the current family is the sans family +%\begin{verbatim} +% \ifx\f@family\sfdef@ult +%\end{verbatim} +% and if we using the medium series of the sans family +%\begin{verbatim} +% \ifx\f@series\mdseries@sf +%\end{verbatim} +% then lets switch to the medium series for the serif family +%\begin{verbatim} +% \let\target@series@value\mdseries@rm +%\end{verbatim} +% and if we use the bold series of the sans family switch to the +% bold default of the serif family: +%\begin{verbatim} +% \else\ifx\f@series\bfseries@sf \let\target@series@value\bfseries@rm +%\end{verbatim} +% However, the sans family may not have any specific defaults set, +% so we also compare with the overall defaults. +%\begin{verbatim} +% \else\ifx\f@series\mddef@ult \let\target@series@value\mdseries@rm +% \else\ifx\f@series\bfdef@ult \let\target@series@value\bfseries@rm +%\end{verbatim} +% If neither test was true we leave the series alone. This way a +% special manual setting such as \verb=\fontseries{lc}= is not +% undone if the family changes (of course there may not be any +% support for it in the new family but then the NFSS +% substitution kicks in and sorts it out). +%\begin{verbatim} +% \fi\fi\fi\fi +% +%\end{verbatim} +% We need to do the same if the current family is the typewriter family: +%\begin{verbatim} +% \else\ifx\f@family\ttdef@ult +% \ifx\f@series\mdseries@tt \let\target@series@value\mdseries@rm +% \else\ifx\f@series\bfseries@tt \let\target@series@value\bfseries@rm +% \else\ifx\f@series\mddef@ult \let\target@series@value\mdseries@rm +% \else\ifx\f@series\bfdef@ult \let\target@series@value\bfseries@rm +% \fi\fi\fi\fi +% \fi\fi +%\end{verbatim} +% With these preparations for series out of the way we can now +% change the font family to \cs{rmdefault}. +%\begin{verbatim} +% \fontfamily\rmdefault +%\end{verbatim} +% +% If \cs{target@series@value} is still empty there is nothing more +% to do other than selecting the new family. However, if not then +% we should update the font series now as well. But there is one +% further subtle issue. We may not have loaded an \texttt{.fd} file +% for our target font family yet. In the past that was done in +% \cs{selectfont} if necessary but since we are now doing all the +% comparisons in \cs{fontseries} we need to make sure that the font +% family specifications are already loaded prior to calling +% \cs{fontseries}. +%\begin{verbatim} +% \ifx\target@series@value\@empty \else +% \maybe@load@fontshape +%\end{verbatim} +% Updating the series in this case means directly changing +% \cs{f@series} to the target value. We don't want to go through +% \cs{fontseries} because that would apply the mappings and then +% \texttt{bx + b} would keep \texttt{bx} instead of changing to +% \texttt{b} as desired. +% as +%\begin{verbatim} +% \let\f@series\target@series@value +% \fi +% \selectfont} +%\end{verbatim} +% +% So now for the real definition: most of the code above gets +% delegated to a helper command \cs{prepare@family@series@update} +% so that the definition becomes again fairly short. In addition we +% add a hook, mainly for our Japanese friends so that the code can +% be extended prior to the call to \cs{selectfont}. +% +% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook} +% \begin{macrocode} +\DeclareRobustCommand\rmfamily{% + \not@math@alphabet\rmfamily\mathrm +% \end{macrocode} +% This holds all the code discussed above, first argument is the +% meta family, i.e., \texttt{rm} in this case, and second argument +% is the default family name, e.g., \texttt{cmr} indirectly +% accessed via \cs{rmdefault}. This is calling \cs{fontfamily} and +% if necessary \cs{fontseries} as outline above. +% \begin{macrocode} + \prepare@family@series@update{rm}\rmdefault +% \end{macrocode} +% The comes the hook code (by default a no-op) and finally the call +% to \cs{selectfont}. +% \begin{macrocode} + \@rmfamilyhook + \selectfont} +% \end{macrocode} +% +% \begin{macro}{\sffamily} +% \begin{macro}{\ttfamily} +% The definitions for \cs{sffamily} and \cs{ttfamily} are similar, +% the differences are only in what font families get checked. +% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook} +% \begin{macrocode} +\DeclareRobustCommand\sffamily{% + \not@math@alphabet\sffamily\mathsf + \prepare@family@series@update{sf}\sfdefault + \@sffamilyhook + \selectfont} +% \end{macrocode} +% +% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook} +% \begin{macrocode} +\DeclareRobustCommand\ttfamily{% + \not@math@alphabet\ttfamily\mathtt + \prepare@family@series@update{tt}\ttdefault + \@ttfamilyhook + \selectfont} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% +% \begin{macro}{\@rmfamilyhook} +% \begin{macro}{\@sffamilyhook} +% \begin{macro}{\@ttfamilyhook} +% By default the hooks do nothing. +% \begin{macrocode} +\let\@rmfamilyhook\@empty +\let\@sffamilyhook\@empty +\let\@ttfamilyhook\@empty +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} + + + +% \begin{macro}{\prepare@family@series@update} +% This is core command that prepares for the family update. The big +% difference to the documented code above is that the nested +% \cs{ifx} statements seem to be missing. Instead we loop through +% an internal list that holds the names of the three meta +% families. This approach allows us to extend the mechanism at a +% later stage to allow for additional named meta families. +% +% \begin{macro}{\@meta@family@list} +% Here is the current definition of that list: +% \begin{macrocode} +\def\@meta@family@list{\@elt{rm}\@elt{sf}\@elt{tt}} +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\def\prepare@family@series@update#1#2{% + \expand@font@defaults +% \end{macrocode} +% We prepare for changing the current series. We have to find it +% before changing the family as discussed above. +% \begin{macrocode} + \let\target@series@value\@empty + \def\target@meta@family@value{#1}% +% \end{macrocode} +% To find it we loop over the meta family list with a suitable +% definition of \cs{@elt}. +% \begin{macrocode} + \let\@elt\update@series@target@value + \@meta@family@list + \let\@elt\relax +% \end{macrocode} +% That will figure out the correct series value to use without updating +% it. Now we can change the family. +% \begin{macrocode} + \fontfamily#2% +% \end{macrocode} +% After that we update the series. That code is again like the one +% above. +% \begin{macrocode} + \ifx\target@series@value\@empty + \else + \maybe@load@fontshape + \let\f@series\target@series@value + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macro}{\update@series@target@value} +% In this macro used in the look you basically find the nested +% \cs{ifx}s from the outline above. The only difference is that is +% it is parameterized instead of being written out and only for one +% block of tests because the code is called reatedly when looping +% over the meta family list. From the list we get each meta family +% name in turn. +% \begin{macrocode} +\def\update@series@target@value#1{% +% \end{macrocode} +% There is one additional test at the beginning, because the list +% contains all meta families and we need to ignore the case where +% current one from the list and target one are identical. +% \begin{macrocode} + \def\@reserveda{#1}% + \ifx\target@meta@family@value\@reserveda % rm -> rm do nothing + \else +% \end{macrocode} +% We only ``do'' something if the current font family matches the +% current meta family. +% \begin{macrocode} + \expandafter\ifx\csname#1def@ult\endcsname\f@family +% \end{macrocode} +% If that's the case we know that this is the block that applies +% (only one meta family can match). So to speed things up we +% change \cs{@elt} so that the rest of the loop gets gobbled. +% \begin{macrocode} + \let\@elt\@gobble +% \end{macrocode} +% Then we try to find the right new value for the series (as +% explained above). The two macros defined first are only there +% because we now need to use \cs{csname} and this way the code will +% be a little faster. +% \begin{macrocode} + \expandafter\let\expandafter\@reservedb + \csname mdseries@\target@meta@family@value\endcsname + \expandafter\let\expandafter\@reservedc + \csname bfseries@\target@meta@family@value\endcsname +% \end{macrocode} +% This here is now identical to the nested \cs{ifx} block from the +% outline, except that it there appeared twice in +% \cs{rmfamily}. This is now covered by looping and stopping the +% loop when a match was found. +% \begin{macrocode} + \expandafter\ifx\csname mdseries@#1\endcsname\f@series + \let\target@series@value\@reservedb + \else\expandafter\ifx\csname bfseries@#1\endcsname\f@series + \let\target@series@value\@reservedc + \else\ifx\f@series\mddef@ult \let\target@series@value\@reservedb + \else\ifx\f@series\bfdef@ult \let\target@series@value\@reservedc + \fi\fi\fi\fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% +% +% +% +% +% +% +% +% +% \begin{macro}{\init@series@setup} +% This is code to be run at begin document \ldots +% \begin{macrocode} +\def\init@series@setup{% +% \end{macrocode} +% +% We only want \texttt{bx} in \cs{bfseries@rm} if the roman font is +% Computer Modern or Latin Modern, otherwise it should be +% \texttt{b}. It was set to \texttt{bx} in the kernel so that any +% font use with the default families in the preamble get this +% value. Now at the real document start we check if the fonts have +% been changed. If there was a \cs{DeclareFontSeriesDefault} +% declaration or \cs{bfseries@rm} was directly altered then it +% differs from \cs{bfseries@rm@kernel} and we do nothing. +% Otherwise we check if \cs{rmdefault} is one of the CM/LM font +% families and if so we keep \texttt{bx} otherwise we change it to +% \texttt{b}. +% +% This approach doesn't cover one case: CM/LM got changed to a +% different family that supports \texttt{bx}, but the support +% package for that family used \verb=\def\bfseries@rm{bx}= instead +% of using \cs{DeclareFontSeriesDefault}. In that case the code +% here changes it to \texttt{b}. Solution: use the +% \cs{DeclareFontSeriesDefault} interface. +% \begin{macrocode} + \ifx\bfseries@rm@kernel\bfseries@rm + \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}% + \ifin@ \else \def\bfseries@rm{b}\fi\fi +% \end{macrocode} +% Same approach for \cs{bfseries@sf} and \cs{bfseries@tt}: +% \begin{macrocode} + \ifx\bfseries@sf@kernel\bfseries@sf + \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}% + \ifin@ \else \def\bfseries@sf{b}\fi\fi + \ifx\bfseries@tt@kernel\bfseries@tt + \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}% + \ifin@ \else \def\bfseries@tt{b}\fi\fi +% \end{macrocode} +% +% If the document preamble has changed the \cs{familydefault} or if +% the if the \cs{rmdefault} contains a new font family, we have to +% adjust the series defaults accordingly, before starting +% typesetting. +% +% On the other hand if we still typeset in CM or LM then +% \cs{bfdefault} is wrong since it is now saying \texttt{b} and not +% \texttt{bx}. + +% To fix this we run \cs{rmfamily}, \cs{sffamily} or +% \cs{ttfamily} depending on the situation and this will correct +% the setup for us. +% \begin{macrocode} + \expand@font@defaults + \ifx\famdef@ult\rmdef@ult \rmfamily + \else\ifx\famdef@ult\sfdef@ult \sffamily + \else\ifx\famdef@ult\ttdef@ult \ttfamily + \fi\fi\fi +}% +% \end{macrocode} +% \end{macro} +% +% +% +% As the kernel code now implements the same functionality as +% \textsf{mweights}, albeit internally coded slightly differently, +% that package shouldn't be loaded any more. We therefore pretend +% that it already got loaded. Thus, a font package that tries to +% load it and then sets \cs{mdseries@..}, etc.\ will continue to +% work but will now use the kernel code. +% +% Of course, mid-term such package should probably use +% \cs{DeclareFontSeriesDefault} instead of making using low-level +% definitions. +% +% \begin{macrocode} +\expandafter\let\csname ver@mweights.sty\endcsname\fmtversion +% \end{macrocode} +% +% +% +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\DeclareFontSeriesDefault}{Custom series}% +%<latexrelease> +%<latexrelease>\let\DeclareFontSeriesDefault\@undefined +%<latexrelease>\let\bfseries@rm\@undefined +%<latexrelease>\let\bfseries@sf\@undefined +%<latexrelease>\let\bfseries@tt\@undefined +%<latexrelease>\let\bfseries@rm@kernel\@undefined +%<latexrelease>\let\bfseries@sf@kernel\@undefined +%<latexrelease>\let\bfseries@tt@kernel\@undefined +%<latexrelease>\let\mdseries@rm\@undefined +%<latexrelease>\let\mdseries@sf\@undefined +%<latexrelease>\let\mdseries@tt\@undefined +%<latexrelease>\let\expand@font@defaults\@undefined +%<latexrelease>\expandafter\let\csname ver@mweights.sty\endcsname\@undefined +%<latexrelease> +%<latexrelease>\DeclareRobustCommand\bfseries +%<latexrelease> {\not@math@alphabet\bfseries\mathbf +%<latexrelease> \fontseries\bfdefault\selectfont} +%<latexrelease>\DeclareRobustCommand\mdseries +%<latexrelease> {\not@math@alphabet\mdseries\relax +%<latexrelease> \fontseries\mddefault\selectfont} +%<latexrelease>\DeclareRobustCommand\rmfamily +%<latexrelease> {\not@math@alphabet\rmfamily\mathrm +%<latexrelease> \fontfamily\rmdefault\selectfont} +%<latexrelease>\DeclareRobustCommand\sffamily +%<latexrelease> {\not@math@alphabet\sffamily\mathsf +%<latexrelease> \fontfamily\sfdefault\selectfont} +%<latexrelease>\DeclareRobustCommand\ttfamily +%<latexrelease> {\not@math@alphabet\ttfamily\mathtt +%<latexrelease> \fontfamily\ttdefault\selectfont} +%<latexrelease> +%<latexrelease>\let\@rmfamilyhook\@undefined +%<latexrelease>\let\@sffamilyhook\@undefined +%<latexrelease>\let\@ttfamilyhook\@undefined +%<latexrelease>\let\@meta@family@list\@undefined +%<latexrelease>\let\prepare@family@series@update\@undefined +%<latexrelease>\let\update@series@target@value\@undefined +%<latexrelease> +% \end{macrocode} +% This is always called in \cs{document} so don't make it undefined. +% \begin{macrocode} +%<latexrelease>\let\init@series@setup\relax +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} + +% +% +% +% \section{Supporting nested emphasis} +% +% By default \LaTeXe{} supports two levels of nested emphasis: if +% the current font has an upright shape then it switches to +% \cs{itshape} otherwise to \cs{eminnershape} (which defaults to +% \cs{upshape}). This means nested emphasis will ocssilate between +% italic and upright shapes. +% +% Sometimes it would be nice to allow for a more lengthly sequence, +% but instead of providing a fixed one \LaTeX{} now offers a +% general mechanism that allows to define arbitrary sequences. +% +% \DescribeMacro\DeclareEmphSequence +% \DescribeMacro\emforce +% +% This declaration expects a comma separated list of (font) change +% declarations corresponding to increasing levels of emphasis. +% The mechanism tries to be ``smart'' and verifies that the +% declarations actually alter the font. If not it will ignore this +% level and tries the next one---the assumption being that +% there was a manual font change in the document to the font that +% is now supposed to be used for emphasis. Of course, this only +% works if the declarations in the list actually change the font +% and not, say, just the color. +% In such a case one has to use \cs{emforce} to which directs the +% mechanism to use the level even if the font attributes haven't changed. +% +% \DescribeMacro\emreset +% If the nesting is so deep, that the specified levels are +% exhausted then \cs{emreset} is used as a final set of +% declarations (which by default returns +% back to the upright shape). Any additional nesting levels will +% then reuse the list from its beginning. +% +% +% +% \begin{macro}{\DeclareEmphSequence} +% +% \cs{DeclareEmphSequence} expects a clist of declaration. Spaces in the +% argument are dropped to avoid surious spaces in the output. The +% declarations are additive. At the very end the shape is reset +% using |\emreset| and |\emforce| so that this case is never +% skipped.\footnote{Maybe we should not add \cs{emforce} but allow +% that case to be skipped as well. Of course, that might result in +% an endless loop if somebody defines a sequence without any font +% change and without \cs{emforce} but \ldots} +% Further nested calls restart at the beginning. +% \changes{v3.1e}{2019/12/17}{Provide \cs{emph} sequences} +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\DeclareEmphSequence}{Nested emph}% +\def\DeclareEmphSequence#1{% + \protected@edef\emfontdeclare@clist{\zap@space#1, \@empty\emforce\emreset}% +} +% \end{macrocode} +% By default the it is empty, in which case \cs{eminnershape} is +% used by \LaTeX. +% \begin{macrocode} +\let\emfontdeclare@clist\@empty +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\emrest} +% Reset the font to upright and upper/lower case. With the default rules +% using \cs{shapedefault} does that for us but to be on the safe side we +% do it like this: +% \begin{macrocode} +\DeclareRobustCommand\emreset{\upshape\ulcshape} +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\em} +% The new definition for \cs{em} (and implicitly \cs{emph} is like +% it was before if \cs{emfontdeclare@clist} is empty. +% \begin{macrocode} +\DeclareRobustCommand\em{% + \@nomath\em + \ifx\emfontdeclare@clist\@empty + \ifdim \fontdimen\@ne\font >\z@ + \eminnershape \else \itshape \fi + \else +% \end{macrocode} +% But if not we use the list to decide how to do emphasis. +% +% We use the current font to check if the declarations have any +% effect, so even a size change is allowed and identified as a +% modification (but a color change, for example, isn't). So first +% we save the current status. +% \begin{macrocode} + \edef\em@currfont{\csname\curr@fontshape/\f@size\endcsname}% +% \end{macrocode} +% Then we grab the next element from the list and check if it can +% be used. +% \begin{macrocode} + \expandafter\do@emfont@update\emfontdeclare@clist\do@emfont@update + \fi +} +% \end{macrocode} +% +% \begin{macrocode} +\def\eminnershape{\upshape} +% \end{macrocode} +% \end{macro} +% +% +% +% \begin{macro}{\do@emfont@update} +% We know that the list (if not empty) has at least 2 elements +% separated by a comma, so we pick up the first in \texttt{\#1} and +% the rest in \texttt{\#2}. +% \begin{macrocode} +\def\do@emfont@update#1,#2\do@emfont@update{% +% \end{macrocode} +% First action is to alter the list and move the first entry to the end +% \begin{macrocode} + \def\emfontdeclare@clist{#2,#1}% +% \end{macrocode} +% Then we execute current declaration. Appending |\selectfont| means one +% can write just |\fontshape{it}}| and that works then too. +% \begin{macrocode} +% \typeout{Use: \detokenize{#1}}% + #1\selectfont +% \end{macrocode} +% We then compare the current font with our saved version, but with +% a slight twist: we add \cs{em@force} at the end of the +% name. Normally this is empty so has no effect but if there was an +% \cs{emforce} as part of \texttt{\#1} it will append a |/| to the +% font name (making it invalid) thus this will then always fail the +% test. +% +% If the test fails we are done and the declarations will be used. +% Otherwise we will try the next declaration in the sequence. +% \begin{macrocode} + \expandafter\ifx\csname \curr@fontshape/\f@size\em@force +% \end{macrocode} +% For the comparison with \cs{ifx} we have to exand +% \cs{em@currfont} once as the relevant info is inside. +% \begin{macrocode} + \expandafter\endcsname + \em@currfont + \expandafter\do@emfont@update\emfontdeclare@clist\do@emfont@update +% \end{macrocode} +% If \cs{emforce} was used, we have to undo its effect: +% \begin{macrocode} + \else + \let\em@force\@empty + \fi +} +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\emforce} +% \begin{macro}{\em@force} +% The definition of \cs{emforce} is simple: change \cs{em@force} to +% make the above test always invalid. +% \begin{macrocode} +\protected\def\emforce{\def\em@force{/}} +\let\em@force\@empty +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +% \end{macrocode} +% \end{macro} +% \end{macro} + + + +% % \begin{macro}{\em} % \changes{v1.2b}{1990/01/28}{Call to \cs{@nomath} added.} % \changes{v3.1a}{2015/01/09}{Allow \cs{emph} to produce small caps (latexrelease)} % \begin{macro}{\eminnershape} % \changes{v3.1a}{2015/01/09}{macro added (latexrelease)} +% +% These are the older definitions for \cs{em}, prior to 2020. +% % We also have to define the {\em emphasize\/} font change command % (i.e.\ |\em|). This command will look is the current font is % sloped (i.e.\ has a positive |\fontdimen1|) and will then % select either |\upshape| or |\itshape|. % \begin{macrocode} -%</2ekernel> -%<latexrelease>\IncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}% -%<*2ekernel|latexrelease> -\DeclareRobustCommand\em - {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ - \eminnershape \else \itshape \fi}% -% \end{macrocode} -% -% \begin{macrocode} -\def\eminnershape{\upshape}% -%</2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2015/01/01}{\DeclareEmphSequence}{Nested emph}% +%<latexrelease>\let\DeclareEmphSequence\@undefined +%<latexrelease>\let\emfontdeclare@clist\@undefined +%<latexrelease>\let\emreset\@undefined +%<latexrelease>\let\do@emfont@update\@undefined +%<latexrelease>\let\emforce\@undefined +%<latexrelease>\let\em@force\@undefined +%<latexrelease> +%<latexrelease>\DeclareRobustCommand\em +%<latexrelease> {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ +%<latexrelease> \eminnershape \else \itshape \fi}% %<latexrelease>\EndIncludeInRelease -%<latexrelease>\IncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}% +%<latexrelease> +%<latexrelease>\IncludeInRelease{0000/00/00}{\DeclareEmphSequence}{Nested emph}% %<latexrelease>\DeclareRobustCommand\em %<latexrelease> {\@nomath\em \ifdim \fontdimen\@ne\font >\z@ %<latexrelease> \upshape \else \itshape \fi}% @@ -230,6 +1076,12 @@ % \end{macro} % % + + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% % \begin{macro}{\not@math@alphabet} % This function generates an error message when it is called in % math mode. The same function should be defined in @@ -295,7 +1147,7 @@ % \begin{macrocode} \def\newfont#1#2{\@ifdefinable#1{\font#1=#2\relax}} % \end{macrocode} -% +% % \begin{macrocode} \DeclareRobustCommand\symbol[1]{\char #1\relax} % \end{macrocode} @@ -331,35 +1183,6 @@ % \end{macro} % % -% \begin{macro}{\oldstylenums} -% This macro implements old style numerals but only works if we -% assume that the standard math fonts are used. Thus it needs -% changing in case other math encodings are used. -% \begin{macrocode} -\DeclareRobustCommand\oldstylenums[1]{% - \begingroup -% \end{macrocode} -% Provide spacing using the interword space of the current font. -% \begin{macrocode} - \spaceskip\fontdimen\tw@\font -% \end{macrocode} -% Then switch to the math italic font. We don't change the current -% value of |\f@series| which means that you can use bold numerals -% if |\bfseries| is in force. As family we use |\rmdefault| which -% means that this only works if there exist an |OML| encoded -% version of that font or rather a corresponding |.fd| file (which -% is the case for standard \LaTeX{} fonts even though they only -% contain substitutions). -% \changes{v3.0j}{1999/02/12}{Use \cs{rmdefault} instead of \texttt{cmm} -% (pr/2954)} -% \begin{macrocode} - \usefont{OML}{\rmdefault}{\f@series}{it}% - \mathgroup\symletters #1% - \endgroup -} -% \end{macrocode} -% \end{macro} -% % \begin{macro}{\hexnumber@} % To set up \LaTeX's special math character % definitions we first provide a macro to generate hexadecimal @@ -528,6 +1351,7 @@ \let\@addtofilelist\@gobble % \end{macrocode} % +% % Ditto for math although I don't think that we will get a lot of % customisation :-) % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltfsstrc.dtx b/Master/texmf-dist/source/latex/base/ltfsstrc.dtx index 05dafa20c6e..e997e5be552 100644 --- a/Master/texmf-dist/source/latex/base/ltfsstrc.dtx +++ b/Master/texmf-dist/source/latex/base/ltfsstrc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -34,10 +34,10 @@ % %<package>\NeedsTeXFormat{LaTeX2e}[1995/05/16] %<package>\ProvidesPackage{tracefnt} -%<package> [2015/02/21 v3.0k Standard LaTeX package (font tracing)] +%<package> [2019/10/11 v3.0l Standard LaTeX package (font tracing)] % \fi % \ProvidesFile{ltfsstrc.dtx} -% [2015/02/21 v3.0k LaTeX Kernel (NFSS tracing)] +% [2019/10/11 v3.0l LaTeX Kernel (NFSS tracing)] % % \iffalse %<+checkmem>\CHECKMEM @@ -731,7 +731,7 @@ % % \subsubsection{Outline of algorithm for math font sizes} % -% \TeX{} uses the the math fonts that are current when the end of a +% \TeX{} uses the math fonts that are current when the end of a % formula is reached. If we don't want to keep font setups local to % every formula (which would result in an enormous overhead, we have % to be careful not to end up with the wrong setup in case formulas @@ -1130,7 +1130,7 @@ % \execute@size@function{} %\end{verbatim} % This means: the default (empty) size function will be executed, -% with its optional argument argument set to empty and its mandatory +% with its optional argument set to empty and its mandatory % argument set to |cmss12| by |\set@simple@size@args|. % As we discussed earlier, the effect of the default size function % is to load the given external font (cmss12) at the specified size @@ -1371,7 +1371,7 @@ % \begin{macrocode} \def\reserved@f{\extract@rangefontinfo<#3\@nnil}% % \end{macrocode} -% Now we check the the size against |\f@size|. If it is not equal +% Now we check the size against |\f@size|. If it is not equal % |\f@size| it is no good and we have to recurse. % \begin{macrocode} \ifdim \f@size \p@=#1\p@ @@ -1731,7 +1731,7 @@ % the optional argument (if present) is ignored. The font encoding % scheme cannot be changed. Therefore, the first thing we do is to % prepend the encoding scheme. -% \changes{v2.0b}{1992/07/26}{} +% {documentation fixes} % \begin{macrocode} \DeclareSizeFunction{sub}{\sub@sfcnt\@font@warning} \DeclareSizeFunction{ssub}{\sub@sfcnt\@font@info} @@ -1787,6 +1787,40 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\@font@aliasinfo} +% \changes{v3.0l}{2019/10/11}{Added 'alias' size function} +% Sometimes a substitution is only done to map a long font name to +% a standard shape or series, e.g., +%\begin{verbatim} +%\DeclareFontShape{T1}{Roboto-LF}{b}{it}{<-> alias * Roboto-LF/bold/it}{} +%\end{verbatim} +% Using the \texttt{ssub} function in that case will give a strange +% (and incorrect) warning. As an alternative we therefore offer the +% size function \texttt{alias}. It will still add some info into +% the \texttt{.log} file, but no longer complains that the font +% shape is not available. It is implemented by grabbing the default +% warning text and replacing it with a new one. +% \begin{macrocode} +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/01}% +%<latexrelease> {\@font@aliasinfo}{alias size function}% +\DeclareSizeFunction{alias}{\sub@sfcnt\@font@aliasinfo} +\def\@font@aliasinfo#1{% + \@font@info{Font\space shape\space `\curr@fontshape'\space + aliased\space to\MessageBreak `\mandatory@arg'}% +} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@font@aliasinfo}{alias size function}% +%<latexrelease>\let\s@fct@alias\@undefined +%<latexrelease>\let\@font@aliasinfo\@undefined +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +% \end{macrocode} +% \end{macro} % % \begin{macro}{\s@fct@subf} % The |subf| size function allows substitution of another font. The diff --git a/Master/texmf-dist/source/latex/base/lthyphen.dtx b/Master/texmf-dist/source/latex/base/lthyphen.dtx index ba4b018dce7..71ab081c669 100644 --- a/Master/texmf-dist/source/latex/base/lthyphen.dtx +++ b/Master/texmf-dist/source/latex/base/lthyphen.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltidxglo.dtx b/Master/texmf-dist/source/latex/base/ltidxglo.dtx index 19349c17dc1..dcb88e83e98 100644 --- a/Master/texmf-dist/source/latex/base/ltidxglo.dtx +++ b/Master/texmf-dist/source/latex/base/ltidxglo.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltlength.dtx b/Master/texmf-dist/source/latex/base/ltlength.dtx index 7b72946d6e9..f5b63ed35ea 100644 --- a/Master/texmf-dist/source/latex/base/ltlength.dtx +++ b/Master/texmf-dist/source/latex/base/ltlength.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltlists.dtx b/Master/texmf-dist/source/latex/base/ltlists.dtx index 4dcbb8b56a2..e8c9ebc16bd 100644 --- a/Master/texmf-dist/source/latex/base/ltlists.dtx +++ b/Master/texmf-dist/source/latex/base/ltlists.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -744,7 +744,7 @@ \everypar{}\@endpefalse}} %<latexrelease>\EndIncludeInRelease % \end{macrocode} -% +% % \begin{macrocode} %<latexrelease>\IncludeInRelease{0000/00/00}{\@doendpe}{clubpenalty fix}% %<latexrelease>\def\@doendpe{\@endpetrue @@ -772,13 +772,13 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\item} % \changes{LaTeX2.09}{1992/09/18} % {(RmS) Added warning if \cs{item} is used in math mode} % \changes{v1.0c}{1994/04/28} % {Replaced \cs{@ltxnomath} by \cs{@inmatherr}} % \changes{v1.0d}{1994/05/03} % {Removed superfluous braces} -% \begin{macro}{\item} % \begin{macrocode} \def\item{% \@inmatherr\item @@ -837,7 +837,6 @@ % This |\if@inlabel| check is needed in case an item starts of % inside a group so that |\everypar| does not become empty % outside that group. -% \@nobreakfalse, etc etc. % \begin{macrocode} \if@inlabel \global\@inlabelfalse diff --git a/Master/texmf-dist/source/latex/base/ltlogos.dtx b/Master/texmf-dist/source/latex/base/ltlogos.dtx index ab20b60c59f..6784cb41c00 100644 --- a/Master/texmf-dist/source/latex/base/ltlogos.dtx +++ b/Master/texmf-dist/source/latex/base/ltlogos.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltluatex.dtx b/Master/texmf-dist/source/latex/base/ltluatex.dtx index 41f2344a373..1f9ab8d1332 100644 --- a/Master/texmf-dist/source/latex/base/ltluatex.dtx +++ b/Master/texmf-dist/source/latex/base/ltluatex.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2015-2019 +% Copyright (C) 2015-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -28,7 +28,7 @@ \ProvidesFile{ltluatex.dtx} %</driver> %<*tex> -[2019/10/22 v1.1j +[2020/02/02 v1.1l %</tex> %<plain> LuaTeX support for plain TeX (core) %<*tex> @@ -152,7 +152,7 @@ % % \section{Plain \TeX\ interface} % -% The \textsf{ltluatex} interface may be used with plain \TeX\ using +% The \textsf{ltluatex} interface may be used with plain \TeX\ using % |\input{ltluatex}|. This inputs |ltluatex.tex| which inputs % |etex.src| (or |etex.sty| if used with \LaTeX) % if it is not already input, and then defines some internal commands to @@ -199,7 +199,7 @@ % \noindent % \DescribeMacro{new_chunkname} % |luatexbase.new_chunkname(|\meta{chunkname}|)|\\ -% Returns an allocation number for a Lua chunk name for use with +% Returns an allocation number for a Lua chunk name for use with % |\directlua| and |\latelua|, indexed from~$1$. % The number is returned and also \meta{name} argument is added to the % |lua.name| array at that index. @@ -339,7 +339,7 @@ % \DescribeMacro{remove_from_callback} % |luatexbase.remove_from_callback(|\meta{callback}, \meta{description}|)| % Removes the callback function with \meta{description} from the \meta{callback}. -% The removed function and its description +% The removed function and its description % are returned as the results of this function. % % \noindent @@ -407,7 +407,7 @@ % \end{macrocode} % % \subsection{Older \LaTeX{}/Plain \TeX\ setup} -% +% % \begin{macrocode} %<*tex> % \end{macrocode} @@ -473,7 +473,7 @@ % End of proposed changes to \texttt{etex.src} % % \subsubsection{luatex specific settings} -% +% % Switch to global cf |luatex.sty| to leave room for inserts % not really needed for luatex but possibly most compatible % with existing use. @@ -675,7 +675,7 @@ \chardef\unicoderead=\numexpr\count16 + 1\relax \openin\unicoderead=UnicodeData.txt % \loop\unless\ifeof\unicoderead % - \read\unicoderead to \unicodedataline + \read\unicoderead to \unicodedataline \unless\ifx\unicodedataline\storedpar \expandafter\parseunicodedataI\unicodedataline\relax \fi @@ -785,7 +785,7 @@ % \end{macrocode} % Note name change required on older luatex, for hash table access. % \begin{macrocode} - \countdef \CountZero =0 % + \countdef \CountZero =0 % \dimendef \dimenzero =0 % \mathchardef \mathcharzero =0 % \muskipdef \muskipzero =0 % @@ -978,7 +978,7 @@ local function msg_format(mod, msg_type, text) end return first_head .. " " .. string_gsub( - text + text .. "on input line " .. tex.inputlineno, "\n", "\n" .. cont .. " " ) @@ -1045,7 +1045,7 @@ local createtoken if tex.luatexversion > 81 then createtoken = token.create elseif tex.luatexversion > 79 then - createtoken = newtoken.create + createtoken = newtoken.create end local hashtokens = tex.hashtokens() local luatexversion = tex.luatexversion @@ -1134,7 +1134,7 @@ luatexbase.new_attribute = new_attribute % \begin{macrocode} local whatsit_count_name = whatsit_count_name or "e@alloc@whatsit@count" local function new_whatsit(name) - tex_setcount("global", whatsit_count_name, + tex_setcount("global", whatsit_count_name, tex_count[whatsit_count_name] + 1) if tex_count[whatsit_count_name] > 65534 then luatexbase_error("No room for a new custom whatsit") @@ -1157,7 +1157,7 @@ luatexbase.new_whatsit = new_whatsit local bytecode_count_name = bytecode_count_name or "e@alloc@bytecode@count" local function new_bytecode(name) - tex_setcount("global", bytecode_count_name, + tex_setcount("global", bytecode_count_name, tex_count[bytecode_count_name] + 1) if tex_count[bytecode_count_name] > 65534 then luatexbase_error("No room for a new bytecode register") @@ -1180,7 +1180,7 @@ luatexbase.new_bytecode = new_bytecode local chunkname_count_name = chunkname_count_name or "e@alloc@luachunk@count" local function new_chunkname(name) - tex_setcount("global", chunkname_count_name, + tex_setcount("global", chunkname_count_name, tex_count[chunkname_count_name] + 1) local chunkname_count = tex_count[chunkname_count_name] chunkname_count = chunkname_count + 1 @@ -1188,7 +1188,7 @@ local function new_chunkname(name) luatexbase_error("No room for a new chunkname") end lua.name[chunkname_count]=name - luatexbase_log("Lua chunkname " .. (name or "") .. " = " .. + luatexbase_log("Lua chunkname " .. (name or "") .. " = " .. chunkname_count .. "\n") return chunkname_count end @@ -1239,12 +1239,13 @@ local callbacklist = callbacklist or { } % Numerical codes for callback types, and name-to-value association (the % table keys are strings, the values are numbers). % \begin{macrocode} -local list, data, exclusive, simple = 1, 2, 3, 4 -local types = { - list = list, - data = data, - exclusive = exclusive, - simple = simple, +local list, data, exclusive, simple, reverselist = 1, 2, 3, 4, 5 +local types = { + list = list, + data = data, + exclusive = exclusive, + simple = simple, + reverselist = reverselist, } % \end{macrocode} % @@ -1319,6 +1320,7 @@ local callbacktypes = callbacktypes or { % \changes{v1.1k}{2019/10/02}{linebreak\_filter is \texttt{exclusive}} % \changes{v1.1k}{2019/10/02}{process\_rule is \texttt{exclusive}} % \changes{v1.1k}{2019/10/02}{mlist\_to\_hlist is \texttt{exclusive}} +% \changes{v1.1l}{2020/02/02}{post\_linebreak\_filter is \texttt{reverselist}} % \begin{macrocode} contribute_filter = simple, buildpage_filter = simple, @@ -1326,7 +1328,7 @@ local callbacktypes = callbacktypes or { pre_linebreak_filter = list, linebreak_filter = exclusive, append_to_vlist_filter = exclusive, - post_linebreak_filter = list, + post_linebreak_filter = reverselist, hpack_filter = list, vpack_filter = list, hpack_quality = list, @@ -1337,7 +1339,9 @@ local callbacktypes = callbacktypes or { ligaturing = simple, kerning = simple, insert_local_par = simple, + pre_mlist_to_hlist_filter = list, mlist_to_hlist = exclusive, + post_mlist_to_hlist_filter = reverselist, new_graf = simple, % \end{macrocode} % Section 8.5: information reporting callbacks. @@ -1366,10 +1370,12 @@ local callbacktypes = callbacktypes or { % \changes{v1.1j}{2019/06/18}{page\_objnum\_provider added} % \changes{v1.1j}{2019/06/18}{process\_pdf\_image\_content added} % \changes{v1.1j}{2019/10/22}{page\_objnum\_provider and process\_pdf\_image\_content classified data} +% \changes{v1.1l}{2020/02/02}{page\_order\_index added} % \begin{macrocode} finish_pdffile = data, finish_pdfpage = data, page_objnum_provider = data, + page_order_index = data, process_pdf_image_content = data, % \end{macrocode} % Section 8.7: font-related callbacks. @@ -1377,9 +1383,11 @@ local callbacktypes = callbacktypes or { % \changes{v1.1g}{2018/05/02}{glyph\_not\_found added} % \changes{v1.1j}{2019/06/18}{make\_extensible added} % \changes{v1.1j}{2019/06/18}{font\_descriptor\_objnum\_provider added} +% \changes{v1.1l}{2020/02/02}{glyph\_info added} % \begin{macrocode} define_font = exclusive, - glyph_not_found = exclusive, + glyph_info = exclusive, + glyph_not_found = exclusive, glyph_stream_provider = exclusive, make_extensible = exclusive, font_descriptor_objnum_provider = exclusive, @@ -1437,6 +1445,8 @@ end % |true|, then the same head is passed to the next function. If all % functions return |true|, then |true| is returned, otherwise the return % value of the last function not returning |true| is used. +% \item[reverselist] is a specialized variant of \emph{list} which executes +% functions in inverse order. % \item[exclusive] is for functions with more complex signatures; functions in % this type of callback are \emph{not} combined: An error is raised if % a second callback is registered.. @@ -1453,6 +1463,12 @@ local function data_handler(name) end end % \end{macrocode} +% Default for user-defined |data| callbacks without explicit default. +% \begin{macrocode} +local function data_handler_default(value) + return value +end +% \end{macrocode} % Handler for |exclusive| callbacks. We can assume |callbacklist[name]| is not % empty: otherwise, the function wouldn't be registered in the callback any % more. @@ -1488,6 +1504,39 @@ local function list_handler(name) end end % \end{macrocode} +% Default for user-defined |list| and |reverselist| callbacks without explicit default. +% \begin{macrocode} +local function list_handler_default() + return true +end +% \end{macrocode} +% Handler for |reverselist| callbacks. +% \changes{v1.1l}{2020/02/02}{Add reverselist callback type} +% \begin{macrocode} +local function reverselist_handler(name) + return function(head, ...) + local ret + local alltrue = true + local callbacks = callbacklist[name] + for i = #callbacks, 1, -1 do + local cb = callbacks[i] + ret = cb.func(head, ...) + if ret == false then + luatexbase_warning( + "Function `" .. cb.description .. "' returned false\n" + .. "in callback `" .. name .."'" + ) + break + end + if ret ~= true then + alltrue = false + head = ret + end + end + return alltrue and true or head + end +end +% \end{macrocode} % Handler for |simple| callbacks. % \begin{macrocode} local function simple_handler(name) @@ -1498,14 +1547,27 @@ local function simple_handler(name) end end % \end{macrocode} +% Default for user-defined |simple| callbacks without explicit default. +% \begin{macrocode} +local function simple_handler_default() +end +% \end{macrocode} % -% Keep a handlers table for indexed access. +% Keep a handlers table for indexed access and a table with the corresponding default functions. % \begin{macrocode} -local handlers = { - [data] = data_handler, - [exclusive] = exclusive_handler, - [list] = list_handler, - [simple] = simple_handler, +local handlers = { + [data] = data_handler, + [exclusive] = exclusive_handler, + [list] = list_handler, + [reverselist] = reverselist_handler, + [simple] = simple_handler, +} +local defaults = { + [data] = data_handler_default, + [exclusive] = nil, + [list] = list_handler_default, + [reverselist] = list_handler_default, + [simple] = simple_handler_default, } % \end{macrocode} % @@ -1516,18 +1578,24 @@ local handlers = { % If a default function is not required, it may be declared as |false|. % First we need a list of user callbacks. % \begin{macrocode} -local user_callbacks_defaults = { } +local user_callbacks_defaults = { + pre_mlist_to_hlist_filter = list_handler_default, + mlist_to_hlist = node.mlist_to_hlist, + post_mlist_to_hlist_filter = list_handler_default, +} % \end{macrocode} % % \begin{macro}{create_callback} % \changes{v1.0a}{2015/09/24}{Function added} % \changes{v1.0i}{2015/11/29}{Check name is not nil in error message (PHG)} % \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)} +% \changes{v1.1l}{2020/02/02}{Provide proper fallbacks for user-defined callbacks without user-provided default handler} % The allocator itself. % \begin{macrocode} local function create_callback(name, ctype, default) + local ctype_id = types[ctype] if not name or name == "" - or not ctype or ctype == "" + or not ctype_id then luatexbase_error("Unable to create callback:\n" .. "valid callback name and type required") @@ -1536,12 +1604,17 @@ local function create_callback(name, ctype, default) luatexbase_error("Unable to create callback `" .. name .. "':\ncallback is already defined") end - if default ~= false and type (default) ~= "function" then + default = default or defaults[ctype_id] + if not default then luatexbase_error("Unable to create callback `" .. name .. - ":\ndefault is not a function") - end + "':\ndefault is required for `" .. ctype .. + "' callbacks") + elseif type (default) ~= "function" then + luatexbase_error("Unable to create callback `" .. name .. + "':\ndefault is not a function") + end user_callbacks_defaults[name] = default - callbacktypes[name] = types[ctype] + callbacktypes[name] = ctype_id end luatexbase.create_callback = create_callback % \end{macrocode} @@ -1566,9 +1639,6 @@ local function call_callback(name,...) local f if not l then f = user_callbacks_defaults[name] - if l == false then - return nil - end else f = handlers[callbacktypes[name]](name) end @@ -1759,7 +1829,7 @@ local function callback_descriptions (name) end return d end -luatexbase.callback_descriptions =callback_descriptions +luatexbase.callback_descriptions =callback_descriptions % \end{macrocode} % \end{macro} % @@ -1781,6 +1851,31 @@ end luatexbase.uninstall = uninstall % \end{macrocode} % \end{macro} +% \begin{macro}{mlist_to_hlist} +% \changes{v1.1l}{2020/02/02}{|pre/post_mlist_to_hlist| added} +% To emulate these callbacks, the ``real'' |mlist_to_hlist| is replaced by a +% wrapper calling the wrappers before and after. +% \begin{macrocode} +callback_register("mlist_to_hlist", function(head, display_type, need_penalties) + local current = call_callback("pre_mlist_to_hlist_filter", head, display_type, need_penalties) + if current == false then + flush_list(head) + return nil + elseif current == true then + current = head + end + current = call_callback("mlist_to_hlist", current, display_type, need_penalties) + local post = call_callback("post_mlist_to_hlist_filter", current, display_type, need_penalties) + if post == true then + return current + elseif post == false then + flush_list(current) + return nil + end + return post +end) +% \end{macrocode} +% \end{macro} % \endgroup % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltmath.dtx b/Master/texmf-dist/source/latex/base/ltmath.dtx index c38f42b4f95..18688068b04 100644 --- a/Master/texmf-dist/source/latex/base/ltmath.dtx +++ b/Master/texmf-dist/source/latex/base/ltmath.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -260,7 +260,7 @@ \newif\ifv@ \newif\ifh@ % \end{macrocode} -% +% % % % @@ -270,7 +270,7 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\vphantom}{Make commands robust}% % \end{macrocode} -% +% % \begin{macrocode} \DeclareRobustCommand\vphantom{\v@true\h@false\ph@nt} % \end{macrocode} @@ -331,9 +331,9 @@ \def\finph@nt{% \setbox\tw@\null \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi - \ifh@ \wd\tw@\wd\z@\fi + \ifh@ \wd\tw@\wd\z@\fi % \end{macrocode} -% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)} +% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)} % \begin{macrocode} \leavevmode@ifvmode\box\tw@} %</2ekernel|latexrelease> @@ -373,7 +373,7 @@ \def\mathsm@sh#1#2{% \setbox\z@\hbox{$\m@th#1{#2}$}\finsm@sh} % \end{macrocode} -% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)} +% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)} % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> @@ -396,14 +396,14 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\cases}{Make commands robust}% % \end{macrocode} -% +% % \begin{macro}{\cases} % \changes{LaTeX2.09}{1991/08/14} % {(RmS) inserted extra braces around entry for NFSS} @@ -633,7 +633,7 @@ % {(MH) Fixed potential problem in \cs{[} (pr/3399).} % \begin{macro}{\]} % Produces |$$...$$| with checks that |\[| isn't used in math mode, -% and that |\]| is only used in display math mode (though there is no +% and that |\]| is only used in display math mode (though there is no % real test that this display math started with |\[| and not with |$$|). % \changes{v1.1h}{2015/01/08}{Make Robust (latexrelease)} % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltmiscen.dtx b/Master/texmf-dist/source/latex/base/ltmiscen.dtx index 61e44e5e91c..97b1f4a572b 100644 --- a/Master/texmf-dist/source/latex/base/ltmiscen.dtx +++ b/Master/texmf-dist/source/latex/base/ltmiscen.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltmiscen.dtx} - [2019/11/10 v1.1r LaTeX Kernel (Misc. Environments)] + [2019/11/02 v1.1s LaTeX Kernel (Misc. Environments)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltmiscen.dtx} @@ -345,7 +345,7 @@ % package that uses \cs{@writefile} for writing its own files) then % the command behaves exactly as before. % \end{itemize} -% +% % % \begin{macro}{\protected@file@percent} % Dummy cs to be replaced by a percent sign inside @@ -358,7 +358,7 @@ %<*2ekernel|latexrelease> %<latexrelease>\IncludeInRelease{2018/12/01}% %<latexrelease> {\protected@file@percent}{Mask line endings}% -\protected\def\protected@file@percent{} +\protected\def\protected@file@percent{} % \end{macrocode} % \end{macro} @@ -372,7 +372,7 @@ % writing to files (github/73)} % % \begin{macrocode} -\catcode`\^^A=9 +\catcode`\^^A=9 \long\gdef\add@percent@to@temptokena #1\protected@file@percent#2\add@percent@to@temptokena % \end{macrocode} @@ -381,12 +381,12 @@ % group the braces aren't stripped. The |\expandafter| then expands % this extra token away again. % \changes{v1.1q}{2019/10/25}{Allow unbalanced conditionals in \texttt{\#1} (gh/202)} -% \changes{v1.1r}{2019/08/27}{fix to special comment catcodes (gh/202)} +% \changes{v1.1r}{2019/11/10}{fix to special comment catcodes (gh/202)} % \begin{macrocode} {\expandafter\ifx\expandafter X\detokenize{#2}X\expandafter\dont@add@percent@to@temptokena\else \expandafter\do@add@percent@to@temptokena\fi{#1}} % \end{macrocode} -% +% % \begin{macrocode} \long\def\dont@add@percent@to@temptokena#1{% \@temptokena\expandafter{#1}} @@ -398,7 +398,7 @@ % in the definition. Therefore the |\fi| needs to be on the next % line and we need locally another comment character to avoid % getting spaces into the definition---a weird problem :-) -% +% % \begin{macrocode} \begingroup \catcode`\%=12 @@ -435,7 +435,7 @@ }% } % \end{macrocode} -% +% % \begin{macrocode} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease @@ -706,9 +706,27 @@ % \begin{macro}{\@centercr} % \changes{v1.0h}{1994/05/03}{\cs{@badcrerr} replaced by \cs{@nolnerr}} % \changes{v1.0z}{1995/07/13}{Use \cs{nobreak}} +% \changes{v1.1s}{2019/11/02}{Make \cs{@centercr} robust (gh/203)} % \begin{macrocode} -\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\@centercr}{Make robust}% +\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi \par\@ifstar{\nobreak\@xcentercr}\@xcentercr} +%</2ekernel|latexrelease> +% \end{macrocode} +% +% \begin{macrocode} +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@centercr}{Make robust}% +%<latexrelease> +%<latexrelease>\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi +%<latexrelease> \par\@ifstar{\nobreak\@xcentercr}\@xcentercr} +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % @@ -723,7 +741,7 @@ % \begin{macrocode} \def\@icentercr[#1]{\vskip #1\ignorespaces} % \end{macrocode} -% +% % \end{macro} % % @@ -741,7 +759,7 @@ % \end{macrocode} % \end{environment} % -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> @@ -987,7 +1005,7 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> diff --git a/Master/texmf-dist/source/latex/base/ltoutenc.dtx b/Master/texmf-dist/source/latex/base/ltoutenc.dtx index b16af5c8c6a..6ebb62cee8d 100644 --- a/Master/texmf-dist/source/latex/base/ltoutenc.dtx +++ b/Master/texmf-dist/source/latex/base/ltoutenc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -37,15 +37,14 @@ %<TS1>\ProvidesFile{ts1enc.def}[2001/06/05 v3.0e (jk/car/fm) %<TU>\ProvidesFile{tuenc.def} %<package>\ProvidesPackage{fontenc} -%<TS1sty>\ProvidesPackage{textcomp} -%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2018/08/11 v2.0j -%<OT1|T1|OMS|OML|OT4|TS1|TU> Standard LaTeX file] -%<package|TS1sty> Standard LaTeX package] +%<OT1|T1|OMS|OML|OT4|TU|package> [2020/01/25 v2.0m +%<OT1|T1|OMS|OML|OT4|TS1|TU> Standard LaTeX file] +%<package> Standard LaTeX package] % %<*driver> % \fi \ProvidesFile{ltoutenc.dtx} - [2018/11/18 v2.0k LaTeX Kernel (font encodings)] + [2020/01/20 v2.0n LaTeX Kernel (font encodings)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltoutenc.dtx} @@ -834,8 +833,23 @@ % {Explicitly set \cs{spacefactor} after \cs{accent} (pr/2877)} % \begin{macrocode} \global\mathchardef\accent@spacefactor\spacefactor}% +% \end{macrocode} +% The accent primitive doesn't allow things \cs{begingroup} to +% interfere between accent and base character. Therefore we need to +% avoid that (they are some hidden inside \cs{maybe@load@fontshape}). +% As we don't have to load the fontshape in this case +% (as that happened in the box above if necessary, we simply +% disable that part of the code temporaily. +% We also ignore \cs{ignorespaces} which has the same issue and may +% show up as part of \cs{normalfont} if that is used. +% \changes{v2.0m}{2019/12/18}{Avoid code that breaks \cs{accent}} +% \begin{macrocode} + \let\maybe@load@fontshape\relax + \let\ignorespaces\relax \accent#1 #2\egroup\spacefactor\accent@spacefactor} % \end{macrocode} +% +% % Default definition for |\accent@spacefactor| prevents a horrible % death of the above macro inside an unprotected |\edef|. % \changes{v1.9w}{1999/10/28}{Give \cs{accent@spacefactor} a default @@ -1030,7 +1044,7 @@ % \begin{macrocode} \@onlypreamble\DeclareTextComposite % \end{macrocode} -% +% % \end{macro} % \end{macro} % \end{macro} @@ -1048,7 +1062,7 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\UseTextAccent}{Make commands robust}% % \end{macrocode} -% +% % \begin{macro}{\UseTextAccent} % \begin{macro}{\UseTextSymbol} % \changes{v1.7p}{1995/11/17}{Support \cs{@wrong@font@char} latex/1676} @@ -1107,7 +1121,8 @@ %<*2ekernel> % \end{macrocode} % -% +% Switch to a different text encoding without any grouping for use in +% \cs{UseTextAccent} or \cs{UseTextSymbol} (and for \cs{oldstylenums}). % \begin{macrocode} \def\@use@text@encoding#1{% \edef\f@encoding{#1}% @@ -1445,11 +1460,18 @@ % \begin{macrocode} \DeclareTextCommandDefault{\textasciicircum}{\^{}} \DeclareTextCommandDefault{\textasciitilde}{\~{}} -\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@} \DeclareTextCommandDefault{\textunderscore}{% \leavevmode \kern.06em\vbox{\hrule\@width.3em}} % \end{macrocode} % +% There is no good reason anymore to fake \cs{textcompwordmark}. +% \changes{v2.0m}{2019/12/18}{Don't fake \cs{textcompwordmark}; take +% default from T1 instead} +% \begin{macrocode} +%\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@} +\DeclareTextSymbolDefault{\textcompwordmark}{T1} +% \end{macrocode} +% % \begin{macrocode} \DeclareTextCommandDefault{\textvisiblespace}{% \mbox{\kern.06em\vrule \@height.3ex}% @@ -1490,8 +1512,16 @@ % Some commands can be used in both text and math mode: % \begin{macrocode} \DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi} -\DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi} -\DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi} +% \end{macrocode} +% We use \cs{protected} not \cs{DeclareRobustCommand} so that +% \verb=\bigl\{= etc.\ works inside \cs{protected@edef}. +% \changes{v2.0n}{2020/01/20}{fix for gh/251} +% \begin{macrocode} +\protected\def\{{\ifmmode\lbrace\else\textbraceleft\fi} +\protected\def\}{\ifmmode\rbrace\else\textbraceright\fi} +% \end{macrocode} +% +% \begin{macrocode} \DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi} \DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi} \DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi} @@ -1986,7 +2016,7 @@ \DeclareTextSymbol{\guillemotleft}{T1}{19} \DeclareTextSymbol{\guillemotright}{T1}{20} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\guilsinglleft}{T1}{14} \DeclareTextSymbol{\guilsinglright}{T1}{15} @@ -2375,7 +2405,7 @@ \DeclareTextSymbol{\guillemotleft}{OT4}{174} \DeclareTextSymbol{\guillemotright}{OT4}{175} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\i}{OT4}{16} \DeclareTextSymbol{\j}{OT4}{17} @@ -2976,7 +3006,7 @@ % old Adobe name \DeclareTextSymbol{\guillemotleft} \UnicodeEncodingName{"00AB} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\textlnot} \UnicodeEncodingName{"00AC} \DeclareTextSymbol{\textregistered} \UnicodeEncodingName{"00AE} @@ -2998,7 +3028,7 @@ % old Adobe name \DeclareTextSymbol{\guillemotright} \UnicodeEncodingName{"00BB} % \end{macrocode} -% +% % \begin{macrocode} \DeclareTextSymbol{\textonequarter} \UnicodeEncodingName{"00BC} \DeclareTextSymbol{\textonehalf} \UnicodeEncodingName{"00BD} @@ -3087,7 +3117,7 @@ \DeclareTextSymbol{\Hwithstroke} \UnicodeEncodingName{"0126} \DeclareTextSymbol{\hwithstroke} \UnicodeEncodingName{"0127} % \end{macrocode} -% +% % Not all fonts have U+2217 but using U+002A requires some adjustment. % \begin{macrocode} \DeclareTextCommand{\textasteriskcentered}\UnicodeEncodingName{% @@ -3465,27 +3495,48 @@ % \begin{macrocode} \DeclareOption*{% \let\encodingdefault\CurrentOption - \edef\reserved@f{% - \lowercase{\def\noexpand\reserved@f{\CurrentOption enc.def}}}% - \reserved@f - \InputIfFileExists\reserved@f - {}{\PackageError{fontenc}% - {Encoding file `\reserved@f' not found.% - \MessageBreak - You might have misspelt the name of the encoding}% - {Necessary code for this encoding was not - loaded.\MessageBreak - Thus calling the encoding later on will - produce further error messages.}}% - \let\reserved@f\relax +% \end{macrocode} +% From 2020/02/02 release onward we only load the encoding files if +% they haven't be loaded already. To check this we look if +% \verb=\T@=\textit{encoding} is already defined. If not we load +% (indicated by setting the switch +% \texttt{@tempswa} to true and we always load if we run in an older +% format (or rather in a rollback situation). +% \changes{v2.0m}{2020/01/25}{Load each encoding file only once (gh/255)} +% \begin{macrocode} + \@tempswafalse + \@ifl@t@r\fmtversion{2020/02/02}% + {\expandafter\ifx\csname T@\CurrentOption\endcsname\relax + \@tempswatrue\fi}% + {\@tempswatrue}% +% \end{macrocode} +% Load if necessary: +% \begin{macrocode} + \if@tempswa +% \end{macrocode} +% +% \begin{macrocode} + \edef\reserved@f{% + \lowercase{\def\noexpand\reserved@f{\CurrentOption enc.def}}}% + \reserved@f + \InputIfFileExists\reserved@f + {}{\PackageError{fontenc}% + {Encoding file `\reserved@f' not found.% + \MessageBreak + You might have misspelt the name of the encoding}% + {Necessary code for this encoding was not + loaded.\MessageBreak + Thus calling the encoding later on will + produce further error messages.}}% + \let\reserved@f\relax % \end{macrocode} % % In case the current encoding is one of a list of known % cyrillic ones we extend the |\@uclclist|: % \begin{macrocode} - \expandafter\in@\expandafter{\CurrentOption}% - {T2A,T2B,T2C,X2,LCY,OT2}% - \ifin@ + \expandafter\in@\expandafter{\CurrentOption}% + {T2A,T2B,T2C,X2,LCY,OT2}% + \ifin@ % \end{macrocode} % % But only if it hasn't already been extended. This might happen if @@ -3494,12 +3545,13 @@ % unnecessarily big, slowing down the processing at runtime. % \changes{v1.9v}{1999/06/12}{Extend \cs{@uclclist} only once} % \begin{macrocode} - \expandafter\in@\expandafter\cyra\expandafter - {\@uclclist}% - \ifin@ - \else - \update@uclc@with@cyrillic - \fi + \expandafter\in@\expandafter\cyra\expandafter + {\@uclclist}% + \ifin@ + \else + \update@uclc@with@cyrillic + \fi + \fi \fi } % \end{macrocode} @@ -3508,8 +3560,21 @@ \ProcessOptions* % \end{macrocode} % +% We select the new font encoding default (i.e., the last encoding +% specified in the option list. But this encoding may not work with +% the current |\f@shape|, e.g., \texttt{LY1} is not defined for +% \texttt{cmr} and therefore packages switching to \texttt{LY1} +% usually also change \cs{rmdefault}. But that only applies at +% |\begin{document}| so we get a spurious warning if we use what +% \LaTeX{} previously used: +% \changes{v2.0l}{2019/11/22}{Avoid spurious if fontenc selects LY1 as +% default encoding (gh/199)} % \begin{macrocode} -\fontencoding\encodingdefault\selectfont +%\fontencoding\encodingdefault\selectfont +% \end{macrocode} +% So instead we do this here: +% \begin{macrocode} +\usefont\encodingdefault\familydefault\seriesdefault\shapedefault % \end{macrocode} % % To save some space we get rid of the macro extending the @@ -3538,728 +3603,6 @@ % \end{macrocode} % % -% \subsection{The textcomp package} -% -% This one is for the |TS1| encoding which contains text symbols -% for use with the |T1|-encoded text fonts. It therefore first -% inputs the file |TS1enc.def| and then sets (or resets) the -% defaults for the symbols it contains. The result of this is that -% when one of these symbols is accessed and the current encoding -% does not provide it, the symbol will be supplied by a silent, -% local change to this encoding. -% -% \begin{macrocode} -%<*TS1sty> -% \end{macrocode} -% Since many PostScript fonts only implement a subset of |TS1| many -% commands only produce black blobs of ink. To resolve the -% resulting problems a number of options have been introduced and -% some code has been developed to distinguish sub-encodings. -% -% The sub-encodings have a numerical id and are defined as follows -% for \texttt{TS1}: -% \begin{description} -% -% \item[\#5] those \texttt{TS1} symbols that are also in the ISO-Adobe -% character set; without \verb=textcurrency=, which is often -% misused for the Euro. Older Type1 fonts from the non-\TeX{} -% world provide only this subset. -% -% \item[\#4] = \#5 + \verb=\texteuro=. Most newer fonts provide this. -% -% \item[\#3] = \#4 + \verb=\textomega=. Can also be described as -% $\texttt{TS1} \cap (\texttt{ISO-Adobe} \cup -% \texttt{MacRoman})$. (Except for the missing "currency".) - -% -% \item[\#2] = \#3 + \verb=\textestimated= + \verb=\textcurrency=. Can -% also be described as $\texttt{TS1} \cap -% \texttt{Adobe-Western-2}$. This may be relevant for OpenType -% fonts, which usually show the Adobe-Western-2 character set. -% -% \item[\#1] = \texttt{TS1} without \verb=\textcircled= and \verb=\t=. -% These two glyphs are often not implemented and if their kernel -% defaults are changed commands like \verb=\copyright= -% unnecessarily fail. -% -% \item[\#0] = full \texttt{TS1} -% \end{description} -% -% And here a summary to go in the transcript file: -% \begin{macrocode} -\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak - \space\space 5 = only ISO-Adobe without - \string\textcurrency\MessageBreak - \space\space 4 = 5 + \string\texteuro\MessageBreak - \space\space 3 = 4 + \string\textohm\MessageBreak - \space\space 2 = 3 + \noexpand\textestimated+ - \string\textcurrency\MessageBreak - \space\space 1 = TS1 - \noexpand\textcircled- - \string\t\MessageBreak - \space\space 0 = TS1 (full)\MessageBreak - Font families with sub-encoding setting implement\MessageBreak - only a restricted character set as indicated.\MessageBreak - Family '?' is the default used for unknown fonts.\MessageBreak - See the documentation for details\@gobble} -% \end{macrocode} -% -% \begin{macro}{\DeclareEncodingSubset} -% An encoding subset to which a font family belongs is declared by -% the command |\DeclareEncodingSubset| that takes the major encoding as the -% first argument (e.g., |TS1|), the family name as the second -% argument (e.g., |cmr|), and the subset encoding id as a third, -% (e.g., |0| for |cmr|). -% -% The default encoding subset to use when nothing is known about -% the current font family is named |?|. -% \begin{macrocode} -\def\DeclareEncodingSubset#1#2#3{% - \@ifundefined{#1:#2}% - {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}% - {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}% - \@namedef{#1:#2}{#3}} -\@onlypreamble\DeclareEncodingSubset -% \end{macrocode} -% \end{macro} -% -% -% The options for the package are the following: -% \begin{description} -% \item[safe] -% for unknown font families enables only symbols that are also -% in the ISO-Adobe character set; without "currency", which is -% often misused for the Euro. Older Type1 fonts from the -% non-TeX world provide only this subset. -% -% \item[euro] -% enables the ``safe'' symbols plus the |\texteuro| -% command. Most newer fonts provide this. -% -% \item[full] enables all |TS1| commands; useful only with fonts -% like EC or CM bright. -% -% \item[almostfull] -% same as ``full'', except that |\textcircled| -% and |\t| are \emph{not} redefined from their defaults to avoid -% that commands like |\copyright| suddenly no longer work. -% -% \item[force] -% ignore all subset encoding definitions stored in the package -% itself or in the configuration file and always use the default -% subset as specified by one of the other options (seldom useful, -% only dangerous). -% \end{description} - -% \begin{macro}{\iftc@forced} -% Switch used to implement the \texttt{force} option -% \begin{macrocode} -\newif\iftc@forced \tc@forcedfalse -% \end{macrocode} -% \end{macro} - -% This is implemented by defining the default subset: -% \begin{macrocode} -\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}} -\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}} -\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}} -\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}} -% \end{macrocode} -% The default is ``almostfull'' which means that old documents will -% work except that |\textcircled| and |\t| will use the kernel -% defaults (with the advantage that this also works if the current -% font (as often the case) doesn't implement these glyphs. -% -% The ``force'' option simply sets the switch to true. -% \begin{macrocode} -\DeclareOption{force}{\tc@forcedtrue} -% \end{macrocode} -% -% The suggestions to user is to use the ``safe'' option always -% unless that balks in which case they could switch to -% ``almostfull'' but then better check their output manually. -% -% \begin{macrocode} -\def\tc@errorwarn{\PackageError} -\DeclareOption{warn}{\gdef\tc@errorwarn#1#2#3{\PackageWarning{#1}{#2}}} -% \end{macrocode} -% -% \begin{macrocode} -\ExecuteOptions{almostfull} -\ProcessOptions\relax -% \end{macrocode} -% -% \begin{macro}{\CheckEncodingSubset} -% The command |\CheckEncodingSubset| will check if the current font -% family has the right encoding subset to typeset a certain -% command. It takes five arguments as follows: -% first argument is either |\UseTextSymbol|, |\UseTextAccent| -% depending on whether or not the symbol is a text symbol or a text -% accent. - -% The second argument is the encoding from which this symbol should -% be fetched. -% -% The third argument is either a fake accessor command or an error -% message. the code in that argument (if ever executed) receives -% two arguments: |#2| and |#5| of |\CheckEncodingSubset|. -% -% Argument four is the subset encoding id to test against: if this -% value is higher than the subset id of the current font family -% then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise -% it runs |#3#5|, e.g., to produce an error message or fake the -% glyph somehow. -% -% Argument five is the symbol or accent command that is being -% checked. -% -% For usage examples see definitions below. -% \begin{macrocode} -\iftc@forced -% \end{macrocode} -% If the ``force'' option was given we always use the default for -% testing against. -% \begin{macrocode} -\def\CheckEncodingSubset#1#2#3#4#5{% - \ifnum #4>% - 0\csname #2:?\endcsname - \relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - {#1{#2}}{#3}% - #5% -} -% \end{macrocode} -% In normal circumstances the test is a bit more complicated: first -% check if there exists a macro -% |\|\meta{arg2}|:|\meta{current-family} and if so use that value -% to test against, otherwise use the default to test against. -% \begin{macrocode} -\else -\def\CheckEncodingSubset#1#2#3#4#5{% - \ifnum #4>% - \expandafter\ifx\csname #2:\f@family\endcsname\relax - 0\csname #2:?\endcsname - \else - \csname #2:\f@family\endcsname - \fi - \relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi - {#1{#2}}{#3}% - #5% -} -\fi -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\tc@subst} -% \begin{macrocode} -\def\tc@subst#1{% - \tc@errorwarn{textcomp}% % should be latex error if general - {Symbol \string#1 not provided by\MessageBreak - font family \f@family\space - in TS1 encoding.\MessageBreak Default family used instead}\@eha - \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\textcompsubstdefault} -% \begin{macrocode} -\def\textcompsubstdefault{cmr} -% \end{macrocode} -% \end{macro} - -% \begin{macro}{\tc@error} -% |\tc@error| is going to be used in arg |#3| of -% |\CheckEncodingSubset| when a symbol is not available in a -% certain font family. It gets pass the encoding it normally lives -% in (arg one) and the name of the symbol or accent that has a -% problem. -% -% \begin{macrocode} -% error commands take argument: -% #1 symbol to be used -\def\tc@error#1{% - \PackageError{textcomp}% % should be latex error if general - {Accent \string#1 not provided by\MessageBreak - font family \f@family\space - in TS1 encoding}\@eha -} -% \end{macrocode} -% \end{macro} -% -% -% \begin{macro}{\tc@fake@euro} -% |\tc@fake@euro| is an example of a ``fake'' definition to use in arg |#3| of -% |\CheckEncodingSubset| when a symbol is not available in a -% certain font family. Here we produce an Euro symbol by combining -% a ``C'' with a ``=''. -% \begin{macrocode} -\def\tc@fake@euro#1{% - \leavevmode - \PackageInfo{textcomp}{Faking \noexpand#1for font family - \f@family\MessageBreak in TS1 encoding}% - \valign{##\cr - \vfil\hbox to 0.07em{\dimen@\f@size\p@ - \math@fontsfalse - \fontsize{.7\dimen@}\z@\selectfont=\hss}% - \vfil\cr% - \hbox{C}\crcr - }% -} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\tc@check@symbol} -% \begin{macro}{\tc@check@accent} -% These are two abbreviations that we use below to check symbols -% and accents in TS1. Only there to save some space, e.g., we can -% then write -%\begin{verbatim} -%\DeclareTextCommandDefault{\textcurrency}{\tc@check@symbol3\textcurrency} -%\end{verbatim} -% to ensure that |\textcurrency| is only typeset if the current -% font has a \texttt{TS1} subset id of less than 3. Otherwise -% |\tc@error| is called telling the user that for this font family -% |\textcurreny| is not available. -% \begin{macrocode} -\def\tc@check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc@subst} -\def\tc@check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc@error} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% We start with the commands that are ``safe'' and which can be -% unconditionally set up, first the accents\ldots -% \begin{macrocode} -\DeclareTextAccentDefault{\capitalcedilla}{TS1} -\DeclareTextAccentDefault{\capitalogonek}{TS1} -\DeclareTextAccentDefault{\capitalgrave}{TS1} -\DeclareTextAccentDefault{\capitalacute}{TS1} -\DeclareTextAccentDefault{\capitalcircumflex}{TS1} -\DeclareTextAccentDefault{\capitaltilde}{TS1} -\DeclareTextAccentDefault{\capitaldieresis}{TS1} -\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1} -\DeclareTextAccentDefault{\capitalring}{TS1} -\DeclareTextAccentDefault{\capitalcaron}{TS1} -\DeclareTextAccentDefault{\capitalbreve}{TS1} -\DeclareTextAccentDefault{\capitalmacron}{TS1} -\DeclareTextAccentDefault{\capitaldotaccent}{TS1} -% \end{macrocode} -% \ldots and then the other glyphs. -% \changes{v1.9p}{1998/06/12}{Renamed \cs{textmacron} pr/2840} -% \begin{macrocode} -\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1} -\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1} -\DeclareTextSymbolDefault{\textquotestraightbase}{TS1} -\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1} -\DeclareTextSymbolDefault{\texttwelveudash}{TS1} -\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} -\DeclareTextSymbolDefault{\textdollar}{TS1} -\DeclareTextSymbolDefault{\textquotesingle}{TS1} -\DeclareTextSymbolDefault{\textasteriskcentered}{TS1} -\DeclareTextSymbolDefault{\textfractionsolidus}{TS1} -\DeclareTextSymbolDefault{\textminus}{TS1} -\DeclareTextSymbolDefault{\textlbrackdbl}{TS1} -\DeclareTextSymbolDefault{\textrbrackdbl}{TS1} -\DeclareTextSymbolDefault{\textasciigrave}{TS1} -\DeclareTextSymbolDefault{\texttildelow}{TS1} -\DeclareTextSymbolDefault{\textasciibreve}{TS1} -\DeclareTextSymbolDefault{\textasciicaron}{TS1} -\DeclareTextSymbolDefault{\textgravedbl}{TS1} -\DeclareTextSymbolDefault{\textacutedbl}{TS1} -\DeclareTextSymbolDefault{\textdagger}{TS1} -\DeclareTextSymbolDefault{\textdaggerdbl}{TS1} -\DeclareTextSymbolDefault{\textbardbl}{TS1} -\DeclareTextSymbolDefault{\textperthousand}{TS1} -\DeclareTextSymbolDefault{\textbullet}{TS1} -\DeclareTextSymbolDefault{\textcelsius}{TS1} -\DeclareTextSymbolDefault{\textflorin}{TS1} -\DeclareTextSymbolDefault{\texttrademark}{TS1} -\DeclareTextSymbolDefault{\textcent}{TS1} -\DeclareTextSymbolDefault{\textsterling}{TS1} -\DeclareTextSymbolDefault{\textyen}{TS1} -\DeclareTextSymbolDefault{\textbrokenbar}{TS1} -\DeclareTextSymbolDefault{\textsection}{TS1} -\DeclareTextSymbolDefault{\textasciidieresis}{TS1} -\DeclareTextSymbolDefault{\textcopyright}{TS1} -\DeclareTextSymbolDefault{\textordfeminine}{TS1} -\DeclareTextSymbolDefault{\textlnot}{TS1} -\DeclareTextSymbolDefault{\textregistered}{TS1} -\DeclareTextSymbolDefault{\textasciimacron}{TS1} -\DeclareTextSymbolDefault{\textdegree}{TS1} -\DeclareTextSymbolDefault{\textpm}{TS1} -\DeclareTextSymbolDefault{\texttwosuperior}{TS1} -\DeclareTextSymbolDefault{\textthreesuperior}{TS1} -\DeclareTextSymbolDefault{\textasciiacute}{TS1} -\DeclareTextSymbolDefault{\textmu}{TS1} -\DeclareTextSymbolDefault{\textparagraph}{TS1} -\DeclareTextSymbolDefault{\textperiodcentered}{TS1} -\DeclareTextSymbolDefault{\textonesuperior}{TS1} -\DeclareTextSymbolDefault{\textordmasculine}{TS1} -\DeclareTextSymbolDefault{\textonequarter}{TS1} -\DeclareTextSymbolDefault{\textonehalf}{TS1} -\DeclareTextSymbolDefault{\textthreequarters}{TS1} -\DeclareTextSymbolDefault{\texttimes}{TS1} -\DeclareTextSymbolDefault{\textdiv}{TS1} -% \end{macrocode} -% -% The |\texteuro| is only available for subsets with id 4 or -% less. Otherwise we fake the glyph using |\tc@fake@euro| -% \begin{macrocode} -\DeclareTextCommandDefault{\texteuro} - {\CheckEncodingSubset\UseTextSymbol{TS1}\tc@fake@euro5\texteuro} -% \end{macrocode} -% -% The |\textohm| is only available for subsets with id 3 or -% less. Otherwise we produce an error. -% \begin{macrocode} -\DeclareTextCommandDefault{\textohm}{\tc@check@symbol4\textohm} -% \end{macrocode} -% The |\textestimated| and |\textcurrency| are only provided for -% fonts with subset encoding with id 2 or less. -% \begin{macrocode} -\DeclareTextCommandDefault{\textestimated}% - {\tc@check@symbol3\textestimated} -\DeclareTextCommandDefault{\textcurrency}% - {\tc@check@symbol3\textcurrency} -% \end{macrocode} -% Nearly all of the remaining glyphs are provided only with fonts -% with id 1 or 0, i.e., are essentially complete. -% \begin{macrocode} -\DeclareTextCommandDefault{\capitaltie}% - {\tc@check@accent2\capitaltie} -\DeclareTextCommandDefault{\newtie}% - {\tc@check@accent2\newtie} -\DeclareTextCommandDefault{\capitalnewtie}% - {\tc@check@accent2\capitalnewtie} -\DeclareTextCommandDefault{\textleftarrow}% - {\tc@check@symbol2\textleftarrow} -\DeclareTextCommandDefault{\textrightarrow}% - {\tc@check@symbol2\textrightarrow} -\DeclareTextCommandDefault{\textblank}% - {\tc@check@symbol2\textblank} -\DeclareTextCommandDefault{\textdblhyphen}% - {\tc@check@symbol2\textdblhyphen} -\DeclareTextCommandDefault{\textzerooldstyle}% - {\tc@check@symbol2\textzerooldstyle} -\DeclareTextCommandDefault{\textoneoldstyle}% - {\tc@check@symbol2\textoneoldstyle} -\DeclareTextCommandDefault{\texttwooldstyle}% - {\tc@check@symbol2\texttwooldstyle} -\DeclareTextCommandDefault{\textthreeoldstyle}% - {\tc@check@symbol2\textthreeoldstyle} -\DeclareTextCommandDefault{\textfouroldstyle}% - {\tc@check@symbol2\textfouroldstyle} -\DeclareTextCommandDefault{\textfiveoldstyle}% - {\tc@check@symbol2\textfiveoldstyle} -\DeclareTextCommandDefault{\textsixoldstyle}% - {\tc@check@symbol2\textsixoldstyle} -\DeclareTextCommandDefault{\textsevenoldstyle}% - {\tc@check@symbol2\textsevenoldstyle} -\DeclareTextCommandDefault{\texteightoldstyle}% - {\tc@check@symbol2\texteightoldstyle} -\DeclareTextCommandDefault{\textnineoldstyle}% - {\tc@check@symbol2\textnineoldstyle} -\DeclareTextCommandDefault{\textlangle}% - {\tc@check@symbol2\textlangle} -\DeclareTextCommandDefault{\textrangle}% - {\tc@check@symbol2\textrangle} -\DeclareTextCommandDefault{\textmho}% - {\tc@check@symbol2\textmho} -\DeclareTextCommandDefault{\textbigcircle}% - {\tc@check@symbol2\textbigcircle} -\DeclareTextCommandDefault{\textuparrow}% - {\tc@check@symbol2\textuparrow} -\DeclareTextCommandDefault{\textdownarrow}% - {\tc@check@symbol2\textdownarrow} -\DeclareTextCommandDefault{\textborn}% - {\tc@check@symbol2\textborn} -\DeclareTextCommandDefault{\textdivorced}% - {\tc@check@symbol2\textdivorced} -\DeclareTextCommandDefault{\textdied}% - {\tc@check@symbol2\textdied} -\DeclareTextCommandDefault{\textleaf}% - {\tc@check@symbol2\textleaf} -\DeclareTextCommandDefault{\textmarried}% - {\tc@check@symbol2\textmarried} -\DeclareTextCommandDefault{\textmusicalnote}% - {\tc@check@symbol2\textmusicalnote} -\DeclareTextCommandDefault{\textdblhyphenchar}% - {\tc@check@symbol2\textdblhyphenchar} -\DeclareTextCommandDefault{\textdollaroldstyle}% - {\tc@check@symbol2\textdollaroldstyle} -\DeclareTextCommandDefault{\textcentoldstyle}% - {\tc@check@symbol2\textcentoldstyle} -\DeclareTextCommandDefault{\textcolonmonetary}% - {\tc@check@symbol2\textcolonmonetary} -\DeclareTextCommandDefault{\textwon}% - {\tc@check@symbol2\textwon} -\DeclareTextCommandDefault{\textnaira}% - {\tc@check@symbol2\textnaira} -\DeclareTextCommandDefault{\textguarani}% - {\tc@check@symbol2\textguarani} -\DeclareTextCommandDefault{\textpeso}% - {\tc@check@symbol2\textpeso} -\DeclareTextCommandDefault{\textlira}% - {\tc@check@symbol2\textlira} -\DeclareTextCommandDefault{\textrecipe}% - {\tc@check@symbol2\textrecipe} -\DeclareTextCommandDefault{\textinterrobang}% - {\tc@check@symbol2\textinterrobang} -\DeclareTextCommandDefault{\textinterrobangdown}% - {\tc@check@symbol2\textinterrobangdown} -\DeclareTextCommandDefault{\textdong}% - {\tc@check@symbol2\textdong} -\DeclareTextCommandDefault{\textpertenthousand}% - {\tc@check@symbol2\textpertenthousand} -\DeclareTextCommandDefault{\textpilcrow}% - {\tc@check@symbol2\textpilcrow} -\DeclareTextCommandDefault{\textbaht}% - {\tc@check@symbol2\textbaht} -\DeclareTextCommandDefault{\textnumero}% - {\tc@check@symbol2\textnumero} -\DeclareTextCommandDefault{\textdiscount}% - {\tc@check@symbol2\textdiscount} -\DeclareTextCommandDefault{\textopenbullet}% - {\tc@check@symbol2\textopenbullet} -\DeclareTextCommandDefault{\textservicemark}% - {\tc@check@symbol2\textservicemark} -\DeclareTextCommandDefault{\textlquill}% - {\tc@check@symbol2\textlquill} -\DeclareTextCommandDefault{\textrquill}% - {\tc@check@symbol2\textrquill} -\DeclareTextCommandDefault{\textcopyleft}% - {\tc@check@symbol2\textcopyleft} -\DeclareTextCommandDefault{\textcircledP}% - {\tc@check@symbol2\textcircledP} -\DeclareTextCommandDefault{\textreferencemark}% - {\tc@check@symbol2\textreferencemark} -\DeclareTextCommandDefault{\textsurd}% - {\tc@check@symbol2\textsurd} -% \end{macrocode} -% The |\textcircled| and |\t| are handled specially, unless the -% current font has a subset id of 0 (i.e. full \texttt{TS1}) we -% pick the symbols up from the the math font encodings, i.e., the -% third argument to |\CheckEncodingSubset| uses |\UseTextAccent| to -% get them from there. -% \begin{macrocode} -\DeclareTextCommandDefault{\textcircled} - {\CheckEncodingSubset\UseTextAccent{TS1}% - {\UseTextAccent{OMS}}1\textcircled} -\DeclareTextCommandDefault{\t} - {\CheckEncodingSubset\UseTextAccent{TS1}% - {\UseTextAccent{OML}}1\t} -% \end{macrocode} - - -% -% Finally input the encoding-specific definitions for -% \texttt{TS1} thus making the top-level definitions -% optimised for this encoding (and not for the default -% encoding, see section~\ref{sec:orderofdecls}). -% \changes{v1.9o}{1998/03/20}{Load decls after defaults for speed.} -% \begin{macrocode} -\input{ts1enc.def} -% \end{macrocode} -% Now having the new glyphs available we also want to make sure -% that they are used. For most cases this will automatically happen -% but for some glyphs there are inferior definitions already known -% to \LaTeX{} which will prevent the usage of the \texttt{TS1} -% versions (see section~\ref{sec:removeencspec} above). So we better -% get rid of them: -% \changes{v1.9o}{1998/03/20}{Added various \cs{UndeclareTextCommand} -% declarations for pr/2783} -% \begin{macrocode} -\UndeclareTextCommand{\textsterling}{OT1} -\UndeclareTextCommand{\textdollar} {OT1} -% \end{macrocode} -% Similar declarations should probably be made for other encodings -% like \texttt{OT4} if they are in use. -% \begin{macrocode} -%\UndeclareTextCommand{\textsterling}{OT4} -%\UndeclareTextCommand{\textdollar} {OT4} -% \end{macrocode} -% From the \texttt{T1} encoding there are two candidates for removal: -% \textperthousand{} and \textpertenthousand{} since these are both -% constructed from \% followed by a tiny -% `{\fontencoding{T1}\selectfont \char 24}' -% rather than being a single glyph. The problem with this -% approach is that in PostScript fonts this small zero is usually not -% available resulting in \%\rule{3pt}{3pt} rather than -% \textperthousand{} while the real glyph (at least for -% |\textperthousand|) is available in the PostScript version of -% \texttt{TS1}. So for the moment we compromise by removing the -% \texttt{T1} declaration for |\textperthousand| but keeping the one -% for |\textpertenthousand|. This will have the effect that with -% Computer Modern fonts everything will come out (although -% \textperthousand{} and \textpertenthousand{} are not taken from the -% same physical font) and with PostScript fonts \textperthousand{} -% will come out correctly while \textpertenthousand{} will most -% likely look like \%\rule{6pt}{3pt} --- which is probably an -% improvement over just getting a single `\rule{3pt}{3pt}' to -% indicate a completely missing glyph, which would happen if we -% also `undeclared' |\textpertenthousand|. -% \begin{macrocode} -\UndeclareTextCommand{\textperthousand}{T1} -%\UndeclareTextCommand{\textpertenthousand}{T1} -% \end{macrocode} -% -% -% \subsubsection{Supporting oldstyle digits} -% -% \begin{macrocode} -\DeclareRobustCommand\oldstylenums[1]{% - \begingroup - \ifmmode - \mathgroup\symletters #1% - \else - \CheckEncodingSubset\@use@text@encoding{TS1}% - {\PackageWarning{textcomp}% - {Oldstyle digits unavailable for - family \f@family.\MessageBreak - Lining digits used instead}}% - \tw@{#1}% - \fi - \endgroup -} -% \end{macrocode} -% -% \subsubsection{Subset encoding defaults} -% -% For many font families commonly used in the \TeX{} world we -% provide the subset encoding data here. Users can add additional -% font families in the file \texttt{textcomp.cfg} if they own other -% fonts. -% -% However, if the option ``forced'' was given then all subset -% encoding specifications are ignored, so there is no point in -% setting any of them up: -% \begin{macrocode} -\iftc@forced \else -% \end{macrocode} -% -% Computer modern based fonts (e.g., CM, CM-Bright, Concrete): -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{cmr} {0} -\DeclareEncodingSubset{TS1}{cmss} {0} -\DeclareEncodingSubset{TS1}{cmtt} {0} -\DeclareEncodingSubset{TS1}{cmvtt} {0} -\DeclareEncodingSubset{TS1}{cmbr} {0} -\DeclareEncodingSubset{TS1}{cmtl} {0} -\DeclareEncodingSubset{TS1}{ccr} {0} -% \end{macrocode} -% -% PSNFSS fonts: -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{ptm} {4} -\DeclareEncodingSubset{TS1}{pcr} {4} -\DeclareEncodingSubset{TS1}{phv} {4} -\DeclareEncodingSubset{TS1}{ppl} {3} -\DeclareEncodingSubset{TS1}{pag} {4} -\DeclareEncodingSubset{TS1}{pbk} {4} -\DeclareEncodingSubset{TS1}{pnc} {4} -\DeclareEncodingSubset{TS1}{pzc} {4} -\DeclareEncodingSubset{TS1}{bch} {4} -\DeclareEncodingSubset{TS1}{put} {5} -% \end{macrocode} -% -% Other CTAN fonts (probably not complete): -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{uag} {5} -\DeclareEncodingSubset{TS1}{ugq} {5} -\DeclareEncodingSubset{TS1}{ul8} {4} -\DeclareEncodingSubset{TS1}{ul9} {4} % (LuxiSans, one day) -\DeclareEncodingSubset{TS1}{augie} {5} -\DeclareEncodingSubset{TS1}{dayrom} {3} -\DeclareEncodingSubset{TS1}{dayroms} {3} -\DeclareEncodingSubset{TS1}{pxr} {0} -\DeclareEncodingSubset{TS1}{pxss} {0} -\DeclareEncodingSubset{TS1}{pxtt} {0} -\DeclareEncodingSubset{TS1}{txr} {0} -\DeclareEncodingSubset{TS1}{txss} {0} -\DeclareEncodingSubset{TS1}{txtt} {0} -% \end{macrocode} -% -% Latin Modern and TeX Gyre: -% \changes{v1.99k}{2009/10/28}{Added Latin Modern and TeX Gyre subsets} -% \changes{v1.99l}{2009/11/04}{Added more Latin Modern and TeX Gyre subsets} -% \changes{v1.99m}{2015/02/16}{Added lmtt (Heiko Oberdiek) latex/4415} -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{lmr} {0} -\DeclareEncodingSubset{TS1}{lmdh} {0} -\DeclareEncodingSubset{TS1}{lmss} {0} -\DeclareEncodingSubset{TS1}{lmssq} {0} -\DeclareEncodingSubset{TS1}{lmvtt} {0} -\DeclareEncodingSubset{TS1}{lmtt} {0} -% \end{macrocode} -% -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{qhv} {0} -\DeclareEncodingSubset{TS1}{qag} {0} -\DeclareEncodingSubset{TS1}{qbk} {0} -\DeclareEncodingSubset{TS1}{qcr} {0} -\DeclareEncodingSubset{TS1}{qcs} {0} -\DeclareEncodingSubset{TS1}{qpl} {0} -\DeclareEncodingSubset{TS1}{qtm} {0} -\DeclareEncodingSubset{TS1}{qzc} {0} -\DeclareEncodingSubset{TS1}{qhvc} {0} -% \end{macrocode} -% -% Fourier-GUTenberg: -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{futs} {4} -\DeclareEncodingSubset{TS1}{futx} {4} -\DeclareEncodingSubset{TS1}{futj} {4} -% \end{macrocode} -% -% Y\&Y's Lucida Bright -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{hlh} {3} -\DeclareEncodingSubset{TS1}{hls} {3} -\DeclareEncodingSubset{TS1}{hlst} {3} -% \end{macrocode} -% The remaining settings for Lucida are conservative: the following -% fonts contain the |\textohm| character but not the |\texteuro|, -% i.e., belong to neither subset~4 nor subset~3. If you want to -% use the |\textohm| with these fonts copy these definition to -% \texttt{textcomp.cfg} and change the subset to~3. However in that -% case make sure that you do not use the |\texteuro|. -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{hlct} {5} -\DeclareEncodingSubset{TS1}{hlx} {5} -\DeclareEncodingSubset{TS1}{hlce} {5} -\DeclareEncodingSubset{TS1}{hlcn} {5} -\DeclareEncodingSubset{TS1}{hlcw} {5} -\DeclareEncodingSubset{TS1}{hlcf} {5} -% \end{macrocode} -% -% Other commercial families\ldots -% \begin{macrocode} -\DeclareEncodingSubset{TS1}{pplx} {3} -\DeclareEncodingSubset{TS1}{pplj} {3} -\DeclareEncodingSubset{TS1}{ptmx} {4} -\DeclareEncodingSubset{TS1}{ptmj} {4} -% \end{macrocode} -% -% If the file \texttt{textcomp.cfg} exists it will be loaded at -% this point. This allows to define further subset encodings for -% font families not covered by default. -% -% \begin{macrocode} -\InputIfFileExists{textcomp.cfg} - {\PackageInfo{textcomp}{Local configuration file used}}{} -% \end{macrocode} -% -% \begin{macrocode} -\fi -%</TS1sty> -% \end{macrocode} % % \Finale % diff --git a/Master/texmf-dist/source/latex/base/ltoutenc.ins b/Master/texmf-dist/source/latex/base/ltoutenc.ins index e3f436fbc15..17d62e11e8a 100644 --- a/Master/texmf-dist/source/latex/base/ltoutenc.ins +++ b/Master/texmf-dist/source/latex/base/ltoutenc.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -96,12 +96,11 @@ extension .ins) which are part of the distribution. \from{ltoutenc.dtx}{TS1}} \file{tuenc.def}{ \from{ltoutenc.dtx}{TU}} - \file{textcomp.sty}{ - \from{ltoutenc.dtx}{TS1sty}} +% no longer in this file since 2020/02 release +% \file{textcomp.sty}{ +% \from{ltoutenc.dtx}{TS1sty}} \file{fontenc.sty}{ \from{ltoutenc.dtx}{package}} } \endbatchfile - - diff --git a/Master/texmf-dist/source/latex/base/ltoutput.dtx b/Master/texmf-dist/source/latex/base/ltoutput.dtx index 138bc85ba38..c3b27baf42d 100644 --- a/Master/texmf-dist/source/latex/base/ltoutput.dtx +++ b/Master/texmf-dist/source/latex/base/ltoutput.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -748,10 +748,10 @@ % \changes{v1.2m}{2015/03/12} % {initialise \cs{@dbldeferlist} again} % The new algorithm stores page wide floats together with column floats -% in a single |\@deferlist| list. We keep |\@dbldeferlist| +% in a single |\@deferlist| list. We keep |\@dbldeferlist| % initialised as empty so that packages that are testing for % deferred floats can use the same code for old or new float -% handling. +% handling. % \begin{macrocode} \gdef\@dbldeferlist{} % \end{macrocode} @@ -990,15 +990,15 @@ \if@nobreak \@nobreakfalse \everypar{}\fi \par % \end{macrocode} -% The |\vfil| at the end of the macro before the break penalty will +% The |\vfil| at the end of the macro before the break penalty will % normally result in the page being run short, even with |\flushbottom| % in effect (in contrast to the behavior -% of |\pagebreak|). However, if there +% of |\pagebreak|). However, if there % is some explicit stretch on the page, say, a |\vfill|, it has the undesired % side-effect, that the last line will not align at its baseline if it % contains characters going below the baseline, as the value of |\prevdepth| -% is no longer taken into account by \TeX{}. So we back up by that amount -% (or by |\maxdepth| if it is really huge), to mimic the normal behavior +% is no longer taken into account by \TeX{}. So we back up by that amount +% (or by |\maxdepth| if it is really huge), to mimic the normal behavior % without the |\newpage|. % \begin{macrocode} \ifdim\prevdepth>\z@ @@ -1448,8 +1448,8 @@ \def\@testwrongwidth #1{% \ifdim\dp#1=\f@depth %<*trace> - \fl@trace{\string#1 - \ifdim\f@depth=\z@ single \else double \fi + \fl@trace{\string#1 + \ifdim\f@depth=\z@ single \else double \fi column float -- ok}% %</trace> \else @@ -3110,7 +3110,7 @@ % |\@textmin| also. % \begin{macrocode} %<*trace> -%<latexrelease|fltrace|flafter> \fl@trace{textfloatsheight (before) = +%<latexrelease|fltrace|flafter> \fl@trace{textfloatsheight (before) = %<latexrelease|fltrace|flafter> \the \@textfloatsheight}% %</trace> %<latexrelease|fltrace|flafter> \advance \@textmin \@textfloatsheight @@ -3133,7 +3133,7 @@ %<latexrelease|fltrace|flafter> \fi %<latexrelease|fltrace|flafter> \advance \@reqcolroom \ht\@currbox %<*trace> -%<latexrelease|fltrace|flafter> \fl@trace{float size = +%<latexrelease|fltrace|flafter> \fl@trace{float size = %<latexrelease|fltrace|flafter> \the \ht \@currbox (addtocurcol)}% %<latexrelease|fltrace|flafter> \fl@trace{colroom = %<latexrelease|fltrace|flafter> \the \@colroom (addtocurcol)}% @@ -3234,7 +3234,7 @@ %<latexrelease|fltrace|flafter> \box\@currbox %<latexrelease|fltrace|flafter> \penalty\interlinepenalty %<latexrelease|fltrace|flafter> \vskip\intextsep -%<latexrelease|fltrace|flafter> \ifnum\outputpenalty +%<latexrelease|fltrace|flafter> \ifnum\outputpenalty %<latexrelease|fltrace|flafter> <-\@Mii \vskip %<latexrelease|fltrace|flafter> -\parskip\fi % \end{macrocode} @@ -3278,14 +3278,14 @@ %<latexrelease|fltrace|flafter> \fl@trace{Fail: colnum = \the \@colnum: %<latexrelease|fltrace|flafter> fpstype \the \@fpstype=ORD?}% %<latexrelease|fltrace|flafter> \ifnum \@fpstype<\sixt@@n -%<latexrelease|fltrace|flafter> \fl@trace{ERROR: BANG float not successful +%<latexrelease|fltrace|flafter> \fl@trace{ERROR: BANG float not successful %<latexrelease|fltrace|flafter> (addtocurcol)}% %<latexrelease|fltrace|flafter> \fi %</trace> %<latexrelease|fltrace|flafter> \fi %<*trace> %<latexrelease|fltrace|flafter> \else -%<latexrelease|fltrace|flafter> \fl@trace{Fail---no room: fl box ht: +%<latexrelease|fltrace|flafter> \fl@trace{Fail---no room: fl box ht: %<latexrelease|fltrace|flafter> \the \ht \@currbox (addtocurcol)}% %</trace> %<latexrelease|fltrace|flafter> \fi @@ -3485,7 +3485,7 @@ %<*trace> %<latexrelease|fltrace> \fl@trace{End of addtonextcol -- %<latexrelease|fltrace> locally counts:}% -%<latexrelease|fltrace> \fl@trace{col: \the \@colnum. +%<latexrelease|fltrace> \fl@trace{col: \the \@colnum. %<latexrelease|fltrace> top: \the \@topnum. bot: \the \@botnum.}% %</trace> %<latexrelease|fltrace> \endgroup @@ -4410,7 +4410,7 @@ \advance \@reqcolroom \ifx #2\@empty \textfloatsep \else \floatsep \fi %<*trace> - \fl@trace{colroom = \the \@colroom + \fl@trace{colroom = \the \@colroom (flcheckspace \string#1 \string#2)}% \fl@trace{reqcolroom = \the \@reqcolroom (flcheckspace \string#1 \string#2)}% diff --git a/Master/texmf-dist/source/latex/base/ltpage.dtx b/Master/texmf-dist/source/latex/base/ltpage.dtx index c5ce52b1c65..f926f330605 100644 --- a/Master/texmf-dist/source/latex/base/ltpage.dtx +++ b/Master/texmf-dist/source/latex/base/ltpage.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -183,7 +183,7 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\markboth}{Make commands robust}% % \end{macrocode} -% +% % \begin{macro}{\markboth} % \begin{macro}{\markright} % \changes{v1.0d}{1994/05/20}{Changed setting for \cs{protect}.} @@ -211,7 +211,7 @@ \endgroup \if@nobreak\ifvmode\nobreak\fi\fi} % \end{macrocode} -% +% % \begin{macrocode} \DeclareRobustCommand\markright[1]{% \begingroup diff --git a/Master/texmf-dist/source/latex/base/ltpageno.dtx b/Master/texmf-dist/source/latex/base/ltpageno.dtx index f6b10985b81..6374f58b89a 100644 --- a/Master/texmf-dist/source/latex/base/ltpageno.dtx +++ b/Master/texmf-dist/source/latex/base/ltpageno.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltpar.dtx b/Master/texmf-dist/source/latex/base/ltpar.dtx index 75b4894eb1d..ed1b439e9da 100644 --- a/Master/texmf-dist/source/latex/base/ltpar.dtx +++ b/Master/texmf-dist/source/latex/base/ltpar.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltpictur.dtx b/Master/texmf-dist/source/latex/base/ltpictur.dtx index ad82cd477f3..9440fc783ad 100644 --- a/Master/texmf-dist/source/latex/base/ltpictur.dtx +++ b/Master/texmf-dist/source/latex/base/ltpictur.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -1141,7 +1141,7 @@ % \changes{v1.1l}{2016/03/29}{macro added (latex/4452)} % Tests whether horizontal or vertical lines are needed. % \begin{macrocode} -\newif\if@ovvline \@ovvlinetrue +\newif\if@ovvline \@ovvlinetrue \newif\if@ovhline \@ovhlinetrue % \end{macrocode} % \end{macro} @@ -1250,7 +1250,7 @@ %<latexrelease> \@circlefnt \setbox\@tempboxa %<latexrelease> \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi %<latexrelease> \if@ovl -%<latexrelease> \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx +%<latexrelease> \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx %<latexrelease> \fi %<latexrelease> \if@ovt \@ovhorz \kern -\@ovxx \fi %<latexrelease> \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro @@ -1547,7 +1547,7 @@ %<*2ekernel|latexrelease> %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\bezier}{Make commands robust}% -\MakeRobust\bezier +\MakeRobust\bezier \MakeRobust\circle \MakeRobust\dashbox \MakeRobust\line @@ -1555,7 +1555,7 @@ \MakeRobust\multiput \MakeRobust\oval \MakeRobust\put -\MakeRobust\qbezier +\MakeRobust\qbezier \MakeRobust\shortstack \MakeRobust\thinlines \MakeRobust\vector @@ -1564,7 +1564,7 @@ %<latexrelease>\IncludeInRelease{0000/00/00}% %<latexrelease> {\bezier}{Make commands robust}% %<latexrelease> -%<latexrelease>\kernel@make@fragile\bezier +%<latexrelease>\kernel@make@fragile\bezier %<latexrelease>\kernel@make@fragile\circle %<latexrelease>\kernel@make@fragile\dashbox %<latexrelease>\kernel@make@fragile\line @@ -1572,7 +1572,7 @@ %<latexrelease>\kernel@make@fragile\multiput %<latexrelease>\kernel@make@fragile\oval %<latexrelease>\kernel@make@fragile\put -%<latexrelease>\kernel@make@fragile\qbezier +%<latexrelease>\kernel@make@fragile\qbezier %<latexrelease>\kernel@make@fragile\shortstack %<latexrelease>\kernel@make@fragile\thinlines %<latexrelease>\kernel@make@fragile\vector diff --git a/Master/texmf-dist/source/latex/base/ltplain.dtx b/Master/texmf-dist/source/latex/base/ltplain.dtx index 2337133f2f9..06602780664 100644 --- a/Master/texmf-dist/source/latex/base/ltplain.dtx +++ b/Master/texmf-dist/source/latex/base/ltplain.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -378,7 +378,7 @@ \ifx\directlua\@undefined \def\newwrite {\e@alloc\write \chardef{\count17}\m@ne\sixt@@n} \else - \def\newwrite {\e@alloc\write + \def\newwrite {\e@alloc\write {\ifnum\allocationnumber=18 \advance\count17\@ne \allocationnumber\count17 % @@ -542,7 +542,7 @@ % \begin{macrocode} \def\e@alloc#1#2#3#4#5#6{% \global\advance#3\@ne - \e@ch@ck{#3}{#4}{#5}#1% + \e@ch@ck{#3}{#4}{#5}#1% \allocationnumber#3\relax \global#2#6\allocationnumber \wlog{\string#6=\string#1\the\allocationnumber}}% diff --git a/Master/texmf-dist/source/latex/base/ltsect.dtx b/Master/texmf-dist/source/latex/base/ltsect.dtx index 239d4c547fd..9ccd042fb4e 100644 --- a/Master/texmf-dist/source/latex/base/ltsect.dtx +++ b/Master/texmf-dist/source/latex/base/ltsect.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -116,14 +116,14 @@ % using the information previously saved with the other commands. % % -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\title}{Make commands robust}% % \end{macrocode} -% +% % % \begin{macro}{\title} % \changes{LaTeX2e}{1993/12/11}{Added default} @@ -191,7 +191,7 @@ % \end{macrocode} % % -% +% % \begin{macro}{\@title} % \begin{macrocode} \def\@title{\@latex@error{No \noexpand\title given}\@ehc} @@ -784,7 +784,7 @@ \def\addcontentsline#1#2#3{% \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}% % \end{macrocode} -% We add \cs{protected@file@percent} at the end which is turned om +% We add \cs{protected@file@percent} at the end which is turned inside % \cs{@writefile} into a percent character to mask the newline after % the closing argument brace. % \begin{macrocode} @@ -923,7 +923,7 @@ % \begin{macro}{\noprotrusion} % This command, if placed directly to the right (or left) of a -% word, will prevent prevent protrusion of that word into the +% word, will prevent protrusion of that word into the % margin. It is used in the toc entry lines as they shouldn't % protrude. It is implemented as to kerns that cancel each other % but being there hide the word so that protrusion is not @@ -934,7 +934,7 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel|latexrelease> %<latexrelease>\EndIncludeInRelease diff --git a/Master/texmf-dist/source/latex/base/ltspace.dtx b/Master/texmf-dist/source/latex/base/ltspace.dtx index d840b13bbbe..16d7dcb43aa 100644 --- a/Master/texmf-dist/source/latex/base/ltspace.dtx +++ b/Master/texmf-dist/source/latex/base/ltspace.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -32,7 +32,7 @@ %<*driver> % \fi \ProvidesFile{ltspace.dtx} - [2019/08/27 v1.3j LaTeX Kernel (spacing)] + [2019/11/02 v1.3k LaTeX Kernel (spacing)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltspace.dtx} @@ -275,7 +275,7 @@ %<*2ekernel> \message{spacing,} % \end{macrocode} -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> @@ -393,15 +393,38 @@ % so now it is explicitly robust, like |\\|. % \begin{macro}{\@normalcr} % The internal definition of the `normal' definition of |\\|. +% \changes{v1.3k}{2019/11/02}{Make also \cs{@normalcr} robust} % \begin{macrocode} -\DeclareRobustCommand\\{% +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\@normalcr}{Make robust}% +\protected\def\@normalcr{% \let \reserved@e \relax \let \reserved@f \relax \@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak \@xnewline}% - \@xnewline} -\expandafter\let\expandafter\@normalcr - \csname\expandafter\@gobble\string\\ \endcsname + \@xnewline} +% \end{macrocode} +% +% \begin{macrocode} +\let\\\@normalcr +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\@normalcr}{Make robust}% +%<latexrelease> +%<latexrelease>\DeclareRobustCommand\\{% +%<latexrelease> \let \reserved@e \relax +%<latexrelease> \let \reserved@f \relax +%<latexrelease> \@ifstar{\let \reserved@e \vadjust \let \reserved@f \nobreak +%<latexrelease> \@xnewline}% +%<latexrelease> \@xnewline} +%<latexrelease>\expandafter\let\expandafter\@normalcr +%<latexrelease> \csname\expandafter\@gobble\string\\ \endcsname +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> % \end{macrocode} % \end{macro} % \end{macro} @@ -598,7 +621,7 @@ % \changes{v1.3f}{2015/11/07} % {Only space if there is no space at the end of the hlist latex/4443} % \begin{macrocode} - \ifdim\lastskip=\z@ + \ifdim\lastskip=\z@ \nobreak \hskip\z@skip \fi \ignorespaces @@ -624,7 +647,7 @@ %<latexrelease> \ifhmode %<latexrelease> \spacefactor\@savsf %<latexrelease> \ifdim\@savsk>\z@ -%<latexrelease> \ifdim\lastskip=\z@ +%<latexrelease> \ifdim\lastskip=\z@ %<latexrelease> \nobreak \hskip\z@skip %<latexrelease> \fi %<latexrelease> \ignorespaces @@ -1153,7 +1176,7 @@ % \end{macrocode} % \end{macro} % -% +% % \begin{macrocode} %</2ekernel> %<*2ekernel|latexrelease> @@ -1165,7 +1188,7 @@ % \begin{macro}{\thinspace} % \begin{macro}{\negthinspace} % \begin{macro}{\enspace} -% \changes{v1.3h}{2018/09/24}{Start LR-mode if necessary (git/49)} +% \changes{v1.3h}{2018/09/24}{Start LR-mode if necessary (git/49)} % \begin{macrocode} \DeclareRobustCommand\thinspace{\leavevmode@ifvmode\kern .16667em } \DeclareRobustCommand\negthinspace{\leavevmode@ifvmode\kern-.16667em } @@ -1178,7 +1201,7 @@ % \begin{macro}{\leavevmode@ifvmode} % Leave vmode but only if we are really in vmode, otherwise the % expansion is empty (which is not the case with the default definition). -% \changes{v1.3h}{2018/09/24}{Macro added (git/49)} +% \changes{v1.3h}{2018/09/24}{Macro added (git/49)} % \begin{macrocode} \protected\def\leavevmode@ifvmode{\ifvmode\expandafter\indent\fi} % \end{macrocode} @@ -1234,4 +1257,3 @@ % % \Finale \endinput - diff --git a/Master/texmf-dist/source/latex/base/lttab.dtx b/Master/texmf-dist/source/latex/base/lttab.dtx index aa2a00390fc..47cf4a66184 100644 --- a/Master/texmf-dist/source/latex/base/lttab.dtx +++ b/Master/texmf-dist/source/latex/base/lttab.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -608,7 +608,7 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\pushtabs}{Make commands robust}% % \end{macrocode} -% +% % \begin{macro}{\pushtabs} % \begin{macrocode} \DeclareRobustCommand\pushtabs{% @@ -658,7 +658,7 @@ %<latexrelease>\EndIncludeInRelease %<*2ekernel> % \end{macrocode} -% +% % \begin{macro}{\tabbingsep} % \begin{macrocode} \newdimen\tabbingsep diff --git a/Master/texmf-dist/source/latex/base/lttextcomp.dtx b/Master/texmf-dist/source/latex/base/lttextcomp.dtx new file mode 100644 index 00000000000..eca72e4d28c --- /dev/null +++ b/Master/texmf-dist/source/latex/base/lttextcomp.dtx @@ -0,0 +1,2214 @@ +% \iffalse meta-comment +% +% Copyright (C) 2019-2020 +% The LaTeX3 Project and any individual authors listed elsewhere +% in this file. +% +% This file is part of the LaTeX base system. +% ------------------------------------------- +% +% It may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3c +% of this license or (at your option) any later version. +% The latest version of this license is in +% https://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2008 or later. +% +% This file has the LPPL maintenance status "maintained". +% +% The list of all files belonging to the LaTeX base distribution is +% given in the file `manifest.txt'. See also `legal.txt' for additional +% information. +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with +% extension .ins) which are part of the distribution. +% +% \fi +% \iffalse +% +%<*driver> +% \fi +% +% +\ProvidesFile{lttextcomp.dtx} + [2020/01/25 v1.0b LaTeX Kernel (text companion symbols)] +% \iffalse +\documentclass{ltxdoc} +\begin{document} +\DocInput{lttextcomp.dtx} +\end{document} +%</driver> +% \fi +% +% +% +% +% \GetFileInfo{lttextcomp.dtx} +% \title{Providing addtional text symbols\\ +% (previously available through the \texttt{textcomp} package)\thanks +% {This file has version number +% \fileversion\ dated \filedate}} +% +% \author{Frank Mittelbach} +% +% \MaintainedByLaTeXTeam{latex} +% \maketitle +% +% This file contains the implementation for accessing the glyphs +% provided by the \texttt{TS1} encoding (Text Companion +% Encoding). This is now offered as part of the kernel and so the +% \texttt{textcomp} package which used to provide the definitions is +% now mainly needed for compatibility reasons (and doesn't do much any +% more). +% +% +% +% \StopEventually{} +% +% +% \begin{macro}{\oldstylenums} +% \begin{macro}{\legacyoldstylenums} +% +% +% Preserve the old definition of \cs{oldstylenums} under a different name. +% +% This macro implements old style numerals but only works if we +% assume that the standard math fonts are used. Thus it needs +% changing in case other math encodings are used. +% \begin{macrocode} +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\oldstylenums}{Old style numerals}% +\DeclareRobustCommand\legacyoldstylenums[1]{% + \begingroup +% \end{macrocode} +% Provide spacing using the interword space of the current font. +% \begin{macrocode} + \spaceskip\fontdimen\tw@\font +% \end{macrocode} +% Then switch to the math italic font. We don't change the current +% value of |\f@series| which means that you can use bold numerals +% if |\bfseries| is in force. As family we use |\rmdefault| which +% means that this only works if there exist an |OML| encoded +% version of that font or rather a corresponding |.fd| file (which +% is the case for standard \LaTeX{} fonts even though they only +% contain substitutions). +% \changes{v3.0j}{1999/02/12}{Use \cs{rmdefault} instead of \texttt{cmm} +% (pr/2954)} +% \begin{macrocode} + \usefont{OML}{\rmdefault}{\f@series}{it}% + \mathgroup\symletters #1% + \endgroup +} +% \end{macrocode} +% +% And here is the improved one that adjusts depending on surroundings. +% \begin{macrocode} +\DeclareRobustCommand\oldstylenums[1]{% + \begingroup + \ifmmode + \mathgroup\symletters #1% + \else +% \end{macrocode} +% The \cs{CheckEncodingSubset} is discused below. +% \begin{macrocode} + \CheckEncodingSubset\@use@text@encoding{TS1}\tc@oldstylesubst2{{#1}}% + \fi + \endgroup +} +% \end{macrocode} +% The helper to select the substitution if needed. +% \begin{macrocode} +\def\tc@oldstylesubst#1{% + \tc@errorwarn + {Oldstyle digits unavailable for + family \f@family.\MessageBreak + Default oldstyle digits used instead}\@eha + \bgroup + \expand@font@defaults +% \end{macrocode} +% The substitution defaults are provided in the file \texttt{fonttext.ltx}. +% \begin{macrocode} + \ifx\f@family\rmdef@ult + \fontfamily\rmsubstdefault + \else\ifx\f@family\sfdef@ult + \fontfamily\sfsubstdefault + \else\ifx\f@family\ttdef@ult + \fontfamily\ttsubstdefault + \else + \fontfamily\textcompsubstdefault + \fi\fi\fi + \fontencoding{TS1}\selectfont#1% + \egroup +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\textcompsubstdefault} +% Here is the default for the ``unknown'' case: +% \begin{macrocode} +\def\textcompsubstdefault{\rmsubstdefault} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\oldstylenums}{Old style numerals}% +%<latexrelease> +%<latexrelease>\DeclareRobustCommand\oldstylenums[1]{% +%<latexrelease> \begingroup +%<latexrelease> \spaceskip\fontdimen\tw@\font +%<latexrelease> \usefont{OML}{\rmdefault}{\f@series}{it}% +%<latexrelease> \mathgroup\symletters #1% +%<latexrelease> \endgroup +%<latexrelease>} +%<latexrelease>\let\legacyoldstylenums\@undefined +%<latexrelease>\def\textcompsubstdefault{cmr} +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +% \end{macrocode} +% +% + + + + + +% Everything else in the this file got introduced 2020/02/02, so we do a +% single rollback (for now). +% \begin{macrocode} +%<*2ekernel> +%</2ekernel> +%<*2ekernel|latexrelease> +%<latexrelease>\IncludeInRelease{2020/02/02}% +%<latexrelease> {\DeclareEncodingSubset}{Text companion symbols}% +% \end{macrocode} +% +% +% +% \begin{macro}{\DeclareEncodingSubset} +% +% The declaration takes 3 mandatory arguments: an \emph{encoding} +% for which a subsetting is wanted (currently always \texttt{TS1}, +% and most likely forever), the \emph{font family} for which we +% declare the subset and finally the \emph{subset} number (between \texttt{0} (all +% of the encoding is supported) and \texttt{9} many glyphs are missing. +% +% For \texttt{TS1} the numbers have been choosen in a way that most +% fonts can be fairly correctly categorized, but the default +% settings are always conservative, that is they may claim that +% less glyphs are supported than there actually are. +% +% As these days many font families are set up to end in \texttt{-LF} +% (lining figures), \texttt{-OsF} (oldstyle figures), etc.\ the +% declaration supports a shortcut: if the \emph{font family} name +% ends in \texttt{-*} then the star gets replaced by these common +% ending, e.g., +%\begin{verbatim} +% \DeclareEncodingSubset{TS1}{Alegreya-*}{2} +%\end{verbatim} +% is the same as writing +%\begin{verbatim} +% \DeclareEncodingSubset{TS1}{Alegreya-LF}{2} +% \DeclareEncodingSubset{TS1}{Alegreya-OsF}{2} +% \DeclareEncodingSubset{TS1}{Alegreya-TLF}{2} +% \DeclareEncodingSubset{TS1}{Alegreya-TOsF}{2} +%\end{verbatim} +% If only some are needed then one can define them individually but +% in many cases all four are wanted, hence the shortcut. +% +% +% The coding of the declaration has no error checking as it is +% mostly for internal use. +% \begin{macrocode} +\def\DeclareEncodingSubset#1#2{% + \DeclareEncodingSubset@aux{#1}#2*\DeclareEncodingSubset@aux +} +% \end{macrocode} +% +% \begin{macrocode} +\def\DeclareEncodingSubset@aux#1#2*#3\DeclareEncodingSubset@aux#4{% +% \end{macrocode} +% if \verb=#3= is empty then there was no star, otherwise we +% define all four variants. +% \begin{macrocode} + \expandafter\ifx\expandafter X\detokenize{#3}X% + \@DeclareEncodingSubset{#1}{#2}{#4}% + \else + \@DeclareEncodingSubset{#1}{#2LF}{#4}% + \@DeclareEncodingSubset{#1}{#2TLF}{#4}% + \@DeclareEncodingSubset{#1}{#2OsF}{#4}% + \@DeclareEncodingSubset{#1}{#2TOsF}{#4}% + \fi +} +% \end{macrocode} +% +% The subset info is stored in a command with the name +% \texttt{\bslash}\emph{family}\texttt{:}\emph{subset} so if that +% already exists we change otherwise declare a subset. +% \begin{macrocode} +\def\@DeclareEncodingSubset#1#2#3{% + \@ifundefined{#1:#2}% + {\@font@info{Setting #2 sub-encoding to #1/#3}}% + {\@font@info{Changing #2 sub-encoding to #1/#3}}% + \@namedef{#1:#2}{#3}} +% \end{macrocode} +% +% Any reason to allow those in the middle of documents? +% \begin{macrocode} +\@onlypreamble\DeclareEncodingSubset +\@onlypreamble\DeclareEncodingSubset@aux +\@onlypreamble\@DeclareEncodingSubset +% \end{macrocode} +% \end{macro} + + +% \begin{macro}{\CheckEncodingSubset} +% The command |\CheckEncodingSubset| will check if the current font +% family has the right encoding subset to typeset a certain +% command. It takes five arguments as follows: +% first argument is either |\UseTextSymbol|, |\UseTextAccent| +% depending on whether or not the symbol is a text symbol or a text +% accent. + +% The second argument is the encoding from which this symbol should +% be fetched. +% +% The third argument is either a fake accessor command or an error +% message. the code in that argument (if ever executed) receives +% two arguments: |#2| and |#5| of |\CheckEncodingSubset|. +% +% Argument four is the subset encoding id to test against: if this +% value is higher than the subset id of the current font family +% then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise +% it runs |#3#5|, e.g., to produce an error message or fake the +% glyph somehow. +% +% Argument five is the symbol or accent command that is being +% checked. +% +% For usage examples see definitions below. +% +% \begin{macrocode} +\def\CheckEncodingSubset#1#2#3#4#5{% + \ifnum #4>% + \expandafter\ifx\csname #2:\f@family\endcsname\relax + 0\csname #2:?\endcsname + \else + \csname #2:\f@family\endcsname + \fi + \relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {#1{#2}}{#3}% + #5% +} +% \end{macrocode} +% \end{macro} + + + + + +% To set up the glyphs for the subsets we need a number helpers. +% +% \begin{macro}{\tc@errorwarn} +% To we produce errors, warnings, or only info in the transcripts +% if glyphs require substitutions? By default it is ``info'' +% only. With the \texttt{textcomp} package that can be changed. +% \begin{macrocode} +\def\tc@errorwarn#1#2{\@latex@info{#1}} +% \end{macrocode} +% \end{macro} + + +% \begin{macro}{\tc@subst} +% +% \changes{v1.0b}{2020/01/22}{The overall default is \cs{textcompsubstdefault} +% not \cs{substdefault}} +% \begin{macrocode} +\def\tc@subst#1{% + \tc@errorwarn + {Symbol \string#1 not provided by\MessageBreak + font family \f@family\space + in TS1 encoding.\MessageBreak Default family used instead}\@eha + \bgroup + \expand@font@defaults + \ifx\f@family\rmdef@ult + \fontfamily\rmsubstdefault + \else\ifx\f@family\sfdef@ult + \fontfamily\sfsubstdefault + \else\ifx\f@family\ttdef@ult + \fontfamily\ttsubstdefault + \else + \fontfamily\textcompsubstdefault + \fi\fi\fi +% \end{macrocode} +% Whatever default was chosen, we claim now (locally hopefully) +% that it can handle all slots (even if not true) to avoid looping +% in certain situations, e.g., when something was set up incorrectly. +% \begin{macrocode} + \@namedef{TS1:\f@family}{0}% + \selectfont#1% + \egroup +} +% \end{macrocode} +% \end{macro} + + + + +% \begin{macro}{\tc@fake@euro} +% |\tc@fake@euro| is an example of a ``fake'' definition to use in arg |#3| of +% |\CheckEncodingSubset| when a symbol is not available in a +% certain font family. Here we produce a poor man's Euro symbol by combining +% a ``C'' with a ``=''. +% \begin{macrocode} +\def\tc@fake@euro#1{% + \leavevmode + \@font@info{Faking \noexpand#1for font family + \f@family\MessageBreak in TS1 encoding}% + \valign{##\cr + \vfil\hbox to 0.07em{\dimen@\f@size\p@ + \math@fontsfalse + \fontsize{.7\dimen@}\z@\selectfont=\hss}% + \vfil\cr% + \hbox{C}\crcr + }% +} +% \end{macrocode} +% \end{macro} + + + + +% \begin{macro}{\tc@check@symbol} +% \begin{macro}{\tc@check@accent} +% These are two abbreviations that we use below to check symbols +% and accents in TS1. Only there to save some space, e.g., we can +% then write +%\begin{verbatim} +%\DeclareTextCommandDefault{\textcurrency}{\tc@check@symbol3\textcurrency} +%\end{verbatim} +% to ensure that |\textcurrency| is only typeset if the current +% font has a \texttt{TS1} subset id of less than 3. Otherwise +% |\tc@error| is called telling the user that for this font family +% |\textcurreny| is not available. +% \begin{macrocode} +\def\tc@check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc@subst} +% \end{macrocode} +% +% Accents and been mad an error in the \texttt{textcomp} package when +% not available. Now that we provide the functionality in the +% kernel we avoid the eror by swapping in a \texttt{T1} accent if +% the \texttt{TS1} accent is not available. +% \begin{macrocode} +%\def\tc@check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc@error} +% \end{macrocode} +% +% \begin{macrocode} +\def\tc@check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc@swap@accent#1}} +\def\tc@swap@accent#1#2{\UseTextAccent{T1}#1} +% \end{macrocode} +% \end{macro} +% \end{macro} +% + +% \section{Sub-encodings} +% +% Here are the default definitions for the \texttt{TS1} symbols. +% First those that we assume are always available if a font +% implements \texttt{TS1}. +% +% \begin{macrocode} +\DeclareTextSymbolDefault{\textdollar}{TS1} +\UndeclareTextCommand{\textdollar} {OT1} % don't use the OT1 def any longer +% \end{macrocode} +% +% \begin{macrocode} +\DeclareTextSymbolDefault{\textsterling}{TS1} +\UndeclareTextCommand{\textsterling}{OT1} % don't use the OT1 def any longer +% \end{macrocode} +% +% \begin{macrocode} +\DeclareTextSymbolDefault{\textperthousand}{TS1} +\UndeclareTextCommand{\textperthousand}{T1} % don't use the T1 def +% \end{macrocode} +% Using \cs{UndeclareTextCommand} above is enough only if the +% encoding definition files are not reloaded afterwards. In the +% past that happened if \texttt{fontenc} was used in the document +% preamble (not not any longer). So in some sense it is better to fully remove +% them from the encoding files, but for rollbacks it is easier to +% keep them in for now. +% +% These are the standard \texttt{itemize} and footnote symbols +% originally taken from \texttt{OMS} and now from \texttt{TS1}: +% \begin{macrocode} +\DeclareTextSymbolDefault{\textasteriskcentered}{TS1} +\DeclareTextSymbolDefault{\textbullet}{TS1} +\DeclareTextSymbolDefault{\textdaggerdbl}{TS1} +\DeclareTextSymbolDefault{\textdagger}{TS1} +\DeclareTextSymbolDefault{\textparagraph}{TS1} +\DeclareTextSymbolDefault{\textperiodcentered}{TS1} +\DeclareTextSymbolDefault{\textsection}{TS1} +% \end{macrocode} +% +% And here are the other \texttt{TS1} glyphs that are implemented +% by every font (or nearly everyone---a few are commented out and +% moved to sub-encoding 9, +% because they aren't around in one or two fonts. +% \begin{macrocode} +%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above +\DeclareTextSymbolDefault{\textbrokenbar}{TS1} +%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above +\DeclareTextSymbolDefault{\textcent}{TS1} +\DeclareTextSymbolDefault{\textcopyright}{TS1} +\DeclareTextSymbolDefault{\textdegree}{TS1} +\DeclareTextSymbolDefault{\textdiv}{TS1} +\DeclareTextSymbolDefault{\textlnot}{TS1} +\DeclareTextSymbolDefault{\textonehalf}{TS1} +\DeclareTextSymbolDefault{\textonequarter}{TS1} +%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above +\DeclareTextSymbolDefault{\textordfeminine}{TS1} +\DeclareTextSymbolDefault{\textordmasculine}{TS1} +\DeclareTextSymbolDefault{\textpm}{TS1} +\DeclareTextSymbolDefault{\textquotesingle}{TS1} +\DeclareTextSymbolDefault{\textquotestraightbase}{TS1} +\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1} +\DeclareTextSymbolDefault{\textregistered}{TS1} +%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above +\DeclareTextSymbolDefault{\textthreequarters}{TS1} +%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above +\DeclareTextSymbolDefault{\texttimes}{TS1} +\DeclareTextSymbolDefault{\texttrademark}{TS1} +%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above +%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above +\DeclareTextSymbolDefault{\textyen}{TS1} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1} +\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1} +% \end{macrocode} +% +% +% In the following sections the remaining default definitions are ordered by +% sub-encoding in which they are become unavailable (i.e., they are +% not provided in the sub-encoding with that number and all +% sub-encodings with higher numbers. +% +% Thus the symbols that are available in sub-encoding $x$ are the +% symbols above (always available) and the symbols list in the +% sections for sub-encodings $x+1$ and higher. +% +% \subsection{Sub-encoding \texttt{1} (drop symbols not working in +% Latin Modern)} +% +% The \cs{textcircled} is available but the glyph is simply too +% small so we keep using the \texttt{OMS} glyph. +% \begin{macrocode} +\DeclareTextCommandDefault{\textcircled} + {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled} +% \end{macrocode} +% +% +% +% +% +% \subsection{Sub-encoding \texttt{2} (majority of new OTF fonts via autoinst)} +% +% \begin{macrocode} +\DeclareTextCommandDefault{\t} + {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t} +% \end{macrocode} +% +% Capital accents are really only very seldom implemented, so from +% sub-encoding \texttt{2} onwards we use the normal \texttt{T1} +% accents if they are asked for in the document. +% +% In Unicode engines we don't implement them at all but always use +% the basic accents instead. whether that works or not really +% depends on the font, something like \verb=\"X= usually comes out +% wrong in Unicode engines. +% +% \begin{macrocode} +\ifx\Umathcode\@undefined + \DeclareTextCommandDefault{\capitalacute} {\tc@check@accent{\'}2\capitalacute} + \DeclareTextCommandDefault{\capitalbreve} {\tc@check@accent{\u}2\capitalbreve} + \DeclareTextCommandDefault{\capitalcaron} {\tc@check@accent{\v}2\capitalcaron} + \DeclareTextCommandDefault{\capitalcedilla} {\tc@check@accent{\c}2\capitalcedilla} + \DeclareTextCommandDefault{\capitalcircumflex} {\tc@check@accent{\^}2\capitalcircumflex} + \DeclareTextCommandDefault{\capitaldieresis} {\tc@check@accent{\"}2\capitaldieresis} + \DeclareTextCommandDefault{\capitaldotaccent} {\tc@check@accent{\.}2\capitaldotaccent} + \DeclareTextCommandDefault{\capitalgrave} {\tc@check@accent{\`}2\capitalgrave} + \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc@check@accent{\H}2\capitalhungarumlaut} + \DeclareTextCommandDefault{\capitalmacron} {\tc@check@accent{\=}2\capitalmacron} + \DeclareTextCommandDefault{\capitalogonek} {\tc@check@accent{\k}2\capitalogonek} + \DeclareTextCommandDefault{\capitalring} {\tc@check@accent{\r}2\capitalring} + \DeclareTextCommandDefault{\capitaltie} {\tc@check@accent{\t}2\capitaltie} + \DeclareTextCommandDefault{\capitaltilde} {\tc@check@accent{\~}2\capitaltilde} +% \end{macrocode} +% For \cs{newtie} and \cs{capitalnewtie} this is actually wrong, they should pick up +% the accent from the substitution font (not done yet). +% \begin{macrocode} + \DeclareTextCommandDefault{\newtie} {\tc@check@accent{\t}2\newtie} + \DeclareTextCommandDefault{\capitalnewtie} {\tc@check@accent{\t}2\capitalnewtie} +% \end{macrocode} +% +% In Unicode engines we just execute the simple accents: +% \begin{macrocode} +\else + \def\capitalacute{\'} + \def\capitalbreve{\u} + \def\capitalcaron{\v} + \def\capitalcedilla{\c} + \def\capitalcircumflex{\^} + \def\capitaldieresis{\"} + \def\capitaldotaccent{\.} + \def\capitalgrave{\`} + \def\capitalhungarumlaut{\H} + \def\capitalmacron{\=} + \def\capitalnewtie{\t} + \def\capitalogonek{\k} + \def\capitalring{\r} + \def\capitaltie{\t} + \def\capitaltilde{\~} + \def\newtie{\t} +\fi +% \end{macrocode} +% +% +% +% +% The next two symbols exist in some fonts (faked?), but we ignore +% that to keep the subsets reasonable compact and most important linear. +% \begin{macrocode} +\DeclareTextCommandDefault{\textlbrackdbl} {\tc@check@symbol2\textlbrackdbl} +\DeclareTextCommandDefault{\textrbrackdbl} {\tc@check@symbol2\textrbrackdbl} +% \end{macrocode} +% +% +% Old style numerals are again in some fonts but using +% \texttt{-OsF}, etc.\ is the better approach to get them, so we +% claim they aren't in sub-encoding 2 as that's true for most +% fonts. +% \begin{macrocode} +\DeclareTextCommandDefault{\texteightoldstyle} {\tc@check@symbol2\texteightoldstyle} +\DeclareTextCommandDefault{\textfiveoldstyle} {\tc@check@symbol2\textfiveoldstyle} +\DeclareTextCommandDefault{\textfouroldstyle} {\tc@check@symbol2\textfouroldstyle} +\DeclareTextCommandDefault{\textnineoldstyle} {\tc@check@symbol2\textnineoldstyle} +\DeclareTextCommandDefault{\textoneoldstyle} {\tc@check@symbol2\textoneoldstyle} +\DeclareTextCommandDefault{\textsevenoldstyle} {\tc@check@symbol2\textsevenoldstyle} +\DeclareTextCommandDefault{\textsixoldstyle} {\tc@check@symbol2\textsixoldstyle} +\DeclareTextCommandDefault{\textthreeoldstyle} {\tc@check@symbol2\textthreeoldstyle} +\DeclareTextCommandDefault{\texttwooldstyle} {\tc@check@symbol2\texttwooldstyle} +\DeclareTextCommandDefault{\textzerooldstyle} {\tc@check@symbol2\textzerooldstyle} +% \end{macrocode} +% +% +% +% The next set of glyphs is special to TeX fonts (and available +% with a few older PS fonts supported in the virtual fonts), but +% not any longer in the majority of fonts provided through +% autoinst, so we pretend there aren't available in sub-encoding 2 +% and below. +% \begin{macrocode} +\DeclareTextCommandDefault{\textacutedbl} {\tc@check@symbol2\textacutedbl} +\DeclareTextCommandDefault{\textasciiacute} {\tc@check@symbol2\textasciiacute} +\DeclareTextCommandDefault{\textasciibreve} {\tc@check@symbol2\textasciibreve} +\DeclareTextCommandDefault{\textasciicaron} {\tc@check@symbol2\textasciicaron} +\DeclareTextCommandDefault{\textasciidieresis} {\tc@check@symbol2\textasciidieresis} +\DeclareTextCommandDefault{\textasciigrave} {\tc@check@symbol2\textasciigrave} +\DeclareTextCommandDefault{\textasciimacron} {\tc@check@symbol2\textasciimacron} +\DeclareTextCommandDefault{\textgravedbl} {\tc@check@symbol2\textgravedbl} +\DeclareTextCommandDefault{\texttildelow} {\tc@check@symbol2\texttildelow} +% \end{macrocode} +% +% +% Finally those below are only available in CM-based fonts but in +% no font that has its origin outside of the \TeX{} world. +% \begin{macrocode} +\DeclareTextCommandDefault{\textbaht} {\tc@check@symbol2\textbaht} +\DeclareTextCommandDefault{\textbigcircle} {\tc@check@symbol2\textbigcircle} +\DeclareTextCommandDefault{\textborn} {\tc@check@symbol2\textborn} +\DeclareTextCommandDefault{\textcentoldstyle} {\tc@check@symbol2\textcentoldstyle} +\DeclareTextCommandDefault{\textcircledP} {\tc@check@symbol2\textcircledP} +\DeclareTextCommandDefault{\textcopyleft} {\tc@check@symbol2\textcopyleft} +\DeclareTextCommandDefault{\textdblhyphenchar} {\tc@check@symbol2\textdblhyphenchar} +\DeclareTextCommandDefault{\textdblhyphen} {\tc@check@symbol2\textdblhyphen} +\DeclareTextCommandDefault{\textdied} {\tc@check@symbol2\textdied} +\DeclareTextCommandDefault{\textdiscount} {\tc@check@symbol2\textdiscount} +\DeclareTextCommandDefault{\textdivorced} {\tc@check@symbol2\textdivorced} +\DeclareTextCommandDefault{\textdollaroldstyle} {\tc@check@symbol2\textdollaroldstyle} +\DeclareTextCommandDefault{\textguarani} {\tc@check@symbol2\textguarani} +\DeclareTextCommandDefault{\textleaf} {\tc@check@symbol2\textleaf} +\DeclareTextCommandDefault{\textlquill} {\tc@check@symbol2\textlquill} +\DeclareTextCommandDefault{\textmarried} {\tc@check@symbol2\textmarried} +\DeclareTextCommandDefault{\textmho} {\tc@check@symbol2\textmho} +\DeclareTextCommandDefault{\textmusicalnote} {\tc@check@symbol2\textmusicalnote} +\DeclareTextCommandDefault{\textnaira} {\tc@check@symbol2\textnaira} +\DeclareTextCommandDefault{\textopenbullet} {\tc@check@symbol2\textopenbullet} +\DeclareTextCommandDefault{\textpeso} {\tc@check@symbol2\textpeso} +\DeclareTextCommandDefault{\textpilcrow} {\tc@check@symbol2\textpilcrow} +\DeclareTextCommandDefault{\textrecipe} {\tc@check@symbol2\textrecipe} +\DeclareTextCommandDefault{\textreferencemark} {\tc@check@symbol2\textreferencemark} +\DeclareTextCommandDefault{\textrquill} {\tc@check@symbol2\textrquill} +\DeclareTextCommandDefault{\textservicemark} {\tc@check@symbol2\textservicemark} +\DeclareTextCommandDefault{\textsurd} {\tc@check@symbol2\textsurd} +% \end{macrocode} +% +% The \cs{textpertenthousand} also belongs in this group but here +% we have a choice: in T1 there is definition for +% \cs{textpertenthousand} making the symbol up from \% and +% \verb=\char 24= (twice) but in many fonts that char doesn't exist +% and the slot is reused for random ligatures. So better not use it +% because often it is wrong. But pointing to TS1 is also not great +% as only a few fonts have it as a real symbol, so we get a +% substitution to CM or LM. +% +% Alternatively we could just state that the symbol is unavailable in +% those fonts. For now I substitute. +% \begin{macrocode} +\DeclareTextCommandDefault{\textpertenthousand} {\tc@check@symbol2\textpertenthousand} +\UndeclareTextCommand{\textpertenthousand}{T1} +% \end{macrocode} +% +% +% +% \subsection{Sub-encoding \texttt{3}} +% +% Sub-encoding \texttt{2} is the one where we loose many +% symbols. In the higher-numbered sub-encodings we see only a few +% dropped additionally. +% \begin{macrocode} +\DeclareTextCommandDefault{\textlangle} {\tc@check@symbol3\textlangle} +\DeclareTextCommandDefault{\textrangle} {\tc@check@symbol3\textrangle} +% \end{macrocode} +% +% +% +% +% +% \subsection{Sub-encoding \texttt{4}} +% +% \begin{macrocode} +\DeclareTextCommandDefault{\textcolonmonetary} {\tc@check@symbol4\textcolonmonetary} +\DeclareTextCommandDefault{\textdong} {\tc@check@symbol4\textdong} +\DeclareTextCommandDefault{\textdownarrow} {\tc@check@symbol4\textdownarrow} +\DeclareTextCommandDefault{\textleftarrow} {\tc@check@symbol4\textleftarrow} +\DeclareTextCommandDefault{\textlira} {\tc@check@symbol4\textlira} +\DeclareTextCommandDefault{\textrightarrow} {\tc@check@symbol4\textrightarrow} +\DeclareTextCommandDefault{\textuparrow} {\tc@check@symbol4\textuparrow} +\DeclareTextCommandDefault{\textwon} {\tc@check@symbol4\textwon} +% \end{macrocode} +% +% +% +% +% +% \subsection{Sub-encoding \texttt{5} (most older PS fonts)} +% +% Most older PS fonts (supported in \TeX{} since the early nineties +% when virtual fonts became available) are sorted under this +% sub-encoding. But in reality, many of them don't have all glpyhs +% that should be available in sub-encoding \texttt{5}. Instead they +% show little squares, i.e., they produce ``tofu'' if you are +% unlucky. +% +% But the coverage is so random that it is impossible to sort them +% properly and if we tried to ensure that they only typeset those +% glyphs that are really always available wouput put them all into +% sub-encoding \texttt{9} so that's a compromise really. +% +% Modern fonts that don't typeset a tofu character if a glyph is +% missing are only cataloged as sub-encoding \texttt{5} if they +% really support of its glyph set. +% \begin{macrocode} +\DeclareTextCommandDefault{\textestimated} {\tc@check@symbol5\textestimated} +\DeclareTextCommandDefault{\textnumero} {\tc@check@symbol5\textnumero} +% \end{macrocode} +% +% +% +% +% \subsection{Sub-encoding \texttt{6}} +% +% \begin{macrocode} +\DeclareTextCommandDefault{\textflorin} {\tc@check@symbol6\textflorin} +\DeclareTextCommandDefault{\textcurrency} {\tc@check@symbol6\textcurrency} +% \end{macrocode} +% +% +% +% \subsection{Sub-encoding \texttt{7}} +% +% \begin{macrocode} +\DeclareTextCommandDefault{\textfractionsolidus}{\tc@check@symbol7\textfractionsolidus} +\DeclareTextCommandDefault{\textohm} {\tc@check@symbol7\textohm} +\DeclareTextCommandDefault{\textmu} {\tc@check@symbol7\textmu} +\DeclareTextCommandDefault{\textminus} {\tc@check@symbol7\textminus} +% \end{macrocode} +% +% +% +% \subsection{Sub-encoding \texttt{8}} +% +% \begin{macrocode} +\DeclareTextCommandDefault{\textblank} {\tc@check@symbol{8}\textblank} +\DeclareTextCommandDefault{\textinterrobangdown}{\tc@check@symbol{8}\textinterrobangdown} +\DeclareTextCommandDefault{\textinterrobang} {\tc@check@symbol{8}\textinterrobang} +% \end{macrocode} +% +% Fonts with this sub-encoding don't have a Euro symbol, but +% instead of substituting we fake it. +% \begin{macrocode} +\DeclareTextCommandDefault{\texteuro} + {\CheckEncodingSubset\UseTextSymbol{TS1}\tc@fake@euro{8}\texteuro} +% \end{macrocode} +% +% +% +% +% \subsection{Sub-encoding \texttt{9} (most missing)} +% +% \begin{macrocode} +\DeclareTextCommandDefault{\textcelsius}{\tc@check@symbol{9}\textcelsius} +\DeclareTextCommandDefault{\textonesuperior}{\tc@check@symbol{9}\textonesuperior} +\DeclareTextCommandDefault{\textthreequartersemdash}{\tc@check@symbol{9}\textthreequartersemdash} +\DeclareTextCommandDefault{\textthreesuperior}{\tc@check@symbol{9}\textthreesuperior} +\DeclareTextCommandDefault{\texttwelveudash}{\tc@check@symbol{9}\texttwelveudash} +\DeclareTextCommandDefault{\texttwosuperior}{\tc@check@symbol{9}\texttwosuperior} +\DeclareTextCommandDefault{\textbardbl}{\tc@check@symbol{9}\textbardbl} +% \end{macrocode} +% +% +% +% +% \section{Unicode engine specials} +% +% If we are using a unicode engine we handle some glyphs differently, +% so this here are the definitions for the Unicode encoding +% (overwriting the defaults above). + +% \begin{macrocode} +\ifx \Umathcode\@undefined \else +% \end{macrocode} +% +% This set should be taken from \texttt{TS1} encoding even if it +% means you get it from the default font for that encoding. +% \begin{macrocode} +%\DeclareTextSymbol{\textcopyleft}{TS1}{171} +%\DeclareTextSymbol{\textdblhyphen}{TS1}{45} +%\DeclareTextSymbol{\textdblhyphenchar}{TS1}{127} +%\DeclareTextSymbol{\textquotestraightbase}{TS1}{13} +%\DeclareTextSymbol{\textquotestraightdblbase}{TS1}{18} +%\DeclareTextSymbol{\textleaf}{TS1}{108} +%\DeclareTextSymbol{\texttwelveudash}{TS1}{21} +%\DeclareTextSymbol{\textthreequartersemdash}{TS1}{22} +% \end{macrocode} +% +% If oldstyle numerals are asked for we just use \cs{oldstylenums}. +% \begin{macrocode} +\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}} +\DeclareTextCommand{\textoneoldstyle} \UnicodeEncodingName{\oldstylenums{1}} +\DeclareTextCommand{\texttwooldstyle} \UnicodeEncodingName{\oldstylenums{2}} +\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}} +\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}} +\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}} +\DeclareTextCommand{\textsixoldstyle} \UnicodeEncodingName{\oldstylenums{6}} +\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}} +\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}} +\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}} +% \end{macrocode} +% These have Unicode slots so this should be integrated into TU explictly +% \begin{macrocode} +\DeclareTextSymbol{\textpilcrow} \UnicodeEncodingName{"00B6} +\DeclareTextSymbol{\textborn} \UnicodeEncodingName{"002A} +\DeclareTextSymbol{\textdied} \UnicodeEncodingName{"2020} +\DeclareTextSymbol{\textlbrackdbl} \UnicodeEncodingName{"27E6} +\DeclareTextSymbol{\textrbrackdbl} \UnicodeEncodingName{"27E7} +\DeclareTextSymbol{\textguarani} \UnicodeEncodingName{"20B2} +% \end{macrocode} +% We could make \cs{textcentoldstyle} and \cs{textdollaroldstyle} +% point to dollar and cent in the Unicode encoding +% \begin{macrocode} +%\DeclareTextSymbol{\textcentoldstyle} \UnicodeEncodingName{"00A2} +%\DeclareTextSymbol{\textdollaroldstyle} \UnicodeEncodingName{"0024} +% \end{macrocode} +% but I think it is better to pick them up from TS1 even if that +% usually means LMR fonts +% \begin{macrocode} +\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138} +\DeclareTextSymbol{\textcentoldstyle} {TS1}{139} +% \end{macrocode} +% +% +% \begin{macrocode} +\fi % --- END of Unicode engines specials +% \end{macrocode} +% +% \section{Font family sub-encodings setup} +% +% We declare the subsets for a good number of fonts in the kernel +% \ldots +% +% But first the default for anything that is not declared. We use +% \texttt{9} which is most likely much too conservative, but with the +% advantage that we aren't getting missing glyphs (or at least that +% this is very unlikely). +% For nearly all font in the \TeX{} Live distribution of 2019 +% ``correct'' classifications are given below, so that this default +% is only used for new font families, and over time the right +% classifications can be added here too. +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{?}{9} +% \end{macrocode} +% +% This first block contains the fonts that have been already +% supported by the \texttt{textcomp} package way back, i.e., the +% font families that have \TeX{} support since the mid-nineties. +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{ccr} {0} +\DeclareEncodingSubset{TS1}{cmbr} {0} +\DeclareEncodingSubset{TS1}{cmr} {0} +\DeclareEncodingSubset{TS1}{cmss} {0} +\DeclareEncodingSubset{TS1}{cmtl} {0} +\DeclareEncodingSubset{TS1}{cmtt} {0} +\DeclareEncodingSubset{TS1}{cmvtt} {0} +\DeclareEncodingSubset{TS1}{pxr} {0} +\DeclareEncodingSubset{TS1}{pxss} {0} +\DeclareEncodingSubset{TS1}{pxtt} {0} +\DeclareEncodingSubset{TS1}{qag} {0} +\DeclareEncodingSubset{TS1}{qbk} {0} +\DeclareEncodingSubset{TS1}{qcr} {0} +\DeclareEncodingSubset{TS1}{qcs} {0} +\DeclareEncodingSubset{TS1}{qhvc} {0} +\DeclareEncodingSubset{TS1}{qhv} {0} +\DeclareEncodingSubset{TS1}{qpl} {0} +\DeclareEncodingSubset{TS1}{qtm} {0} +\DeclareEncodingSubset{TS1}{qzc} {0} +\DeclareEncodingSubset{TS1}{txr} {0} +\DeclareEncodingSubset{TS1}{txss} {0} +\DeclareEncodingSubset{TS1}{txtt} {0} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{lmr} {1} +\DeclareEncodingSubset{TS1}{lmdh} {1} +\DeclareEncodingSubset{TS1}{lmss} {1} +\DeclareEncodingSubset{TS1}{lmssq} {1} +\DeclareEncodingSubset{TS1}{lmvtt} {1} +\DeclareEncodingSubset{TS1}{lmtt} {1} % missing TM, SM, pertenthousand for some reason +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{ptmx} {2} +\DeclareEncodingSubset{TS1}{ptmj} {2} +\DeclareEncodingSubset{TS1}{ul8} {2} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{bch} {5} % tofu for blank, ohm +\DeclareEncodingSubset{TS1}{futj} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{futs} {5} % tofu for blank, ohm +\DeclareEncodingSubset{TS1}{futx} {5} % probably (currently broken distrib) +\DeclareEncodingSubset{TS1}{pag} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{pbk} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{pcr} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{phv} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{pnc} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{pplj} {5} % tofu for blank +\DeclareEncodingSubset{TS1}{pplx} {5} % tofu for blank +\DeclareEncodingSubset{TS1}{ppl} {5} % tofu for blank interrobang/down +\DeclareEncodingSubset{TS1}{ptm} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{pzc} {5} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{ul9} {5} % tofu for blank, interrobang/down, ohm +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{dayroms} {6} % tofu for blank, interrobang/down, ohm +\DeclareEncodingSubset{TS1}{dayrom} {6} % tofu for blank, interrobang/down, ohm +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{augie} {8} % really only missing euro +\DeclareEncodingSubset{TS1}{put} {8} +\DeclareEncodingSubset{TS1}{uag} {8} % probably (currently broken distrib) +\DeclareEncodingSubset{TS1}{ugq} {8} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{zi4} {9} +% \end{macrocode} +% LucidaBright (sold through TUG) probably not quite correct, I +% guess as I have the older fonts \ldots +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{hls} {5} +\DeclareEncodingSubset{TS1}{hlst} {5} +\DeclareEncodingSubset{TS1}{hlct} {5} +\DeclareEncodingSubset{TS1}{hlh} {5} +\DeclareEncodingSubset{TS1}{hlx} {8} +\DeclareEncodingSubset{TS1}{hlce} {8} +\DeclareEncodingSubset{TS1}{hlcn} {8} +\DeclareEncodingSubset{TS1}{hlcw} {8} +\DeclareEncodingSubset{TS1}{hlcf} {8} +% \end{macrocode} +% +% Below are the newer fonts that have support files for +% \LaTeX{}. With very few exceptions the classifications are done +% so that all characters are correctly produced (either being +% available in the font or substituted. +% +% There are a few fonts that contain ``tofu'' squares in places +% (instead of a real glyph) and in a few cases some really seldom +% needed chars are unavailable, i.e., produce missing glyphs (to +% avoid that a large number of available chars are unnecessarily +% substituted. +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{lato-*} {0} % with a bunch of tofu inside +\DeclareEncodingSubset{TS1}{opensans-*} {0} % with a bunch of tofu inside +\DeclareEncodingSubset{TS1}{cantarell-*} {0} % with a bunch of tofu inside +\DeclareEncodingSubset{TS1}{fbb-*} {0} % missing centoldstyle +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{tli} {1} % with lots of tofu inside +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{Alegreya-*} {2} +\DeclareEncodingSubset{TS1}{AlegreyaSans-*} {2} +\DeclareEncodingSubset{TS1}{DejaVuSans-TLF} {2} +\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF} {2} +\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF} {2} +\DeclareEncodingSubset{TS1}{EBGaramond-*} {2} +\DeclareEncodingSubset{TS1}{Tempora-TLF} {2} +\DeclareEncodingSubset{TS1}{Tempora-TOsF} {2} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{Arimo-TLF} {3} +\DeclareEncodingSubset{TS1}{Carlito-*} {3} +\DeclareEncodingSubset{TS1}{FiraSans-*} {3} +\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF} {3} +\DeclareEncodingSubset{TS1}{Merriweather-OsF} {3} +\DeclareEncodingSubset{TS1}{Montserrat-*} {3} +\DeclareEncodingSubset{TS1}{MontserratAlternates-*} {3} +\DeclareEncodingSubset{TS1}{SourceCodePro-TLF} {3} +\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF} {3} +\DeclareEncodingSubset{TS1}{SourceSansPro-*} {3} +\DeclareEncodingSubset{TS1}{SourceSerifPro-*} {3} +\DeclareEncodingSubset{TS1}{Tinos-TLF} {3} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4} +\DeclareEncodingSubset{TS1}{Cabin-TLF} {4} +\DeclareEncodingSubset{TS1}{Caladea-TLF} {4} +\DeclareEncodingSubset{TS1}{Chivo-*} {4} +\DeclareEncodingSubset{TS1}{ClearSans-TLF} {4} +\DeclareEncodingSubset{TS1}{Coelacanth-LF} {4} +\DeclareEncodingSubset{TS1}{CrimsonPro-*} {4} +\DeclareEncodingSubset{TS1}{FiraMono-TLF} {4} +\DeclareEncodingSubset{TS1}{FiraMono-TOsF} {4} +\DeclareEncodingSubset{TS1}{Go-TLF} {4} +\DeclareEncodingSubset{TS1}{GoMono-TLF} {4} +\DeclareEncodingSubset{TS1}{InriaSans-*} {4} +\DeclareEncodingSubset{TS1}{InriaSerif-*} {4} +\DeclareEncodingSubset{TS1}{LibertinusSans-*} {4} +\DeclareEncodingSubset{TS1}{LibertinusSerif-*} {4} +\DeclareEncodingSubset{TS1}{LibreBodoni-TLF} {4} +\DeclareEncodingSubset{TS1}{LibreFranklin-TLF} {4} +\DeclareEncodingSubset{TS1}{LinguisticsPro-LF} {4} +\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF} {4} +\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*} {4} +\DeclareEncodingSubset{TS1}{LinuxLibertineT-*} {4} +\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF} {4} +\DeclareEncodingSubset{TS1}{MintSpirit-*} {4} +\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*} {4} +\DeclareEncodingSubset{TS1}{PTMono-TLF} {4} +\DeclareEncodingSubset{TS1}{PTSans-TLF} {4} +\DeclareEncodingSubset{TS1}{PTSansCaption-TLF} {4} +\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF} {4} +\DeclareEncodingSubset{TS1}{PTSerif-TLF} {4} +\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF} {4} +\DeclareEncodingSubset{TS1}{Raleway-TLF} {4} +\DeclareEncodingSubset{TS1}{Raleway-TOsF} {4} +\DeclareEncodingSubset{TS1}{Roboto-*} {4} +\DeclareEncodingSubset{TS1}{RobotoMono-TLF} {4} +\DeclareEncodingSubset{TS1}{RobotoSlab-TLF} {4} +\DeclareEncodingSubset{TS1}{Rosario-*} {4} +\DeclareEncodingSubset{TS1}{SticksTooText-*} {4} +\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF} {4} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{Almendra-OsF} {5} +\DeclareEncodingSubset{TS1}{Baskervaldx-*} {5} +\DeclareEncodingSubset{TS1}{BaskervilleF-*} {5} +\DeclareEncodingSubset{TS1}{Bitter-TLF} {5} +\DeclareEncodingSubset{TS1}{Cinzel-LF} {5} +\DeclareEncodingSubset{TS1}{CinzelDecorative-LF} {5} +\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF} {5} +\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5} +\DeclareEncodingSubset{TS1}{GilliusADF-LF} {5} +\DeclareEncodingSubset{TS1}{GilliusADFCond-LF} {5} +\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF} {5} +\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF} {5} +\DeclareEncodingSubset{TS1}{LobsterTwo-LF} {5} +\DeclareEncodingSubset{TS1}{OldStandard-TLF} {5} +\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF} {5} +\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF} {5} +\DeclareEncodingSubset{TS1}{TheanoDidot-TLF} {5} +\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF} {5} +\DeclareEncodingSubset{TS1}{TheanoModern-TLF} {5} +\DeclareEncodingSubset{TS1}{TheanoModern-TOsF} {5} +\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF} {5} +\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF} {5} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{Crimson-TLF} {6} +\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF} {6} +\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF} {6} +\DeclareEncodingSubset{TS1}{LibertinusMono-TLF} {6} +\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6} +\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6} +\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF} {6} +\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF} {6} +\DeclareEncodingSubset{TS1}{Overlock-LF} {6} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{CormorantGaramond-*} {7} +\DeclareEncodingSubset{TS1}{Heuristica-TLF} {7} +\DeclareEncodingSubset{TS1}{Heuristica-TOsF} {7} +\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF} {7} +\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF} {7} +\DeclareEncodingSubset{TS1}{LibreCaslon-*} {7} +\DeclareEncodingSubset{TS1}{Marcellus-LF} {7} +\DeclareEncodingSubset{TS1}{NotoSans-*} {7} +\DeclareEncodingSubset{TS1}{NotoSansMono-TLF} {7} +\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF} {7} +\DeclareEncodingSubset{TS1}{NotoSerif-*} {7} +\DeclareEncodingSubset{TS1}{Quattrocento-TLF} {7} +\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF} {7} +\DeclareEncodingSubset{TS1}{XCharter-TLF} {7} +\DeclareEncodingSubset{TS1}{XCharter-TOsF} {7} +\DeclareEncodingSubset{TS1}{erewhon-*} {7} +\DeclareEncodingSubset{TS1}{ComicNeue-TLF} {7} +\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF} {7} +\DeclareEncodingSubset{TS1}{Forum-LF} {7} % the superiors are missing +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{Cochineal-*} {8} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{AlgolRevived-TLF} {9} +% \end{macrocode} +% +% +% +% +% \section{Legacy symbol support for lists and footnote symbols} +% +% \begin{macro}{\UseLegacyTextSymbols} +% +% \begin{macrocode} +\def\UseLegacyTextSymbols{% + \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}% + \DeclareTextSymbolDefault{\textbardbl}{OMS}% + \DeclareTextSymbolDefault{\textbullet}{OMS}% + \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}% + \DeclareTextSymbolDefault{\textdagger}{OMS}% + \DeclareTextSymbolDefault{\textparagraph}{OMS}% + \DeclareTextSymbolDefault{\textperiodcentered}{OMS}% + \DeclareTextSymbolDefault{\textsection}{OMS}% + \UndeclareTextCommand{\textsection}{T1}% + \expandafter\let\csname oldstylenums \expandafter\endcsname + \csname legacyoldstylenums \endcsname +} +% \end{macrocode} +% \end{macro} + + + +% \begin{macro}{\textlegacyasteriskcentered} +% \begin{macro}{\textlegacybardbl} +% \begin{macro}{\textlegacybullet} +% \begin{macro}{\textlegacydaggerdbl} +% \begin{macro}{\textlegacydagger} +% \begin{macro}{\textlegacyparagraph} +% \begin{macro}{\textlegacyperiodcentered} +% \begin{macro}{\textlegacysection} +% +% Here are new names for the legacy symbols that \LaTeX{} used to +% pick up from the \texttt{OMS} encoded fonts (and used dor itemize +% lists or footnote symbols. +% +% We go the roundabout way via separate OMS declarations so that +%\begin{verbatim} +% \renewcommand\textbullet{\textlegacybullet} +%\end{verbatim} +% doesn't produce an endless loop. +% \begin{macrocode} +\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3} % "03 +\DeclareTextSymbol{\textlegacybardbl}{OMS}{107} % "6B +\DeclareTextSymbol{\textlegacybullet}{OMS}{15} % "0F +\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122} % "7A +\DeclareTextSymbol{\textlegacydagger}{OMS}{121} % "79 +\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123} % "7B +\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1} % "01 +\DeclareTextSymbol{\textlegacysection}{OMS}{120} % "78 +% \end{macrocode} +% +% \begin{macrocode} +\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS} +\DeclareTextSymbolDefault{\textlegacybardbl}{OMS} +\DeclareTextSymbolDefault{\textlegacybullet}{OMS} +\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS} +\DeclareTextSymbolDefault{\textlegacydagger}{OMS} +\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS} +\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS} +\DeclareTextSymbolDefault{\textlegacysection}{OMS} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} + +% +% +% Supporting rollback \ldots +% \begin{macrocode} +%</2ekernel|latexrelease> +%<latexrelease>\EndIncludeInRelease +%<latexrelease>\IncludeInRelease{0000/00/00}% +%<latexrelease> {\DeclareEncodingSubset}{Text companion symbols}% +%<latexrelease> +%<latexrelease>\let\DeclareEncodingSubset\@undefined +%<latexrelease>\let\CheckEncodingSubset\@undefined +%<latexrelease> +%<latexrelease>\DeclareTextSymbolDefault{\textdollar}{OT1} +%<latexrelease>\DeclareTextSymbolDefault{\textsterling}{OT1} +%<latexrelease>\DeclareTextCommand{\textdollar}{OT1}{\hmode@bgroup +%<latexrelease> \ifdim \fontdimen\@ne\font >\z@ +%<latexrelease> \slshape +%<latexrelease> \else +%<latexrelease> \upshape +%<latexrelease> \fi +%<latexrelease> \char`\$\egroup} +%<latexrelease>\DeclareTextCommand{\textsterling}{OT1}{\hmode@bgroup +%<latexrelease> \ifdim \fontdimen\@ne\font >\z@ +%<latexrelease> \itshape +%<latexrelease> \else +%<latexrelease> \fontshape{ui}\selectfont +%<latexrelease> \fi +%<latexrelease> \char`\$\egroup} +%<latexrelease>\DeclareTextCommand{\textperthousand}{T1} +%<latexrelease> {\%\char 24 } +%<latexrelease> +%<latexrelease>\DeclareTextSymbolDefault{\textasteriskcentered}{OMS} +%<latexrelease>\DeclareTextSymbolDefault{\textbullet}{OMS} +%<latexrelease>\DeclareTextSymbolDefault{\textdaggerdbl}{OMS} +%<latexrelease>\DeclareTextSymbolDefault{\textdagger}{OMS} +%<latexrelease>\DeclareTextSymbolDefault{\textparagraph}{OMS} +%<latexrelease>\DeclareTextSymbolDefault{\textperiodcentered}{OMS} +%<latexrelease>\DeclareTextSymbolDefault{\textsection}{OMS} +%<latexrelease> +%<latexrelease>\DeclareTextSymbolDefault{\textbardbl}{OMS} +%<latexrelease>\let\textbrokenbar\@undefined +%<latexrelease>\let\textcelsius\@undefined +%<latexrelease>\let\textcent\@undefined +%<latexrelease>\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} +%<latexrelease>\let\textdegree\@undefined +%<latexrelease>\let\textdiv\@undefined +%<latexrelease>\let\textlnot\@undefined +%<latexrelease>\let\textonehalf\@undefined +%<latexrelease>\let\textonequarter\@undefined +%<latexrelease>\let\textonesuperior\@undefined +%<latexrelease>\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}} +%<latexrelease>\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}} +%<latexrelease>\let\textpm\@undefined +%<latexrelease>\let\textquotesingle\@undefined +%<latexrelease>\let\textquotestraightbase\@undefined +%<latexrelease>\let\textquotestraightdblbase\@undefined +%<latexrelease>\DeclareTextCommandDefault{\textregistered}{\textcircled{% +%<latexrelease> \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} +%<latexrelease>\let\textthreequartersemdash\@undefined +%<latexrelease>\let\textthreequarters\@undefined +%<latexrelease>\let\textthreesuperior\@undefined +%<latexrelease>\let\texttimes\@undefined +%<latexrelease>\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}} +%<latexrelease>\let\texttwelveudash\@undefined +%<latexrelease>\let\texttwosuperior\@undefined +%<latexrelease>\let\textyen\@undefined +%<latexrelease> +%<latexrelease>\let\textcapitalcompwordmark\@undefined +%<latexrelease>\let\textascendercompwordmark\@undefined +%<latexrelease> +%<latexrelease>\DeclareTextAccentDefault{\textcircled}{OMS} +%<latexrelease>\DeclareTextAccentDefault{\t}{OML} +%<latexrelease> +%<latexrelease>\let\capitalacute\@undefined +%<latexrelease>\let\capitalbreve\@undefined +%<latexrelease>\let\capitalcaron\@undefined +%<latexrelease>\let\capitalcedilla\@undefined +%<latexrelease>\let\capitalcircumflex\@undefined +%<latexrelease>\let\capitaldieresis\@undefined +%<latexrelease>\let\capitaldotaccent\@undefined +%<latexrelease>\let\capitalgrave\@undefined +%<latexrelease>\let\capitalhungarumlaut\@undefined +%<latexrelease>\let\capitalmacron\@undefined +%<latexrelease>\let\capitalnewtie\@undefined +%<latexrelease>\let\capitalogonek\@undefined +%<latexrelease>\let\capitalring\@undefined +%<latexrelease>\let\capitaltie\@undefined +%<latexrelease>\let\capitaltilde\@undefined +%<latexrelease>\let\newtie\@undefined +%<latexrelease> +%<latexrelease>\let\textlbrackdbl\@undefined +%<latexrelease>\let\textrbrackdbl\@undefined +%<latexrelease> +%<latexrelease>\let\texteightoldstyle\@undefined +%<latexrelease>\let\textfiveoldstyle\@undefined +%<latexrelease>\let\textfouroldstyle\@undefined +%<latexrelease>\let\textnineoldstyle\@undefined +%<latexrelease>\let\textoneoldstyle\@undefined +%<latexrelease>\let\textsevenoldstyle\@undefined +%<latexrelease>\let\textsixoldstyle\@undefined +%<latexrelease>\let\textthreeoldstyle\@undefined +%<latexrelease>\let\texttwooldstyle\@undefined +%<latexrelease>\let\textzerooldstyle\@undefined +%<latexrelease> +%<latexrelease>\let\textacutedbl\@undefined +%<latexrelease>\let\textasciiacute\@undefined +%<latexrelease>\let\textasciibreve\@undefined +%<latexrelease>\let\textasciicaron\@undefined +%<latexrelease>\let\textasciidieresis\@undefined +%<latexrelease>\let\textasciigrave\@undefined +%<latexrelease>\let\textasciimacron\@undefined +%<latexrelease>\let\textgravedbl\@undefined +%<latexrelease>\let\texttildelow\@undefined +%<latexrelease> +%<latexrelease>\let\textbaht\@undefined +%<latexrelease>\let\textbigcircle\@undefined +%<latexrelease>\let\textborn\@undefined +%<latexrelease>\let\textcentoldstyle\@undefined +%<latexrelease>\let\textcircledP\@undefined +%<latexrelease>\let\textcopyleft\@undefined +%<latexrelease>\let\textdblhyphenchar\@undefined +%<latexrelease>\let\textdblhyphen\@undefined +%<latexrelease>\let\textdied\@undefined +%<latexrelease>\let\textdiscount\@undefined +%<latexrelease>\let\textdivorced\@undefined +%<latexrelease>\let\textdollaroldstyle\@undefined +%<latexrelease>\let\textguarani\@undefined +%<latexrelease>\let\textleaf\@undefined +%<latexrelease>\let\textlquill\@undefined +%<latexrelease>\let\textmarried\@undefined +%<latexrelease>\let\textmho\@undefined +%<latexrelease>\let\textmusicalnote\@undefined +%<latexrelease>\let\textnaira\@undefined +%<latexrelease>\let\textopenbullet\@undefined +%<latexrelease>\let\textpeso\@undefined +%<latexrelease>\let\textpilcrow\@undefined +%<latexrelease>\let\textrecipe\@undefined +%<latexrelease>\let\textreferencemark\@undefined +%<latexrelease>\let\textrquill\@undefined +%<latexrelease>\let\textservicemark\@undefined +%<latexrelease>\let\textsurd\@undefined +%<latexrelease> +%<latexrelease>\DeclareTextCommand{\textpertenthousand}{T1} +%<latexrelease> {\%\char 24\char 24 } +%<latexrelease> +%<latexrelease>\let\textlangle\@undefined +%<latexrelease>\let\textrangle\@undefined +%<latexrelease> +%<latexrelease>\let\textcolonmonetary\@undefined +%<latexrelease>\let\textdong\@undefined +%<latexrelease>\let\textdownarrow\@undefined +%<latexrelease>\let\textleftarrow\@undefined +%<latexrelease>\let\textlira\@undefined +%<latexrelease>\let\textrightarrow\@undefined +%<latexrelease>\let\textuparrow\@undefined +%<latexrelease>\let\textwon\@undefined +%<latexrelease> +%<latexrelease>\let\textestimated\@undefined +%<latexrelease>\let\textnumero\@undefined +%<latexrelease> +%<latexrelease>\let\textflorin\@undefined +%<latexrelease>\let\textcurrency\@undefined +%<latexrelease> +%<latexrelease>\let\textfractionsolidus\@undefined +%<latexrelease>\let\textohm\@undefined +%<latexrelease>\let\textmu\@undefined +%<latexrelease>\let\textminus\@undefined +%<latexrelease> +%<latexrelease>\let\textblank\@undefined +%<latexrelease>\let\textinterrobangdown\@undefined +%<latexrelease>\let\textinterrobang\@undefined +%<latexrelease> +%<latexrelease>\let\texteuro\@undefined +%<latexrelease> +%<latexrelease>\let\textcelsius\@undefined +%<latexrelease>\let\textonesuperior\@undefined +%<latexrelease>\let\textthreequartersemdash\@undefined +%<latexrelease>\let\textthreesuperior\@undefined +%<latexrelease>\let\texttwelveudash\@undefined +%<latexrelease>\let\texttwosuperior\@undefined +%<latexrelease>\let\textbardbl\@undefined +%<latexrelease> +%<latexrelease>\let\UseLegacyTextSymbols\@undefined +%<latexrelease>\let\textlegacyasteriskcentered\@undefined +%<latexrelease>\let\textlegacybardbl\@undefined +%<latexrelease>\let\textlegacybullet\@undefined +%<latexrelease>\let\textlegacydaggerdbl\@undefined +%<latexrelease>\let\textlegacydagger\@undefined +%<latexrelease>\let\textlegacyparagraph\@undefined +%<latexrelease>\let\textlegacyperiodcentered\@undefined +%<latexrelease>\let\textlegacysection\@undefined +%<latexrelease> +%<latexrelease>\EndIncludeInRelease +%<*2ekernel> +%</2ekernel> +% \end{macrocode} +% +% +% +% +% \section{The \texttt{textcomp} package} +% +% +% \begin{macrocode} +%<*TS1sty> +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\providecommand\DeclareRelease[3]{} +\providecommand\DeclareCurrentRelease[2]{} + +\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty} +\DeclareCurrentRelease{}{2020-02-02} + +\ProvidesPackage{textcomp} + [2020/02/02 v2.0m Standard LaTeX package] +% \end{macrocode} +% +% This is implemented by defining the default subset: +% \begin{macrocode} +\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}} +\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}} +\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{8}} +\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{9}} +% \end{macrocode} +% The default is set up in the kernel is ``safe'' these days for +% unknown fonts but LaTeX has definitions for most families so it +% seldom applies. +% +% If a different default is used then one needs to check the +% results to ensure that there aren't ``missing glyphs''. +% +% The next set of options define the warning level (default in the +% kernel is info only). If you load the package then the default +% changes to produce an error message if any substitution happens. +% \begin{macrocode} +\def\tc@errorwarn{\PackageError{textcomp}} +\DeclareOption{error}{\gdef\tc@errorwarn{\PackageError{textcomp}}} +\DeclareOption{warn}{\gdef\tc@errorwarn#1#2{\PackageWarning{textcomp}{#1}}} +\DeclareOption{quiet}{\gdef\tc@errorwarn#1#2{}} +% \end{macrocode} +% +% The ``force'' option basically changes the sub-encoding to that +% of the default (which, unless changes, is 9 these days), i.e., it +% no longer depends on the font in use. This is mainly there +% because it might have been used in older documents, but not +% somehting that is recommended. +% \begin{macrocode} +\DeclareOption{force}{% + \def\CheckEncodingSubset#1#2#3#4#5{% + \ifnum #4>% + 0\csname #2:?\endcsname + \relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {#1{#2}}{#3}% + #5}% +} +% \end{macrocode} +% +% \begin{macrocode} +\ExecuteOptions{} +\ProcessOptions\relax +% \end{macrocode} +% +% There is not much else to do nowadays, because everything is +% already set up in the \LaTeX{} kernel. +% +% \begin{macrocode} +\InputIfFileExists{textcomp.cfg} + {\PackageInfo{textcomp}{Local configuration file used}}{} +% \end{macrocode} +% +% \begin{macrocode} +%</TS1sty> +% \end{macrocode} +% +% +% +% \subsection{The old textcomp package code} +% +% This section contains the old code for the textcomp package and +% its documentation. It is only used if we roll back prior to 2020. +% Thus all the rest is mainly for historians. Note that the old +% code categorised in the sub-encodings only into 6 classes not 10. +% +% \begin{macrocode} +%<*TS1oldsty> +\ProvidesPackage{textcomp} + [2018/08/11 v2.0j Standard LaTeX package] +% \end{macrocode} +% +% This one is for the |TS1| encoding which contains text symbols +% for use with the |T1|-encoded text fonts. It therefore first +% inputs the file |TS1enc.def| and then sets (or resets) the +% defaults for the symbols it contains. The result of this is that +% when one of these symbols is accessed and the current encoding +% does not provide it, the symbol will be supplied by a silent, +% local change to this encoding. +% +% Since many PostScript fonts only implement a subset of |TS1| many +% commands only produce black blobs of ink. To resolve the +% resulting problems a number of options have been introduced and +% some code has been developed to distinguish sub-encodings. +% +% The sub-encodings have a numerical id and are defined as follows +% for \texttt{TS1}: +% \begin{description} +% +% \item[\#5] those \texttt{TS1} symbols that are also in the ISO-Adobe +% character set; without \verb=textcurrency=, which is often +% misused for the Euro. Older Type1 fonts from the non-\TeX{} +% world provide only this subset. +% +% \item[\#4] = \#5 + \verb=\texteuro=. Most newer fonts provide this. +% +% \item[\#3] = \#4 + \verb=\textomega=. Can also be described as +% $\texttt{TS1} \cap (\texttt{ISO-Adobe} \cup +% \texttt{MacRoman})$. (Except for the missing "currency".) + +% +% \item[\#2] = \#3 + \verb=\textestimated= + \verb=\textcurrency=. Can +% also be described as $\texttt{TS1} \cap +% \texttt{Adobe-Western-2}$. This may be relevant for OpenType +% fonts, which usually show the Adobe-Western-2 character set. +% +% \item[\#1] = \texttt{TS1} without \verb=\textcircled= and \verb=\t=. +% These two glyphs are often not implemented and if their kernel +% defaults are changed commands like \verb=\copyright= +% unnecessarily fail. +% +% \item[\#0] = full \texttt{TS1} +% \end{description} +% +% And here a summary to go in the transcript file: +% \begin{macrocode} +\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak + \space\space 5 = only ISO-Adobe without + \string\textcurrency\MessageBreak + \space\space 4 = 5 + \string\texteuro\MessageBreak + \space\space 3 = 4 + \string\textohm\MessageBreak + \space\space 2 = 3 + \noexpand\textestimated+ + \string\textcurrency\MessageBreak + \space\space 1 = TS1 - \noexpand\textcircled- + \string\t\MessageBreak + \space\space 0 = TS1 (full)\MessageBreak + Font families with sub-encoding setting implement\MessageBreak + only a restricted character set as indicated.\MessageBreak + Family '?' is the default used for unknown fonts.\MessageBreak + See the documentation for details\@gobble} +% \end{macrocode} +% +% \begin{macro}{\DeclareEncodingSubset} +% An encoding subset to which a font family belongs is declared by +% the command |\DeclareEncodingSubset| that takes the major encoding as the +% first argument (e.g., |TS1|), the family name as the second +% argument (e.g., |cmr|), and the subset encoding id as a third, +% (e.g., |0| for |cmr|). +% +% The default encoding subset to use when nothing is known about +% the current font family is named |?|. +% \begin{macrocode} +\def\DeclareEncodingSubset#1#2#3{% + \@ifundefined{#1:#2}% + {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}% + {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}% + \@namedef{#1:#2}{#3}} +\@onlypreamble\DeclareEncodingSubset +% \end{macrocode} +% \end{macro} +% +% +% The options for the package are the following: +% \begin{description} +% \item[safe] +% for unknown font families enables only symbols that are also +% in the ISO-Adobe character set; without "currency", which is +% often misused for the Euro. Older Type1 fonts from the +% non-TeX world provide only this subset. +% +% \item[euro] +% enables the ``safe'' symbols plus the |\texteuro| +% command. Most newer fonts provide this. +% +% \item[full] enables all |TS1| commands; useful only with fonts +% like EC or CM bright. +% +% \item[almostfull] +% same as ``full'', except that |\textcircled| +% and |\t| are \emph{not} redefined from their defaults to avoid +% that commands like |\copyright| suddenly no longer work. +% +% \item[force] +% ignore all subset encoding definitions stored in the package +% itself or in the configuration file and always use the default +% subset as specified by one of the other options (seldom useful, +% only dangerous). +% \end{description} +% +% \begin{macro}{\iftc@forced} +% Switch used to implement the \texttt{force} option +% \begin{macrocode} +\newif\iftc@forced \tc@forcedfalse +% \end{macrocode} +% \end{macro} + +% This is implemented by defining the default subset: +% \begin{macrocode} +\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}} +\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}} +\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}} +\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}} +% \end{macrocode} +% The default is ``almostfull'' which means that old documents will +% work except that |\textcircled| and |\t| will use the kernel +% defaults (with the advantage that this also works if the current +% font (as often the case) doesn't implement these glyphs. +% +% The ``force'' option simply sets the switch to true. +% \begin{macrocode} +\DeclareOption{force}{\tc@forcedtrue} +% \end{macrocode} +% +% The suggestions to user is to use the ``safe'' option always +% unless that balks in which case they could switch to +% ``almostfull'' but then better check their output manually. +% +% \begin{macrocode} +\def\tc@errorwarn{\PackageError} +\DeclareOption{warn}{\gdef\tc@errorwarn#1#2#3{\PackageWarning{#1}{#2}}} +\DeclareOption{quiet}{\gdef\tc@errorwarn#1#2#3{}} +% \end{macrocode} +% +% \begin{macrocode} +\ExecuteOptions{almostfull} +\ProcessOptions\relax +% \end{macrocode} +% +% +% +% +% \begin{macro}{\CheckEncodingSubset} +% The command |\CheckEncodingSubset| will check if the current font +% family has the right encoding subset to typeset a certain +% command. It takes five arguments as follows: +% first argument is either |\UseTextSymbol|, |\UseTextAccent| +% depending on whether or not the symbol is a text symbol or a text +% accent. + +% The second argument is the encoding from which this symbol should +% be fetched. +% +% The third argument is either a fake accessor command or an error +% message. the code in that argument (if ever executed) receives +% two arguments: |#2| and |#5| of |\CheckEncodingSubset|. +% +% Argument four is the subset encoding id to test against: if this +% value is higher than the subset id of the current font family +% then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise +% it runs |#3#5|, e.g., to produce an error message or fake the +% glyph somehow. +% +% Argument five is the symbol or accent command that is being +% checked. +% +% For usage examples see definitions below. +% \begin{macrocode} +\iftc@forced +% \end{macrocode} +% If the ``force'' option was given we always use the default for +% testing against. +% \begin{macrocode} +\def\CheckEncodingSubset#1#2#3#4#5{% + \ifnum #4>% + 0\csname #2:?\endcsname + \relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {#1{#2}}{#3}% + #5% +} +% \end{macrocode} +% +% In normal circumstances the test is a bit more complicated: first +% check if there exists a macro +% |\|\meta{arg2}|:|\meta{current-family} and if so use that value +% to test against, otherwise use the default to test against. +% \begin{macrocode} +\else +\def\CheckEncodingSubset#1#2#3#4#5{% + \ifnum #4>% + \expandafter\ifx\csname #2:\f@family\endcsname\relax + 0\csname #2:?\endcsname + \else + \csname #2:\f@family\endcsname + \fi + \relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + {#1{#2}}{#3}% + #5% +} +\fi +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tc@subst} +% \begin{macrocode} +\def\tc@subst#1{% + \tc@errorwarn{textcomp}% + {Symbol \string#1 not provided by\MessageBreak + font family \f@family\space + in TS1 encoding.\MessageBreak Default family used instead}\@eha + \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tc@error} +% |\tc@error| is going to be used in arg |#3| of +% |\CheckEncodingSubset| when a symbol is not available in a +% certain font family. It gets pass the encoding it normally lives +% in (arg one) and the name of the symbol or accent that has a +% problem. +% +% \begin{macrocode} +% error commands take argument: +% #1 symbol to be used +\def\tc@error#1{% + \PackageError{textcomp}% % should be latex error if general + {Accent \string#1 not provided by\MessageBreak + font family \f@family\space + in TS1 encoding}\@eha +} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\tc@fake@euro} +% |\tc@fake@euro| is an example of a ``fake'' definition to use in arg |#3| of +% |\CheckEncodingSubset| when a symbol is not available in a +% certain font family. Here we produce an Euro symbol by combining +% a ``C'' with a ``=''. +% \begin{macrocode} +\def\tc@fake@euro#1{% + \leavevmode + \PackageInfo{textcomp}{Faking \noexpand#1for font family + \f@family\MessageBreak in TS1 encoding}% + \valign{##\cr + \vfil\hbox to 0.07em{\dimen@\f@size\p@ + \math@fontsfalse + \fontsize{.7\dimen@}\z@\selectfont=\hss}% + \vfil\cr% + \hbox{C}\crcr + }% +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\tc@check@symbol} +% \begin{macro}{\tc@check@accent} +% These are two abbreviations that we use below to check symbols +% and accents in TS1. Only there to save some space, e.g., we can +% then write +%\begin{verbatim} +%\DeclareTextCommandDefault{\textcurrency}{\tc@check@symbol3\textcurrency} +%\end{verbatim} +% to ensure that |\textcurrency| is only typeset if the current +% font has a \texttt{TS1} subset id of less than 3. Otherwise +% |\tc@error| is called telling the user that for this font family +% |\textcurreny| is not available. +% \begin{macrocode} +\def\tc@check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc@subst} +\def\tc@check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc@error} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% We start with the commands that are ``safe'' and which can be +% unconditionally set up, first the accents\ldots +% \begin{macrocode} +\DeclareTextAccentDefault{\capitalcedilla}{TS1} +\DeclareTextAccentDefault{\capitalogonek}{TS1} +\DeclareTextAccentDefault{\capitalgrave}{TS1} +\DeclareTextAccentDefault{\capitalacute}{TS1} +\DeclareTextAccentDefault{\capitalcircumflex}{TS1} +\DeclareTextAccentDefault{\capitaltilde}{TS1} +\DeclareTextAccentDefault{\capitaldieresis}{TS1} +\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1} +\DeclareTextAccentDefault{\capitalring}{TS1} +\DeclareTextAccentDefault{\capitalcaron}{TS1} +\DeclareTextAccentDefault{\capitalbreve}{TS1} +\DeclareTextAccentDefault{\capitalmacron}{TS1} +\DeclareTextAccentDefault{\capitaldotaccent}{TS1} +% \end{macrocode} +% \ldots and then the other glyphs. +% \changes{v1.9p}{1998/06/12}{Renamed \cs{textmacron} pr/2840} +% \begin{macrocode} +\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1} +\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1} +\DeclareTextSymbolDefault{\textquotestraightbase}{TS1} +\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1} +\DeclareTextSymbolDefault{\texttwelveudash}{TS1} +\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} +\DeclareTextSymbolDefault{\textdollar}{TS1} +\DeclareTextSymbolDefault{\textquotesingle}{TS1} +\DeclareTextSymbolDefault{\textasteriskcentered}{TS1} +\DeclareTextSymbolDefault{\textfractionsolidus}{TS1} +\DeclareTextSymbolDefault{\textminus}{TS1} +\DeclareTextSymbolDefault{\textlbrackdbl}{TS1} +\DeclareTextSymbolDefault{\textrbrackdbl}{TS1} +\DeclareTextSymbolDefault{\textasciigrave}{TS1} +\DeclareTextSymbolDefault{\texttildelow}{TS1} +\DeclareTextSymbolDefault{\textasciibreve}{TS1} +\DeclareTextSymbolDefault{\textasciicaron}{TS1} +\DeclareTextSymbolDefault{\textgravedbl}{TS1} +\DeclareTextSymbolDefault{\textacutedbl}{TS1} +\DeclareTextSymbolDefault{\textdagger}{TS1} +\DeclareTextSymbolDefault{\textdaggerdbl}{TS1} +\DeclareTextSymbolDefault{\textbardbl}{TS1} +\DeclareTextSymbolDefault{\textperthousand}{TS1} +\DeclareTextSymbolDefault{\textbullet}{TS1} +\DeclareTextSymbolDefault{\textcelsius}{TS1} +\DeclareTextSymbolDefault{\textflorin}{TS1} +\DeclareTextSymbolDefault{\texttrademark}{TS1} +\DeclareTextSymbolDefault{\textcent}{TS1} +\DeclareTextSymbolDefault{\textsterling}{TS1} +\DeclareTextSymbolDefault{\textyen}{TS1} +\DeclareTextSymbolDefault{\textbrokenbar}{TS1} +\DeclareTextSymbolDefault{\textsection}{TS1} +\DeclareTextSymbolDefault{\textasciidieresis}{TS1} +\DeclareTextSymbolDefault{\textcopyright}{TS1} +\DeclareTextSymbolDefault{\textordfeminine}{TS1} +\DeclareTextSymbolDefault{\textlnot}{TS1} +\DeclareTextSymbolDefault{\textregistered}{TS1} +\DeclareTextSymbolDefault{\textasciimacron}{TS1} +\DeclareTextSymbolDefault{\textdegree}{TS1} +\DeclareTextSymbolDefault{\textpm}{TS1} +\DeclareTextSymbolDefault{\texttwosuperior}{TS1} +\DeclareTextSymbolDefault{\textthreesuperior}{TS1} +\DeclareTextSymbolDefault{\textasciiacute}{TS1} +\DeclareTextSymbolDefault{\textmu}{TS1} +\DeclareTextSymbolDefault{\textparagraph}{TS1} +\DeclareTextSymbolDefault{\textperiodcentered}{TS1} +\DeclareTextSymbolDefault{\textonesuperior}{TS1} +\DeclareTextSymbolDefault{\textordmasculine}{TS1} +\DeclareTextSymbolDefault{\textonequarter}{TS1} +\DeclareTextSymbolDefault{\textonehalf}{TS1} +\DeclareTextSymbolDefault{\textthreequarters}{TS1} +\DeclareTextSymbolDefault{\texttimes}{TS1} +\DeclareTextSymbolDefault{\textdiv}{TS1} +% \end{macrocode} +% +% The |\texteuro| is only available for subsets with id 4 or +% less. Otherwise we fake the glyph using |\tc@fake@euro| +% \begin{macrocode} +\DeclareTextCommandDefault{\texteuro} + {\CheckEncodingSubset\UseTextSymbol{TS1}\tc@fake@euro5\texteuro} +% \end{macrocode} +% +% The |\textohm| is only available for subsets with id 3 or +% less. Otherwise we produce an error. +% \begin{macrocode} +\DeclareTextCommandDefault{\textohm}{\tc@check@symbol4\textohm} +% \end{macrocode} +% The |\textestimated| and |\textcurrency| are only provided for +% fonts with subset encoding with id 2 or less. +% \begin{macrocode} +\DeclareTextCommandDefault{\textestimated}% + {\tc@check@symbol3\textestimated} +\DeclareTextCommandDefault{\textcurrency}% + {\tc@check@symbol3\textcurrency} +% \end{macrocode} +% Nearly all of the remaining glyphs are provided only with fonts +% with id 1 or 0, i.e., are essentially complete. +% \begin{macrocode} +\DeclareTextCommandDefault{\capitaltie}% + {\tc@check@accent2\capitaltie} +\DeclareTextCommandDefault{\newtie}% + {\tc@check@accent2\newtie} +\DeclareTextCommandDefault{\capitalnewtie}% + {\tc@check@accent2\capitalnewtie} +\DeclareTextCommandDefault{\textleftarrow}% + {\tc@check@symbol2\textleftarrow} +\DeclareTextCommandDefault{\textrightarrow}% + {\tc@check@symbol2\textrightarrow} +\DeclareTextCommandDefault{\textblank}% + {\tc@check@symbol2\textblank} +\DeclareTextCommandDefault{\textdblhyphen}% + {\tc@check@symbol2\textdblhyphen} +\DeclareTextCommandDefault{\textzerooldstyle}% + {\tc@check@symbol2\textzerooldstyle} +\DeclareTextCommandDefault{\textoneoldstyle}% + {\tc@check@symbol2\textoneoldstyle} +\DeclareTextCommandDefault{\texttwooldstyle}% + {\tc@check@symbol2\texttwooldstyle} +\DeclareTextCommandDefault{\textthreeoldstyle}% + {\tc@check@symbol2\textthreeoldstyle} +\DeclareTextCommandDefault{\textfouroldstyle}% + {\tc@check@symbol2\textfouroldstyle} +\DeclareTextCommandDefault{\textfiveoldstyle}% + {\tc@check@symbol2\textfiveoldstyle} +\DeclareTextCommandDefault{\textsixoldstyle}% + {\tc@check@symbol2\textsixoldstyle} +\DeclareTextCommandDefault{\textsevenoldstyle}% + {\tc@check@symbol2\textsevenoldstyle} +\DeclareTextCommandDefault{\texteightoldstyle}% + {\tc@check@symbol2\texteightoldstyle} +\DeclareTextCommandDefault{\textnineoldstyle}% + {\tc@check@symbol2\textnineoldstyle} +\DeclareTextCommandDefault{\textlangle}% + {\tc@check@symbol2\textlangle} +\DeclareTextCommandDefault{\textrangle}% + {\tc@check@symbol2\textrangle} +\DeclareTextCommandDefault{\textmho}% + {\tc@check@symbol2\textmho} +\DeclareTextCommandDefault{\textbigcircle}% + {\tc@check@symbol2\textbigcircle} +\DeclareTextCommandDefault{\textuparrow}% + {\tc@check@symbol2\textuparrow} +\DeclareTextCommandDefault{\textdownarrow}% + {\tc@check@symbol2\textdownarrow} +\DeclareTextCommandDefault{\textborn}% + {\tc@check@symbol2\textborn} +\DeclareTextCommandDefault{\textdivorced}% + {\tc@check@symbol2\textdivorced} +\DeclareTextCommandDefault{\textdied}% + {\tc@check@symbol2\textdied} +\DeclareTextCommandDefault{\textleaf}% + {\tc@check@symbol2\textleaf} +\DeclareTextCommandDefault{\textmarried}% + {\tc@check@symbol2\textmarried} +\DeclareTextCommandDefault{\textmusicalnote}% + {\tc@check@symbol2\textmusicalnote} +\DeclareTextCommandDefault{\textdblhyphenchar}% + {\tc@check@symbol2\textdblhyphenchar} +\DeclareTextCommandDefault{\textdollaroldstyle}% + {\tc@check@symbol2\textdollaroldstyle} +\DeclareTextCommandDefault{\textcentoldstyle}% + {\tc@check@symbol2\textcentoldstyle} +\DeclareTextCommandDefault{\textcolonmonetary}% + {\tc@check@symbol2\textcolonmonetary} +\DeclareTextCommandDefault{\textwon}% + {\tc@check@symbol2\textwon} +\DeclareTextCommandDefault{\textnaira}% + {\tc@check@symbol2\textnaira} +\DeclareTextCommandDefault{\textguarani}% + {\tc@check@symbol2\textguarani} +\DeclareTextCommandDefault{\textpeso}% + {\tc@check@symbol2\textpeso} +\DeclareTextCommandDefault{\textlira}% + {\tc@check@symbol2\textlira} +\DeclareTextCommandDefault{\textrecipe}% + {\tc@check@symbol2\textrecipe} +\DeclareTextCommandDefault{\textinterrobang}% + {\tc@check@symbol2\textinterrobang} +\DeclareTextCommandDefault{\textinterrobangdown}% + {\tc@check@symbol2\textinterrobangdown} +\DeclareTextCommandDefault{\textdong}% + {\tc@check@symbol2\textdong} +\DeclareTextCommandDefault{\textpertenthousand}% + {\tc@check@symbol2\textpertenthousand} +\DeclareTextCommandDefault{\textpilcrow}% + {\tc@check@symbol2\textpilcrow} +\DeclareTextCommandDefault{\textbaht}% + {\tc@check@symbol2\textbaht} +\DeclareTextCommandDefault{\textnumero}% + {\tc@check@symbol2\textnumero} +\DeclareTextCommandDefault{\textdiscount}% + {\tc@check@symbol2\textdiscount} +\DeclareTextCommandDefault{\textopenbullet}% + {\tc@check@symbol2\textopenbullet} +\DeclareTextCommandDefault{\textservicemark}% + {\tc@check@symbol2\textservicemark} +\DeclareTextCommandDefault{\textlquill}% + {\tc@check@symbol2\textlquill} +\DeclareTextCommandDefault{\textrquill}% + {\tc@check@symbol2\textrquill} +\DeclareTextCommandDefault{\textcopyleft}% + {\tc@check@symbol2\textcopyleft} +\DeclareTextCommandDefault{\textcircledP}% + {\tc@check@symbol2\textcircledP} +\DeclareTextCommandDefault{\textreferencemark}% + {\tc@check@symbol2\textreferencemark} +\DeclareTextCommandDefault{\textsurd}% + {\tc@check@symbol2\textsurd} +% \end{macrocode} +% The |\textcircled| and |\t| are handled specially, unless the +% current font has a subset id of 0 (i.e. full \texttt{TS1}) we +% pick the symbols up from the math font encodings, i.e., the +% third argument to |\CheckEncodingSubset| uses |\UseTextAccent| to +% get them from there. +% \begin{macrocode} +\DeclareTextCommandDefault{\textcircled} + {\CheckEncodingSubset\UseTextAccent{TS1}% + {\UseTextAccent{OMS}}1\textcircled} +\DeclareTextCommandDefault{\t} + {\CheckEncodingSubset\UseTextAccent{TS1}% + {\UseTextAccent{OML}}1\t} +% \end{macrocode} + + +% +% Finally input the encoding-specific definitions for +% \texttt{TS1} thus making the top-level definitions +% optimised for this encoding (and not for the default +% encoding). +% \changes{v1.9o}{1998/03/20}{Load decls after defaults for speed.} +% \begin{macrocode} +\input{ts1enc.def} +% \end{macrocode} +% Now having the new glyphs available we also want to make sure +% that they are used. For most cases this will automatically happen +% but for some glyphs there are inferior definitions already known +% to \LaTeX{} which will prevent the usage of the \texttt{TS1} +% versions. So we better +% get rid of them: +% \changes{v1.9o}{1998/03/20}{Added various \cs{UndeclareTextCommand} +% declarations for pr/2783} +% \begin{macrocode} +\UndeclareTextCommand{\textsterling}{OT1} +\UndeclareTextCommand{\textdollar} {OT1} +% \end{macrocode} +% Similar declarations should probably be made for other encodings +% like \texttt{OT4} if they are in use. +% \begin{macrocode} +%\UndeclareTextCommand{\textsterling}{OT4} +%\UndeclareTextCommand{\textdollar} {OT4} +% \end{macrocode} +% From the \texttt{T1} encoding there are two candidates for removal: +% \textperthousand{} and \textpertenthousand{} since these are both +% constructed from \% followed by a tiny +% `{\fontencoding{T1}\selectfont \char 24}' +% rather than being a single glyph. The problem with this +% approach is that in PostScript fonts this small zero is usually not +% available resulting in \%\rule{3pt}{3pt} rather than +% \textperthousand{} while the real glyph (at least for +% |\textperthousand|) is available in the PostScript version of +% \texttt{TS1}. So for the moment we compromise by removing the +% \texttt{T1} declaration for |\textperthousand| but keeping the one +% for |\textpertenthousand|. This will have the effect that with +% Computer Modern fonts everything will come out (although +% \textperthousand{} and \textpertenthousand{} are not taken from the +% same physical font) and with PostScript fonts \textperthousand{} +% will come out correctly while \textpertenthousand{} will most +% likely look like \%\rule{6pt}{3pt} --- which is probably an +% improvement over just getting a single `\rule{3pt}{3pt}' to +% indicate a completely missing glyph, which would happen if we +% also `undeclared' |\textpertenthousand|. +% \begin{macrocode} +\UndeclareTextCommand{\textperthousand}{T1} +%\UndeclareTextCommand{\textpertenthousand}{T1} +% \end{macrocode} +% +% +% \subsubsection{Supporting oldstyle digits} +% +% \begin{macrocode} +\DeclareRobustCommand\oldstylenums[1]{% + \begingroup + \ifmmode + \mathgroup\symletters #1% + \else + \CheckEncodingSubset\@use@text@encoding{TS1}% + {\PackageWarning{textcomp}% + {Oldstyle digits unavailable for + family \f@family.\MessageBreak + Lining digits used instead}}% + \tw@{#1}% + \fi + \endgroup +} +% \end{macrocode} +% +% \subsubsection{Subset encoding defaults} +% +% For many font families commonly used in the \TeX{} world we +% provide the subset encoding data here. Users can add additional +% font families in the file \texttt{textcomp.cfg} if they own other +% fonts. +% +% However, if the option ``forced'' was given then all subset +% encoding specifications are ignored, so there is no point in +% setting any of them up: +% \begin{macrocode} +\iftc@forced \else +% \end{macrocode} +% +% Computer modern based fonts (e.g., CM, CM-Bright, Concrete): +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{cmr} {0} +\DeclareEncodingSubset{TS1}{cmss} {0} +\DeclareEncodingSubset{TS1}{cmtt} {0} +\DeclareEncodingSubset{TS1}{cmvtt} {0} +\DeclareEncodingSubset{TS1}{cmbr} {0} +\DeclareEncodingSubset{TS1}{cmtl} {0} +\DeclareEncodingSubset{TS1}{ccr} {0} +% \end{macrocode} +% +% PSNFSS fonts: +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{ptm} {4} +\DeclareEncodingSubset{TS1}{pcr} {4} +\DeclareEncodingSubset{TS1}{phv} {4} +\DeclareEncodingSubset{TS1}{ppl} {3} +\DeclareEncodingSubset{TS1}{pag} {4} +\DeclareEncodingSubset{TS1}{pbk} {4} +\DeclareEncodingSubset{TS1}{pnc} {4} +\DeclareEncodingSubset{TS1}{pzc} {4} +\DeclareEncodingSubset{TS1}{bch} {4} +\DeclareEncodingSubset{TS1}{put} {5} +% \end{macrocode} +% +% Other CTAN fonts (probably not complete): +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{uag} {5} +\DeclareEncodingSubset{TS1}{ugq} {5} +\DeclareEncodingSubset{TS1}{ul8} {4} +\DeclareEncodingSubset{TS1}{ul9} {4} % (LuxiSans, one day) +\DeclareEncodingSubset{TS1}{augie} {5} +\DeclareEncodingSubset{TS1}{dayrom} {3} +\DeclareEncodingSubset{TS1}{dayroms} {3} +\DeclareEncodingSubset{TS1}{pxr} {0} +\DeclareEncodingSubset{TS1}{pxss} {0} +\DeclareEncodingSubset{TS1}{pxtt} {0} +\DeclareEncodingSubset{TS1}{txr} {0} +\DeclareEncodingSubset{TS1}{txss} {0} +\DeclareEncodingSubset{TS1}{txtt} {0} +% \end{macrocode} +% +% Latin Modern and TeX Gyre: +% \changes{v1.99k}{2009/10/28}{Added Latin Modern and TeX Gyre subsets} +% \changes{v1.99l}{2009/11/04}{Added more Latin Modern and TeX Gyre subsets} +% \changes{v1.99m}{2015/02/16}{Added lmtt (Heiko Oberdiek) latex/4415} +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{lmr} {0} +\DeclareEncodingSubset{TS1}{lmdh} {0} +\DeclareEncodingSubset{TS1}{lmss} {0} +\DeclareEncodingSubset{TS1}{lmssq} {0} +\DeclareEncodingSubset{TS1}{lmvtt} {0} +\DeclareEncodingSubset{TS1}{lmtt} {0} +% \end{macrocode} +% +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{qhv} {0} +\DeclareEncodingSubset{TS1}{qag} {0} +\DeclareEncodingSubset{TS1}{qbk} {0} +\DeclareEncodingSubset{TS1}{qcr} {0} +\DeclareEncodingSubset{TS1}{qcs} {0} +\DeclareEncodingSubset{TS1}{qpl} {0} +\DeclareEncodingSubset{TS1}{qtm} {0} +\DeclareEncodingSubset{TS1}{qzc} {0} +\DeclareEncodingSubset{TS1}{qhvc} {0} +% \end{macrocode} +% +% Fourier-GUTenberg: +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{futs} {4} +\DeclareEncodingSubset{TS1}{futx} {4} +\DeclareEncodingSubset{TS1}{futj} {4} +% \end{macrocode} +% +% Y\&Y's Lucida Bright +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{hlh} {3} +\DeclareEncodingSubset{TS1}{hls} {3} +\DeclareEncodingSubset{TS1}{hlst} {3} +% \end{macrocode} +% The remaining settings for Lucida are conservative: the following +% fonts contain the |\textohm| character but not the |\texteuro|, +% i.e., belong to neither subset~4 nor subset~3. If you want to +% use the |\textohm| with these fonts copy these definition to +% \texttt{textcomp.cfg} and change the subset to~3. However in that +% case make sure that you do not use the |\texteuro|. +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{hlct} {5} +\DeclareEncodingSubset{TS1}{hlx} {5} +\DeclareEncodingSubset{TS1}{hlce} {5} +\DeclareEncodingSubset{TS1}{hlcn} {5} +\DeclareEncodingSubset{TS1}{hlcw} {5} +\DeclareEncodingSubset{TS1}{hlcf} {5} +% \end{macrocode} +% +% Other commercial families\ldots +% \begin{macrocode} +\DeclareEncodingSubset{TS1}{pplx} {3} +\DeclareEncodingSubset{TS1}{pplj} {3} +\DeclareEncodingSubset{TS1}{ptmx} {4} +\DeclareEncodingSubset{TS1}{ptmj} {4} +% \end{macrocode} +% +% If the file \texttt{textcomp.cfg} exists it will be loaded at +% this point. This allows to define further subset encodings for +% font families not covered by default. +% +% \begin{macrocode} +\InputIfFileExists{textcomp.cfg} + {\PackageInfo{textcomp}{Local configuration file used}}{} +% \end{macrocode} +% +% \begin{macrocode} +\fi +% \end{macrocode} +% +% \begin{macrocode} +%</TS1oldsty> +% \end{macrocode} + + +% \Finale +% + + + + +\endinput diff --git a/Master/texmf-dist/source/latex/base/ltthm.dtx b/Master/texmf-dist/source/latex/base/ltthm.dtx index ee1b51ac5d8..4e3c51ab77e 100644 --- a/Master/texmf-dist/source/latex/base/ltthm.dtx +++ b/Master/texmf-dist/source/latex/base/ltthm.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltvers.dtx b/Master/texmf-dist/source/latex/base/ltvers.dtx index 813dd68f633..b23271f83b3 100644 --- a/Master/texmf-dist/source/latex/base/ltvers.dtx +++ b/Master/texmf-dist/source/latex/base/ltvers.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -33,7 +33,7 @@ %<*driver> % \fi \ProvidesFile{ltvers.dtx} - [2019/07/01 v1.1c LaTeX Kernel (Version Info)] + [2020/01/31 v1.1e LaTeX Kernel (Version Info)] % \iffalse \documentclass{ltxdoc} \GetFileInfo{ltvers.dtx} @@ -112,17 +112,17 @@ %</2ekernel> %<latexrelease>\edef\latexreleaseversion %<*2ekernel|latexrelease> - {2019-10-01} + {2020-02-02} %</2ekernel|latexrelease> %<*2ekernel> -\def\patch@level{3} +\def\patch@level{0} % \end{macrocode} -% +% % \begin{macro}{\development@branch@name} % For more fine grain control there is the possibility to name the % current development branch. This is only used when the % \cs{patch@level} is negative (i.e., a pre-release format) and is -% intended to help help us internally when we locally install a +% intended to help us internally when we locally install a % format out of some development branch. % \begin{macrocode} \edef\development@branch@name{} @@ -177,8 +177,9 @@ % \changes{v1.0p}{2015/01/22}{Preserve any \cs{everyjob} material inserted % by a loader (\texttt{.ini} file)} % \changes{v1.0v}{2015/08/23}{Allow negative patchlevel for pre-release} +% \changes{v1.1e}{2020/01/31}{Allow for upcoming format as pre-release 0} % \begin{macrocode} - \ifnum\patch@level=0 + \ifnum0\ifnum\patch@level=0 \ifx\development@branch@name\@empty 1\fi\fi>0 % \everyjob\expandafter{\the\everyjob \typeout{\fmtname \space<\fmtversion>}} \immediate @@ -190,7 +191,7 @@ \write16{\fmtname \space<\fmtversion> patch level \patch@level} \else \everyjob\expandafter{\the\everyjob - \typeout{\fmtname \space<\fmtversion> pre-release\patch@level + \typeout{\fmtname \space<\fmtversion> pre-release-\number-\patch@level\space \ifx\development@branch@name\@undefined \else \ifx\development@branch@name\@empty \else \space (\development@branch@name\space branch)% @@ -198,7 +199,7 @@ \fi }} \immediate - \write16{\fmtname \space<\fmtversion> pre-release\patch@level + \write16{\fmtname \space<\fmtversion> pre-release-\number-\patch@level\space \ifx\development@branch@name\@undefined \else \ifx\development@branch@name\@empty \else \space (\development@branch@name\space branch)% @@ -240,7 +241,7 @@ % \end{macrocode} % % If a specific date has not been specified in |latexrelease| -% use `|#1|`. +% use `|#1|`. % \begin{macrocode} \def\@IncludeInRelease#1[#2]{\@IncludeInRele@se{#2}} % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/base/ltxdoc.dtx b/Master/texmf-dist/source/latex/base/ltxdoc.dtx index 2d3e5aad2a6..f250b2cb193 100644 --- a/Master/texmf-dist/source/latex/base/ltxdoc.dtx +++ b/Master/texmf-dist/source/latex/base/ltxdoc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/ltxref.dtx b/Master/texmf-dist/source/latex/base/ltxref.dtx index 27d32504137..c20a3245588 100644 --- a/Master/texmf-dist/source/latex/base/ltxref.dtx +++ b/Master/texmf-dist/source/latex/base/ltxref.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -70,7 +70,7 @@ % % |\ref|\marg{foo}: value of most recently incremented referencable % counter. in the current environment. (Chapter, section, -% theorem and enumeration counters counters are +% theorem and enumeration counters are % referencable, footnote counters are not.) % % |\pageref|\marg{foo}: page number at which |\label{foo}| command @@ -314,7 +314,7 @@ %<latexrelease>\IncludeInRelease{2019/10/01}% %<latexrelease> {\refstepcounter}{Add \labelformat and \Ref}% % \end{macrocode} -% +% % \begin{macro}{\refstepcounter} % Step the counter and allow for labels to point to its current value. % \begin{macrocode} @@ -324,14 +324,14 @@ % By generating the second csname first the |\p@...| command can % grab it as an argument which can be helpful for more complicated % typesetting arrangements. -% +% % The trick is to ensure that |\csname the#1\endcsname| is turned % into a single token before |\p@...| is expanded further. This % way, if the |\p@...| command is a macro with one argument it will % receive |\the...|. With the original kernel code (i.e., without the % |\expandafter|) it will instead pick up |\csname| which would be % disastrous. -% +% % Using |\expandafter| instead of braces delimiting the argument is % better because, assuming that the |\p@...| command is not defined % as a macro with one argument, the braces will stay and prohibit @@ -394,11 +394,11 @@ %<latexrelease>\EndIncludeInRelease %<*2ekernel> % \end{macrocode} -% -% -% -% -% +% +% +% +% +% % % % \begin{macro}{\@currentlabel} diff --git a/Master/texmf-dist/source/latex/base/makeindx.dtx b/Master/texmf-dist/source/latex/base/makeindx.dtx index aa998bf3cac..a149bcf86c5 100644 --- a/Master/texmf-dist/source/latex/base/makeindx.dtx +++ b/Master/texmf-dist/source/latex/base/makeindx.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/makeindx.ins b/Master/texmf-dist/source/latex/base/makeindx.ins index b31b967c41a..5e86d50579e 100644 --- a/Master/texmf-dist/source/latex/base/makeindx.ins +++ b/Master/texmf-dist/source/latex/base/makeindx.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/newdc.ins b/Master/texmf-dist/source/latex/base/newdc.ins index 5786282a87a..962510313c0 100644 --- a/Master/texmf-dist/source/latex/base/newdc.ins +++ b/Master/texmf-dist/source/latex/base/newdc.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -87,7 +87,7 @@ making successful document exchange impossible. \Msg{*** Generating font defs for Cork encoded and Text Companion fonts ***} - + \generate{ \file{t1cmfib.fd}{ \from{cmfonts.fdd}{fd,T1cmfib,new}} @@ -112,7 +112,7 @@ making successful document exchange impossible. \file{ts1cmvtt.fd}{ \from{cmfonts.fdd}{fd,TS1cmvtt,new,tt}} } - + \ifToplevel{ \Msg{***********************************************************} @@ -128,6 +128,5 @@ making successful document exchange impossible. \Msg{* Happy TeXing} \Msg{***********************************************************} } - -\endbatchfile +\endbatchfile diff --git a/Master/texmf-dist/source/latex/base/newlfont.dtx b/Master/texmf-dist/source/latex/base/newlfont.dtx index 5bba5441ddc..91a19196a78 100644 --- a/Master/texmf-dist/source/latex/base/newlfont.dtx +++ b/Master/texmf-dist/source/latex/base/newlfont.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/nfssfont.dtx b/Master/texmf-dist/source/latex/base/nfssfont.dtx index fc92f83451b..ce47cb85543 100644 --- a/Master/texmf-dist/source/latex/base/nfssfont.dtx +++ b/Master/texmf-dist/source/latex/base/nfssfont.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/nfssfont.ins b/Master/texmf-dist/source/latex/base/nfssfont.ins index c1ac6634714..d6760bcfde8 100644 --- a/Master/texmf-dist/source/latex/base/nfssfont.ins +++ b/Master/texmf-dist/source/latex/base/nfssfont.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/olddc.ins b/Master/texmf-dist/source/latex/base/olddc.ins index b512ab2e3e1..85cb077b59c 100644 --- a/Master/texmf-dist/source/latex/base/olddc.ins +++ b/Master/texmf-dist/source/latex/base/olddc.ins @@ -3,42 +3,42 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% \input docstrip - + \preamble This is a generated file. @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -86,7 +86,7 @@ making successful document exchange impossible. \usedir{tex/latex/base} \Msg{*** Generating font defs for Cork encoded fonts ***} - + \generate{ \file{t1cmfib.fd}{ \from{cmfonts.fdd}{fd,T1cmfib,old}} @@ -103,9 +103,9 @@ making successful document exchange impossible. \file{t1cmvtt.fd}{ \from{cmfonts.fdd}{fd,T1cmvtt,old}} } - - - + + + \ifToplevel{ \Msg{***********************************************************} \Msg{*} @@ -120,5 +120,5 @@ making successful document exchange impossible. \Msg{* Happy TeXing} \Msg{***********************************************************} } - + \endbatchfile diff --git a/Master/texmf-dist/source/latex/base/oldlfont.dtx b/Master/texmf-dist/source/latex/base/oldlfont.dtx index bf393414883..c0c14f2aa26 100644 --- a/Master/texmf-dist/source/latex/base/oldlfont.dtx +++ b/Master/texmf-dist/source/latex/base/oldlfont.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/preload.dtx b/Master/texmf-dist/source/latex/base/preload.dtx index a6d7903299a..fd9e03ac44f 100644 --- a/Master/texmf-dist/source/latex/base/preload.dtx +++ b/Master/texmf-dist/source/latex/base/preload.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/proc.dtx b/Master/texmf-dist/source/latex/base/proc.dtx index a74dfa36e4f..8db8fef7f10 100644 --- a/Master/texmf-dist/source/latex/base/proc.dtx +++ b/Master/texmf-dist/source/latex/base/proc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/proc.ins b/Master/texmf-dist/source/latex/base/proc.ins index 15161a49601..2c419c92b94 100644 --- a/Master/texmf-dist/source/latex/base/proc.ins +++ b/Master/texmf-dist/source/latex/base/proc.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble diff --git a/Master/texmf-dist/source/latex/base/slides.dtx b/Master/texmf-dist/source/latex/base/slides.dtx index 54cfaa20fd8..a0dbdabe5f0 100644 --- a/Master/texmf-dist/source/latex/base/slides.dtx +++ b/Master/texmf-dist/source/latex/base/slides.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -53,7 +53,7 @@ %<*driver> \ProvidesFile{slides.drv} %</driver> - [2016/03/29 v2.4a + [2019/11/04 v2.4b %<+class> Standard LaTeX document class] %<+cmd> SLiTeX definitions] % \end{macrocode} @@ -419,6 +419,12 @@ \def\sldefault{sl} \def\bfdefault{bx} % \end{macrocode} +% As |\fontshape| gets redefined we need to make sure that the default +% for |\upshape| is no longer \texttt{up} but again \texttt{n}. +% \changes{v2.4b}{2019/11/04}{Explicitly set \cs{updefault}} +% \begin{macrocode} +\def\updefault{n} +% \end{macrocode} % % % Since the number of parameters to set are very large it seems @@ -2408,7 +2414,7 @@ COLOR LAYER\\[.75in]% % (re)declare these booleans as they not defined in old format % (or with latexrelease package) % \begin{macrocode} -\newif\if@ovvline \@ovvlinetrue +\newif\if@ovvline \@ovvlinetrue \newif\if@ovhline \@ovhlinetrue % \end{macrocode} % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/base/slides.ins b/Master/texmf-dist/source/latex/base/slides.ins index a25c3f8fe25..0eaa1eb1d7f 100644 --- a/Master/texmf-dist/source/latex/base/slides.ins +++ b/Master/texmf-dist/source/latex/base/slides.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -94,11 +94,11 @@ extension .ins) which are part of the distribution. \preamble -This is a generated file. +This is a generated file. -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -108,7 +108,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -138,9 +138,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -150,7 +150,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/base/slifonts.fdd b/Master/texmf-dist/source/latex/base/slifonts.fdd index abb950d6a1b..d3951cfa574 100644 --- a/Master/texmf-dist/source/latex/base/slifonts.fdd +++ b/Master/texmf-dist/source/latex/base/slifonts.fdd @@ -2,29 +2,29 @@ % % Copyright 1993-2019 % The LaTeX3 Project and any individual authors listed elsewhere -% in this file. -% +% in this file. +% % This file is part of the LaTeX base system. % ------------------------------------------- -% +% % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in % https://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX +% and version 1.3c or later is part of all distributions of LaTeX % version 2008 or later. -% +% % This file has the LPPL maintenance status "maintained". -% +% % The list of all files belonging to the LaTeX base distribution is % given in the file `manifest.txt'. See also `legal.txt' for additional % information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. -% +% % \fi % %\iffalse This is a META comment @@ -51,7 +51,7 @@ \documentclass{ltxdoc} \GetFileInfo{sfonts.drv} \providecommand\dst{\expandafter{\normalfont\scshape docstrip}} -\title{The file \texttt{slifonts.fdd} for use with +\title{The file \texttt{slifonts.fdd} for use with \LaTeXe.\thanks{This file has version number \fileversion, dated \filedate.}} \date{\filedate} @@ -132,7 +132,7 @@ % % The next bit of code contains the documentation driver file for % \TeX{}, i.e., the file that will produce the documentation you are -% currently reading. It will be extracted from this file by the +% currently reading. It will be extracted from this file by the % \dst{} program. % \changes{v2.1b}{1993/12/14}{Corrected \cs{documentclass}.} % \begin{macrocode} @@ -197,7 +197,7 @@ }{} %</lccr> % \end{macrocode} -% +% % \subsection{Computer Modern Sans} % % \begin{macrocode} @@ -205,7 +205,7 @@ %<!ec> \DeclareFontFamily{OT1}{lcmss}{\hyphenchar\font45 } %<ec> \DeclareFontFamily{T1}{lcmss}{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{n}{% %<ec> \DeclareFontShape{T1}{lcmss}{m}{n}{% @@ -214,7 +214,7 @@ %<ec> eclq8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{In}{% %<ec> \DeclareFontShape{T1}{lcmss}{m}{In}{% @@ -223,7 +223,7 @@ %<ec> ieclq8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{sl}{% %<ec> \DeclareFontShape{T1}{lcmss}{m}{sl}{% @@ -232,7 +232,7 @@ %<ec> ecli8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{Isl}{% %<ec> \DeclareFontShape{T1}{lcmss}{m}{Isl}{% @@ -241,19 +241,19 @@ %<ec> iecli8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{it}{% %<ec> \DeclareFontShape{T1}{lcmss}{m}{it}{% <->sub*lcmss/m/sl}{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{Iit}{% %<ec> \DeclareFontShape{T1}{lcmss}{m}{Iit}{% <->sub*lcmss/m/Isl}{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{bx}{n}{% %<ec> \DeclareFontShape{T1}{lcmss}{bx}{n}{% @@ -262,7 +262,7 @@ %<ec> eclb8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmss}{bx}{In}{% %<ec> \DeclareFontShape{T1}{lcmss}{bx}{In}{% @@ -280,7 +280,7 @@ eclo8% }{} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{T1}{lcmss}{bx}{Isl}{% <13.82><16.59><19.907><23.89><28.66><34.4><41.28>% @@ -291,7 +291,7 @@ \DeclareFontShape{T1}{lcmss}{bx}{it}{% <->sub*lcmss/bx/sl}{} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{T1}{lcmss}{bx}{Iit}{% <->sub*lcmss/bx/Isl}{} @@ -314,7 +314,7 @@ %</!ec> %</lcmss> % \end{macrocode} -% +% % \subsection{Computer Modern Typewriter} % % \begin{macrocode} @@ -322,7 +322,7 @@ %<!ec> \DeclareFontFamily{OT1}{lcmtt}{\hyphenchar\font\m@ne} %<ec> \DeclareFontFamily{T1}{lcmtt}{\hyphenchar\font\m@ne} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmtt}{m}{n}{% %<ec> \DeclareFontShape{T1}{lcmtt}{m}{n}{% @@ -331,7 +331,7 @@ %<ec> ecltt8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmtt}{m}{In}{% %<ec> \DeclareFontShape{T1}{lcmtt}{m}{In}{% @@ -340,7 +340,7 @@ %<ec> iecltt8% }{} % \end{macrocode} -% +% % \begin{macrocode} %<!ec> \DeclareFontShape{OT1}{lcmtt}{m}{it}{% %<ec> \DeclareFontShape{T1}{lcmtt}{m}{it}{% @@ -362,47 +362,47 @@ %</!ec> %</lcmtt> % \end{macrocode} -% +% % \subsection{Computer Modern Math} % % \begin{macrocode} %<*lcmm> \DeclareFontFamily{OML}{lcmm}{\skewchar\font'177} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{OML}{lcmm}{m}{it}{% <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmmi8% }{} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{OML}{lcmm}{m}{Iit}{% <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>icmmi8% }{} %</lcmm> % \end{macrocode} -% +% % \subsection{Computer Modern Symbol} % % \begin{macrocode} %<*lcmsy> \DeclareFontFamily{OMS}{lcmsy}{\skewchar\font'60} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{OMS}{lcmsy}{m}{n}{% <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmsy8% }{} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{OMS}{lcmsy}{m}{In}{% <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>icmsy8% }{} %</lcmsy> % \end{macrocode} -% +% % \subsection{Computer Modern large symbols} % % \changes{v2.1g}{1994/03/01}{Removed extra pair of curly braces @@ -414,14 +414,14 @@ <->sfixed*[17.28]cmex10% }{} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{OMX}{lcmex}{m}{In}{% <->sfixed*[17.28]icmex10% }{} %</lcmex> % \end{macrocode} -% +% % \subsection{\LaTeX{} symbols} % % \changes{v2.2d}{1997/10/20}{Removed superfluous pair of braces at @@ -433,14 +433,14 @@ <12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>lasy8% }{} % \end{macrocode} -% +% % \begin{macrocode} \DeclareFontShape{U}{llasy}{m}{In}{% <13.82><16.59><19.907><23.89><28.66><34.4><41.28>ilasy8% }{} %</llasy> % \end{macrocode} -% +% % \section{Setting defaults} % % The following statements go into the file \texttt{sfonts.def} @@ -455,7 +455,7 @@ \DeclareFontSubstitution{OT1}{lcmss}{m}{n} \input ot1lcmss.fd % \end{macrocode} -% +% % Ensure some suitable starting values but don't load any font % yet. In the past this was implicitly done as part of % \cs{DeclareErrorFont} but not any longer. diff --git a/Master/texmf-dist/source/latex/base/syntonly.dtx b/Master/texmf-dist/source/latex/base/syntonly.dtx index 6d4c710d0d2..1f7c5b651d5 100644 --- a/Master/texmf-dist/source/latex/base/syntonly.dtx +++ b/Master/texmf-dist/source/latex/base/syntonly.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % diff --git a/Master/texmf-dist/source/latex/base/syntonly.ins b/Master/texmf-dist/source/latex/base/syntonly.ins index 2adf6c3d789..c4a69c4101a 100644 --- a/Master/texmf-dist/source/latex/base/syntonly.ins +++ b/Master/texmf-dist/source/latex/base/syntonly.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file has the LPPL maintenance status "maintained". @@ -73,8 +73,8 @@ The list of all files belonging to the LaTeX base distribution is given in the file `manifest.txt'. See also `legal.txt' for additional information. -The list of derived (unpacked) files belonging to the distribution -and covered by LPPL is defined by the unpacking scripts (with +The list of derived (unpacked) files belonging to the distribution +and covered by LPPL is defined by the unpacking scripts (with extension .ins) which are part of the distribution. \endpreamble @@ -85,4 +85,3 @@ extension .ins) which are part of the distribution. \from{syntonly.dtx}{package}} \endbatchfile - diff --git a/Master/texmf-dist/source/latex/base/tulm.fdd b/Master/texmf-dist/source/latex/base/tulm.fdd index dfda332ce4f..9308d801ff2 100644 --- a/Master/texmf-dist/source/latex/base/tulm.fdd +++ b/Master/texmf-dist/source/latex/base/tulm.fdd @@ -2,29 +2,29 @@ % % Copyright 2016-2019 % The LaTeX3 Project and any individual authors listed elsewhere -% in this file. -% +% in this file. +% % This file is part of the LaTeX base system. % ------------------------------------------- -% +% % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c % of this license or (at your option) any later version. % The latest version of this license is in % https://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX +% and version 1.3c or later is part of all distributions of LaTeX % version 2008 or later. -% +% % This file has the LPPL maintenance status "maintained". -% +% % The list of all files belonging to the LaTeX base distribution is % given in the file `manifest.txt'. See also `legal.txt' for additional % information. -% -% The list of derived (unpacked) files belonging to the distribution -% and covered by LPPL is defined by the unpacking scripts (with +% +% The list of derived (unpacked) files belonging to the distribution +% and covered by LPPL is defined by the unpacking scripts (with % extension .ins) which are part of the distribution. -% +% % \fi % %\iffalse This is a META comment diff --git a/Master/texmf-dist/source/latex/base/tulm.ins b/Master/texmf-dist/source/latex/base/tulm.ins index d3079568309..9e32e39a63b 100644 --- a/Master/texmf-dist/source/latex/base/tulm.ins +++ b/Master/texmf-dist/source/latex/base/tulm.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 2016-2019 +%% Copyright (C) 2016-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -48,9 +48,9 @@ reports for it can be opened at https://latex-project.org/bugs.html (but please observe conditions on bug reports sent to that address!) -Copyright (C) 2016-2019 +Copyright (C) 2016-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the LaTeX base system. -------------------------------------------------------------- @@ -60,7 +60,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2008 or later. This file may only be distributed together with a copy of the LaTeX @@ -93,7 +93,7 @@ making successful document exchange impossible. \file{tulmvtt.fd}{\from{tulm.fdd}{TUlmvtt}} \file{tulmdh.fd}{\from{tulm.fdd}{TUlmdh}}} - + \ifToplevel{ \Msg{***********************************************************} \Msg{*} @@ -108,6 +108,5 @@ making successful document exchange impossible. \Msg{* Happy TeXing} \Msg{***********************************************************} } - -\endbatchfile +\endbatchfile diff --git a/Master/texmf-dist/source/latex/base/unpack.ins b/Master/texmf-dist/source/latex/base/unpack.ins index 5e6f36ca9dd..b03dd5c6b1b 100644 --- a/Master/texmf-dist/source/latex/base/unpack.ins +++ b/Master/texmf-dist/source/latex/base/unpack.ins @@ -3,36 +3,36 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the LaTeX base system. %% ------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% This file has the LPPL maintenance status "maintained". -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the LaTeX base distribution is %% given in the file `manifest.txt'. See also `legal.txt' for additional %% information. -%% -%% -%% +%% +%% +%% %% %% --------------- start of bootstrap commands ------------------ %% @@ -82,7 +82,7 @@ \batchinput{ltoutenc.ins} -%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% other classes and packages \batchinput{classes.ins} diff --git a/Master/texmf-dist/source/latex/base/utf8ienc.dtx b/Master/texmf-dist/source/latex/base/utf8ienc.dtx index ea377297a58..8d454d1c718 100644 --- a/Master/texmf-dist/source/latex/base/utf8ienc.dtx +++ b/Master/texmf-dist/source/latex/base/utf8ienc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % The LaTeX3 Project and any individual authors listed elsewhere % in this file. % @@ -216,14 +216,14 @@ %<+ts1> \ProvidesFile{ts1enc.dfu} %<+x2> \ProvidesFile{x2enc.dfu} %<+all> \ProvidesFile{utf8enc.dfu} -%<-utf8-2018> [2019/07/11 v1.2j UTF-8 support for inputenc] +%<-utf8-2018> [2019/11/14 v1.2k UTF-8 support for inputenc] % \end{macrocode} % % \begin{macrocode} %<*utf8> % \end{macrocode} % This is a temporary fix for the e-p\TeX{} / e-up\TeX{} engines that do not yet -% have a |\ifincsname| primitive. Once this is available the the extra file will +% have a |\ifincsname| primitive. Once this is available the extra file will % be dropped. % \changes{v1.2h}{2019/07/09}{Temp rollback fix for e-pTeX} % \begin{macrocode} @@ -235,7 +235,7 @@ \fi \endinput % \end{macrocode} -% +% % \begin{macrocode} \makeatletter % \end{macrocode} @@ -451,7 +451,7 @@ \else \PackageError{inputenc}{Invalid UTF-8 byte sequence}% \UTFviii@invalid@help - \fi + \fi % \end{macrocode} % % \begin{macrocode} @@ -769,7 +769,7 @@ % the character os already active. The definition of |\UTFviii@tmp| % looks slightly strange but is designed for the sequence of |\expandafter| % in |\DeclareUnicodeCharacter|. -% +% % \begin{macrocode} \ifnum\count@<"A0\relax \ifnum\catcode\count@=13 @@ -784,7 +784,7 @@ % The code below is derived from \texttt{xmltex} and generates the UTF-8 byte sequence % for the number in |\count@|. % -% The reverse operation (just used in error messages) +% The reverse operation (just used in error messages) % has now been added as \cs{decode@UTFviii}. % \begin{macrocode} \else\ifnum\count@<"800\relax @@ -889,16 +889,16 @@ \gdef\dec@de@UTFviii#1{% \ifx\relax#1% \else - \ifnum`#1>"EF + \ifnum`#1>"EF ((((`#1-"F0)% \else - \ifnum`#1>"DF + \ifnum`#1>"DF (((`#1-"E0)% \else - \ifnum`#1>"BF + \ifnum`#1>"BF ((`#1-"C0)% \else - \ifnum`#1>"7F + \ifnum`#1>"7F )*64+(`#1-"80)% \else +`#1 % @@ -1030,7 +1030,7 @@ % \end{macrocode} % However, we don't know if there are font encodings still to be % loaded (either with \texttt{fontenc} or directly with |\input| by -% some some package). Font encoding files are loaded only if the +% some package). Font encoding files are loaded only if the % corresponding encoding has not been loaded yet, and they always % begin with |\DeclareFontEncoding|. We now redefine the internal % kernel version of the latter to load the Unicode file if available. @@ -1789,14 +1789,15 @@ % (which is normally the case) they are then reconstructed as % ligatures so they come out as desired. Otherwise they will come % out as individual characters which is fine too. -% \changes{v1.2j}{2019/07/11}{Add typical f-ligatures and st (github/154)} +% \changes{v1.2j}{2019/07/11}{Add typical f-ligatures and s-ligatures and st (github/154)} +% \changes{v1.kj}{2019/11/14}{Fixed setting for FB05 = long-s t lig (github/154)} % \begin{macrocode} %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB00}{ff} % ff %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB01}{fi} % fi %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB02}{fl} % fl %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB03}{ffi} % ffi %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB04}{ffl} % ffl -%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB05}{ft} % ſt +%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB05}{st} % ſt -- this is the long s (not f) %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB06}{st} % st % \end{macrocode} % @@ -1805,8 +1806,8 @@ % \begin{macrocode} %<all,ts1,utf8>\DeclareUnicodeCharacter{FEFF}{\ifhmode\nobreak\fi} % \end{macrocode} -% -% +% +% % \endgroup % \subsection{Notes} % @@ -1931,7 +1932,7 @@ % This space is intentionally empty ... %</utf8> % \end{macrocode} -% +% % \subsection{Old \texttt{utf8.def} file as a temp fix for p\TeX{} and friends} % % diff --git a/Master/texmf-dist/source/latex/graphics/color.dtx b/Master/texmf-dist/source/latex/graphics/color.dtx index 8de7d013a37..ad5df89a7ee 100644 --- a/Master/texmf-dist/source/latex/graphics/color.dtx +++ b/Master/texmf-dist/source/latex/graphics/color.dtx @@ -2,7 +2,7 @@ % \iffalse % %% color.dtx Copyright (C) 1994--1999 David Carlisle -%% Copyright (C) 2005-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 2005-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public @@ -19,7 +19,7 @@ %<driver> \ProvidesFile{color.drv} % \fi % \ProvidesFile{color.dtx} - [2016/07/10 v1.1e Standard LaTeX Color (DPC)] + [2019/11/23 v1.2a Standard LaTeX Color (DPC)] % % \iffalse %<*driver> @@ -462,10 +462,10 @@ % correctly. % \changes{v0.3a}{1994/07/20} % {Stop command being \cs{long}, and make robust.} -% \changes{v0.3l}{1995/12/07} -% {Add \cs{leavevmode}} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\textcolor#1#{\@textcolor{#1}} +\protected\def\textcolor#1#{\@textcolor{#1}} \def\@textcolor#1#2#3{\protect\leavevmode{\color#1{#2}#3}} % \end{macrocode} % \end{macro} @@ -481,8 +481,10 @@ % {end the group even if the colour command generates an error} % \changes{v0.3c}{1994/09/19} % {Use \cs{color} to parse arguments} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\pagecolor{% +\protected\def\pagecolor{% \begingroup \let\ignorespaces\endgroup \let\set@color\set@page@color @@ -497,8 +499,10 @@ % % \changes{v1.1a}{2014/04/23} % {add \cs{nopagecolor} graphics/3873} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\nopagecolor{% +\protected\def\nopagecolor{% \@ifundefined{no@page@color}{% \PackageInfo{color}{\string\nopagecolor\space is not supported}% }{% @@ -533,8 +537,10 @@ % {New internal implementation of colour commands} % \changes{v0.3f}{1994/10/04} % {Give info about redefinitions} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\definecolor#1#2#3{% +\protected\def\definecolor#1#2#3{% \@ifundefined{color@#2}% {\c@lor@error{model `#2'}}% {\@ifundefined{\string\color @#1}{}% @@ -589,8 +595,10 @@ % |[named]| all the time, just give the package option |usenames|, which % will redefine |\DefineNamedColor|, so that the colour name is declared % as a user-colour as well as a name in the `named' model. +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\DefineNamedColor#1#2#3#4{% +\protected\def\DefineNamedColor#1#2#3#4{% \@ifundefined{define@color@#1}% {\c@lor@error{model `#1'}}% {\@ifundefined{color@#3}% @@ -684,8 +692,10 @@ % \changes{v0.2d}{1994/05/13} % {Stop changing \cs{reset@font}. Use the new \cs{normalfont} % instead.} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\normalcolor{\let\current@color\default@color\set@color} +\protected\def\normalcolor{\let\current@color\default@color\set@color} % \end{macrocode} % \end{macro} % @@ -751,8 +761,10 @@ % colour specifies the \emph{background} colour of the box. % \changes{v0.3b}{1994/09/14} % {New implementation} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macrocode} -\def\colorbox#1#{\color@box{#1}} +\protected\def\colorbox#1#{\color@box{#1}} % \end{macrocode} % \end{macro} % @@ -771,9 +783,11 @@ % colour model for both colours. % \changes{v0.3b}{1994/09/14} % {New implementation} +% \changes{v1.2a}{2019/11/23} +% {Add \cs{protected} gh/208} % \begin{macro}{\fcolorbox} % \begin{macrocode} -\def\fcolorbox#1#{\color@fbox{#1}} +\protected\def\fcolorbox#1#{\color@fbox{#1}} % \end{macrocode} % % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/graphics/drivers.dtx b/Master/texmf-dist/source/latex/graphics/drivers.dtx index d693ebd27b0..9bf32f78a1f 100644 --- a/Master/texmf-dist/source/latex/graphics/drivers.dtx +++ b/Master/texmf-dist/source/latex/graphics/drivers.dtx @@ -3,7 +3,7 @@ % %% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz %% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle -%% Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public diff --git a/Master/texmf-dist/source/latex/graphics/epsfig.dtx b/Master/texmf-dist/source/latex/graphics/epsfig.dtx index f9197c7b1c9..8e883bd8df7 100644 --- a/Master/texmf-dist/source/latex/graphics/epsfig.dtx +++ b/Master/texmf-dist/source/latex/graphics/epsfig.dtx @@ -2,7 +2,7 @@ % \iffalse % %% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz -%% Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public diff --git a/Master/texmf-dist/source/latex/graphics/graphics.dtx b/Master/texmf-dist/source/latex/graphics/graphics.dtx index ac570c02278..b88ef1e0666 100644 --- a/Master/texmf-dist/source/latex/graphics/graphics.dtx +++ b/Master/texmf-dist/source/latex/graphics/graphics.dtx @@ -2,7 +2,7 @@ % \iffalse % %% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz -%% Copyright (C) 1995-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 1995-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public @@ -25,7 +25,7 @@ %<driver> \ProvidesFile{graphics.drv} % \fi % \ProvidesFile{graphics.dtx} - [2019/11/01 v1.3d Standard LaTeX Graphics (DPC,SPQR)] + [2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -870,9 +870,10 @@ % \changes{v1.1a}{2017/03/17} % {\cs{leavevmode} added before the group in \cs{Gin@iii} so that % settings in \cs{everypar} are cleared} +% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208} % Top level command for the standard interface, just look for a |*|. % \begin{macrocode} -\def\includegraphics{% +\protected\def\includegraphics{% % \end{macrocode} % Clear |\everypar| before starting a group. % \begin{macrocode} @@ -1081,7 +1082,7 @@ % \end{macrocode} % \end{macro} % \end{macro} -% +% % \begin{macro}{\Ginclude@graphics} % The main internal function implementing graphics file inclusion. % |#1| is the file name. @@ -1651,8 +1652,9 @@ % \changes{v0.7a}{1995/04/11}{\cs{leavevmode} added graphics/1521} % \changes{v1.0n}{2001/07/07} % {Made long (CAR) graphics/2908 and 3345} +% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208} % \begin{macrocode} -\long\def\rotatebox#1#2{% +\protected\long\def\rotatebox#1#2{% \leavevmode \Grot@setangle{#1}% \setbox\z@\hbox{{#2}}% @@ -1866,8 +1868,9 @@ % The top level |\scalebox|. If the vertical scale factor is omitted it % defaults to the horizontal scale factor, |#1|. % \changes{v0.3d}{1994/03/06}{Better support for negative arguments.} +% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208} % \begin{macrocode} -\def\scalebox#1{% +\protected\def\scalebox#1{% \@ifnextchar[{\Gscale@box{#1}}{\Gscale@box{#1}[#1]}} % \end{macrocode} % \end{macro} @@ -1905,8 +1908,9 @@ % \begin{macro}{\reflectbox} % Just an abbreviation for the appropriate scale to get reflection. % \changes{v0.3e}{1994/03/09}{Macro added} +% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208} % \begin{macrocode} -\def\reflectbox{\Gscale@box-1[1]} +\protected\def\reflectbox{\Gscale@box-1[1]} % \end{macrocode} % \end{macro} % @@ -1915,10 +1919,11 @@ % \changes{v0.3b}{1994/03/01}{Recode \cmd\resizebox.} % \changes{v0.7b}{1995/04/27} % {Add \cs{leavevmode} for graphics/1512} +% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208} % Look for a |*|, which specifies that a final vertical size refers to % `height + depth' not just `height'. % \begin{macrocode} -\def\resizebox{% +\protected\def\resizebox{% \leavevmode \@ifstar{\Gscale@@box\totalheight}{\Gscale@@box\height}} % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/graphics/graphicx.dtx b/Master/texmf-dist/source/latex/graphics/graphicx.dtx index 4134c4eed1f..3cf15925d3f 100644 --- a/Master/texmf-dist/source/latex/graphics/graphicx.dtx +++ b/Master/texmf-dist/source/latex/graphics/graphicx.dtx @@ -2,7 +2,7 @@ % \iffalse % %% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz -%% Copyright (C) 1995-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 1995-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public @@ -17,7 +17,7 @@ %<driver> \ProvidesFile{graphicx.drv} % \fi % \ProvidesFile{graphicx.dtx} - [2017/06/01 v1.1a Enhanced LaTeX Graphics (DPC,SPQR)] + [2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -167,7 +167,7 @@ % \item[quiet] Turns off writing information about graphics to the |.log|. % \item[page] The page of a multi-page PDF graphic to be used. % \item[interpolate] Enables interpolation of bitmap images by viewers. -% \item[pagebox] Specifies which PDF box should be used for the natural image size, one of +% \item[pagebox] Specifies which PDF box should be used for the natural image size, one of % mediabox, cropbox, bleedbox, trimbox, artbox. The default is driver-specific. % \end{description} % @@ -845,8 +845,9 @@ % Look for an optional argument. % \changes{v0.3b}{1994/03/11}{Remove star form} % \changes{v1.0g}{2014/04/25}{\cs{leavevmode} added graphics/1521} +% \changes{v1.2a}{2019/11/30}{Add \cs{protected} gh/208} % \begin{macrocode} -\def\rotatebox{% +\protected\def\rotatebox{% \leavevmode \@ifnextchar[\Grot@box@kv\Grot@box@std} % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/graphics/keyval.dtx b/Master/texmf-dist/source/latex/graphics/keyval.dtx index 1e1581eee36..dd1f542832c 100644 --- a/Master/texmf-dist/source/latex/graphics/keyval.dtx +++ b/Master/texmf-dist/source/latex/graphics/keyval.dtx @@ -1,7 +1,7 @@ % % \iffalse %% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle -%% Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public diff --git a/Master/texmf-dist/source/latex/graphics/lscape.dtx b/Master/texmf-dist/source/latex/graphics/lscape.dtx index a5a3dc3220f..e14462c9d42 100644 --- a/Master/texmf-dist/source/latex/graphics/lscape.dtx +++ b/Master/texmf-dist/source/latex/graphics/lscape.dtx @@ -2,7 +2,7 @@ % \iffalse % %% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle -%% Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public diff --git a/Master/texmf-dist/source/latex/graphics/rotating.dtx b/Master/texmf-dist/source/latex/graphics/rotating.dtx index 149c19d049d..535f115594b 100644 --- a/Master/texmf-dist/source/latex/graphics/rotating.dtx +++ b/Master/texmf-dist/source/latex/graphics/rotating.dtx @@ -5,7 +5,7 @@ % File: rotating.dtx %% Copyright (C) 1995--1999 Sebastian Rahtz and Leonor Barroca %% Copyright (C) 2001--2003,2007--2009 Robin Fairbairns -%% Copyright (C) 2016-2019 LaTeX3 Project +%% Copyright (C) 2016-2020 LaTeX3 Project % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c @@ -21,7 +21,7 @@ % This work consists of the file rotating.dtx % and the derived file rotating.sty, and testing material % rotex.tex and cat.eps -% +% % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} %<*dtx> @@ -75,7 +75,7 @@ % note that rotation is typically \emph{not} visible in a DVI viewer: % conversion to, and viewing, PostScript or PDF is necessary. % -% \section{Usage} +% \section{Usage} % % \subsection{Package options} % @@ -114,7 +114,7 @@ % area of the document.) % % New rotated environments may be declared using the combined -% facilities of the float and rotfloat packages. +% facilities of the float and rotfloat packages. % % \subsection{Other environments and commands} % The package provides other \LaTeX\ environments: @@ -146,7 +146,7 @@ % \begin{tabular}{@{}llp{3in}@{}} % \cs{rotFPtop} & \cs{rotFPbot} & Effect \\ % \hline -% 0pt plus 1fil & 0pt plus 1fil & figure/table appears in middle +% 0pt plus 1fil & 0pt plus 1fil & figure/table appears in middle % (default value) \\ % 0pt & 0pt plus 1fil & figure/table appears with its top % nearest the edge of the page \\ @@ -175,11 +175,11 @@ % Control figure orientation % \begin{macrocode} \DeclareOption{figuresleft}{% - \@rot@twosidefalse + \@rot@twosidefalse \def\rot@LR{0}% } \DeclareOption{figuresright}{% - \@rot@twosidefalse + \@rot@twosidefalse \def\rot@LR{-1}% } % \end{macrocode} @@ -206,7 +206,7 @@ % A couple of commands for passing rotation direction around % \begin{macrocode} \newif\if@rot@twoside -\if@twoside +\if@twoside \@rot@twosidetrue \else \@rot@twosidefalse @@ -238,7 +238,7 @@ \def\rotdriver#1{\makeatletter\input{#1.def}\makeatother} % \end{macrocode} % \end{macro} -% +% % The \texttt{r@tfl@t} counter is used when generating `labels' for % determining what side of the page the float is on, in twoside mode. % \begin{macrocode} @@ -298,7 +298,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\turnbox} -% A macro version of the `rotate' environment. +% A macro version of the `rotate' environment. % \begin{macrocode} \def\turnbox#1#2{% \Grot@setangle{#1}% @@ -315,13 +315,13 @@ % \section{Sideways figures and tables} % Now for the macros to provide a complete % environment for sideways figures and tables. -% We define two environments |sidewaysfigure| and +% We define two environments |sidewaysfigure| and % |sidewaystable| that % fit in with the normal table and figure floats. These are `fixed' % environments that just do 90 degree rotation, but it would be easy % to parameterize this to do other rotations if needed (the mind % boggles\ldots) -% +% % \begin{macro}{\@rotfloat} % \begin{macro}{\@xrotfloat} % \begin{macro}{\rot@float@box} @@ -347,7 +347,7 @@ \@float{#1}[#2]% % \end{macrocode} % Set the float contents in -% a box of width \cs{textheight} instead of \cs{columnwidth}. +% a box of width \cs{textheight} instead of \cs{columnwidth}. % \begin{macrocode} \begin{lrbox}\rot@float@box \begin{minipage}\textheight @@ -366,7 +366,7 @@ % \begin{macrocode} \def\end@rotfloat{% % \end{macrocode} -% If we are going to know whether pages are odd or even, +% If we are going to know whether pages are odd or even, % we need to use the a variant \cs{pageref} mechanism and our own % specialised labels. % \begin{macrocode} @@ -388,18 +388,18 @@ \if@rot@twoside \else \let\R@@page\rot@LR - \fi - \ifthenelse{\isodd{\R@@page}}{% + \fi + \ifthenelse{\isodd{\R@@page}}{% \if@rot@twoside \rot@mess@toks\expandafter{\the\rot@mess@toks (right hand page)}% \fi - \vfill + \vfill \@@line{% \hskip\rotFPtop \rotatebox{90}{\box\rot@float@box}% \hskip\rotFPbot }% - }{% + }{% \if@rot@twoside \rot@mess@toks\expandafter{\the\rot@mess@toks (left hand page)}% \fi @@ -409,9 +409,9 @@ \hskip\rotFPtop }% \vfill - }% + }% \rot@message{\the\rot@mess@toks} - }% + }% \end@float } % \end{macrocode} @@ -421,7 +421,7 @@ % \begin{macro}{\endsidewaysfigure} % \begin{macro}{\sidewaystable} % \begin{macro}{\endsidewaystable} -% The following definitions set up two environments, +% The following definitions set up two environments, % \texttt{sidewaystable} and \texttt{sidewaysfigure}, which uses this % type of float. Naturally, users may need to change these to suit % their local style. Both contribute to the normal lists of figures @@ -455,7 +455,7 @@ } \def\end@rotdblfloat{% % \end{macrocode} -% If we are going to know whether pages are odd or even, +% If we are going to know whether pages are odd or even, % we need to use the \cs{pageref} mechanism, and labels. But % Labels won't work \emph{unless} the user has put in a % caption. Beware! @@ -485,34 +485,34 @@ \if@rot@twoside \else \let\R@@page\rot@LR - \fi - \ifthenelse{\isodd{\R@@page}}{% + \fi + \ifthenelse{\isodd{\R@@page}}{% \ifrot@messages \if@rot@twoside \rot@mess@toks\expandafter{\the\rot@mess@toks (right hand page)}% \fi \fi - \vfill + \vfill \@@line{% \hskip\rotFPtop \rotatebox{90}{\box\rot@float@box}% \hskip\rotFPbot }% - }{% + }{% \ifrot@messages \if@rot@twoside \rot@mess@toks\expandafter{\the\rot@mess@toks (left hand page)}% \fi - \fi% + \fi% \@@line{% \hskip\rotFPbot \rotatebox{-90}{\box\rot@float@box}% \hskip\rotFPtop }% \vfill - }% + }% \rot@message{\the\rot@mess@toks}% - }% + }% \end@dblfloat } % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/graphics/trig.dtx b/Master/texmf-dist/source/latex/graphics/trig.dtx index 2b152578ad7..67f6c6a9703 100644 --- a/Master/texmf-dist/source/latex/graphics/trig.dtx +++ b/Master/texmf-dist/source/latex/graphics/trig.dtx @@ -1,6 +1,6 @@ % \iffalse %% File: trig.dtx Copyright (C) 1993 1994 1995 1996 1997 1999 David Carlisle -%% Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project %% %% This file is part of the Standard LaTeX `Graphics Bundle'. %% It may be distributed under the terms of the LaTeX Project Public diff --git a/Master/texmf-dist/source/latex/tools/afterpage.dtx b/Master/texmf-dist/source/latex/tools/afterpage.dtx index 3fa341aa531..600d221cb63 100644 --- a/Master/texmf-dist/source/latex/tools/afterpage.dtx +++ b/Master/texmf-dist/source/latex/tools/afterpage.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/afterpage.ins b/Master/texmf-dist/source/latex/tools/afterpage.ins index 9764bdac6d8..96cba1ed0ca 100644 --- a/Master/texmf-dist/source/latex/tools/afterpage.ins +++ b/Master/texmf-dist/source/latex/tools/afterpage.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -45,9 +45,9 @@ The source is maintained by the LaTeX Project team and bug reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -57,7 +57,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/tools/array.dtx b/Master/texmf-dist/source/latex/tools/array.dtx index 5590b0a1369..acfa5609373 100644 --- a/Master/texmf-dist/source/latex/tools/array.dtx +++ b/Master/texmf-dist/source/latex/tools/array.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -284,7 +284,7 @@ % \hline\hline % w\{align\}\{width\} & Sets the cell content in a box of the % specified \texttt{width} aligned according to -% the \texttt{align} parameter which could be +% the \texttt{align} parameter which could be % either \texttt{l}, \texttt{c} or % \texttt{r}. Works essentially like % =\makebox[=width=][=align=]{=cell=}= so @@ -633,10 +633,10 @@ % \texttt{m}. As a result that cell was vertically centered with that % space inside, resulting in a strange offset. Since 2.4f, this space % is now added after centering the cell. -% +% % A similar problem happened when "\extrarowheight" was used. For that % reason m-cells now manually position the cell content which -% allows to ignore this extra space request during the vertical aligment. +% allows to ignore this extra space request during the vertical aligment. % % % \subsection{Bugs and Features} @@ -1323,7 +1323,7 @@ % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}} % \begin{macrocode} % \let\do@row@strut\relax -% \let\ar@align@mcell\relax +% \let\ar@align@mcell\relax % \end{macrocode} % Now we remove possible $*$-forms in the user preamble with the % command =\@xexpast=. As we already know, this command saves @@ -1551,7 +1551,7 @@ \hfil % \end{macrocode} % We also add a space of 1sp just in case the first thing in the -% cell is a command doing an =\unskip=. +% cell is a command doing an =\unskip=. % \changes{v2.4k}{2018/12/30}{Add extra \cs{hskip} to guard against an % \cs{unskip} at the start of a c-column cell (gh/102)} % \begin{macrocode} @@ -1604,7 +1604,7 @@ % mode. Therefore we start with a~=$=. % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}} % \begin{macrocode} - \setbox\ar@mcellbox\vbox + \setbox\ar@mcellbox\vbox % \end{macrocode} % The part of the templates which is the same in all three cases % (\texttt{p}, \texttt{m} and \texttt{b}) @@ -1618,7 +1618,7 @@ % \changes{v2.4e}{2016/10/07}{Fixing SX68732} % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}} % \begin{macrocode} - \@startpbox{\@nextchar}\insert@column \@endpbox + \@startpbox{\@nextchar}\insert@column \@endpbox \ar@align@mcell \do@row@strut \or % \end{macrocode} @@ -2296,7 +2296,7 @@ % environments (via =\multicolumn=) are impossible. % For 25 years or so =\@halignto= was set globally (to save space on the % save stack, but that was a mistake: if there is a tabular in the -% output routine (e.g., in the running header) then that tabular is +% output routine (e.g., in the running header) then that tabular is % able overwrite the =\@halignto= % setting of a tabular in the main text resulting in a very weird error. % \changes{v2.4d}{2016/10/06}{\cs{@halignto} set locally (pr/4488)} @@ -2613,7 +2613,7 @@ % it is the equivalent of the primitive "\show" command for macro % definitions. All we need to do is locally redefine "\NC@do" to take % its argument (say `C') and then "\show" the (slightly modified) -% definition of "\NC@rewrite@C". Actually as the the list always +% definition of "\NC@rewrite@C". Actually as the list always % starts off with "\NC@do *" and we do not want to print the % definition of the $*$-form, define "\NC@do" to throw away the first % item in the list, and then redefine itself to print the rest of the @@ -2729,9 +2729,9 @@ % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}} % \begin{macrocode} \def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue - \let\@sharp\relax + \let\@sharp\relax % \end{macrocode} -% +% % \changes{v2.4j}{2018/11/13}{Do not expand argument of % \cs{@startpbox} while building the tabular preamble (sx/459285)} % The "\@startpbox" (which is called for "p", "m" or "b" columns) @@ -2747,7 +2747,7 @@ \def\@startpbox##1{\unexpanded\expandafter{\expandafter \@startpbox\expandafter{##1}}}\let\@endpbox\relax \let\do@row@strut\relax - \let\ar@align@mcell\relax + \let\ar@align@mcell\relax % \end{macrocode} % Now we remove possible $*$-forms and user-defined column % specifiers in the user preamble by repeatedly executing the list @@ -2953,7 +2953,7 @@ % % The problem in this case is that if the optional argument "[b]" % is used we do want the reference point of the tabular be at the -% baseline of the last row but at the same time do want the the +% baseline of the last row but at the same time do want the % depth of this last line increased by "\extratabsurround" without % changing the placement "\hline". % @@ -3076,7 +3076,7 @@ <{\end{lrbox}% \let\hss\hfil \makebox[#2][#1]{\unhbox\ar@cellbox}}} -% \end{macrocode} +% \end{macrocode} % This is a bit sneaky, as it temporarily disables "\hss", but % given that we know what goes into that box it should be % sufficient. @@ -3089,4 +3089,3 @@ % \Finale % \endinput - diff --git a/Master/texmf-dist/source/latex/tools/bm.dtx b/Master/texmf-dist/source/latex/tools/bm.dtx index 2216dcea077..096f6c4bc2a 100644 --- a/Master/texmf-dist/source/latex/tools/bm.dtx +++ b/Master/texmf-dist/source/latex/tools/bm.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -837,7 +837,7 @@ \let\ifmmode\iftrue % \end{macrocode} % We have to ensure that the math alphabets have definitions that -% correspond the the ``bold'' math version we are going to switch +% correspond the ``bold'' math version we are going to switch % to. As these definitions are globally assigned when a math % version is changed it is likely that right now we have those of % the normal math version active. Argument |#3| holds either diff --git a/Master/texmf-dist/source/latex/tools/bm.ins b/Master/texmf-dist/source/latex/tools/bm.ins index a148cb93efa..e963d1d88e2 100644 --- a/Master/texmf-dist/source/latex/tools/bm.ins +++ b/Master/texmf-dist/source/latex/tools/bm.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -45,9 +45,9 @@ The source is maintained by the LaTeX Project team and bug reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -57,7 +57,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/tools/calc.dtx b/Master/texmf-dist/source/latex/tools/calc.dtx index 0bc90f736ba..62fe27489b2 100644 --- a/Master/texmf-dist/source/latex/tools/calc.dtx +++ b/Master/texmf-dist/source/latex/tools/calc.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/dcolumn.dtx b/Master/texmf-dist/source/latex/tools/dcolumn.dtx index 38a4ab0da2c..1899cce5560 100644 --- a/Master/texmf-dist/source/latex/tools/dcolumn.dtx +++ b/Master/texmf-dist/source/latex/tools/dcolumn.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/delarray.dtx b/Master/texmf-dist/source/latex/tools/delarray.dtx index 8814fc2a586..17cac2052cb 100644 --- a/Master/texmf-dist/source/latex/tools/delarray.dtx +++ b/Master/texmf-dist/source/latex/tools/delarray.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/enumerate.dtx b/Master/texmf-dist/source/latex/tools/enumerate.dtx index 984d36d4157..3ce463e6015 100644 --- a/Master/texmf-dist/source/latex/tools/enumerate.dtx +++ b/Master/texmf-dist/source/latex/tools/enumerate.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/fileerr.dtx b/Master/texmf-dist/source/latex/tools/fileerr.dtx index 3b5895a5f61..16a95e28203 100644 --- a/Master/texmf-dist/source/latex/tools/fileerr.dtx +++ b/Master/texmf-dist/source/latex/tools/fileerr.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/fontsmpl.dtx b/Master/texmf-dist/source/latex/tools/fontsmpl.dtx index 961bdda71fc..a5fb2964a98 100644 --- a/Master/texmf-dist/source/latex/tools/fontsmpl.dtx +++ b/Master/texmf-dist/source/latex/tools/fontsmpl.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/ftnright.dtx b/Master/texmf-dist/source/latex/tools/ftnright.dtx index 5739172f85d..e5fffdfcd92 100644 --- a/Master/texmf-dist/source/latex/tools/ftnright.dtx +++ b/Master/texmf-dist/source/latex/tools/ftnright.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/hhline.dtx b/Master/texmf-dist/source/latex/tools/hhline.dtx index 1da01d757b4..b9234b5aa25 100644 --- a/Master/texmf-dist/source/latex/tools/hhline.dtx +++ b/Master/texmf-dist/source/latex/tools/hhline.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -25,7 +25,7 @@ % %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{hhline} -%<package> [2014/10/28 v2.03 Table rule package (DPC)] +%<package> [2020/01/04 v2.04 Table rule package (DPC)] % %<*driver> \documentclass{ltxdoc} @@ -55,6 +55,8 @@ % {Update for LaTeX2e.} % \changes{v2.03}{1994/05/23} % {New style warning.} +% \changes{v2.04}{2020/01/04} +% {Ignore spaces.} % % % @@ -301,12 +303,16 @@ % \begin{macrocode} \ifx\@tempb b\HH@add{\rlap{\HH@box\z@\doublerulesep}}\else % \end{macrocode} +% "space", Gobble the space and loop again. +% \begin{macrocode} + \ifx\@tempb\@sptoken\let\next\HH@spacelet\else +% \end{macrocode} % Otherwise ignore the token, with a warning. % \begin{macrocode} \PackageWarning{hhline}% {\meaning\@tempb\space ignored in \noexpand\hhline argument% \MessageBreak}% - \fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi % \end{macrocode} % Go around the loop again. % \begin{macrocode} @@ -314,6 +320,13 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\HH@spacelet} +% Helper macro to gobble a space token and continue the loop. +% \begin{macrocode} +\lowercase{\def\HH@spacelet} {\futurelet\@tempb \HH@loop} +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} %</package> % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/tools/indentfirst.dtx b/Master/texmf-dist/source/latex/tools/indentfirst.dtx index 16b99653cd7..7123be04c54 100644 --- a/Master/texmf-dist/source/latex/tools/indentfirst.dtx +++ b/Master/texmf-dist/source/latex/tools/indentfirst.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/layout.dtx b/Master/texmf-dist/source/latex/tools/layout.dtx index 848eb54fb25..8918ffdca48 100644 --- a/Master/texmf-dist/source/latex/tools/layout.dtx +++ b/Master/texmf-dist/source/latex/tools/layout.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/longtable.dtx b/Master/texmf-dist/source/latex/tools/longtable.dtx index 9a3b5c03b87..004d630fcec 100644 --- a/Master/texmf-dist/source/latex/tools/longtable.dtx +++ b/Master/texmf-dist/source/latex/tools/longtable.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -21,7 +21,7 @@ % % \fi % \iffalse -%% File: longtable.dtx Copyright (C) 1990-2019 David Carlisle +%% File: longtable.dtx Copyright (C) 1990-2020 David Carlisle % %<*dtx> \ProvidesFile{longtable.dtx} @@ -31,7 +31,7 @@ %<driver> \ProvidesFile{longtable.drv} % \fi % \ProvidesFile{longtable.dtx} - [2019/02/06 v4.12 Multi-page Table package (DPC)] + [2020/01/07 v4.13 Multi-page Table package (DPC)] % % \iffalse %<*driver> @@ -635,9 +635,9 @@ % "\LTright"& % Glue to the right of the table. \hfill("\fill")\\ % "\LTpre"& -% Glue before the the table. \hfill("\bigskipamount")\\ +% Glue before the table. \hfill("\bigskipamount")\\ % "\LTpost"& -% Glue after the the table. \hfill("\bigskipamount")\\ +% Glue after the table. \hfill("\bigskipamount")\\ % "\LTcapwidth"& % The width of a parbox containing the caption.\hfill(4in)\\ % "LTchunksize"& @@ -1212,6 +1212,8 @@ % \end{macro} % % \begin{macro}{\LT@start} +% % \changes{v4.13}{2020/01/07} +% {fix issue https://github.com/davidcarlisle/dpctex/issues/8} % This macro starts the process of putting the table on the current % page. It is not called until either a "\\" or "\endlongtable" command % ends a chunk, as we do not know until that point which of the four @@ -1219,11 +1221,12 @@ % % It begins by redefining itself, so that the table is only started % once! Until V3.04, was redefined to "\relax", now use "\endgraf" to -% force the page-breaker to wake up. +% force the page-breaker to wake up. The second "\endgraf" is there so +% that "\pagetotal" is updated and so takes "\LTpre" into account. % \begin{macrocode} \def\LT@start{% \let\LT@start\endgraf - \endgraf\penalty\z@\vskip\LTpre + \endgraf\penalty\z@\vskip\LTpre\endgraf % \end{macrocode} % Start a new page if there is not enough room for the table head, foot, % and one extra line. @@ -2031,7 +2034,7 @@ % \end{macrocode} % \end{macro} % -% \subsection{Commands for the the table head and foot} +% \subsection{Commands for the table head and foot} % % \begin{macro}{\LT@end@hd@ft} % The core of "\endhead" and friends. Store the current chunk in the @@ -2127,7 +2130,7 @@ % \end{macrocode} % \changes{v4.12}{2019/02/06}{Color group to match array package} % \begin{macrocode} - \color@endgroup + \color@endgroup \egroup \the\LT@p@ftn \global\LT@p@ftn{}% @@ -2151,4 +2154,3 @@ % % \Finale \endinput - diff --git a/Master/texmf-dist/source/latex/tools/longtable.ins b/Master/texmf-dist/source/latex/tools/longtable.ins index 1fc3c12dfaa..7ada121ea95 100644 --- a/Master/texmf-dist/source/latex/tools/longtable.ins +++ b/Master/texmf-dist/source/latex/tools/longtable.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -45,9 +45,9 @@ The source is maintained by the LaTeX Project team and bug reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -57,7 +57,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/tools/multicol.dtx b/Master/texmf-dist/source/latex/tools/multicol.dtx index d68f471fcd4..39bccef2d78 100644 --- a/Master/texmf-dist/source/latex/tools/multicol.dtx +++ b/Master/texmf-dist/source/latex/tools/multicol.dtx @@ -98,7 +98,7 @@ %<driver> \ProvidesFile{multicol.drv} % \fi % \ProvidesFile{multicol.dtx} - [2019/03/01 v1.8w multicolumn formatting (FMi)] + [2019/12/09 v1.8y multicolumn formatting (FMi)] % % %% @@ -134,7 +134,7 @@ % \DoNotIndex{\hbox,\hfil,\hrule,\ht,\hss} % \DoNotIndex{\ifdim,\ifnum,\ifvoid,\ignorespaces,\insert,\immediate} % \DoNotIndex{\let,\loop} -% \DoNotIndex{\maxdepth,\message,\multiply} +% \DoNotIndex{\@maxdepth,\message,\multiply} % \DoNotIndex{\newbox,\newcount,\newdimen,\newskip,\number,\newpage} % \DoNotIndex{\outputpenalty,\p@,\penalty} % \DoNotIndex{\relax,\repeat,\setbox,\skip,\space,\splitmaxdepth} @@ -470,7 +470,7 @@ % `\textsf{minrows}' (default 1). If set to a higher value then the % balancing will have at least that many rows in the first column (and % also all further columns until it runs outs of material). -% +% % Additionally you can set another counter, the `\textsf{unbalance}' % counter, to some positive \meta{number}. This will make all but the % right-most column \meta{number} of lines longer than they would @@ -978,9 +978,10 @@ % grid. Right now it doesn't do anything other than warning if it % thinks that the grid got lost. % \changes{v1.6a}{2003/03/15}{New option grid} +% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)} % \begin{macrocode} \let\mc@gridwarn\maxdimen -\DeclareOption{grid}{\def\mc@gridwarn{\maxdepth}} +\DeclareOption{grid}{\def\mc@gridwarn{\@maxdepth}} % \end{macrocode} % % \changes{v1.8e}{2014/04/23}{Support \cs{docolaction}} @@ -1033,19 +1034,20 @@ I therefore use two columns instead}% \col@number\tw@ \fi % \end{macrocode} -% We have only enough box registers for ten columns, so we need to +% We have only enough box registers for twenty columns, so we need to % check that the user hasn't asked for more. % \changes{v1.4k}{1992/06/27}{Maximum of 5 columns (temp)} % \changes{v1.5a}{1992/11/04}{Allow 10 columns again} +% \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)} % \begin{macrocode} - \ifnum\col@number>10 + \ifnum\col@number>20 \PackageError{multicol}% {Too many columns}% {Current implementation doesn't - support more than 10 columns.% + support more than 20 columns.% \MessageBreak - I therefore use 10 columns instead}% - \col@number10 \fi + I therefore use 20 columns instead}% + \col@number20 \fi % \end{macrocode} % Within the environment we need a special version of the % kernel |\@footnotetext| command since the original sets the @@ -1337,7 +1339,7 @@ % resetting the |\parshape| in case we are inside some list % environment. The correct indentation for the \mc{} environment in % such a case will be produced by moving the result to the right by -% |\multicol@leftmargin| later on. If we would use the value of of +% |\multicol@leftmargin| later on. If we would use the value of % |\@totalleftmargin| directly then lists inside the \mc{} % environment could cause a shift of the output. % \changes{v1.4l}{1992/08/17}{saved \cs{@totalleftmargin}} @@ -1718,7 +1720,7 @@ % remove any space at the end of the box as we don't want to use % this in balancing. Because of the |\color@endgroup| this can't be % done later in |\balance@columns| as the color command will hide -% it. +% it. % \changes{v1.8c}{2013/11/03}{Add \cs{color@endgroup} to prevent color leak} % \changes{v1.8f}{2014/06/19}{Discard spaces before adding \cs{color@endgroup}} % \begin{macrocode} @@ -1760,7 +1762,7 @@ \else % \end{macrocode} % If there was a |\columnbreak| on the very last line all material -% will have been moved to the |\colbreak@box|. Thus the the galley +% will have been moved to the |\colbreak@box|. Thus the galley % will be empty and no output routine gets called so that the text % is lost. To avoid this problem (though unlikely) we check if the % current galley is empty and the |\colbreak@box| contains text and @@ -1957,10 +1959,10 @@ % \end{macrocode} % To allow checking whether some macro is used within the \mc{} % environment the counter |\col@number| gets a default of |1| -% outside the the environment. +% outside the environment. % \changes{v1.3d}{1991/10/23}{\cs{col@number} set to one} -% \changes{v1.8o}{2016/02/08}{\cs{col@number} already initialized in the -% kernel, so not initializing it in the package +% \changes{v1.8o}{2016/02/08}{\cs{col@number} already initialized in the +% kernel, so not initializing it in the package % in case the document is in two-column (pr/4435)} % \begin{macrocode} %\col@number = 1 @@ -2143,7 +2145,7 @@ % However, in case one of the columns was unusually deep \TeX{} may % have tried some corrective actions in which case backing up by % the saved value will not bring us back to the baseline. A good -% indication for this is a depth of |\maxdepth| though it is not an +% indication for this is a depth of |\@maxdepth| though it is not an % absolute proof. If the option \texttt{grid} is used % |\mc@gridwarn| will expand to this, otherwise to |\maxdimen| in % which case this warning will not show up. @@ -2192,15 +2194,16 @@ % |\vfill| in that case but this is actually wrong for columns that % are more or less full: by adding a glue at the bottom such a % column doesn't have any depth any more but without it the material -% would be allowed a depth of |\maxdepth|. So we allow shrinking by +% would be allowed a depth of |\@maxdepth|. So we allow shrinking by % that amount. This only makes a difference if the box would % otherwise become overfull and shrinking never exceeds the -% specified value, so we should be fine. +% specified value, so we should be fine. % \changes{v1.8h}{2014/09/12}{Macro added (pr/4395)} % \changes{v1.8j}{2015/03/07}{Use only `0.0001fil' for stretching} +% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)} % \begin{macrocode} -\def\vfilmaxdepth{\vskip \z@ \@plus .0001fil - \@minus \maxdepth} +\def\vfilmaxdepth{\vskip \z@ \@plus .0001fil + \@minus \@maxdepth} % \end{macrocode} % \end{macro} % @@ -2246,13 +2249,13 @@ % appropriate values to |\splittopskip| and |\splitmaxdepth|. % \begin{macrocode} \splittopskip\topskip - \splitmaxdepth\maxdepth + \splitmaxdepth\@maxdepth % \end{macrocode} % We also need to restrict |\boxmaxdepth| so that re-boxing is not -% generating boxes with arbitrary depth. +% generating boxes with arbitrary depth. % \changes{v1.8j}{2015/03/07}{Set \cs{boxmaxdepth}} % \begin{macrocode} - \boxmaxdepth\maxdepth + \boxmaxdepth\@maxdepth % \end{macrocode} % Then we calculate the current column height (in |\dimen@|). % Note that the height of |\partial@page| is already @@ -2284,7 +2287,7 @@ % reestablished. However, in theory there is a possibility to sneak % in a whole multicols environment into the running header % definition. If that happens then it will also be affected by this -% change---too bad I think. +% change---too bad I think. % \changes{v1.8a}{2011/12/20}{Support for \cs{enlargethispage}} % \changes{v1.8v}{2018/12/27}{Removed dead code, the case where this % can go wrong is too obscure to worry about it (gh/101)} @@ -2443,7 +2446,7 @@ % % Within the OR |\boxmaxdepth| needs to be unrestricted so we set it back % now as it was changed above. -% \changes{v1.8p}{2016/04/07}{Reset \cs{boxmaxdepth}} +% \changes{v1.8p}{2016/04/07}{Reset \cs{boxmaxdepth}} % \begin{macrocode} \boxmaxdepth\maxdimen \setbox\@cclv\vbox{\unvbox\partial@page @@ -2477,7 +2480,7 @@ % Now we reset |\@colroom| to |\@colht| which is \LaTeX's % saved value of |\textheight|. % We also have to reset the recorded position of the last -% |\marginpar| as well as the recorded size of in-text floats +% |\marginpar| as well as the recorded size of in-text floats % as we are now on a new page. % \changes{v1.8d}{2014/04/23}{Reset \cs{@mparbottom} after page finishes} % \changes{v1.8n}{2015/08/19}{Reset \cs{@textfloatsheight} after page finishes} @@ -2585,7 +2588,7 @@ % e.g., after a display environment (if LaTeX would break here by % its own it would break before the space following the display). % -% Thus we rebox box 255 once (using |\maxdepth| and calling +% Thus we rebox box 255 once (using |\@maxdepth| and calling % |\remove@discardable@items| inside). The depth of 255 will then % give us the depth the box would have had if it would have been a % natural break. We then unbox 255 to get it into the @@ -2594,8 +2597,9 @@ % balancing later on. % \changes{v1.8k}{2015/03/21}{Remove discardable items just before a % forced break} +% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)} % \begin{macrocode} - \boxmaxdepth\maxdepth + \boxmaxdepth\@maxdepth \setbox\@cclv\vbox{% \unvbox\@cclv \remove@discardable@items}% @@ -2613,7 +2617,7 @@ \ifnum\outputpenalty = -\@Mvi \mult@info\@ne{End penalty of multicols seen}% % \end{macrocode} -% If we are at this point then have have to run the balancing code +% If we are at this point then we have to run the balancing code % (which was previously its own output routine). First we pretend % that we had a normal forced breakpoint and then call % |\balance@column@out|. The latter may be let to |\multi@column@out| @@ -2879,12 +2883,13 @@ % |\splittopskip| and allow for a bit of undershoot and overshoot % by adding some stretch and shrink. % \changes{v1.5?}{1994/?/?}{Allow columns to come out a bit long or short} +% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)} % \begin{macrocode} \@tempdima\topskip \splittopskip\@tempdima \@plus\multicolundershoot \@minus\multicolovershoot - \splitmaxdepth\maxdepth + \splitmaxdepth\@maxdepth % \end{macrocode} % We also have to set |\boxmaxdepth| which normally allows to % build boxes with arbitrary depth, but as we are building text @@ -2893,8 +2898,9 @@ % restriction posed by |\splitmaxdepth| gets lost. % \changes{v1.8h}{2014/09/12}{All column boxes should obey % \cs{maxdepth} (pr/4395)} +% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)} % \begin{macrocode} - \boxmaxdepth\maxdepth + \boxmaxdepth\@maxdepth % \end{macrocode} % The next step is a bit tricky: when \TeX{} assembles material in % a box, the first line isn't preceded by interline glue, i.e. @@ -3000,7 +3006,7 @@ \vbadness\@M % \end{macrocode} % We also allow for overfull boxes while we trying to split the -% columns. They can easily happen if we have objects with unusual depth. +% columns. They can easily happen if we have objects with unusual depth. % \changes{v1.8h}{2014/09/12}{Do not report overfull} % \begin{macrocode} \vfuzz \maxdimen @@ -3252,7 +3258,7 @@ % If we have unprocessed forced breaks we normally reiterate with a % larger column size to fit them in eventually. However, if there % are simply too many of them (e.g., 3 forced breaks but only 2 -% columns to balance) then this will never succeed and and we would +% columns to balance) then this will never succeed and we would % continue growing the columns until we hit the largest possible % column size. So in addition we check how big the column size is % compared to available room and if we exceed this by @@ -3309,7 +3315,7 @@ %</badness> \advance\dimen@\p@ \repeat -% \end{macrocode} +% \end{macrocode} % If we come out of the loop with the switch |forcedbreak@leftover| % set to true then balancing has failed and we should cut a normal % page. We indicate this below with |\too@badtrue| when any of the @@ -3446,7 +3452,25 @@ % of this setup in the documentation, sigh.) This produced a problem % at the moment we had more than 5 columns because then officially % allocated boxes were overwritten by the algorithm. -% The new release now uses private box registers +% The new release now uses private box registers. +% +% There was in fact a bug in the new implementation because at one +% point \LaTeX{} started to use the extended registers and so +% jumped from below 255 to above omitting the boxes allocated for +% inserts and the output page box. +% +% So nowadays we really have to check if we get the full sequence +% of boxes allocated without holes (i.e., $2\times\textit{max +% cols}+1$) and if not alter the allocation registers to start +% allocating after 255. This is all done quite low-level by looking +% directly at the values of the allocation counters. +% \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)} +% \begin{macrocode} +\ifnum\numexpr \count20-\count14-1<41 % = 2 * 20 + 1 + \count14=\@cclv +\fi +% \end{macrocode} +% % \begin{macrocode} \newbox\mult@rightbox \newbox\mult@grightbox @@ -3460,6 +3484,16 @@ \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa +\newbox\@tempa\newbox\@tempa \newbox\@tempa \let\@tempa\relax % \end{macrocode} @@ -3751,7 +3785,7 @@ % % Special care is needed with handling |\vspace*| as that % corresponds to |\penalty10000|, |\vskip <skip>|, followed by -% |\vskip 0pt|. If we see this sequence going backwards in the the +% |\vskip 0pt|. If we see this sequence going backwards in the % vertical list we assume that this is a ``desired'' space. We % therefore stop the recursion and reinsert the spaces. % @@ -3798,7 +3832,7 @@ % recurse. % \begin{macrocode} \vskip\@tempb\vskip\@tempa\relax - \else + \else \remove@discardable@items \fi \fi @@ -3818,7 +3852,7 @@ \def\too@badtrue{\global\let\iftoo@bad\iftrue} \def\too@badfalse{\global\let\iftoo@bad\iffalse} % \end{macrocode} -% +% % \changes{v1.8k}{2015/03/21}{The new switch} % \begin{macrocode} \newif\ifforcedbreak@leftover @@ -3962,7 +3996,7 @@ % When ending the environment we simply end the inner % \texttt{multicols} environment, except that we better also stick % in some stretchable vertical glue so that the last column still -% containing text is not vertically stretched out. +% containing text is not vertically stretched out. % % We do this as follows: first we ensure that we are back in vertical mode % and then we cancel out |\lastskip| if it was @@ -3992,7 +4026,7 @@ \par \ifdim\lastskip>\z@ \vskip-\lastskip \fi \ifdim \prevdepth>\z@ - \vskip-\ifdim\prevdepth>\boxmaxdepth + \vskip-\ifdim\prevdepth>\boxmaxdepth \boxmaxdepth \else \prevdepth \fi \fi @@ -4309,9 +4343,9 @@ % \begin{macrocode} \newcommand\@docolaction[4][1]{% % \end{macrocode} -% -% How does the column number get associated with our label? We -% do do this by writing another line into the aux file. Here are the +% +% How does the column number get associated with our label? We +% do this by writing another line into the aux file. Here are the % preparations. % \begin{macrocode} \edef\@docolactioncheck{\write\@auxout @@ -4360,7 +4394,7 @@ % \begin{macrocode} \newif\if@docolactionstar % \end{macrocode} -% +% % Because of extra data writing to the aux file the aux file will % now contain something like the following after the document is % processed the first time: @@ -4446,5 +4480,3 @@ % \Finale % \endinput - - diff --git a/Master/texmf-dist/source/latex/tools/multicol.ins b/Master/texmf-dist/source/latex/tools/multicol.ins index 9fd6cbe6e9f..f872b83cdee 100644 --- a/Master/texmf-dist/source/latex/tools/multicol.ins +++ b/Master/texmf-dist/source/latex/tools/multicol.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -45,9 +45,9 @@ The source is maintained by the LaTeX Project team and bug reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -57,7 +57,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/tools/rawfonts.dtx b/Master/texmf-dist/source/latex/tools/rawfonts.dtx index 0fd7dd5006e..9c5daa57a50 100644 --- a/Master/texmf-dist/source/latex/tools/rawfonts.dtx +++ b/Master/texmf-dist/source/latex/tools/rawfonts.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/shellesc.dtx b/Master/texmf-dist/source/latex/tools/shellesc.dtx index 9706c5aa032..3b96c3e9ee3 100644 --- a/Master/texmf-dist/source/latex/tools/shellesc.dtx +++ b/Master/texmf-dist/source/latex/tools/shellesc.dtx @@ -1,6 +1,6 @@ % \iffalse %% Source File: shellesc.dtx -%% Copyright (C) 2015-2019 +%% Copyright (C) 2015-2020 %% %% The LaTeX3 Project and any individual authors listed elsewhere %% in this file. @@ -49,7 +49,7 @@ % \changes{v0.2a}{2016/06/07}{Improve use with plain TeX} % \section{Introduction} % -% +% % For many years web2c based \TeX\ implementations have used the syntax % of the \verb|\write| command to access system commands by using a % special stream 18 (streams above 15 can not be allocated to files in @@ -96,7 +96,7 @@ % non-immediate \verb|\write18| in a document being ported to current % Lua\TeX, you will need to change to use the % \verb|\DelayedShellEscape| command. -% +% % \section{Implementation} % % \begin{macrocode} @@ -153,7 +153,7 @@ % % \begin{macro}{\ShellEscape} % \changes{v1.0a}{2019/10/13}{Lua logging for gh/195} -% Execute the supplied tokens as a system dependent command, assuming +% Execute the supplied tokens as a system dependent command, assuming % such execution is allowed. % \begin{macrocode} \ifx\lastsavedimageresourcepages\@undefined @@ -171,7 +171,7 @@ % \changes{v0.1c}{2016/04/29}{Define \cs{DelayedShellEscape} not \cs{ShellEscape}(UF)} % \changes{v1.0a}{2019/10/13}{Lua logging for gh/195} % Execute the supplied tokens as a system dependent command, when this -% node is shipped out with the completed page, assuming +% node is shipped out with the completed page, assuming % such execution is allowed. % \begin{macrocode} \ifx\lastsavedimageresourcepages\@undefined diff --git a/Master/texmf-dist/source/latex/tools/showkeys.dtx b/Master/texmf-dist/source/latex/tools/showkeys.dtx index 6e2516856d5..59eb699ae81 100644 --- a/Master/texmf-dist/source/latex/tools/showkeys.dtx +++ b/Master/texmf-dist/source/latex/tools/showkeys.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/somedefs.dtx b/Master/texmf-dist/source/latex/tools/somedefs.dtx index f73a45b7871..120ad980781 100644 --- a/Master/texmf-dist/source/latex/tools/somedefs.dtx +++ b/Master/texmf-dist/source/latex/tools/somedefs.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/tabularx.dtx b/Master/texmf-dist/source/latex/tools/tabularx.dtx index ff8f3cec9a5..577730e665b 100644 --- a/Master/texmf-dist/source/latex/tools/tabularx.dtx +++ b/Master/texmf-dist/source/latex/tools/tabularx.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -31,7 +31,7 @@ %<driver> \ProvidesFile{tabularx.drv} % \fi % \ProvidesFile{tabularx.dtx} - [2016/02/03 v2.11b `tabularx' package (DPC)] + [2020/01/15 v2.11c `tabularx' package (DPC)] % \iffalse %<*driver> \documentclass{ltxdoc} @@ -231,7 +231,7 @@ % Normally all {\ttfamily X} columns in a single table are set to the % same width, however it is possible to make {\ttfamily tabularx} set % them to different widths. -% A preamble argument of +% A preamble argument of % "{>{\hsize=.5\hsize\linewidth=\hsize}X"\\ % " >{\hsize=1.5\hsize\linewidth=\hsize}X}"\\ % specifies two columns, the second will be three times as wide as the @@ -341,8 +341,9 @@ % \end{macrocode} % \changes{v2.02}{1995/03/20} % {New local setting of \cs{TX@}} -% \changes{v4.09}{1998/05/13} +% \changes{v2.09}{1998/05/13} % {Use \cs{setlength}, so that calc extensions apply. tools/2793} +% \changes{v2.11c}{2020/01/15}{Delete duplicated . at end of message} % Allow "\tabularx" "\endtabularx" (but not "\begin{tabularx}" % "\end{tabularx}") to be used in "\newenvironment" definitions. % \begin{macrocode} @@ -351,11 +352,11 @@ % \end{macrocode} % "\relax" added at v1.05 so that non-expandable length tokens, like % "\textwidth" do not generate an extra space, and an overfull box. -% "\relax" removed again at v4.09 in favour of "\setlength" so if you +% "\relax" removed again at v2.09 in favour of "\setlength" so if you % use the calc package you can use a width of "(\textwidth-12pt)/2". % \begin{macrocode} \setlength\TX@target{#1}% - \TX@typeout{Target width: #1 = \the\TX@target.}% + \TX@typeout{Target width: #1 = \the\TX@target}% \toks@{}\TX@get@body} % \end{macrocode} % \end{macro} @@ -883,7 +884,7 @@ % % Originally I followed Knuth, and had "\def\@tempa{##1}", however this % did not allow "#" to appear in the argument. So in v1.04, I changed -% this to to use a token register, and "\edef". This allows "#" appear, +% this to use a token register, and "\edef". This allows "#" appear, % but makes each one appear twice!, so later we loop through, replacing % "##" by "#". % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/tools/tabularx.ins b/Master/texmf-dist/source/latex/tools/tabularx.ins index 06308d77359..05effd3342e 100644 --- a/Master/texmf-dist/source/latex/tools/tabularx.ins +++ b/Master/texmf-dist/source/latex/tools/tabularx.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -45,9 +45,9 @@ The source is maintained by the LaTeX Project team and bug reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -57,7 +57,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/tools/theorem.dtx b/Master/texmf-dist/source/latex/tools/theorem.dtx index 6f745d016ef..0df7dbb7649 100644 --- a/Master/texmf-dist/source/latex/tools/theorem.dtx +++ b/Master/texmf-dist/source/latex/tools/theorem.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. diff --git a/Master/texmf-dist/source/latex/tools/tools.ins b/Master/texmf-dist/source/latex/tools/tools.ins index 12625e81662..5e978712215 100644 --- a/Master/texmf-dist/source/latex/tools/tools.ins +++ b/Master/texmf-dist/source/latex/tools/tools.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -49,9 +49,9 @@ reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -61,7 +61,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX @@ -166,7 +166,7 @@ given in the file `manifest.txt'. \SimplePackage{layout} -% Infix Arithmetic +% Infix Arithmetic %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \SimplePackage{calc} diff --git a/Master/texmf-dist/source/latex/tools/trace.dtx b/Master/texmf-dist/source/latex/tools/trace.dtx index e808fdd4317..4a08f569bb5 100644 --- a/Master/texmf-dist/source/latex/tools/trace.dtx +++ b/Master/texmf-dist/source/latex/tools/trace.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -493,7 +493,7 @@ % turns on tracing of assignments and tracing of % grouping.\footnote{These are my personal preference settings; % \eTeX{} does in fact offer some more tracing switches and perhaps -% one or or more of them should be added here as well.} +% one or more of them should be added here as well.} % To keep tracing at a minimum |\tracingassigns| should be turned % on last (in fact like before we disassemble |\tracingall| % and reorder it partially). @@ -508,7 +508,7 @@ % \end{macrocode} % We only change |\tracingoutput| if it hasn't already been enabled by % |\showoutput|. If that's not the case, we set it to 2 so that we -% can distingush the two cases. +% can distingush the two cases. % \changes{v1.1e}{2018/10/13}{Only reset \cs{tracingoutput} if not % set by \cs{showoutput} earlier} % \begin{macrocode} @@ -519,7 +519,7 @@ \showboxdepth\maxdimen \fi % \end{macrocode} -% +% % \begin{macrocode} \errorstopmode \tracingmacros\tw@ @@ -563,7 +563,7 @@ \showboxdepth\m@ne \fi % \end{macrocode} -% +% % \begin{macrocode} \tracingstats\@ne \tracingparagraphs\z@ diff --git a/Master/texmf-dist/source/latex/tools/varioref.dtx b/Master/texmf-dist/source/latex/tools/varioref.dtx index b8392c76f27..077103eb97a 100644 --- a/Master/texmf-dist/source/latex/tools/varioref.dtx +++ b/Master/texmf-dist/source/latex/tools/varioref.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -22,7 +22,7 @@ % \fi % \iffalse %% Package varioref to use with LaTeX2e -%% Copyright (C) 1992-2019 Frank Mittelbach, all rights reserved. +%% Copyright (C) 1992-2020 Frank Mittelbach, all rights reserved. %% %% For additions or updates to the language options please contact %% the author at @@ -40,7 +40,7 @@ %<package>\DeclareCurrentRelease{}{2019-10-01} %<package> %<package>\ProvidesPackage{varioref} -%<package> [2019/11/05 v1.6c package for extended references (FMi)] +%<package> [2020/01/23 v1.6c package for extended references (FMi)] % \fi % %% @@ -207,7 +207,7 @@ % to achieve the desired effect. % % -% \DescribeMacro\vrefrange +% \DescribeMacro\vrefrange % This command is similar to |\vref| but it % takes two mandatory arguments denoting a range to refer to (e.g., a % sequences of figures or a sequence of equations, etc.). So if @@ -497,7 +497,7 @@ % As mentioned above the package supports all standard options offered % by the Babel system to customize the strings produced, it may also % have a few not supported by babel, for a full list look -% in section\vref{sec:impoptions}. In addition it offers the option +% in section~\vref{sec:impoptions}. In addition it offers the option % \texttt{draft} to turn error messages into warnings during % development. The default \texttt{final} produces error message when % a generated string falls onto a page boundary (see next section). @@ -531,7 +531,7 @@ % \begin{quote} % table 5 on the current \meta{page break} page % \end{quote} -% would would result in an error, which needs to be resolved by the +% would result in an error, which needs to be resolved by the % user by replacing the |\vref| command with an ordinary |\ref| just % before the final run. This is not % completely satisfactory but in such case no solution really is. @@ -731,7 +731,7 @@ % easily, so you will see missing glyphs below. To see the real % letters you have to look at the source or package file. % \changes{v1.6b}{2019/09/08}{Option arabic added} -% \begin{allowtofu} +% \begin{allowtofu} % \begin{macrocode} \DeclareOption{arabic} {\vref@addto\extrasarabic{% @@ -745,7 +745,7 @@ \def\reftextlabelrange#1#2{\ref{#1} حتى~\ref{#2}}% }} % \end{macrocode} -% \end{allowtofu} +% \end{allowtofu} % \changes{v1.2a}{1998/11/27}{Added austrian defaults (identical to german)} % The austrian defaults are the same as the german ones. % \begin{macrocode} @@ -1803,7 +1803,7 @@ % user explicitly requested an empty text string using the optional % argument we cancel any preceding space since in this case we are % otherwise likely to end up with spaces one before and one after -% |\vpageref|. +% |\vpageref|. % \changes{v1.2f}{2000/07/07}{Don't output space if optional argument % empty (pr/3230)} % \begin{macrocode} @@ -1819,7 +1819,7 @@ % a space. % \begin{macrocode} \def\@tempc{#2}% - \ifx\@tempc\@empty \else + \ifx\@tempc\@empty \else #2\vref@space \fi % \end{macrocode} @@ -1972,7 +1972,7 @@ % The \pkg{hyperref} package can then change the meaning of this % command to suppress a hyperlink. % -% It is is also a good way to check if we are running with a new +% It is also a good way to check if we are running with a new % \pkg{varioref} by testing %\begin{verbatim} % \ifdefined\vp@gerefstar @@ -2079,7 +2079,7 @@ % \end{macrocode} % If option \texttt{space} is used then we remove a preceding space % and add our own unbreakable space instead. Otherwise we don't do -% any space-handling. +% any space-handling. % \begin{macrocode} \if@vrefhandlespace \unskip \nobreakspace @@ -2100,7 +2100,7 @@ % After having handled (or not handled) the spacing we call % |\vref@star| to scan the optional arguments and do the rest. % If that command has been altered by \pkg{hyperref} then the -% current one needs altering too and does the argument scanning explicitly. +% current one needs altering too and does the argument scanning explicitly. % \begin{macrocode} \vref@star % in hyperref this needs to be explicit } @@ -2305,7 +2305,7 @@ {\Vr@f}} % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\Vref@star} % \changes{v1.6a}{2019/08/25}{Command added to support hyperref better} % \begin{macrocode} @@ -2314,7 +2314,7 @@ \vpageref[#1]{#2}} % \end{macrocode} % \end{macro} -% +% % \begin{macro}{\Vr@f} % \changes{v1.4a}{2002/02/24}{Macro added} % \changes{v1.4x}{2010/08/04}{Correct spacing -- same mistake as in \cs{vref} @@ -2332,7 +2332,7 @@ % \begin{macro}{\vpagerefcompare} -% +% % \changes{v1.6a}{2019/08/25}{Macro added} % \begin{macrocode} \DeclareRobustCommand\vpagerefcompare[2]{% label1, label2, TRUE, FALSE @@ -2343,7 +2343,7 @@ \else \expandafter\@secondoftwo \fi -} +} % \end{macrocode} % \end{macro} % @@ -2385,7 +2385,7 @@ % True if the two pages have arabic page numbers are at most off by % one so that |\vpageref| would produce a special string. % -% This is n some sense a general version of |\vpagerefnearby| for +% This is in some sense a general version of |\vpagerefnearby| for % use in more complex situations. I.e., if you try to determine if % a larger set of references would be close to the current page and % you use each time |\vpagerefnearby| then you generate a lot of @@ -2449,4 +2449,3 @@ % \Finale % \endinput - diff --git a/Master/texmf-dist/source/latex/tools/varioref.ins b/Master/texmf-dist/source/latex/tools/varioref.ins index e436202e4d0..951eedad891 100644 --- a/Master/texmf-dist/source/latex/tools/varioref.ins +++ b/Master/texmf-dist/source/latex/tools/varioref.ins @@ -3,31 +3,31 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright (C) 1993-2019 +%% Copyright (C) 1993-2020 %% The LaTeX3 Project and any individual authors listed elsewhere -%% in this file. -%% +%% in this file. +%% %% This file is part of the Standard LaTeX `Tools Bundle'. %% ------------------------------------------------------- -%% +%% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% The latest version of this license is in %% https://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX +%% and version 1.3c or later is part of all distributions of LaTeX %% version 2008 or later. -%% +%% %% As this file contains legal notices, it is NOT PERMITTED to modify %% this file in any way that the legal information placed into %% generated files is changed (i.e., the files generated when the %% original file is executed). This restriction does not apply if %% (parts of) the content is reused in a different WORK producing its %% own generated files. -%% +%% %% The list of all files belonging to the `Tools Bundle' is %% given in the file `manifest.txt'. -%% +%% %% %% --------------- start of docstrip commands ------------------ %% @@ -45,9 +45,9 @@ The source is maintained by the LaTeX Project team and bug reports for it can be opened at https://latex-project.org/bugs/ (but please observe conditions on bug reports sent to that address!) -Copyright (C) 1993-2019 +Copyright (C) 1993-2020 The LaTeX3 Project and any individual authors listed elsewhere -in this file. +in this file. This file was generated from file(s) of the Standard LaTeX `Tools Bundle'. -------------------------------------------------------------------------- @@ -57,7 +57,7 @@ conditions of the LaTeX Project Public License, either version 1.3c of this license or (at your option) any later version. The latest version of this license is in https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX +and version 1.3c or later is part of all distributions of LaTeX version 2005/12/01 or later. This file may only be distributed together with a copy of the LaTeX diff --git a/Master/texmf-dist/source/latex/tools/verbatim.dtx b/Master/texmf-dist/source/latex/tools/verbatim.dtx index b89bab7759e..121e2d4b39c 100644 --- a/Master/texmf-dist/source/latex/tools/verbatim.dtx +++ b/Master/texmf-dist/source/latex/tools/verbatim.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -14,7 +14,7 @@ % The latest version of this license is in % https://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later. +% version 2008 or later. % % The list of all files belonging to the LaTeX `Tools Bundle' is % given in the file `manifest.txt'. @@ -828,7 +828,7 @@ % \begin{macrocode} \@namedef{verbatim*}{\begingroup\@verbatim % \end{macrocode} -% +% % \changes{v1.5r}{2019/11/10}{Support kernel \cs{verbvisiblespace} (gh/212)} % \begin{macrocode} \@setupverbvisiblespace\@vobeyspaces @@ -1488,7 +1488,7 @@ \else % \end{macrocode} % At this point we pass the name of the file to |\@addtofilelist| -% so that its appears appears in the output of a |\listfiles| +% so that its appears in the output of a |\listfiles| % command. % \changes{v1.5j}{1996/09/25}{Add \cs{@addtofilelist} and % \cs{ProvidesFile} so that the name of the file diff --git a/Master/texmf-dist/source/latex/tools/xr.dtx b/Master/texmf-dist/source/latex/tools/xr.dtx index 97c4c68084e..a6b2ffd8193 100644 --- a/Master/texmf-dist/source/latex/tools/xr.dtx +++ b/Master/texmf-dist/source/latex/tools/xr.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. @@ -86,7 +86,7 @@ % % As first suggested in Enrico Gregorio's |xcite| package, the current version % also allows |\cite| to reference |\bibitem| in the external document. -% For compatibility with |xcite|, |\externalcitedocument| is made available +% For compatibility with |xcite|, |\externalcitedocument| is made available % as an alias for |\externaldocument| % % \StopEventually{} @@ -183,4 +183,3 @@ % % \Finale % - diff --git a/Master/texmf-dist/source/latex/tools/xspace.dtx b/Master/texmf-dist/source/latex/tools/xspace.dtx index 0745caf5071..ebe8d0f9478 100644 --- a/Master/texmf-dist/source/latex/tools/xspace.dtx +++ b/Master/texmf-dist/source/latex/tools/xspace.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 1993-2019 +% Copyright (C) 1993-2020 % % The LaTeX3 Project and any individual authors listed elsewhere % in this file. |