From c88c1ecb068070a6e69006788a141eea3fba4b0e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 16 Nov 2021 21:26:52 +0000 Subject: latex-dev (16nov21) git-svn-id: svn://tug.org/texlive/trunk@61076 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex-dev/base/ltpara.dtx | 46 +++++------ Master/texmf-dist/source/latex-dev/base/ltvers.dtx | 4 +- .../latex2e-first-aid-for-external-files.dtx | 92 +--------------------- .../texmf-dist/source/latex-dev/tools/multicol.dtx | 46 ++++++----- 4 files changed, 47 insertions(+), 141 deletions(-) (limited to 'Master/texmf-dist/source/latex-dev') diff --git a/Master/texmf-dist/source/latex-dev/base/ltpara.dtx b/Master/texmf-dist/source/latex-dev/base/ltpara.dtx index 9802bfd63a2..a2da67198a6 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltpara.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltpara.dtx @@ -15,7 +15,7 @@ % % \begin{macrocode} \def\ltparaversion{v1.0k} -\def\ltparadate{2021/10/19} +\def\ltparadate{2021/11/11} % \end{macrocode} %<*driver> \documentclass{l3doc} @@ -23,6 +23,7 @@ %\usepackage{ltpara} % Fixing footnotes in functions and variables: this should be in l3doc! + \newcommand\fixfootnote[2]{\footnotemark \AddToHookNext{env/#1/after}{\footnotetext{#2}}} \AddToHook{env/function/begin}{\def\footnote{\fixfootnote{function}}} @@ -429,16 +430,6 @@ % \cs{endgraf} was changed to provide this additional functionality % (along with \cs{par} remaining subject to its current meaning). % -% TEMP NOTE: Maybe endgraf should not be changed by LaTeX as it is -% essentially not at all a part of LaTeX. -% If it is too dangerous to leave it as -% a synonym for the primitive, then we could just disable it. -% [FMi:] -% not in my opinion. It is used in many places and the redefinition is safe and does the right thing. -% disabling it just means it breaks a lot of stuff for no reason. -% [FMi:] -% Note that the 2e kernel has been completely purged of endgrafs. -% % The \pkg{expl3} name for this functionality is \cs{para_end:}. % \end{function} % @@ -613,8 +604,8 @@ % % \subsubsection{Mark the first paragraph of each \env{itemize}} % -% The code for this is rather simple. We apply hook code that is -% executed only once inside a hook that is executed at the begin of +% The code for this is rather simple. We supply some code that is +% executed only once inside a hook at the start of % each \env{itemize}. We explicitly change the color back and % forth so that we don't introduce grouping around the paragraph. %\begin{verbatim} @@ -953,7 +944,6 @@ % default meaning (in the past this was the initex primitive) while % \cs{par} is the current meaning which maybe does something else. % -% TEMP NOTE: See earlier note re endgraf. % % We are now going to change this default meaning to instead run % \cs{para_end:}, which ultimately executes the initex @@ -970,6 +960,7 @@ \cs_new_protected:Npn \para_end: { % \end{macrocode} % +% CCC Maybe needs more explanation. % TEMP NOTE: What should happen if in outer hmode with an empty hlist? % % The only case we care about is when we are in horizontal mode @@ -1028,18 +1019,21 @@ % it should get removed before the hook code gets added so we have % to arrange for this removal. % -% TEMP NOTE: maybe a ‘nobreak’ should also be added? -% -% [FMi:] -% sounds wrong to me, why? -% [CCC:] See email: because the hook may add some material, -% such as glue that might produce an unintended linebreak. -% [FMi:] +% As in other simular cases, it maybe best to add here +% a \cs{nobreak} in case the hook itself adds glue and thus +% creates a non-explicit and unwanted potential breakpoont. +% On the other hand (as has been argued) the code in the hook +% should perhaps have the responsibility for adding such a +% guard penalty in this casse. +% This needs further analysis and decisions (as in emails). % +% In either case, good documentation of these hooks is essential, +% covering what the hook may or should provide and all +% such related considerations convernimg the content. % % There is not much point in checking if there was really a glue % item at the end of the horizontal list, instead we simply try to -% remove one using \cs{tex_unskip:D}, if there wasn't one this will +% remove one using \cs{tex_unskip:D}: if there wasn't one this will % do nothing. % \begin{macrocode} \tex_unskip:D @@ -1065,7 +1059,8 @@ % primitive. % % There is however one other \TeX{} optimization that hurts: in a -% sequence like this \verb=$$ ... $$ \par= \TeX{} will be in +% sequence like this \verb=$$ ... $$ \par= (with \cs{par} being the primitive) +% \TeX{} will be in % horizontal mode after the display, ready to receive further % paragraph text, but since the \cs{par} follows immediately there % is a ``null'' paragraph at the end and \TeX{} simply throws that @@ -1075,9 +1070,6 @@ % removing any space and appending \cs{parfillskip}, instead it % simply goes silently to vmode. % -% TEMP NOTE: Is this actually how it works? -% For any current definition of par? -% % Now if we would have added something (to % prevent glue removal) that would look to \TeX{} like material % after the display and so we would end up with an empty paragraph @@ -1196,8 +1188,6 @@ % occasionally) and \cs{endgraf}, which is another name for the % ``default'' action of \cs{par}. % -% TEMP NOTE: re endgraf again. -% % \begin{macrocode} \cs_set_eq:NN \par \para_end: \cs_set_eq:NN \@@par \para_end: diff --git a/Master/texmf-dist/source/latex-dev/base/ltvers.dtx b/Master/texmf-dist/source/latex-dev/base/ltvers.dtx index 7c17069aea0..c1024b938c1 100644 --- a/Master/texmf-dist/source/latex-dev/base/ltvers.dtx +++ b/Master/texmf-dist/source/latex-dev/base/ltvers.dtx @@ -112,10 +112,10 @@ % %\edef\latexreleaseversion %<*2ekernel|latexrelease> - {2021-11-15} + {2022-06-01} % %<*2ekernel> -\def\patch@level{-3} +\def\patch@level{0} % \end{macrocode} % % \begin{macro}{\development@branch@name} diff --git a/Master/texmf-dist/source/latex-dev/firstaid/latex2e-first-aid-for-external-files.dtx b/Master/texmf-dist/source/latex-dev/firstaid/latex2e-first-aid-for-external-files.dtx index 702dca02298..fb8d3401373 100644 --- a/Master/texmf-dist/source/latex-dev/firstaid/latex2e-first-aid-for-external-files.dtx +++ b/Master/texmf-dist/source/latex-dev/firstaid/latex2e-first-aid-for-external-files.dtx @@ -111,8 +111,8 @@ % \end{macrocode} % % \begin{macrocode} -\def\LaTeXFirstAidDate{2021/06/28} -\def\LaTeXFirstAidVersion{v1.0o} +\def\LaTeXFirstAidDate{2021/11/11} +\def\LaTeXFirstAidVersion{v1.0q} % \end{macrocode} % % \begin{macrocode} @@ -455,69 +455,10 @@ % % % -% -% -% \subsection{The \pkg{CJK} package first aid} -% % \begin{macrocode} %<*kernel> % \end{macrocode} % -% The package redefines \cs{selectfont} to add some code but -% otherwise uses the old definition. So we make a copy of the -% newer kernel definition and restore it after the package got -% loaded. The extra code that the package needs can go into the -% newly provided hook instead. -% -% \begin{macrocode} -\DeclareCommandCopy\CJK@selectfont\selectfont -% \end{macrocode} -% -% \begin{macrocode} -\AddToHook{file/CJK.sty/after}[firstaid]{% - \FirstAidNeededT{CJK}{sty}% - {2015/04/18 4.8.4}% - {% - \DeclareCommandCopy\selectfont\CJK@selectfont -% \end{macrocode} -% -% \begin{macrocode} - \AddToHook{selectfont}[CJK]{% - \expandafter\ifx\csname CJK@\curr@fontshape\endcsname \relax - \else - \CJK@bold@false - \csname CJK@\curr@fontshape\endcsname - \fi - }% - }% -} -% \end{macrocode} -% -% -% -% \subsection{\cs{footref} first aid} -% -% A few classes unconditionally define \cs{footref}. Until that has -% changed we provide some first aid to let them do this. -% -% --- This seems to be resolved now --- -% -% \begin{macrocode} -%\AddToHook{file/scrkbase.sty/after}[firstaid]{% -% \FirstAidNeededT{scrkbase}{sty}% -% {2020/09/21 v3.32 KOMA-Script package (KOMA-Script-dependent basics and keyval usage)}% -% {\let\footref\@undefined} -% } -% \end{macrocode} -% -% \begin{macrocode} -%\AddToHook{class/memoir/before}[firstaid]{% -% % for version {2020/10/04 v3.7n configurable book, report, article document class}% -% \let\footref\@undefined -%} -% \end{macrocode} -% -% % % % @@ -679,35 +620,6 @@ \ExplSyntaxOff % \end{macrocode} % -% The next fixes Github issue 605 (by inserting a \cs{scan\_stop:} -% before doing the check for hmode). -% \begin{macrocode} -\ExplSyntaxOn -\cs_set_protected:Npn \para_end: { - \scan_stop: - \mode_if_horizontal:TF { - \mode_if_inner:F { - \tex_unskip:D - \hook_use:n{para/end} - \@kernel@after@para@end - \mode_if_horizontal:TF { - \if_int_compare:w 0 < \tex_lastnodetype:D - \tex_kern:D \c_zero_dim - \fi: - \tex_par:D - \hook_use:n{para/after} - \@kernel@after@para@after - } - { \msg_error:nnnn { hooks }{ para-mode }{end}{horizontal} } - } - } - \tex_par:D -} -\cs_set_eq:NN \par \para_end: -\cs_set_eq:NN \@@par \para_end: -\cs_set_eq:NN \endgraf \para_end: -\ExplSyntaxOff -% \end{macrocode} % % \begin{macrocode} % diff --git a/Master/texmf-dist/source/latex-dev/tools/multicol.dtx b/Master/texmf-dist/source/latex-dev/tools/multicol.dtx index 2b74d85af92..8d868357da2 100644 --- a/Master/texmf-dist/source/latex-dev/tools/multicol.dtx +++ b/Master/texmf-dist/source/latex-dev/tools/multicol.dtx @@ -98,7 +98,7 @@ % \ProvidesFile{multicol.drv} % \fi % \ProvidesFile{multicol.dtx} - [2021/10/08 v1.9a multicolumn formatting (FMi)] + [2021/10/28 v1.9b multicolumn formatting (FMi)] % % %% @@ -115,6 +115,8 @@ % \changes{v1.0f}{1989/07/11}{Changed \cs{z@} to 0pt in redefinition of % description.} % \changes{v1.1a}{1989/09/20}{\cs{multicolssep} changed to \cs{multicolsep}.} +% \changes{v1.9b}{2021/10/22}{Swap names \cs{mult@gfirstbox} +% and \cs{mult@firstbox} (gh/701)} % % \def\description{\list{}{\labelwidth 0pt \leftmargin\descriptionmargin % \itemindent-\leftmargin \let\makelabel\descriptionlabel}} @@ -567,8 +569,9 @@ % From version 1.9 onwards \cs{columnbreak} accepts an optional % argument (just like \cs{pagebreak}) in which you can specify the % desirability to break the column at that point: supported values are -% \texttt{1} to \texttt{4}. This version also adds \cs{newcolumn} -% which forces a column break but runs the column short (comparible to +% \texttt{0} (slightly desirable) to \texttt{4} (forced). +% This version also adds \cs{newcolumn} +% which forces a column break but runs the column short (comparable to % \cs{newpage}). % % \subsection{Floats inside a \mc{} environment} @@ -734,7 +737,7 @@ % When it finishes it must return the individual columns in boxes % suitable for further processing with |\page@sofar|. This means % that the left column should be stored in box register -% |\mult@gfirstbox|, the next +% |\mult@firstbox|, the next % in register |\mult@firstbox|${}+2$, \ldots, % only the last one as an exception in % register |\mult@grightbox|. Furthermore it has to set up @@ -2322,7 +2325,7 @@ % 4,\ldots\ (plus offset). % \changes{v1.5a}{1992/11/04}{New box mechanism} % \begin{macrocode} - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \setbox\count@ \vsplit\@cclv to\dimen@ % \end{macrocode} @@ -3080,7 +3083,7 @@ % untouched so that we can start over again if this trial was % unsuccessful. % \begin{macrocode} - {\process@cols\mult@firstbox{% + {\process@cols\mult@gfirstbox{% \global\setbox\count@ \vsplit\mult@grightbox to\dimen@ % \end{macrocode} @@ -3134,19 +3137,19 @@ \global\setbox\mult@grightbox \vbox{\unvbox\mult@grightbox}% % \end{macrocode} -% We also save a copy |\mult@firstbox| at its ``natural'' size +% We also save a copy |\mult@gfirstbox| at its ``natural'' size % for later use. % \begin{macrocode} \setbox\mult@nat@firstbox - \vbox{\unvcopy\mult@firstbox}% + \vbox{\unvcopy\mult@gfirstbox}% % \end{macrocode} % After |\process@cols| has done its job we have the following % situation: % \begin{center} % \begin{tabular}{r@{$\:\:\longleftarrow\:\:$}l} % box |\mult@rightbox| & all material \\ -% box |\mult@gfirstbox| & first column \\ -% box |\mult@gfirstbox|${}+2$ & second column \\ +% box |\mult@firstbox| & first column \\ +% box |\mult@firstbox|${}+2$ & second column \\ % \multicolumn{1}{c}{$\vdots$} & % \multicolumn{1}{c}{$\vdots$} \\ % box |\mult@grightbox| & last column @@ -3167,10 +3170,10 @@ % to later columns but it is actually producing incorrect results % (overprinting of text) in boundary cases, so since version v1.5q % |\raggedcolumns| means allows for all columns to run slightly short. -% \changes{v1.5q}{1998/01/19}{Do not reset \cs{mult@firstbox} (pr2739)} +% \changes{v1.5q}{1998/01/19}{Do not reset \cs{mult@gfirstbox} (pr2739)} % \begin{macrocode} % \ifshr@nking -% \global\setbox\mult@firstbox +% \global\setbox\mult@gfirstbox % \copy\mult@nat@firstbox % \fi % \end{macrocode} @@ -3488,10 +3491,11 @@ % allocating after 255. This is all done quite low-level by looking % directly at the values of the allocation counters. % \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)} +% \changes{v1.9b}{2021/10/22}{Drop one unnecessary box allocation (gh/701)} % \begin{macrocode} \ifnum\numexpr - \count20-\count14-1<41 - % this is = 2 * 20 + 1 + \count20-\count14-1<40 + % this is = 2 * 20 \count14=\@cclv \fi % \end{macrocode} @@ -3499,8 +3503,8 @@ % \begin{macrocode} \newbox\mult@rightbox \newbox\mult@grightbox -\newbox\mult@gfirstbox \newbox\mult@firstbox +\newbox\mult@gfirstbox \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa @@ -3519,7 +3523,6 @@ \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa \newbox\@tempa\newbox\@tempa -\newbox\@tempa \let\@tempa\relax % \end{macrocode} % \end{macro} @@ -4097,6 +4100,7 @@ % \begin{macro}{\columnbreak} % \changes{v1.5u}{1999/05/25}{Macro added} % \changes{v1.9a}{2021/10/08}{Added optional argument for conditional break} +% \changes{v1.9b}{2021/10/28}{Corrected error message text (gh/703)} % |\columnbreak| is modeled after |\pagebreak| except that we % generate a penalty -10005. % \begin{macrocode} @@ -4109,7 +4113,7 @@ % \begin{macrocode} \ifnum\col@number<\tw@ \PackageError{multicol}% - {\noexpand\newcolumn outside multicols}% + {\noexpand\columnbreak outside multicols}% {This command can only be used within a multicols or multicols* environment.}% \else @@ -4184,7 +4188,7 @@ % \end{macrocode} % We loop through the columns with |\process@cols| % \begin{macrocode} - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% % \end{macrocode} % If the depth of the current box is larger than the maximum found % so far in |\dimen2| we update that register for later use. @@ -4207,7 +4211,7 @@ \@width\columnseprule}\hss}% % \end{macrocode} % As you will have noticed, we started with box register -% |\mult@gfirstbox| (i.e.\ +% |\mult@firstbox| (i.e.\ % the left column). So this time |\count@| looped through 2, % 4,\ldots\ (plus the appropriate offset). % Finally we add box |\mult@rightbox| and we are done. @@ -4249,7 +4253,7 @@ % First step is to put all rules in the right place (without adding % the comes which are instead represented by a space of |\hsize|. % \begin{macrocode} - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \hskip\hsize \hss{\columnseprulecolor\vrule \@width\columnseprule}\hss @@ -4267,7 +4271,7 @@ % column using the same approach until we are done with all but the % final column. % \begin{macrocode} - \process@cols\mult@gfirstbox{% + \process@cols\mult@firstbox{% \ifdim\dp\count@>\dimen\tw@ \global\dimen\tw@\dp\count@ \fi \hskip-\hsize -- cgit v1.2.3