From 26849a68ecf5a0476ec5bd1fbc4a194b31af0060 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
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}
 %<class>\ProvidesClass{memoir}%
-%<class>  [2021/06/16 v3.7p configurable book, report, article document class]
+%<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}
-%<class>\newcommand\memversion{v3.7p, 2021/06/16}
+%<class>\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

