summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/memoir/memoir.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/memoir/memoir.dtx')
-rw-r--r--Master/texmf-dist/source/latex/memoir/memoir.dtx70
1 files changed, 59 insertions, 11 deletions
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
@@ -29282,6 +29299,29 @@
% \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}}
% \changes{v3.7c}{2013/11/28}{Spurious space}
% \begin{macrocode}
@@ -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