summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/memoir/doc-src/memman.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/memoir/doc-src/memman.tex')
-rw-r--r--macros/latex/contrib/memoir/doc-src/memman.tex508
1 files changed, 330 insertions, 178 deletions
diff --git a/macros/latex/contrib/memoir/doc-src/memman.tex b/macros/latex/contrib/memoir/doc-src/memman.tex
index 7c04b891ff..c95b8a0dae 100644
--- a/macros/latex/contrib/memoir/doc-src/memman.tex
+++ b/macros/latex/contrib/memoir/doc-src/memman.tex
@@ -385,6 +385,143 @@ Manual last changed \svnyear/\svnmonth/\svnday
%#% extend
+%#% extstart include maintainer-remarks.tex
+
+\svnidlong
+{$Ignore: $}
+{$LastChangedDate: 2023-08-08 16:33:42 +0200 (Tue, 08 Aug 2023) $}
+{$LastChangedRevision: 772 $}
+{$LastChangedBy: daleif@math.au.dk $}
+
+\chapter{Remarks from the maintainer}
+\label{cha:remarks-from-maint}
+
+
+When Peter Wilson released the first version of \theclass{} (back in
+2021), \LaTeX{} land was very different. Updating packages outside of
+the yearly release (TeXLive) had to be done by hand. Manuals for
+packages was \emph{not} even a requirement for CTAN. Thus it made
+sense to embed the functionality from several packages and provide
+usage information about them in this very manual. Peter even added a
+lot of historical notes as well, that was later spun of as a separate
+document of its own (see \cite{MEMDESIGN}). As time progressed
+methods were set in place to make it easier to update packages during
+a release cycle and later packages and classes were required to always
+provide a suitable manual.
+
+Over the past five years I have moved several packages out from being
+embedded copies over to simply loading them as packages.\footnote{One
+ of the main reasons to do so was maintance, it is not feasible to
+ keep track of changes to an embedded package and then applying those
+ to \theclass.} As it is useful to have usage description in one
+place, we have kept that in the manual, but users should always refer
+back to the packages original manuals. Summer 2023, I moved
+\Lpack{booktabs} from embedding to loading.
+
+\fancybreak{}
+
+As of Summer 2023 (begining with \theclass\ version 3.8) things are
+changing a for \theclass. In the past 4 years (begining in 2019) the
+\LaTeX\ Team have added lot of new functionality into the \LaTeX{}
+format.\footnote{Most notably most of the \Lpack{xparse} package, plus
+ the entire \LaTeX3 programming layer.} They will continue to add
+extra features to the kernel that are going to be very useful in the
+future, both at the level of class and package writers, but also at
+user level. As such we would like to begin using these new features
+without having to also provide backwards compatibility for those (few)
+users who manually update \theclass.\footnote{Overleaf users should be
+ aware that Overleaf does not update packages or kernels on their
+ \LaTeX\ images. So if we say the cut off is summer 2021, Overleaf
+ might not have the correct kernel update in their version of TeXLive
+ 2021.}
+
+Counting from version 3.8 we will therefore now require users to have
+a modern \LaTeX{} kernel installed. For \theclass\ version 3.8 a user
+who manually updates \theclass\ will need to have a \LaTeX\ format
+released by 2021/06/01 or later. If the version is too old \theclass\
+will halt the compilatiion to force users to react to the error and
+not just ignore it.\footnote{Most \LaTeX\ editors incuding OverLeaf
+ use \texttt{-interaction=nonstopmode}, aka try do make a PDF even if
+ there are compilation errors. On old kernels, \theclass\ will end
+ even this! } In case we would like to use functionality that are in
+a even newer formats, we will make sure that these macros are provided
+by the class (eventhough they may do nothing unless you have the
+proper kernel).
+
+Going forward a main goal of the \LaTeX\ Team is the ability to tag
+PDF files. The \theclass~class will also have to be adapted to become
+compatible with this feature. For version~3.8 this required us to
+rework how \cmd{\titleref} was implemted as we should no longer
+redefine \cmd{\label}.\footnote{\cmd{\titleref} is now an alias for
+ \cmd{\nameref} (from the \Lpack{nameref} package), a package which
+ is maintained in close relation with \Lpack{hyperref}.}
+
+\fancybreak{}
+
+Additionally, going forward I will additionally be starting to look at
+removing certain functionality from \theclass. This will be things
+that does not really belong in \theclass, users should really get this
+functionality from somewhere else (some additional package). Unless it
+is clear that the macro has to go due to reimplemantation of a
+feature, the removal will be announced in advance (say 12--18 months),
+by adding a warning to the macro (especially if we would like the user
+to use a different macro). It will also be marked in the manual that
+the macro/environment will be removed in a future release.
+
+% Macros and environments currently under consideration (but not marked
+% yet) include: \begingroup
+% \renewcommand\descriptionlabel[1]{\hspace\labelsep\parbox[t]{\dimexpr\textwidth-5pt\relax}{#1}}
+% \begin{description}
+% \item[\cmd{\patchcommand}]
+% Users should use \cmd{\pretocmd} and \cmd{\apptocmd} from
+% \Lpack{etoolbox}. The \Lpack{xpatch} package even have extended
+% versions of them.
+% \item[ctabular]
+% This is a breakable version of \Pe{tabular} but with not way of
+% replicating the table header like for example \Lpack{longtable}
+% can. These days there are several packages to handles tables.
+% \item[\cmd{\newloglike}]
+% \item[\cmd{\provideloglike}]
+% Users should really use \cmd{\DeclareMathOperator} from
+% \Lpack{amsopn} (autoloaded by the ever present \Lpack{amsmath}).
+% \end{description}
+% \endgroup
+
+\begin{flushright}
+ Summer 2023
+
+ /daleif
+\end{flushright}
+
+
+\section*{Public interfaces removed/disabled in v3.8}
+
+The four title macros was disabled due to the \cmd{\titleref} reimplementation.
+\begingroup
+\renewcommand\descriptionlabel[1]{\hspace\labelsep\parbox[t]{\dimexpr\textwidth-5pt\relax}{#1}}
+\begin{description}
+\item[\cmd{\currenttitle}] Would have given the title of the current
+ sectional devide. Too risky to rely on, use
+ \cmd{\label}+\cmd{\titleref} instead. Throws an error if used.
+\item[\cmd{\namerefon}, \cmd{\namerefoff}]
+ These could turn sectional title referencing on/off. As we now load
+ \Lpack{nameref} by default, the value is always on. Both macros now
+ just give a warning.
+\item[\cmd{\theTitleReference}]
+ Could control the look of \cmd{\titleref}. Does nothing but issue a warning.
+\item[\texttt{noetex} (class option)] We only loaded \Lpack{etex} for
+ formats before 2015. The package loading and the class option have
+ been removed.
+\end{description}
+\endgroup
+
+
+
+
+
+
+
+%#% extend
%#% extstart include preface.tex
%\chapter{Foreword}
@@ -1314,8 +1451,8 @@ been answered.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2019-11-14 18:06:44 +0100 (Thu, 14 Nov 2019) $}
-{$LastChangedRevision: 662 $}
+{$LastChangedDate: 2023-08-06 15:24:34 +0200 (Sun, 06 Aug 2023) $}
+{$LastChangedRevision: 767 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Introduction to the eighth edition}
@@ -1755,7 +1892,7 @@ The following packages are automatically loaded by the class:
\Lpack{array}
\item \Lpack{dcolumn}
\item \Lpack{delarray}
- \item \Lpack{etex}
+% \item \Lpack{etex}
% \item \Lpack{ifetex}
% \item \Lpack{ifxetex}
% \item \Lpack{ifpdf}
@@ -1763,6 +1900,11 @@ The following packages are automatically loaded by the class:
\item \Lpack{iftex}
\item \Lpack{tabularx}
\item \Lpack{textcase}~(with~\texttt{overload}~option)
+ \item \Lpack{xpatch}~(it~autoloads~\Lpack{etoolbox})
+ \item \Lpack{booktabs}
+ \item \Lpack{nameref}
+ \item \Lpack{mparhack}~(if~twocolumn)
+ \item \Lpack{memhfixc}~(if~\Lpack{hyperref}~is~loaded)
\end{lineitems}
\end{center}
@@ -2054,12 +2196,15 @@ track of memoir related matters.
\fancybreak{}
-\textit{From the maintainer:} Most \Mname\ related questions
-should go to \url{http://tex.stackexchange.com}, please remember to
-tag them properly, that really helps locating the \Mname\ related
-questions. If no-one comes up with an answer, you can also write me
+Most \Mname\ related questions should go to
+\url{http://tex.stackexchange.com}, please remember to tag them
+properly, that really helps locating the \Mname\ related questions. If
+no-one comes up with an answer, you can also write the maintainer
directly via \texttt{daleif (at) math dot au dot dk}.
+See also \emph{\titleref{cha:remarks-from-maint}} on
+page~\pageref{cha:remarks-from-maint} for furher information from the
+maintainer.
%#% extend
@@ -2907,8 +3052,8 @@ want to put \cmd{\raggedbottom} in the preamble\index{preamble}.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2020-03-25 19:00:55 +0100 (Wed, 25 Mar 2020) $}
-{$LastChangedRevision: 686 $}
+{$LastChangedDate: 2023-07-27 17:07:49 +0200 (Thu, 27 Jul 2023) $}
+{$LastChangedRevision: 757 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Laying out the page} \label{chap:layingpage}
@@ -3069,14 +3214,16 @@ same parameters on a verso page.
\centering
\oddpagelayoutfalse
\drawstock
-\caption{The \textsf{memoir} class page layout parameters for a verso page} \label{fig:evenstock}
+\caption{The \textsf{memoir} class page layout parameters for a verso
+ (left hand) page} \label{fig:evenstock}
\end{figure}
\begin{figure}
\centering
%%%\drawmarginparsfalse
\drawstock
-\caption{The \textsf{memoir} class page layout parameters for a recto page} \label{fig:oddstock}
+\caption{The \textsf{memoir} class page layout parameters for a recto
+ (right hand) page} \label{fig:oddstock}
\end{figure}
@@ -4933,7 +5080,7 @@ code below, and then the result was scaled down.
\caption{Example of the nine \cs{setpageXX} macros for placing
a trimmed page on the stock. These are all odd pages, under
\Lopt{twoside}, even pages will have the left/right trims
- reversed. The outer fra indicate the stock size. Inside the trim
+ reversed. The outer frames indicate the stock size. Inside the trim
marks hint at where the page is positioned on the stock.}
\label{fig:setpage}
\end{figure}
@@ -18333,8 +18480,8 @@ package can be used with the class, but there are a few caveats:
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-09-06 15:05:23 +0200 (Thu, 06 Sep 2018) $}
-{$LastChangedRevision: 612 $}
+{$LastChangedDate: 2023-08-03 11:37:58 +0200 (Thu, 03 Aug 2023) $}
+{$LastChangedRevision: 765 $}
{$LastChangedBy: daleif@math.au.dk $}
@@ -18379,8 +18526,14 @@ documentation of these packages.
We have kept the documentation we had written for the manual (and
updated it slightly), but refer to \cite{ARRAY}, \cite{DELARRAY}, \cite{TABULARX} and
\cite{DCOLUMN} for the 100\% up to date documentation.
+
+ As of Summer 2023: The \Lpack{booktabs} package is now loaded
+ instead of embedded. The code was an exact copy.
\end{note}
+
+
+
\fancybreak{}
@@ -19228,7 +19381,8 @@ Dy & 66 & 0.930 & & Pt & 78 & 1.160 \\
rules and
wrote the \Lpack{booktabs} package~\cite{BOOKTABS} to provide
better horizontal rules. Like many typographers, he abhors vertical rules.
-The following is taken almost verbatim from the \Lpack{booktabs} package.
+The following is taken almost verbatim from the \Lpack{booktabs}
+package which as of Summer 2023 is automatically loaded (was embedded).
\index{table!rule|(}
@@ -20358,8 +20512,8 @@ illustrate these points.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2021-03-22 14:24:31 +0100 (Mon, 22 Mar 2021) $}
-{$LastChangedRevision: 706 $}
+{$LastChangedDate: 2023-07-27 17:07:49 +0200 (Thu, 27 Jul 2023) $}
+{$LastChangedRevision: 757 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Page notes} \label{chap:mnotes}
@@ -20596,6 +20750,12 @@ paragraph\index{footnotes!as a paragraph} after the
\cmd{\paragraphfootnotes} declaration. The default style is used after
the \cmd{\plainfootnotes} declaration.
+\begin{caveat}
+ Following \cmd{\paragraphfootnotes} the footnotes should only be a
+ single paragraph each.
+\end{caveat}
+
+
The style can be changed at any
time but there may be odd effects if the change is made in the middle of
a page when there are footnotes before and after the declaration. You may
@@ -20865,6 +21025,18 @@ The first line of a paragraph within a footnote is indented by
The text in the footnote\index{footnote!text!font} is typeset using
the \cmd{\foottextfont} font. The default is \cmd{\footnotesize}.
+\leavevmode\Added{Summer 2023} In case you wanted the footnotes to be
+typeset ragged right you can use
+\begin{lcode}
+ \renewcommand\foottextfont{\footnotesize\raggedright}
+\end{lcode}
+Just be aware that (1) \cmd{\raggedright} has an effect on paragraph
+settings, so things like \cmd{\parindent} might need to be reset to
+\cmd{\footparindent} after \cmd{\raggedright}. (2) Column footnotes
+are already in ragged right. (3) \cmd{\raggedright} should never be
+used with paragraph footnotes.
+
+
Altogether, the class specifies
\begin{lcode}
@@ -25946,9 +26118,9 @@ In increasing or decreasing order of probability (your choice) they are:
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2013-04-24 17:14:15 +0200 (Wed, 24 Apr 2013) $}
-{$LastChangedRevision: 442 $}
-{$LastChangedBy: daleif $}
+{$LastChangedDate: 2023-07-27 17:07:49 +0200 (Thu, 27 Jul 2023) $}
+{$LastChangedRevision: 757 $}
+{$LastChangedBy: daleif@math.au.dk $}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Cross referencing} \label{chap:xref}
@@ -26146,71 +26318,94 @@ The chapter \textit{\titleref{chap:bringhurst}} describes \ldots
\end{lcode}
The chapter \textit{\titleref{chap:bringhurst}} describes \ldots
- There are two packages, \Lpack{nameref}~\cite{NAMEREF} and
-\Lpack{titleref}~\cite{TITLEREF},
- that let you refer to things by name instead of number.
-
- Name references were added to the class as a consequence of adding
-a second optional argument to the sectioning commands. I found
-that this broke the \Lpack{nameref} package, and hence the
-\Lpack{hyperref} package as well, so they had to be fixed. The change
-also broke Donald Arseneau's \Lpack{titleref} package, and it turned out
-that \Lpack{nameref} also clobbered \Lpack{titleref}. The class also
-provides titles, like \cmd{\poemtitle}, that are not recognised by
-either of the packages. From my viewpoint the most efficient
-thing to do was to enable the class itself to provide name
-referencing.
+% There are two packages, \Lpack{nameref}~\cite{NAMEREF} and
+% \Lpack{titleref}~\cite{TITLEREF}, that let you refer to things by name
+% instead of number. Over time \Lpack{nameref} has turned out to be the
+% industry standard.
+\begin{Changed}[Summer 2023]
+ We are now autoloading the \Lpack{nameref} (see \cite{NAMEREF}) and
+ uses that for our implementation for \cmd{\titleref} (it is just an
+ alias for \cmd{\nameref}).\footnotemark
+\end{Changed}
+\footnotetext{This change fixes several incompatability issues we've
+ had with the old implementation of \cs{titleref}, which needed a
+ redefinition of \cs{label} to work. For the coming PDF-tagging
+ project such redefinitions of kernel macros like \cs{label} is
+ frowned upon. At their end the kernel team has updated \cmd{\label}
+ for even easier sopport for \Lpack{nameref}.}
\begin{syntax}
-\cmd{\titleref}\marg{labstr} \\
+\cmd{\titleref}\marg{labstr} \qquad
+\cmd{\titleref*}\marg{labstr} \\
\end{syntax}
\glossary(titleref)%
{\cs{titleref}\marg{labstr}}%
{Prints the (section, or other) title of the number associated
- with \meta{labstr} from a \cs{label}.}
+ with \meta{labstr} from a \cs{label}.}%
+\glossary(titleref*)%
+ {\cs{titleref*}\marg{labstr}}%
+ {Similar to \cs{titleref}, but if \protect\Lpack{hyperref} is loaded this
+ does \emph{not} add a hyperlink. Mapped onto \cs{nameref*}.}
The macro \cmd{\titleref} is a class addition to the usual set of
cross referencing commands. Instead of printing a number it typesets
the title associated with the labelled number. This is really only useful
if there \emph{is} a title, such as from a \cmd{\caption} or
-\cmd{\section} command. For example, look at this code
-and its result.
+\cmd{\section} command. The starred version is for when
+\Lpack{hyperref} is loaded, then the starred version does \emph{not}
+create a hyperlink. If \Lpack{hyperref} is \emph{not} loaded, then the
+two macros does the same thing.
-\begin{egsource}{eg:sec:nxref:1}
-Labels may be applied to:
-\begin{enumerate}
-\item Chapters, sections, etc. \label{sec:nxref:1}
-...
-\item Items in numbered lists, etc. \ldots \label{sec:nxref:5}
-\end{enumerate}
-Item \ref{sec:nxref:1} in section \textit{\titleref{sec:nxref}}
-mentions sections while item \titleref{sec:nxref:5}, on page
-\pageref{sec:nxref:5} in the same section, mentions things like
-items in enumerated lists that should not be referenced
-by \verb?\titleref?.
-\end{egsource}
-\begin{egresult}[Named references should be to titled elements]{eg:sec:nxref:1}
-Labels may be applied to:
-\begin{enumerate}
-\item Chapters, sections, etc. \label{sec:nxref:1}
-\item Captions
-\item Legends
-\item Poem titles
-\item Items in numbered lists, etc. \ldots \label{sec:nxref:5}
-\end{enumerate}
-Item \ref{sec:nxref:1} in section \textit{\titleref{sec:nxref}}
-mentions sections while item\index{reference!unexpected result}
-\titleref{sec:nxref:5}, on page
-\pageref{sec:nxref:5} in the same section, mentions things like
-items in enumerated lists
-that should not be referenced by \verb?\titleref?.
-\end{egresult}
- As the above example shows, you have to be a little careful in using
-\cmd{\titleref}.
-Generally speaking, \cmd{\titleref}\marg{key} produces the last named
-thing before the \cmd{\label} that defines the \meta{key}.
+
+% For an example, look at this code and its result.
+% \begin{egsource}{eg:sec:nxref:1}
+% Labels may be applied to:
+% \begin{enumerate}
+% \item Chapters, sections, etc. \label{sec:nxref:1}
+% ...
+% \item Items in numbered lists, etc. \ldots \label{sec:nxref:5}
+% \end{enumerate}
+% Item \ref{sec:nxref:1} in section \textit{\titleref{sec:nxref}}
+% mentions sections while item \titleref{sec:nxref:5}, on page
+% \pageref{sec:nxref:5} in the same section, mentions things like
+% items in enumerated lists that should not be referenced
+% by \verb?\titleref?.
+% \end{egsource}
+
+% \begin{egresult}[Named references should be to titled elements]{eg:sec:nxref:1}
+% Labels may be applied to:
+% \begin{enumerate}
+% \item Chapters, sections, etc. \label{sec:nxref:1}
+% \item Captions
+% \item Legends
+% \item Poem titles
+% \item Items in numbered lists, etc. \ldots \label{sec:nxref:5}
+% \end{enumerate}
+% Item \ref{sec:nxref:1} in section \textit{\titleref{sec:nxref}}
+% mentions sections while item\index{reference!unexpected result}
+% \titleref{sec:nxref:5}, on page
+% \pageref{sec:nxref:5} in the same section, mentions things like
+% items in enumerated lists
+% that should not be referenced by \verb?\titleref?.
+% \end{egresult}
+
+
+%\newpage
+
+
+There can be three possibilities for the name of a sectional division;
+the full name, the name in the \toc, and the name in the page header.
+Aka
+\begin{verbatim}
+\section[toc][header]{title}
+\end{verbatim}
+Following the tradition used by \Lpack{nameref}\footnote{The old
+ \cmd{\titleref} implementation did the same.} we generally use the
+title for the \toc{}. This corresponds to the default setting
+\cmd{\tocnameref}. Issuing \cmd{\headnameref} we instead use the
+header (if available) when preparing the title for the label.
\begin{syntax}
\cmd{\headnameref} \cmd{\tocnameref} \\
@@ -26220,90 +26415,27 @@ thing before the \cmd{\label} that defines the \meta{key}.
{Use header title for sectional title references.}
\glossary(tocnameref)%
{\cs{tocnameref}}%
- {Use \prtoc{} title for sectional title references.}
-There can be three possibilities for the name of a sectional division;
-the full name, the name in the \toc, and the name in the page header.
-As far as \cmd{\titleref} is concerned it does not use the fullname,
-and so the choice simplifies to the \toc{} or page header. Following
-the declaration \cmd{\headnameref} it uses the page header name.
-Following the opposite declaration \cmd{\tocnameref}, which is the
-default, it uses the \toc\ name.
+ {Use \prtoc{} title for sectional title references (default).}
-\Note{} Specifically with the \Lclass{memoir} class,
-do not put a \cmd{\label} command inside an
-argument to a \cmd{\chapter} or \cmd{\section} or \cmd{\caption}, etc.,
-command. Most likely it will either be ignored or referencing it will
-produce incorrect values. This restriction does not apply to the standard
-classes, but in any case I think it is good practice not to embed any
-\cmd{\label} commands.
+\fancybreak{}
-\begin{syntax}
-\cmd{\currenttitle} \\
-\end{syntax}
-\glossary(currenttitle)%
- {\cs{currenttitle}}%
- {Gives the title of the last sectional division command.}
- If you just want to refer to the current title you can do so with
-\cmd{\currenttitle}. This acts as though there had been a label associated
-with the title and then \cmd{\titleref} had been used to refer to that label.
-For example:
-\begin{egsource}{eg:sec:nxref:2}
-This sentence in the section titled `\currenttitle' is an example of the
-use of the command \verb?\currenttitle?.
-\end{egsource}
+
+\Note{} In general it is \emph{not} recommended to place
+\cmd{\label} inside an argument for a \cmd{\chapter}, \cmd{\section},
+\cmd{\caption}, etc., command. At that point there is not title data
+available to use for the label.
-\begin{egresult}[Current title]{eg:sec:nxref:2}
-This sentence in the section titled `\currenttitle' is an example of the
-use of the command \verb?\currenttitle?.
-\end{egresult}
+% \fancybreak{}
-\begin{syntax}
-\cmd{\theTitleReference}\marg{num}\marg{text} \\
-\end{syntax}
-\glossary(theTitleReference)%
- {\cs{theTitleReference}\marg{num}\marg{text}}
- {Called by \cs{titleref} and \cs{currenttitle} with the number and
- text of the title to print the values.}
-Both \cmd{\titleref} and \cmd{\currenttitle} use the \cmd{\theTitleReference}
-to typeset the title. This is called with two arguments ---
-the number, \meta{num}, and the text, \meta{text}, of the title. The
-default definition is:
-\begin{lcode}
-\newcommand{\theTitleReference}[2]{#2}
-\end{lcode}
-so that only the \meta{text} argument is printed. You could, for example,
-change the definition to
-\begin{lcode}
-\renewcommand{\theTitleReference}[2]{#1\space \textit{#2}}
-\end{lcode}
-to print the number followed by the title in italics. If you do this, only use
-\cmd{\titleref} for numbered titles, as a printed number for an
-unnumbered title (a) makes no sense, and (b) will in any case be
-incorrect.
- The commands \cmd{\titleref}, \cmd{\theTitleReference} and
-\cmd{\currenttitle} are direct equivalents of those in the \Lpack{titleref}
-package~\cite{TITLEREF}.
+\begin{Changed}[Summer 2023]
+ The following macros are no longer used. They will either issue a
+ warning or an error. Users are encouraged to remove them:
+ \cmd{\currenttitle}, \cmd{\namerefon} (is always on),
+ \cmd{\namerefoff} and \cmd{\theTitleReference}.
+\end{Changed}
+
-\begin{syntax}
-\cmd{\namerefon} \cmd{\namerefoff} \\
-\end{syntax}
-\glossary(namerefon)%
- {\cs{namerefon}}%
- {Makes \cs{titleref} operative.}
-\glossary(namerefoff)%
- {\cs{namerefoff}}%
- {Makes \cs{titleref} inoperative.}
-
- The capability for referencing by name has one potentially
-unfortunate side effect --- it causes some arguments, such as that
-for \cmd{\legend}, to be moving\index{moving argument} arguments
-and hence any fragile\index{fragile} command
-in the argument will need \cmd{\protect}ing. However, not every document
-will require the use of \cmd{\titleref} and so the declaration
-\cmd{\namerefoff} is provided to switch it off (the argument to
-\cmd{\legend} would then not be moving). The declaration
-\cmd{\namerefon}, which is the default, enables name referencing.
\index{reference!by name|)}
@@ -28158,8 +28290,8 @@ pdflatex memman
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2021-03-22 18:32:04 +0100 (Mon, 22 Mar 2021) $}
-{$LastChangedRevision: 707 $}
+{$LastChangedDate: 2023-08-06 23:23:21 +0200 (Sun, 06 Aug 2023) $}
+{$LastChangedRevision: 768 $}
{$LastChangedBy: daleif@math.au.dk $}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -28635,7 +28767,7 @@ in other orthographies.
The \cmd{\quarkmarks} declaration uses \cmd{\printtime}, so be careful
if you change it.
- Nicola Talbot's \Lpack{datetime} package~\cite{DATETIME} provides
+ Nicola Talbot's \Lpack{datetime2} package~\cite{DATETIME2} provides
a much more comprehensive collection of styles for printing the time;
also for dates.
@@ -28953,6 +29085,23 @@ optional argument) only \meta{start-code} is useful ---
\meta{macro} has any delimited arguments then \cmd{\patchcommand}
cannot be used.
+\begin{recommended}
+ Again \Lpack{xpatch} and \Lpack{etoolbox} (both loaded by \theclass)
+ are recommended. See the commands
+ \begin{syntax}
+ \cmd{\xpatchcmd}\marg{macro}\marg{search}\marg{replace}\marg{success}\marg{failure} \\
+ \cmd{\xapptocmd}\marg{macro}\marg{code}\marg{success}\marg{failure} \\
+ \cmd{\xpretocmd}\marg{macro}\marg{code}\marg{success}\marg{failure} \\
+ \cmd{\patchcmd}\marg{macro}\marg{search}\marg{replace}\marg{success}\marg{failure} \\
+ \cmd{\apptocmd}\marg{macro}\marg{code}\marg{success}\marg{failure} \\
+ \cmd{\pretocmd}\marg{macro}\marg{code}\marg{success}\marg{failure} \\
+ \end{syntax}
+ Here \cmd{\xpatchcmd} can patch some macros can \cmd{\patchcmd}
+ cannot. The combination of \verb|\(x)pretocmd| and
+ \verb|\(x)apptocmd| give the same result as \cmd{\patchcommand}.
+\end{recommended}
+
+
\section{String arguments}
In the code for the class I have sometimes used macro arguments
@@ -28996,6 +29145,9 @@ values. For example:
}
\end{lcode}
+See also the tests available in \Lpack{etoolbox}.
+
+
\section{Odd/even page checking}
It is difficult to check robustly if the current page is odd or even
@@ -38847,12 +38999,12 @@ access CTAN is available at \url{http://www.tug.org}.
\CTANurl{/macros/latex/contrib/url/})
%%% keep
-\bibitem[Ars01a]{TITLEREF}
- Donald Arseneau.
- \newblock \emph{The titleref package}.
- \newblock April, 2001.
- \newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/titleref/})
+% \bibitem[Ars01a]{TITLEREF}
+% Donald Arseneau.
+% \newblock \emph{The titleref package}.
+% \newblock April, 2001.
+% \newblock (Available from CTAN via
+% \CTANurl{/macros/latex/contrib/titleref/})
%%% keep
\bibitem[Ars01b]{CHAPTERBIB}
@@ -38977,10 +39129,10 @@ access CTAN is available at \url{http://www.tug.org}.
\CTANurl{/macros/latex/required/tools/})
%%% keep
-\bibitem[Car98b]{LONGTABLE}
+\bibitem[Car21]{LONGTABLE}
David Carlisle.
\newblock \emph{The longtable package}.
- \newblock May, 1998.
+ \newblock May, 2021.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/required/tools/})
@@ -39643,18 +39795,18 @@ Michael~E. Mortenson.
\CTANurl{/fonts/mathpazo/})
%%% keep
-\bibitem[Rahtz01]{NAMEREF}
- Sebastian Rahtz.
+\bibitem[Rahtz23a]{NAMEREF}
+ Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project.
\newblock \emph{Section name references in LaTeX}.
- \newblock January, 2001.
+ \newblock 2023.
\newblock (Available from CTAN (the \texttt{nameref} package) via
\CTANurl{/macros/latex/contrib/hyperref/})
%%% keep
-\bibitem[Rahtz02]{HYPERREF}
- Sebastian Rahtz.
+\bibitem[Rahtz23b]{HYPERREF}
+ Sebastian Rahtz, Heiko Oberdiek, The \LaTeX3 Project.
\newblock \emph{Hypertext marks in LaTeX}.
- \newblock May, 2002. Now maintained and frequently updated by Heiko Oberdiek.
+ \newblock 2023.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/contrib/hyperref/})
@@ -39766,12 +39918,12 @@ Martin Scharrer,
\newblock Vrijie Universiteit, Amsterdam, 2004.
%%% keep
-\bibitem[Tal06]{DATETIME}
+\bibitem[Tal21]{DATETIME2}
Nicola L. C. Talbot.
- \newblock \emph{datetime.sty: Formatting Current Date and Time}.
- \newblock December, 2006.
+ \newblock \emph{datetime2: date and time formats}.
+ \newblock Martch, 2021.
\newblock (Available from CTAN via
- \CTANurl{/macros/latex/contrib/datetime/})
+ \CTANurl{/macros/latex/contrib/datetime2/})
%%% keep
\bibitem[Thi98]{ORNAMENTAL}
@@ -40118,11 +40270,11 @@ Peter Wilson (with the assistance of Lars Madsen).
\newblock (Available from CTAN via
\CTANurl{/macros/latex/contrib/memoir/})
-\bibitem[Wil19b]{MEMMAN}
+\bibitem[Wil23]{MEMMAN}
Peter Wilson (with the assistance of Lars Madsen).
\newblock \emph{The Memoir Class for Configurable Typesetting ---
User Guide}
- \newblock November, 2019. Regularly updated.
+ \newblock November, 2023. Regularly updated.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/contrib/memoir/})
@@ -40135,16 +40287,16 @@ Peter Wilson (with the assistance of Lars Madsen).
%%% keep
-\bibitem[Wil??]{RUMOUR}
-Peter Wilson.
-\newblock \emph{A Rumour of Humour: A scientist's commonplace book}.
-\newblock To be published.
+% \bibitem[Wil??]{RUMOUR}
+% Peter Wilson.
+% \newblock \emph{A Rumour of Humour: A scientist's commonplace book}.
+% \newblock To be published.
-\bibitem[Wri19]{SIUNITX}
+\bibitem[Wri23]{SIUNITX}
Joseph Wright.
\newblock \emph{Siunitx — A comprehensive (SI) units package}
- \newblock October, 2019.
+ \newblock October, 2023.
\newblock (Available from CTAN via \CTANurl{/macros/latex/contrib/siunitx})