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.tex1006
1 files changed, 701 insertions, 305 deletions
diff --git a/macros/latex/contrib/memoir/doc-src/memman.tex b/macros/latex/contrib/memoir/doc-src/memman.tex
index 63d653c5a9..965da3bb86 100644
--- a/macros/latex/contrib/memoir/doc-src/memman.tex
+++ b/macros/latex/contrib/memoir/doc-src/memman.tex
@@ -11,6 +11,8 @@
\documentclass[10pt,letterpaper,extrafontsizes]{memoir}
\usepackage{comment}
+\hfuzz=5pt
+
% For (non-printing) notes \PWnote{date}{text}
\newcommand{\PWnote}[2]{}
@@ -82,8 +84,8 @@
% \svnidlong
% {}
-% {$LastChangedDate: 2018-12-12 12:53:37 +0100 (Wed, 12 Dec 2018) $}
-% {$LastChangedRevision: 622 $}
+% {$LastChangedDate: 2019-11-14 18:06:44 +0100 (Thu, 14 Nov 2019) $}
+% {$LastChangedRevision: 662 $}
% {$LastChangedBy: daleif@math.au.dk $}
@@ -115,10 +117,15 @@
+
+
%% end preamble
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%#% extend
+
+\hfuzz=10pt
+
\usepackage[draft]{fixme}
\fxsetup{
multiuser,
@@ -1305,9 +1312,9 @@ been answered.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2015-04-22 17:17:51 +0200 (Wed, 22 Apr 2015) $}
-{$LastChangedRevision: 527 $}
-{$LastChangedBy: daleif $}
+{$LastChangedDate: 2019-11-14 18:06:44 +0100 (Thu, 14 Nov 2019) $}
+{$LastChangedRevision: 662 $}
+{$LastChangedBy: daleif@math.au.dk $}
\chapter{Introduction to the eighth edition}
@@ -1338,7 +1345,7 @@ typesetting mathematics. On the other hand it is easy to configure a work
produced with \Mname\
to meet a university's thesis layout requirements.
- \Mname\ has improved substantially since it was first released ---
+The \Mname\ class has improved substantially since it was first released ---
over 50 \ltx ers have provided code or suggestions for improvements.
The class is included in the \TeXUG\ \tx\ distributions and the latest
version of the class and its supporting documentation is always
@@ -1357,16 +1364,16 @@ and \Lbibtex.
\section{General considerations}
- The class is a large one consisting of about 10,000 lines of \ltx\ code
-documented in a 400 page report; there is no need for most users to look at
-this~\cite{MEMCODE}. However if you want to see exactly how some part,
-or all of, \Mname\ is defined it is there for you to peruse.
-The document you are now reading is the separate comprehensive
-User Manual~\cite{MEMMAN} which runs to about 500 pages, and from time to
-time an Addendum %\cite{MEMADD}
-is released noting extensions to the class.\footnote{Currently not in use.}
-Again, if you want to see how something was done in this Manual, which
-of course was prepared using \Mname\ itself, the source
+The class is a large one consisting of about 10,000 lines of \ltx\
+code documented in a 400 page report; there is no need for most users
+to look at this~\cite{MEMCODE}. However if you want to see exactly how
+some part, or all of, \Mname\ is defined it is there for you to
+peruse. The document you are now reading is the separate
+comprehensive User Manual~\cite{MEMMAN} which runs to about 500 pages,
+and from time to time an Addendum %\cite{MEMADD}
+is released noting extensions to the class.\footnote{Currently not in
+ use.} Again, if you want to see how something was done in this
+Manual, which of course was prepared using \Mname\ itself, the source
is available for you to read.
% There is also the \Lpack{memexsupp} package by Lars Madsen~\cite{MEMEXSUPP}
% which provides some extra facilities for the class.
@@ -1468,10 +1475,20 @@ with the corresponding `\listofx'.
\section{Tables}
- Code from the \Lpack{array}, \Lpack{dcolumn}, \Lpack{delarray} and
-\Lpack{tabularx} packges is integrated within the class. To improve
-the appearance of rules in tabular material the \Lpack{booktabs}
-package is also included.
+% Code from the \Lpack{array}, \Lpack{dcolumn}, \Lpack{delarray} and
+%\Lpack{tabularx} packges is integrated within the class. To improve
+%the appearance of rules in tabular material the \Lpack{booktabs}
+%package is also included.
+
+The \Lpack{array}, \Lpack{dcolumn}, \Lpack{delarray}, \Lpack{tabularx}
+are automatically loaded by the class. In earlier days their code were
+embedded into the class, nowadays we just load the respective
+packages. To improve the appearance of rules in tabular material the
+\Lpack{booktabs} package is also included (as a code copy, this may
+change in the future).
+
+
+
Multipage tabulations are often set with the \Lpack{longtable} or
\Lpack{xtab} packages, which can of course be used with the class. For
@@ -1622,65 +1639,73 @@ page, and so on and so forth.
%% \appendix
\section{Packages}
- Most packages work with the \Mname\ class, the main exception being
-the \Lpack{hyperref} package. This package modifies
-many of the internals of the standard classes but does not cater for all of
-the differences between \Mname\ and the standard ones. If you wish to use
-\Lpack{hyperref} with \Mname\ then you must use the \Lpack{memhfixc}
+Most packages work with the \Mname\ class, the main exception being
+the \Lpack{hyperref} package. This package modifies many of the
+internals of the standard classes but does not cater for all of the
+differences between \Mname\ and the standard ones.
+
+If you use \Lpack{hyperref} with \Mname\ then the \Lpack{memhfixc}
package\footnote{\Lpack{memhfixc} is supplied as part of the \Mname\
-distribution.} after using \Lpack{hyperref}. For example like:
-\begin{lcode}
-\documentclass[...]{memoir}
-...
-\usepackage[...]{hyperref}
-\usepackage{memhfixc}
-...
-\begin{document}
-\end{lcode}
-However, if you have a version of \Lpack{hyperref} dated 2006/11/15 or after,
-\Lpack{hyperref}
-will automatically call in \Lpack{memhfixc} so that you don't have to do
-anything.
+ distribution.} is automatically loaded by \Lpack{hyperref} to
+provide some class specific alterations.
+% For example like:
+% \begin{lcode}
+% \documentclass[...]{memoir}
+% ...
+% \usepackage[...]{hyperref}
+% \usepackage{memhfixc}
+% ...
+% \begin{document}
+% \end{lcode}
+% However, if you have a version of \Lpack{hyperref} dated 2006/11/15 or after,
+% \Lpack{hyperref}
+% will automatically call in \Lpack{memhfixc} so that you don't have to do
+% anything.
The \Mname\ class includes code either equivalent to, or extensions of, the
following packages; that is, the set of commands and environments is at least
the same as those in the packages:
%\begin{itemize}%\item
-\begin{lineitems}
+\begin{adjustwidth}{2em}{2em}
+ \begin{center}
+ \begin{lineitems}
\Lpack{abstract}
-\item \Lpack{appendix}
-\item \Lpack{array}
-\item \Lpack{booktabs}
-\item \Lpack{ccaption}
-\item \Lpack{chngcntr}
-\item \Lpack{chngpage}
-\item \Lpack{dcolumn}
-\item \Lpack{delarray}
-\item \Lpack{enumerate}
-\item \Lpack{epigraph}
-\item \Lpack{framed}
-\item \Lpack{ifmtarg}
-\item \Lpack{ifpdf}
-\item \Lpack{index}
-\item \Lpack{makeidx}
-\item \Lpack{moreverb}
-\item \Lpack{needspace}
-\item \Lpack{newfile}
-\item \Lpack{nextpage}
-\item \Lpack{parskip}
-\item \Lpack{patchcmd}
-\item \Lpack{setspace}
-\item \Lpack{shortvrb}
-\item \Lpack{showidx}
-\item \Lpack{tabularx}
-\item \Lpack{titleref}
-\item \Lpack{titling}
-\item \Lpack{tocbibind}
-\item \Lpack{tocloft}
-\item \Lpack{verbatim}
-\item \Lpack{verse}.
-\end{lineitems}
-%\end{itemize}
+ \item \Lpack{appendix}
+ % \item \Lpack{array}
+ \item \Lpack{booktabs}
+ \item \Lpack{ccaption}
+ \item \Lpack{chngcntr}
+ \item \Lpack{chngpage}
+ % \item \Lpack{dcolumn}
+ % \item \Lpack{delarray}
+ \item \Lpack{enumerate}
+ \item \Lpack{epigraph}
+ \item \Lpack{framed}
+ \item \Lpack{ifmtarg}
+ % \item \Lpack{ifpdf}
+ \item \Lpack{index}
+ \item \Lpack{makeidx}
+ \item \Lpack{moreverb}
+ \item \Lpack{needspace}
+ \item \Lpack{newfile}
+ \item \Lpack{nextpage}
+ \item \Lpack{parskip}
+ \item \Lpack{patchcmd}
+ \item \Lpack{setspace}
+ \item \Lpack{shortvrb}
+ \item \Lpack{showidx}
+ % \item \Lpack{tabularx}
+ \item \Lpack{titleref}
+ \item \Lpack{titling}
+ \item \Lpack{tocbibind}
+ \item \Lpack{tocloft}
+ \item \Lpack{verbatim}
+ \item \Lpack{verse}.
+ \end{lineitems}
+ \end{center}
+\end{adjustwidth}
+% \end{itemize}
+
The class automatically ignores any
\verb?\usepackage? or \verb?\RequirePackage? related to these. However, if
you want to specifically use one of these packages rather than the integrated
@@ -1705,14 +1730,16 @@ material; this has not occured with \Mname's implementation.
The class also provides functions similar to those provided by the following
packages, although the commands are different:
%\begin{itemize}%\item
-\begin{lineitems}%\item
-\Lpack{crop}
-\item \Lpack{fancyhdr}
-\item \Lpack{geometry}
-\item \Lpack{sidecap}
-\item \Lpack{subfigure}
-\item \Lpack{titlesec}.
-\end{lineitems}
+\begin{center}
+ \begin{lineitems}%\item
+ \Lpack{crop}
+ \item \Lpack{fancyhdr}
+ \item \Lpack{geometry}
+ \item \Lpack{sidecap}
+ \item \Lpack{subfigure}
+ \item \Lpack{titlesec}.
+ \end{lineitems}
+\end{center}
%\end{itemize}
You can use these packages
if you wish, or just use the capabilities of the \Mname\ class.
@@ -1720,6 +1747,22 @@ if you wish, or just use the capabilities of the \Mname\ class.
The class has built in support for the \Lpack{bidi} package for
bidirectional typesetting~\cite{BIDI}.
+The following packages are automatically loaded by the class:
+\begin{center}
+ \begin{lineitems}
+ \Lpack{array}
+ \item \Lpack{dcolumn}
+ \item \Lpack{delarray}
+ \item \Lpack{etex}
+% \item \Lpack{ifetex}
+% \item \Lpack{ifxetex}
+% \item \Lpack{ifpdf}
+% \item \Lpack{ifluatex}
+ \item \Lpack{iftex}
+ \item \Lpack{tabularx}
+ \item \Lpack{textcase}~(with~\texttt{overload}~option)
+ \end{lineitems}
+\end{center}
\section{Resources} \label{sec:resources}
@@ -1786,11 +1829,19 @@ this is well worth looking at just as an example of fine typesetting.
freely available from \pixctan\ if you wish to see exactly what it does
and how it does it.
- For a more interactive resource you can ask questions on the
-\url{comp.text.tex} newsgroup. If you are a newcomer to \pixctt\
-please read the FAQ~\cite{FAQ} before asking a question, and also read
-a few day's worth of messages to check that your question hasn't just
-been answered.
+For a more interactive resource you can ask questions on
+\begin{center}
+ \url{http://tex.stackexchange.com}.
+\end{center}
+-- if the question is \Mname\ related, please tag it so.
+
+
+
+% For a more interactive resource you can ask questions on the
+% \url{comp.text.tex} newsgroup. If you are a newcomer to \pixctt\
+% please read the FAQ~\cite{FAQ} before asking a question, and also read
+% a few day's worth of messages to check that your question hasn't just
+% been answered.
\section{Type conventions}
@@ -1941,7 +1992,8 @@ omisssion.% \footnote{Peter is currently occasionably reachable via email
% the maintainer at \texttt{daleif at math dot au dot dk}}
\footnote{Please write the maintainer at \texttt{daleif at math dot au
dot dk}} Along those lines, if you have any questions you may
-direct them to the \url{comp.text.tex} newsgroup or post them on
+%direct them to the \url{comp.text.tex} newsgroup or
+post them on
\url{http://tex.stackexchange.com} as you are likely to get a
satisfactory and timely response.
@@ -1983,11 +2035,12 @@ and make the changes there. Do not expect any help if you change the
\fancybreak{}
As the years go by support for \Lclass{memoir} will devolve from one
-person to another.\footnote{This is currently (July 2009) happening as
- Lars Madsen is taking over from Peter Wilson.} Therefore it is
+person to another.\footnote{Lars Madsen took over from Peter Wilson in
+ 2009.} Therefore it is
probably safer to ask questions, complain, make suggestions, etc., on
-a Q\&A site like \url{http://tex.stackexchange.com} or on the the
-newsgroup \url{comp.text.tex}, which is archived and read by many,
+a Q\&A site like \url{http://tex.stackexchange.com}% or on the the
+% newsgroup \url{comp.text.tex}
+, which is archived and read by many,
than correspond directly with the maintainer, who might well be away
for some considerable time and perhaps not notice your email after
having returned to base.
@@ -1999,12 +2052,11 @@ track of memoir related matters.
\fancybreak{}
-\textit{From the maintainer:} It seems that traffic on
-\url{comp.text.tex} is less frequent. So most \theclass\ related
-questions should go to \url{http://tex.stackexchange.com}, please
-remember to tag them properly, that really helps locating the
-\theclass\ related questions. If no-one comes up with an answer, you
-can also write me directly via \texttt{daleif (at) math dot au dot dk}.
+\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
+directly via \texttt{daleif (at) math dot au dot dk}.
@@ -2221,8 +2273,8 @@ an em, often a quad is 1em.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-03-09 13:41:30 +0100 (Fri, 09 Mar 2018) $}
-{$LastChangedRevision: 587 $}
+{$LastChangedDate: 2019-11-04 16:13:21 +0100 (Mon, 04 Nov 2019) $}
+{$LastChangedRevision: 658 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Starting off} \label{chap:starting}
@@ -2249,6 +2301,8 @@ the same dimensions.
\caption{Class stock metric paper size options, and commands}\label{tab:sizeoptsmetric}
\begin{tabular}{llll} \toprule
Option & Size & stock size command & page size command \\ \midrule
+\Lopt{a7paper}\index{paper!size!A7}\index{stock!size!A7}
+ & \abybm{105}{74}{mm} & \cmd{\stockavii} & \cmd{\pageavii} \\
\Lopt{a6paper}\index{paper!size!A6}\index{stock!size!A6}
& \abybm{148}{105}{mm} & \cmd{\stockavi} & \cmd{\pageavi} \\
\Lopt{a5paper}\index{paper!size!A5}\index{stock!size!A5}
@@ -2257,6 +2311,8 @@ Option & Size & stock size command & page size command \\ \midrule
& \abybm{297}{210}{mm} & \cmd{\stockaiv} & \cmd{\pageaiv} \\
\Lopt{a3paper}\index{paper!size!A3}\index{stock!size!A3}
& \abybm{420}{297}{mm} & \cmd{\stockaiii} & \cmd{\pageaiii} \\
+\Lopt{b7paper}\index{paper!size!B7}\index{stock!size!B7}
+ & \abybm{125}{88}{mm} & \cmd{\stockbvii} & \cmd{\pagebvii} \\
\Lopt{b6paper}\index{paper!size!B6}\index{stock!size!B6}
& \abybm{176}{125}{mm} & \cmd{\stockbvi} & \cmd{\pagebvi} \\
\Lopt{b5paper}\index{paper!size!B5}\index{stock!size!B5}
@@ -4839,8 +4895,8 @@ code below, and then the result is scaled down.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-09-19 15:47:14 +0200 (Wed, 19 Sep 2018) $}
-{$LastChangedRevision: 621 $}
+{$LastChangedDate: 2019-10-22 14:49:52 +0200 (Tue, 22 Oct 2019) $}
+{$LastChangedRevision: 651 $}
{$LastChangedBy: daleif@math.au.dk $}
@@ -5993,15 +6049,39 @@ odd line or to reword the text.
\label{sec:text-case}
The standard kernel \cmd{\MakeUppercase}\marg{text} and
-\cmd{\MakeLowercase}\marg{text}
-basically upper or lower case everything it can get its hands on. This
-is not particularly nice if the \meta{text} contain, say, math.
-
-In order to help with this we provide the \cmd{\MakeTextUppercase} and
-\cmd{\MakeTextLowercase} macros from the \Lpack{textcase} package
-(\cite{textcase}) by David Carlisle. The following is DCs own
-documentation of the provided code changed to match the typography we
-use.
+\cmd{\MakeLowercase}\marg{text} basically upper or lower case
+everything it can get its hands on. This is not particularly nice if
+the \meta{text} contain, say, math.
+
+In order to help with this we load the \Lpack{textcase} package
+(\cite{textcase}) by David Carlisle (with the \texttt{overload}
+option) which provide the \cmd{\MakeTextUppercase} and
+\cmd{\MakeTextLowercase} macros.\footnote{Overload causes the original
+ \cmd{\MakeUppercase} and \cmd{\MakeLowercase} to be copies of
+ \cmd{\MakeTextUppercase} and \cmd{\MakeTextLowercase}.}
+
+
+\begin{caveat}
+ This change was made in October 2019, earlier we embedded a copy of
+ \texttt{textcase} into the class it self. Now we check to see of you
+ have a copy and use that, if found, if not we use our old embedded
+ copy.
+
+ If, for some reason, you want the original \cmd{\MakeUppercase} and
+ \cmd{\MakeLowercase} macros back, add
+\begin{syntax}
+ \cmd{\MemRestoreOrigMakecase}
+\end{syntax}
+to your preamble.
+\end{caveat}
+
+
+The following is DCs own documentation of the provided code changed to
+match the typography we use.\footnote{Note: This documentation will
+ probably be removed in a future version and replaced by a summary
+ and a reference to \cite{textcase}.}
+
+
\fancybreak{}
@@ -7044,9 +7124,9 @@ and thanks notes are meant to be different.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2014-03-31 11:34:44 +0200 (Mon, 31 Mar 2014) $}
-{$LastChangedRevision: 480 $}
-{$LastChangedBy: daleif $}
+{$LastChangedDate: 2019-10-22 18:09:22 +0200 (Tue, 22 Oct 2019) $}
+{$LastChangedRevision: 652 $}
+{$LastChangedBy: daleif@math.au.dk $}
\chapter{Abstracts}
@@ -7191,6 +7271,23 @@ between paragraphs in this environment.
The default values depend on whether or not the \Lopt{twocolumn}
class option is used. The general layout parameters for lists are illustrated
in \fref{fig:listlay}.
+\begin{caveat}
+ The default values for \cmd{\absparindent} and \cmd{\absparsep} are
+ \cmd{\parindent} and \cmd{\parskip}. But, since users may change
+ these values in the preamble, we delay setting \cmd{\absparindent}
+ and \cmd{\absparsep} to the beginning of the document. Thus if you
+ want to change these values remember to use
+\begin{verbatim}
+\AtBeginDocument{
+ \setlength{\absparindent}{...}
+ \setlength{\absparsep}{...}
+}
+\end{verbatim}
+
+\end{caveat}
+
+
+
\begin{syntax}
\cmd{\abslabeldelim}\marg{text} \\
@@ -7238,15 +7335,17 @@ other appropriate environment which is supported by a used package\index{package
\lnc{\abstitleskip} is typeset
before the heading. For example, if \lnc{\absparindent} is non-zero, then:
\begin{lcode}
-\setlength{\abstitleskip}{-\absparindent}
+\AtBeginDocument{
+ \setlength{\abstitleskip}{-\absparindent}
+}
\end{lcode}
- will typeset the heading flush left.
+will typeset the heading flush left (we have to delay as the value of
+\cmd{\absparindent} is zero in the preamble and is set at the start of
+the doc).
-Without the \cmd{\abstractrunin} declaration, \lnc{\abstitleskip} is
-aditional vertical
-space (either positive
-or negative) that is inserted between the abstract name and the text of
-the abstract.
+Without the \cmd{\abstractrunin} declaration, \lnc{\abstitleskip} is
+aditional vertical space (either positive or negative) that is
+inserted between the abstract name and the text of the abstract.
\index{abstract!styling|)}
@@ -7315,9 +7414,9 @@ optional argument of the \cmd{\twocolumn} command. In fact,
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2015-07-17 12:08:47 +0200 (Fri, 17 Jul 2015) $}
-{$LastChangedRevision: 541 $}
-{$LastChangedBy: daleif $}
+{$LastChangedDate: 2019-11-04 16:13:21 +0100 (Mon, 04 Nov 2019) $}
+{$LastChangedRevision: 658 $}
+{$LastChangedBy: daleif@math.au.dk $}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% chapter style
@@ -7818,6 +7917,15 @@ The \cmd{\frontmatter} commands sets the numbering level to \texttt{none}.
The commands \cmd{\mainmatter} and \cmd{\mainmatter*} set the
numbering level to the value specified by \cmd{\maxsecnumdepth}.
+\begin{hint}
+ One will often set \cmd{\setsecnumdepth} in the preamble and then
+ wonder why it didn't do anything. That is probably because of
+ \cmd{\frontmatter} and \cmd{mainmatter}, so make it a habit of
+ setting them both like above.
+\end{hint}
+
+
+
The number setting commands come from the \Lpack{tocvsec2}
package~\cite{TOCVSEC2}.
@@ -9427,6 +9535,19 @@ centered, and in the normal font, you can do
\setsubsubsecheadstyle{\normalfont\centering\MakeUppercase}
\end{lcode}
+\fancybreak{$***$}
+
+Under very special circumstances, one might want to get completely rid
+of the sectional header (for example, if you are using a very small
+paper size, and you are placing the section information in the header
+instead), by creating a macro that takes on argument and ignores it
+\begin{lcode}
+ \newcommand\ignoreMe[1]{}
+ \setsecheadstyle{\ignoreMe}
+\end{lcode}
+
+\fancybreak{$***$}
+
As another example, although I don't recommend this, you can draw a
horizontal line under section titles via:
\begin{lcode}
@@ -9512,10 +9633,13 @@ is to be located.
\glossary(setsecnumformat)%
{\cs{setsecnumformat}\marg{code}}%
{Redefines \cs{@seccntformat} to \meta{code}.}
-Internally all the titling macros use a kernel macro called
+Internally all the titling macros like \cmd{\section},
+\cmd{\subsection} etc. use a kernel macro called
\cmd{\@seccntformat}
which defines the formatting of sectional numbers in a title. Its
-default definition (in file \file{ltsect.dtx}) is effectively:
+default definition (in file \file{ltsect.dtx}) is
+effectively:\footnote{Because they all internally use the
+\cmd{\@startsection} macro.}
\begin{lcode}
\newcommand{\@seccntformat}[1]{\csname the#1\endcsname\quad}
\end{lcode}
@@ -9740,7 +9864,22 @@ In this example we will provide separate formatting for \cmd{\section} and \cmd{
\newcommand\subsectionsecnumformat{\fbox{\enspace\thesubsection\enspace}\enspace}
\end{lcode}
Since the macro is only called in the proper context, we can use
-\cmd{\thesection} directly in the code for \cmd{\section}.
+\cmd{\thesection} directly in the code for \cmd{\section}. However,
+this requires you to define formatting macros for all sectional
+headings. Here is how to reverse it, that is see if a format exists,
+use it, otherwise use a default:
+\begin{lcode}
+ \makeatletter
+ \setsecnumformat{%
+ \@ifundefined{#1secnumformat}{% nope, use a default
+ \csname the#1\endcsname\quad%
+ }{%
+ \csname #1secnumformat\endcsname%
+ }%
+ }
+\makeatother
+\end{lcode}
+
@@ -10188,8 +10327,8 @@ normal size by the time subsubsection heads are reached, or before.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-09-06 15:05:23 +0200 (Thu, 06 Sep 2018) $}
-{$LastChangedRevision: 612 $}
+{$LastChangedDate: 2019-11-11 16:55:48 +0100 (Mon, 11 Nov 2019) $}
+{$LastChangedRevision: 661 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapterstyle{demo3}
@@ -10247,6 +10386,26 @@ is changed, but sometimes it may be desirable to have a continuous sequence
of numbers irrespective of their displayed form, which is where
the starred version comes in handy.
+\begin{hint}
+ If you are using \Lpack{hyperref} and include a title page, the
+ following setup might be useful
+ \begin{lcode}
+\pagenumbering{Alpha}
+\begin{titlingpage}
+ ...
+\end{titlingpage}
+\frontmatter
+... % this has roman numbering
+\mainmatter
+... % this has arabic numbering
+\end{lcode}
+The code has the advantage that \Lpack{hyperref} does not warn that
+the page anchors for pages 1 and 2 are already defined (the
+\Ie{titlingpage} env does not show the A, B page numbers).
+\end{hint}
+
+
+
\begin{syntax}
\cmd{\savepagenumber} \\
\cmd{\restorepagenumber} \\
@@ -10415,10 +10574,11 @@ Called from & Style \\ \midrule
is \cmd{\uppercaseheads} which specifies that the titles are to be
automatically uppercased.
-\textbf{Change 2012:} The upper casing macro used by \cmd{\uppercaseheads} has
-been changed into \cmd{\MakeTextUppercase} such that the upper casing
-does not touch math, references or citations.
-
+\begin{note*}{Change 2012} The upper casing macro used by
+ \cmd{\uppercaseheads} has been changed into \cmd{\MakeTextUppercase}
+ (from the \Lpack{textcase} package) such that the upper casing does
+ not touch math, references or citations.
+\end{note*}
For the \pstyle{myheadings} pagestyle above, you have to define your own
titles to go into the header\index{header}. Each sectioning command,
@@ -10530,8 +10690,8 @@ are diagrammed in \fref{lay:header}.
the \pstyle{plain} pagestyle is defined as
\begin{lcode}
\makepagestyle{plain}
- \makeevenfoot{plain}{}{\thepage}{}
- \makeoddfoot{plain}{}{\thepage}{}
+\makeevenfoot{plain}{}{\thepage}{}
+\makeoddfoot{plain}{}{\thepage}{}
\end{lcode}
which centers the page number at the bottom of the page.
@@ -10725,11 +10885,12 @@ same as the \lnc{\textwidth}.
setting any marks.}
The last thing that the \cmd{\pagestyle}\marg{style} does is call the
\meta{code} argument of the \cmd{\makepsmarks} macro for \meta{style}.
-This is normally used for specifying non-default code
-(i.e., code not specifiable via any of the previous macros) for the
-particular pagestyle. The code normally defines the marks, if any,
-that will be used in
-the headers\index{header} and footers\index{footer}.
+If specified, this code will often redefine the various macros that
+provide the automated data for the headers (or footers). For example
+how \cmd{\chapter} makes the title and chapter number avaialble for
+the header. If no \meta{code} is specified (or \cmd{\makepsmarks} is
+not setup for this \meta{style}, the providing macros already active
+will be used.
\LMnote{2010/06/25}{Added a mentioning of \cs{makeheadfootstrut}}
\begin{syntax}
@@ -10742,6 +10903,211 @@ them to \cmd{\strut} (except the \pstyle{empty} style where the struts
are empty). One can use the macro above to change these struts to
something different.
+\fancybreak{$***$}
+
+\LMnote{2019/11/07}{Moved the explanation for \cmd{createmark} and
+ friends}
+
+Writing the \meta{code} part for \cmd{\makepsmarks} can be very
+daunting, as you will be needing to define most of the macros listed
+in Table~\ref{tab:markmacros}
+
+However, most uses are very similar, so we have provided some helper
+macros:
+\begin{syntax}
+\cmd{\createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix} \\
+\cmd{\createplainmark}\marg{type}\marg{marks}\marg{text} \\
+\cmd{\memUChead}\marg{text} \\
+\cmd{\uppercaseheads} \cmd{\nouppercaseheads} \\
+\end{syntax}
+\glossary(createplainmark)%
+ {\cs{createplainmark}\marg{type}\marg{marks}\marg{text}}%
+ {Defines the \cs{typemark} macro using \meta{text} as the mark, where
+ \meta{marks} is \texttt{left}, \texttt{both} or \texttt{right}.}
+\glossary(createmark)%
+ {\cs{createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix}}%
+ {Defines the \cs{secmark} macro where \meta{show} (\texttt{shownumber}
+ or \texttt{nonumber}) controls whether the division number will be
+ displayed within \cs{mainmatter}, \meta{marks} is \texttt{left},
+ \texttt{both} or \texttt{right}, and \meta{prefix} and \meta{postfix}
+ are affixed before and after the \meta{sec} (division) number.}
+\glossary(memUChead)%
+ {\cs{memUChead}\marg{text}}%
+ {May uppercase \meta{text}, depending on \cs{uppercaseheads} and
+ \cs{nouppercaseheads}.}
+\glossary(uppercaseheads)%
+ {\cs{uppercaseheads}}%
+ {Defines \cs{memUChead} as equivalent to \cs{MakeUppercase}.}
+\glossary(nouppercaseheads)%
+ {\cs{nouppercaseheads}}%
+ {Defines \cs{memUChead} as \cs{relax} (i.e., do nothing).}
+
+\noindent
+The macro \cmd{\createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix}
+defines a new macro \verb?\<sec>mark? that will take one argument, where
+\begin{description}
+ \item[\meta{marks}] is either \texttt{left}, \texttt{right} or \texttt{both},
+\item[\meta{sec}] is a sectional division
+ such as \texttt{part}, \texttt{chapter}, \texttt{section}, etc.,
+\item[\meta{show}] is one of the terms \texttt{shownumber}, \texttt{nonumber} or
+ \texttt{notitle}. They control what is available in the provided
+ header text. The terms \texttt{shownumber}, \texttt{nonumber}
+ control whether the number is displayed within \cmd{\mainmatter}
+ (under \cmd{\frontmatter} no numbers are displayed.
+
+ The term \texttt{notitle} (which implies \texttt{shownumber}) will
+ only show the number part (including the \meta{postfix} and
+ \meta{prefix} parts described below) and \emph{no} title.
+
+\item[\meta{pre-/postfix}] are affixed before and after the division number.
+\end{description}
+For example:
+\begin{lcode}
+\createmark{section}{left}{nonumber}{}{}
+\createmark{section}{both}{nonumber}{}{}
+\createmark{section}{right}{nonumber}{}{}
+\end{lcode}
+is equivalent to, respectively
+\begin{lcode}
+\def\sectionmark#1{\markboth{\memUChead{#1}}{}}
+\def\sectionmark#1{\markboth{\memUChead{#1}}{\memUChead{#1}}}
+\def\sectionmark#1{\markight{\memUChead{#1}}}
+\end{lcode}
+whereas
+\begin{lcode}
+\createmark{section}{left}{shownumber}{}{}
+\end{lcode}
+is equivalent to the following pseudo code
+\begin{lcode}
+\def\sectionmark#1{\markboth{
+ \memUChead{
+ if secnumdepth > number:
+ if mainmatter:
+ prefix \thesection postfix
+ fi
+ fi
+ #1% aka the section title
+ }
+}{}}
+\end{lcode}
+and
+\begin{lcode}
+\createmark{section}{left}{notitle}{}{}
+\end{lcode}
+is equivalent to the following pseudo code
+\begin{lcode}
+\def\sectionmark#1{\markboth{
+ \memUChead{
+ if secnumdepth > number:
+ if mainmatter:
+ prefix \thesection postfix
+ fi
+ fi
+ }
+}{}}
+\end{lcode}
+
+\fancybreak{}
+
+The macro \cmd{\createplainmark} defines the \verb?\<type>mark?, where
+\meta{type} is an unnumbered division-like head, such as \texttt{toc},
+\texttt{lof}, \texttt{index}, using \meta{text} as the mark value, and
+\meta{marks} is \texttt{left}, \texttt{both} or \texttt{right}. For example:
+\begin{lcode}
+\createplainmark{toc}{left}{\contentsname}
+\createplainmark{lot}{right}{\listtablename}
+\createplainmark{bib}{both}{\bibname}
+\end{lcode}
+is equivalent to
+\begin{lcode}
+\def\tocmark{\markboth{\memUChead{\contentsname}}{}}
+\def\lotmark{\markright{\memUChead{\listtablename}}}
+\def\lofmark{\markboth{\memUChead{\bibname}}{\memUChead{\bibname}}}
+\end{lcode}
+
+\fancybreak{}
+
+Lastly the macro \cmd{\memUChead} is an internal macro handling the
+upper- or non-uppercasing. Its definition is usually controlled using
+\cmd{\uppercaseheads} which sets \cmd{\memUChead} to
+\cmd{\MakeTextUppercase} (from \Lpack{textcase}) whereas
+\cmd{\nouppercaseheads} defines it to output the argument
+unchanged. The class default is \cmd{\uppercaseheads}.
+
+\fancybreak{}
+
+The class' default page style is \pstyle{headings}, which has the
+following setup for \cmd{\makepsmarks} (slight pseudocode):
+\begin{lcode}
+if twopage setup:
+ \makepsmarks{headings}{%
+ \createmark{chapter}{left}{shownumber}{\@chapapp\ }{. \ }
+ \createmark{section}{right}{shownumber}{}{. \ }
+ \createplainmark{toc}{both}{\contentsname}
+ \createplainmark{lof}{both}{\listfigurename}
+ \createplainmark{lot}{both}{\listtablename}
+ \createplainmark{bib}{both}{\bibname}
+ \createplainmark{index}{both}{\indexname}
+ \createplainmark{glossary}{both}{\glossaryname}
+ }
+else: % aka oneside
+ \makepsmarks{headings}{%
+ \createmark{chapter}{right}{shownumber}{\@chapapp\ }{. \ }
+ \createplainmark{toc}{right}{\contentsname}
+ \createplainmark{lof}{right}{\listfigurename}
+ \createplainmark{lot}{right}{\listtablename}
+ \createplainmark{bib}{right}{\bibname}
+ \createplainmark{index}{right}{\indexname}
+ \createplainmark{glossary}{right}{\glossaryname}
+ }
+fi
+\end{lcode}
+Where \cmd{\@chapapp} is a special macro what equals
+\cmd{\chaptername} unless \cmd{\appendix} is active, where it is then
+equal to \cmd{\appendixname}.
+
+Note how the twosided setup only include marks for \cmd{\chapter} and
+\cmd{\section} and onesided only for \cmd{\chapter}.
+
+\fancybreak{}
+
+So what if we wanted to add support for \cmd{\subsection} to an
+already defined page style? Use this:
+\begin{syntax}
+\cmd{\addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append} \\
+\end{syntax}
+\glossary(addtopsmarks)%
+ {\cs{addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append}}%
+ {Inserts \meta{prepend} and \meta{append} before and after the current
+ definition of \cs{makepsmarks} for \meta{pagestyle}.}
+Here \meta{prepend} and \meta{append} is inserted
+\emph{before} and \emph{after} the current definition of \cs{makepsmarks}
+for \meta{pagestyle}. So to answer our question we could use
+\begin{lcode}
+\addtopsmarks{headings}{}{%
+ \createmark{subsection}{right}{shownumber}{}{. \space}}
+\pagestyle{headings}
+\end{lcode}
+-- always remember to activate the page style afterwards.
+
+
+\fancybreak{}
+
+\LMnote{2010/02/08}{fixed typo}
+
+When the class runs the marks part of page style, it does not zero out
+old marks, i.e.\ if an old \cmd{\sectionmark} exist, it still exist
+even if we do not change it. This is both a good and a bad thing. To
+help users redefine these marks to doing nothing we provide
+\begin{syntax}
+\cmd{\clearplainmark}\marg{type}\\
+\cmd{\clearmark}\marg{type}\\
+\end{syntax}
+The used types are the same as for \cmd{\createplainmark} and \cmd{\createmark}.
+
+
+
+
\subsection{Example pagestyles}
@@ -10766,9 +11132,12 @@ date will be typeset in italics at the bottom of each page by the spine
margin. If any \pstyle{empty} pages should be marked as well, specify
similar footers for that style as well.
+\fancybreak{}
+
+
Here is part of the standard definition of the \pstyle{headings}
pagestyle for the \Lclass{book} class which uses many internal \ltx\ commands;
-but note that \Mname\ does not use this.
+but note that the class does not use this!
\begin{lcode}
\def\ps@headings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
@@ -10806,7 +11175,7 @@ the section's title, again all in upper case.
\makeoddhead{headings}{\slshape\rightmark}{}{\thepage}
\makepsmarks{headings}{%
\def\chaptermark##1{%
- \markboth{\MakeUppercase{%
+ \markboth{\MakeTextUppercase{%
\ifnum\c@secnumdepth > \m@ne
\if@mainmatter
\@chapapp\ \thechapter. \ %
@@ -10814,74 +11183,96 @@ the section's title, again all in upper case.
\fi
##1}}{}}%
\def\sectionmark##1{%
- \markright{\MakeUppercase{%
+ \markright{\MakeTextUppercase{%
\ifnum\c@secnumdepth > \z@
\thesection. \ %
\fi
##1}}}
- \def\tocmark{\markboth{\MakeUppercase{\contentsname}}{}}
- \def\lofmark{\markboth{\MakeUppercase{\listfigurename}}{}}
- \def\lotmark{\markboth{\MakeUppercase{\listtablename}}{}}
- \def\bibmark{\markboth{\MakeUppercase{\bibname}}{}}
- \def\indexmark{\markboth{\MakeUppercase{\indexname}}{}}
- \def\glossarymark{\markboth{\MakeUppercase{\glossaryname}}{}}}
+ \def\tocmark{\markboth{\MakeTextUppercase{\contentsname}}{}}
+ \def\lofmark{\markboth{\MakeTextUppercase{\listfigurename}}{}}
+ \def\lotmark{\markboth{\MakeTextUppercase{\listtablename}}{}}
+ \def\bibmark{\markboth{\MakeTextUppercase{\bibname}}{}}
+ \def\indexmark{\markboth{\MakeTextUppercase{\indexname}}{}}
+ \def\glossarymark{\markboth{\MakeTextUppercase{\glossaryname}}{}}}
\end{lcode}
As you can see, defining the marks for a pagestyle is not necessarily the
-simplest thing in the world. However, courtesy of Lars\index{Madsen, Lars} Madsen,
-help is at hand.
+simplest thing in the world. With the extra tools described above,
+this code can be reduced to
+\begin{lcode}
+\makepagestyle{headings}
+\makeevenhead{headings}{\thepage}{}{\slshape\leftmark}
+\makeoddhead{headings}{\slshape\rightmark}{}{\thepage}
+\makepsmarks{headings}{%
+ \createmark{chapter}{left}{shownumber}{\@chapapp\ }{. \ }
+ \createmark{section}{right}{shownumber}{}{. \ }
+ \createplainmark{toc}{both}{\contentsname}
+ \createplainmark{lof}{both}{\listfigurename}
+ \createplainmark{lot}{both}{\listtablename}
+ \createplainmark{bib}{both}{\bibname}
+ \createplainmark{index}{both}{\indexname}
+ \createplainmark{glossary}{both}{\glossaryname}
+}
+\end{lcode}
+
-\begin{syntax}
-\cmd{\createplainmark}\marg{type}\marg{marks}\marg{text} \\
-\cmd{\memUChead}\marg{text} \\
-\cmd{\uppercaseheads} \cmd{\nouppercaseheads} \\
-\cmd{\createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix} \\
-\end{syntax}
-\glossary(createplainmark)%
- {\cs{createplainmark}\marg{type}\marg{marks}\marg{text}}%
- {Defines the \cs{typemark} macro using \meta{text} as the mark, where
- \meta{marks} is \texttt{left}, \texttt{both} or \texttt{right}.}
-\glossary(createmark)%
- {\cs{createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix}}%
- {Defines the \cs{secmark} macro where \meta{show} (\texttt{shownumber}
- or \texttt{nonumber}) controls whether the division number will be
- displayed within \cs{mainmatter}, \meta{marks} is \texttt{left},
- \texttt{both} or \texttt{right}, and \meta{prefix} and \meta{postfix}
- are affixed before and after the \meta{sec} (division) number.}
-\glossary(memUChead)%
- {\cs{memUChead}\marg{text}}%
- {May uppercase \meta{text}, depending on \cs{uppercaseheads} and
- \cs{nouppercaseheads}.}
-\glossary(uppercaseheads)%
- {\cs{uppercaseheads}}%
- {Defines \cs{memUChead} as equivalent to \cs{MakeUppercase}.}
-\glossary(nouppercaseheads)%
- {\cs{nouppercaseheads}}%
- {Defines \cs{memUChead} as \cs{relax} (i.e., do nothing).}
-The macro \cmd{\createplainmark} defines the \verb?\<type>mark?, where
-\meta{type} is an unnumbered division-like head, such as \texttt{toc},
-\texttt{lof}, \texttt{index}, using \meta{text} as the mark value, and
-\meta{marks} is \texttt{left}, \texttt{both} or \texttt{right}. For example:
-\begin{lcode}
-\createplainmark{toc}{left}{\contentsname}
-\createplainmark{lot}{right}{\listtablename}
-\createplainmark{bib}{both}{\bibname}
-\end{lcode}
-is equivalent to
-\begin{lcode}
-\def\tocmark{\markboth{\memUChead{\contentsname}}{}}
-\def\lotmark{\markright{\memUChead{\listtablename}}}
-\def\lofmark{\markboth{\memUChead{\bibname}}{\memUChead{\bibname}}}
-\end{lcode}
- Following the declaration \cmd{\uppercaseheads} the \cmd{\memUChead}
-command is equivalent to \cmd{\MakeUppercase} but after the
-\cmd{\nouppercaseheads} it is equivalent to \cmd{\relax} (which does nothing).
-The \cmd{\createplainmark} macro wraps \cmd{\memUChead} around the \meta{text}
-argument within the generated \cs{mark(both/right)} macro. By using the
-\cs{(no)uppercaseheads} declarations you can control the uppercasing, or
-otherwise, of the mark texts. The default is \cmd{\uppercaseheads}.
+% However, courtesy of Lars\index{Madsen, Lars} Madsen,
+% help is at hand.
+
+% \begin{syntax}
+% \cmd{\createplainmark}\marg{type}\marg{marks}\marg{text} \\
+% \cmd{\memUChead}\marg{text} \\
+% \cmd{\uppercaseheads} \cmd{\nouppercaseheads} \\
+% \cmd{\createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix} \\
+% \end{syntax}
+% \glossary(createplainmark)%
+% {\cs{createplainmark}\marg{type}\marg{marks}\marg{text}}%
+% {Defines the \cs{typemark} macro using \meta{text} as the mark, where
+% \meta{marks} is \texttt{left}, \texttt{both} or \texttt{right}.}
+% \glossary(createmark)%
+% {\cs{createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix}}%
+% {Defines the \cs{secmark} macro where \meta{show} (\texttt{shownumber}
+% or \texttt{nonumber}) controls whether the division number will be
+% displayed within \cs{mainmatter}, \meta{marks} is \texttt{left},
+% \texttt{both} or \texttt{right}, and \meta{prefix} and \meta{postfix}
+% are affixed before and after the \meta{sec} (division) number.}
+% \glossary(memUChead)%
+% {\cs{memUChead}\marg{text}}%
+% {May uppercase \meta{text}, depending on \cs{uppercaseheads} and
+% \cs{nouppercaseheads}.}
+% \glossary(uppercaseheads)%
+% {\cs{uppercaseheads}}%
+% {Defines \cs{memUChead} as equivalent to \cs{MakeTextUppercase}.}
+% \glossary(nouppercaseheads)%
+% {\cs{nouppercaseheads}}%
+% {Defines \cs{memUChead} as \cs{relax} (i.e., do nothing).}
+
+
+% The macro \cmd{\createplainmark} defines the \verb?\<type>mark?, where
+% \meta{type} is an unnumbered division-like head, such as \texttt{toc},
+% \texttt{lof}, \texttt{index}, using \meta{text} as the mark value, and
+% \meta{marks} is \texttt{left}, \texttt{both} or \texttt{right}. For example:
+% \begin{lcode}
+% \createplainmark{toc}{left}{\contentsname}
+% \createplainmark{lot}{right}{\listtablename}
+% \createplainmark{bib}{both}{\bibname}
+% \end{lcode}
+% is equivalent to
+% \begin{lcode}
+% \def\tocmark{\markboth{\memUChead{\contentsname}}{}}
+% \def\lotmark{\markright{\memUChead{\listtablename}}}
+% \def\lofmark{\markboth{\memUChead{\bibname}}{\memUChead{\bibname}}}
+% \end{lcode}
+
+% Following the declaration \cmd{\uppercaseheads} the \cmd{\memUChead}
+% command is equivalent to \cmd{\MakeTextUppercase} but after the
+% \cmd{\nouppercaseheads} it is equivalent to \cmd{\relax} (which does nothing).
+% The \cmd{\createplainmark} macro wraps \cmd{\memUChead} around the \meta{text}
+% argument within the generated \cs{mark(both/right)} macro. By using the
+% \cs{(no)uppercaseheads} declarations you can control the uppercasing, or
+% otherwise, of the mark texts. The default is \cmd{\uppercaseheads}.
\LMnote{2010/02/08}{added the following paragraph}
Note that if you want to use a predefined page style, but would like
@@ -10893,59 +11284,49 @@ reload the page style, for example with the default page style in \theclass\
\end{lcode}
- The macro \cmd{\createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix}
-defines the \verb?\<sec>mark? macro where \meta{sec} is a sectional division
-such as \texttt{part}, \texttt{chapter}, \texttt{section}, etc.,
-and \meta{show} (\texttt{shownumber}
-or \texttt{nonumber}) controls whether the division number will be
-displayed within \cs{mainmatter}. The \meta{marks} argument is \texttt{left},
-\texttt{both} or \texttt{right}, and \meta{prefix} and \meta{postfix}
-are affixed before and after the division number. For example:
-\begin{lcode}
-\createmark{section}{left}{nonumber}{}{}
-\createmark{section}{both}{nonumber}{}{}
-\createmark{section}{right}{nonumber}{}{}
-\end{lcode}
-is equivalent to, respectively
-\begin{lcode}
-\def\sectionmark#1{\markboth{#1}{}}
-\def\sectionmark#1{\markboth{#1}{#1}}
-\def\sectionmark#1{\markight{#1}}
-\end{lcode}
+% The macro \cmd{\createmark}\marg{sec}\marg{marks}\marg{show}\marg{prefix}\marg{postfix}
+% defines the \verb?\<sec>mark? macro where \meta{sec} is a sectional division
+% such as \texttt{part}, \texttt{chapter}, \texttt{section}, etc.,
+% and \meta{show} (\texttt{shownumber}, \texttt{nonumber} or
+% \texttt{notitle} (implies \texttt{shownumber})) controls whether the division number will be
+% displayed within \cs{mainmatter}. The \meta{marks} argument is \texttt{left},
+% \texttt{both} or \texttt{right}, and \meta{prefix} and \meta{postfix}
+% are affixed before and after the division number. For example:
+% \begin{lcode}
+% \createmark{section}{left}{nonumber}{}{}
+% \createmark{section}{both}{nonumber}{}{}
+% \createmark{section}{right}{nonumber}{}{}
+% \end{lcode}
+% is equivalent to, respectively
+% \begin{lcode}
+% \def\sectionmark#1{\markboth{#1}{}}
+% \def\sectionmark#1{\markboth{#1}{#1}}
+% \def\sectionmark#1{\markight{#1}}
+% \end{lcode}
-The difference between \cmd{\createmark} and \cmd{\createplainmark} is
-that the former create a macro that takes an argument, whereas
-\cmd{\createplainmark} does not.
+% The difference between \cmd{\createmark} and \cmd{\createplainmark} is
+% that the former create a macro that takes an argument, whereas
+% \cmd{\createplainmark} does not.
- Using these macros \Mname's current definition of
-\verb?\makepsmarks{headings}? is much simpler (it also leads to a
-slightly different result as the \texttt{toc} etc., marks set both
-the \cmd{\leftmark} and \cmd{\rightmark} instead of just the
-\cmd{\leftmark}):
-\begin{lcode}
-\makepsmarks{headings}{%
- \createmark{chapter}{left}{shownumber}{\@chapapp\ }{. \ }
- \createmark{section}{right}{shownumber}{}{. \ }
- \createplainmark{toc}{both}{\contentsname}
- \createplainmark{lof}{both}{\listfigurename}
- \createplainmark{lot}{both}{\listtablename}
- \createplainmark{bib}{both}{\bibname}
- \createplainmark{index}{both}{\indexname}
- \createplainmark{glossary}{both}{\glossaryname}}
-\end{lcode}
+% Using these macros \Mname's current definition of
+% \verb?\makepsmarks{headings}? is much simpler (it also leads to a
+% slightly different result as the \texttt{toc} etc., marks set both
+% the \cmd{\leftmark} and \cmd{\rightmark} instead of just the
+% \cmd{\leftmark}):
+% \begin{lcode}
+% \makepsmarks{headings}{%
+% \createmark{chapter}{left}{shownumber}{\@chapapp\ }{. \ }
+% \createmark{section}{right}{shownumber}{}{. \ }
+% \createplainmark{toc}{both}{\contentsname}
+% \createplainmark{lof}{both}{\listfigurename}
+% \createplainmark{lot}{both}{\listtablename}
+% \createplainmark{bib}{both}{\bibname}
+% \createplainmark{index}{both}{\indexname}
+% \createplainmark{glossary}{both}{\glossaryname}}
+% \end{lcode}
-\LMnote{2010/02/08}{fixed typo}
-When \Mname{} runs the marks part of page style, it does not zero out
-old marks, i.e.\ if an old \cmd{\sectionmark} exist, it still exist
-even if we do not change it. This is both a good and a bad thing. To help
-users redefine these marks to doing nothing we provide
-\begin{syntax}
-\cmd{\clearplainmark}\marg{type}\\
-\cmd{\clearmark}\marg{type}\\
-\end{syntax}
-The used types are the same as for \cmd{\createplainmark} and \cmd{\createmark}.
@@ -11066,17 +11447,18 @@ what goes into each header\index{header} and footer\index{footer} slot
typeset with \pstyle{companion} pagestyle headers\index{header}. This pagestyle
is part of the class.
-\begin{syntax}
-\cmd{\addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append} \\
-\end{syntax}
-\glossary(addtopsmarks)%
- {\cs{addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append}}%
- {Inserts \meta{prepend} and \meta{append} before and after the current
- definition of \cs{makepsmarks} for \meta{pagestyle}.}
-\cmd{\addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append} is the last
-of this group of helper macros. It inserts \meta{prepend} and \meta{append}
-before and after the current definition of \cs{makepsmarks}
-for \meta{pagestyle}. For instance, if you wanted \cs{subsection} titles to appear
+% \begin{syntax}
+% \cmd{\addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append} \\
+% \end{syntax}
+% \glossary(addtopsmarks)%
+% {\cs{addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append}}%
+% {Inserts \meta{prepend} and \meta{append} before and after the current
+% definition of \cs{makepsmarks} for \meta{pagestyle}.}
+% \cmd{\addtopsmarks}\marg{pagestyle}\marg{prepend}\marg{append} is the last
+% of this group of helper macros. It inserts \meta{prepend} and \meta{append}
+% before and after the current definition of \cs{makepsmarks}
+% for \meta{pagestyle}.
+For instance, if you wanted \cs{subsection} titles to appear
in the page headers of the \pstyle{companion} pagestyle then this would be a way
of doing it:
\begin{lcode}
@@ -19894,8 +20276,8 @@ illustrate these points.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-09-19 15:47:14 +0200 (Wed, 19 Sep 2018) $}
-{$LastChangedRevision: 621 $}
+{$LastChangedDate: 2019-11-14 18:06:44 +0100 (Thu, 14 Nov 2019) $}
+{$LastChangedRevision: 662 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Page notes} \label{chap:mnotes}
@@ -19911,6 +20293,7 @@ for fixed marginal notes and sidebars.
\section{Footnotes}
+
A footnote can be considered to be a special kind of float\index{float}
that is put at the bottom of a page.
@@ -19930,6 +20313,8 @@ bottom of the page, or in a \Ie{minipage} where it puts the note
at the end of the \Ie{minipage}. Results are likely to be peculiar if
it is used anywhere else (like in a \Ie{tabular}).
+
+
\begin{syntax}
\cmd{\footnotemark}\oarg{num} \\
\cmd{\footnotetext}\oarg{num}\marg{text} \\
@@ -19954,6 +20339,8 @@ defined like:
In any event, you can use a combination of \cmd{\footnotemark} and
\cmd{\footnotetext} to do footnoting where \ltx\ would normally get upset.
+
+
\begin{syntax}
\cmd{\footref}\marg{label} \\
\end{syntax}
@@ -19964,18 +20351,18 @@ In any event, you can use a combination of \cmd{\footnotemark} and
to the text of a footnote\index{footnote!reference}. This can be done by
putting a \cmd{\label} in the footnote and then using \cmd{\footref} to refer
to the label; this prints the footnote mark. For example:
-\begin{comment}
-%%% in memdesign, not memman
-\begin{lcode}
-...\footnote{... adults or babies.\label{fn:rabbits}}
-...
-... The footnote\footref{fn:rabbits} on \pref{fn:rabbits} ...
-\end{lcode}
-In this manual, the last line above prints:
-\begin{syntax}
-... The footnote\footref{fn:rabbits} on \pref{fn:rabbits} ... \\
-\end{syntax}
-\end{comment}
+% \begin{comment}
+% %%% in memdesign, not memman
+% \begin{lcode}
+% ...\footnote{... adults or babies.\label{fn:rabbits}}
+% ...
+% ... The footnote\footref{fn:rabbits} on \pref{fn:rabbits} ...
+% \end{lcode}
+% In this manual, the last line above prints:
+% \begin{syntax}
+% ... The footnote\footref{fn:rabbits} on \pref{fn:rabbits} ... \\
+% \end{syntax}
+% \end{comment}
\begin{lcode}
...\footnote{...values for the kerning.\label{fn:kerning}} ...
...
@@ -19983,10 +20370,14 @@ In this manual, the last line above prints:
\end{lcode}
In this manual, the last line above prints:
\begin{syntax}
-... The footnote\footref{fn:kerning} on \pref{fn:kerning} ... \\
+ ...
+ The footnote\footref{fn:kerning}
+% on \pref{fn:kerning} ...
\end{syntax}
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% from membook
@@ -20623,8 +21014,10 @@ Internally \cmd{\setfootins} also sets the skips being used by
\index{footnote|)}
- \section{Marginal notes}
+\section{Marginal notes}
+
+
\LMnote{2010/01/**}{added a reference back to \cs{setmarginnotes}}
Some marginalia can also be considered to be kinds of floats.
The class provides the standard margin notes\index{margin note}
@@ -27682,8 +28075,8 @@ pdflatex memman
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-04-05 11:07:48 +0200 (Thu, 05 Apr 2018) $}
-{$LastChangedRevision: 596 $}
+{$LastChangedDate: 2019-11-11 16:55:48 +0100 (Mon, 11 Nov 2019) $}
+{$LastChangedRevision: 661 $}
{$LastChangedBy: daleif@math.au.dk $}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -29104,9 +29497,9 @@ If you want a \file{dvi} file output use \ltx\ and if you want a
\begin{syntax}
\piif{ifpdf} ... \verb?\fi? \\
\end{syntax}
-The class provides \piif{ifpdf} (by autoloading the \Lpack{ifpdf}
-package) which is \ptrue\ when the document is
-being processed by \pixpdfltx\ and \pfalse\ otherwise. You can use it like this:
+The class provides \piif{ifpdf} (by autoloading the \Lpack{iftex}
+package) which is \ptrue\ when the document is being processed by
+\pixpdfltx\ and \pfalse\ otherwise. You can use it like this:
\begin{lcode}
\ifpdf
code for pdfLaTeX only
@@ -29131,7 +29524,7 @@ available (Though, as of 2018, this is \emph{very} rare).
{\ptrue\ if \etx\ is the underlying engine, otherwise \pfalse.}
\piif{ifetex} can be used to determine if \pixetx\ is being used as
the underlying engine; it is analagous to \piif{ifpdf} which tests for
-\pixpdfltx\ (provided by autoloading the \Lpack{ifetex} package). For
+\pixpdfltx\ (provided by autoloading the \Lpack{iftex} package). For
example:
\begin{lcode}
\ifetex
@@ -29144,8 +29537,8 @@ example:
\subsection{Checking for XeTeX}
- You have been able to use \cs{ifpdf} to check if \pixpdfltx\ is being used
-to process the document.
+You have been able to use \cs{ifpdf} to check if PDF output is being
+used to process the document.
\begin{syntax}
\piif{ifxetex} \\
@@ -29154,9 +29547,9 @@ to process the document.
{\cs{ifxetex}}%
{\ptrue\ if \xetx\ is being used to process the document.}
-In a similar manner you can use \piif{ifxetex} to check if the document
-is being processed by \pixxetx\ (provided by autoloading the
-\Lpack{ifxetex} package).
+ In a similar manner you can use \piif{ifxetex} to check if the
+ document is being processed by \pixxetx\ (provided by autoloading
+ the \Lpack{iftex} package).
\begin{syntax}
\cmd{\RequireXeTeX} \\
@@ -29164,7 +29557,7 @@ is being processed by \pixxetx\ (provided by autoloading the
\glossary(RequireXeTeX)%
{\cs{RequireXeTeX}}%
{Generates an error if the document is not being processed by \xetx.}
-The \Lpack{ifxetex} package also provides \cmd{\RequireXeTeX}, which
+The \Lpack{iftex} package also provides \cmd{\RequireXeTeX}, which
generates an error if \pixxetx\ is not being used to process the
document. This can be useful if you make your own class building upon
\Lclass{memoir}.
@@ -29179,7 +29572,8 @@ Similarly you can use
\glossary(ifluatex)%
{\cs{ifluatex}}%
{\ptrue\ if \luatx\ is being used to process the document.}
-to check if the doc is being process by \luatx.
+to check if the doc is being process by \luatx. Again provided by
+loading \Lpack{iftex}.
\section{Leading}
@@ -32137,6 +32531,7 @@ The \theclass\ memoir class has several features that involve a
\emph{style} and it provide several of these styles. This chapter is
used to showcase these styles.
+
\begingroup
% because of hyperref warnings
@@ -38116,8 +38511,8 @@ recognized.
\svnidlong
{$Ignore: $}
-{$LastChangedDate: 2018-04-05 11:07:48 +0200 (Thu, 05 Apr 2018) $}
-{$LastChangedRevision: 596 $}
+{$LastChangedDate: 2019-11-14 18:06:44 +0100 (Thu, 14 Nov 2019) $}
+{$LastChangedRevision: 662 $}
{$LastChangedBy: daleif@math.au.dk $}
\chapter{Comments}
@@ -38142,19 +38537,19 @@ used \cmd{\setmarginnotes}.
\vskip-2\baselineskip
\begin{small}
\begin{verbatim}
-if twocolumn then
+if twocolumn then:
marginparwidth = min{inner margin,outer margin}
else
- if twoside then
- if marginpar always left or always right then
+ if twoside then:
+ if marginpar always left or always right then:
marginparwidth = min{inner margin,outer margin}
- else if marginpar in outer margin then
+ else if marginpar in outer margin then:
marginparwidth = outer margin
- else if marginpar in inner margin then
+ else if marginpar in inner margin then:
marginparmargin = inner margin
end if
else
- if marginpar in left margin then
+ if marginpar in left margin then:
marginparwidth = inner margin
else
marginparwidth = outer margin
@@ -38162,7 +38557,7 @@ else
end if
end if
marginparwidth = marginparwidth - 2marginparsep
-if marginparwidth < 1pt then
+if marginparwidth < 1pt then:
marginparwidth = 1pt
end if
\end{verbatim}
@@ -38407,10 +38802,11 @@ access CTAN is available at \url{http://www.tug.org}.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/required/tools/})
-\bibitem[Car04]{textcase} % casing intentional
+\LMnote{2019/10/2}{Updated year}
+\bibitem[Car19]{textcase} % casing intentional
David Carlisle.
\newblock \emph{The \Lpack{textcase} package}.
-\newblock October, 2004.
+\newblock September, 2019.
\newblock (Available from CTAN in
\texttt{/macros/latex/contrib/textcase})
@@ -39473,26 +39869,26 @@ Peter Wilson.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/contrib/fonttable/})
-\bibitem[Wil09b]{MEMCODE}
+\bibitem[Wil19a]{MEMCODE}
Peter Wilson (with the assistance of Lars Madsen).
\newblock \emph{The \ltx\ memoir class for configurable book
typesetting: source code}
- \newblock July, 2009.
+ \newblock November, 2019.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/contrib/memoir/})
-\bibitem[Wil07c]{MEMMAN}
+\bibitem[Wil19b]{MEMMAN}
Peter Wilson (with the assistance of Lars Madsen).
\newblock \emph{The Memoir Class for Configurable Typesetting ---
User Guide}
- \newblock August, 2009. Regularly updated.
+ \newblock November, 2019. Regularly updated.
\newblock (Available from CTAN via
\CTANurl{/macros/latex/contrib/memoir/})
-\bibitem[Wil09d]{MEMDESIGN}
+\bibitem[Wil18]{MEMDESIGN}
Peter Wilson.
\newblock \emph{A Few Notes on Book Design}
- \newblock August, 2009.
+ \newblock September, 2018.
\newblock (Available from CTAN via
\CTANurl{/info/memdesign/})
@@ -39504,10 +39900,10 @@ Peter Wilson.
\newblock To be published.
-\bibitem[Wri18]{SIUNITX}
+\bibitem[Wri19]{SIUNITX}
Joseph Wright.
\newblock \emph{Siunitx — A comprehensive (SI) units package}
- \newblock May, 2018.
+ \newblock October, 2019.
\newblock (Available from CTAN via \CTANurl{/macros/latex/contrib/siunitx})