From dd79f26375fa8e69a2f99406790fefe13208cd33 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 4 Sep 2009 00:52:34 +0000 Subject: layouts update (2sep09) git-svn-id: svn://tug.org/texlive/trunk@15061 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/layouts/README | 69 +- Master/texmf-dist/doc/latex/layouts/layman.pdf | Bin 274438 -> 272753 bytes Master/texmf-dist/doc/latex/layouts/layman.tex | 2532 ------------------- Master/texmf-dist/doc/latex/layouts/layouts.pdf | Bin 0 -> 303523 bytes Master/texmf-dist/source/latex/layouts/layman.tex | 2534 ++++++++++++++++++++ Master/texmf-dist/source/latex/layouts/layouts.dtx | 27 +- Master/texmf-dist/source/latex/layouts/layouts.ins | 39 +- Master/texmf-dist/tex/latex/layouts/layouts.sty | 18 +- 8 files changed, 2611 insertions(+), 2608 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/layouts/layman.tex create mode 100644 Master/texmf-dist/doc/latex/layouts/layouts.pdf create mode 100644 Master/texmf-dist/source/latex/layouts/layman.tex (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/layouts/README b/Master/texmf-dist/doc/latex/layouts/README index e0166320162..fa2abbe7272 100644 --- a/Master/texmf-dist/doc/latex/layouts/README +++ b/Master/texmf-dist/doc/latex/layouts/README @@ -1,3 +1,6 @@ +___________________ +The LAYOUTS package + The layouts package enables the display of various elements of a document's layout including: the general page layout; disposition of floats; layout of paragraphs, lists, footnotes, table of contents, @@ -5,51 +8,56 @@ and sectional headings; font boxes. Facilities are provided for a document designer to experiment with the layout parameters. + +______________ +Change History + +Version v2.6d (2009/09/02) +- New maintainer (Will Robertson) + Changes in version v2.6c (2004/10/25) -o Privatised some internal macro names (no change in functionality) +- Privatised some internal macro names (no change in functionality) Changes in version v2.6b (2003/11/25) -o Fixed some spelling and gramatical errors +- Fixed some spelling and gramatical errors Changes in version v2.6a (2002/12/12) -o Fixed problem with negative length in list layout -o NO CHANGE TO THE MANUAL +- Fixed problem with negative length in list layout +- NO CHANGE TO THE MANUAL Changes in version v2.6 (2002/06/09) -o Expanded page layout options +- Expanded page layout options Changes in version v2.5a (2002/03/24) -o Fixed problem with footer size on page diagrams +- Fixed problem with footer size on page diagrams Changes in version v2.5 (2001/11/11) -o Cleaner seperation between generic and designed layouts -o Added controls over the appearance of pictures -o Lengths may be printed using any TeX unit (except scaled point) +- Cleaner seperation between generic and designed layouts +- Added controls over the appearance of pictures +- Lengths may be printed using any TeX unit (except scaled point) Changes in version v2.4 (2001/04/30) -o Added switch for drawing marginal notes -o Added support for the memoir class page layout +- Added switch for drawing marginal notes +- Added support for the memoir class page layout Changes in version v2.3 (1999/03/06) -o Added tabulation of actual layout values. -o Corrected the ToC layout. -o Reduced the number of counters used. +- Added tabulation of actual layout values. +- Corrected the ToC layout. +- Reduced the number of counters used. ----------------------------------------------------------------- - Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net - Copyright 1998 --- 2004 Peter R. Wilson + Author: Peter Wilson (Herries Press) + Maintainer: Will Robertson (will dot robertson at latex-project dot org) + Copyright 1998--2004 Peter R. Wilson 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 - 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. - - This work has the LPPL maintenance status "author-maintained". + version 1.3c of this license or (at your option) any + later version: + + This work has the LPPL maintenance status "maintained". + The Current Maintainer of this work is Will Robertson. This work consists of the files: README (this file) @@ -68,24 +76,23 @@ layman.pdf (User Manual in PDF) ----------------------------------------------------------------- To install the package: -o run: latex layouts.ins (which will generate layouts.sty) -o Move layouts.sty to a location where LaTeX will find it +- run: latex layouts.ins (which will generate layouts.sty) +- Move layouts.sty to a location where LaTeX will find it (typically in a local texmf tree at /tex/latex/layouts) and refresh the file database. See the FAQ on CTAN at /help/uk-tex-faq or http://www.tex.ac.uk/faq for more information on this. To process the user manual: -o run: latex layman (twice) and print for the user manual +- run: latex layman (twice) and print for the user manual For a printed version of the package source: -o run: latex layouts.dtx +- run: latex layouts.dtx If you want an index run: makeindex -s gind.ist layouts -o run: latex layouts.dtx -o Print layouts.dvi for a hardcopy of the package source +- run: latex layouts.dtx +- Print layouts.dvi for a hardcopy of the package source 2004/10/25 Peter Wilson -herries dot press at earthlink dot net diff --git a/Master/texmf-dist/doc/latex/layouts/layman.pdf b/Master/texmf-dist/doc/latex/layouts/layman.pdf index 313b71c2f38..ae160b9a7af 100644 Binary files a/Master/texmf-dist/doc/latex/layouts/layman.pdf and b/Master/texmf-dist/doc/latex/layouts/layman.pdf differ diff --git a/Master/texmf-dist/doc/latex/layouts/layman.tex b/Master/texmf-dist/doc/latex/layouts/layman.tex deleted file mode 100644 index 84e007300cd..00000000000 --- a/Master/texmf-dist/doc/latex/layouts/layman.tex +++ /dev/null @@ -1,2532 +0,0 @@ -% layman.tex User Manual for layouts.sty -%% Copyright 1998 --- 2004 Peter R. Wilson -%% All rights reserved -%% - -\documentclass[11pt]{article} -\usepackage{layouts} - -% pdfetex (which might become the base system) defines \pdfoutput -% Thomas Esser (of teTeX fame) asked for the following to be removed (2004/04/03) -%\newif\ifpdf -%\makeatletter -%\@ifundefined{pdfoutput}{\pdffalse}{\pdftrue} -%\makeatother -%\ifpdf -% \pdfoutput=1 -%\fi - - -\setlength{\textheight}{8.0in} -\setlength{\textwidth}{6.0in} -\setlength{\oddsidemargin}{0.25in} -\setlength{\evensidemargin}{0.25in} -\setlength{\marginparwidth}{0.6in} -\setlength{\parskip}{5pt} -\setcounter{secnumdepth}{4} -\setcounter{tocdepth}{4} - -\setlength{\columnsep}{30pt} - -\setcounter{topnumber}{2} -\setcounter{bottomnumber}{2} -\setcounter{totalnumber}{4} -\renewcommand{\topfraction}{0.9} -\renewcommand{\bottomfraction}{0.6} -\renewcommand{\textfraction}{0.1} - - -\newlength{\figrulesep} -\setlength{\figrulesep}{0.5\textfloatsep} - -\newcommand{\topfigrule}{\vspace*{-1pt}% - \noindent\rule[-\figrulesep]{\columnwidth}{1pt}} - -\newcommand{\botfigrule}{\vspace*{-2pt}% - \noindent\rule[\figrulesep]{\columnwidth}{2pt}} - -\makeatletter - -\renewcommand{\subsubsection}{\@startsection% - {subsubsection}% - {3}% - {0mm}% - {-\baselineskip}% - {0.5\baselineskip}% - {\large\itshape}} - - -\newcommand{\fref}[1]{Figure~\ref{#1}} -\newcommand{\tref}[1]{Table~\ref{#1}} -\newcommand{\T}{\texttt{true}} -\newcommand{\F}{\texttt{false}} -\newcommand{\TF}{\textit{true/false}} - - -%%%% the \meta command -\begingroup -\obeyspaces% -\catcode`\^^M\active% -\gdef\meta{\begingroup\obeyspaces\catcode`\^^M\active% -\let^^M\do@space\let \do@space% -\def\-{\egroup\discretionary{-}{}{}\hbox\bgroup\it}% -\m@ta}% -\endgroup -\def\m@ta#1{\leavevmode\hbox\bgroup$\langle$\it#1\/$\rangle$\egroup - \endgroup} -\def\do@space{\egroup\space - \hbox\bgroup\it\futurelet\next\sp@ce} -\def\sp@ce{\ifx\next\do@space\expandafter\sp@@ce\fi} -\def\sp@@ce#1{\futurelet\next\sp@ce} - -\newcommand{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} - -\newcommand{\file}[1]{\textsf{#1}} -%%%%%% indexing commands -%\@ifundefined{bs}{\newcommand{\bs}{\textbackslash}}% -% {\renewcommand{\bs}{\textbackslash}} -\@ifundefined{bs}{\newcommand{\bs}{\char '134}}% - {\renewcommand{\bs}{\char '134}} -\newcommand{\tat}{@} - -\newcommand{\ixcom}[1]{\index{#1/ @\texttt{\protect\bs #1}}} % command -\newcommand{\pixcom}[1]{\texttt{\bs #1}\index{#1/ @\texttt{\protect\bs #1}}} -\newcommand{\ixatcom}[1]{\index{?#1/ @\texttt{\protect\bs\protect\tat #1}}} -\newcommand{\pixatcom}[1]{\texttt{\bs\tat #1}\index{?#1/ @\texttt{\protect\bs\protect\tat #1}}} -\newcommand{\ixenv}[1]{\index{#1 @\texttt{#1} (environment)}} -\newcommand{\pixenv}[1]{\texttt{#1}\index{#1 @\texttt{#1} (environment)}} -\newcommand{\ixpack}[1]{\index{#1 @\file{#1} (package)}} -\newcommand{\pcom}[1]{\texttt{\bs #1}} -\newcommand{\pixfile}[1]{\file{#1}\index{#1 @{\file{#1} (file)}}} -\newcommand{\pixcount}[1]{\texttt{#1}\index{#1 @\texttt{#1} (counter)}} -\newcommand{\ixsbox}[1]{\index{#1 @\texttt{#1} (save box)}} - -\providecommand{\indexfill}{} -\providecommand{\sindexfill}{} -\providecommand{\ssindexfill}{} -\providecommand{\otherindexspace}[1]{} -\providecommand{\alphaindexspace}[1]{\indexspace{\bfseries #1}} - -%%% \setlength{\parindent}{-4em} -\makeatother - -\title{The \file{layouts} package: User manual} -\author{Peter R. Wilson \\ - Herries Press \\ - (\texttt{herries.press@earthlink.net}) } -\date{October 2004\thanks{Previous versions were dated - November 2003, July 2002, March 2002, November 2001, July 2001 and January 1999.}} - - \makeindex - -\begin{document} -%%% \setuplayouts -\bibliographystyle{alpha} -\pagenumbering{roman} -\maketitle -\begin{abstract} - The \LaTeX{} \file{layouts} package enables the display of various -elements of a document's layout. The elements include the positioning -of text on a page, the disposition of floats on a page, the geometrical -layout of lists and footnotes, the design of section headers and their -display in a table of contents. It also enables document designers to -experiment with potential layout designs. -\end{abstract} -\tableofcontents -\listoftables -\listoffigures -\clearpage -\pagenumbering{arabic} - - -\section{Introduction} - - \LaTeX{} has several pre-defined styles for the layout of typeset -documents~\cite{LAMPORT94}. Authors using \LaTeX{} sometimes wish to -understand how these layouts are parameterised (or controlled). The -\texttt{layouts} package enables the display of certain of these -parameterised layouts, showing what the parameters control. It also -provides facilities for experimenting with different values of the -typesetting parameters, showing the results graphically. - - The \file{layouts} package was developed as an aid to the author -when he was developing a new \LaTeX{} class for typsetting ISO standards. -The development of the package has benefitted from -Kent McPherson's \pixfile{layout.sty}~\cite{MCPHERSON88}. - -\subsection{Command types} - - The majority of the commands provided fall into one of several categories. -\begin{description} -\item[Drawing] Commands of the form \pcom{draw}\textit{L}, - \pcom{}\textit{L}\texttt{diagram}, and - \pcom{}\textit{L}\texttt{design} - generate a \LaTeX{} \texttt{picture} of the layout \textit{L}. - -\item[Current layout] Commands of the form \pcom{current}\textit{L} collect, - as far as possible, the values of the layout parameters for the current - \textit{L} layout environment for use by the corresponding - \pcom{draw}\textit{L} command. If a parameter value is not directly - accessible, then a typical value is provided. - -\item[Layout values] Commands of the form \pcom{}\textit{L}\texttt{values} - produce a tabular listing of the current values of the parameters - controlling - the layout \textit{L}. As far as possible these are the actual values. - In some cases the values are hard-wired in the body of a macro, and in these - cases reasonable guesstimates are made of a `typical' value. - In the printed - table, guesstimates are indicated by appending two question marks (??) - to the printed value. Note that the tabular listing produced by a - \pcom{}\textit{L}\texttt{values} command is not the same as a listing - that might be produced by the corresponding \pcom{draw}\textit{L} command. - The appearance of the table may be controlled as follows. - \begin{itemize} - \item The declaration \pixcom{printheadingstrue} will cause a short title - to be placed above the tabular; the tabular is untitled when - \pixcom{printheadingsfalse} is in effect. - \item The font size used for the table is specified via the - \pixcom{setvaluestextsize}\marg{fontsize} macro, where - \meta{fontsize} is one of LaTeX's font size commands (e.g., - \pixcom{footnotesize}, which is the default value.). - \end{itemize} - -\item[User-specified parameter values] Commands of the form - \pcom{try}\textit{P} can be used to change the value of the layout - parameter \textit{P}. Note that these commands do \emph{not} affect the - the layout of the document, they only modify the values used in - displaying a layout. - -\item[Control] Commands of the form \verb|\|\textit{C}\texttt{true} or - \verb|\|\textit{C}\texttt{false} control certain aspects of the kinds of - layouts pictured. - -\end{description} - -\subsection{General facilities} - - In order to initialize the \file{layouts} package correctly for your -document, the command \pixcom{setuplayouts} -must be issued immediately -after the \verb|\begin{document}|, or at least before any following command -that changes font sizes or suchlike. Fortunately you don't have to concern -youself with this as it is called automatically by the \file{layouts} -package. However, you may call it yourself at some later point in the -document to pick up the current value of the \pixcom{baselineskip} -or \pixcom{parskip} if these have been modified. The \pixcom{setuplayouts} -command also sets the \pixcom{setlayoutscale} to its default value of -$0.5$. - -\subsubsection{Scaling} - - A few layout pictures are drawn full size. Most are drawn less than -full size, typically to half-scale. To make the pictures fit your -document neatly, you may wish to change the scale. The command -\verb|\setlayoutscale{|\meta{frac}\verb|}|,\ixcom{setlayoutscale} -where \meta{frac} is a decimal number (e.g., $0.75$) sets the scaling. -For example, \verb|\setlayoutscale{0.5}| will produce pictures at -half full size, and \verb|\setlayoutscale{1.0}| will make the pictures -full size. - -\subsubsection{Layout types} - - In general, two kinds of layout pictures can be produced. - -\begin{enumerate} -\item A picture showing a generic layout and its controlling parameters - is produced by a command of the form \pcom{}\textit{L}\texttt{diagram}. - The same effect may be achieved by using a \pcom{draw}\textit{L} after - the declaration \pixcom{drawparameterstrue}. -\item A picture showing an `actual' layout is produced by a command - of the form \pcom{}\textit{L}\texttt{design}. - The same effect may be achieved by using a \pcom{draw}\textit{L} after - the declaration \\ - \pixcom{drawparametersfalse}. - -\begin{quote} -\textbf{Warning:} If an actual layout differs too much - from a `normal' layout then LaTeX may hiccup a time or two. The - typical problem is when a dimension that is expected to be positive - is actually negative; LaTeX will respond - with an error message like `Bad \pcom{line} or \pcom{vector} argument'. -\end{quote} - -\end{enumerate} - -\begin{quote} - \textbf{Note:} The \pcom{}\textit{L}\texttt{diagram} and -\pcom{}\textit{L}\texttt{design} commands were introduced in version 2.5 of -the package. The previous method of generating pictures (via \pcom{draw}\textit{L} -and \verb?\drawparameters...?) is mainly retained for compatibility reasons. -\end{quote} - - Examples of both kinds of layout are shown later. - - Some aspects of the appearance of the pictures can be controlled. -The following apply to both generic and actual layouts. -\begin{itemize} -\item The size of the font used for displaying the parameters is specified - via the command: \\ - \pixcom{setparameterstextsize}\marg{size}, - where \meta{size} is - one of LaTeX's font size commands. \\ - The initial setting is - \verb|\setparameterstextsize{\footnotesize}|. - -\item Some parts of the layouts are labelled, for example the footer area - in the page layout is labelled `footer'. The macro - \pixcom{setlabelfont}\marg{font} can be used to control the font used for - typesetting these labels. The default is \verb|\setlabelfont{\normalsize}|, - but can be, for example, \verb|\setlabelfont{\large\itshape}| to use - a large italic font instead. Note that \meta{font} must be specified as - a declaration(s). -\end{itemize} - - The following controls only apply to actual layouts (i.e., -when using \pcom{}\textit{L}\texttt{design}, or the earlier - \pixcom{drawparametersfalse} \pcom{draw}\textit{L} pairing is in effect). -\begin{itemize} -\item Some layouts have some explanatory header text. Putting - \pixcom{printheadingsfalse} prohibits these while - \pixcom{printheadingstrue} lets them be printed. - -\item In the generic layouts, the lengths controlled by the various - parameters are indicated by dimension lines; these are not - normally shown in actual layouts. Using \pixcom{drawdimensionstrue} - will let these be shown in actual layouts. The default - setting is \pixcom{drawdimensionsfalse}. - -\begin{quote} -\textbf{Warning:} If you draw actual layouts with \pixcom{drawdimensionstrue} - the drawings may be overburdened and if the layout differs too much - from a `normal' layout then LaTeX may hiccup a time or two (typically - with an error message like `Bad \pcom{line} or \pcom{vector} argument'). -\end{quote} - -\item When \pixcom{printparameterstrue} is in effect, a table of the parameter - values will be printed below the layout. Unsurprisingly, - \pixcom{printparametersfalse} prohibits the table. The default is - \pixcom{printparameterstrue}. - -\end{itemize} - -\subsubsection{Length units} - - The tabular listings of the parameter length values produced by -the \pcom{}\textit{L}\texttt{values} macros give the lengths in TeX -points by default. The length units may be set by the -\pixcom{printinunitsof}\marg{unit} command. The \meta{unit} argument -may be any of TeX's length units, except for scaled point. That is, the -allowable values are \texttt{pt}, \texttt{pc}, \texttt{in}, \texttt{mm}, -\texttt{cm}, \texttt{bp}, \texttt{dd}, or \texttt{cc}; an unkown unit is -treated as though it were \texttt{pt}. When printing in pt units any -stretch or shrink values are printed as well; using \texttt{PT} instead -of \texttt{pt} eliminates these `rubber' values. The initial setting -is \verb|\printinunitsof{pt}|. - - The macro \pixcom{prntlen}\marg{length} prints the value of -\meta{length}, where \meta{length} is a LaTeX length, using the units -specified by \pixcom{printinunitsof}. For example, the following code -\begin{verbatim} -The textwidth is \printinunitsof{pt}\prntlen{\textwidth} which is also -\printinunitsof{in}\prntlen{\textwidth} or -\printinunitsof{mm}\prntlen{\textwidth}. -\end{verbatim} -prints out: \\ -\begingroup -The textwidth is \printinunitsof{pt}\prntlen{\textwidth} which is also -\printinunitsof{in}\prntlen{\textwidth} or -\printinunitsof{mm}\prntlen{\textwidth}. -\endgroup - -\subsection{Usage} - - The drawing commands (i.e., \verb|\...diagram|, \verb|\...design| -and \verb|\draw...|) -are typically used within a -\pixenv{figure} environment, although they can be used in -running text. Internally they generate a \pixenv{picture} -and \pixenv{tabular} environment, both enclosed in their -own \pixenv{center} environments. - - The \pixcom{setlayoutscale} command can be used anywhere in a document -after the initial \pixcom{setuplayouts} command. Used in running text it -will alter the scale factor for all succeeding drawing commands. -However, if \pixcom{setlayoutscale} is called within an environment, such -as the \pixenv{figure} environment, it will only affect -the scale factors for succeeding drawing commands in that -environment. - - The \file{layouts} package uses many \LaTeX{} counters and lengths. -If it is used with too many other packages, the available number of -counters and lengths may be exhausted. Essentially, the \file{layouts} -package is intended to be used in short documents as an exploratory tool -when designing the typesetting rules to be embodied in a new package or -class file. - -\section{Page spread} -\suppressfloats[t] - - Book designers often start by determining the proportions of a page, -the proportions of the text block, and the position of the text block on -the page. Often the width of a page is taken as the starting point. - - In the following let $w$ be the width of a single page; that is, -the distance from the -spine to the outside of the fore edge. I also use the other symbols given in -\tref{tab:spread}. -\begin{table} -\centering -\caption{Page spread symbols} \label{tab:spread} -\begin{tabular}{|c|l|} \hline -Symbol & Meaning \\ \hline -$w$ & Page width \\ -$P$ & Ratio of page height to width \\ -$T$ & Ratio of text block height to width \\ -$S$ & Ratio of spine width to page width \\ -$H$ & Ratio of top margin height to spine width \\ -$E$ & Ratio of fore edge margin width to spine width \\ -$F$ & Ratio of bottom margin height to spine width \\ -$G$ & Ratio of width of two-column gutter to spine width \\ \hline -\end{tabular} -\end{table} - - Given values for $w$, $P$, $T$, $S$, and any two of $H$, $E$ and $F$, it -is possible to calculate the page size, the text block size and the position -of the text. The command \\ -\verb|\drawaspread[|\meta{F}\verb|]{|% - \meta{w}\verb|}{|% - \meta{P}\verb|}{|% - \meta{T}\verb|}{|% - \meta{S}\verb|}{|% - \meta{H}\verb|}{|% - \meta{E}\verb|}{|% - \meta{G}\verb|}|\ixcom{drawaspread} \\ -where the first parameter is optional, draws a two page spread with the given -page width and proportions. If the optional \meta{F} is not provided, then the -bottom margin is calculated from the values of other parameters. If \meta{G} -is zero or negative, then a single column layout is shown, otherwise a double -column layout is presented. - -\newlength{\pwlayi} -\setlength{\pwlayi}{0.4375\textwidth} -\newlength{\pwlayii} -\setlength{\pwlayii}{0.5\pwlayi} - -\begin{figure} -\centering -\begin{minipage}[b]{\pwlayi} -\drawaspread{\pwlayii}{1.294}{1.618}{0.176}{1.037}{1.685}{0} -\end{minipage} -\hfill -\begin{minipage}[b]{\pwlayi} -\drawaspread{\pwlayii}{1.5}{1.5}{0.111}{1.5}{2.0}{0} -\end{minipage} -\caption{(Left) The \LaTeX{} book spread; - (Right) Spread for many of Gutenberg's books} -\label{fig:spread} -\end{figure} - - - Figure~\ref{fig:spread} shows two different spreads. This was produced -from the code below: -\begin{verbatim} -\newlength{\pwlayi} -\setlength{\pwlayi}{0.4375\textwidth} -\newlength{\pwlayii} -\setlength{\pwlayii}{0.5\pwlayi} - -\begin{figure} -\centering -\begin{minipage}[b]{\pwlayi} -\drawaspread{\pwlayii}{1.294}{1.618}{0.176}{1.037}{1.685}{0} -\end{minipage} -\hfill -\begin{minipage}[b]{\pwlayi} -\drawaspread{\pwlayii}{1.5}{1.5}{0.111}{1.5}{2.0}{0} -\end{minipage} -\caption{(Left) The \LaTeX{} book spread; - (Right) Spread for many of Gutenberg's books} -\label{fig:spread} -\end{figure} -\end{verbatim} - - The \pixcom{drawaspread} command does not scale via the -\pixcom{setlayoutscale} command. The size of the illustration is controlled -by the value given for the width of the page. - - -%%%%%%%%%%%%%%% -\clearpage -\section{Page layout} -\suppressfloats[t] - -%%\drawmarginparsfalse - -%%%%%%%%%%%%%%%%%%%%% -%%\printheadingstrue -%\printheadingsfalse -%%\printparameterstrue -%\printparametersfalse -%\drawdimensionstrue -%%\drawdimensionsfalse -%%%%%%%%%%%%%%%%%%%%% - - The layout of a single page is produced by the -\pixcom{pagediagram} or \pixcom{pagedesign} (or \pixcom{drawpage}) command. -The kind of page drawn is -specified via three control commands\footnote{Remember that all drawing -commands of the form \pcom{draw...}, except for \pcom{drawaspread}, are also controlled -by the \pcom{drawparameters...} command.}. - - Right- or left-hand page layouts are specified by the commands -\pcom{oddpagelayout}\TF{} (\pixcom{oddpagelayouttrue} -for an odd-numbered (i.e., right-hand) page, or -\pixcom{oddpagelayoutfalse} for an even-numbered -(i.e., left-hand or verso) page). The default is -\pixcom{oddpagelayouttrue}. - - Double or single column layouts are controlled by the commands -\pcom{twocolumnlayout}\TF. -Using \pixcom{twocolumnlayouttrue} -will result in a picture of a double column page layout and -using \pixcom{twocolumnlayoutfalse} -will result in a picture of a single column page layout. The default -is \pixcom{twocolumnlayoutfalse}. - - The display of marginal notes is controlled by the commands -\pcom{drawmarginpars}\TF. -Using \pixcom{drawmarginparstrue} rusults in representations of -marginal notes being drawn and using \pixcom{drawmarginparsfalse} -hides the marginal notes. The default is -\pixcom{drawmarginparstrue}. - - Normally \LaTeX{} places any marginal notes in the outside margin; -the standard \LaTeX{} command \pixcom{reversemarginpar} causes notes -to be placed in the opposite margin to the default one, and -\pixcom{normalmarginpar} causes the notes to be put in the default -margin. The package commands \pcom{reversemarginpar}\TF{} may be used -to control the marginal note locations in the pictures. -\pixcom{reversemarginpartrue} corresponds to \pixcom{reversemarginpar} -and \pixcom{reversemarginparfalse} corresponds to \pixcom{normalmarginpar}. -The package default is \pixcom{reversemarginparfalse}. - - A \LaTeX{} class may always place marginal notes into the same margin. -The package command \pcom{marginparswitch}\TF, is supplied to control -the placement in the diagrams. \pixcom{marginparswitchtrue} will place marginal notes -according to the class desires, while \pixcom{marginparswitchfalse} will -always draw marginal notes in one margin. - - - As an example, \fref{fig:pplt} is produced by the following code. -\begin{verbatim} -\begin{figure} -\oddpagelayoutfalse -\twocolumnlayouttrue -\pagediagram -\caption{Left-hand two-column page layout parameters} \label{fig:pplt} -\end{figure} -\end{verbatim} - -\begin{figure} -\oddpagelayoutfalse -\twocolumnlayouttrue -%\drawpage -\pagediagram -\caption{Left-hand two-column page layout parameters} \label{fig:pplt} -\end{figure} - - The two lines forming an inverted `L' represent the left-hand and -top of the printed sheet. -By default, \LaTeX{} makes all page layout measurements from a point -located one inch in from the left-hand side of the printed sheet and one -inch down from the top of the sheet. This point is marked with a circle. -The dashed lines correspond to the vertical and horizontal offsets from -this point. - - - The command \pixcom{currentpage} collects together the page parameter -settings for the current document for the page on which it is issued. -For example, it determines whether the current page is odd or even and -in which margin any marginal notes would be placed. -\fref{fig:ptrs} shows the odd page -layout for the document you are now reading. It was produced by the -following commands: -\begin{verbatim} -\begin{figure} -\currentpage -\oddpagelayouttrue -\pagedesign -\caption{Odd page layout for this document} \label{fig:ptrs} -\end{figure} -\end{verbatim} -The resulting picture is correctly proportioned, both horizontally and -vertically. - -\begin{figure} -\currentpage -%\drawparametersfalse \drawpage -\pagedesign -\caption{Page layout for this document} \label{fig:ptrs} -\end{figure} - - When layouts are drawn with \verb|...diagram|\footnote{Or longhandedly -with \pcom{drawparametersfalse} and \pcom{draw...}.} -the actual values -of the parameters used to produce the layout are normally -listed at the bottom of the -picture. This can be used, as in \fref{fig:ptrs}, to find out what the -settings are for the current document. - - Among other parameters that are set by -\pixcom{currentpage} are values for the page width and -height. If these have been specified by the -\pixcom{paperwidth} and \pixcom{paperheight} -commands, these values are used. Otherwise the width and height are set to -the size of American letter paper, which is eight by eleven and a half inches. - -\begin{table} -\centering -\caption{Commands for setting trial page parameters}\label{tab:tpage} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{trypaperwidth} & sets the \pixcom{paperwidth} value \\ -\pixcom{trypaperheight} & sets the \pixcom{paperheight} value \\ -\pixcom{tryhoffset} & sets the \pixcom{hoffset} value (usually 0pt) \\ -\pixcom{tryvoffset} & sets the \pixcom{voffset} value (usually 0pt) \\ -\pixcom{tryoddsidemargin} & sets the \pixcom{oddsidemargin} (usually 21--63pt) \\ -\pixcom{tryevensidemargin} & sets the \pixcom{evensidemargin} value (usually 39--82pt) \\ -\pixcom{trymarginparwidth} & sets the \pixcom{marginparwidth} value (usually 68--107pt) \\ -\pixcom{trymarginparsep} & sets the \pixcom{marginparsep} value (usually 10--11pt) \\ -\pixcom{trymarginparpush} & sets the \pixcom{marginparpush} value (usually 5--7pt) \\ -\pixcom{trytopmargin} & sets the \pixcom{topmargin} value (usually 27pt) \\ -\pixcom{tryheadheight} & sets the \pixcom{headheight} value (usually 12pt) \\ -\pixcom{tryheadsep} & sets the \pixcom{headsep} value (usually 25pt) \\ -\pixcom{tryfootskip} & sets the \pixcom{footskip} value (usually 30pt) \\ -\pixcom{trytextheight} & sets the \pixcom{textheight} value (usually 36--43 times the \pixcom{baselineskip}) \\ -\pixcom{trytextwidth} & sets the \pixcom{textwidth} value (usually 345--390pt) \\ -\pixcom{trycolumnsep} & sets the \pixcom{columnsep} value (usually 10pt) \\ -\pixcom{trycolumnseprule} & sets the \pixcom{columnseprule} value (usually 0pt) \\ -\hline -\end{tabular} -\end{table} - - There are a set of commands for experimenting with the page layout -parameters. They are listed in \tref{tab:tpage}. Each of these commands -takes one argument which is a length value. There is, in addition, an odd -command, -\pixcom{setfootbox}\verb|{|\meta{height}\verb|}{|\meta{depth}\verb|}|, -which may be used -to specify the expected \meta{height} and \meta{depth} of the footer. Footers -are typically a single line but may require more space than that. Note that -there is no way to actually specify the vertical size of the footer in LaTeX, -which will use as much space as it needs. If a footer is given a \meta{depth} -then a dashed line is drawn at \pixcom{footskip} below the main text box. - - The following code provides an example of the use of some of these -commands when trying an experimental page layout. The result is shown -in \fref{fig:pudf}. Note that -\pixcom{currentpage} is used to initialize all the appropriate -parameter values before setting any trial values. -\begin{verbatim} -\begin{figure} -\currentpage -\trypaperwidth{11in} -\trypaperheight{8.5in} -\trytextwidth{500pt} -\trycolumnsep{40pt} -\trycolumnseprule{3pt} -\tryhoffset{-0.5in} -\tryvoffset{0.5in} -\printheadingsfalse -\drawdimensionstrue -\twocolumnlayouttrue -\pagedesign -\caption{An experimental page layout}\label{fig:pudf} -\end{figure} -\end{verbatim} - -\begin{figure} -\currentpage -\trypaperwidth{11in} -\trypaperheight{8.5in} -\trytextwidth{500pt} -\trycolumnsep{40pt} -\trycolumnseprule{3pt} -\tryhoffset{-0.5in} -\tryvoffset{0.5in} -\printheadingsfalse -\drawdimensionstrue -\twocolumnlayouttrue -%\drawparametersfalse \drawpage -\pagedesign -\caption{An experimental page layout}\label{fig:pudf} -\end{figure} - - As can be seen, the resulting layout runs off the bottom of the -specified physical page; either because the page dimensions were incorrectly -set (the designer getting a landscape page when a portrait page was desired), -or because the text height and width parameters were set incorrectly -for the physical page (probably -satisfactory for a portrait page but certainly wrong for the landscape page). - - Note that \pixcom{printheadingsfalse} was used to delete the -explanatory heading text, and dimensions were drawn because of -\pixcom{drawdimensionstrue}. - -\clearpage - -\subsection{Changing the page layout in your document} - - You can only specify the page layout in a document's preamble. That is, -it is set by the class, or by a package or per document via code you write -in the preamble. To be on the safe side and avoid strange error messages -like \texttt{You can't use `\bs spacefactor'\ixcom{spacefactor} -in vertical mode}, enclose all -your preamble commands within the command pair \pixcom{makeatletter} -and \pixcom{makeatother}. - - The page layout parameters can all be changed using the \LaTeX{} -\pixcom{setlength} command. For example, to set the width of the text to -3~inches, put this into the preamble: -\begin{verbatim} -\makeatletter -\setlength{\textwidth}{3in} -\makeatother -\end{verbatim} - - - The \pixcom{pagevalues} command can be used to produce a table, -as shown here, of the values of the current document's page layout -parameters. This is the default tabulation. - -\begin{verbatim} -\pagevalues -\end{verbatim} - -\pagevalues - -\begin{quote} -\textbf{Note:} Prior to version 2.5 the tabulations were set in a -\pixenv{center} environment. -Starting with version 2.5 there is no surrounding environment. -\end{quote} - -%%%%%%%%%%%%%%% -\clearpage -\section{The \file{memoir} class page layout} -\suppressfloats[t] - -%%\drawmarginparsfalse - - The \file{memoir} class~\cite{MEMOIR} provides a different set -of page layout parameters than the standard LaTeX classes. - - The layout of a single page for this class is produced by the -\pixcom{stockdiagram} and \pixcom{stockdesign} (or \pixcom{drawstock}) -commands. The kind of page drawn is -specified via the same control commands that are used by -the page drawing commands. That is: \\ -\pcom{oddpagelayout}\TF, \\ -\pcom{twocolumnlayout}\TF, \\ -\pcom{drawmarginpars}\TF, \\ -\pcom{reversemarginpar}\TF, and \\ -\pcom{marginparswitch}\TF. - - Generally speaking, the commands for displaying and experimenting -with the layout of a \file{memoir} -class page are the same as, or analagous to, those for a standard page -layout. - - As an example, \fref{fig:mempplt} is produced by the following code. -\begin{verbatim} -\begin{figure} -\oddpagelayouttrue -\twocolumnlayoutfalse -\stockdiagram -\caption{Right-hand page major layout parameters for - the \file{memoir} class} \label{fig:mempplt} -\end{figure} -\end{verbatim} - -\begin{figure} -\oddpagelayouttrue -\twocolumnlayoutfalse -%\drawmarginparsfalse \drawstock -\stockdiagram -\caption{Right-hand page major layout parameters for - the \file{memoir} class} \label{fig:mempplt} -\end{figure} - - - Like the \pixcom{currentpage} command, \pixcom{currentstock} collects -together the page parameter -settings for the current \file{memoir} class document. - - For information on how to design a page layout the class -documentation provides all the details~\cite{MEMOIR} (and uses the -\file{layouts} package to illustrate them). - -\begin{table} -\centering -\caption{Commands for setting trial \file{memoir} page parameters}\label{tab:tmempage} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{trystockwidth} & sets the \pixcom{stockwidth} value \\ -\pixcom{trystockheight} & sets the \pixcom{stockheight} value \\ -\pixcom{trypaperwidth} & sets the \pixcom{paperwidth} value \\ -\pixcom{trypaperheight} & sets the \pixcom{paperheight} value \\ -\pixcom{trytrimedge} & sets the \pixcom{trimedge} value \\ -\pixcom{trytrimtop} & sets the \pixcom{trimtop} value \\ -\pixcom{tryspinemargin} & sets the \pixcom{spinemargin} (usually 21--63pt) \\ -\pixcom{trymarginparwidth} & sets the \pixcom{marginparwidth} value (usually 68--107pt) \\ -\pixcom{trymarginparsep} & sets the \pixcom{marginparsep} value (usually 10--11pt) \\ -\pixcom{trymarginparpush} & sets the \pixcom{marginparpush} value (usually 5--7pt) \\ -\pixcom{tryuppermargin} & sets the \pixcom{uppermargin} value (usually 27pt) \\ -\pixcom{tryheadheight} & sets the \pixcom{headheight} value (usually 12pt) \\ -\pixcom{tryheadsep} & sets the \pixcom{headsep} value (usually 25pt) \\ -\pixcom{tryfootskip} & sets the \pixcom{footskip} value (usually 30pt) \\ -\pixcom{trytextheight} & sets the \pixcom{textheight} value (usually 36--43 times the \pixcom{baselineskip}) \\ -\pixcom{trytextwidth} & sets the \pixcom{textwidth} value (usually 345--390pt) \\ -\pixcom{trycolumnsep} & sets the \pixcom{columnsep} value (usually 10pt) \\ -\pixcom{trycolumnseprule} & sets the \pixcom{columnseprule} value (usually 0pt) \\ -\hline -\end{tabular} -\end{table} - - There are a set of commands for experimenting with the page layout -parameters. They are listed in \tref{tab:tmempage}. Each of these commands -takes one argument which is a length value. The \pixcom{setfootbox} command -may be used as well. - - The following code provides an example of the use of some of these -commands when trying an experimental page layout. The result is shown -in \fref{fig:pmemudf}. -\begin{verbatim} -\begin{figure} -\currentstock -\trystockheight{11in} -\trystockwidth{8.5in} -\trytrimtop{1in} -\trytrimedge{1in} -\trypaperheight{10in} -\trypaperwidth{7.5in} -\tryspinemargin{0.75in} -\tryuppermargin{1.0in} -\tryheadheight{12pt} -\tryheadsep{24pt} -\trytextwidth{5in} -\trytextheight{7in} -\tryfootskip{24pt} -\setfootbox{50pt}{50pt} -\trymarginparsep{17pt} -\trymarginparwidth{62pt} -\trymarginparpush{12pt} -\setlabelfont{\small} -\stockdesign -\caption{An experimental \file{memoir} class page layout}\label{fig:pmemudf} -\end{figure} -\end{verbatim} - -\begin{figure} -\currentstock -\trystockheight{11in} -\trystockwidth{8.5in} -\trytrimtop{1in} -\trytrimedge{1in} -\trypaperheight{10in} -\trypaperwidth{7.5in} -\tryspinemargin{0.75in} -\tryuppermargin{1.0in} -\tryheadheight{12pt} -\tryheadsep{24pt} -\trytextwidth{5in} -\trytextheight{7in} -\tryfootskip{24pt} -\setfootbox{50pt}{50pt} -\trymarginparsep{17pt} -\trymarginparwidth{62pt} -\trymarginparpush{12pt} -\printheadingsfalse -%%\twocolumnlayouttrue -%%\oddpagelayoutfalse -\setlabelfont{\small} -%\drawparametersfalse \drawstock -\stockdesign -\caption{An experimental \file{memoir} class page layout}\label{fig:pmemudf} -\end{figure} - - There is also a \pixcom{stockvalues} command to print a tabulation of the -current stock specifications. -% As this manual does not use the \file{memoir} -% class, calling it would only result in errors. - - -%%%%%%%%%% -\clearpage -\section{Paragraph layout} -\suppressfloats[t] - - The commands \pixcom{paragraphdiagram} and \pixcom{paragraphdesign} -(or \pixcom{drawparagraph} ) -can be used to visualize the parameters -that affect paragraphing. This is illustrated in \fref{fig:fpara} which -was produced by the following code: -\begin{verbatim} -\begin{figure} -\paragraphdiagram -\caption{Paragraph parameters}\label{fig:fpara} -\end{figure} -\end{verbatim} - -\begin{figure} -%\drawparagraph -\paragraphdiagram -\caption{Paragraph parameters}\label{fig:fpara} -\end{figure} - - The command \verb|\currentparagraph|\ixcom{currentparagraph} sets the -drawing parameters to the settings for the current document. The commands -listed in \tref{tab:para} can be used to set trial values for the -relevant parameters. These commands take one argument which must be a length. - -\begin{table} -\centering -\caption{Commands for setting trial paragraph parameters}\label{tab:para} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{tryparindent} & sets the \pixcom{parindent} value \\ -\pixcom{tryparskip} & sets the \pixcom{parskip} value \\ -\pixcom{tryparlinewidth} & sets the \pixcom{linewidth} value \\ -\pixcom{tryparbaselineskip} & sets the \pixcom{baselineskip} value \\ \hline -\end{tabular} -\end{table} - - Figure~\ref{fig:dpara} shows the paragraphing as used in this document. -It was produced with this code: -\begin{verbatim} -\currentparagraph -\begin{figure} -\paragraphdesign -\caption{Paragraphs in this document}\label{fig:dpara} -\end{figure} -\end{verbatim} - -\currentparagraph -\begin{figure} -%\drawparametersfalse \drawparagraph -\paragraphdesign -\caption{Paragraphs in this document}\label{fig:dpara} -\end{figure} - -\currentparagraph -\begin{figure} -\tryparindent{-4em} -%\drawparametersfalse \drawparagraph -\paragraphdesign -\caption{An outset paragraph}\label{fig:mpara} -\end{figure} - - Interestingly, I found that \LaTeX{} is happy even if \pixcom{parindent} -is set to a negative value. It isn't demonstrated in this typescript but -you can see the effect in \fref{fig:mpara} which was produced from: -\begin{verbatim} -\currentparagraph -\begin{figure} -\tryparindent{-4em} -\paragraphdesign -\caption{An outset paragraph}\label{fig:mpara} -\end{figure} -\end{verbatim} - - The \pixcom{paragraphvalues} command can be used to produce a table, -shown below, of the values of the current document's paragraph layout -parameters (as set at the time that the command is used). The tabulation -was typeset via -\begin{verbatim} -\begin{center} -\printinunitsof{mm} -\paragraphvalues -\end{center} -\end{verbatim} -Note the use of \pixcom{printinunitsof} to set millimetres as the unit of -length. - -\begin{center} -\printinunitsof{mm} -\paragraphvalues -\end{center} - - -%%%%%%%%% -\clearpage -\section{Float layouts} -\suppressfloats[t] - - Two sets of commands are provided for displaying the layouts of -\LaTeX{} floats (e.g., the \pixenv{figure} and \pixenv{table} environments). -One set is for a macro view of floats and the other is for a more -detailed view. - -\subsection{Float and text page layout} - - This set of commands is for displaying the general parameters for -the location of floats on a page and proportioning the available space -between the floats and textual material. - - The commands \pixcom{floatpagediagram} and \pixcom{floatpagedesign} -(or \pixcom{drawfloatpage}) are used to visualize the general -parameters. These are illustrated in \fref{fig:fpp} which was produced -by the following code: -\begin{verbatim} -\begin{figure} -\floatpagediagram -\caption{Float and text page parameters}\label{fig:fpp} -\end{figure} -\end{verbatim} - -\begin{figure} -%\drawfloatpage -\floatpagediagram -\caption{Float and text page parameters}\label{fig:fpp} -\end{figure} - - The command \pixcom{currentfloatpage} sets the drawing parameters to the -settings for the current document. The `standard' \LaTeX{} settings are -shown in \fref{fig:fpstd}, produced by the code below. -\begin{verbatim} -\begin{figure} -\currentfloatpage -\trytotalnumber{3} -\trytopnumber{2} -\trytopfraction{0.7} -\trytextfraction{0.2} -\trybottomfraction{0.3} -\trybottomnumber{1} -\setlayoutscale{0.25} -\floatpagedesign -\caption{The standard \LaTeX{} float and text page settings} -\label{fig:fpstd} -\end{figure} -\end{verbatim} - -\begin{figure} -\currentfloatpage -\trytotalnumber{3} -\trytopnumber{2} -\trytopfraction{0.7} -\trytextfraction{0.2} -\trybottomfraction{0.3} -\trybottomnumber{1} -\setlayoutscale{0.25} -%\drawparametersfalse \drawfloatpage -\floatpagedesign -\caption{The standard \LaTeX{} float and text page settings} -\label{fig:fpstd} -\end{figure} - - The commands listed in \tref{tab:tfloatp} can be used to set trial values -for the relevant parameters. The commands take one argument, which is either -an integer number or a decimal fraction, depending on the particular command. - -\begin{table} -\centering -\caption{Commands for setting trial float page parameters}\label{tab:tfloatp} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{trytotalnumber} & (integer) sets the \pixcom{totalnumber} (usually 3) \\ -\pixcom{trytopnumber} & (integer) sets the \pixcom{topnumber} (usually 2) \\ -\pixcom{trytopfraction} & (decimal) sets the \pixcom{topfraction} (usually 0.7) \\ -\pixcom{trytextfraction} & (decimal) sets the \pixcom{textfraction} (usually 0.2) \\ -\pixcom{trybottomnumber} & (integer) sets the \pixcom{bottomnumber} (usually 1) \\ -\pixcom{trybottomfraction} & (decimal) sets the \pixcom{bottomfraction} (usually 0.3) \\ -\hline -\end{tabular} -\end{table} - -\begin{figure} -\currentfloatpage -\trytotalnumber{4} -\trytopnumber{2} -\trytopfraction{0.9} -\trytextfraction{0.1} -\trybottomnumber{2} -\trybottomfraction{0.6} -\setlayoutscale{0.25} -%\drawparametersfalse \drawfloatpage -\floatpagedesign -\caption{Float page layout for decreasing likelihood of float-only pages} -\label{fig:fpudf} -\end{figure} - - Figure~\ref{fig:fpudf} illustrates float page settings that increase -the likelihood of a float remaining on a text page without being put on -a page by itself. The figure was produced from the following code: -\begin{verbatim} -\begin{figure} -\currentfloatpage -\trytotalnumber{4} -\trytopnumber{2} -\trytopfraction{0.9} -\trytextfraction{0.1} -\trybottomnumber{2} -\trybottomfraction{0.6} -\setlayoutscale{0.25} -\floatpagedesign -\caption{Float page layout for decreasing likelihood of float-only pages} -\label{fig:fpudf} -\end{figure} -\end{verbatim} - - -%%%%%%%%% -%%%%\clearpage -\subsection{Detailed float layout} -\suppressfloats[t] - - The other view of floats concentrates on the spacing between text and -floats on a page. The \pixcom{floatdiagram} and \pixcom{floatdesign} -(or \pixcom{drawfloat}) commands are used to visualize this -aspect. - - The relevant parameters are shown in \fref{fig:flp}, produced from the -following code: -\begin{verbatim} -\begin{figure} -\setlayoutscale{0.9} -\floatdiagram -\caption{Float parameters}\label{fig:flp} -\end{figure} -\end{verbatim} - -\begin{figure} -\setlayoutscale{0.9} -%\drawfloat -\floatdiagram -\caption{Float parameters}\label{fig:flp} -\end{figure} - - As usual, the command \pixcom{currentfloat} sets the trial float parameters -to those in effect for the current document. - -\begin{figure} -\currentfloat -\tryintextsep{\intextsep} -\trytopfigrule{0.5pt} -\trybotfigrule{1pt} -\setlayoutscale{0.9} -%\drawparametersfalse \drawfloat -\floatdesign -\caption{Float layout with rules}\label{fig:fludf} -\end{figure} - - The commands listed in \tref{tab:tfloat}, all of which take a length -argument, set trial values for the float parameters. - -\begin{table} -\centering -\caption{Commands for setting trial float parameters}\label{tab:tfloat} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{trytextfloatsep} & sets the \pixcom{textfloatsep} value (usually 20pt) \\ -\pixcom{tryfloatsep} & sets the \pixcom{floatsep} value (usually 12pt) \\ -\pixcom{tryintextsep} & sets the \pixcom{intextsep} value (usually 12pt) \\ -\pixcom{trytopfigrule} & sets the thickness of a \pixcom{topfigrule} (usually 0pt) \\ -\pixcom{trybotfigrule} & sets the thickness of a \pixcom{botfigrule} (usually 0pt) \\ -\hline -\end{tabular} -\end{table} - - The following code, used to produce \fref{fig:fludf}, shows the use of -some of these commands: -\begin{verbatim} -\begin{figure} -\currentfloat -\tryintextsep{\intextsep} -\trytopfigrule{0.5pt} -\trybotfigrule{1pt} -\setlayoutscale{0.9} -\floatdesign -\caption{Float layout with rules}\label{fig:fludf} -\end{figure} -\end{verbatim} - - The \pixcom{topfigrule} and \pixcom{botfigrule} are little known \LaTeX{} -commands; they are not discussed by Lamport~\cite{LAMPORT94} -but are described by Goossens \emph{et al}~\cite{GOOSSENS94}. They are -like the \pixcom{footnoterule} command in that they draw a rule, or other -decoration, below floats at the top of a page (\pixcom{topfigrule}) and -above floats at the bottom of a page (\pixcom{botfigrule}). Both these -commands have been defined in the preamble to this document as: -\begin{verbatim} -\makeatletter -\newlength{\figrulesep} -\setlength{\figrulesep}{0.5\textfloatsep} -\newcommand{\topfigrule}{\vspace*{-1pt}% - \noindent\rule[-\figrulesep]{\columnwidth}{1pt}} -\newcommand{\botfigrule}{\vspace*{-2pt}% - \noindent\rule[\figrulesep]{\columnwidth}{2pt}} -\makeatother -\end{verbatim} -Their effect can be seen throughout the printed result. The typical thickness -for a \pixcom{rule} is $0.4$pt; the thickness of these rules has been -exagerated in order to make them more noticeable. The \pixcom{topfigrule} -is drawn immediately after the top floats before the \pixcom{textfloatsep} -spacing is applied. Similarly the \pixcom{botfigrule} is drawn after -the \pixcom{textfloatsep} is applied for the bottom floats. Whatever is -drawn as a \texttt{...figrule} should take no vertical space, hence the -use of negative vertical space in their definitions above. Note that the -rules have been given either positive or negative vertical offsets to ensure -some space between a float and the rule. - -\subsection{Changing the float layout in your document} - - The \verb|\...number| commands are changed with the \LaTeX{} -\pixcom{setcounter} command, while the \verb|\...fraction| commands -have to be changed via the \pixcom{renewcommand}. For example, the preamble -to this document contains the following (enclosed within -\pixcom{makeatletter} and \pixcom{makeatother} commands): -\begin{verbatim} -\setcounter{topnumber}{2} -\setcounter{bottomnumber}{2} -\setcounter{totalnumber}{4} -\renewcommand{\topfraction}{0.9} -\renewcommand{\bottomfraction}{0.6} -\renewcommand{\textfraction}{0.1} -\end{verbatim} - - Note that there are also the commands: -\begin{itemize} -\item \pixcom{dbltopnumber} for setting the maximum number of two-column - floats at the top of a two-column page (typically 2); -\item \pixcom{dbltopfraction} for setting the maximum fraction of a - two column page that can be occupied by the top two-column floats - (typically 0.7); and -\item \pixcom{dblfloatpagefraction} for setting the minimum fraction of - a page that has to be occupied by two-column floats before a `float - only' page is produced (typically 0.5). -\end{itemize} - - The \verb|\...sep| commands are changed using the \pixcom{setlength} -command. The separation values should have a little bit of give in them, -that is, they should be rubber lengths. -A typical set of values might be specified as: -\begin{verbatim} -\setlength{\floatsep}{12pt plus 2pt minus 2pt} -\setlength{\textfloatsep}{20pt plus 2pt minus 4pt} -\setlength{\intextsep}{\floatsep} -\end{verbatim} -There are corresponding separation commands for two-column floats at the -top or bottom of a page. These are \pixcom{dblfloatsep} for inter-float -separation and \pixcom{dbltextfloatsep} for spacing between a two-column -float and the text area. - - - -\floatvalues - - The \pixcom{floatvalues} command can be used to produce a table, -as shown here, of the values of the current document's float layout -parameters (as set at the time that the command is used). - - -%%%%%% -\clearpage -\section{List layout} -\suppressfloats[t] - - The commands \pixcom{listdiagram} and \pixcom{listdesign} -(or \pixcom{drawlist}), as their names suggest, display the layout -of list\ixenv{list} environments. -The list parameters are shown in \fref{fig:lstp}, -which was produced by the following code: -\begin{verbatim} -\begin{figure} -\listdiagram -\caption{List parameters} \label{fig:lstp} -\end{figure} -\end{verbatim} - - The list layout may be controlled by the \verb|\listaspara|\TF{} commands. -Use \pixcom{listasparatrue} for displaying the list when it is being -treated as a paragraph, -otherwise use \pixcom{listasparafalse}. The default is \pixcom{listasparatrue}. - -\begin{figure} -%\drawlist -\listdiagram -\caption{List parameters} \label{fig:lstp} -\end{figure} - - The command \pixcom{currentlist} extracts the list parameters from the -current environment for display via \pixcom{drawlist}. Figure~\ref{fig:lstenum} -graphically illustrates the layout for an \pixenv{enumerate} - type list. -The figure was generated by the following code: -\begin{verbatim} -\begin{enumerate} -\item Figure~\ref{fig:lstenum} illustrates the layout of an - \texttt{enumerate} list. - \currentlist - \begin{figure} - \listdesign - \caption{Layout of an \texttt{enumerate} list} \label{fig:lstenum} - \end{figure} -\end{enumerate} -\end{verbatim} - -\begin{enumerate} -\item Figure~\ref{fig:lstenum} illustrates the layout of an - \texttt{enumerate} list. - \currentlist - \begin{figure} -% \drawparametersfalse \drawlist - \listdesign - \caption{Layout of an \texttt{enumerate} list} \label{fig:lstenum} - \end{figure} -\end{enumerate} - Note that \pixcom{currentlist} was called within the list environment in -order to pick up the desired parameter values. - - Table~\ref{tab:tlist} gives a listing of the commands that are provided -for experimenting with the list layout parameters. Each of these commands -takes a length as its argument. - -\begin{table} -\centering -\caption{Commands for setting trial list parameters} \label{tab:tlist} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{tryitemindent} & sets the \pixcom{itemindent} value \\ -\pixcom{trylabelwidth} & sets the \pixcom{labelwidth} value \\ -\pixcom{trylabelsep} & sets the \pixcom{labelsep} value \\ -\pixcom{tryleftmargin} & sets the \pixcom{leftmargin} value \\ -\pixcom{tryrightmargin} & sets the \pixcom{rightmargin} value \\ -\pixcom{trylistparindent} & sets the \pixcom{listparindent} value \\ -\pixcom{trytopsep} & sets the \pixcom{topsep} value \\ -\pixcom{tryparskip} & sets the \pixcom{parskip} value \\ -\pixcom{trypartopsep} & sets the \pixcom{partopsep} value \\ -\pixcom{tryparsep} & sets the \pixcom{parsep} value \\ -\pixcom{tryitemsep} & sets the \pixcom{itemsep} value \\ -\hline -\end{tabular} -\end{table} - -\newenvironment{listX}% - {\begin{list}{item}% - {\setlength{\itemindent}{-30pt}% - \setlength{\labelwidth}{80pt}% - \setlength{\labelsep}{1em}% - \setlength{\leftmargin}{170pt}% - \setlength{\rightmargin}{-40pt}% - \setlength{\listparindent}{80pt}% - \setlength{\topsep}{3ex}% - \setlength{\partopsep}{\topsep}% - \setlength{\parsep}{\topsep}% - \setlength{\itemsep}{\topsep}% - }% - }% - {\end{list}} - - Figure~\ref{fig:lstudf} shows the layout of a user-defined list. -An example of the list as it would appear in a document is shown by the -list that follows this paragraph. - -\begin{listX} -\item[ListX, first item:] This is an example of a user-defined list. -The appearance is somewhat different from that normally seen in \LaTeX{} -lists. Note that the text extends into the normal right-hand margin. -Also, the body of the list text is indented from the label. - - No claim is made that there is anything aesthetic about the design -of the list. In fact, I think that it is pretty awful. It is merely -provided as an example of a non-standard list and so that the -\pixcom{drawlist} command can be shown off. - -\item[ListX, second item:] Now we will draw the layout of this list from -within itself (see \fref{fig:lstudf} for the result). The code used is: -\begin{verbatim} -\currentlist -\begin{figure} -\drawdimensionstrue -\listdesign -\caption{The layout of the \texttt{listX} environment} -\label{fig:lstudf} -\end{figure} -\end{verbatim} - -\currentlist -\begin{figure} -\drawdimensionstrue -%\drawparametersfalse \drawlist -\listdesign -\caption{The layout of the \texttt{listX} environment} -\label{fig:lstudf} -\end{figure} - -\item[ListX, third item:] The definition of this list environment is: -\begin{verbatim} -\newenvironment{listX}% - {\begin{list}{item}% - {\setlength{\itemindent}{-30pt}% - \setlength{\labelwidth}{80pt}% - \setlength{\labelsep}{1em}% - \setlength{\leftmargin}{170pt}% - \setlength{\rightmargin}{-40pt}% - \setlength{\listparindent}{80pt}% - \setlength{\topsep}{3ex}% - \setlength{\partopsep}{\topsep}% - \setlength{\parsep}{\topsep}% - \setlength{\itemsep}{\topsep}% - }% - }% - {\end{list}} -\end{verbatim} -\end{listX} - - In \LaTeX{} many display environments, such as the \pixenv{quotation} -environment, -are defined in terms of the generic \pixenv{list} environment, so -the settings for these may also be explored with \pixcom{currentlist}. - For example, the following code shows how to determine the `list' -settings for the \pixenv{thebibliography} -environment (with apologies to Leslie Lamport). -\begin{verbatim} -\begin{thebibliography}{Dillo 83} -\bibitem[Knud 66]{kn:gnus} D. E. Knudson. \emph{1996 World Gnus Almanac.} -\currentlist -\begin{figure} -\listdesign -\caption{Bibliography list} -\end{figure} -\end{thebibliography} -\end{verbatim} -Running this code is left as an exercise for the reader. - -\subsection{Changing lists} - - Many of \LaTeX's environments are defined in terms of lists, most -noticeably the \pixenv{description}, \pixenv{enumerate} and \pixenv{itemize} -environments. To change any of LaTeX's predefined list environments -it is probably best to examine their -definitions in the appropriate class file (e.g., \pixfile{classes.dtx}) and -then put your modified definitions into a package file. - -\begin{quote} -\printinunitsof{pc} -\listvalues -\end{quote} - - The \pixcom{listvalues} command can be used to produce a table, -as shown here, of the values of the current document's list layout -parameters (as set at the time that the command is used). -This table was produced by: -\begin{verbatim} -\begin{quote} -\printinunitsof{pc} -\listvalues -\end{quote} -\end{verbatim} - - - -%%%%%%%%%%%%%%%%%% -\clearpage -\section{Sectional heading layout} -\suppressfloats[t] - - In \LaTeX{} a few headings, like \pixcom{part} and \pixcom{chapter} -are defined using -special definition code. The majority, though, are defined via the internal -\LaTeX{} \pixatcom{startsection} -command. This command takes 6 arguments: \\ -\verb|\@startsection{|\meta{name}\verb|}{|% -\meta{level}\verb|}{|% -\meta{indent}\verb|}{|% -\meta{beforeskip}\verb|}{|% -\meta{afterskip}\verb|}{|% -\meta{font style}\verb|}|. - - The commands -\verb|\headingdiagram{|\meta{font style}\verb|}|\ixcom{headingdiagram} and -\verb|\headingdesign{|\meta{font style}\verb|}|\ixcom{headingdesign} -(or \verb|\drawheading{|\meta{font style}\verb|}|\ixcom{drawheading}) -draw a picture of the layout for sectional headings based on the -\pixatcom{startsection} command. Unlike the other -drawing commands it takes one parameter, which is the specification -of the size and/or font of the heading. For example, -\verb|\drawheading{\large\itshape}|. For \pixcom{headingdiagram} (or -\pixcom{drawheading} with \pixcom{drawparameterstrue} is -in effect) the parameter has no effect. - - There are two kinds of headings: -\begin{enumerate} -\item Display headings, where the heading is set off from the text body, and -\item Run-in headings, where the text body starts on the same line as -the heading. -\end{enumerate} -When \pixcom{headingdiagram} is called -(or \pixcom{drawheading} with \pixcom{drawparameterstrue} in effect) - the pair of commands \pixcom{runinheadtrue} and -\pixcom{runinheadfalse} control whether a run-in head or a display head -will be illustrated. The default is \pixcom{runinheadfalse}. - -%%%%%%%%%%%%%%%%%%%%%%% -%%\drawdimensionsfalse -%%%%%%%%%%%%%%%%%%%%%% - - Figures~\ref{fig:hdp} and~\ref{fig:hrp} show the parameters of the two -kinds of headings. They were produced by the following code: -\begin{verbatim} -\begin{figure} -\setlayoutscale{1} -\headingdiagram{ } -\caption{Display heading parameters}\label{fig:hdp} -\end{figure} - -\begin{figure} -\setlayoutscale{1} -\runinheadtrue -\headingdiagram{ } -\caption{Run-in heading parameters}\label{fig:hrp} -\end{figure} -\end{verbatim} - -\begin{figure} -\setlayoutscale{1} -%\drawheading{ } -\headingdiagram{ } -\caption{Display heading parameters}\label{fig:hdp} -\end{figure} - -\begin{figure} -\setlayoutscale{1} -\runinheadtrue -%\drawheading{ } -\headingdiagram{ } -\caption{Run-in heading parameters}\label{fig:hrp} -\end{figure} - - - The command \pixcom{currentheading} sets up default parameter values for -the illustration of a heading. These values are based on guesstimates -of the values of the arguments of the \pixatcom{startsection} -command. The commands given in \tref{tab:thead} -can be used to explicitly set heading parameters. Each of these commands -takes a length for its parameter value. - -\begin{table} -\centering -\caption{Commands for setting trial heading parameters}\label{tab:thead} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{trybeforeskip} & sets the \textit{beforeskip} value \\ -\pixcom{tryafterskip} & sets the \textit{afterskip} value \\ -\pixcom{tryindent} & sets the \textit{indent} value \\ -\hline -\end{tabular} -\end{table} - - The regular reader of \LaTeX{} documents will have noticed that the -\pixcom{subsubsection} headings in this manual do not conform to the -usual \LaTeX{} style. In fact, the preamble to this document contains -the following definition: -\begin{verbatim} -\makeatletter -\renewcommand{\subsubsection}{\@startsection% - {subsubsection}% name - {3}% level - {0mm}% indent - {-\baselineskip}% beforeskip - {0.5\baselineskip}% afterskip - {\large\itshape}}% style -\makeatother -\end{verbatim} -Note that the \pixcom{makeatletter} and \pixcom{makeatother} commands -are required because of the use of the \tat{} character in the -name of the \pixatcom{startsection} command. - -%%%%%%%%%%%%%%%%%%%%%%%% -%%\drawdimensionsfalse -%%%%%%%%%%%%%%%%%%%%%%% -\currentheading -\trybeforeskip{-\baselineskip} -\tryafterskip{0.5\baselineskip} -\tryindent{0mm} -\begin{figure} -\setlayoutscale{1} -%\drawparametersfalse \drawheading{\large\itshape} -\headingdesign{\large\itshape} -\caption{Subsubsection heading layout parameters for this document} -\label{fig:hdudf} -\end{figure} - - Figure~\ref{fig:hdudf} illustrates the layout for this heading, and was -produced by the code below. -\begin{verbatim} -\currentheading -\trybeforeskip{-\baselineskip} -\tryafterskip{0.5\baselineskip} -\tryindent{0mm} -\begin{figure} -\setlayoutscale{1} -\headingdesign{\large\itshape} -\caption{Subsubsection layout parameters for this document} -\label{fig:hdudf} -\end{figure} -\end{verbatim} - -\currentheading -\trybeforeskip{-\baselineskip} -\tryafterskip{-0.5\baselineskip} -\tryindent{0mm} -\begin{figure} -\setlayoutscale{1} -%\drawparametersfalse \drawheading{\large\itshape} -\headingdesign{\large\itshape} -\caption{Subsubsection layout parameters for a run-in heading} -\label{fig:hrudf} -\end{figure} - - The same heading, but specified as a run-in heading by making the -value of \textit{afterskip} negative rather than positive, is illustrated -in \fref{fig:hrudf}. - - - -%%%%%%%%%%%%%%%% -\clearpage -\section{Footnote layout} -\suppressfloats[t] - - Footnote layouts are produced by the commands -\pixcom{footnotediagram} and \pixcom{footnotedesign} -(or \pixcom{drawfootnote}). -The relevant footnote parameters are shown in \fref{fig:fp}, which was -produced by the following code: -\begin{verbatim} -\begin{figure} -\setlayoutscale{0.4} -\setlabelfont{\huge\itshape} -\footnotediagram -\caption{The footnote parameter layout} \label{fig:fp} -\end{figure} -\end{verbatim} -Note the use of \pixcom{setlabelfont} to change the font used for labelling -(the `MAIN TEXT' in this case). - -\begin{figure} -\setlayoutscale{0.4} -\setlabelfont{\huge\itshape} -%\drawfootnote -\footnotediagram -\caption{The footnote parameter layout} \label{fig:fp} -\end{figure} - - Some of the current settings for the footnote parameters are set -by the \pixcom{currentfootnote} command. Guesstimates are provided -for the likely value of the \pixcom{baselineskip} that is used within -a footnote, and also for the dimension of the footnote rule. - - Figure~\ref{fig:ftry} shows the default footnote layout, and was produced -by the following code: -\begin{verbatim} -\begin{figure} -\currentfootnote -\setlayoutscale{0.4} -\footnotedesign -\caption{The current footnote layout}\label{fig:ftry} -\end{figure} -\end{verbatim} -The resulting picture has all vertical dimensions magnified by a factor -of 4 with respect to the horizontal dimensions. - -\begin{figure} -\currentfootnote -\setlayoutscale{0.4} -%\drawparametersfalse \drawfootnote -\footnotedesign -\caption{A footnote layout}\label{fig:ftry} -\end{figure} - - Commands for individually setting trial values for footnote parameters -are given in \tref{tab:foot}. Except for \pixcom{tryfootrulefrac}, these all -take a length as their parameter. The parameter value for -\pixcom{tryfootrulefrac} is a decimal number representing a fraction of -the \pixcom{textwidth}. The trial length of the footnote rule is set to -this fraction of the width of the text block. - -\begin{table} -\centering -\caption{Commands for setting trial footnote parameter values}\label{tab:foot} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{tryfootins} & sets the \pixcom{skip}\pixcom{footins} value (usually 10pt) \\ -\pixcom{tryfootnotesep} & sets the \pixcom{footnotesep} value (usually 7pt) \\ -\pixcom{tryfootnotebaseline} & sets the footnote \pixcom{baselineskip} value \\ -\pixcom{tryfootruleheight} & sets the \pixcom{footnoterule} height value (usually 0.4pt) \\ -\pixcom{tryfootrulefrac} & sets the length of the \pixcom{footnoterule} \\ -\hline -\end{tabular} -\end{table} - -\begin{figure} -\currentfootnote -\tryfootins{10pt} -\tryfootnotesep{20pt} -\tryfootnotebaseline{15pt} -\tryfootruleheight{1pt} -\tryfootrulefrac{0.8} -\setlayoutscale{0.4} -%\drawparametersfalse \drawfootnote -\footnotedesign -\caption{A user-specified footnote layout} -\label{fig:fudf} -\end{figure} - - Figure~\ref{fig:fudf}, produced from the following code, shows an -experimental layout for footnotes. -\begin{verbatim} -\begin{figure} -\currentfootnote -\tryfootins{10pt} -\tryfootnotesep{20pt} -\tryfootnotebaseline{15pt} -\tryfootruleheight{1pt} -\tryfootrulefrac{0.8} -\setlayoutscale{0.4} -\footnotedesign -\caption{A user-specified footnote layout} -\label{fig:fudf} -\end{figure} -\end{verbatim} - -\subsection{Changing the footnote layout} - - The value of \pixcom{footnotesep} is changed via the \pixcom{setlength} -command. Spacing between the bottom of the text area and the first footnote -is normally a rubber length. The following is a typical set of values: -\begin{verbatim} -\setlength{\footnotesep}{7pt} -\setlength{\skip\footins}{10pt plus 4pt minus 2pt} -\end{verbatim} - - For changing other values, see the documented class file -\pixfile{classes.dtx}. - -\footnotevalues - - The \pixcom{footnotevalues} command can be used to produce a table, -as shown here, of the values of the current document's footnote layout -parameters (as set at the time that the command is used). - - - -%%%%%%%%%%%%%%% -\clearpage -\section{Table of Contents layout} -\suppressfloats[t] - - The format of an entry in the Table of Contents (ToC) is usually -specified by the internal \LaTeX{} \pixatcom{dottedtocline} command: \\ -\verb|\@dottedtocline{|% -\meta{level}\verb|}{|% -\meta{indent}\verb|}{|% -\meta{numwidth}\verb|}| \\ -where \meta{indent} and \meta{numwidth} relate to the formatting, and an -entry will be typeset only if \meta{level} is less than or equal to the -value of the \pixcount{tocdepth} counter. - - The \pixcom{tocdiagram} and \pixcom{tocdesign} (or \pixcom{drawtoc}) - commands are used for visualizing the layout of -section titles in a \textit{Table of Contents} listing based on the -\verb|\@dottedtocline| command, as shown in -\fref{fig:tocp}. This was produced by the following code: -\begin{verbatim} -\begin{figure} -\setlayoutscale{0.8} -\tocdiagram -\caption{Table of Contents entry parameters}\label{fig:tocp} -\end{figure} -\end{verbatim} - -\begin{figure} -\setlayoutscale{0.8} -%\drawtoc -\tocdiagram -\caption{Table of Contents entry parameters}\label{fig:tocp} -\end{figure} - -\begin{figure} -\setlayoutscale{0.8} -\currenttoc -%\drawparametersfalse \drawtoc -\tocdesign -\caption{Typical Table of Contents entry for this document} \label{fig:thistoc} -\end{figure} - - Figure~\ref{fig:thistoc} was produced by the following -code:\footnote{The drawing of the dotted leader is not completely accurate -due to scaling and rounding within the drawing algorithm.} -\begin{verbatim} -\begin{figure} -\setlayoutscale{0.8} -\currenttoc -\tocdesign -\caption{Typical Table of Contents entry for this document} \label{fig:thistoc} -\end{figure} -\end{verbatim} - - - The command \pixcom{currenttoc} sets values for the ToC parameters based -on those for the current document. The paramaters can all be individually -adjusted via the commands listed in \tref{tab:toc}. These commands all -require a length as their parameter, except for the \pixcom{trytocdotsep} -command which takes a number (integer or decimal) as its parameter value. -This sets the trial value for the separation between dots in the leader -between the sectional title and the page number. The parameter is the -separation value in \emph{mu} (math units).\footnote{There are \emph{18mu} -units to \emph{1em} unit.} - -\begin{table} -\centering -\caption{Commands for setting trial values for ToC parameters}\label{tab:toc} -\begin{tabular}{|l|l|} \hline -Command & Parameter \\ \hline -\pixcom{trytocindent} & sets the \textit{indent} value \\ -\pixcom{trytocnumwidth} & sets the \textit{numwidth} value \\ -\pixcom{trytoclinewidth} & sets the \pixcom{linewidth} value \\ -\pixcom{trytocrmarg} & sets the \pixatcom{tocrmarg} value \\ -\pixcom{trytocpnumwidth} & sets the \pixatcom{pnumwidth} value \\ -\pixcom{trytocdotsep} & sets the \pixatcom{dotsep} value \\ -\hline -\end{tabular} -\end{table} - -\begin{figure} -\setlayoutscale{0.8} -\currenttoc -\trytocdotsep{1000} -%\drawparametersfalse \drawtoc -\tocdesign -\caption{Table of Contents entry with a large value for \texttt{\bs @dotsep}} -\label{fig:tocudf} -\end{figure} - - Figure~\ref{fig:tocudf}, which was produced by the following code, -shows that the effect of having a large value for \pixatcom{dotsep} is to -eliminate the dotted leader line between the title text and the page number. -\begin{verbatim} -\begin{figure} -\setlayoutscale{0.8} -\currenttoc -\trytocdotsep{1000} -\tocdesign -\caption{Table of Contents entry with a large value for \texttt{\bs @dotsep}} -\label{fig:tocudf} -\end{figure} -\end{verbatim} - -\subsection{Changing the Table of Contents, etc} - - The methods of specifying the typesetting of the various entries in -a Table of Contents or a List of Figures (or Tables) varies from one kind -of entry to another. For details consult -the documented class specification file \pixfile{classes.dtx}. - - However, the \pixatcom{dotsep}, \pixatcom{pnumwidth} and -\pixatcom{tocrmarg} -values can all be set with the \pixcom{renewcommand}. For example, in the -preamble: -\begin{verbatim} -\makeatletter -\renewcommand{\@dotsep}{4.5} -\renewcommand{\@pnumwidth}{1.55em} -\renewcommand{\@tocrmarg}{2.55em} -\makeatother -\end{verbatim} - - Typically, for figure and table captions, and for sectioning commands -that are defined using the \pixatcom{startsection} command, -table entry typesetting is specified via an \verb|\l@X| command, where -\verb|X| is \verb|figure|, \verb|table|, \verb|subsection|, etc., as -appropriate. In turn, these commands call the \pixatcom{dottedtocline} -command. For example, to change the typesetting for a paragraph entry -in the Table of Contents, and for a table caption you should do something -like (changing the lengths as appropriate): -\begin{verbatim} -\makeatletter -\renewcommand*{\l@paragraph}{\@dottedtocline{4}{7em}{4em}} -\renewcommand*{\l@table}{\@dottedtocline{1}{0em}{3.0em}} -\makeatother -\end{verbatim} - - -\tocvalues - - The \pixcom{tocvalues} command can be used to produce a table, -as shown here, of the values of the current document's Table of Contents layout -parameters (as set at the time that the command is used). - -\clearpage -\section{Font boxing} - -\setlength{\unitlength}{1pt} - - Sometimes it is useful to see the size of the box enclosing some text. -Two commands are provided for this purpose. - - The \verb|\drawfontframe{|\meta{text}\verb|}|\ixcom{drawfontframe} - produces a drawing of -\meta{text} together with its surrounding box drawn. A bullet is placed -at the position of the reference point and a horizontal dotted line is drawn -along the baseline. The command can be used in normal mode -or can -be \verb|\put| in a picture environment. -\drawfontframe{\Huge\textbf{g}} -The framed g was produced by the following code: -\begin{verbatim} -\drawfontframe{\Huge\textbf{g}} -\end{verbatim} -The command places the box inside a \texttt{picture} environment that is just -big enough to enclose the box. - - Sometimes it is useful to see the size of the box enclosing some text. -Two commands are provided for this purpose. - - - - - - The \verb|\drawfontframelabel{|\meta{text}\verb|}|\ixcom{drawfontframelabel} - is similar, except -that it labels the reference point, and the width height and depth of the -box. The box is placed inside a picture environment that is just big enough -to enclose the box. This means that the labels extend beyond the -\texttt{picture}. If \verb|\printparameterstrue| is set before issuing the -command, the actual values for the width, height and depth of the box -are printed in a \texttt{center} environment following the drawing. - - Here is a simple example created by \verb|\drawfontframelabel{\Huge Q}| -with \verb|\printparametersfalse|. -\begin{center} -\printparametersfalse% -\drawfontframelabel{\Huge Q} -\end{center} - - This time with \verb|\printparameterstrue| and -\verb|\drawfontframelabel{\Huge\textbf{tangling}}| -\begin{center} -\printparameterstrue% -\drawfontframelabel{\Huge\textbf{tangling}} -\end{center} - - If either of the \verb|\drawfont...| commands are used inside a -\texttt{picture} environment, then the \verb|\unitlength| must be set -to 1pt, as the drawings are meant to be exact size and the commands -assume that all -drawing lengths are in terms of pts. - - Internally, the commands typeset their argument inside a `save box' called -\verb|\layoutsbox|\ixsbox{layoutsbox} and then perform the size -measurements on -\verb|\layoutsbox|. You can use \verb|\layoutsbox| for your own purposes, but if -you do so any subsequent use of a \verb|\drawfont...| command will -overwrite anything that you might have saved in \verb|\layoutsbox|. - - -%%\bibliography{refs,prw} -\begin{thebibliography}{GMS94} - -\bibitem[GMS94]{GOOSSENS94} -Michel Goossens, Frank Mittelbach, and Alexander Samarin. -\newblock \emph{The LaTeX Companion}. -\newblock Addison-Wesley Publishing Company, 1994. - -\bibitem[Lam94]{LAMPORT94} -Leslie Lamport. -\newblock \emph{LaTeX: A Document Preparation System}. -\newblock Addison-Wesley Publishing Company, second edition, 1994. - -\bibitem[McP88]{MCPHERSON88} -Kent McPherson. -\newblock `{Page Layout in LaTeX}'. -\newblock \emph{TUGboat}, 9(1):78--82, April 1988. - -\bibitem[Wil02]{MEMOIR} -Peter Wilson. -\newblock \emph{The memoir class for configurable book typesetting}. -\newblock November, 2002. -\newblock (Available from CTAN in - \texttt{macros/latex/contrib/memoir}) - -\end{thebibliography} - -\clearpage -%%%%%%%% THE INDEX -%\input{laymanidx} -%\end{document} - -% laymanidx.tex -% Generated by GenIndex Version 1.1 from layman.idx -% -\begin{theindex} - - - -\otherindexspace{?} -% ???? - - -\item \texttt {\bs \tat dotsep} \indexfill - 44--45 -\item \texttt {\bs \tat dottedtocline} \indexfill - 43, 46 -\item \texttt {\bs \tat pnumwidth} \indexfill - 44--45 -\item \texttt {\bs \tat startsection} \indexfill - 35, 37, 46 -\item \texttt {\bs \tat tocrmarg} \indexfill - 44--45 - -\alphaindexspace{B} -% BBBB - - -\item \texttt {\bs baselineskip} \indexfill - 2, 11, 16, 18, 39--40 -\item \texttt {\bs botfigrule} \indexfill - 25, 27 -\item \texttt {\bs bottomfraction} \indexfill - 22 -\item \texttt {\bs bottomnumber} \indexfill - 22 - -\alphaindexspace{C} -% CCCC - - -\item \texttt {center} (environment) \indexfill - 4, 13 -\item \texttt {\bs chapter} \indexfill - 35 -\item {\textsf {classes.dtx} (file)} \indexfill - 34, 42, 45 -\item \texttt {\bs columnsep} \indexfill - 11, 16 -\item \texttt {\bs columnseprule} \indexfill - 11, 16 -\item \texttt {\bs currentfloat} \indexfill - 24 -\item \texttt {\bs currentfloatpage} \indexfill - 21 -\item \texttt {\bs currentfootnote} \indexfill - 39 -\item \texttt {\bs currentheading} \indexfill - 35 -\item \texttt {\bs currentlist} \indexfill - 29, 34 -\item \texttt {\bs currentpage} \indexfill - 9, 14 -\item \texttt {\bs currentparagraph} \indexfill - 18 -\item \texttt {\bs currentstock} \indexfill - 14 -\item \texttt {\bs currenttoc} \indexfill - 44 - -\alphaindexspace{D} -% DDDD - - -\item \texttt {\bs dblfloatpagefraction} \indexfill - 28 -\item \texttt {\bs dblfloatsep} \indexfill - 28 -\item \texttt {\bs dbltextfloatsep} \indexfill - 28 -\item \texttt {\bs dbltopfraction} \indexfill - 28 -\item \texttt {\bs dbltopnumber} \indexfill - 28 -\item \texttt {description} (environment) \indexfill - 34 -\item \texttt {\bs drawaspread} \indexfill - 4, 6 -\item \texttt {\bs drawdimensionsfalse} \indexfill - 3 -\item \texttt {\bs drawdimensionstrue} \indexfill - 3, 11 -\item \texttt {\bs drawfloat} \indexfill - 24 -\item \texttt {\bs drawfloatpage} \indexfill - 21 -\item \texttt {\bs drawfontframe} \indexfill - 47 -\item \texttt {\bs drawfontframelabel} \indexfill - 47 -\item \texttt {\bs drawfootnote} \indexfill - 39 -\item \texttt {\bs drawheading} \indexfill - 35 -\item \texttt {\bs drawlist} \indexfill - 29, 32 -\item \texttt {\bs drawmarginparsfalse} \indexfill - 7 -\item \texttt {\bs drawmarginparstrue} \indexfill - 7 -\item \texttt {\bs drawpage} \indexfill - 7 -\item \texttt {\bs drawparagraph} \indexfill - 18 -\item \texttt {\bs drawparametersfalse} \indexfill - 2--3 -\item \texttt {\bs drawparameterstrue} \indexfill - 2, 35 -\item \texttt {\bs drawstock} \indexfill - 14 -\item \texttt {\bs drawtoc} \indexfill - 43 - -\alphaindexspace{E} -% EEEE - - -\item \texttt {enumerate} (environment) \indexfill - 29, 34 -\item \texttt {\bs evensidemargin} \indexfill - 11 - -\alphaindexspace{F} -% FFFF - - -\item \texttt {figure} (environment) \indexfill - 4, 21 -\item \texttt {\bs floatdesign} \indexfill - 24 -\item \texttt {\bs floatdiagram} \indexfill - 24 -\item \texttt {\bs floatpagedesign} \indexfill - 21 -\item \texttt {\bs floatpagediagram} \indexfill - 21 -\item \texttt {\bs floatsep} \indexfill - 25 -\item \texttt {\bs floatvalues} \indexfill - 28 -\item \texttt {\bs footins} \indexfill - 40 -\item \texttt {\bs footnotedesign} \indexfill - 39 -\item \texttt {\bs footnotediagram} \indexfill - 39 -\item \texttt {\bs footnoterule} \indexfill - 27, 40 -\item \texttt {\bs footnotesep} \indexfill - 40--41 -\item \texttt {\bs footnotesize} \indexfill - 1 -\item \texttt {\bs footnotevalues} \indexfill - 42 -\item \texttt {\bs footskip} \indexfill - 9, 11, 16 - -\alphaindexspace{H} -% HHHH - - -\item \texttt {\bs headheight} \indexfill - 11, 16 -\item \texttt {\bs headingdesign} \indexfill - 35 -\item \texttt {\bs headingdiagram} \indexfill - 35 -\item \texttt {\bs headsep} \indexfill - 11, 16 -\item \texttt {\bs hoffset} \indexfill - 11 - -\alphaindexspace{I} -% IIII - - -\item \texttt {\bs intextsep} \indexfill - 25 -\item \texttt {\bs itemindent} \indexfill - 31 -\item \texttt {itemize} (environment) \indexfill - 34 -\item \texttt {\bs itemsep} \indexfill - 31 - -\alphaindexspace{L} -% LLLL - - -\item \texttt {\bs labelsep} \indexfill - 31 -\item \texttt {\bs labelwidth} \indexfill - 31 -\item {\textsf {layout.sty} (file)} \indexfill - 1 -\item \texttt {layoutsbox} (save box) \indexfill - 47 -\item \texttt {\bs leftmargin} \indexfill - 31 -\item \texttt {\bs linewidth} \indexfill - 18, 44 -\item \texttt {list} (environment) \indexfill - 29, 34 -\item \texttt {\bs listasparafalse} \indexfill - 29 -\item \texttt {\bs listasparatrue} \indexfill - 29 -\item \texttt {\bs listdesign} \indexfill - 29 -\item \texttt {\bs listdiagram} \indexfill - 29 -\item \texttt {\bs listparindent} \indexfill - 31 -\item \texttt {\bs listvalues} \indexfill - 34 - -\alphaindexspace{M} -% MMMM - - -\item \texttt {\bs makeatletter} \indexfill - 13, 27, 37 -\item \texttt {\bs makeatother} \indexfill - 13, 27, 37 -\item \texttt {\bs marginparpush} \indexfill - 11, 16 -\item \texttt {\bs marginparsep} \indexfill - 11, 16 -\item \texttt {\bs marginparswitchfalse} \indexfill - 7 -\item \texttt {\bs marginparswitchtrue} \indexfill - 7 -\item \texttt {\bs marginparwidth} \indexfill - 11, 16 - -\alphaindexspace{N} -% NNNN - - -\item \texttt {\bs normalmarginpar} \indexfill - 7 - -\alphaindexspace{O} -% OOOO - - -\item \texttt {\bs oddpagelayoutfalse} \indexfill - 7 -\item \texttt {\bs oddpagelayouttrue} \indexfill - 7 -\item \texttt {\bs oddsidemargin} \indexfill - 11 - -\alphaindexspace{P} -% PPPP - - -\item \texttt {\bs pagedesign} \indexfill - 7 -\item \texttt {\bs pagediagram} \indexfill - 7 -\item \texttt {\bs pagevalues} \indexfill - 13 -\item \texttt {\bs paperheight} \indexfill - 9, 11, 16 -\item \texttt {\bs paperwidth} \indexfill - 9, 11, 16 -\item \texttt {\bs paragraphdesign} \indexfill - 18 -\item \texttt {\bs paragraphdiagram} \indexfill - 18 -\item \texttt {\bs paragraphvalues} \indexfill - 20 -\item \texttt {\bs parindent} \indexfill - 18, 20 -\item \texttt {\bs parsep} \indexfill - 31 -\item \texttt {\bs parskip} \indexfill - 2, 18, 31 -\item \texttt {\bs part} \indexfill - 35 -\item \texttt {\bs partopsep} \indexfill - 31 -\item \texttt {picture} (environment) \indexfill - 4 -\item \texttt {\bs printheadingsfalse} \indexfill - 1, 3, 11 -\item \texttt {\bs printheadingstrue} \indexfill - 1, 3 -\item \texttt {\bs printinunitsof} \indexfill - 3, 20 -\item \texttt {\bs printparametersfalse} \indexfill - 3 -\item \texttt {\bs printparameterstrue} \indexfill - 3 -\item \texttt {\bs prntlen} \indexfill - 3 - -\alphaindexspace{Q} -% QQQQ - - -\item \texttt {quotation} (environment) \indexfill - 34 - -\alphaindexspace{R} -% RRRR - - -\item \texttt {\bs renewcommand} \indexfill - 27, 45 -\item \texttt {\bs reversemarginpar} \indexfill - 7 -\item \texttt {\bs reversemarginparfalse} \indexfill - 7 -\item \texttt {\bs reversemarginpartrue} \indexfill - 7 -\item \texttt {\bs rightmargin} \indexfill - 31 -\item \texttt {\bs rule} \indexfill - 27 -\item \texttt {\bs runinheadfalse} \indexfill - 35 -\item \texttt {\bs runinheadtrue} \indexfill - 35 - -\alphaindexspace{S} -% SSSS - - -\item \texttt {\bs setcounter} \indexfill - 27 -\item \texttt {\bs setfootbox} \indexfill - 9, 14 -\item \texttt {\bs setlabelfont} \indexfill - 3, 39 -\item \texttt {\bs setlayoutscale} \indexfill - 2, 4, 6 -\item \texttt {\bs setlength} \indexfill - 13, 28, 41 -\item \texttt {\bs setparameterstextsize} \indexfill - 3 -\item \texttt {\bs setuplayouts} \indexfill - 2, 4 -\item \texttt {\bs setvaluestextsize} \indexfill - 1 -\item \texttt {\bs skip} \indexfill - 40 -\item \texttt {\bs spacefactor} \indexfill - 13 -\item \texttt {\bs spinemargin} \indexfill - 16 -\item \texttt {\bs stockdesign} \indexfill - 14 -\item \texttt {\bs stockdiagram} \indexfill - 14 -\item \texttt {\bs stockheight} \indexfill - 16 -\item \texttt {\bs stockvalues} \indexfill - 16 -\item \texttt {\bs stockwidth} \indexfill - 16 -\item \texttt {\bs subsubsection} \indexfill - 37 - -\alphaindexspace{T} -% TTTT - - -\item \texttt {table} (environment) \indexfill - 21 -\item \texttt {tabular} (environment) \indexfill - 4 -\item \texttt {\bs textfloatsep} \indexfill - 25, 27 -\item \texttt {\bs textfraction} \indexfill - 22 -\item \texttt {\bs textheight} \indexfill - 11, 16 -\item \texttt {\bs textwidth} \indexfill - 11, 16, 40 -\item \texttt {thebibliography} (environment) \indexfill - 34 -\item \texttt {tocdepth} (counter) \indexfill - 43 -\item \texttt {\bs tocdesign} \indexfill - 43 -\item \texttt {\bs tocdiagram} \indexfill - 43 -\item \texttt {\bs tocvalues} \indexfill - 46 -\item \texttt {\bs topfigrule} \indexfill - 25, 27 -\item \texttt {\bs topfraction} \indexfill - 22 -\item \texttt {\bs topmargin} \indexfill - 11 -\item \texttt {\bs topnumber} \indexfill - 22 -\item \texttt {\bs topsep} \indexfill - 31 -\item \texttt {\bs totalnumber} \indexfill - 22 -\item \texttt {\bs trimedge} \indexfill - 16 -\item \texttt {\bs trimtop} \indexfill - 16 -\item \texttt {\bs tryafterskip} \indexfill - 36 -\item \texttt {\bs trybeforeskip} \indexfill - 36 -\item \texttt {\bs trybotfigrule} \indexfill - 25 -\item \texttt {\bs trybottomfraction} \indexfill - 22 -\item \texttt {\bs trybottomnumber} \indexfill - 22 -\item \texttt {\bs trycolumnsep} \indexfill - 11, 16 -\item \texttt {\bs trycolumnseprule} \indexfill - 11, 16 -\item \texttt {\bs tryevensidemargin} \indexfill - 11 -\item \texttt {\bs tryfloatsep} \indexfill - 25 -\item \texttt {\bs tryfootins} \indexfill - 40 -\item \texttt {\bs tryfootnotebaseline} \indexfill - 40 -\item \texttt {\bs tryfootnotesep} \indexfill - 40 -\item \texttt {\bs tryfootrulefrac} \indexfill - 40 -\item \texttt {\bs tryfootruleheight} \indexfill - 40 -\item \texttt {\bs tryfootskip} \indexfill - 11, 16 -\item \texttt {\bs tryheadheight} \indexfill - 11, 16 -\item \texttt {\bs tryheadsep} \indexfill - 11, 16 -\item \texttt {\bs tryhoffset} \indexfill - 11 -\item \texttt {\bs tryindent} \indexfill - 36 -\item \texttt {\bs tryintextsep} \indexfill - 25 -\item \texttt {\bs tryitemindent} \indexfill - 31 -\item \texttt {\bs tryitemsep} \indexfill - 31 -\item \texttt {\bs trylabelsep} \indexfill - 31 -\item \texttt {\bs trylabelwidth} \indexfill - 31 -\item \texttt {\bs tryleftmargin} \indexfill - 31 -\item \texttt {\bs trylistparindent} \indexfill - 31 -\item \texttt {\bs trymarginparpush} \indexfill - 11, 16 -\item \texttt {\bs trymarginparsep} \indexfill - 11, 16 -\item \texttt {\bs trymarginparwidth} \indexfill - 11, 16 -\item \texttt {\bs tryoddsidemargin} \indexfill - 11 -\item \texttt {\bs trypaperheight} \indexfill - 11, 16 -\item \texttt {\bs trypaperwidth} \indexfill - 11, 16 -\item \texttt {\bs tryparbaselineskip} \indexfill - 18 -\item \texttt {\bs tryparindent} \indexfill - 18 -\item \texttt {\bs tryparlinewidth} \indexfill - 18 -\item \texttt {\bs tryparsep} \indexfill - 31 -\item \texttt {\bs tryparskip} \indexfill - 18, 31 -\item \texttt {\bs trypartopsep} \indexfill - 31 -\item \texttt {\bs tryrightmargin} \indexfill - 31 -\item \texttt {\bs tryspinemargin} \indexfill - 16 -\item \texttt {\bs trystockheight} \indexfill - 16 -\item \texttt {\bs trystockwidth} \indexfill - 16 -\item \texttt {\bs trytextfloatsep} \indexfill - 25 -\item \texttt {\bs trytextfraction} \indexfill - 22 -\item \texttt {\bs trytextheight} \indexfill - 11, 16 -\item \texttt {\bs trytextwidth} \indexfill - 11, 16 -\item \texttt {\bs trytocdotsep} \indexfill - 44 -\item \texttt {\bs trytocindent} \indexfill - 44 -\item \texttt {\bs trytoclinewidth} \indexfill - 44 -\item \texttt {\bs trytocnumwidth} \indexfill - 44 -\item \texttt {\bs trytocpnumwidth} \indexfill - 44 -\item \texttt {\bs trytocrmarg} \indexfill - 44 -\item \texttt {\bs trytopfigrule} \indexfill - 25 -\item \texttt {\bs trytopfraction} \indexfill - 22 -\item \texttt {\bs trytopmargin} \indexfill - 11 -\item \texttt {\bs trytopnumber} \indexfill - 22 -\item \texttt {\bs trytopsep} \indexfill - 31 -\item \texttt {\bs trytotalnumber} \indexfill - 22 -\item \texttt {\bs trytrimedge} \indexfill - 16 -\item \texttt {\bs trytrimtop} \indexfill - 16 -\item \texttt {\bs tryuppermargin} \indexfill - 16 -\item \texttt {\bs tryvoffset} \indexfill - 11 -\item \texttt {\bs twocolumnlayoutfalse} \indexfill - 7 -\item \texttt {\bs twocolumnlayouttrue} \indexfill - 7 - -\alphaindexspace{U} -% UUUU - - -\item \texttt {\bs uppermargin} \indexfill - 16 - -\alphaindexspace{V} -% VVVV - - -\item \texttt {\bs voffset} \indexfill - 11 - -\end{theindex} - - -\end{document} - diff --git a/Master/texmf-dist/doc/latex/layouts/layouts.pdf b/Master/texmf-dist/doc/latex/layouts/layouts.pdf new file mode 100644 index 00000000000..e160bb3f126 Binary files /dev/null and b/Master/texmf-dist/doc/latex/layouts/layouts.pdf differ diff --git a/Master/texmf-dist/source/latex/layouts/layman.tex b/Master/texmf-dist/source/latex/layouts/layman.tex new file mode 100644 index 00000000000..e4cc94906af --- /dev/null +++ b/Master/texmf-dist/source/latex/layouts/layman.tex @@ -0,0 +1,2534 @@ +% layman.tex User Manual for layouts.sty +%% Copyright 1998--2004 Peter R. Wilson +%% All rights reserved +%% + +\documentclass[11pt]{article} +\usepackage{layouts} + +% pdfetex (which might become the base system) defines \pdfoutput +% Thomas Esser (of teTeX fame) asked for the following to be removed (2004/04/03) +%\newif\ifpdf +%\makeatletter +%\@ifundefined{pdfoutput}{\pdffalse}{\pdftrue} +%\makeatother +%\ifpdf +% \pdfoutput=1 +%\fi + + +\setlength{\textheight}{8.0in} +\setlength{\textwidth}{6.0in} +\setlength{\oddsidemargin}{0.25in} +\setlength{\evensidemargin}{0.25in} +\setlength{\marginparwidth}{0.6in} +\setlength{\parskip}{5pt} +\setcounter{secnumdepth}{4} +\setcounter{tocdepth}{4} + +\setlength{\columnsep}{30pt} + +\setcounter{topnumber}{2} +\setcounter{bottomnumber}{2} +\setcounter{totalnumber}{4} +\renewcommand{\topfraction}{0.9} +\renewcommand{\bottomfraction}{0.6} +\renewcommand{\textfraction}{0.1} + + +\newlength{\figrulesep} +\setlength{\figrulesep}{0.5\textfloatsep} + +\newcommand{\topfigrule}{\vspace*{-1pt}% + \noindent\rule[-\figrulesep]{\columnwidth}{1pt}} + +\newcommand{\botfigrule}{\vspace*{-2pt}% + \noindent\rule[\figrulesep]{\columnwidth}{2pt}} + +\makeatletter + +\renewcommand{\subsubsection}{\@startsection% + {subsubsection}% + {3}% + {0mm}% + {-\baselineskip}% + {0.5\baselineskip}% + {\large\itshape}} + + +\newcommand{\fref}[1]{Figure~\ref{#1}} +\newcommand{\tref}[1]{Table~\ref{#1}} +\newcommand{\T}{\texttt{true}} +\newcommand{\F}{\texttt{false}} +\newcommand{\TF}{\textit{true/false}} + + +%%%% the \meta command +\begingroup +\obeyspaces% +\catcode`\^^M\active% +\gdef\meta{\begingroup\obeyspaces\catcode`\^^M\active% +\let^^M\do@space\let \do@space% +\def\-{\egroup\discretionary{-}{}{}\hbox\bgroup\it}% +\m@ta}% +\endgroup +\def\m@ta#1{\leavevmode\hbox\bgroup$\langle$\it#1\/$\rangle$\egroup + \endgroup} +\def\do@space{\egroup\space + \hbox\bgroup\it\futurelet\next\sp@ce} +\def\sp@ce{\ifx\next\do@space\expandafter\sp@@ce\fi} +\def\sp@@ce#1{\futurelet\next\sp@ce} + +\newcommand{\marg}[1]{\texttt{\{}\meta{#1}\texttt{\}}} + +\newcommand{\file}[1]{\textsf{#1}} +%%%%%% indexing commands +%\@ifundefined{bs}{\newcommand{\bs}{\textbackslash}}% +% {\renewcommand{\bs}{\textbackslash}} +\@ifundefined{bs}{\newcommand{\bs}{\char '134}}% + {\renewcommand{\bs}{\char '134}} +\newcommand{\tat}{@} + +\newcommand{\ixcom}[1]{\index{#1/ @\texttt{\protect\bs #1}}} % command +\newcommand{\pixcom}[1]{\texttt{\bs #1}\index{#1/ @\texttt{\protect\bs #1}}} +\newcommand{\ixatcom}[1]{\index{?#1/ @\texttt{\protect\bs\protect\tat #1}}} +\newcommand{\pixatcom}[1]{\texttt{\bs\tat #1}\index{?#1/ @\texttt{\protect\bs\protect\tat #1}}} +\newcommand{\ixenv}[1]{\index{#1 @\texttt{#1} (environment)}} +\newcommand{\pixenv}[1]{\texttt{#1}\index{#1 @\texttt{#1} (environment)}} +\newcommand{\ixpack}[1]{\index{#1 @\file{#1} (package)}} +\newcommand{\pcom}[1]{\texttt{\bs #1}} +\newcommand{\pixfile}[1]{\file{#1}\index{#1 @{\file{#1} (file)}}} +\newcommand{\pixcount}[1]{\texttt{#1}\index{#1 @\texttt{#1} (counter)}} +\newcommand{\ixsbox}[1]{\index{#1 @\texttt{#1} (save box)}} + +\providecommand{\indexfill}{} +\providecommand{\sindexfill}{} +\providecommand{\ssindexfill}{} +\providecommand{\otherindexspace}[1]{} +\providecommand{\alphaindexspace}[1]{\indexspace{\bfseries #1}} + +%%% \setlength{\parindent}{-4em} +\makeatother + +\title{The \file{layouts} package: User manual} +\author{ + Author: Peter Wilson, Herries Press \\ + Maintainer: Will Robertson \\ + \texttt{will dot robertson at latex-project dot org} +} +\date{October 2004\thanks{Previous versions were dated + November 2003, July 2002, March 2002, November 2001, July 2001 and January 1999.}} + + \makeindex + +\begin{document} +%%% \setuplayouts +\bibliographystyle{alpha} +\pagenumbering{roman} +\maketitle +\begin{abstract} + The \LaTeX{} \file{layouts} package enables the display of various +elements of a document's layout. The elements include the positioning +of text on a page, the disposition of floats on a page, the geometrical +layout of lists and footnotes, the design of section headers and their +display in a table of contents. It also enables document designers to +experiment with potential layout designs. +\end{abstract} +\tableofcontents +\listoftables +\listoffigures +\clearpage +\pagenumbering{arabic} + + +\section{Introduction} + + \LaTeX{} has several pre-defined styles for the layout of typeset +documents~\cite{LAMPORT94}. Authors using \LaTeX{} sometimes wish to +understand how these layouts are parameterised (or controlled). The +\texttt{layouts} package enables the display of certain of these +parameterised layouts, showing what the parameters control. It also +provides facilities for experimenting with different values of the +typesetting parameters, showing the results graphically. + + The \file{layouts} package was developed as an aid to the author +when he was developing a new \LaTeX{} class for typsetting ISO standards. +The development of the package has benefitted from +Kent McPherson's \pixfile{layout.sty}~\cite{MCPHERSON88}. + +\subsection{Command types} + + The majority of the commands provided fall into one of several categories. +\begin{description} +\item[Drawing] Commands of the form \pcom{draw}\textit{L}, + \pcom{}\textit{L}\texttt{diagram}, and + \pcom{}\textit{L}\texttt{design} + generate a \LaTeX{} \texttt{picture} of the layout \textit{L}. + +\item[Current layout] Commands of the form \pcom{current}\textit{L} collect, + as far as possible, the values of the layout parameters for the current + \textit{L} layout environment for use by the corresponding + \pcom{draw}\textit{L} command. If a parameter value is not directly + accessible, then a typical value is provided. + +\item[Layout values] Commands of the form \pcom{}\textit{L}\texttt{values} + produce a tabular listing of the current values of the parameters + controlling + the layout \textit{L}. As far as possible these are the actual values. + In some cases the values are hard-wired in the body of a macro, and in these + cases reasonable guesstimates are made of a `typical' value. + In the printed + table, guesstimates are indicated by appending two question marks (??) + to the printed value. Note that the tabular listing produced by a + \pcom{}\textit{L}\texttt{values} command is not the same as a listing + that might be produced by the corresponding \pcom{draw}\textit{L} command. + The appearance of the table may be controlled as follows. + \begin{itemize} + \item The declaration \pixcom{printheadingstrue} will cause a short title + to be placed above the tabular; the tabular is untitled when + \pixcom{printheadingsfalse} is in effect. + \item The font size used for the table is specified via the + \pixcom{setvaluestextsize}\marg{fontsize} macro, where + \meta{fontsize} is one of LaTeX's font size commands (e.g., + \pixcom{footnotesize}, which is the default value.). + \end{itemize} + +\item[User-specified parameter values] Commands of the form + \pcom{try}\textit{P} can be used to change the value of the layout + parameter \textit{P}. Note that these commands do \emph{not} affect the + the layout of the document, they only modify the values used in + displaying a layout. + +\item[Control] Commands of the form \verb|\|\textit{C}\texttt{true} or + \verb|\|\textit{C}\texttt{false} control certain aspects of the kinds of + layouts pictured. + +\end{description} + +\subsection{General facilities} + + In order to initialize the \file{layouts} package correctly for your +document, the command \pixcom{setuplayouts} +must be issued immediately +after the \verb|\begin{document}|, or at least before any following command +that changes font sizes or suchlike. Fortunately you don't have to concern +youself with this as it is called automatically by the \file{layouts} +package. However, you may call it yourself at some later point in the +document to pick up the current value of the \pixcom{baselineskip} +or \pixcom{parskip} if these have been modified. The \pixcom{setuplayouts} +command also sets the \pixcom{setlayoutscale} to its default value of +$0.5$. + +\subsubsection{Scaling} + + A few layout pictures are drawn full size. Most are drawn less than +full size, typically to half-scale. To make the pictures fit your +document neatly, you may wish to change the scale. The command +\verb|\setlayoutscale{|\meta{frac}\verb|}|,\ixcom{setlayoutscale} +where \meta{frac} is a decimal number (e.g., $0.75$) sets the scaling. +For example, \verb|\setlayoutscale{0.5}| will produce pictures at +half full size, and \verb|\setlayoutscale{1.0}| will make the pictures +full size. + +\subsubsection{Layout types} + + In general, two kinds of layout pictures can be produced. + +\begin{enumerate} +\item A picture showing a generic layout and its controlling parameters + is produced by a command of the form \pcom{}\textit{L}\texttt{diagram}. + The same effect may be achieved by using a \pcom{draw}\textit{L} after + the declaration \pixcom{drawparameterstrue}. +\item A picture showing an `actual' layout is produced by a command + of the form \pcom{}\textit{L}\texttt{design}. + The same effect may be achieved by using a \pcom{draw}\textit{L} after + the declaration \\ + \pixcom{drawparametersfalse}. + +\begin{quote} +\textbf{Warning:} If an actual layout differs too much + from a `normal' layout then LaTeX may hiccup a time or two. The + typical problem is when a dimension that is expected to be positive + is actually negative; LaTeX will respond + with an error message like `Bad \pcom{line} or \pcom{vector} argument'. +\end{quote} + +\end{enumerate} + +\begin{quote} + \textbf{Note:} The \pcom{}\textit{L}\texttt{diagram} and +\pcom{}\textit{L}\texttt{design} commands were introduced in version 2.5 of +the package. The previous method of generating pictures (via \pcom{draw}\textit{L} +and \verb?\drawparameters...?) is mainly retained for compatibility reasons. +\end{quote} + + Examples of both kinds of layout are shown later. + + Some aspects of the appearance of the pictures can be controlled. +The following apply to both generic and actual layouts. +\begin{itemize} +\item The size of the font used for displaying the parameters is specified + via the command: \\ + \pixcom{setparameterstextsize}\marg{size}, + where \meta{size} is + one of LaTeX's font size commands. \\ + The initial setting is + \verb|\setparameterstextsize{\footnotesize}|. + +\item Some parts of the layouts are labelled, for example the footer area + in the page layout is labelled `footer'. The macro + \pixcom{setlabelfont}\marg{font} can be used to control the font used for + typesetting these labels. The default is \verb|\setlabelfont{\normalsize}|, + but can be, for example, \verb|\setlabelfont{\large\itshape}| to use + a large italic font instead. Note that \meta{font} must be specified as + a declaration(s). +\end{itemize} + + The following controls only apply to actual layouts (i.e., +when using \pcom{}\textit{L}\texttt{design}, or the earlier + \pixcom{drawparametersfalse} \pcom{draw}\textit{L} pairing is in effect). +\begin{itemize} +\item Some layouts have some explanatory header text. Putting + \pixcom{printheadingsfalse} prohibits these while + \pixcom{printheadingstrue} lets them be printed. + +\item In the generic layouts, the lengths controlled by the various + parameters are indicated by dimension lines; these are not + normally shown in actual layouts. Using \pixcom{drawdimensionstrue} + will let these be shown in actual layouts. The default + setting is \pixcom{drawdimensionsfalse}. + +\begin{quote} +\textbf{Warning:} If you draw actual layouts with \pixcom{drawdimensionstrue} + the drawings may be overburdened and if the layout differs too much + from a `normal' layout then LaTeX may hiccup a time or two (typically + with an error message like `Bad \pcom{line} or \pcom{vector} argument'). +\end{quote} + +\item When \pixcom{printparameterstrue} is in effect, a table of the parameter + values will be printed below the layout. Unsurprisingly, + \pixcom{printparametersfalse} prohibits the table. The default is + \pixcom{printparameterstrue}. + +\end{itemize} + +\subsubsection{Length units} + + The tabular listings of the parameter length values produced by +the \pcom{}\textit{L}\texttt{values} macros give the lengths in TeX +points by default. The length units may be set by the +\pixcom{printinunitsof}\marg{unit} command. The \meta{unit} argument +may be any of TeX's length units, except for scaled point. That is, the +allowable values are \texttt{pt}, \texttt{pc}, \texttt{in}, \texttt{mm}, +\texttt{cm}, \texttt{bp}, \texttt{dd}, or \texttt{cc}; an unkown unit is +treated as though it were \texttt{pt}. When printing in pt units any +stretch or shrink values are printed as well; using \texttt{PT} instead +of \texttt{pt} eliminates these `rubber' values. The initial setting +is \verb|\printinunitsof{pt}|. + + The macro \pixcom{prntlen}\marg{length} prints the value of +\meta{length}, where \meta{length} is a LaTeX length, using the units +specified by \pixcom{printinunitsof}. For example, the following code +\begin{verbatim} +The textwidth is \printinunitsof{pt}\prntlen{\textwidth} which is also +\printinunitsof{in}\prntlen{\textwidth} or +\printinunitsof{mm}\prntlen{\textwidth}. +\end{verbatim} +prints out: \\ +\begingroup +The textwidth is \printinunitsof{pt}\prntlen{\textwidth} which is also +\printinunitsof{in}\prntlen{\textwidth} or +\printinunitsof{mm}\prntlen{\textwidth}. +\endgroup + +\subsection{Usage} + + The drawing commands (i.e., \verb|\...diagram|, \verb|\...design| +and \verb|\draw...|) +are typically used within a +\pixenv{figure} environment, although they can be used in +running text. Internally they generate a \pixenv{picture} +and \pixenv{tabular} environment, both enclosed in their +own \pixenv{center} environments. + + The \pixcom{setlayoutscale} command can be used anywhere in a document +after the initial \pixcom{setuplayouts} command. Used in running text it +will alter the scale factor for all succeeding drawing commands. +However, if \pixcom{setlayoutscale} is called within an environment, such +as the \pixenv{figure} environment, it will only affect +the scale factors for succeeding drawing commands in that +environment. + + The \file{layouts} package uses many \LaTeX{} counters and lengths. +If it is used with too many other packages, the available number of +counters and lengths may be exhausted. Essentially, the \file{layouts} +package is intended to be used in short documents as an exploratory tool +when designing the typesetting rules to be embodied in a new package or +class file. + +\section{Page spread} +\suppressfloats[t] + + Book designers often start by determining the proportions of a page, +the proportions of the text block, and the position of the text block on +the page. Often the width of a page is taken as the starting point. + + In the following let $w$ be the width of a single page; that is, +the distance from the +spine to the outside of the fore edge. I also use the other symbols given in +\tref{tab:spread}. +\begin{table} +\centering +\caption{Page spread symbols} \label{tab:spread} +\begin{tabular}{|c|l|} \hline +Symbol & Meaning \\ \hline +$w$ & Page width \\ +$P$ & Ratio of page height to width \\ +$T$ & Ratio of text block height to width \\ +$S$ & Ratio of spine width to page width \\ +$H$ & Ratio of top margin height to spine width \\ +$E$ & Ratio of fore edge margin width to spine width \\ +$F$ & Ratio of bottom margin height to spine width \\ +$G$ & Ratio of width of two-column gutter to spine width \\ \hline +\end{tabular} +\end{table} + + Given values for $w$, $P$, $T$, $S$, and any two of $H$, $E$ and $F$, it +is possible to calculate the page size, the text block size and the position +of the text. The command \\ +\verb|\drawaspread[|\meta{F}\verb|]{|% + \meta{w}\verb|}{|% + \meta{P}\verb|}{|% + \meta{T}\verb|}{|% + \meta{S}\verb|}{|% + \meta{H}\verb|}{|% + \meta{E}\verb|}{|% + \meta{G}\verb|}|\ixcom{drawaspread} \\ +where the first parameter is optional, draws a two page spread with the given +page width and proportions. If the optional \meta{F} is not provided, then the +bottom margin is calculated from the values of other parameters. If \meta{G} +is zero or negative, then a single column layout is shown, otherwise a double +column layout is presented. + +\newlength{\pwlayi} +\setlength{\pwlayi}{0.4375\textwidth} +\newlength{\pwlayii} +\setlength{\pwlayii}{0.5\pwlayi} + +\begin{figure} +\centering +\begin{minipage}[b]{\pwlayi} +\drawaspread{\pwlayii}{1.294}{1.618}{0.176}{1.037}{1.685}{0} +\end{minipage} +\hfill +\begin{minipage}[b]{\pwlayi} +\drawaspread{\pwlayii}{1.5}{1.5}{0.111}{1.5}{2.0}{0} +\end{minipage} +\caption{(Left) The \LaTeX{} book spread; + (Right) Spread for many of Gutenberg's books} +\label{fig:spread} +\end{figure} + + + Figure~\ref{fig:spread} shows two different spreads. This was produced +from the code below: +\begin{verbatim} +\newlength{\pwlayi} +\setlength{\pwlayi}{0.4375\textwidth} +\newlength{\pwlayii} +\setlength{\pwlayii}{0.5\pwlayi} + +\begin{figure} +\centering +\begin{minipage}[b]{\pwlayi} +\drawaspread{\pwlayii}{1.294}{1.618}{0.176}{1.037}{1.685}{0} +\end{minipage} +\hfill +\begin{minipage}[b]{\pwlayi} +\drawaspread{\pwlayii}{1.5}{1.5}{0.111}{1.5}{2.0}{0} +\end{minipage} +\caption{(Left) The \LaTeX{} book spread; + (Right) Spread for many of Gutenberg's books} +\label{fig:spread} +\end{figure} +\end{verbatim} + + The \pixcom{drawaspread} command does not scale via the +\pixcom{setlayoutscale} command. The size of the illustration is controlled +by the value given for the width of the page. + + +%%%%%%%%%%%%%%% +\clearpage +\section{Page layout} +\suppressfloats[t] + +%%\drawmarginparsfalse + +%%%%%%%%%%%%%%%%%%%%% +%%\printheadingstrue +%\printheadingsfalse +%%\printparameterstrue +%\printparametersfalse +%\drawdimensionstrue +%%\drawdimensionsfalse +%%%%%%%%%%%%%%%%%%%%% + + The layout of a single page is produced by the +\pixcom{pagediagram} or \pixcom{pagedesign} (or \pixcom{drawpage}) command. +The kind of page drawn is +specified via three control commands\footnote{Remember that all drawing +commands of the form \pcom{draw...}, except for \pcom{drawaspread}, are also controlled +by the \pcom{drawparameters...} command.}. + + Right- or left-hand page layouts are specified by the commands +\pcom{oddpagelayout}\TF{} (\pixcom{oddpagelayouttrue} +for an odd-numbered (i.e., right-hand) page, or +\pixcom{oddpagelayoutfalse} for an even-numbered +(i.e., left-hand or verso) page). The default is +\pixcom{oddpagelayouttrue}. + + Double or single column layouts are controlled by the commands +\pcom{twocolumnlayout}\TF. +Using \pixcom{twocolumnlayouttrue} +will result in a picture of a double column page layout and +using \pixcom{twocolumnlayoutfalse} +will result in a picture of a single column page layout. The default +is \pixcom{twocolumnlayoutfalse}. + + The display of marginal notes is controlled by the commands +\pcom{drawmarginpars}\TF. +Using \pixcom{drawmarginparstrue} rusults in representations of +marginal notes being drawn and using \pixcom{drawmarginparsfalse} +hides the marginal notes. The default is +\pixcom{drawmarginparstrue}. + + Normally \LaTeX{} places any marginal notes in the outside margin; +the standard \LaTeX{} command \pixcom{reversemarginpar} causes notes +to be placed in the opposite margin to the default one, and +\pixcom{normalmarginpar} causes the notes to be put in the default +margin. The package commands \pcom{reversemarginpar}\TF{} may be used +to control the marginal note locations in the pictures. +\pixcom{reversemarginpartrue} corresponds to \pixcom{reversemarginpar} +and \pixcom{reversemarginparfalse} corresponds to \pixcom{normalmarginpar}. +The package default is \pixcom{reversemarginparfalse}. + + A \LaTeX{} class may always place marginal notes into the same margin. +The package command \pcom{marginparswitch}\TF, is supplied to control +the placement in the diagrams. \pixcom{marginparswitchtrue} will place marginal notes +according to the class desires, while \pixcom{marginparswitchfalse} will +always draw marginal notes in one margin. + + + As an example, \fref{fig:pplt} is produced by the following code. +\begin{verbatim} +\begin{figure} +\oddpagelayoutfalse +\twocolumnlayouttrue +\pagediagram +\caption{Left-hand two-column page layout parameters} \label{fig:pplt} +\end{figure} +\end{verbatim} + +\begin{figure} +\oddpagelayoutfalse +\twocolumnlayouttrue +%\drawpage +\pagediagram +\caption{Left-hand two-column page layout parameters} \label{fig:pplt} +\end{figure} + + The two lines forming an inverted `L' represent the left-hand and +top of the printed sheet. +By default, \LaTeX{} makes all page layout measurements from a point +located one inch in from the left-hand side of the printed sheet and one +inch down from the top of the sheet. This point is marked with a circle. +The dashed lines correspond to the vertical and horizontal offsets from +this point. + + + The command \pixcom{currentpage} collects together the page parameter +settings for the current document for the page on which it is issued. +For example, it determines whether the current page is odd or even and +in which margin any marginal notes would be placed. +\fref{fig:ptrs} shows the odd page +layout for the document you are now reading. It was produced by the +following commands: +\begin{verbatim} +\begin{figure} +\currentpage +\oddpagelayouttrue +\pagedesign +\caption{Odd page layout for this document} \label{fig:ptrs} +\end{figure} +\end{verbatim} +The resulting picture is correctly proportioned, both horizontally and +vertically. + +\begin{figure} +\currentpage +%\drawparametersfalse \drawpage +\pagedesign +\caption{Page layout for this document} \label{fig:ptrs} +\end{figure} + + When layouts are drawn with \verb|...diagram|\footnote{Or longhandedly +with \pcom{drawparametersfalse} and \pcom{draw...}.} +the actual values +of the parameters used to produce the layout are normally +listed at the bottom of the +picture. This can be used, as in \fref{fig:ptrs}, to find out what the +settings are for the current document. + + Among other parameters that are set by +\pixcom{currentpage} are values for the page width and +height. If these have been specified by the +\pixcom{paperwidth} and \pixcom{paperheight} +commands, these values are used. Otherwise the width and height are set to +the size of American letter paper, which is eight by eleven and a half inches. + +\begin{table} +\centering +\caption{Commands for setting trial page parameters}\label{tab:tpage} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{trypaperwidth} & sets the \pixcom{paperwidth} value \\ +\pixcom{trypaperheight} & sets the \pixcom{paperheight} value \\ +\pixcom{tryhoffset} & sets the \pixcom{hoffset} value (usually 0pt) \\ +\pixcom{tryvoffset} & sets the \pixcom{voffset} value (usually 0pt) \\ +\pixcom{tryoddsidemargin} & sets the \pixcom{oddsidemargin} (usually 21--63pt) \\ +\pixcom{tryevensidemargin} & sets the \pixcom{evensidemargin} value (usually 39--82pt) \\ +\pixcom{trymarginparwidth} & sets the \pixcom{marginparwidth} value (usually 68--107pt) \\ +\pixcom{trymarginparsep} & sets the \pixcom{marginparsep} value (usually 10--11pt) \\ +\pixcom{trymarginparpush} & sets the \pixcom{marginparpush} value (usually 5--7pt) \\ +\pixcom{trytopmargin} & sets the \pixcom{topmargin} value (usually 27pt) \\ +\pixcom{tryheadheight} & sets the \pixcom{headheight} value (usually 12pt) \\ +\pixcom{tryheadsep} & sets the \pixcom{headsep} value (usually 25pt) \\ +\pixcom{tryfootskip} & sets the \pixcom{footskip} value (usually 30pt) \\ +\pixcom{trytextheight} & sets the \pixcom{textheight} value (usually 36--43 times the \pixcom{baselineskip}) \\ +\pixcom{trytextwidth} & sets the \pixcom{textwidth} value (usually 345--390pt) \\ +\pixcom{trycolumnsep} & sets the \pixcom{columnsep} value (usually 10pt) \\ +\pixcom{trycolumnseprule} & sets the \pixcom{columnseprule} value (usually 0pt) \\ +\hline +\end{tabular} +\end{table} + + There are a set of commands for experimenting with the page layout +parameters. They are listed in \tref{tab:tpage}. Each of these commands +takes one argument which is a length value. There is, in addition, an odd +command, +\pixcom{setfootbox}\verb|{|\meta{height}\verb|}{|\meta{depth}\verb|}|, +which may be used +to specify the expected \meta{height} and \meta{depth} of the footer. Footers +are typically a single line but may require more space than that. Note that +there is no way to actually specify the vertical size of the footer in LaTeX, +which will use as much space as it needs. If a footer is given a \meta{depth} +then a dashed line is drawn at \pixcom{footskip} below the main text box. + + The following code provides an example of the use of some of these +commands when trying an experimental page layout. The result is shown +in \fref{fig:pudf}. Note that +\pixcom{currentpage} is used to initialize all the appropriate +parameter values before setting any trial values. +\begin{verbatim} +\begin{figure} +\currentpage +\trypaperwidth{11in} +\trypaperheight{8.5in} +\trytextwidth{500pt} +\trycolumnsep{40pt} +\trycolumnseprule{3pt} +\tryhoffset{-0.5in} +\tryvoffset{0.5in} +\printheadingsfalse +\drawdimensionstrue +\twocolumnlayouttrue +\pagedesign +\caption{An experimental page layout}\label{fig:pudf} +\end{figure} +\end{verbatim} + +\begin{figure} +\currentpage +\trypaperwidth{11in} +\trypaperheight{8.5in} +\trytextwidth{500pt} +\trycolumnsep{40pt} +\trycolumnseprule{3pt} +\tryhoffset{-0.5in} +\tryvoffset{0.5in} +\printheadingsfalse +\drawdimensionstrue +\twocolumnlayouttrue +%\drawparametersfalse \drawpage +\pagedesign +\caption{An experimental page layout}\label{fig:pudf} +\end{figure} + + As can be seen, the resulting layout runs off the bottom of the +specified physical page; either because the page dimensions were incorrectly +set (the designer getting a landscape page when a portrait page was desired), +or because the text height and width parameters were set incorrectly +for the physical page (probably +satisfactory for a portrait page but certainly wrong for the landscape page). + + Note that \pixcom{printheadingsfalse} was used to delete the +explanatory heading text, and dimensions were drawn because of +\pixcom{drawdimensionstrue}. + +\clearpage + +\subsection{Changing the page layout in your document} + + You can only specify the page layout in a document's preamble. That is, +it is set by the class, or by a package or per document via code you write +in the preamble. To be on the safe side and avoid strange error messages +like \texttt{You can't use `\bs spacefactor'\ixcom{spacefactor} +in vertical mode}, enclose all +your preamble commands within the command pair \pixcom{makeatletter} +and \pixcom{makeatother}. + + The page layout parameters can all be changed using the \LaTeX{} +\pixcom{setlength} command. For example, to set the width of the text to +3~inches, put this into the preamble: +\begin{verbatim} +\makeatletter +\setlength{\textwidth}{3in} +\makeatother +\end{verbatim} + + + The \pixcom{pagevalues} command can be used to produce a table, +as shown here, of the values of the current document's page layout +parameters. This is the default tabulation. + +\begin{verbatim} +\pagevalues +\end{verbatim} + +\pagevalues + +\begin{quote} +\textbf{Note:} Prior to version 2.5 the tabulations were set in a +\pixenv{center} environment. +Starting with version 2.5 there is no surrounding environment. +\end{quote} + +%%%%%%%%%%%%%%% +\clearpage +\section{The \file{memoir} class page layout} +\suppressfloats[t] + +%%\drawmarginparsfalse + + The \file{memoir} class~\cite{MEMOIR} provides a different set +of page layout parameters than the standard LaTeX classes. + + The layout of a single page for this class is produced by the +\pixcom{stockdiagram} and \pixcom{stockdesign} (or \pixcom{drawstock}) +commands. The kind of page drawn is +specified via the same control commands that are used by +the page drawing commands. That is: \\ +\pcom{oddpagelayout}\TF, \\ +\pcom{twocolumnlayout}\TF, \\ +\pcom{drawmarginpars}\TF, \\ +\pcom{reversemarginpar}\TF, and \\ +\pcom{marginparswitch}\TF. + + Generally speaking, the commands for displaying and experimenting +with the layout of a \file{memoir} +class page are the same as, or analagous to, those for a standard page +layout. + + As an example, \fref{fig:mempplt} is produced by the following code. +\begin{verbatim} +\begin{figure} +\oddpagelayouttrue +\twocolumnlayoutfalse +\stockdiagram +\caption{Right-hand page major layout parameters for + the \file{memoir} class} \label{fig:mempplt} +\end{figure} +\end{verbatim} + +\begin{figure} +\oddpagelayouttrue +\twocolumnlayoutfalse +%\drawmarginparsfalse \drawstock +\stockdiagram +\caption{Right-hand page major layout parameters for + the \file{memoir} class} \label{fig:mempplt} +\end{figure} + + + Like the \pixcom{currentpage} command, \pixcom{currentstock} collects +together the page parameter +settings for the current \file{memoir} class document. + + For information on how to design a page layout the class +documentation provides all the details~\cite{MEMOIR} (and uses the +\file{layouts} package to illustrate them). + +\begin{table} +\centering +\caption{Commands for setting trial \file{memoir} page parameters}\label{tab:tmempage} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{trystockwidth} & sets the \pixcom{stockwidth} value \\ +\pixcom{trystockheight} & sets the \pixcom{stockheight} value \\ +\pixcom{trypaperwidth} & sets the \pixcom{paperwidth} value \\ +\pixcom{trypaperheight} & sets the \pixcom{paperheight} value \\ +\pixcom{trytrimedge} & sets the \pixcom{trimedge} value \\ +\pixcom{trytrimtop} & sets the \pixcom{trimtop} value \\ +\pixcom{tryspinemargin} & sets the \pixcom{spinemargin} (usually 21--63pt) \\ +\pixcom{trymarginparwidth} & sets the \pixcom{marginparwidth} value (usually 68--107pt) \\ +\pixcom{trymarginparsep} & sets the \pixcom{marginparsep} value (usually 10--11pt) \\ +\pixcom{trymarginparpush} & sets the \pixcom{marginparpush} value (usually 5--7pt) \\ +\pixcom{tryuppermargin} & sets the \pixcom{uppermargin} value (usually 27pt) \\ +\pixcom{tryheadheight} & sets the \pixcom{headheight} value (usually 12pt) \\ +\pixcom{tryheadsep} & sets the \pixcom{headsep} value (usually 25pt) \\ +\pixcom{tryfootskip} & sets the \pixcom{footskip} value (usually 30pt) \\ +\pixcom{trytextheight} & sets the \pixcom{textheight} value (usually 36--43 times the \pixcom{baselineskip}) \\ +\pixcom{trytextwidth} & sets the \pixcom{textwidth} value (usually 345--390pt) \\ +\pixcom{trycolumnsep} & sets the \pixcom{columnsep} value (usually 10pt) \\ +\pixcom{trycolumnseprule} & sets the \pixcom{columnseprule} value (usually 0pt) \\ +\hline +\end{tabular} +\end{table} + + There are a set of commands for experimenting with the page layout +parameters. They are listed in \tref{tab:tmempage}. Each of these commands +takes one argument which is a length value. The \pixcom{setfootbox} command +may be used as well. + + The following code provides an example of the use of some of these +commands when trying an experimental page layout. The result is shown +in \fref{fig:pmemudf}. +\begin{verbatim} +\begin{figure} +\currentstock +\trystockheight{11in} +\trystockwidth{8.5in} +\trytrimtop{1in} +\trytrimedge{1in} +\trypaperheight{10in} +\trypaperwidth{7.5in} +\tryspinemargin{0.75in} +\tryuppermargin{1.0in} +\tryheadheight{12pt} +\tryheadsep{24pt} +\trytextwidth{5in} +\trytextheight{7in} +\tryfootskip{24pt} +\setfootbox{50pt}{50pt} +\trymarginparsep{17pt} +\trymarginparwidth{62pt} +\trymarginparpush{12pt} +\setlabelfont{\small} +\stockdesign +\caption{An experimental \file{memoir} class page layout}\label{fig:pmemudf} +\end{figure} +\end{verbatim} + +\begin{figure} +\currentstock +\trystockheight{11in} +\trystockwidth{8.5in} +\trytrimtop{1in} +\trytrimedge{1in} +\trypaperheight{10in} +\trypaperwidth{7.5in} +\tryspinemargin{0.75in} +\tryuppermargin{1.0in} +\tryheadheight{12pt} +\tryheadsep{24pt} +\trytextwidth{5in} +\trytextheight{7in} +\tryfootskip{24pt} +\setfootbox{50pt}{50pt} +\trymarginparsep{17pt} +\trymarginparwidth{62pt} +\trymarginparpush{12pt} +\printheadingsfalse +%%\twocolumnlayouttrue +%%\oddpagelayoutfalse +\setlabelfont{\small} +%\drawparametersfalse \drawstock +\stockdesign +\caption{An experimental \file{memoir} class page layout}\label{fig:pmemudf} +\end{figure} + + There is also a \pixcom{stockvalues} command to print a tabulation of the +current stock specifications. +% As this manual does not use the \file{memoir} +% class, calling it would only result in errors. + + +%%%%%%%%%% +\clearpage +\section{Paragraph layout} +\suppressfloats[t] + + The commands \pixcom{paragraphdiagram} and \pixcom{paragraphdesign} +(or \pixcom{drawparagraph} ) +can be used to visualize the parameters +that affect paragraphing. This is illustrated in \fref{fig:fpara} which +was produced by the following code: +\begin{verbatim} +\begin{figure} +\paragraphdiagram +\caption{Paragraph parameters}\label{fig:fpara} +\end{figure} +\end{verbatim} + +\begin{figure} +%\drawparagraph +\paragraphdiagram +\caption{Paragraph parameters}\label{fig:fpara} +\end{figure} + + The command \verb|\currentparagraph|\ixcom{currentparagraph} sets the +drawing parameters to the settings for the current document. The commands +listed in \tref{tab:para} can be used to set trial values for the +relevant parameters. These commands take one argument which must be a length. + +\begin{table} +\centering +\caption{Commands for setting trial paragraph parameters}\label{tab:para} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{tryparindent} & sets the \pixcom{parindent} value \\ +\pixcom{tryparskip} & sets the \pixcom{parskip} value \\ +\pixcom{tryparlinewidth} & sets the \pixcom{linewidth} value \\ +\pixcom{tryparbaselineskip} & sets the \pixcom{baselineskip} value \\ \hline +\end{tabular} +\end{table} + + Figure~\ref{fig:dpara} shows the paragraphing as used in this document. +It was produced with this code: +\begin{verbatim} +\currentparagraph +\begin{figure} +\paragraphdesign +\caption{Paragraphs in this document}\label{fig:dpara} +\end{figure} +\end{verbatim} + +\currentparagraph +\begin{figure} +%\drawparametersfalse \drawparagraph +\paragraphdesign +\caption{Paragraphs in this document}\label{fig:dpara} +\end{figure} + +\currentparagraph +\begin{figure} +\tryparindent{-4em} +%\drawparametersfalse \drawparagraph +\paragraphdesign +\caption{An outset paragraph}\label{fig:mpara} +\end{figure} + + Interestingly, I found that \LaTeX{} is happy even if \pixcom{parindent} +is set to a negative value. It isn't demonstrated in this typescript but +you can see the effect in \fref{fig:mpara} which was produced from: +\begin{verbatim} +\currentparagraph +\begin{figure} +\tryparindent{-4em} +\paragraphdesign +\caption{An outset paragraph}\label{fig:mpara} +\end{figure} +\end{verbatim} + + The \pixcom{paragraphvalues} command can be used to produce a table, +shown below, of the values of the current document's paragraph layout +parameters (as set at the time that the command is used). The tabulation +was typeset via +\begin{verbatim} +\begin{center} +\printinunitsof{mm} +\paragraphvalues +\end{center} +\end{verbatim} +Note the use of \pixcom{printinunitsof} to set millimetres as the unit of +length. + +\begin{center} +\printinunitsof{mm} +\paragraphvalues +\end{center} + + +%%%%%%%%% +\clearpage +\section{Float layouts} +\suppressfloats[t] + + Two sets of commands are provided for displaying the layouts of +\LaTeX{} floats (e.g., the \pixenv{figure} and \pixenv{table} environments). +One set is for a macro view of floats and the other is for a more +detailed view. + +\subsection{Float and text page layout} + + This set of commands is for displaying the general parameters for +the location of floats on a page and proportioning the available space +between the floats and textual material. + + The commands \pixcom{floatpagediagram} and \pixcom{floatpagedesign} +(or \pixcom{drawfloatpage}) are used to visualize the general +parameters. These are illustrated in \fref{fig:fpp} which was produced +by the following code: +\begin{verbatim} +\begin{figure} +\floatpagediagram +\caption{Float and text page parameters}\label{fig:fpp} +\end{figure} +\end{verbatim} + +\begin{figure} +%\drawfloatpage +\floatpagediagram +\caption{Float and text page parameters}\label{fig:fpp} +\end{figure} + + The command \pixcom{currentfloatpage} sets the drawing parameters to the +settings for the current document. The `standard' \LaTeX{} settings are +shown in \fref{fig:fpstd}, produced by the code below. +\begin{verbatim} +\begin{figure} +\currentfloatpage +\trytotalnumber{3} +\trytopnumber{2} +\trytopfraction{0.7} +\trytextfraction{0.2} +\trybottomfraction{0.3} +\trybottomnumber{1} +\setlayoutscale{0.25} +\floatpagedesign +\caption{The standard \LaTeX{} float and text page settings} +\label{fig:fpstd} +\end{figure} +\end{verbatim} + +\begin{figure} +\currentfloatpage +\trytotalnumber{3} +\trytopnumber{2} +\trytopfraction{0.7} +\trytextfraction{0.2} +\trybottomfraction{0.3} +\trybottomnumber{1} +\setlayoutscale{0.25} +%\drawparametersfalse \drawfloatpage +\floatpagedesign +\caption{The standard \LaTeX{} float and text page settings} +\label{fig:fpstd} +\end{figure} + + The commands listed in \tref{tab:tfloatp} can be used to set trial values +for the relevant parameters. The commands take one argument, which is either +an integer number or a decimal fraction, depending on the particular command. + +\begin{table} +\centering +\caption{Commands for setting trial float page parameters}\label{tab:tfloatp} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{trytotalnumber} & (integer) sets the \pixcom{totalnumber} (usually 3) \\ +\pixcom{trytopnumber} & (integer) sets the \pixcom{topnumber} (usually 2) \\ +\pixcom{trytopfraction} & (decimal) sets the \pixcom{topfraction} (usually 0.7) \\ +\pixcom{trytextfraction} & (decimal) sets the \pixcom{textfraction} (usually 0.2) \\ +\pixcom{trybottomnumber} & (integer) sets the \pixcom{bottomnumber} (usually 1) \\ +\pixcom{trybottomfraction} & (decimal) sets the \pixcom{bottomfraction} (usually 0.3) \\ +\hline +\end{tabular} +\end{table} + +\begin{figure} +\currentfloatpage +\trytotalnumber{4} +\trytopnumber{2} +\trytopfraction{0.9} +\trytextfraction{0.1} +\trybottomnumber{2} +\trybottomfraction{0.6} +\setlayoutscale{0.25} +%\drawparametersfalse \drawfloatpage +\floatpagedesign +\caption{Float page layout for decreasing likelihood of float-only pages} +\label{fig:fpudf} +\end{figure} + + Figure~\ref{fig:fpudf} illustrates float page settings that increase +the likelihood of a float remaining on a text page without being put on +a page by itself. The figure was produced from the following code: +\begin{verbatim} +\begin{figure} +\currentfloatpage +\trytotalnumber{4} +\trytopnumber{2} +\trytopfraction{0.9} +\trytextfraction{0.1} +\trybottomnumber{2} +\trybottomfraction{0.6} +\setlayoutscale{0.25} +\floatpagedesign +\caption{Float page layout for decreasing likelihood of float-only pages} +\label{fig:fpudf} +\end{figure} +\end{verbatim} + + +%%%%%%%%% +%%%%\clearpage +\subsection{Detailed float layout} +\suppressfloats[t] + + The other view of floats concentrates on the spacing between text and +floats on a page. The \pixcom{floatdiagram} and \pixcom{floatdesign} +(or \pixcom{drawfloat}) commands are used to visualize this +aspect. + + The relevant parameters are shown in \fref{fig:flp}, produced from the +following code: +\begin{verbatim} +\begin{figure} +\setlayoutscale{0.9} +\floatdiagram +\caption{Float parameters}\label{fig:flp} +\end{figure} +\end{verbatim} + +\begin{figure} +\setlayoutscale{0.9} +%\drawfloat +\floatdiagram +\caption{Float parameters}\label{fig:flp} +\end{figure} + + As usual, the command \pixcom{currentfloat} sets the trial float parameters +to those in effect for the current document. + +\begin{figure} +\currentfloat +\tryintextsep{\intextsep} +\trytopfigrule{0.5pt} +\trybotfigrule{1pt} +\setlayoutscale{0.9} +%\drawparametersfalse \drawfloat +\floatdesign +\caption{Float layout with rules}\label{fig:fludf} +\end{figure} + + The commands listed in \tref{tab:tfloat}, all of which take a length +argument, set trial values for the float parameters. + +\begin{table} +\centering +\caption{Commands for setting trial float parameters}\label{tab:tfloat} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{trytextfloatsep} & sets the \pixcom{textfloatsep} value (usually 20pt) \\ +\pixcom{tryfloatsep} & sets the \pixcom{floatsep} value (usually 12pt) \\ +\pixcom{tryintextsep} & sets the \pixcom{intextsep} value (usually 12pt) \\ +\pixcom{trytopfigrule} & sets the thickness of a \pixcom{topfigrule} (usually 0pt) \\ +\pixcom{trybotfigrule} & sets the thickness of a \pixcom{botfigrule} (usually 0pt) \\ +\hline +\end{tabular} +\end{table} + + The following code, used to produce \fref{fig:fludf}, shows the use of +some of these commands: +\begin{verbatim} +\begin{figure} +\currentfloat +\tryintextsep{\intextsep} +\trytopfigrule{0.5pt} +\trybotfigrule{1pt} +\setlayoutscale{0.9} +\floatdesign +\caption{Float layout with rules}\label{fig:fludf} +\end{figure} +\end{verbatim} + + The \pixcom{topfigrule} and \pixcom{botfigrule} are little known \LaTeX{} +commands; they are not discussed by Lamport~\cite{LAMPORT94} +but are described by Goossens \emph{et al}~\cite{GOOSSENS94}. They are +like the \pixcom{footnoterule} command in that they draw a rule, or other +decoration, below floats at the top of a page (\pixcom{topfigrule}) and +above floats at the bottom of a page (\pixcom{botfigrule}). Both these +commands have been defined in the preamble to this document as: +\begin{verbatim} +\makeatletter +\newlength{\figrulesep} +\setlength{\figrulesep}{0.5\textfloatsep} +\newcommand{\topfigrule}{\vspace*{-1pt}% + \noindent\rule[-\figrulesep]{\columnwidth}{1pt}} +\newcommand{\botfigrule}{\vspace*{-2pt}% + \noindent\rule[\figrulesep]{\columnwidth}{2pt}} +\makeatother +\end{verbatim} +Their effect can be seen throughout the printed result. The typical thickness +for a \pixcom{rule} is $0.4$pt; the thickness of these rules has been +exagerated in order to make them more noticeable. The \pixcom{topfigrule} +is drawn immediately after the top floats before the \pixcom{textfloatsep} +spacing is applied. Similarly the \pixcom{botfigrule} is drawn after +the \pixcom{textfloatsep} is applied for the bottom floats. Whatever is +drawn as a \texttt{...figrule} should take no vertical space, hence the +use of negative vertical space in their definitions above. Note that the +rules have been given either positive or negative vertical offsets to ensure +some space between a float and the rule. + +\subsection{Changing the float layout in your document} + + The \verb|\...number| commands are changed with the \LaTeX{} +\pixcom{setcounter} command, while the \verb|\...fraction| commands +have to be changed via the \pixcom{renewcommand}. For example, the preamble +to this document contains the following (enclosed within +\pixcom{makeatletter} and \pixcom{makeatother} commands): +\begin{verbatim} +\setcounter{topnumber}{2} +\setcounter{bottomnumber}{2} +\setcounter{totalnumber}{4} +\renewcommand{\topfraction}{0.9} +\renewcommand{\bottomfraction}{0.6} +\renewcommand{\textfraction}{0.1} +\end{verbatim} + + Note that there are also the commands: +\begin{itemize} +\item \pixcom{dbltopnumber} for setting the maximum number of two-column + floats at the top of a two-column page (typically 2); +\item \pixcom{dbltopfraction} for setting the maximum fraction of a + two column page that can be occupied by the top two-column floats + (typically 0.7); and +\item \pixcom{dblfloatpagefraction} for setting the minimum fraction of + a page that has to be occupied by two-column floats before a `float + only' page is produced (typically 0.5). +\end{itemize} + + The \verb|\...sep| commands are changed using the \pixcom{setlength} +command. The separation values should have a little bit of give in them, +that is, they should be rubber lengths. +A typical set of values might be specified as: +\begin{verbatim} +\setlength{\floatsep}{12pt plus 2pt minus 2pt} +\setlength{\textfloatsep}{20pt plus 2pt minus 4pt} +\setlength{\intextsep}{\floatsep} +\end{verbatim} +There are corresponding separation commands for two-column floats at the +top or bottom of a page. These are \pixcom{dblfloatsep} for inter-float +separation and \pixcom{dbltextfloatsep} for spacing between a two-column +float and the text area. + + + +\floatvalues + + The \pixcom{floatvalues} command can be used to produce a table, +as shown here, of the values of the current document's float layout +parameters (as set at the time that the command is used). + + +%%%%%% +\clearpage +\section{List layout} +\suppressfloats[t] + + The commands \pixcom{listdiagram} and \pixcom{listdesign} +(or \pixcom{drawlist}), as their names suggest, display the layout +of list\ixenv{list} environments. +The list parameters are shown in \fref{fig:lstp}, +which was produced by the following code: +\begin{verbatim} +\begin{figure} +\listdiagram +\caption{List parameters} \label{fig:lstp} +\end{figure} +\end{verbatim} + + The list layout may be controlled by the \verb|\listaspara|\TF{} commands. +Use \pixcom{listasparatrue} for displaying the list when it is being +treated as a paragraph, +otherwise use \pixcom{listasparafalse}. The default is \pixcom{listasparatrue}. + +\begin{figure} +%\drawlist +\listdiagram +\caption{List parameters} \label{fig:lstp} +\end{figure} + + The command \pixcom{currentlist} extracts the list parameters from the +current environment for display via \pixcom{drawlist}. Figure~\ref{fig:lstenum} +graphically illustrates the layout for an \pixenv{enumerate} + type list. +The figure was generated by the following code: +\begin{verbatim} +\begin{enumerate} +\item Figure~\ref{fig:lstenum} illustrates the layout of an + \texttt{enumerate} list. + \currentlist + \begin{figure} + \listdesign + \caption{Layout of an \texttt{enumerate} list} \label{fig:lstenum} + \end{figure} +\end{enumerate} +\end{verbatim} + +\begin{enumerate} +\item Figure~\ref{fig:lstenum} illustrates the layout of an + \texttt{enumerate} list. + \currentlist + \begin{figure} +% \drawparametersfalse \drawlist + \listdesign + \caption{Layout of an \texttt{enumerate} list} \label{fig:lstenum} + \end{figure} +\end{enumerate} + Note that \pixcom{currentlist} was called within the list environment in +order to pick up the desired parameter values. + + Table~\ref{tab:tlist} gives a listing of the commands that are provided +for experimenting with the list layout parameters. Each of these commands +takes a length as its argument. + +\begin{table} +\centering +\caption{Commands for setting trial list parameters} \label{tab:tlist} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{tryitemindent} & sets the \pixcom{itemindent} value \\ +\pixcom{trylabelwidth} & sets the \pixcom{labelwidth} value \\ +\pixcom{trylabelsep} & sets the \pixcom{labelsep} value \\ +\pixcom{tryleftmargin} & sets the \pixcom{leftmargin} value \\ +\pixcom{tryrightmargin} & sets the \pixcom{rightmargin} value \\ +\pixcom{trylistparindent} & sets the \pixcom{listparindent} value \\ +\pixcom{trytopsep} & sets the \pixcom{topsep} value \\ +\pixcom{tryparskip} & sets the \pixcom{parskip} value \\ +\pixcom{trypartopsep} & sets the \pixcom{partopsep} value \\ +\pixcom{tryparsep} & sets the \pixcom{parsep} value \\ +\pixcom{tryitemsep} & sets the \pixcom{itemsep} value \\ +\hline +\end{tabular} +\end{table} + +\newenvironment{listX}% + {\begin{list}{item}% + {\setlength{\itemindent}{-30pt}% + \setlength{\labelwidth}{80pt}% + \setlength{\labelsep}{1em}% + \setlength{\leftmargin}{170pt}% + \setlength{\rightmargin}{-40pt}% + \setlength{\listparindent}{80pt}% + \setlength{\topsep}{3ex}% + \setlength{\partopsep}{\topsep}% + \setlength{\parsep}{\topsep}% + \setlength{\itemsep}{\topsep}% + }% + }% + {\end{list}} + + Figure~\ref{fig:lstudf} shows the layout of a user-defined list. +An example of the list as it would appear in a document is shown by the +list that follows this paragraph. + +\begin{listX} +\item[ListX, first item:] This is an example of a user-defined list. +The appearance is somewhat different from that normally seen in \LaTeX{} +lists. Note that the text extends into the normal right-hand margin. +Also, the body of the list text is indented from the label. + + No claim is made that there is anything aesthetic about the design +of the list. In fact, I think that it is pretty awful. It is merely +provided as an example of a non-standard list and so that the +\pixcom{drawlist} command can be shown off. + +\item[ListX, second item:] Now we will draw the layout of this list from +within itself (see \fref{fig:lstudf} for the result). The code used is: +\begin{verbatim} +\currentlist +\begin{figure} +\drawdimensionstrue +\listdesign +\caption{The layout of the \texttt{listX} environment} +\label{fig:lstudf} +\end{figure} +\end{verbatim} + +\currentlist +\begin{figure} +\drawdimensionstrue +%\drawparametersfalse \drawlist +\listdesign +\caption{The layout of the \texttt{listX} environment} +\label{fig:lstudf} +\end{figure} + +\item[ListX, third item:] The definition of this list environment is: +\begin{verbatim} +\newenvironment{listX}% + {\begin{list}{item}% + {\setlength{\itemindent}{-30pt}% + \setlength{\labelwidth}{80pt}% + \setlength{\labelsep}{1em}% + \setlength{\leftmargin}{170pt}% + \setlength{\rightmargin}{-40pt}% + \setlength{\listparindent}{80pt}% + \setlength{\topsep}{3ex}% + \setlength{\partopsep}{\topsep}% + \setlength{\parsep}{\topsep}% + \setlength{\itemsep}{\topsep}% + }% + }% + {\end{list}} +\end{verbatim} +\end{listX} + + In \LaTeX{} many display environments, such as the \pixenv{quotation} +environment, +are defined in terms of the generic \pixenv{list} environment, so +the settings for these may also be explored with \pixcom{currentlist}. + For example, the following code shows how to determine the `list' +settings for the \pixenv{thebibliography} +environment (with apologies to Leslie Lamport). +\begin{verbatim} +\begin{thebibliography}{Dillo 83} +\bibitem[Knud 66]{kn:gnus} D. E. Knudson. \emph{1996 World Gnus Almanac.} +\currentlist +\begin{figure} +\listdesign +\caption{Bibliography list} +\end{figure} +\end{thebibliography} +\end{verbatim} +Running this code is left as an exercise for the reader. + +\subsection{Changing lists} + + Many of \LaTeX's environments are defined in terms of lists, most +noticeably the \pixenv{description}, \pixenv{enumerate} and \pixenv{itemize} +environments. To change any of LaTeX's predefined list environments +it is probably best to examine their +definitions in the appropriate class file (e.g., \pixfile{classes.dtx}) and +then put your modified definitions into a package file. + +\begin{quote} +\printinunitsof{pc} +\listvalues +\end{quote} + + The \pixcom{listvalues} command can be used to produce a table, +as shown here, of the values of the current document's list layout +parameters (as set at the time that the command is used). +This table was produced by: +\begin{verbatim} +\begin{quote} +\printinunitsof{pc} +\listvalues +\end{quote} +\end{verbatim} + + + +%%%%%%%%%%%%%%%%%% +\clearpage +\section{Sectional heading layout} +\suppressfloats[t] + + In \LaTeX{} a few headings, like \pixcom{part} and \pixcom{chapter} +are defined using +special definition code. The majority, though, are defined via the internal +\LaTeX{} \pixatcom{startsection} +command. This command takes 6 arguments: \\ +\verb|\@startsection{|\meta{name}\verb|}{|% +\meta{level}\verb|}{|% +\meta{indent}\verb|}{|% +\meta{beforeskip}\verb|}{|% +\meta{afterskip}\verb|}{|% +\meta{font style}\verb|}|. + + The commands +\verb|\headingdiagram{|\meta{font style}\verb|}|\ixcom{headingdiagram} and +\verb|\headingdesign{|\meta{font style}\verb|}|\ixcom{headingdesign} +(or \verb|\drawheading{|\meta{font style}\verb|}|\ixcom{drawheading}) +draw a picture of the layout for sectional headings based on the +\pixatcom{startsection} command. Unlike the other +drawing commands it takes one parameter, which is the specification +of the size and/or font of the heading. For example, +\verb|\drawheading{\large\itshape}|. For \pixcom{headingdiagram} (or +\pixcom{drawheading} with \pixcom{drawparameterstrue} is +in effect) the parameter has no effect. + + There are two kinds of headings: +\begin{enumerate} +\item Display headings, where the heading is set off from the text body, and +\item Run-in headings, where the text body starts on the same line as +the heading. +\end{enumerate} +When \pixcom{headingdiagram} is called +(or \pixcom{drawheading} with \pixcom{drawparameterstrue} in effect) + the pair of commands \pixcom{runinheadtrue} and +\pixcom{runinheadfalse} control whether a run-in head or a display head +will be illustrated. The default is \pixcom{runinheadfalse}. + +%%%%%%%%%%%%%%%%%%%%%%% +%%\drawdimensionsfalse +%%%%%%%%%%%%%%%%%%%%%% + + Figures~\ref{fig:hdp} and~\ref{fig:hrp} show the parameters of the two +kinds of headings. They were produced by the following code: +\begin{verbatim} +\begin{figure} +\setlayoutscale{1} +\headingdiagram{ } +\caption{Display heading parameters}\label{fig:hdp} +\end{figure} + +\begin{figure} +\setlayoutscale{1} +\runinheadtrue +\headingdiagram{ } +\caption{Run-in heading parameters}\label{fig:hrp} +\end{figure} +\end{verbatim} + +\begin{figure} +\setlayoutscale{1} +%\drawheading{ } +\headingdiagram{ } +\caption{Display heading parameters}\label{fig:hdp} +\end{figure} + +\begin{figure} +\setlayoutscale{1} +\runinheadtrue +%\drawheading{ } +\headingdiagram{ } +\caption{Run-in heading parameters}\label{fig:hrp} +\end{figure} + + + The command \pixcom{currentheading} sets up default parameter values for +the illustration of a heading. These values are based on guesstimates +of the values of the arguments of the \pixatcom{startsection} +command. The commands given in \tref{tab:thead} +can be used to explicitly set heading parameters. Each of these commands +takes a length for its parameter value. + +\begin{table} +\centering +\caption{Commands for setting trial heading parameters}\label{tab:thead} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{trybeforeskip} & sets the \textit{beforeskip} value \\ +\pixcom{tryafterskip} & sets the \textit{afterskip} value \\ +\pixcom{tryindent} & sets the \textit{indent} value \\ +\hline +\end{tabular} +\end{table} + + The regular reader of \LaTeX{} documents will have noticed that the +\pixcom{subsubsection} headings in this manual do not conform to the +usual \LaTeX{} style. In fact, the preamble to this document contains +the following definition: +\begin{verbatim} +\makeatletter +\renewcommand{\subsubsection}{\@startsection% + {subsubsection}% name + {3}% level + {0mm}% indent + {-\baselineskip}% beforeskip + {0.5\baselineskip}% afterskip + {\large\itshape}}% style +\makeatother +\end{verbatim} +Note that the \pixcom{makeatletter} and \pixcom{makeatother} commands +are required because of the use of the \tat{} character in the +name of the \pixatcom{startsection} command. + +%%%%%%%%%%%%%%%%%%%%%%%% +%%\drawdimensionsfalse +%%%%%%%%%%%%%%%%%%%%%%% +\currentheading +\trybeforeskip{-\baselineskip} +\tryafterskip{0.5\baselineskip} +\tryindent{0mm} +\begin{figure} +\setlayoutscale{1} +%\drawparametersfalse \drawheading{\large\itshape} +\headingdesign{\large\itshape} +\caption{Subsubsection heading layout parameters for this document} +\label{fig:hdudf} +\end{figure} + + Figure~\ref{fig:hdudf} illustrates the layout for this heading, and was +produced by the code below. +\begin{verbatim} +\currentheading +\trybeforeskip{-\baselineskip} +\tryafterskip{0.5\baselineskip} +\tryindent{0mm} +\begin{figure} +\setlayoutscale{1} +\headingdesign{\large\itshape} +\caption{Subsubsection layout parameters for this document} +\label{fig:hdudf} +\end{figure} +\end{verbatim} + +\currentheading +\trybeforeskip{-\baselineskip} +\tryafterskip{-0.5\baselineskip} +\tryindent{0mm} +\begin{figure} +\setlayoutscale{1} +%\drawparametersfalse \drawheading{\large\itshape} +\headingdesign{\large\itshape} +\caption{Subsubsection layout parameters for a run-in heading} +\label{fig:hrudf} +\end{figure} + + The same heading, but specified as a run-in heading by making the +value of \textit{afterskip} negative rather than positive, is illustrated +in \fref{fig:hrudf}. + + + +%%%%%%%%%%%%%%%% +\clearpage +\section{Footnote layout} +\suppressfloats[t] + + Footnote layouts are produced by the commands +\pixcom{footnotediagram} and \pixcom{footnotedesign} +(or \pixcom{drawfootnote}). +The relevant footnote parameters are shown in \fref{fig:fp}, which was +produced by the following code: +\begin{verbatim} +\begin{figure} +\setlayoutscale{0.4} +\setlabelfont{\huge\itshape} +\footnotediagram +\caption{The footnote parameter layout} \label{fig:fp} +\end{figure} +\end{verbatim} +Note the use of \pixcom{setlabelfont} to change the font used for labelling +(the `MAIN TEXT' in this case). + +\begin{figure} +\setlayoutscale{0.4} +\setlabelfont{\huge\itshape} +%\drawfootnote +\footnotediagram +\caption{The footnote parameter layout} \label{fig:fp} +\end{figure} + + Some of the current settings for the footnote parameters are set +by the \pixcom{currentfootnote} command. Guesstimates are provided +for the likely value of the \pixcom{baselineskip} that is used within +a footnote, and also for the dimension of the footnote rule. + + Figure~\ref{fig:ftry} shows the default footnote layout, and was produced +by the following code: +\begin{verbatim} +\begin{figure} +\currentfootnote +\setlayoutscale{0.4} +\footnotedesign +\caption{The current footnote layout}\label{fig:ftry} +\end{figure} +\end{verbatim} +The resulting picture has all vertical dimensions magnified by a factor +of 4 with respect to the horizontal dimensions. + +\begin{figure} +\currentfootnote +\setlayoutscale{0.4} +%\drawparametersfalse \drawfootnote +\footnotedesign +\caption{A footnote layout}\label{fig:ftry} +\end{figure} + + Commands for individually setting trial values for footnote parameters +are given in \tref{tab:foot}. Except for \pixcom{tryfootrulefrac}, these all +take a length as their parameter. The parameter value for +\pixcom{tryfootrulefrac} is a decimal number representing a fraction of +the \pixcom{textwidth}. The trial length of the footnote rule is set to +this fraction of the width of the text block. + +\begin{table} +\centering +\caption{Commands for setting trial footnote parameter values}\label{tab:foot} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{tryfootins} & sets the \pixcom{skip}\pixcom{footins} value (usually 10pt) \\ +\pixcom{tryfootnotesep} & sets the \pixcom{footnotesep} value (usually 7pt) \\ +\pixcom{tryfootnotebaseline} & sets the footnote \pixcom{baselineskip} value \\ +\pixcom{tryfootruleheight} & sets the \pixcom{footnoterule} height value (usually 0.4pt) \\ +\pixcom{tryfootrulefrac} & sets the length of the \pixcom{footnoterule} \\ +\hline +\end{tabular} +\end{table} + +\begin{figure} +\currentfootnote +\tryfootins{10pt} +\tryfootnotesep{20pt} +\tryfootnotebaseline{15pt} +\tryfootruleheight{1pt} +\tryfootrulefrac{0.8} +\setlayoutscale{0.4} +%\drawparametersfalse \drawfootnote +\footnotedesign +\caption{A user-specified footnote layout} +\label{fig:fudf} +\end{figure} + + Figure~\ref{fig:fudf}, produced from the following code, shows an +experimental layout for footnotes. +\begin{verbatim} +\begin{figure} +\currentfootnote +\tryfootins{10pt} +\tryfootnotesep{20pt} +\tryfootnotebaseline{15pt} +\tryfootruleheight{1pt} +\tryfootrulefrac{0.8} +\setlayoutscale{0.4} +\footnotedesign +\caption{A user-specified footnote layout} +\label{fig:fudf} +\end{figure} +\end{verbatim} + +\subsection{Changing the footnote layout} + + The value of \pixcom{footnotesep} is changed via the \pixcom{setlength} +command. Spacing between the bottom of the text area and the first footnote +is normally a rubber length. The following is a typical set of values: +\begin{verbatim} +\setlength{\footnotesep}{7pt} +\setlength{\skip\footins}{10pt plus 4pt minus 2pt} +\end{verbatim} + + For changing other values, see the documented class file +\pixfile{classes.dtx}. + +\footnotevalues + + The \pixcom{footnotevalues} command can be used to produce a table, +as shown here, of the values of the current document's footnote layout +parameters (as set at the time that the command is used). + + + +%%%%%%%%%%%%%%% +\clearpage +\section{Table of Contents layout} +\suppressfloats[t] + + The format of an entry in the Table of Contents (ToC) is usually +specified by the internal \LaTeX{} \pixatcom{dottedtocline} command: \\ +\verb|\@dottedtocline{|% +\meta{level}\verb|}{|% +\meta{indent}\verb|}{|% +\meta{numwidth}\verb|}| \\ +where \meta{indent} and \meta{numwidth} relate to the formatting, and an +entry will be typeset only if \meta{level} is less than or equal to the +value of the \pixcount{tocdepth} counter. + + The \pixcom{tocdiagram} and \pixcom{tocdesign} (or \pixcom{drawtoc}) + commands are used for visualizing the layout of +section titles in a \textit{Table of Contents} listing based on the +\verb|\@dottedtocline| command, as shown in +\fref{fig:tocp}. This was produced by the following code: +\begin{verbatim} +\begin{figure} +\setlayoutscale{0.8} +\tocdiagram +\caption{Table of Contents entry parameters}\label{fig:tocp} +\end{figure} +\end{verbatim} + +\begin{figure} +\setlayoutscale{0.8} +%\drawtoc +\tocdiagram +\caption{Table of Contents entry parameters}\label{fig:tocp} +\end{figure} + +\begin{figure} +\setlayoutscale{0.8} +\currenttoc +%\drawparametersfalse \drawtoc +\tocdesign +\caption{Typical Table of Contents entry for this document} \label{fig:thistoc} +\end{figure} + + Figure~\ref{fig:thistoc} was produced by the following +code:\footnote{The drawing of the dotted leader is not completely accurate +due to scaling and rounding within the drawing algorithm.} +\begin{verbatim} +\begin{figure} +\setlayoutscale{0.8} +\currenttoc +\tocdesign +\caption{Typical Table of Contents entry for this document} \label{fig:thistoc} +\end{figure} +\end{verbatim} + + + The command \pixcom{currenttoc} sets values for the ToC parameters based +on those for the current document. The paramaters can all be individually +adjusted via the commands listed in \tref{tab:toc}. These commands all +require a length as their parameter, except for the \pixcom{trytocdotsep} +command which takes a number (integer or decimal) as its parameter value. +This sets the trial value for the separation between dots in the leader +between the sectional title and the page number. The parameter is the +separation value in \emph{mu} (math units).\footnote{There are \emph{18mu} +units to \emph{1em} unit.} + +\begin{table} +\centering +\caption{Commands for setting trial values for ToC parameters}\label{tab:toc} +\begin{tabular}{|l|l|} \hline +Command & Parameter \\ \hline +\pixcom{trytocindent} & sets the \textit{indent} value \\ +\pixcom{trytocnumwidth} & sets the \textit{numwidth} value \\ +\pixcom{trytoclinewidth} & sets the \pixcom{linewidth} value \\ +\pixcom{trytocrmarg} & sets the \pixatcom{tocrmarg} value \\ +\pixcom{trytocpnumwidth} & sets the \pixatcom{pnumwidth} value \\ +\pixcom{trytocdotsep} & sets the \pixatcom{dotsep} value \\ +\hline +\end{tabular} +\end{table} + +\begin{figure} +\setlayoutscale{0.8} +\currenttoc +\trytocdotsep{1000} +%\drawparametersfalse \drawtoc +\tocdesign +\caption{Table of Contents entry with a large value for \texttt{\bs @dotsep}} +\label{fig:tocudf} +\end{figure} + + Figure~\ref{fig:tocudf}, which was produced by the following code, +shows that the effect of having a large value for \pixatcom{dotsep} is to +eliminate the dotted leader line between the title text and the page number. +\begin{verbatim} +\begin{figure} +\setlayoutscale{0.8} +\currenttoc +\trytocdotsep{1000} +\tocdesign +\caption{Table of Contents entry with a large value for \texttt{\bs @dotsep}} +\label{fig:tocudf} +\end{figure} +\end{verbatim} + +\subsection{Changing the Table of Contents, etc} + + The methods of specifying the typesetting of the various entries in +a Table of Contents or a List of Figures (or Tables) varies from one kind +of entry to another. For details consult +the documented class specification file \pixfile{classes.dtx}. + + However, the \pixatcom{dotsep}, \pixatcom{pnumwidth} and +\pixatcom{tocrmarg} +values can all be set with the \pixcom{renewcommand}. For example, in the +preamble: +\begin{verbatim} +\makeatletter +\renewcommand{\@dotsep}{4.5} +\renewcommand{\@pnumwidth}{1.55em} +\renewcommand{\@tocrmarg}{2.55em} +\makeatother +\end{verbatim} + + Typically, for figure and table captions, and for sectioning commands +that are defined using the \pixatcom{startsection} command, +table entry typesetting is specified via an \verb|\l@X| command, where +\verb|X| is \verb|figure|, \verb|table|, \verb|subsection|, etc., as +appropriate. In turn, these commands call the \pixatcom{dottedtocline} +command. For example, to change the typesetting for a paragraph entry +in the Table of Contents, and for a table caption you should do something +like (changing the lengths as appropriate): +\begin{verbatim} +\makeatletter +\renewcommand*{\l@paragraph}{\@dottedtocline{4}{7em}{4em}} +\renewcommand*{\l@table}{\@dottedtocline{1}{0em}{3.0em}} +\makeatother +\end{verbatim} + + +\tocvalues + + The \pixcom{tocvalues} command can be used to produce a table, +as shown here, of the values of the current document's Table of Contents layout +parameters (as set at the time that the command is used). + +\clearpage +\section{Font boxing} + +\setlength{\unitlength}{1pt} + + Sometimes it is useful to see the size of the box enclosing some text. +Two commands are provided for this purpose. + + The \verb|\drawfontframe{|\meta{text}\verb|}|\ixcom{drawfontframe} + produces a drawing of +\meta{text} together with its surrounding box drawn. A bullet is placed +at the position of the reference point and a horizontal dotted line is drawn +along the baseline. The command can be used in normal mode +or can +be \verb|\put| in a picture environment. +\drawfontframe{\Huge\textbf{g}} +The framed g was produced by the following code: +\begin{verbatim} +\drawfontframe{\Huge\textbf{g}} +\end{verbatim} +The command places the box inside a \texttt{picture} environment that is just +big enough to enclose the box. + + Sometimes it is useful to see the size of the box enclosing some text. +Two commands are provided for this purpose. + + + + + + The \verb|\drawfontframelabel{|\meta{text}\verb|}|\ixcom{drawfontframelabel} + is similar, except +that it labels the reference point, and the width height and depth of the +box. The box is placed inside a picture environment that is just big enough +to enclose the box. This means that the labels extend beyond the +\texttt{picture}. If \verb|\printparameterstrue| is set before issuing the +command, the actual values for the width, height and depth of the box +are printed in a \texttt{center} environment following the drawing. + + Here is a simple example created by \verb|\drawfontframelabel{\Huge Q}| +with \verb|\printparametersfalse|. +\begin{center} +\printparametersfalse% +\drawfontframelabel{\Huge Q} +\end{center} + + This time with \verb|\printparameterstrue| and +\verb|\drawfontframelabel{\Huge\textbf{tangling}}| +\begin{center} +\printparameterstrue% +\drawfontframelabel{\Huge\textbf{tangling}} +\end{center} + + If either of the \verb|\drawfont...| commands are used inside a +\texttt{picture} environment, then the \verb|\unitlength| must be set +to 1pt, as the drawings are meant to be exact size and the commands +assume that all +drawing lengths are in terms of pts. + + Internally, the commands typeset their argument inside a `save box' called +\verb|\layoutsbox|\ixsbox{layoutsbox} and then perform the size +measurements on +\verb|\layoutsbox|. You can use \verb|\layoutsbox| for your own purposes, but if +you do so any subsequent use of a \verb|\drawfont...| command will +overwrite anything that you might have saved in \verb|\layoutsbox|. + + +%%\bibliography{refs,prw} +\begin{thebibliography}{GMS94} + +\bibitem[GMS94]{GOOSSENS94} +Michel Goossens, Frank Mittelbach, and Alexander Samarin. +\newblock \emph{The LaTeX Companion}. +\newblock Addison-Wesley Publishing Company, 1994. + +\bibitem[Lam94]{LAMPORT94} +Leslie Lamport. +\newblock \emph{LaTeX: A Document Preparation System}. +\newblock Addison-Wesley Publishing Company, second edition, 1994. + +\bibitem[McP88]{MCPHERSON88} +Kent McPherson. +\newblock `{Page Layout in LaTeX}'. +\newblock \emph{TUGboat}, 9(1):78--82, April 1988. + +\bibitem[Wil02]{MEMOIR} +Peter Wilson. +\newblock \emph{The memoir class for configurable book typesetting}. +\newblock November, 2002. +\newblock (Available from CTAN in + \texttt{macros/latex/contrib/memoir}) + +\end{thebibliography} + +\clearpage +%%%%%%%% THE INDEX +%\input{laymanidx} +%\end{document} + +% laymanidx.tex +% Generated by GenIndex Version 1.1 from layman.idx +% +\begin{theindex} + + + +\otherindexspace{?} +% ???? + + +\item \texttt {\bs \tat dotsep} \indexfill + 44--45 +\item \texttt {\bs \tat dottedtocline} \indexfill + 43, 46 +\item \texttt {\bs \tat pnumwidth} \indexfill + 44--45 +\item \texttt {\bs \tat startsection} \indexfill + 35, 37, 46 +\item \texttt {\bs \tat tocrmarg} \indexfill + 44--45 + +\alphaindexspace{B} +% BBBB + + +\item \texttt {\bs baselineskip} \indexfill + 2, 11, 16, 18, 39--40 +\item \texttt {\bs botfigrule} \indexfill + 25, 27 +\item \texttt {\bs bottomfraction} \indexfill + 22 +\item \texttt {\bs bottomnumber} \indexfill + 22 + +\alphaindexspace{C} +% CCCC + + +\item \texttt {center} (environment) \indexfill + 4, 13 +\item \texttt {\bs chapter} \indexfill + 35 +\item {\textsf {classes.dtx} (file)} \indexfill + 34, 42, 45 +\item \texttt {\bs columnsep} \indexfill + 11, 16 +\item \texttt {\bs columnseprule} \indexfill + 11, 16 +\item \texttt {\bs currentfloat} \indexfill + 24 +\item \texttt {\bs currentfloatpage} \indexfill + 21 +\item \texttt {\bs currentfootnote} \indexfill + 39 +\item \texttt {\bs currentheading} \indexfill + 35 +\item \texttt {\bs currentlist} \indexfill + 29, 34 +\item \texttt {\bs currentpage} \indexfill + 9, 14 +\item \texttt {\bs currentparagraph} \indexfill + 18 +\item \texttt {\bs currentstock} \indexfill + 14 +\item \texttt {\bs currenttoc} \indexfill + 44 + +\alphaindexspace{D} +% DDDD + + +\item \texttt {\bs dblfloatpagefraction} \indexfill + 28 +\item \texttt {\bs dblfloatsep} \indexfill + 28 +\item \texttt {\bs dbltextfloatsep} \indexfill + 28 +\item \texttt {\bs dbltopfraction} \indexfill + 28 +\item \texttt {\bs dbltopnumber} \indexfill + 28 +\item \texttt {description} (environment) \indexfill + 34 +\item \texttt {\bs drawaspread} \indexfill + 4, 6 +\item \texttt {\bs drawdimensionsfalse} \indexfill + 3 +\item \texttt {\bs drawdimensionstrue} \indexfill + 3, 11 +\item \texttt {\bs drawfloat} \indexfill + 24 +\item \texttt {\bs drawfloatpage} \indexfill + 21 +\item \texttt {\bs drawfontframe} \indexfill + 47 +\item \texttt {\bs drawfontframelabel} \indexfill + 47 +\item \texttt {\bs drawfootnote} \indexfill + 39 +\item \texttt {\bs drawheading} \indexfill + 35 +\item \texttt {\bs drawlist} \indexfill + 29, 32 +\item \texttt {\bs drawmarginparsfalse} \indexfill + 7 +\item \texttt {\bs drawmarginparstrue} \indexfill + 7 +\item \texttt {\bs drawpage} \indexfill + 7 +\item \texttt {\bs drawparagraph} \indexfill + 18 +\item \texttt {\bs drawparametersfalse} \indexfill + 2--3 +\item \texttt {\bs drawparameterstrue} \indexfill + 2, 35 +\item \texttt {\bs drawstock} \indexfill + 14 +\item \texttt {\bs drawtoc} \indexfill + 43 + +\alphaindexspace{E} +% EEEE + + +\item \texttt {enumerate} (environment) \indexfill + 29, 34 +\item \texttt {\bs evensidemargin} \indexfill + 11 + +\alphaindexspace{F} +% FFFF + + +\item \texttt {figure} (environment) \indexfill + 4, 21 +\item \texttt {\bs floatdesign} \indexfill + 24 +\item \texttt {\bs floatdiagram} \indexfill + 24 +\item \texttt {\bs floatpagedesign} \indexfill + 21 +\item \texttt {\bs floatpagediagram} \indexfill + 21 +\item \texttt {\bs floatsep} \indexfill + 25 +\item \texttt {\bs floatvalues} \indexfill + 28 +\item \texttt {\bs footins} \indexfill + 40 +\item \texttt {\bs footnotedesign} \indexfill + 39 +\item \texttt {\bs footnotediagram} \indexfill + 39 +\item \texttt {\bs footnoterule} \indexfill + 27, 40 +\item \texttt {\bs footnotesep} \indexfill + 40--41 +\item \texttt {\bs footnotesize} \indexfill + 1 +\item \texttt {\bs footnotevalues} \indexfill + 42 +\item \texttt {\bs footskip} \indexfill + 9, 11, 16 + +\alphaindexspace{H} +% HHHH + + +\item \texttt {\bs headheight} \indexfill + 11, 16 +\item \texttt {\bs headingdesign} \indexfill + 35 +\item \texttt {\bs headingdiagram} \indexfill + 35 +\item \texttt {\bs headsep} \indexfill + 11, 16 +\item \texttt {\bs hoffset} \indexfill + 11 + +\alphaindexspace{I} +% IIII + + +\item \texttt {\bs intextsep} \indexfill + 25 +\item \texttt {\bs itemindent} \indexfill + 31 +\item \texttt {itemize} (environment) \indexfill + 34 +\item \texttt {\bs itemsep} \indexfill + 31 + +\alphaindexspace{L} +% LLLL + + +\item \texttt {\bs labelsep} \indexfill + 31 +\item \texttt {\bs labelwidth} \indexfill + 31 +\item {\textsf {layout.sty} (file)} \indexfill + 1 +\item \texttt {layoutsbox} (save box) \indexfill + 47 +\item \texttt {\bs leftmargin} \indexfill + 31 +\item \texttt {\bs linewidth} \indexfill + 18, 44 +\item \texttt {list} (environment) \indexfill + 29, 34 +\item \texttt {\bs listasparafalse} \indexfill + 29 +\item \texttt {\bs listasparatrue} \indexfill + 29 +\item \texttt {\bs listdesign} \indexfill + 29 +\item \texttt {\bs listdiagram} \indexfill + 29 +\item \texttt {\bs listparindent} \indexfill + 31 +\item \texttt {\bs listvalues} \indexfill + 34 + +\alphaindexspace{M} +% MMMM + + +\item \texttt {\bs makeatletter} \indexfill + 13, 27, 37 +\item \texttt {\bs makeatother} \indexfill + 13, 27, 37 +\item \texttt {\bs marginparpush} \indexfill + 11, 16 +\item \texttt {\bs marginparsep} \indexfill + 11, 16 +\item \texttt {\bs marginparswitchfalse} \indexfill + 7 +\item \texttt {\bs marginparswitchtrue} \indexfill + 7 +\item \texttt {\bs marginparwidth} \indexfill + 11, 16 + +\alphaindexspace{N} +% NNNN + + +\item \texttt {\bs normalmarginpar} \indexfill + 7 + +\alphaindexspace{O} +% OOOO + + +\item \texttt {\bs oddpagelayoutfalse} \indexfill + 7 +\item \texttt {\bs oddpagelayouttrue} \indexfill + 7 +\item \texttt {\bs oddsidemargin} \indexfill + 11 + +\alphaindexspace{P} +% PPPP + + +\item \texttt {\bs pagedesign} \indexfill + 7 +\item \texttt {\bs pagediagram} \indexfill + 7 +\item \texttt {\bs pagevalues} \indexfill + 13 +\item \texttt {\bs paperheight} \indexfill + 9, 11, 16 +\item \texttt {\bs paperwidth} \indexfill + 9, 11, 16 +\item \texttt {\bs paragraphdesign} \indexfill + 18 +\item \texttt {\bs paragraphdiagram} \indexfill + 18 +\item \texttt {\bs paragraphvalues} \indexfill + 20 +\item \texttt {\bs parindent} \indexfill + 18, 20 +\item \texttt {\bs parsep} \indexfill + 31 +\item \texttt {\bs parskip} \indexfill + 2, 18, 31 +\item \texttt {\bs part} \indexfill + 35 +\item \texttt {\bs partopsep} \indexfill + 31 +\item \texttt {picture} (environment) \indexfill + 4 +\item \texttt {\bs printheadingsfalse} \indexfill + 1, 3, 11 +\item \texttt {\bs printheadingstrue} \indexfill + 1, 3 +\item \texttt {\bs printinunitsof} \indexfill + 3, 20 +\item \texttt {\bs printparametersfalse} \indexfill + 3 +\item \texttt {\bs printparameterstrue} \indexfill + 3 +\item \texttt {\bs prntlen} \indexfill + 3 + +\alphaindexspace{Q} +% QQQQ + + +\item \texttt {quotation} (environment) \indexfill + 34 + +\alphaindexspace{R} +% RRRR + + +\item \texttt {\bs renewcommand} \indexfill + 27, 45 +\item \texttt {\bs reversemarginpar} \indexfill + 7 +\item \texttt {\bs reversemarginparfalse} \indexfill + 7 +\item \texttt {\bs reversemarginpartrue} \indexfill + 7 +\item \texttt {\bs rightmargin} \indexfill + 31 +\item \texttt {\bs rule} \indexfill + 27 +\item \texttt {\bs runinheadfalse} \indexfill + 35 +\item \texttt {\bs runinheadtrue} \indexfill + 35 + +\alphaindexspace{S} +% SSSS + + +\item \texttt {\bs setcounter} \indexfill + 27 +\item \texttt {\bs setfootbox} \indexfill + 9, 14 +\item \texttt {\bs setlabelfont} \indexfill + 3, 39 +\item \texttt {\bs setlayoutscale} \indexfill + 2, 4, 6 +\item \texttt {\bs setlength} \indexfill + 13, 28, 41 +\item \texttt {\bs setparameterstextsize} \indexfill + 3 +\item \texttt {\bs setuplayouts} \indexfill + 2, 4 +\item \texttt {\bs setvaluestextsize} \indexfill + 1 +\item \texttt {\bs skip} \indexfill + 40 +\item \texttt {\bs spacefactor} \indexfill + 13 +\item \texttt {\bs spinemargin} \indexfill + 16 +\item \texttt {\bs stockdesign} \indexfill + 14 +\item \texttt {\bs stockdiagram} \indexfill + 14 +\item \texttt {\bs stockheight} \indexfill + 16 +\item \texttt {\bs stockvalues} \indexfill + 16 +\item \texttt {\bs stockwidth} \indexfill + 16 +\item \texttt {\bs subsubsection} \indexfill + 37 + +\alphaindexspace{T} +% TTTT + + +\item \texttt {table} (environment) \indexfill + 21 +\item \texttt {tabular} (environment) \indexfill + 4 +\item \texttt {\bs textfloatsep} \indexfill + 25, 27 +\item \texttt {\bs textfraction} \indexfill + 22 +\item \texttt {\bs textheight} \indexfill + 11, 16 +\item \texttt {\bs textwidth} \indexfill + 11, 16, 40 +\item \texttt {thebibliography} (environment) \indexfill + 34 +\item \texttt {tocdepth} (counter) \indexfill + 43 +\item \texttt {\bs tocdesign} \indexfill + 43 +\item \texttt {\bs tocdiagram} \indexfill + 43 +\item \texttt {\bs tocvalues} \indexfill + 46 +\item \texttt {\bs topfigrule} \indexfill + 25, 27 +\item \texttt {\bs topfraction} \indexfill + 22 +\item \texttt {\bs topmargin} \indexfill + 11 +\item \texttt {\bs topnumber} \indexfill + 22 +\item \texttt {\bs topsep} \indexfill + 31 +\item \texttt {\bs totalnumber} \indexfill + 22 +\item \texttt {\bs trimedge} \indexfill + 16 +\item \texttt {\bs trimtop} \indexfill + 16 +\item \texttt {\bs tryafterskip} \indexfill + 36 +\item \texttt {\bs trybeforeskip} \indexfill + 36 +\item \texttt {\bs trybotfigrule} \indexfill + 25 +\item \texttt {\bs trybottomfraction} \indexfill + 22 +\item \texttt {\bs trybottomnumber} \indexfill + 22 +\item \texttt {\bs trycolumnsep} \indexfill + 11, 16 +\item \texttt {\bs trycolumnseprule} \indexfill + 11, 16 +\item \texttt {\bs tryevensidemargin} \indexfill + 11 +\item \texttt {\bs tryfloatsep} \indexfill + 25 +\item \texttt {\bs tryfootins} \indexfill + 40 +\item \texttt {\bs tryfootnotebaseline} \indexfill + 40 +\item \texttt {\bs tryfootnotesep} \indexfill + 40 +\item \texttt {\bs tryfootrulefrac} \indexfill + 40 +\item \texttt {\bs tryfootruleheight} \indexfill + 40 +\item \texttt {\bs tryfootskip} \indexfill + 11, 16 +\item \texttt {\bs tryheadheight} \indexfill + 11, 16 +\item \texttt {\bs tryheadsep} \indexfill + 11, 16 +\item \texttt {\bs tryhoffset} \indexfill + 11 +\item \texttt {\bs tryindent} \indexfill + 36 +\item \texttt {\bs tryintextsep} \indexfill + 25 +\item \texttt {\bs tryitemindent} \indexfill + 31 +\item \texttt {\bs tryitemsep} \indexfill + 31 +\item \texttt {\bs trylabelsep} \indexfill + 31 +\item \texttt {\bs trylabelwidth} \indexfill + 31 +\item \texttt {\bs tryleftmargin} \indexfill + 31 +\item \texttt {\bs trylistparindent} \indexfill + 31 +\item \texttt {\bs trymarginparpush} \indexfill + 11, 16 +\item \texttt {\bs trymarginparsep} \indexfill + 11, 16 +\item \texttt {\bs trymarginparwidth} \indexfill + 11, 16 +\item \texttt {\bs tryoddsidemargin} \indexfill + 11 +\item \texttt {\bs trypaperheight} \indexfill + 11, 16 +\item \texttt {\bs trypaperwidth} \indexfill + 11, 16 +\item \texttt {\bs tryparbaselineskip} \indexfill + 18 +\item \texttt {\bs tryparindent} \indexfill + 18 +\item \texttt {\bs tryparlinewidth} \indexfill + 18 +\item \texttt {\bs tryparsep} \indexfill + 31 +\item \texttt {\bs tryparskip} \indexfill + 18, 31 +\item \texttt {\bs trypartopsep} \indexfill + 31 +\item \texttt {\bs tryrightmargin} \indexfill + 31 +\item \texttt {\bs tryspinemargin} \indexfill + 16 +\item \texttt {\bs trystockheight} \indexfill + 16 +\item \texttt {\bs trystockwidth} \indexfill + 16 +\item \texttt {\bs trytextfloatsep} \indexfill + 25 +\item \texttt {\bs trytextfraction} \indexfill + 22 +\item \texttt {\bs trytextheight} \indexfill + 11, 16 +\item \texttt {\bs trytextwidth} \indexfill + 11, 16 +\item \texttt {\bs trytocdotsep} \indexfill + 44 +\item \texttt {\bs trytocindent} \indexfill + 44 +\item \texttt {\bs trytoclinewidth} \indexfill + 44 +\item \texttt {\bs trytocnumwidth} \indexfill + 44 +\item \texttt {\bs trytocpnumwidth} \indexfill + 44 +\item \texttt {\bs trytocrmarg} \indexfill + 44 +\item \texttt {\bs trytopfigrule} \indexfill + 25 +\item \texttt {\bs trytopfraction} \indexfill + 22 +\item \texttt {\bs trytopmargin} \indexfill + 11 +\item \texttt {\bs trytopnumber} \indexfill + 22 +\item \texttt {\bs trytopsep} \indexfill + 31 +\item \texttt {\bs trytotalnumber} \indexfill + 22 +\item \texttt {\bs trytrimedge} \indexfill + 16 +\item \texttt {\bs trytrimtop} \indexfill + 16 +\item \texttt {\bs tryuppermargin} \indexfill + 16 +\item \texttt {\bs tryvoffset} \indexfill + 11 +\item \texttt {\bs twocolumnlayoutfalse} \indexfill + 7 +\item \texttt {\bs twocolumnlayouttrue} \indexfill + 7 + +\alphaindexspace{U} +% UUUU + + +\item \texttt {\bs uppermargin} \indexfill + 16 + +\alphaindexspace{V} +% VVVV + + +\item \texttt {\bs voffset} \indexfill + 11 + +\end{theindex} + + +\end{document} + diff --git a/Master/texmf-dist/source/latex/layouts/layouts.dtx b/Master/texmf-dist/source/latex/layouts/layouts.dtx index bca1485ea2b..54b8bdb7247 100644 --- a/Master/texmf-dist/source/latex/layouts/layouts.dtx +++ b/Master/texmf-dist/source/latex/layouts/layouts.dtx @@ -1,19 +1,17 @@ % \iffalse meta-comment % % layouts.dtx -% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net) -% Copyright 1998 --- 2004 Peter R. Wilson +% Author: Peter Wilson (Herries Press)) +% Maintainer: Will Robertson (will dot robertson at latex-project dot org) +% Copyright 1998--2004 Peter R. Wilson % % 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 -% 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. +% version 1.3c of this license or (at your option) any +% later version: % -% This work has the LPPL maintenance status "author-maintained". +% This work has the LPPL maintenance status "maintained". +% The Current Maintainer of this work is Will Robertson. % % This work consists of the files listed in the README file. % @@ -91,6 +89,7 @@ % \def\fileversion{v2.6a} \def\filedate{2002/12/12} % \def\fileversion{v2.6b} \def\filedate{2003/11/25} % \def\fileversion{v2.6c} \def\filedate{2004/10/25} +% \def\fileversion{v2.6d} \def\filedate{2009/09/02} % \newcommand*{\Lpack}[1]{\textsf {#1}} ^^A typeset a package % \newcommand*{\Lopt}[1]{\textsf {#1}} ^^A typeset an option % \newcommand*{\file}[1]{\texttt {#1}} ^^A typeset a file @@ -102,10 +101,10 @@ % file (\texttt{\dtxfile}) has version number \fileversion, last revised % \filedate.}} % -% \author{% -% Peter Wilson \\ -% Herries Press \\ -% (\texttt{herries.press@earthlink.net}) +% \author{ +% Author: Peter Wilson, Herries Press \\ +% Maintainer: Will Robertson \\ +% \texttt{will dot robertson at latex-project dot org} % } % \date{\filedate} % \maketitle @@ -167,7 +166,7 @@ % \begin{macrocode} %<*lays> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{layouts}[2004/10/25 v2.6c graphical depiction of document elements] +\ProvidesPackage{layouts}[2009/09/02 v2.6d graphical depiction of document elements] % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/layouts/layouts.ins b/Master/texmf-dist/source/latex/layouts/layouts.ins index 37d9472a956..c5dfd03a872 100644 --- a/Master/texmf-dist/source/latex/layouts/layouts.ins +++ b/Master/texmf-dist/source/latex/layouts/layouts.ins @@ -1,17 +1,15 @@ %% layouts.ins -%% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net -%% Copyright 1998 --- 2004 Peter R. Wilson +%% Author: Peter Wilson (Herries Press) +%% Maintainer: Will Robertson (will dot robertson at latex-project dot org) +%% Copyright 1998--2004 Peter R. Wilson %% %% 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 -%% 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. +%% version 1.3c of this license or (at your option) any +%% later version: %% -%% This work has the LPPL maintenance status "author-maintained". +%% This work has the LPPL maintenance status "maintained". +%% The Current Maintainer of this work is Will Robertson. %% %% This work consists of the files listed in the README file. %% @@ -27,33 +25,32 @@ \preamble ----------------------------------------------------------------- - Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net - Copyright 1998 --- 2004 Peter R. Wilson + Author: Peter Wilson (Herries Press) + Maintainer: Will Robertson (will dot robertson at latex-project dot org) + Copyright 1998--2004 Peter R. Wilson 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 - 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. - - This work has the LPPL maintenance status "author-maintained". + version 1.3c of this license or (at your option) any + later version: + + This work has the LPPL maintenance status "maintained". + The Current Maintainer of this work is Will Robertson. This work consists of the files listed in the README file. ----------------------------------------------------------------- \endpreamble +\askforoverwritefalse \keepsilent %%% \Msg{*** Generating the driver file ***} -%%% \generateFile{layouts.drv}{t}{\from{layouts.dtx}{driver}} +%%% \generate{\file{layouts.drv}{\from{layouts.dtx}{driver}}} \Msg{*** Generating the LaTeX2e package files ***} -\generateFile{layouts.sty}{t}{\from{layouts.dtx}{lays}} +\generate{\file{layouts.sty}{\from{layouts.dtx}{lays}}} \Msg{***********************************************************} \Msg{*} diff --git a/Master/texmf-dist/tex/latex/layouts/layouts.sty b/Master/texmf-dist/tex/latex/layouts/layouts.sty index 6caec41ade8..10b812322b0 100644 --- a/Master/texmf-dist/tex/latex/layouts/layouts.sty +++ b/Master/texmf-dist/tex/latex/layouts/layouts.sty @@ -7,25 +7,23 @@ %% layouts.dtx (with options: `lays') %% %% ----------------------------------------------------------------- -%% Author: Peter Wilson (Herries Press) herries dot press at earthlink dot net -%% Copyright 1998 --- 2004 Peter R. Wilson +%% Author: Peter Wilson (Herries Press) +%% Maintainer: Will Robertson (will dot robertson at latex-project dot org) +%% Copyright 1998--2004 Peter R. Wilson %% %% 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 -%% 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. +%% version 1.3c of this license or (at your option) any +%% later version: %% -%% This work has the LPPL maintenance status "author-maintained". +%% This work has the LPPL maintenance status "maintained". +%% The Current Maintainer of this work is Will Robertson. %% %% This work consists of the files listed in the README file. %% ----------------------------------------------------------------- %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{layouts}[2004/10/25 v2.6c graphical depiction of document elements] +\ProvidesPackage{layouts}[2009/09/02 v2.6d graphical depiction of document elements] \@ifundefined{bs}{\newcommand{\bs}{\texttt{\char`\\}}}% {\renewcommand{\bs}{\texttt{\char`\\}}} -- cgit v1.2.3