diff options
Diffstat (limited to 'macros/latex/required')
69 files changed, 1149 insertions, 310 deletions
diff --git a/macros/latex/required/amsmath/README.md b/macros/latex/required/amsmath/README.md index 86a7b2f9df..91311f7ad9 100644 --- a/macros/latex/required/amsmath/README.md +++ b/macros/latex/required/amsmath/README.md @@ -1,7 +1,7 @@ The amsmath bundle for LaTeX ============================ -Release 2020-02-02 +Release 2020-10-01 Overview -------- diff --git a/macros/latex/required/amsmath/amsbsy.pdf b/macros/latex/required/amsmath/amsbsy.pdf Binary files differindex ea99b7c38b..bea7406f3e 100644 --- a/macros/latex/required/amsmath/amsbsy.pdf +++ b/macros/latex/required/amsmath/amsbsy.pdf diff --git a/macros/latex/required/amsmath/amscd.pdf b/macros/latex/required/amsmath/amscd.pdf Binary files differindex d0ded9a061..15ec33cb58 100644 --- a/macros/latex/required/amsmath/amscd.pdf +++ b/macros/latex/required/amsmath/amscd.pdf diff --git a/macros/latex/required/amsmath/amsgen.pdf b/macros/latex/required/amsmath/amsgen.pdf Binary files differindex c1282031c5..f50fc766d8 100644 --- a/macros/latex/required/amsmath/amsgen.pdf +++ b/macros/latex/required/amsmath/amsgen.pdf diff --git a/macros/latex/required/amsmath/amsldoc.pdf b/macros/latex/required/amsmath/amsldoc.pdf Binary files differindex 104066c062..8ab82551e0 100644 --- a/macros/latex/required/amsmath/amsldoc.pdf +++ b/macros/latex/required/amsmath/amsldoc.pdf diff --git a/macros/latex/required/amsmath/amsldoc.tex b/macros/latex/required/amsmath/amsldoc.tex index 1c2bfbdd8b..b29a8b8468 100644 --- a/macros/latex/required/amsmath/amsldoc.tex +++ b/macros/latex/required/amsmath/amsldoc.tex @@ -64,7 +64,7 @@ Bug reports can be opened (category \texttt{#1}) at\\% \title{User's Guide for the \nipkg{amsmath} Package (Version~2.1)} \author{American Mathematical Society, \LaTeX3 Project} -\date{1999-12-13\\(revised 2002-02-25, 2016-11-14, 2018-04-05, 2019-10-14)} +\date{1999-12-13\\(revised 2002-02-25, 2016-11-14, 2018-04-05, 2019-10-14, 2020-02-18)} \makeatletter \def\@thanks{\bigskip\MaintainedByLaTeXTeam{amslatex}} \makeatother @@ -928,7 +928,11 @@ in accurately calculating the profile of an equation can occasionally result in number movement that doesn't look right. A \cn{raisetag} command is provided to adjust the vertical position of the current equation number, if it has been shifted away from its normal -position. To move a particular number up by six points, write +position. If it is in its normal position the command has no effect whatsoever. +In particular, this means that one can't use it to shift the tag of an \env{equation} +environment. + +To move a particular number up by six points, write |\raisetag{6pt}|. (At the end of a display, this also shifts up the text following the display.) This kind of adjustment is fine tuning like line diff --git a/macros/latex/required/amsmath/amsmath.dtx b/macros/latex/required/amsmath/amsmath.dtx index 42f3088867..7f324700f6 100644 --- a/macros/latex/required/amsmath/amsmath.dtx +++ b/macros/latex/required/amsmath/amsmath.dtx @@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\% % \end{macrocode} % % \begin{macrocode} -\ProvidesPackage{amsmath}[2020/01/20 v2.17e AMS math features] +\ProvidesPackage{amsmath}[2020/09/23 v2.17i AMS math features] % \end{macrocode} % % \section{Catcode defenses} @@ -466,24 +466,41 @@ For additional information on amsmath, use the \lq ?\rq\space option.% % \cs{DeclareRobustCommand}. % \changes{v2.17b}{2018/12/01}{Start LR-mode for \cs{thinspace} and % friends if necessary (github/49)} +% +% We start by undefining a number of commands (which in a current +% \LaTeX{} kernel will be defined, so that the +% \cs{DeclareRobustCommand} declarations below do not add a +% ``Command redefined'' info into the log. +% \begin{macrocode} +\let\tmspace\@undefined +\let\,\@undefined +\let\!\@undefined +\let\:\@undefined +\let\negmedspace\@undefined +\let\negthickspace\@undefined +% \end{macrocode} +% +% +% \changes{v2.17g}{2020/03/07}{Math/text spacing commands are now in +% the \LaTeX{} kernel and are made robust (gh/303)} % \begin{macrocode} \ifx\leavevmode@ifvmode\@undefined -\DeclareRobustCommand{\tmspace}[3]{% +\DeclareRobustCommand\tmspace[3]{% \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} \else -\DeclareRobustCommand{\tmspace}[3]{% +\DeclareRobustCommand\tmspace[3]{% \ifmmode\mskip#1#2\else\leavevmode@ifvmode\kern#1#3\fi\relax} \fi -\renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +\DeclareRobustCommand\,{\tmspace+\thinmuskip{.1667em}} \let\thinspace\, -\renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +\DeclareRobustCommand\!{\tmspace-\thinmuskip{.1667em}} \let\negthinspace\! -\renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +\DeclareRobustCommand\:{\tmspace+\medmuskip{.2222em}} \let\medspace\: -\newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} -\renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +\DeclareRobustCommand\negmedspace{\tmspace-\medmuskip{.2222em}} +\renewcommand\;{\tmspace+\thickmuskip{.2777em}} \let\thickspace\; -\newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +\DeclareRobustCommand\negthickspace{\tmspace-\thickmuskip{.2777em}} % \end{macrocode} % \end{macro} % \end{macro} @@ -598,8 +615,14 @@ Foreign command \@backslashchar#1;\MessageBreak % abbreviations for some commonly needed mathstyle overrides. To % conserve csnames we avoid making \cn{dfrac} and \cn{tfrac} robust % (\cn{genfrac} is itself robust). +% \changes{v2.17i}{2020/09/23}{added \cs{Ustack} for luatex (moved patch from lualatex-math)} % \begin{macrocode} +% +\ifx\directlua\@undefined \DeclareRobustCommand{\frac}[2]{{\begingroup#1\endgroup\@@over#2}} +\else +\DeclareRobustCommand{\frac}[2]{{\Ustack{\begingroup#1\endgroup\@@over#2}}} +\fi \newcommand{\dfrac}{\genfrac{}{}{}0} \newcommand{\tfrac}{\genfrac{}{}{}1} % \end{macrocode} @@ -732,12 +755,12 @@ Foreign command \@backslashchar#1;\MessageBreak \fi } % \end{macrocode} -% +% \changes{v2.17i}{2020/09/23}{added \cs{Ustack} (moved patch from lualatex-math)} % \begin{macrocode} \DeclareRobustCommand{\genfrac}[6]{{% \@mathstyle{#4}% \genfrac@choice o{#1}% -{\begingroup#5\endgroup\ifx @#3@\@@over\else\@@above\fi#3\relax#6}% +{\Ustack {\begingroup#5\endgroup\ifx @#3@\@@over\else\@@above\fi#3\relax#6}}% \genfrac@choice c{#2}% }} % \end{macrocode} @@ -1633,13 +1656,15 @@ Foreign command \@backslashchar#1;\MessageBreak % \begin{macro}{\dddot} % \begin{macro}{\ddddot} % Triple and quadruple dot accents. +% \changes{v2.17f}{2020/02/20}{Add a kern so that a single char is not +% vertically shifted and move the dots slightly to the right (gh/126)} % \begin{macrocode} \ams@newcommand{\dddot}[1]{% - {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ - \hbox{\normalfont ...}\vss}}}} + {\mathop{\kern\z@#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\,\normalfont...}\vss}}}} \ams@newcommand{\ddddot}[1]{% - {\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ - \hbox{\normalfont....}\vss}}}} + {\mathop{\kern\z@#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@ + \hbox{\,\normalfont....}\vss}}}} % \end{macrocode} % \end{macro} % \end{macro} @@ -2184,17 +2209,33 @@ Foreign command \@backslashchar#1;\MessageBreak % The minus sign used in constructing these arrow fills is smashed so % that superscripts above the arrows won't be too high. This % primarily affects the \cn{xleftarrow} and \cn{xrightarrow} arrows. -% +% \changes{v2.17h}{2020/08/24}{detect unicode engines and use their commands} % \begin{macrocode} -\mathchardef\std@minus\mathcode`\-\relax -\mathchardef\std@equal\mathcode`\=\relax +\@ifundefined{Umathcode} + {% + \mathchardef\std@minus\mathcode`\-\relax + \mathchardef\std@equal\mathcode`\=\relax + } + {% + \Umathcharnumdef\std@minus\Umathcodenum`\-\relax + \Umathcharnumdef\std@equal\Umathcodenum`\=\relax + } % \end{macrocode} % In case some alternative math fonts are loaded later: % \begin{macrocode} -\AtBeginDocument{% - \mathchardef\std@minus\mathcode`\-\relax - \mathchardef\std@equal\mathcode`\=\relax -} +\@ifundefined{Umathcode} + {% + \AtBeginDocument{% + \mathchardef\std@minus\mathcode`\-\relax + \mathchardef\std@equal\mathcode`\=\relax + }% + } + {% + \AtBeginDocument{% + \Umathcharnumdef\std@minus\Umathcodenum`\-\relax + \Umathcharnumdef\std@equal\Umathcodenum`\=\relax + }% + } % \end{macrocode} % % \begin{macro}{\relbar} @@ -2301,7 +2342,9 @@ Foreign command \@backslashchar#1;\MessageBreak % for use in a subscript or superscript. At the moment the supported % arguments are not the full possibilities of \env{array} but only % |c| or |l| for centered or left-aligned. And only one column. +% \changes{v2.17i}{2020/09/23}{moved to version from lualatex-math for luatex} % \begin{macrocode} +\ifx\directlua\@undefined \newenvironment{subarray}[1]{% % \end{macrocode} % Note: The predecessors of \env{subarray} (\env{Sb} and \env{Sp}, @@ -2340,6 +2383,23 @@ Foreign command \@backslashchar#1;\MessageBreak }{% \crcr\egroup\egroup } +\else +\newenvironment{subarray}[1]{% + \vcenter\bgroup + \Let@ \restore@math@cr \default@tag + \baselineskip \Umathstacknumup \scriptstyle + \advance\baselineskip \Umathstackdenomdown \scriptstyle + \lineskip \Umathstackvgap \scriptstyle + \lineskiplimit \lineskip + \ialign\bgroup\ifx c#1\hfil\fi + \Ustartmath + \m@th\scriptstyle## + \Ustopmath + \hfil\crcr +}{% + \crcr\egroup\egroup +} +\fi % \end{macrocode} % \end{environment} % @@ -3438,7 +3498,8 @@ and fix things up.} % \end{macro} % % \begin{macro}{\black@} -% \changes{v2.17a}{2017/09/02}{add fixed width box so overfull warning generated in centred environments in lists} +% \changes{v2.17a}{2017/09/02}{Add fixed width box so overfull warning +% generated in centred environments in lists} % This macro is made to produce an overfull box message and % possibly (depending on the value of \cs{overfullrule}) % a rule in the margin if the total width of an alignment @@ -3654,6 +3715,77 @@ and fix things up.} % \end{macrocode} % \end{macro} % +% +% +% \begin{macro}{\ams@start@box} +% This macro tests the optional positioning argument (in +% \texttt{gathered} or \texttt{aligned}. It explicitly tests for the +% value \texttt{b}, \texttt{c} and \texttt{t} and if the value is +% different, then we assume that it is a bracket group that belongs +% to the formula instead of being an misspelled optional argument. +% (In earlier versions of the code anything other than \texttt{b} +% or \texttt{t} was interpreted as \texttt{c} and the data was +% otherwise dropped.) +% \changes{v2.17g}{2020/03/10}{Explicity test for b/t/c and return +% optional argument is different (gh/5)} +% \begin{macrocode} +\def\ams@start@box#1{% +% \end{macrocode} +% As we may pick up an arbitrary part of the formula by mistake, we +% need to be very careful with the testing to avoid low-level +% errors. This is why we use \cs{detokenize}. But we also need to +% expand the argument (if possible) in case the position value is +% hidden inside a macro. We therefore apply the \cs{romannumeral} +% trick (known as f-expansion in \texttt{expl3}) in its old form. +% The code assumes that +% the default is correctly set up (which in this case is \texttt{c}). +% \begin{macrocode} + \edef\reserved@a{\csname ams@pos@\expandafter\detokenize + \expandafter{\romannumeral-`\0#1}\endcsname}% + \expandafter\ifx\reserved@a\relax +% \end{macrocode} +% If the argument is neither \texttt{b}, \texttt{c} or \texttt{t} +% we save it in \cs{ams@return@opt@arg}, so it can later be +% returned as part of the environment body. We could at this point +% also issue a warning that bracket group was found at the start of +% the formula and that it is safer to add a \cs{relax} before it. +% \begin{macrocode} + \PackageWarning{amsmath}{% + Bracket group \detokenize{[#1]} at formula start!\MessageBreak + It could be a misspelled positional argument.\MessageBreak + If it belongs to the formula add a \relax in\MessageBreak + front to hide it}% + \def\ams@return@opt@arg{[#1]}\vcenter +% \end{macrocode} +% If the argument was identified then we clear +% \cs{ams@return@opt@arg} (just in case somebod ever nests these +% environment. +% \begin{macrocode} + \else + \let\ams@return@opt@arg\@empty\reserved@a + \fi +} +% \end{macrocode} +% +% \begin{macro}{\ams@pos@t} +% \begin{macro}{\ams@pos@b} +% \begin{macro}{\ams@pos@c} +% +% \begin{macrocode} +\def\ams@pos@t{\vtop} +\def\ams@pos@b{\vbox} +\def\ams@pos@c{\vcenter} +% \end{macrocode} +% And we accept an empty argument as a way to get the default (as +% that was the case before as well, albeit by mistake in some sense). +% \begin{macrocode} +\let\ams@pos@\ams@pos@c +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macro}{\start@aligned} % The \env{aligned} and \env{alignedat} environments are identical % except that the latter takes a mandatory argument to specify the @@ -3678,7 +3810,10 @@ and fix things up.} % to the margin. % \begin{macrocode} \alignedspace@left - \if #1t\vtop \else \if#1b \vbox \else \vcenter \fi \fi \bgroup +% \end{macrocode} +% Select the right kind of box based on the optional argument \verb=#1=. +% \begin{macrocode} + \ams@start@box{#1}\bgroup \maxfields@#2\relax \ifnum\maxfields@>\m@ne \multiply\maxfields@\tw@ @@ -3721,6 +3856,13 @@ and fix things up.} \hfil \tabskip\alignsep@ \crcr +% \end{macrocode} +% If we picked up a bracket group by mistake here is the place to +% return it for processing. +% \changes{v2.17g}{2020/03/10}{Explicity test for b/t/c and return +% optional argument is different (gh/5)} +% \begin{macrocode} + \ams@return@opt@arg } % \end{macrocode} % \end{macro} @@ -3805,12 +3947,21 @@ and fix things up.} \nonmatherr@{\begin{gathered}}% \fi \alignedspace@left - \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi \bgroup +% \end{macrocode} +% Select the right kind of box based on the optional argument \verb=#1=. +% \begin{macrocode} + \ams@start@box{#1}\bgroup \Let@ \chardef\dspbrk@context\@ne \restore@math@cr \spread@equation \ialign\bgroup \hfil\strut@$\m@th\displaystyle##$\hfil \crcr +% \end{macrocode} +% And put a mistaking picked up bracket group back: +% \changes{v2.17g}{2020/03/10}{Explicity test for b/t/c and return +% optional argument is different (gh/5)} +% \begin{macrocode} + \ams@return@opt@arg }{% \endaligned } diff --git a/macros/latex/required/amsmath/amsmath.pdf b/macros/latex/required/amsmath/amsmath.pdf Binary files differindex 19f1ab151a..01dad27e8b 100644 --- a/macros/latex/required/amsmath/amsmath.pdf +++ b/macros/latex/required/amsmath/amsmath.pdf diff --git a/macros/latex/required/amsmath/amsopn.pdf b/macros/latex/required/amsmath/amsopn.pdf Binary files differindex d54d81f1e7..b8b5b9e0d1 100644 --- a/macros/latex/required/amsmath/amsopn.pdf +++ b/macros/latex/required/amsmath/amsopn.pdf diff --git a/macros/latex/required/amsmath/amstext.dtx b/macros/latex/required/amsmath/amstext.dtx index a5e8491dc2..5e7e6ca672 100644 --- a/macros/latex/required/amsmath/amstext.dtx +++ b/macros/latex/required/amsmath/amstext.dtx @@ -139,7 +139,7 @@ Bug reports can be opened (category \texttt{#1}) at\\% % The macros \cs{f@size}, \cs{sf@size} and \cs{ssf@size} hold the % sizes which should be used when we are loading a new font for use % in \cs{textfont}, \cs{scriptfont} and \cs{scriptscriptfont}. There -% is some question whether we should use use \cs{tf@size} or +% is some question whether we should use \cs{tf@size} or % \cs{f@size} for the main size, but since the primary purpose of the % \cn{text} macro is to switch back to text within a display, it % seems that \cs{f@size} is the better choice. (Indeed it could be diff --git a/macros/latex/required/amsmath/amstext.pdf b/macros/latex/required/amsmath/amstext.pdf Binary files differindex bd2380c3fb..64bf5378d2 100644 --- a/macros/latex/required/amsmath/amstext.pdf +++ b/macros/latex/required/amsmath/amstext.pdf diff --git a/macros/latex/required/amsmath/amsxtra.pdf b/macros/latex/required/amsmath/amsxtra.pdf Binary files differindex 4ef6bc62d3..0a866cd130 100644 --- a/macros/latex/required/amsmath/amsxtra.pdf +++ b/macros/latex/required/amsmath/amsxtra.pdf diff --git a/macros/latex/required/amsmath/changes.txt b/macros/latex/required/amsmath/changes.txt index 9581bb6606..be86f3c134 100644 --- a/macros/latex/required/amsmath/changes.txt +++ b/macros/latex/required/amsmath/changes.txt @@ -1,3 +1,31 @@ +2020/09/23 Ulrike Fischer <Ulrike.Fischer@latex-project.org> + * amsmath.dtx (subsection{Fractions}): + added \cs{Ustack} to \cs{frac} and \cs{genfrac} for luatex + (moved patch from lualatex-math) + * amsmath.dtx (section{Array-related environments}) + changed subarray for luatex: moved to version from lualatex-math + +2020-08-24 Ulrike Fischer <Ulrike.Fischer@latex-project.org> + + * amsmath.dtx (section{Extensible arrows}): + Detect unicode engines and use \Umathcharnumdef for + \std@minus and \std@equal (acc/135) + + +2020-03-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * amsmath.dtx (subsection{Simple aligning environments}): + Explicity test for b,t,c and return optional argument is + different (gh/5) + +2020-03-07 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * amsmath.dtx (subsection{Math spacing commands}): + Math/text spacing commands are now in the \LaTeX{} kernel and are + made robust. We still define them here so that the package + continues to work with older formats (gh/303) + + ######################### # 2020-02-02 Release ######################### @@ -28,7 +56,8 @@ 2019-10-11 David Carlisle <David.Carlisle@latex-project.org> - * build.lua: package amsmath-2018-12-01.sty (only ctan build script no source changes) + * build.lua: package amsmath-2018-12-01.sty (only ctan build script + no source changes) ######################### # 2019-10-01 Release @@ -156,4 +185,3 @@ inside indented lists (displaywidth < columnwidth). Changed the multline/fleqn/leqno indent to match mathmargin when possible instead of always just using multlinetaggap. - diff --git a/macros/latex/required/amsmath/subeqn.pdf b/macros/latex/required/amsmath/subeqn.pdf Binary files differindex c175feb386..49221aec98 100644 --- a/macros/latex/required/amsmath/subeqn.pdf +++ b/macros/latex/required/amsmath/subeqn.pdf diff --git a/macros/latex/required/amsmath/subeqn.tex b/macros/latex/required/amsmath/subeqn.tex index c34b3f6952..7e07f61d01 100644 --- a/macros/latex/required/amsmath/subeqn.tex +++ b/macros/latex/required/amsmath/subeqn.tex @@ -90,7 +90,7 @@ C=D And that was equation \eqref{e:prevprime}. Notice, by the way, that when a \verb"\ref" occurs inside a \verb"\tag", -and that \verb"\tag" is then \verb"\label"'d, a \verb"\ref" for the the +and that \verb"\tag" is then \verb"\label"'d, a \verb"\ref" for the second \verb"\label" requires \emph{three} runs of \LaTeX{} in order to get the proper value. (If you run through the logic of \LaTeX{}'s cross-referencing mechanisms as they apply in this case, you will see diff --git a/macros/latex/required/amsmath/technote.pdf b/macros/latex/required/amsmath/technote.pdf Binary files differindex 657f930f89..fa7a6fc05e 100644 --- a/macros/latex/required/amsmath/technote.pdf +++ b/macros/latex/required/amsmath/technote.pdf diff --git a/macros/latex/required/amsmath/testmath.pdf b/macros/latex/required/amsmath/testmath.pdf Binary files differindex 5583fa35cf..21ad91ed7d 100644 --- a/macros/latex/required/amsmath/testmath.pdf +++ b/macros/latex/required/amsmath/testmath.pdf diff --git a/macros/latex/required/graphics/README.md b/macros/latex/required/graphics/README.md index f319461c36..3daa0a4fb6 100644 --- a/macros/latex/required/graphics/README.md +++ b/macros/latex/required/graphics/README.md @@ -1,7 +1,7 @@ The LaTeX `graphics` bundle =========================== -Release 2020-02-02 +Release 2020-10-01 Overview -------- diff --git a/macros/latex/required/graphics/changes.txt b/macros/latex/required/graphics/changes.txt index 108723ddb4..afb7698a48 100644 --- a/macros/latex/required/graphics/changes.txt +++ b/macros/latex/required/graphics/changes.txt @@ -4,6 +4,31 @@ completeness or accuracy and it contains some references to files that are not part of the distribution. ======================================================================= +2020-08-21 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * graphics.dtx: add additional trial with known extensions if + the supplied filename+extension exist, but the extension is + not a known file extension (gh/355). + +2020-08-21 David Carlisle <David.Carlisle@latex-project.org> + + * grfguide.tex: replace a.ps and a.pdf by a.eps gh/357 + +2020-08-13 David Carlisle <David.Carlisle@latex-project.org> + + * graphics.dtx: Normalise \endlinechar while reading files gh/286 + +2020-08-09 David Carlisle <David.Carlisle@latex-project.org> + + * graphics.dtx: Move viewport and trim code from graphicx to graphics. + +2020-05-28 David Carlisle <David.Carlisle@latex-project.org> + + * lscape.dtx: delay saving \cs{@makefcolumn} gh340 + +2020-02-24 Ulrike Fischer <Ulrike.Fischer@latex-project.org> + * color.dtx: corrected a tests, graphics/3635 + ######################### # 2020-02-02 Release ######################### diff --git a/macros/latex/required/graphics/color.dtx b/macros/latex/required/graphics/color.dtx index ad5df89a7e..cdc2dbe5fe 100644 --- a/macros/latex/required/graphics/color.dtx +++ b/macros/latex/required/graphics/color.dtx @@ -19,7 +19,7 @@ %<driver> \ProvidesFile{color.drv} % \fi % \ProvidesFile{color.dtx} - [2019/11/23 v1.2a Standard LaTeX Color (DPC)] + [2020/02/24 v1.2b Standard LaTeX Color (DPC)] % % \iffalse %<*driver> @@ -558,6 +558,8 @@ % {usenames option added} % \changes{v0.3f}{1994/10/04} % {Give info about redefinitions} +% \changes{v1.2b}{2020/02/24} +% {corrected test, see https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=graphics/3635} % % Driver files may opt to define a `named' colour model. % Placing colour names rather than numeric specifications into the dvi @@ -603,7 +605,7 @@ {\c@lor@error{model `#1'}}% {\@ifundefined{color@#3}% {\c@lor@error{model `#3'}}% - {\@ifundefined{c@lor@#1@#2}{}% + {\@ifundefined{col@#2}{}% {\PackageInfo{color}{Redefining color #2 in named color model}}% \csname color@#3\endcsname\@tempa{#4}% \csname define@color@#1\endcsname{#2}\@tempa diff --git a/macros/latex/required/graphics/color.pdf b/macros/latex/required/graphics/color.pdf Binary files differindex 4953d86459..cfa3caa14f 100644 --- a/macros/latex/required/graphics/color.pdf +++ b/macros/latex/required/graphics/color.pdf diff --git a/macros/latex/required/graphics/drivers.pdf b/macros/latex/required/graphics/drivers.pdf Binary files differindex 7d424d4d95..caa92c79f7 100644 --- a/macros/latex/required/graphics/drivers.pdf +++ b/macros/latex/required/graphics/drivers.pdf diff --git a/macros/latex/required/graphics/epsfig.pdf b/macros/latex/required/graphics/epsfig.pdf Binary files differindex 25a6c13821..1441513c07 100644 --- a/macros/latex/required/graphics/epsfig.pdf +++ b/macros/latex/required/graphics/epsfig.pdf diff --git a/macros/latex/required/graphics/graphics.dtx b/macros/latex/required/graphics/graphics.dtx index b88ef1e066..51ef9a4ee3 100644 --- a/macros/latex/required/graphics/graphics.dtx +++ b/macros/latex/required/graphics/graphics.dtx @@ -25,7 +25,7 @@ %<driver> \ProvidesFile{graphics.drv} % \fi % \ProvidesFile{graphics.dtx} - [2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)] + [2020/08/30 v1.4c Standard LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -1134,30 +1134,40 @@ \else \Gin@getbase{\Gin@sepdefault\filename@ext}% % \end{macrocode} -% At this point try adding an extension, even if the filename has one so -% that \verb|a.b| may find \verb|a.b.png| if no file is found then revert -% to the extension as given to get better error reporting. +% At this point try adding an extension, either if the given file name +% has none, or if the extension matches no existing graphics inclusion +% rule, so that \verb|a.b| may find \verb|a.b.png|, if only the latter +% or if both files exist. If no file is found then revert to the +% extension as given to get better error reporting. % % \changes{v1.3d}{2019/11/01} -% {Try adding an extension even if the filenam had a dot.} -% \begin{macrocode} -\ifx\Gin@ext\relax -\let\Gin@savedbase\filename@base -\let\Gin@savedext\filename@ext - \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}% - \let\filename@ext\relax - \@for\Gin@temp:=\Gin@extensions\do{% - \ifx\Gin@ext\relax - \Gin@getbase\Gin@temp - \fi}% -% \end{macrocode} -% Restore if no file found using theknown extensions. +% {Try adding an extension even if the filename had a dot.} +% \changes{v1.4c}{2020/08/30} +% {Try adding an extension even if the filename had a dot AND +% if the filename without the extension exists (but doesn't have +% a known extension).} +% \begin{macrocode} + \ifnum0% + \ifx\Gin@ext\relax 1% + \else \@ifundefined{Gin@rule@\Gin@ext}{1}{0}% + \fi >0 + \let\Gin@ext\relax + \let\Gin@savedbase\filename@base + \let\Gin@savedext\filename@ext + \edef\filename@base{\filename@base\Gin@sepdefault\filename@ext}% + \let\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% +% \end{macrocode} +% Restore if no file found using the known extensions. % \begin{macrocode} - \ifx\Gin@ext\relax - \let\filename@base\Gin@savedbase - \let\filename@ext\Gin@savedext - \fi -\fi + \ifx\Gin@ext\relax + \let\filename@base\Gin@savedbase + \let\filename@ext\Gin@savedext + \fi + \fi % \end{macrocode} % % \begin{macrocode} @@ -1428,7 +1438,7 @@ % starting with |%%BoundingBox| and returns the result % by setting four dimension registers % |\Gin@llx|, |\Gin@lly|, |\Gin@urx| and |\Gin@ury|. -% \changes{v0.5e}{1994/1l/02} +% \changes{v0.5e}{1994/11/02} % {Fix the catcodes of \cs{endlinechar} and ctrl-D} % \changes{v0.7a}{1995/04/11} % {Fix more catcodes, for binary headers of eps files} @@ -1474,9 +1484,12 @@ % {Allow TAB in DSC comments graphics/2587} % \changes{v1.0i}{1999/01/07} % {Fix catcode of hyphen. graphics/2846} +% \changes{v1.4b}{2020/08/09} +% {Normalise \cs{endlinechar} gh/286} % \begin{macrocode} \catcode`\ 10 % \catcode`\^^I10 % + \endlinechar13 % \catcode\endlinechar5 % \@makeother\:% \@makeother\-% @@ -1574,6 +1587,7 @@ \fi} % \end{macrocode} % \end{macro} +% % \begin{macro}{\Gread@parse@bb} % We have |%%BoundingBox| and what follows is not `(atend)' so we % will parse the rest of the line as a BB with four elements. @@ -1596,6 +1610,68 @@ % \end{macrocode} % \end{macro} % +% Viewport and trim, originally in |graphicx|. +% +% \begin{macro}{\Gin@viewport} +% \changes{v1.0c}{1996/10/31}{Original bb saved} +% If a viewport is specified, reset the bounding box coordinates +% by adding the original origin, |\Gin@llx|, |\Gin@lly| to the new +% values specified as the viewport. The original Bounding box +% coordinates are saved in |\Gin@ollx|\ldots\ some drivers +% might need this information (currently just |tcidvi|). +% \begin{macrocode} +\def\Gin@viewport{% + \let\Gin@ollx\Gin@llx + \let\Gin@olly\Gin@lly + \let\Gin@ourx\Gin@urx + \let\Gin@oury\Gin@ury + \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vurx\p@ + \edef\Gin@urx{\strip@pt\dimen@}% + \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vury\p@ + \edef\Gin@ury{\strip@pt\dimen@}% + \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@ + \edef\Gin@llx{\strip@pt\dimen@}% + \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@ + \edef\Gin@lly{\strip@pt\dimen@}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Gin@trim} +% \changes{v1.0c}{1996/10/31}{Original bb saved} +% If a trim is specified, reset the bounding box coordinates +% by trimming the four specified values off each side of the +% graphic. +% \begin{macrocode} +\def\Gin@trim{% + \let\Gin@ollx\Gin@llx + \let\Gin@olly\Gin@lly + \let\Gin@ourx\Gin@urx + \let\Gin@oury\Gin@ury + \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@ + \edef\Gin@llx{\strip@pt\dimen@}% + \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@ + \edef\Gin@lly{\strip@pt\dimen@}% + \dimen@\Gin@urx\p@\advance\dimen@ -\Gin@vurx\p@ + \edef\Gin@urx{\strip@pt\dimen@}% + \dimen@\Gin@ury\p@\advance\dimen@ -\Gin@vury\p@ + \edef\Gin@ury{\strip@pt\dimen@}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\Gin@vllx} +% \begin{macro}{\Gin@vlly} +% \begin{macro}{\Gin@vurx} +% \begin{macro}{\Gin@vury} +% Four macros to hold the modifiers for the bounding box for viewport +% and trim specifications. +% \begin{macrocode} +\let\Gin@vllx\Gin@llx\let\Gin@vlly\Gin@llx +\let\Gin@vurx\Gin@llx\let\Gin@vury\Gin@llx +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \subsection{Rotation} % diff --git a/macros/latex/required/graphics/graphics.pdf b/macros/latex/required/graphics/graphics.pdf Binary files differindex ccf7a574dc..98e0874603 100644 --- a/macros/latex/required/graphics/graphics.pdf +++ b/macros/latex/required/graphics/graphics.pdf diff --git a/macros/latex/required/graphics/graphicx.dtx b/macros/latex/required/graphics/graphicx.dtx index 3cf15925d3..b10c67c794 100644 --- a/macros/latex/required/graphics/graphicx.dtx +++ b/macros/latex/required/graphics/graphicx.dtx @@ -17,7 +17,7 @@ %<driver> \ProvidesFile{graphicx.drv} % \fi % \ProvidesFile{graphicx.dtx} - [2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)] + [2020/09/09 v1.2b Enhanced LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -342,66 +342,6 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\Gin@viewport} -% \changes{v1.0c}{1996/10/31}{Original bb saved} -% If a viewport is specified, reset the bounding box coordinates -% by adding the original origin, |\Gin@llx|, |\Gin@lly| to the new -% values specified as the viewport. The original Bounding box -% coordinates are saved in |\Gin@ollx|\ldots\ some drivers -% might need this information (currently just |tcidvi|). -% \begin{macrocode} -\def\Gin@viewport{% - \let\Gin@ollx\Gin@llx - \let\Gin@olly\Gin@lly - \let\Gin@ourx\Gin@urx - \let\Gin@oury\Gin@ury - \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vurx\p@ - \edef\Gin@urx{\strip@pt\dimen@}% - \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vury\p@ - \edef\Gin@ury{\strip@pt\dimen@}% - \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@ - \edef\Gin@llx{\strip@pt\dimen@}% - \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@ - \edef\Gin@lly{\strip@pt\dimen@}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gin@trim} -% \changes{v1.0c}{1996/10/31}{Original bb saved} -% If a trim is specified, reset the bounding box coordinates -% by trimming the four specified values off each side of the -% graphic. -% \begin{macrocode} -\def\Gin@trim{% - \let\Gin@ollx\Gin@llx - \let\Gin@olly\Gin@lly - \let\Gin@ourx\Gin@urx - \let\Gin@oury\Gin@ury - \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@ - \edef\Gin@llx{\strip@pt\dimen@}% - \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@ - \edef\Gin@lly{\strip@pt\dimen@}% - \dimen@\Gin@urx\p@\advance\dimen@ -\Gin@vurx\p@ - \edef\Gin@urx{\strip@pt\dimen@}% - \dimen@\Gin@ury\p@\advance\dimen@ -\Gin@vury\p@ - \edef\Gin@ury{\strip@pt\dimen@}} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gin@vllx} -% \begin{macro}{\Gin@vlly} -% \begin{macro}{\Gin@vurx} -% \begin{macro}{\Gin@vury} -% Four macros to hold the modifiers for the bounding box for viewport -% and trim specifications. -% \begin{macrocode} -\let\Gin@vllx\Gin@llx\let\Gin@vlly\Gin@llx -\let\Gin@vurx\Gin@llx\let\Gin@vury\Gin@llx -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % \begin{key}{Gin}{angle} % Specify a rotation. This is just handled by wrapping the diff --git a/macros/latex/required/graphics/graphicx.pdf b/macros/latex/required/graphics/graphicx.pdf Binary files differindex 243ca19074..6c8acbdcb3 100644 --- a/macros/latex/required/graphics/graphicx.pdf +++ b/macros/latex/required/graphics/graphicx.pdf diff --git a/macros/latex/required/graphics/grfguide.pdf b/macros/latex/required/graphics/grfguide.pdf Binary files differindex 144513d883..389dca6d7e 100644 --- a/macros/latex/required/graphics/grfguide.pdf +++ b/macros/latex/required/graphics/grfguide.pdf diff --git a/macros/latex/required/graphics/grfguide.tex b/macros/latex/required/graphics/grfguide.tex index d25bcac27b..8df07c5a6a 100644 --- a/macros/latex/required/graphics/grfguide.tex +++ b/macros/latex/required/graphics/grfguide.tex @@ -8,151 +8,21 @@ %% %% This file has the LPPL maintenance status "maintained". -\begin{filecontents*}{a.ps} -%! -%%BoundingBox:0 0 72 72 +\begin{filecontents*}{a.eps} +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 0 0 72 72 0 0 moveto 72 72 rlineto 72 neg 0 rlineto 72 72 neg rlineto stroke +newpath 0 0 moveto -/Times-Roman findfont -72 scalefont -setfont -(A) show -showpage -\end{filecontents*} -\begin{filecontents*}{a.pdf} -%PDF-1.4 -%%%%% -1 0 obj -<< -/Pages 2 0 R -/Type /Catalog ->> - endobj -2 0 obj -<< -/Kids [3 0 R] -/Type /Pages -/Count 1 ->> - endobj -3 0 obj -<< -/Rotate 0 -/Parent 2 0 R -/MediaBox [0 0 72 72] - /Resources -<< -/ExtGState 4 0 R -/Font 5 0 R -/ProcSet [/PDF /Text] ->> -/pdftk_PageNum 1 -/Type /Page -/Contents 6 0 R ->> - endobj -4 0 obj -<< -/R7 7 0 R ->> - endobj -5 0 obj -<< -/R8 8 0 R ->> - endobj -6 0 obj -<< -/Length 135 ->> -stream -q 0.1 0 0 0.1 0 0 cm -/R7 gs -10 w -0 G -0 0 m -720 720 l -0 720 l -720 0 l -S -0 g -q -10 0 0 10 0 0 cm BT -/R8 72 Tf -1 0 0 1 0 0 Tm -(A)Tj -ET -Q -Q - - endstream - endobj -7 0 obj -<< -/Type /ExtGState -/OPM 1 ->> - endobj -8 0 obj -<< -/BaseFont /Times-Roman -/LastChar 65 -/Subtype /Type1 -/FontDescriptor 9 0 R -/Widths [722] -/Type /Font -/Encoding /WinAnsiEncoding -/FirstChar 65 ->> - endobj -9 0 obj -<< -/FontName /Times-Roman -/StemV 105 -/CharSet (/A) -/Ascent 674 -/Flags 65568 -/Descent 0 -/ItalicAngle 0 -/MissingWidth 250 -/FontBBox [0 0 706 674] -/Type /FontDescriptor -/CapHeight 674 ->> - endobj -10 0 obj -<< -/Producer (GPL Ghostscript 9.06) -/ModDate (D:20140426202438+01'00') -/CreationDate (D:20140426202438+01'00') ->> -endobj xref -0 11 -0000000000 65535 f -0000000015 00000 n -0000000066 00000 n -0000000125 00000 n -0000000308 00000 n -0000000341 00000 n -0000000374 00000 n -0000000563 00000 n -0000000610 00000 n -0000000774 00000 n -0000000975 00000 n -trailer - -<< -/Info 10 0 R -/Root 1 0 R -/Size 11 -/ID [<4ca1370d594acd28b9d948a5e8b925c3> <4ca1370d594acd28b9d948a5e8b925c3>] ->> -startxref -1106 +20 40 lineto +40 0 lineto +10 20 moveto +30 20 lineto +stroke %%EOF \end{filecontents*} \documentclass{ltxguide} @@ -190,7 +60,7 @@ startxref \begin{document} \title{Packages in the `graphics' bundle} \author{D. P. Carlisle \and The \LaTeX3 Project} -\date{2017-06-01} +\date{2020-08-21} \maketitle @@ -789,24 +659,24 @@ left---\fbox{\includegraphics{a}}---right With different options supplied to |\includegraphics|. No optional argument.\\ -left---\fbox{\includegraphics{a}}---right +left---\fbox{\includegraphics{a.eps}}---right \gs |\scalebox{0.5}{\includegraphics{a}}|\\ \gx |\includegraphics[scale=.5]{a}|\\ -left---\fbox{\includegraphics[scale=.5]{a}}---right +left---\fbox{\includegraphics[scale=.5]{a.eps}}---right \gs |\includegraphics[15,10][35,45]{a}}|\\ \gx |\includegraphics[viewport= 15 10 35 45]{a}|\\ -left---\fbox{\includegraphics[viewport= 15 10 35 45]{a}}---right +left---\fbox{\includegraphics[viewport= 15 10 35 45]{a.eps}}---right \gs |\includegraphics*[15,10][35,45]{a}}|\\ \gx |\includegraphics[viewport= 15 10 35 45,clip]{a}|\\ -left---\fbox{\includegraphics[viewport= 15 10 35 45,clip]{a}}---right +left---\fbox{\includegraphics[viewport= 15 10 35 45,clip]{a.eps}}---right \gs |\scalebox{0.5}{\includegraphics{a}}| and |draft| option.\\ \gx |\includegraphics[scale=.5, draft]{a}|\\ -left---\fbox{\includegraphics[scale=.5, draft]{a}}---right +left---\fbox{\includegraphics[scale=.5, draft]{a.eps}}---right \subsection{Other commands in the \package{graphics} package} @@ -843,7 +713,7 @@ Note that if the extension is not specified in the |\includegraphics| command, the graphics file must exist at the time \LaTeX\ is run, as the existence of the file is used to determine which extension from the list to choose. However if a file extension \emph{is} specified, -e.g.\ |\includegraphics{a.ps}| instead of |\includegraphics{a}|, then +e.g.\ |\includegraphics{a.eps}| instead of |\includegraphics{a}|, then the graphics file need not exist at the time \LaTeX\ is used. (In particular it may be created on the fly by the \m{command} specified in the |\DeclareGraphicsRule| command described below.) diff --git a/macros/latex/required/graphics/keyval.pdf b/macros/latex/required/graphics/keyval.pdf Binary files differindex 3096eb4614..b67f00d3b0 100644 --- a/macros/latex/required/graphics/keyval.pdf +++ b/macros/latex/required/graphics/keyval.pdf diff --git a/macros/latex/required/graphics/lscape.dtx b/macros/latex/required/graphics/lscape.dtx index e14462c9d4..ac5c16d7c2 100644 --- a/macros/latex/required/graphics/lscape.dtx +++ b/macros/latex/required/graphics/lscape.dtx @@ -17,7 +17,7 @@ %<driver> \ProvidesFile{lscape.drv} % \fi % \ProvidesFile{lscape.dtx} - [2000/10/22 v3.01 Landscape Pages (DPC)] + [2020/05/28 v3.02 Landscape Pages (DPC)] % % \iffalse %<*driver> @@ -61,6 +61,7 @@ % \changes{v3.00}{1994/10/05}{Update using LaTeX2e graphics package} % \changes{v3.01}{1999/06/22}{Added better pdfTeX support % by Scott Pakin, from graphics/3063} +% \changes{v3.02}{2020/05/28}{delay saving \cs{@makefcolumn} gh340} % % % \begin{macrocode} @@ -90,8 +91,6 @@ % \end{macrocode} % % \begin{macrocode} -\let\LS@makecol=\@makecol -\let\LS@makefcolumn=\@makefcolumn \def\LS@rot{% \setbox\@outputbox\vbox{\hbox{\rotatebox{90}{\box\@outputbox}}}} % \end{macrocode} @@ -99,6 +98,8 @@ % First set up the page size for landscape. % \begin{macrocode} \def\landscape{% + \let\LS@makecol=\@makecol + \let\LS@makefcolumn=\@makefcolumn \clearpage \begingroup \vsize=\textwidth diff --git a/macros/latex/required/graphics/lscape.pdf b/macros/latex/required/graphics/lscape.pdf Binary files differindex 3b425736bf..860a8fe77e 100644 --- a/macros/latex/required/graphics/lscape.pdf +++ b/macros/latex/required/graphics/lscape.pdf diff --git a/macros/latex/required/graphics/rotating.pdf b/macros/latex/required/graphics/rotating.pdf Binary files differindex f893e672ae..ca12e813a2 100644 --- a/macros/latex/required/graphics/rotating.pdf +++ b/macros/latex/required/graphics/rotating.pdf diff --git a/macros/latex/required/graphics/rotex.pdf b/macros/latex/required/graphics/rotex.pdf Binary files differindex ac8f0d43cb..c1050e5dc4 100644 --- a/macros/latex/required/graphics/rotex.pdf +++ b/macros/latex/required/graphics/rotex.pdf diff --git a/macros/latex/required/graphics/trig.pdf b/macros/latex/required/graphics/trig.pdf Binary files differindex 0273a683d6..f153c115c0 100644 --- a/macros/latex/required/graphics/trig.pdf +++ b/macros/latex/required/graphics/trig.pdf diff --git a/macros/latex/required/tools/README.md b/macros/latex/required/tools/README.md index 18d7ab768c..f5dfbdf246 100644 --- a/macros/latex/required/tools/README.md +++ b/macros/latex/required/tools/README.md @@ -1,7 +1,7 @@ The LaTeX `tools` bundle ======================== -Release 2020-02-02 +Release 2020-10-01 Overview -------- diff --git a/macros/latex/required/tools/afterpage.pdf b/macros/latex/required/tools/afterpage.pdf Binary files differindex b4228f13b5..3aaedccf87 100644 --- a/macros/latex/required/tools/afterpage.pdf +++ b/macros/latex/required/tools/afterpage.pdf diff --git a/macros/latex/required/tools/array-2020-02-10.sty b/macros/latex/required/tools/array-2020-02-10.sty new file mode 100644 index 0000000000..9fddc0d490 --- /dev/null +++ b/macros/latex/required/tools/array-2020-02-10.sty @@ -0,0 +1,374 @@ +%% +%% This is file `array.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% array.dtx (with options: `package,ncols') +%% +%% This is a generated file. +%% +%% 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-2020 +%% The LaTeX3 Project and any individual authors listed elsewhere +%% in this file. +%% +%% This file was generated from file(s) 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 +%% version 2005/12/01 or later. +%% +%% This file may only be distributed together with a copy of the LaTeX +%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle' +%% without such generated files. +%% +%% The list of all files belonging to the LaTeX `Tools Bundle' is +%% given in the file `manifest.txt'. +%% +%% Package `array' to use with LaTeX 2e +%% Copyright (C) 1989-1998 Frank Mittelbach, all rights reserved. +\NeedsTeXFormat{LaTeX2e}[1995/06/01] +\providecommand\DeclareRelease[3]{} +\providecommand\DeclareCurrentRelease[2]{} + +\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty} +\DeclareCurrentRelease{}{2019-10-01} + +\ProvidesPackage{array} + [2020/02/10 v2.4m Tabular extension package (FMi)] +%% + +\def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}} +\def\@testpach{\@chclass + \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else + \ifnum \@lastchclass=7 5 \else + \ifnum \@lastchclass=8 \tw@ \else + \ifnum \@lastchclass=9 \thr@@ + \else \z@ + \ifnum \@lastchclass = 10 \else + \edef\@nextchar{\expandafter\string\@nextchar}% + \@chnum + \if \@nextchar c\z@ \else + \if \@nextchar l\@ne \else + \if \@nextchar r\tw@ \else + \z@ \@chclass + \if\@nextchar |\@ne \else + \if \@nextchar !6 \else + \if \@nextchar @7 \else + \if \@nextchar <8 \else + \if \@nextchar >9 \else + 10 + \@chnum + \if \@nextchar m\thr@@\else + \if \@nextchar p4 \else + \if \@nextchar b5 \else + \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi + \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi \fi} +\def\@xexpast#1*#2#3#4\@@{% + \@tempcnta #2 + \toks@={#1}\@temptokena={#3}% + \let\the@toksz\relax \let\the@toks\relax + \def\@tempa{\the@toksz}% + \ifnum\@tempcnta >0 \@whilenum\@tempcnta >0\do + {\edef\@tempa{\@tempa\the@toks}\advance \@tempcnta \m@ne}% + \let \@tempb \@xexpast \else + \let \@tempb \@xexnoop \fi + \def\the@toksz{\the\toks@}\def\the@toks{\the\@temptokena}% + \edef\@tempa{\@tempa}% + \expandafter \@tempb \@tempa #4\@@} +\def\prepnext@tok{\advance \count@ \@ne + \toks\count@{}} +\def\save@decl{\toks\count@ \expandafter{\@nextchar}} +\def\insert@column{% + \the@toks \the \@tempcnta + \ignorespaces \@sharp \unskip + \the@toks \the \count@ \relax} +\newdimen\col@sep +\def\@acol{\@addtopreamble{\hskip\col@sep}} +\def\@classx{% + \ifcase \@lastchclass + \@acolampacol \or + \@addamp \@acol \or + \@acolampacol \or + \or + \@acol \@firstampfalse \or + \@addamp + \fi} +\def\@classz{\@classx + \@tempcnta \count@ + \prepnext@tok + \@addtopreamble{\ifcase \@chnum + \hfil + \hskip1sp% + \d@llarbegin + \insert@column + \d@llarend \do@row@strut \hfil \or + \hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \hfil \or + \hfil\hskip1sp\d@llarbegin \insert@column \d@llarend \do@row@strut \or + \setbox\ar@mcellbox\vbox + \@startpbox{\@nextchar}\insert@column \@endpbox + \ar@align@mcell + \do@row@strut \or + \vtop \@startpbox{\@nextchar}\insert@column \@endpbox\do@row@strut \or + \vbox \@startpbox{\@nextchar}\insert@column \@endpbox\do@row@strut + \fi}\prepnext@tok} + +\newbox\ar@mcellbox +\def\ar@align@mcell{% + \ifdim \ht\ar@mcellbox > \ht\@arstrutbox + \begingroup + \dimen@\ht\ar@mcellbox + \advance\dimen@-\ht\@arstrutbox + \advance\dimen@\baselineskip + \lower.5\dimen@\box\ar@mcellbox + \endgroup + \else % assume one line and align at baseline + \box\ar@mcellbox + \fi} + +\def\@arrayrule{\@addtopreamble \vline} +\def\@classvii{\ifnum \@lastchclass = \thr@@ + \@preamerr \thr@@ \fi} +\def\@classvi{\ifcase \@lastchclass + \@acol \or + \@addtopreamble{\hskip \doublerulesep}\or + \@acol \or + \@classvii + \fi} +\def\@classii{\advance \count@ \m@ne + \save@decl\prepnext@tok} +\def\@classi{\@classvi + \ifcase \@chnum \@arrayrule \or + \@classv \fi} +\def\@startpbox#1{\bgroup + \color@begingroup + \setlength\hsize{#1}\@arrayparboxrestore + \everypar{% + \vrule \@height \ht\@arstrutbox \@width \z@ + \everypar{}}% + } +\def\@endpbox{\@finalstrut\@arstrutbox \color@endgroup \egroup\hfil} +\def\@array[#1]#2{% + \@tempdima \ht \strutbox + \advance \@tempdima by\extrarowheight + \setbox \@arstrutbox \hbox{\vrule + \@height \arraystretch \@tempdima + \@depth \arraystretch \dp \strutbox + \@width \z@}% + \begingroup + \@mkpream{#2}% + \xdef\@preamble{\noexpand \ialign \@halignto + \bgroup \@arstrut \@preamble + \tabskip \z@ \cr}% + \endgroup + \@arrayleft + \if #1t\vtop \else \if#1b\vbox \else \vcenter \fi \fi + \bgroup + \let \@sharp ##\let \protect \relax + \lineskip \z@ + \baselineskip \z@ + \m@th + \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble} +\def\arraybackslash{\let\\\tabularnewline} +\newdimen \extrarowheight +\extrarowheight=0pt +\def\@arstrut{\unhcopy\@arstrutbox} +\def\@arraycr{\relax\iffalse{\fi\ifnum 0=`}\fi + \@ifstar \@xarraycr \@xarraycr} +\def\@xarraycr{\@ifnextchar [% + \@argarraycr {\ifnum 0=`{}\fi\cr}} +\def\@argarraycr[#1]{\ifnum0=`{}\fi\ifdim #1>\z@ + \expandafter\@xargarraycr\else + \expandafter\@yargarraycr\fi{#1}} +\def\@xargarraycr#1{\unskip\gdef\do@row@strut + {\@tempdima #1\advance\@tempdima \dp\@arstrutbox + \vrule \@depth\@tempdima \@width\z@\global\let\do@row@strut\relax}% + % \begin{macrocode} + \ifnum\@multicnt >\z@ \do@row@strut \fi + \cr} +\let\do@row@strut\relax +\def\@yargarraycr#1{\cr\noalign{\vskip #1}} +\long\def\multicolumn#1#2#3{% + \multispan{#1}\begingroup + \def\@addamp{\if@firstamp \@firstampfalse \else + \@preamerr 5\fi}% + \@mkpream{#2}\@addtopreamble\@empty + \endgroup + \def\@sharp{#3}% + \@arstrut \@preamble + \null + \ignorespaces} +\let\d@llarbegin\begingroup +\let\d@llarend\endgroup +\def\array{\col@sep\arraycolsep + \def\d@llarbegin{$}\let\d@llarend\d@llarbegin\def\@halignto{}% + \@tabarray} +\def\tabular{\def\@halignto{}\@tabular} +\expandafter\def\csname tabular*\endcsname#1{% + \setlength\dimen@{#1}% + \edef\@halignto{to\the\dimen@}\@tabular} +\def\@tabular{% + \leavevmode + \hbox \bgroup $\col@sep\tabcolsep \let\d@llarbegin\begingroup + \let\d@llarend\endgroup + \@tabarray} +\def\endtabular{\endarray $\egroup} +\expandafter\let\csname endtabular*\endcsname=\endtabular +\let\@ampacol=\relax \let\@expast=\relax +\let\@arrayclassiv=\relax \let\@arrayclassz=\relax +\let\@tabclassiv=\relax \let\@tabclassz=\relax +\let\@arrayacol=\relax \let\@tabacol=\relax +\let\@tabularcr=\relax \let\@@endpbox=\relax +\let\@argtabularcr=\relax \let\@xtabularcr=\relax +\def\@preamerr#1{\def\@tempd{{..} at wrong position: }% + \PackageError{array}{% + \ifcase #1 Illegal pream-token (\@nextchar): `c' used\or %0 + Missing arg: token ignored\or %1 + Empty preamble: `l' used\or %2 + >\@tempd token ignored\or %3 + <\@tempd changed to !{..}\or %4 + Only one column-spec. allowed.\fi}\@ehc} %5 +\def\newcolumntype#1{% + \edef\NC@char{\string#1}% + \@ifundefined{NC@find@\NC@char}% + {\@tfor\next:=<>clrmbp@!|\do + {% + \if\expandafter\noexpand\next\NC@char + \PackageWarning{array}% + {Redefining primitive column \NC@char}\fi}% + \NC@list\expandafter{\the\NC@list\NC@do#1}}% + {\PackageWarning{array}{Column \NC@char\space is already defined}}% + \@namedef{NC@find@\NC@char}##1#1{\NC@{##1}}% + \@ifnextchar[{\newcol@{\NC@char}}{\newcol@{\NC@char}[0]}} +\def\newcol@#1[#2]#3{\expandafter\@reargdef + \csname NC@rewrite@#1\endcsname[#2]{\NC@find#3}} +\def\NC@#1{% + \@temptokena\expandafter{\the\@temptokena#1}\futurelet\next\NC@ifend} +\def\NC@ifend{% + \ifx\next\relax + \else\@tempswatrue\expandafter\NC@rewrite\fi} +\def\NC@do#1{% + \expandafter\let\expandafter\NC@rewrite + \csname NC@rewrite@\string#1\endcsname + \expandafter\let\expandafter\NC@find + \csname NC@find@\string#1\endcsname + \expandafter\@temptokena\expandafter{\expandafter}% + \expandafter\NC@find\the\@temptokena#1\relax} +\def\showcols{{\def\NC@do##1{\let\NC@do\NC@show}\the\NC@list}} +\def\NC@show#1{% + \typeout{Column #1\expandafter\expandafter\expandafter\NC@strip + \expandafter\meaning\csname NC@rewrite@#1\endcsname\@@}} +\def\NC@strip#1:#2->#3 #4\@@{#2 -> #4} +\newtoks\NC@list +\newcolumntype{*}[2]{} +\long\@namedef{NC@rewrite@*}#1#2{% + \count@#1\relax + \loop + \ifnum\count@>\z@ + \advance\count@\m@ne + \@temptokena\expandafter{\the\@temptokena#2}% + \repeat + \NC@find} +\let\@xexpast\relax +\let\@xexnoop\relax +\def\save@decl{\toks \count@ = \expandafter\expandafter\expandafter + {\expandafter\@nextchar\the\toks\count@}} +\def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue + \let\@sharp\relax + \def\@startpbox##1{\unexpanded\expandafter{\expandafter + \@startpbox\expandafter{##1}}}\let\@endpbox\relax + \let\do@row@strut\relax + \let\ar@align@mcell\relax + \@temptokena{#1}\@tempswatrue + \@whilesw\if@tempswa\fi{\@tempswafalse\the\NC@list}% + \count@\m@ne + \let\the@toks\relax + \prepnext@tok + \expandafter \@tfor \expandafter \@nextchar + \expandafter :\expandafter =\the\@temptokena \do + {\@testpach + \ifcase \@chclass \@classz \or \@classi \or \@classii + \or \save@decl \or \or \@classv \or \@classvi + \or \@classvii \or \@classviii + \or \@classx + \or \@classx \fi + \@lastchclass\@chclass}% + \ifcase\@lastchclass + \@acol \or + \or + \@acol \or + \@preamerr \thr@@ \or + \@preamerr \tw@ \@addtopreamble\@sharp \or + \or + \else \@preamerr \@ne \fi + \def\the@toks{\the\toks}} +\let\@classix\relax +\def\@classviii{\ifnum \@lastchclass >\z@\ifnum\@lastchclass=\tw@\else + \@preamerr 4\@chclass 6 \@classvi \fi\fi} +\def\@classv{\save@decl + \expandafter\NC@ecs\@nextchar\extracolsep{}\extracolsep\@@@ + \@addtopreamble{\d@llarbegin\the@toks\the\count@\relax\d@llarend}% + \prepnext@tok} +\def\NC@ecs#1\extracolsep#2#3\extracolsep#4\@@@{\def\@tempa{#2}% + \ifx\@tempa\@empty\else\toks\count@={#1\tabskip#2\relax#3}\fi} +\def\@tabarray{\@ifnextchar[{\@@array}{\@@array[c]}} +\let\@@array\@array +\def\endarray{\crcr \egroup \egroup \@arrayright \gdef\@preamble{}} +\let\@arrayleft\@empty +\let\@arrayright\@empty +\newlength{\extratabsurround} +\setlength{\extratabsurround}{2pt} +\newlength{\backup@length} +\newcommand{\firsthline}{% + \multicolumn1c{% + \global\backup@length\ht\@arstrutbox + \global\advance\backup@length\dp\@arstrutbox + \global\advance\backup@length\arrayrulewidth + \raise\extratabsurround\copy\@arstrutbox + }\\[-\backup@length]\hline +} +\newcommand{\lasthline}{\hline\multicolumn1c{% + \global\backup@length2\ht\@arstrutbox + \global\advance\backup@length2\dp\@arstrutbox + \global\advance\backup@length\arrayrulewidth + }\\[-\backup@length]% + \multicolumn1c{% + \lower\extratabsurround\copy\@arstrutbox + }% +} +\CheckCommand*\@xhline{\ifx\reserved@a\hline + \vskip\doublerulesep + \vskip-\arrayrulewidth + \fi + \ifnum0=`{\fi}} +\renewcommand*\@xhline{\ifx\reserved@a\hline + \vskip\doublerulesep + \fi + \ifnum0=`{\fi}} + +\newsavebox\ar@cellbox +\newcolumntype{w}[2]{% + >{\begin{lrbox}\ar@cellbox}% + c% + <{\end{lrbox}% + \makebox[#2][#1]{\unhbox\ar@cellbox}}} + +\newcolumntype{W}[2] + {>{\begin{lrbox}\ar@cellbox}% + c% + <{\end{lrbox}% + \let\hss\hfil + \makebox[#2][#1]{\unhbox\ar@cellbox}}} +\endinput +%% +%% End of file `array.sty'. diff --git a/macros/latex/required/tools/array.dtx b/macros/latex/required/tools/array.dtx index acfa560937..ff963d7f51 100644 --- a/macros/latex/required/tools/array.dtx +++ b/macros/latex/required/tools/array.dtx @@ -29,10 +29,11 @@ %<+package>\providecommand\DeclareCurrentRelease[2]{} %<+package> %<+package>\DeclareRelease{}{2016-10-06}{array-2016-10-06.sty} -%<+package>\DeclareCurrentRelease{}{2019-10-01} +%<+package>\DeclareRelease{v2.4}{2020-02-10}{array-2020-02-10.sty} +%<+package>\DeclareCurrentRelease{}{2020-10-01} %<+package> %<+package>\ProvidesPackage{array} -%<+package> [2019/08/31 v2.4l Tabular extension package (FMi)] +%<+package> [2020/10/01 v2.5c Tabular extension package (FMi)] % % \fi % @@ -551,14 +552,16 @@ % \item rules can be placed between columns or rows thereby enlarging % the table. % \end{enumerate} -% \texttt{array.sty} implements the second possibility while the -% default implementation in the \LaTeX{} kernel implements the first -% concept. Both concepts have their merits but one has to be aware of -% the individual implications. +% For vertical rules \texttt{array.sty} implements the second +% possibility while the default implementation in the \LaTeX{} kernel +% implements the first concept. +% Both concepts have their merits but +% one has to be aware of the individual implications. % \begin{itemize} % \item -% With standard \LaTeX{} adding rules to a table will not affect the -% width or height of the table (unless double rules are used), e.g., +% With standard \LaTeX{} adding vertical rules to a table will +% not affect the +% width of the table (unless double rules are used), e.g., % changing a preamble from \verb=lll= to \verb=l|l|l= does not % affect the document other than adding rules to the table. In % contrast, with \texttt{array.sty} a table that just fit the @@ -601,6 +604,12 @@ % \end{center} % \end{itemize} % +% Horizontal rules produced with \cs{hline} add to the table height in +% both implementations but they differ in handling double \cs{hline}s. +% In contrast a \cs{cline} does not change the table +% height.\footnote{All a bit inconsistent, but nothing that can be +% changed after being 30+ years in existence.} +% % \subsection{Comparisons with older versions of \texttt{array.sty}} % % There are some differences in the way version 2.1 treats incorrect @@ -730,7 +739,11 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] \documentclass{ltxdoc} -\AtBeginDocument{\DeleteShortVerb{\|}} % undo the default is not used +% undo the default is not used: + +\IfFormatAtLeastTF {2020/10/01} + {\AtBeginDocument[ltxdoc]{\DeleteShortVerb{\|}} } + {\AtBeginDocument{\DeleteShortVerb{\|}} } \usepackage{array} @@ -746,6 +759,7 @@ %\OnlyDescription % comment out for implementation details %\OldMakeindex % use if your MakeIndex is pre-v2.9 + \begin{document} \DocInput{array.dtx} \end{document} @@ -2206,8 +2220,13 @@ \let\do@row@strut\relax % \end{macrocode} % +% \cs{@yargarraycr} is the same as in the \LaTeX{} kernel +% (depending on the date of the kernel with one of the two +% definitions below). We therefore do not define it again. +% \changes{v2.5b}{2020/04/22}{Don't define \cs{@yargarraycr} unnecessarily} % \begin{macrocode} -\def\@yargarraycr#1{\cr\noalign{\vskip #1}} +%\def\@yargarraycr#1{\cr\noalign{\@vspace@calcify{#1}}} % 2020-10-01 +%\def\@yargarraycr#1{\cr\noalign{\vskip #1}} % \end{macrocode} % \end{macro} % \end{macro} @@ -2916,10 +2935,13 @@ % % We start by producing a single tabular row without any visible % content that will produce the external reference point in case -% "[t]" is used. +% "[t]" is used. We need to suppress the \cs{tabcolsep} in the +% \cs{multicolumn} in case there wasn't any in the real column. +% +% \changes{v2.5c}{2020/07/20}{Suppress all column space (gh/322)} % \begin{macrocode} \newcommand{\firsthline}{% - \multicolumn1c{% + \multicolumn1{@{}c@{}}{% % \end{macrocode} % Within this row we calculate "\backup@length" to be the height % plus depth of a standard line. In addition we have to add the @@ -2936,6 +2958,10 @@ % \begin{macrocode} \raise\extratabsurround\copy\@arstrutbox % \end{macrocode} +% And we should also cancel the guard otherwise we end up with two. +% \begin{macrocode} + \kern-1sp% +% \end{macrocode} % Having done all this we end the line and back up by the value of % "\backup@length" and then finally place our "\hline". This should % place the line exactly at the right place but keep the reference @@ -2957,9 +2983,12 @@ % depth of this last line increased by "\extratabsurround" without % changing the placement "\hline". % -% We start by placing the rule followed by an invisible row. +% We start by placing the rule followed by an invisible row. We +% need to suppress the \cs{tabcolsep} in the multicol in case there +% wasn't any in the real column. +% \changes{v2.5c}{2020/07/20}{Suppress all column space (gh/322)} % \begin{macrocode} -\newcommand{\lasthline}{\hline\multicolumn1c{% +\newcommand{\lasthline}{\hline\multicolumn1{@{}c@{}}{% % \end{macrocode} % We now calculate "\backup@length" to be the height and depth of % two lines plus the width of the rule. @@ -2977,8 +3006,9 @@ % reference for the whole tabular). Since this row is invisible we % can enlarge its depth by the desired amount. % \begin{macrocode} - \multicolumn1c{% + \multicolumn1{@{}c@{}}{% \lower\extratabsurround\copy\@arstrutbox + \kern-1sp% }% } % \end{macrocode} @@ -3034,14 +3064,18 @@ % alignment which is either "l", "c", or "r" and the second is the % nominal width of the column. % \changes{v2.4f}{2017/11/07}{Column type added} +% \changes{v2.5a}{2020/04/06}{Use \cs{d@llarbegin} and \cs{d@llarend} so +% that cell is typeset in math mode inside \texttt{array} (gh/297)} % \begin{macrocode} \newcolumntype{w}[2]{% % \end{macrocode} % Before the cell content we start an "lrbox"-environment to % collect the cell material into the previously allocated box -% "\ar@cellbox". +% "\ar@cellbox". We add \cs{d@llarbegin} (and later \cs{d@llarend}) +% so that the content is typeset in math mode if we are in an +% \texttt{array} environment. % \begin{macrocode} - >{\begin{lrbox}\ar@cellbox}% + >{\begin{lrbox}\ar@cellbox\d@llarbegin}% % \end{macrocode} % Then comes a specifier for the cell content. We use "c", but % that doesn't matter as in the end we will always put a box of a @@ -3056,10 +3090,13 @@ % of the cell content is now in box "\ar@cellbox". As a final step we % put that box into a "\makebox" using the optional arguments of % that command to achieve the correct width and the desired -% alignment within that width. +% alignment within that width. We unbox the collected material so +% that any stretchable glue inside can interact with the alignment. +% \changes{v2.4m}{2020/02/10}{Unbox collected material so that +% stretchable glue inside can act (gh/270)} % \begin{macrocode} - <{\end{lrbox}% - \makebox[#2][#1]{\usebox\ar@cellbox}}} + <{\d@llarend \end{lrbox}% + \makebox[#2][#1]{\unhbox\ar@cellbox}}} % \end{macrocode} % \end{macro} @@ -3069,11 +3106,13 @@ % The \texttt{W} is similar but in this case we want a warning if % the cell content is too wide. % \changes{v2.4f}{2017/11/07}{Column type added} +% \changes{v2.5a}{2020/04/06}{Use \cs{d@llarbegin} and \cs{d@llarend} so +% that cell is typeset in mathmode inside \texttt{array} (gh/297)} % \begin{macrocode} \newcolumntype{W}[2] - {>{\begin{lrbox}\ar@cellbox}% + {>{\begin{lrbox}\ar@cellbox\d@llarbegin}% c% - <{\end{lrbox}% + <{\d@llarend\end{lrbox}% \let\hss\hfil \makebox[#2][#1]{\unhbox\ar@cellbox}}} % \end{macrocode} diff --git a/macros/latex/required/tools/array.pdf b/macros/latex/required/tools/array.pdf Binary files differindex e308c14d2b..317e208e98 100644 --- a/macros/latex/required/tools/array.pdf +++ b/macros/latex/required/tools/array.pdf diff --git a/macros/latex/required/tools/bm.pdf b/macros/latex/required/tools/bm.pdf Binary files differindex 4e988b3dd4..fc9bd90e62 100644 --- a/macros/latex/required/tools/bm.pdf +++ b/macros/latex/required/tools/bm.pdf diff --git a/macros/latex/required/tools/calc.pdf b/macros/latex/required/tools/calc.pdf Binary files differindex 0f5d289efc..503fc8e501 100644 --- a/macros/latex/required/tools/calc.pdf +++ b/macros/latex/required/tools/calc.pdf diff --git a/macros/latex/required/tools/changes.txt b/macros/latex/required/tools/changes.txt index bc35e02d1a..9faebdb680 100644 --- a/macros/latex/required/tools/changes.txt +++ b/macros/latex/required/tools/changes.txt @@ -5,6 +5,53 @@ completeness or accuracy and it contains some references to files that are not part of the distribution. ======================================================================= +2020-08-11 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * varioref.dtx: Updated suppor for Japanese (gh/352 and gh/369) + +2020-07-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * array.dtx (subsection{Support for \firsthline ...): + Ensure that the tabular width isn't changed (gh/322) + + * array.dtx (subsection{Handling of rules}): + Clarified the handling of rules, no code change (gh/319). + + * varioref.dtx (subsection{Options}): + Option japanese added (gh/352) + +2020-06-06 Johannes Braams <Johannes.Braams@latex-project.org> + + * verbatim.dtx: Save the value if \@filef@und before the call to + \@verbatim to make sure that \verbatiminput reads the right + file. (gh/222). + +2020-05-10 Johannes Braams <Johannes.Braams@latex-project.org> + + * xr.dtx: Remove leading and trailing spaces from the argument to + \externaldocument, making sure that spaces *in* filenames are + supprted (gh/217). + +2020-04-22 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * array.dtx (section{The line separator \\): + Don't define \@yargarraycr unnecessarily (gh/152) + +2020-04-06 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * array.dtx (subsection{Implementing column types w and W}): + Use \d@llarbegin and \d@llarendde so that cell is typeset by + default in math mode inside array; the use of >{$} ... <{$} + to make such a column text mode remains possible + (gh/297) --- this is a breaking change! + + +2020-02-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * array.dtx (subsection{Implementing column types w and W}): + Unbox collected material so that stretchable glue + inside can act (gh/270) + ######################### # 2020-02-02 Release ######################### diff --git a/macros/latex/required/tools/dcolumn.pdf b/macros/latex/required/tools/dcolumn.pdf Binary files differindex bdef8b616f..a8fb3ec0e5 100644 --- a/macros/latex/required/tools/dcolumn.pdf +++ b/macros/latex/required/tools/dcolumn.pdf diff --git a/macros/latex/required/tools/delarray.pdf b/macros/latex/required/tools/delarray.pdf Binary files differindex cb0d378fc0..4149c3350c 100644 --- a/macros/latex/required/tools/delarray.pdf +++ b/macros/latex/required/tools/delarray.pdf diff --git a/macros/latex/required/tools/enumerate.pdf b/macros/latex/required/tools/enumerate.pdf Binary files differindex 595b850bb7..fb3444bfb0 100644 --- a/macros/latex/required/tools/enumerate.pdf +++ b/macros/latex/required/tools/enumerate.pdf diff --git a/macros/latex/required/tools/fileerr.pdf b/macros/latex/required/tools/fileerr.pdf Binary files differindex 46f7e76603..afbd599ced 100644 --- a/macros/latex/required/tools/fileerr.pdf +++ b/macros/latex/required/tools/fileerr.pdf diff --git a/macros/latex/required/tools/fontsmpl.pdf b/macros/latex/required/tools/fontsmpl.pdf Binary files differindex e930726bb1..47b8b6add7 100644 --- a/macros/latex/required/tools/fontsmpl.pdf +++ b/macros/latex/required/tools/fontsmpl.pdf diff --git a/macros/latex/required/tools/ftnright.pdf b/macros/latex/required/tools/ftnright.pdf Binary files differindex ca4fbdd831..e0fff5f0fa 100644 --- a/macros/latex/required/tools/ftnright.pdf +++ b/macros/latex/required/tools/ftnright.pdf diff --git a/macros/latex/required/tools/hhline.pdf b/macros/latex/required/tools/hhline.pdf Binary files differindex 5c2a81ef88..eb2ec4aa3d 100644 --- a/macros/latex/required/tools/hhline.pdf +++ b/macros/latex/required/tools/hhline.pdf diff --git a/macros/latex/required/tools/indentfirst.pdf b/macros/latex/required/tools/indentfirst.pdf Binary files differindex 75987d3cb3..c243c729a1 100644 --- a/macros/latex/required/tools/indentfirst.pdf +++ b/macros/latex/required/tools/indentfirst.pdf diff --git a/macros/latex/required/tools/layout.pdf b/macros/latex/required/tools/layout.pdf Binary files differindex 64d086cb1e..f8acf83316 100644 --- a/macros/latex/required/tools/layout.pdf +++ b/macros/latex/required/tools/layout.pdf diff --git a/macros/latex/required/tools/longtable.pdf b/macros/latex/required/tools/longtable.pdf Binary files differindex 67b21c5b23..654a01e741 100644 --- a/macros/latex/required/tools/longtable.pdf +++ b/macros/latex/required/tools/longtable.pdf diff --git a/macros/latex/required/tools/multicol.pdf b/macros/latex/required/tools/multicol.pdf Binary files differindex 7ac6dec0ef..1be39ed835 100644 --- a/macros/latex/required/tools/multicol.pdf +++ b/macros/latex/required/tools/multicol.pdf diff --git a/macros/latex/required/tools/rawfonts.pdf b/macros/latex/required/tools/rawfonts.pdf Binary files differindex d431dcd213..a08d02e194 100644 --- a/macros/latex/required/tools/rawfonts.pdf +++ b/macros/latex/required/tools/rawfonts.pdf diff --git a/macros/latex/required/tools/shellesc.pdf b/macros/latex/required/tools/shellesc.pdf Binary files differindex a2c9b5ece8..17cf918f46 100644 --- a/macros/latex/required/tools/shellesc.pdf +++ b/macros/latex/required/tools/shellesc.pdf diff --git a/macros/latex/required/tools/showkeys.pdf b/macros/latex/required/tools/showkeys.pdf Binary files differindex 12c5faab68..f906508ba7 100644 --- a/macros/latex/required/tools/showkeys.pdf +++ b/macros/latex/required/tools/showkeys.pdf diff --git a/macros/latex/required/tools/somedefs.pdf b/macros/latex/required/tools/somedefs.pdf Binary files differindex 594989d675..bc5e6f0363 100644 --- a/macros/latex/required/tools/somedefs.pdf +++ b/macros/latex/required/tools/somedefs.pdf diff --git a/macros/latex/required/tools/tabularx.pdf b/macros/latex/required/tools/tabularx.pdf Binary files differindex c1a4e54b0b..ac37ffe15f 100644 --- a/macros/latex/required/tools/tabularx.pdf +++ b/macros/latex/required/tools/tabularx.pdf diff --git a/macros/latex/required/tools/theorem.pdf b/macros/latex/required/tools/theorem.pdf Binary files differindex dea392de68..a67c4c1fb3 100644 --- a/macros/latex/required/tools/theorem.pdf +++ b/macros/latex/required/tools/theorem.pdf diff --git a/macros/latex/required/tools/tools-overview.pdf b/macros/latex/required/tools/tools-overview.pdf Binary files differindex 7bf771f6c3..4db178ed30 100644 --- a/macros/latex/required/tools/tools-overview.pdf +++ b/macros/latex/required/tools/tools-overview.pdf diff --git a/macros/latex/required/tools/trace.pdf b/macros/latex/required/tools/trace.pdf Binary files differindex a989f84d2b..ad2af272be 100644 --- a/macros/latex/required/tools/trace.pdf +++ b/macros/latex/required/tools/trace.pdf diff --git a/macros/latex/required/tools/varioref.dtx b/macros/latex/required/tools/varioref.dtx index 077103eb97..2bba60465e 100644 --- a/macros/latex/required/tools/varioref.dtx +++ b/macros/latex/required/tools/varioref.dtx @@ -40,7 +40,7 @@ %<package>\DeclareCurrentRelease{}{2019-10-01} %<package> %<package>\ProvidesPackage{varioref} -%<package> [2020/01/23 v1.6c package for extended references (FMi)] +%<package> [2020/08/11 v1.6e package for extended references (FMi)] % \fi % %% @@ -70,7 +70,7 @@ % \PackageWarning{inputenc}{Unicode character \expandafter % \UTFviii@splitcsname\string##1\relax % \MessageBreak -% not set up for use with LaTeX}^^A +% not set up for use with LaTeX -- ignored}^^A % \raisebox{.8pt}{\fboxsep1pt\kern.1pt\fbox{$\cdot$}\kern.1pt}^^A % }} % \makeatother @@ -390,6 +390,8 @@ %\end{verbatim} % textual references can be suppressed. % +% +% % \section{Multi-lingual usage} % % The package works well together with the babel system if it is @@ -475,6 +477,19 @@ % describes the range of figures, tables, or whatever the labels refer % to, the default for English is ``|\ref{#1} to~\ref{#2}|''. % +% +% \NewIn{2020} +% \DescribeMacro\vrefformat +% \DescribeMacro\Vrefformat +% \DescribeMacro\vrefrangeformat +% \DescribeMacro\fullrefformat +% In some languages (currently only for Japanese) the generated text +% has to typeset in different word order to most other (Western) languages. +% To accomodate for this \cs{vrefformat}, etc.\ has been +% added to allow to alter this on a per language basis. +% There should be normally no need to alter the setup. For details see +% the code section. +% % \subsection{\ldots\ if Babel is used} % % \begin{itshape} If babel is being used then the above commands need to be @@ -556,6 +571,7 @@ % |\fullref| is also provided. This command can be used whenever you % know for sure that label and reference can't fall onto nearby pages. % +% % \StopEventually{\PrintIndex\PrintChanges} % % @@ -708,6 +724,10 @@ \def\reftextfaraway#1{op bladsy~\pageref{#1}}% \def\reftextpagerange#1#2{op bladsye~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} tot~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % @@ -723,6 +743,10 @@ \def\reftextfaraway#1{on page~\pageref{#1}}% \def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Arabic option text was contributed by Ihab Samir Mattar @@ -743,6 +767,10 @@ \def\reftextfaraway#1{بالصفحة رقم~\pageref{#1}}% \def\reftextpagerange#1#2{بالصفحات~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} حتى~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % \end{allowtofu} @@ -759,6 +787,7 @@ \def\reftextfaraway#1{auf Seite~\pageref{#1}}% \def\reftextpagerange#1#2{auf Seiten~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}% + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % \changes{v1.2d}{2000/01/11}{Added naustrian defaults (identical to german)} @@ -774,6 +803,10 @@ \def\reftextfaraway#1{auf Seite~\pageref{#1}}% \def\reftextpagerange#1#2{auf Seiten~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for basque defaults was contributed by @@ -791,6 +824,10 @@ \def\reftextfaraway#1{~\pageref{#1}. orrialdean}% \def\reftextpagerange#1#2{~\pageref{#1}--\pageref{#2} orrialdeetan}% \def\reftextlabelrange#1#2{\ref{#1}.etik \ref{#2}.eraino}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for the Bahasa Malaysia defaults was contributed by @@ -815,6 +852,10 @@ \def\reftextfaraway#1{pada muka surat~\pageref{#1}}% \def\reftextpagerange#1#2{pada muka surat~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for brazil defaults was contributed by @@ -837,6 +878,10 @@ \def\reftextfaraway#1{na p\'agina~\pageref{#1}}% \def\reftextpagerange#1#2{nas p\'aginas~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for Breton defaults was contributed by @@ -858,6 +903,10 @@ on pages~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange \ref{#1} to~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for Bulgarian defaults was contributed by @@ -892,6 +941,10 @@ \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyri ~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} \cyrd\cyro~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for catalan defaults was contributed by Robert Fuster\\ @@ -910,6 +963,10 @@ \def\reftextpagerange#1#2{a les p\`agines~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for croatian defaults was contributed by \v{S}ime Ungar @@ -926,6 +983,10 @@ \def\reftextfaraway#1{na stranici~\pageref{#1}}% \def\reftextpagerange#1#2{na stranicama~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} do~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Defaults for the Czech option provided by Milan Vancura @@ -943,6 +1004,10 @@ \def\reftextfaraway#1{na stran\v{e}~\pageref{#1}}% \def\reftextpagerange#1#2{na stran\'ach~\pageref{#1}\--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a\v{z}~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Defaults for Danish provided by Torsten Martinsen @@ -965,6 +1030,10 @@ \def\reftextfaraway#1{p\aa{} side~\pageref{#1}}% \def\reftextpagerange#1#2{p\aa{} side~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Default string for dutch have been contributed by Frank Poppe @@ -1004,6 +1073,10 @@ % \begin{macrocode} \def\reftextpagerange#1#2{op pagina's~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % \changes{v1.2a}{1998/08/22}{Added english defaults for @@ -1021,6 +1094,10 @@ \def\reftextfaraway#1{on page~\pageref{#1}}% \def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % @@ -1041,6 +1118,10 @@ \def\reftextfaraway#1{en pa\^go~\pageref{#1}}% \def\reftextpagerange#1#2{en pa\^goj~\pageref{#1} \^gis \pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} \^gis~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The finnish strings were suggested by Matti Rintala @@ -1064,6 +1145,10 @@ % Can't combine numbers with the necessary suffix well. % \begin{macrocode} \def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % French defaults are provided by Daniel Flippo @@ -1083,6 +1168,10 @@ \def\reftextfaraway#1{page~\pageref{#1}}% \def\reftextpagerange#1#2{pages~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} \`a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Galician defaults are provided by Matthias Moebius\\ @@ -1104,6 +1193,10 @@ \def\reftextpagerange#1#2{% nas p\'axinas~\pageref{#1}-\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % There are no good variants for German (I think and still think but @@ -1138,6 +1231,10 @@ \def\reftextfaraway#1{auf Seite~\pageref{#1}}% \def\reftextpagerange#1#2{auf den Seiten~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % \changes{v1.2d}{2000/01/11}{Added ngerman defaults (identical to german)} @@ -1155,6 +1252,10 @@ \def\reftextfaraway#1{auf Seite~\pageref{#1}}% \def\reftextpagerange#1#2{auf den Seiten~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Defaults for greek suggested by Apostolos Syropoulos\\ @@ -1174,6 +1275,10 @@ \def\reftextpagerange#1#2{stis sel'ides\nobreakspace \pageref{#1}---\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} ws\nobreakspace\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Icelandic defaults suggested by Thorhallur Sverrisson @@ -1194,6 +1299,10 @@ \def\reftextfaraway#1{\'{a} s\'{i}{\dh}u~\pageref{#1}}% \def\reftextpagerange#1#2{\'{a} s\'{i}{\dh}um~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Defaults for Italian suggested by Giovanni Pensa @@ -1218,8 +1327,44 @@ \def\reftextfaraway#1{a pagina~\pageref{#1}}% \def\reftextpagerange#1#2{nelle pagine~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{da~\ref{#1} a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} +% Defaults for Japanese. It needs a special \cs{vrefformat}, +% \cs{Vrefformat}, \cs{fullrefformat} and \cs{vrefrangeformat} +% for gramatical reasons. As our standard documentation +% workflow uses pdf\TeX{} the Japanese letters can't be displayed +% 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.6d}{2020/07/20}{Option japanese added (gh/352)} +% \changes{v1.6e}{2020/07/25}{Option japanese changed (gh/352)} +% \begin{allowtofu} +% \begin{macrocode} +\DeclareOption{japanese} + {\vref@addto\extrasjapanese{% + \def\reftextfaceafter {\reftextvario{見開き}{次}ページ}% + \def\reftextfacebefore{\reftextvario{見開き}{前}ページ}% + \def\reftextafter {\reftextvario{直後の}{次}ページ}% + \def\reftextbefore {\reftextvario{直前の}{前}ページ}% + \def\reftextcurrent {\reftextvario{この}{現}ページ}% + \def\reftextfaraway#1{\pageref{#1}ページ}% + \def\reftextpagerange#1#2{\pageref{#1}から\pageref{#2}ページ}% + \def\reftextlabelrange#1#2{\ref{#1}から\ref{#2}}% +% \end{macrocode} +% Note that the parentheses beow are not normal ones but full width +% ones U+FF08 and U+FF09! +% \begin{macrocode} + \def\vrefformat#1#2{\ref{#2}(\vpageref[#1]{#2})}% + \def\Vrefformat#1#2{\Ref{#2}(\vpageref[#1]{#2})}% + \def\fullrefformat#1{\ref{#1}(\reftextfaraway{#1})}% + \def\vrefrangeformat#1#2#3{\reftextlabelrange{#2}{#3}% + (\vpagerefrange[{#1}]{#2}{#3})}% + }} +% \end{macrocode} +% \end{allowtofu} % Defaults for Hungarian by Jeff Goldberg % (\verb=jeffrey@goldmark.org=). % There is a problem with the use of the definite article @@ -1264,6 +1409,10 @@ on pages~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange \ref{#1} to~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }% % \end{macrocode} % The |\AtBeginDocument| needs to be executed when the option is @@ -1304,6 +1453,10 @@ \def\reftextfaraway#1{p\aa{} side~\pageref{#1}}% \def\reftextpagerange#1#2{p\aa{} side~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} \DeclareOption{nynorsk} {\vref@addto\extrasnynorsk{% @@ -1315,6 +1468,10 @@ \def\reftextfaraway#1{p\aa{} side~\pageref{#1}}% \def\reftextpagerange#1#2{p\aa{} side~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The polish translations have been provided by @@ -1342,6 +1499,10 @@ \def\reftextfaraway#1{na stronie~\pageref{#1}}% \def\reftextpagerange#1#2{na stronach~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{od~\ref{#1} do~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The portuguese default text has been provided by @@ -1362,6 +1523,10 @@ \def\reftextfaraway#1{na p\'agina~\pageref{#1}}% \def\reftextpagerange#1#2{nas p\'aginas~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Updates to the default text for Romanian have been suggested by Florin Oprina @@ -1381,6 +1546,10 @@ \def\reftextfaraway#1{pe pagina~\pageref{#1}}% \def\reftextpagerange#1#2{pe paginile~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} la~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The text for russian was taken from the book in Russian by @@ -1414,6 +1583,10 @@ \def\reftextpagerange#1#2{\cyrn\cyra\ \cyrs\cyrt\cyrr\cyra\cyrn \cyri\cyrc\cyra\cyrh~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\cyrs~\ref{#1}\ \cyrp\cyro~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The text for slovak defaults was contributed by Miroslav Sedivy\\ @@ -1434,6 +1607,10 @@ \def\reftextfaraway#1{na strane~\pageref{#1}}% \def\reftextpagerange#1#2{na stran\'ach~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a\v z~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The text for slovene defaults was contributed by Roman Maurer\\ @@ -1450,6 +1627,10 @@ \def\reftextfaraway#1{na strani~\pageref{#1}}% \def\reftextpagerange#1#2{na straneh~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{od~\ref{#1} do~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % Text for spanish defaults was contributed by Julio Sanchez @@ -1470,6 +1651,10 @@ \def\reftextpagerange#1#2{en las p\'aginas~\pageref{#1}% -\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The text for swedish was contributed by Mats Dahlgren @@ -1492,6 +1677,10 @@ \def\reftextpagerange#1#2{p\aa\ sidorna~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} till~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} \DeclareOption{turkish} {\vref@excuse{turkish}% @@ -1505,6 +1694,7 @@ \def\reftextfaraway#1{on page~\pageref{#1}}% \def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}% + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % The text for Ukrainian defaults was contributed by Mykola Lyakhovych\\ @@ -1532,6 +1722,10 @@ \def\reftextpagerange#1#2{\cyrn\cyra\ \cyrs\cyrt\cyro\cyrr\cyrii \cyrn\cyrk\cyra\cyrh~\pageref{#1}--\pageref{#2}}% \def\reftextlabelrange#1#2{\cyrz~\ref{#1}\ \cyrd\cyro~\ref{#2}}% + \let\vrefformat\vrefdefaultformat + \let\Vrefformat\Vrefdefaultformat + \let\fullrefformat\fullrefdefaultformat + \let\vrefrangeformat\vrefrangedefaultformat }} % \end{macrocode} % We support francais as an alternative to french since people @@ -1585,7 +1779,6 @@ % \pkg{babel} package). % \begin{macrocode} \ExecuteOptions{english,final,space} -\ProcessOptions* % \end{macrocode} % % @@ -2062,11 +2255,26 @@ % |\vpageref|, it that is needed one has to call both commands % explicitly % \changes{v1.6a}{2019/08/25}{Command added to support hyperref better} +% \changes{v1.6e}{2020/07/25}{Changed for Japanese (gh/352)} +% \begin{macrocode} +\newcommand\vref@star[1][]{\vrefformat{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\vrefformat,\vrefdefaultformat} +% Japanese needs a different word order in \cs{vref@star} so this +% is separated out o that it can be changed on language level. +% \changes{v1.6e}{2020/07/25}{Macro added (gh/352)} % \begin{macrocode} -\newcommand\vref@star[2][]{% +\def\vrefdefaultformat#1#2{% \ref{#2} \vpageref[#1]{#2}} % \end{macrocode} +% Most languages need the above definition. +% \begin{macrocode} +\let\vrefformat\vrefdefaultformat +% \end{macrocode} % \end{macro} % \begin{macro}{\vr@f} @@ -2172,8 +2380,24 @@ % \begin{macro}{\fullref} % And here is the primitive command that always produces a |\ref| % and a |\pageref|. +% \changes{v1.6e}{2020/07/25}{Changed for Japanese (gh/352)} +% \begin{macrocode} +\newcommand\fullref{\fullrefformat} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\fullrefformat,\fullrefdefaultformat} +% Japanese needs a different word order in \cs{fullref} so this +% is separated out o that it can be changed on language level. +% \changes{v1.6e}{2020/07/25}{Macro added (gh/352)} % \begin{macrocode} -\def\fullref#1{\ref{#1} \reftextfaraway{#1}} +\def\fullrefdefaultformat#1{% + \ref{#1} \reftextfaraway{#1}} +% \end{macrocode} +% Most languages need the above definition. +% \begin{macrocode} +\let\fullrefformat\fullrefdefaultformat % \end{macrocode} % \end{macro} % @@ -2286,13 +2510,28 @@ % \changes{v1.2a}{1998/08/01}{Macro added} % \changes{v1.4s}{2006/08/07} % {Prevent loss of brackets} +% \changes{v1.6d}{2020/07/20}{Changed for Japanese (gh/352)} +% Argument two and three are implicitly picked up. % \begin{macrocode} -\newcommand\vrefrange[3][\reftextcurrent] - {\reftextlabelrange{#2}{#3} \vpagerefrange[{#1}]{#2}{#3}} +\newcommand\vrefrange[1][\reftextcurrent]{\vrefrangeformat{#1}} % \end{macrocode} +% % \end{macro} % % +% \begin{macro}{\vrefrangeformat,\vrefrangedefaultformat} +% Japanese needs a different word order in \cs{vrefrange} so this +% is separated out o that it can be changed on language level. +% \changes{v1.6d}{2020/07/20}{Macro added (gh/352)} +% \begin{macrocode} +\def\vrefrangedefaultformat#1#2#3{% + \reftextlabelrange{#2}{#3} \vpagerefrange[{#1}]{#2}{#3}} +% \end{macrocode} +% Most languages need the above definition. +% \begin{macrocode} +\let\vrefrangeformat\vrefrangedefaultformat +% \end{macrocode} +% \end{macro} % % \begin{macro}{\Vref} % \changes{v1.4a}{2002/02/24}{Macro added} @@ -2308,11 +2547,26 @@ % % \begin{macro}{\Vref@star} % \changes{v1.6a}{2019/08/25}{Command added to support hyperref better} +% \changes{v1.6e}{2020/07/25}{Changed for Japanese (gh/352)} % \begin{macrocode} -\newcommand\Vref@star[2][]{% +\newcommand\Vref@star[1][]{\Vrefformat{#1}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\Vrefformat,\Vrefdefaultformat} +% Japanese needs a different word order in \cs{Vref} so this +% is separated out o that it can be changed on language level. +% \changes{v1.6e}{2020/07/25}{Macro added (gh/352)} +% \begin{macrocode} +\def\Vrefdefaultformat#1#2{% \Ref{#2} \vpageref[#1]{#2}} % \end{macrocode} +% Most languages need the above definition. +% \begin{macrocode} +\let\Vrefformat\Vrefdefaultformat +% \end{macrocode} % \end{macro} % % \begin{macro}{\Vr@f} @@ -2443,6 +2697,12 @@ % \end{macro} % \end{macro} % +% \changes{v1.6e}{2020/07/25}{Move to handle +% the language-specific reference formats. (gh/352)} +% \begin{macrocode} +\ProcessOptions* +% \end{macrocode} +% % \begin{macrocode} %</package> % \end{macrocode} diff --git a/macros/latex/required/tools/varioref.pdf b/macros/latex/required/tools/varioref.pdf Binary files differindex 2386f287ec..0fd8522619 100644 --- a/macros/latex/required/tools/varioref.pdf +++ b/macros/latex/required/tools/varioref.pdf diff --git a/macros/latex/required/tools/verbatim.dtx b/macros/latex/required/tools/verbatim.dtx index 121e2d4b39..e62886e003 100644 --- a/macros/latex/required/tools/verbatim.dtx +++ b/macros/latex/required/tools/verbatim.dtx @@ -69,6 +69,8 @@ %\fi % % +% \changes{v1.5u}{2020-07-07}{Typo repair and added a missing comment +% character} % \changes{v1.5q}{2003/08/22}{Reintroduced \cs{@noligs}, by popular % request.} % \changes{v1.5i}{1996/06/04}{Move setting of verbatim font and @@ -462,9 +464,12 @@ % the spacing. % Then we open the file and set the category codes of all special % characters: +% \changes{v1.5t}{2020-07-05}{Added quotes around the filename in +% order to allow a filename with spaces; also added a space and +% comment-character to allow for thespace dlimited argument.} % \begin{verbatim} % \@bsphack -% \immediate\openout \verbatim@out #1 +% \immediate\openout \verbatim@out "#1" % % \let\do\@makeother\dospecials % \catcode`\^^M\active %\end{verbatim} @@ -503,7 +508,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{verbatim} - [2019/11/10 v1.5r LaTeX2e package for verbatim enhancements] + [2020-07-07 v1.5u LaTeX2e package for verbatim enhancements] \@ifundefined{verbatim@@@}{}{\endinput} % \end{macrocode} % @@ -1567,19 +1572,31 @@ % existence of file.} % |\verbatim@input| first checks whether the file exists, using % the standard macro |\IfFileExists| which leaves the name of the -% file found in |\@filef@und|. -% Then everything is set up as in the |\verbatim| macro. +% file found in |\@filef@und|. +% Then everything is set up as in the |\verbatim| macro. But, as +% |\@verbatim| contains a call to |\every@verbatim| which +% \emph{might} contain an |\input| statement, which would overwrite +% the contents of |\@filef@und|, we need to save it by expanding it +% first. The use of |\@swaptwoargs| makes it so that the +% \emph{expansion} of |\@filef@und| gets to be the second argument +% of |\verbatim@readfile|. +% \changes{v1.5t}{2020-07-06}{Expand \cs{@filef@und} before the call +% of \cs{@verbatim} (gh/222)}m % \begin{macrocode} \def\verbatim@input#1#2{% - \IfFileExists {#2}{\@verbatim #1\relax + \IfFileExists {#2}{% + \expandafter\@swaptwoargs\expandafter + {\expandafter{\@filef@und}}% + {\@verbatim #1\relax % \end{macrocode} % Then it reads in the file, finishes off the \texttt{trivlist} % environment started by |\@verbatim| and closes the group. % This restores everything to its normal settings. % \begin{macrocode} - \verbatim@readfile{\@filef@und}\endtrivlist\endgroup\@doendpe}% + \verbatim@readfile}% + \endtrivlist\endgroup\@doendpe}% % \end{macrocode} -% If the file is not found a more or less helpful message is +% If the file is not found a more or less helpful message is % printed. The final |\endgroup| is needed to close the group % started in |\verbatiminput| above. % \begin{macrocode} diff --git a/macros/latex/required/tools/verbatim.pdf b/macros/latex/required/tools/verbatim.pdf Binary files differindex 73e90c27ce..953d3e7513 100644 --- a/macros/latex/required/tools/verbatim.pdf +++ b/macros/latex/required/tools/verbatim.pdf diff --git a/macros/latex/required/tools/xr.dtx b/macros/latex/required/tools/xr.dtx index a6b2ffd819..a963886cde 100644 --- a/macros/latex/required/tools/xr.dtx +++ b/macros/latex/required/tools/xr.dtx @@ -25,7 +25,7 @@ % %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{xr} -%<package> [2019/07/22 v5.05 eXternal References (DPC)] +%<package> [2020-05-10 v5.06 eXternal References (DPC)] % %<*driver> \documentclass{ltxdoc} @@ -103,12 +103,15 @@ \let\externalcitedocument\externaldocument % \end{macrocode} % -% Save the optional prefix. Start processing the first |aux| file. +% Save the optional prefix. Start processing the first |aux| file. +% \changes{v5.06}{2020-05-10}{Remove leading and trailing sapces from +% the filename (gh/2223)} % \begin{macrocode} \def\XR@[#1]#2{{% \makeatletter \def\XR@prefix{#1}% - \XR@next#2.aux\relax\\}} + \set@curr@file{#2}% + \expandafter\XR@next\@curr@file.aux\relax\\}} % \end{macrocode} % % Process the next |aux| file in the list and remove it from the head of @@ -135,8 +138,10 @@ % If the |aux| file exists, loop through line by line, looking for % |\newlabel| and |\@input|. Otherwise process the next file in the % list. +% \changes{v5.06}{2020-05-10}{Add braces around the filename to +% support filenames with spaces (gh/223)} % \begin{macrocode} -\def\XR@loop#1{\openin\@inputcheck#1\relax +\def\XR@loop#1{\openin\@inputcheck{#1}\relax \ifeof\@inputcheck \PackageWarning{xr}{^^JNo file #1^^JLABELS NOT IMPORTED.^^J}% \expandafter\XR@aux diff --git a/macros/latex/required/tools/xr.pdf b/macros/latex/required/tools/xr.pdf Binary files differindex 0253f595e8..9625d29a0f 100644 --- a/macros/latex/required/tools/xr.pdf +++ b/macros/latex/required/tools/xr.pdf diff --git a/macros/latex/required/tools/xspace.pdf b/macros/latex/required/tools/xspace.pdf Binary files differindex c38797ee4e..a597f80603 100644 --- a/macros/latex/required/tools/xspace.pdf +++ b/macros/latex/required/tools/xspace.pdf |