From 26849a68ecf5a0476ec5bd1fbc4a194b31af0060 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 20 Feb 2022 21:18:22 +0000 Subject: memoir (20feb22) git-svn-id: svn://tug.org/texlive/trunk@62105 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/source/latex/memoir/memoir.dtx | 70 ++++++++++++++++++++---- 1 file changed, 59 insertions(+), 11 deletions(-) (limited to 'Master/texmf-dist/source/latex/memoir/memoir.dtx') diff --git a/Master/texmf-dist/source/latex/memoir/memoir.dtx b/Master/texmf-dist/source/latex/memoir/memoir.dtx index 074ee11e1a8..15574b52d79 100644 --- a/Master/texmf-dist/source/latex/memoir/memoir.dtx +++ b/Master/texmf-dist/source/latex/memoir/memoir.dtx @@ -20,7 +20,7 @@ % This work consists of the files listed in the README file. % % \fi -% \CheckSum{31013} +% \CheckSum{31027} % % \changes{v0.1}{2001/05/20}{First public alpha release} % \changes{v0.2}{2001/06/03}{First beta release} @@ -127,6 +127,7 @@ % to ensure backwards compatability} % \changes{v3.7o}{2021/03/23}{Maintenance and a provide for the kernel} % \changes{v3.7p}{2021/06/16}{Small adjustments of memoir vs memhfixc} +% \changes{v3.7q}{2022/02/20}{Maintenance} % % \def\dtxfile{memoir.dtx} % @@ -191,6 +192,7 @@ % \def\fileversion{v3.7n} \def\filedate{2020/10/04} % \def\fileversion{v3.7o} \def\filedate{2021/03/23} % \def\fileversion{v3.7p} \def\filedate{2021/06/16} +% \def\fileversion{v3.7q} \def\filedate{2022/02/20} % \title{The LaTeX \Lpack{memoir} class for configurable book % typesetting: Source code\thanks{This % file (\texttt{\dtxfile}) has version number \fileversion, last revised @@ -421,11 +423,11 @@ % Announce the name, option files and version for LaTeX2e files: % \begin{macrocode} %\ProvidesClass{memoir}% -% [2021/06/16 v3.7p configurable book, report, article document class] +% [2022/02/20 v3.7q configurable book, report, article document class] % \end{macrocode} % In the manual it is useful to know the current version. % \begin{macrocode} -%\newcommand\memversion{v3.7p, 2021/06/16} +%\newcommand\memversion{v3.7q, 2022/02/20} %<9pt>\ProvidesFile{mem9.clo}% %<9pt> [2008/01/30 v0.4 memoir class 9pt size option] %<10pt>\ProvidesFile{mem10.clo}% @@ -459,6 +461,13 @@ %<*class> % \end{macrocode} % +% (2022/02/20): In order to be able to use a patching approach instead +% of overwriting kernel macros, we will now require the +% \Lpack{etoolbox} package. +% \begin{macrocode} +\RequirePackage{etoolbox} +% \end{macrocode} +% % Note (2001/08/03): Old versions of the \Lpack{amsmath} package did odd % things with \cs{@tempa}, \cs{@tempb} and \cs{@tempc}. I have now replaced % any use of these with \cs{@memtempa}, etc. @@ -941,9 +950,11 @@ % We add a \cs{temp} trick suggested by David Carlisle as the old code % required \#\ doubling and the new does not. To be backwards % compatible we force required \#\ doubling. +% \changes{v3.7q}{2022/01/07}{The LaTeX team reversed the order of the +% hook name} % \begin{macrocode} - \newcommand\AtBeginFile[2]{\def\temp{\AddToHook{file/before/#1}{#2}}\temp} - \newcommand\AtEndFile[2]{\def\temp{\AddToHook{file/after/#1}{#2}}\temp} + \newcommand\AtBeginFile[2]{\def\temp{\AddToHook{file/#1/before}{#2}}\temp} + \newcommand\AtEndFile[2]{\def\temp{\AddToHook{file/#1/after}{#2}}\temp} % \end{macrocode} % \end{macro} @@ -963,9 +974,11 @@ % We add a \cs{temp} trick suggested by David Carlisle as the old code % required \#\ doubling and the new does not. To be backwards % compatible we force required \#\ doubling. +% \changes{v3.7q}{2022/01/07}{The LaTeX team reversed the order of the +% hook name} % \begin{macrocode} - \newcommand\AtBeginPackage[2]{\def\temp{\AddToHook{package/before/#1}{#2}}\temp} - \newcommand\AtEndPackage[2]{\def\temp{\AddToHook{package/after/#1}{#2}}\temp} + \newcommand\AtBeginPackage[2]{\def\temp{\AddToHook{package/#1/before}{#2}}\temp} + \newcommand\AtEndPackage[2]{\def\temp{\AddToHook{package/#1/after}{#2}}\temp} \newcommand{\RequireAtEndPackage}[2]{% \@ifpackageloaded{#1}{#2}{\AtEndPackage{#1}{#2}}} @@ -985,9 +998,11 @@ % We add a \cs{temp} trick suggested by David Carlisle as the old code % required \#\ doubling and the new does not. To be backwards % compatible we force required \#\ doubling. +% \changes{v3.7q}{2022/01/07}{The LaTeX team reversed the order of the +% hook name} % \begin{macrocode} - \newcommand\AtBeginClass[2]{\def\temp{\AddToHook{class/before/#1}{#2}}\temp} - \newcommand\AtEndClass[2]{\def\temp{\AddToHook{class/after/#1}{#2}}\temp} + \newcommand\AtBeginClass[2]{\def\temp{\AddToHook{class/#1/before}{#2}}\temp} + \newcommand\AtEndClass[2]{\def\temp{\AddToHook{class/#1/after}{#2}}\temp} \newcommand{\RequireAtEndClass}[2]{% \@ifclassloaded{#1}{#2}{\AtEndClass{#1}{#2}}} @@ -28742,8 +28757,10 @@ % \begin{macro}{\m@m@makecolfloats} % \begin{macro}{\m@m@makecoltext} % These two macros contain code common to versions of \cs{@makecol} +% \changes{v3.7q}{2022/02/20}{Added the \cs{@elt} line from the kernel} % \begin{macrocode} \newcommand*{\m@m@makecolfloats}{% + \let\@elt\relax% \xdef\@freelist{\@freelist\@midlist}% \global\let\@midlist\@empty \@combinefloats} @@ -28884,7 +28901,7 @@ % \begin{macro}{\mem@makecoldblf} % A version of \cs{@makecol} which is a placeholder to fix the doublefloat % problem. -% +% TODO: remove this code it is not used % \begin{macrocode} \gdef\mem@makecoldblf{% \m@m@makecolintro @@ -29280,6 +29297,29 @@ \m@m@makecoltext \global \maxdepth \@maxdepth} +% \end{macrocode} +% +% If the \Lpack{footmisc} package is loaded all of our additions of +% extra footnotes, side footnotes, sidebar are lost. So we add them to +% their collection macro. This is especially important when +% \Lpack{footmisc} \emph{and} \Lpack{reledmac} are loaded with +% memoir. To play nice, we use the command hooks introduced in june 2021. +% \changes{v3.7q}{2022/02/17}{Added this fix for \Lpack{footmisc}} +% \begin{macrocode} +\IfFormatAtLeastTF{2021-06-01}{ + % adding to "hook" in footmisc + \AddToHook{cmd/@makecol@appendblocks/after}{\m@mdoextrafeet\m@mopsidefoot\m@mopsidebar} +}{ + \AtBeginDocument{ + \@ifpackagelater{footmisc}{2011/06/07}{ + \@memerror{You seem to have manually updated both memoir and^^J + footmisc on an older LaTeX kernel. Memoir is not compatible with + footmisc^^J version 2022/02/14 v6.0b on LaTeX kernels from before + 2021/06/01. Please^^J update your LaTeX installation instead of + manually updating classes^^J or packages}{Update your LaTeX installation} + }{} + } +} % \end{macrocode} % % \changes{v1.618033988b}{2010/02/17}{a bf was missing in \cs{m@mopfootnotebf}} @@ -34625,8 +34665,9 @@ % \begin{macro}{\medspace} % \begin{macro}{\:} % Medium space \verb?\: (\medspace) = 4/18 em? +% \changes{v3.7q}{2022/02/17}{use \cs{providecommand} on \cs{medspace}} % \begin{macrocode} -\newcommand{\medspace}{\kern .22222em } +\providecommand{\medspace}{\kern .22222em } \DeclareRobustCommand{\:}{% \relax\ifmmode\mskip\medmuskip\else\medspace\fi} % \end{macrocode} @@ -36631,7 +36672,14 @@ % \end{macrocode} % % +% \subsection{Interaction with the \Lpack{hyperref} package} % +% Ulrike Fischer has ask that the \Lpack{memhfixc} autoload is moved +% from \Lpack{hyperref} to \Lpack{memoir}. +% \changes{v3.7q}{2022/02/20}{Added autoloading} +% \begin{macrocode} +\AtEndPackage{hyperref}{\RequirePackage{memhfixc}} +% \end{macrocode} % % \subsection{Default page style} % We use the page style \pstyle{headings} by -- cgit v1.2.3