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.dtx173
1 files changed, 38 insertions, 135 deletions
diff --git a/Master/texmf-dist/source/latex/memoir/memoir.dtx b/Master/texmf-dist/source/latex/memoir/memoir.dtx
index 123d6371c1a..f63ba259abf 100644
--- a/Master/texmf-dist/source/latex/memoir/memoir.dtx
+++ b/Master/texmf-dist/source/latex/memoir/memoir.dtx
@@ -8,19 +8,19 @@
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any
+% version 1.3c of this license or (at your option) any
% later version.
% The latest version of the license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2003/06/01 or later.
+% and version 1.3c or later is part of all distributions of
+% LaTeX version 2008/05/04 or later.
%
% This work has the LPPL maintenance status "maintained".
%
% This work consists of the files listed in the README file.
%
% \fi
-% \CheckSum{31219}
+% \CheckSum{30999}
%
% \changes{v0.1}{2001/05/20}{First public alpha release}
% \changes{v0.2}{2001/06/03}{First beta release}
@@ -125,7 +125,8 @@
% \changes{v3.7m}{2020/09/10}{More preparations for october kernel update}
% \changes{v3.7n}{2020/10/04}{Foced # doubling in AtBegin/EndX macros
% to ensure backwards compatability}
-%
+% \changes{v3.7o}{2021/03/23}{Maintenance and a provide for the kernel}
+%
% \def\dtxfile{memoir.dtx}
%
% \def\fileversion{v0.1} \def\filedate{2001/05/20}
@@ -187,6 +188,7 @@
% \def\fileversion{v3.7l} \def\filedate{2020/06/02}
% \def\fileversion{v3.7m} \def\filedate{2020/09/10}
% \def\fileversion{v3.7n} \def\filedate{2020/10/04}
+% \def\fileversion{v3.7o} \def\filedate{2021/03/23}
% \title{The LaTeX \Lpack{memoir} class for configurable book
% typesetting: Source code\thanks{This
% file (\texttt{\dtxfile}) has version number \fileversion, last revised
@@ -417,11 +419,11 @@
% Announce the name, option files and version for LaTeX2e files:
% \begin{macrocode}
%<class>\ProvidesClass{memoir}%
-%<class> [2020/10/04 v3.7n configurable book, report, article document class]
+%<class> [2021/03/23 v3.7o 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.7n, 2020/10/04}
+%<class>\newcommand\memversion{v3.7o, 2021/03/23}
%<9pt>\ProvidesFile{mem9.clo}%
%<9pt> [2008/01/30 v0.4 memoir class 9pt size option]
%<10pt>\ProvidesFile{mem10.clo}%
@@ -9668,8 +9670,8 @@
% non-zero \cs{parskip} to not interfer with the placement of the title}
% \begin{macrocode}
\def\@makechapterhead#1{%
- \chapterheadstart% \vspace*{50\p@}%
- {%\parindent \z@ \raggedright \normalfont
+ \chapterheadstart%
+ {%
\parskip \z@
\parindent \z@ \memRTLraggedright \normalfont
% \end{macrocode}
@@ -9677,7 +9679,7 @@
% \begin{macrocode}
\ifm@m@And
\printchaptername \chapternamenum \printchapternum
- \afterchapternum % \par\nobreak \vskip 20\p@
+ \afterchapternum %
\else
\printchapternonum
\fi
@@ -9685,8 +9687,8 @@
% Typeset the title.
% \begin{macrocode}
\interlinepenalty\@M
- \printchaptertitle{#1} % \Huge \bfseries #1
- \afterchaptertitle % \par\nobreak \vskip 40\p@
+ \printchaptertitle{#1} %
+ \afterchaptertitle %
}}
% \end{macrocode}
@@ -9838,7 +9840,7 @@
% \begin{macrocode}
\def\@makeschapterhead#1{%
\chapterheadstart
- {%\parindent \z@ \raggedright \normalfont
+ {%
\parskip \z@%
\parindent \z@ \memRTLraggedright \normalfont
\printchapternonum
@@ -9966,9 +9968,7 @@
% \begin{macrocode}
\newcommand*{\reparticle}{%
\chapterstyle{reparticle}
-%%% \setsecheadstyle{\normalfont\large\bfseries\raggedright}
\setsecheadstyle{\normalfont\large\bfseries\memRTLraggedright}%
-%%% \setsubsecheadstyle{\normalfont\bfseries\raggedright}
\setsubsecheadstyle{\normalfont\bfseries\memRTLraggedright}%
}
@@ -10072,7 +10072,6 @@
\renewcommand*{\printchapternum}{}
\renewcommand*{\afterchapternum}{}
\renewcommand*{\printchaptertitle}[1]{%
- %%% \raggedright\Large\scshape\MakeLowercase{##1}}
\memRTLraggedright\Large\scshape\MakeTextLowercase{##1}}
\renewcommand*{\afterchaptertitle}{%
\vskip\onelineskip \hrule\vskip\onelineskip}}
@@ -10383,7 +10382,6 @@
\setlength{\midchapskip}{\textwidth}% \rightblock
\addtolength{\midchapskip}{-\beforechapskip}
\renewcommand*{\chapterheadstart}{\vspace*{2\baselineskip}}
-%%% \renewcommand*{\chaptitlefont}{\huge\rmfamily\raggedright}
\renewcommand*{\chaptitlefont}{\huge\rmfamily\memRTLraggedright}
\renewcommand*{\chapnumfont}{\chaptitlefont}
\renewcommand*{\printchaptername}{}
@@ -10580,7 +10578,6 @@
\renewcommand*{\chapnumfont}{\normalfont\huge\bfseries}%
\renewcommand*{\printchapternum}{\chapnumfont \thechapter\quad}%
\renewcommand*{\afterchapternum}{}%
-%%% \renewcommand*{\chaptitlefont}{\chapnumfont\raggedright}}
\renewcommand*{\chaptitlefont}{\chapnumfont\memRTLraggedright}}
% \end{macrocode}
@@ -10935,7 +10932,6 @@
\setaftersecskip{2.3ex \@plus .2ex}
\newcommand{\secheadstyle}{}
\newcommand{\setsecheadstyle}[1]{\renewcommand{\secheadstyle}{#1}}
-%%% \setsecheadstyle{\Large\bfseries\raggedright}
\setsecheadstyle{\Large\bfseries\memRTLraggedright}
% \end{macrocode}
@@ -10997,7 +10993,6 @@
\setaftersubsecskip{1.5ex \@plus .2ex}
\newcommand{\subsecheadstyle}{}
\newcommand{\setsubsecheadstyle}[1]{\renewcommand{\subsecheadstyle}{#1}}
-%%% \setsubsecheadstyle{\large\bfseries\raggedright}
\setsubsecheadstyle{\large\bfseries\memRTLraggedright}
% \end{macrocode}
@@ -11052,20 +11047,19 @@
\newlength{\subsubsecindent}
\newcommand{\setsubsubsecindent}[1]{%
\setlength{\subsubsecindent}{#1}}
- \setsubsubsecindent{\z@}
+\setsubsubsecindent{\z@}
\newskip\beforesubsubsecskip
\newcommand{\setbeforesubsubsecskip}[1]{%
\setlength{\beforesubsubsecskip}{#1}}
- \setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}
+\setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}
\newskip\aftersubsubsecskip
\newcommand{\setaftersubsubsecskip}[1]{%
\setlength{\aftersubsubsecskip}{#1}}
- \setaftersubsubsecskip{1.5ex \@plus .2ex}
+\setaftersubsubsecskip{1.5ex \@plus .2ex}
\newcommand{\subsubsecheadstyle}{}
\newcommand{\setsubsubsecheadstyle}[1]{%
\renewcommand{\subsubsecheadstyle}{#1}}
-%%% \setsubsubsecheadstyle{\normalsize\bfseries\raggedright}
- \setsubsubsecheadstyle{\normalsize\bfseries\memRTLraggedright}
+\setsubsubsecheadstyle{\normalsize\bfseries\memRTLraggedright}
% \end{macrocode}
% \end{macro}
@@ -11571,7 +11565,6 @@
\setsecindent{\z@}%
\setbeforesecskip{-3.5ex \@plus -1ex \@minus -.2ex}%
\setaftersecskip{2.3ex \@plus .2ex}%
-%%% \setsecheadstyle{\Large\bfseries\raggedright}%
\setsecheadstyle{\Large\bfseries\memRTLraggedright}%
% \end{macrocode}
% Default \cs{subsection} style
@@ -11582,7 +11575,6 @@
\setsubsecindent{\z@}%
\setbeforesubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
\setaftersubsecskip{1.5ex \@plus .2ex}%
-%%% \setsubsecheadstyle{\large\bfseries\raggedright}%
\setsubsecheadstyle{\large\bfseries\memRTLraggedright}%
% \end{macrocode}
% Default \cs{subsubsection} style
@@ -11593,7 +11585,6 @@
\setsubsubsecindent{\z@}%
\setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
\setaftersubsubsecskip{1.5ex \@plus .2ex}%
-%%% \setsubsubsecheadstyle{\normalsize\bfseries\raggedright}%
\setsubsubsecheadstyle{\normalsize\bfseries\memRTLraggedright}%
% \end{macrocode}
% Default \cs{paragraph} style
@@ -11656,19 +11647,16 @@
\setbeforesecskip{-1.333\onelineskip
\@plus -0.5\onelineskip \@minus -.5\onelineskip}%
\setaftersecskip{0.667\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsecheadstyle{\normalfont\scshape\raggedright}%
\setsecheadstyle{\normalfont\scshape\memRTLraggedright}%
% subsection
\setbeforesubsecskip{-0.667\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsecheadstyle{\normalfont\bfseries\raggedright}%
\setsubsecheadstyle{\normalfont\bfseries\memRTLraggedright}%
% subsubsection
\setbeforesubsubsecskip{-0.667\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsubsecheadstyle{\normalfont\normalsize\itshape\raggedright}%
\setsubsubsecheadstyle{\normalfont\normalsize\itshape\memRTLraggedright}%
% paragraph
\setbeforeparaskip{1.0\onelineskip
@@ -11697,13 +11685,11 @@
\setbeforesecskip{-1\onelineskip
\@plus -0.5\onelineskip \@minus -.5\onelineskip}%
\setaftersecskip{1\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsecheadstyle{\normalfont\raggedright\scshape\MakeLowercase}%
\setsecheadstyle{\normalfont\memRTLraggedright\scshape\MakeTextLowercase}%
% subsection
\setbeforesubsecskip{-1.0\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsecskip{1.0\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsecheadstyle{\sethangfrom{\noindent ####1}\normalfont\itshape\raggedright}%
\setsubsecheadstyle{\sethangfrom{\noindent ####1}\normalfont\itshape\memRTLraggedright}%
% subsubsection
\setbeforesubsubsecskip{1.0\onelineskip
@@ -11813,17 +11799,14 @@
% section
\setbeforesecskip{-3.5ex \@plus -1ex \@minus -.2ex}%
\setaftersecskip{2.3ex \@plus .2ex}%
-%%% \setsecheadstyle{\normalfont\Large\sffamily\bfseries\raggedright}%
\setsecheadstyle{\normalfont\Large\sffamily\bfseries\memRTLraggedright}%
% subsection
\setbeforesubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
\setaftersubsecskip{1.5ex \@plus .2ex}%
-%%% \setsubsecheadstyle{\normalfont\large\sffamily\bfseries\raggedright}%
\setsubsecheadstyle{\normalfont\large\sffamily\bfseries\memRTLraggedright}%
% subsubsection
\setbeforesubsubsecskip{-3.25ex \@plus -1ex \@minus -.2ex}%
\setaftersubsubsecskip{1.5ex \@plus .2ex}%
-%%% \setsubsubsecheadstyle{\normalfont\normalsize\sffamily\bfseries\raggedright}%
\setsubsubsecheadstyle{\normalfont\normalsize\sffamily\bfseries\memRTLraggedright}%
% paragraph
\setbeforeparaskip{3.25ex \@plus 1ex \@minus .2ex}%
@@ -11889,19 +11872,16 @@
\setbeforesecskip{-2\onelineskip
\@plus -0.5\onelineskip \@minus -.5\onelineskip}%
\setaftersecskip{1\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsecheadstyle{\normalfont\raggedright\MakeUppercase}%
\setsecheadstyle{\normalfont\memRTLraggedright\MakeTextUppercase}%
% subsection
\setbeforesubsecskip{-1.2\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsecskip{0.8\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsecheadstyle{\normalfont\Large\itshape\raggedright}%
\setsubsecheadstyle{\normalfont\Large\itshape\memRTLraggedright}%
% subsubsection
\setbeforesubsubsecskip{-0.667\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsubsecheadstyle{\normalfont\normalsize\bfseries\raggedright}%
\setsubsubsecheadstyle{\normalfont\normalsize\bfseries\memRTLraggedright}%
% paragraph
\setbeforeparaskip{1.0\onelineskip
@@ -11930,19 +11910,16 @@
\setbeforesecskip{-1.333\onelineskip
\@plus -0.5\onelineskip \@minus -.5\onelineskip}%
\setaftersecskip{0.667\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsecheadstyle{\normalfont\raggedright\MakeUppercase}%
\setsecheadstyle{\normalfont\memRTLraggedright\MakeTextUppercase}%
% subsection
\setbeforesubsecskip{-0.667\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsecheadstyle{\normalfont\Large\itshape\raggedright}%
\setsubsecheadstyle{\normalfont\Large\itshape\memRTLraggedright}%
% subsubsection
\setbeforesubsubsecskip{-0.667\onelineskip
\@plus -0.25\onelineskip \@minus -0.25\onelineskip}%
\setaftersubsubsecskip{0.333\onelineskip \@plus 0.1\onelineskip}%
-%%% \setsubsubsecheadstyle{\normalfont\normalsize\raggedright\scshape\MakeLowercase}%
\setsubsubsecheadstyle{\normalfont\normalsize\memRTLraggedright\scshape\MakeTextLowercase}%
% paragraph
\setbeforeparaskip{1.0\onelineskip
@@ -12547,9 +12524,7 @@
% \begin{macrocode}
\newcommand*{\raggedrightthenleft}{%
\parindent \z@
-%%% \leftskip \z@ \@plus 1fill
\memRTLleftskip \z@ \@plus 1fill
-%%% \rightskip\@flushglue
\memRTLrightskip\@flushglue
\parfillskip \z@
\everypar{\hskip \z@ \@plus -1fill}}
@@ -21421,7 +21396,6 @@
% margin captions.
% \begin{macrocode}
\newcommand*{\sidecapstyle}{%
-%%% \captionnamefont{\bfseries}%
\ifscapmargleft
\captionstyle{\raggedleft}%
\else
@@ -27178,7 +27152,9 @@
% from \file{ltfloat.dtx}.
% \changes{v1.0}{2001/10/30}{Added \cs{footref}}
% \begin{macrocode}
-\newcommand{\footref}[1]{%
+% \changes{v3.7o}{2021/02/24}{in 2021/05 \cs{footref} will be in the
+% kernel, thus we make it provide}
+\providecommand{\footref}[1]{%
\begingroup
\unrestored@protected@xdef\@thefnmark{\ref{#1}}%
\endgroup
@@ -36587,7 +36563,15 @@
\EmulatedPackage{index}[2008/07/23]
\EmulatedPackage{makeidx}[2008/07/23]
\EmulatedPackage{moreverb}[2008/07/23]
-\EmulatedPackage{mparhack}[2008/07/23]
+% \end{macrocode}
+% \changes{v3.7o}{2021/03/22}{removed mparhack emulation, as we don't
+% emulate all of it, especially not the fix for \cs{if@firstcolumn},
+% instead load it if twocolumn }
+% \begin{macrocode}
+\if@twocolumn
+ \RequirePackage{mparhack}
+\fi
+ %\EmulatedPackage{mparhack}[2008/07/23]
\EmulatedPackage{needspace}[2008/07/23]
\EmulatedPackage{newfile}[2008/07/23]
\EmulatedPackage{nextpage}[2008/07/23]
@@ -36615,95 +36599,14 @@
%
% \subsection{Interaction with the \Lpack{caption} package}
%
-% Although the author of the \Lpack{caption} package has, over the
-% years, made it work with many other classes he has not extended it
-% to either recognise or work with the memoir class. Some authors want
-% to use the \Lpack{caption} package, hence\ldots
-%
-% The easiest manner in which to make the \Lpack{caption} package to
-% work with the class, is to restore the kernel defaults for the main
-% captioning macros.
-%
-% Kill changes to the caption macros when the \Lpack{caption} package
-% is used. The \Lpack{caption} package checks the definitions of the
-% \cs{@makecaption}, \cs{caption} and \cs{@caption} macros. These need
-% to be identical to the definitions in the standard classes for the
-% package to disbelieve that the \Lpack{memoir} class is being used.
+% As of 2020, whenever the \Lpack{caption} package is loaded with the
+% memoir class, it will map relevant memoir captioning macros onto the
+% corresponding features provided by \Lpack{caption}. As this is now
+% done automatically, we have removed the code that reset \cs{caption}
+% to something more friendly to \Lpack{caption} in earler versions of
+% the class.
%
-% \begin{macro}{\@makecaption}
-% \begin{macro}{\caption}
-% \begin{macro}{\@caption}
-% \changes{v1.61803}{2008/01/30}{Killed memoir's captioning when the caption
-% package is used (mempatch v4.9).}
-% \changes{v3.6k}{2012/05/04}{Changed the warning text to be more
-% informative.}
-% \changes{v3.7i}{2018/12/19}{Users still get spooked by the warning,
-% tried to rewrite it in a better manner}
-% \begin{macrocode}
-%%% revert changes to captioning macros if the caption package is used.
-\AtBeginPackage{caption}{
- %\ClassWarningNoLine{memoir}{%
- \ClassInfo{memoir}{%
- For the caption package to function properly with memoir,
- we will now reset \string\caption\space and friends to
- kernel defaults and then let the^^Jcaption package take over.
- Remember: all caption configuration now goes via the caption
- package interface, not the interface from the memoir class.
- }
-
- \long\def\@makecaption##1##2{%
- \vskip\abovecaptionskip
- \sbox\@tempboxa{##1: ##2}%
- \ifdim \wd\@tempboxa >\hsize
- ##1: ##2\par
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
- \fi
- \vskip\belowcaptionskip}
-
- \def\caption{%
- \ifx\@captype\@undefined
- \@latex@error{\noexpand\caption outside float}\@ehd
- \expandafter\@gobble
- \else
- \refstepcounter\@captype
- \expandafter\@firstofone
- \fi
- {\@dblarg{\@caption\@captype}}%
- }
-
- \long\def\@caption##1[##2]##3{%
- \par
- \addcontentsline{\csname ext@##1\endcsname}{##1}%
- {\protect\numberline{\csname the##1\endcsname}{\ignorespaces ##2}}%
- \begingroup
- \@parboxrestore
- \if@minipage
- \@setminipage
- \fi
- \normalsize
- \@makecaption{\csname fnum@##1\endcsname}{\ignorespaces ##3}\par
- \endgroup}
-
-% \end{macrocode}
-% By request of the \Lpack{caption} package author (Axel Sommerfeldt),
-% we also restore the caption skips to the kernel defaults. The class
-% sets both to be 0.5\cs{onelineskip}, which may cause confusion when
-% using certain features in the \Lpack{caption} package.
-% \changes{v3.6k}{2012/05/04}{Added \cs{captionXskip} reset to default
-% values.}
-% \begin{macrocode}
-
- \setlength\abovecaptionskip{10\p@}
- \setlength\belowcaptionskip{0\p@}
-
-} % end \AtBeginPackage
-
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \changes{v3.7o}{2021/03/15}{removed code to reset for the caption package}
%
% \subsection{Interaction with the \Lpack{float} package}
%