diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/canoniclayout/canoniclayout.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/canoniclayout/canoniclayout.dtx | 290 |
1 files changed, 192 insertions, 98 deletions
diff --git a/Master/texmf-dist/source/latex/canoniclayout/canoniclayout.dtx b/Master/texmf-dist/source/latex/canoniclayout/canoniclayout.dtx index cff4dc127dd..0855bd860ec 100644 --- a/Master/texmf-dist/source/latex/canoniclayout/canoniclayout.dtx +++ b/Master/texmf-dist/source/latex/canoniclayout/canoniclayout.dtx @@ -6,14 +6,14 @@ \preamble ______________________________________________________ The canoniclayout package for LaTeX - Copyright (C) 2010 Claudio Beccari + Copyright (C) 2010-2011 Claudio Beccari All rights reserved License information appended \endpreamble \postamble -Copyright 2010 Claudio Beccari +Copyright 2011 Claudio Beccari Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -42,11 +42,11 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. %<package>\NeedsTeXFormat{LaTeX2e}[2009/01/01] %<package>\ProvidesPackage{canoniclayout}% %<*package> - [2010/12/04 v.0.2 Canonic layout circumscribed to a circle] + [2011/11/05 v.0.3 Canonic layout circumscribed to a circle] %</package> %<*driver> -\documentclass{ltxdoc} -\paperwidth=220mm\paperheight=280mm +\documentclass[a4paper]{ltxdoc} +\paperwidth=210mm\paperheight=297mm \pdfpagewidth=\paperwidth \pdfpageheight=\paperheight \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} @@ -56,26 +56,32 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. \usepackage{amsmath,array,booktabs} \usepackage{pict2e}[2009/06/01]% \usepackage{color} +\usepackage{canoniclayout} \hfuzz 10pt -%\makeatletter + \newcommand*\class[1]{\textsf{#1}} \newcommand*\pack[1]{\textsf{#1}} \newcommand*\prog[1]{\textsl{#1}} \newcommand*\file[1]{\texttt{#1}} \definecolor{grigio}{gray}{.75} + \makeatletter -\def\ps@title{\ps@plain -\def\@oddhead{\dimen256=\dimexpr\headheight+\topmargin+1in-\paperheight\relax -\dimen258=\dimexpr\oddsidemargin+1in\relax +\def\cblayoutdestro{\dimen256=\dimexpr\headheight+\topmargin+1in-\paperheight\relax +\dimen258=\dimexpr\oddsidemargin+1in\relax +\dimen262=1mm\relax +\dimen260=\dimexpr \paperwidth*\p@/\dimen262\relax +\dimen264=\dimexpr \paperheight-\topmargin-\headheight-1in-\headsep-\textheight\relax \begin{picture}(0,0)(\strip@pt\dimen258,-\strip@pt\dimen256) -\put(0,0){\unitlength=\dimexpr\paperwidth/220\relax % rounded expression -\let\ul\unitlength -\put(0,0){\framebox(220,280){}} +\put(0,0){\unitlength=\p@ +\put(0,0){\framebox(\strip@pt\paperwidth,\strip@pt\paperheight){}} \color{red} -\put(20.742,33.6){\makebox(0,0)[bl]{\color{grigio}\rule{172.86\ul}{220\ul}}} -\put(110,143.6){\circle{220}} - \Line(0,280)(220,0)} +\put(\strip@pt\dimen258,\strip@pt\dimen264){\makebox(0,0)[bl]{\color{grigio}\rule{\textwidth}{\textheight}}} + \Line(0,\strip@pt\paperheight)(\strip@pt\paperwidth,0) + \put(\strip@pt\dimexpr\paperwidth/2\relax,\strip@pt\dimexpr\dimen264+\textheight/2\relax){\circle{\strip@pt\paperwidth}} +} \end{picture}} +\def\ps@title{\ps@plain +\def\@oddhead{\cblayoutdestro} \let\@evenhead\@oddhead} \allowdisplaybreaks \begin{document} @@ -89,24 +95,21 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. %</driver> % \fi % -% \CheckSum{115} +% \CheckSum{211} % \begin{abstract} -% This package is a small extension to the memoir class that allows to determine the page +% This package is a small extension that allows to determine the page % parameters for a canonical layout where the text block is placed onto the page in such a -% way as: $(a)$ its diagonal coincides with the page relevant diagonal, and $(b)$ the +% way as: $(a)$ its diagonal coincides with the page relevant diagonal, and $(b)$ the % circle inscribed within the text block is also tangent to the page sides. The text % block width to height ratio is kept equal to the page ratio, as well as the inner to -% outer and the top to bottom margin ratios. +% outer and the upper to lower margin ratios. % % The canonical layout determined by this package is laid down on this very page; of -% course the actual text block does not fit the text block grid, because this -% documentation is typeset by means of the \texttt{ltxdoc} document clssa, that uses -% different layout paramenters. At the same time the classical layout, conceived fot two -% sided printing, gets properly compared with a standard (one sided printing) \LaTeX\ -% layout.\footnote{Actually the \texttt{ltxdoc} class default paper size is the letter -% paper; here we rounded a little bit the letter paper dimensions to integer millimeter -% values of 220\,mm $\times$ 280\,mm. See the discussion about the convenience od such -% layout when the main font size is considered.} +% course the actual text block fits the text block grid, because this +% documentation is typeset by means of the \texttt{ltxdoc} document class, that by +% itself would use other layout parameters, but that is has been arrayed so as to invoke +% this very package. This allows you to immediately evaluate this traditional layout and +% see if it fits to your needs. % \end{abstract} % % \begin{multicols}{2} @@ -117,7 +120,10 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. % As any user of the \class{memoir} class knows well, this class allows to customize the % page layout virtually without any limitation; such limitations are connected mainly with % the user inconsistent data that miss to specify necessary information or give unnecessary -% and contrasting information. +% and contrasting information. Also other classes and/or packages allow the customized +% design of the page layout; some other classes, such as the standard ones, do not have any +% facility for customizing the page geometry, unless the user invokes suitable packages, +% such as \pack{geometry} or \pack{tyeparea}, just to male a couple of well known examples. % % Many packages exist in order to specify a named layout; this package \pack{canoniclayout} % is another one that computes the page parameters to determine the horizontal and vertical @@ -177,15 +183,17 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. % % It must also be noticed, in the sketch on the left, that the page rectangle is a golden % one; therefore also the type block is a golden rectangle; the inner to the outer margin -% ratio is the golden section value so as this same ratio exists between the top and the -% bottom margin. This canonical layout implies that the type block height is equal to the +% ratio is the golden section value so as this same ratio exists between the upper and the +% lower margin. This canonical layout implies that the type block height is equal to the % page width. -% Therefore this canonical layout is not suited when the page width is small compared +% +% Therefore this canonical layout is not suited when the page width is too small compared % to the page height: with the golden section\footnote{Here we denote $\phi=1,618\dots$ % with the name of \emph{golden number}, and its reciprocal $\varphi=0,618\dots$ with the % name of \emph{golden section}.} this ratio is 0.618, with the ISO paper shape, in the % sketch on the center, this ratio is 0,707, and so on. -% But it is equally unsuitable with squarish pages, such as the scketch on the right where +% +% But it is equally unsuitable with squarish pages, such as the sketch on the right where % the page proportions conform with the USA letter paper size: the type block leaves little % space for the margins, as it is evident from the properties of the canonical circle, which % is tangent to the page lateral sides and to the type block horizontal sides; to the limit @@ -195,16 +203,16 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. % If one plays a little with the drawing of figure~\ref{fig:canoniclayout} and applies what % has been described in the Introduction, may easily derive the following formulas: %\begin{align} -%&\text{Page shape ratio:}& x&=b/h \label{equ:1}\\ -%&\text{Inner margin:}& I&=bx(1-x)/(1+x) \\ -%&\text{External margin:}& E&=b(1-x)/(1+x) \\ -%&\text{Top margin:}& T&=hx(1-x)/(1+x) \\ -%&\text{Bottom margin:}& B&=h(1-x)/(1+x) \\ -%&\text{Text width:}& W&=xb \\ -%&\text{Text height:}& H&=b \\ -%&\text{Circle center abscissa:}&C_x&=0.5b \\ -%&\text{Circle center ordinate:}&C_y&=h(1-x)/(1+x)+b/2\\ -%&\text{Circle radius:}& R&=0.5b \label{equ:10} +%&\text{Page shape ratio:}& x&=b/h \label{equ:1} \\ +%&\text{Inner margin:}& I&=bx(1-x)/(1+x) \\ +%&\text{External margin:}& E&=b(1-x)/(1+x) \\ +%&\text{Top margin:}& T&=hx(1-x)/(1+x) \\ +%&\text{Bottom margin:}& B&=h(1-x)/(1+x) \\ +%&\text{Text width:}& W&=xb \\ +%&\text{Text height:}& H&=b \\ +%&\text{Circle center abscissa:}&C_x&=0.5b \\ +%&\text{Circle center ordinate:}&C_y&=h(1-x)/(1+x)+b/2 \\ +%&\text{Circle radius:}& R&=0.5b \label{equ:10} %\end{align} % whose results are summarized in table~\ref{tab:canoniclayout} for three common values of % the shape factor and for the letter paper shape ratio. @@ -217,28 +225,29 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. %\begin{tabular}{l@{\qquad}*4{>{$}c<{$}}} %\toprule % &\multicolumn4c{Canon} \\ -%\multicolumn1c{Quantity}& \phi:1 & 3:2 & \sqrt2:1 & 11:8.5\\ +%\multicolumn1c{Quantity} & \phi:1 & 3:2 & \sqrt2:1 & 11:8.5\\ %\midrule -% Page shape ratio &0,618~ &0,666~ &0,707~ &0,773~ \\ -% Inner margin &0,146b &0,133b &0,121b &0,099b \\ -% External margin &0,236b &0,200b &0,172b &0,128b \\ -% Top margin &0,146h &0,133h &0,121h &0,099h \\ -% Bottom margin &0,236h &0,200h &0,172h &0,128h \\ -% Text width & 0,618b &0,666b &0,707b &0,773b \\ -% Text height & b & b & b &b \\ -% Circle center abscissa & b/2 & b/2 & b/2 &b/2 \\ -% Circle center ordinate & 0,545h &0,533h &0,526h &0,515h \\ -% Circle radius & b/2 & b/2 & b/2 &b/2 \\ +% Page shape ratio &0,618~ &0,666~ &0,707~ &0,773~ \\ +% Inner margin &0,146b &0,133b &0,121b &0,099b \\ +% External margin &0,236b &0,200b &0,172b &0,128b \\ +% Upper margin &0,146h &0,133h &0,121h &0,099h \\ +% Lower margin &0,236h &0,200h &0,172h &0,128h \\ +% Text width & 0,618b &0,666b &0,707b &0,773b \\ +% Text height & b & b & b &b \\ +% Circle center abscissa & b/2 & b/2 & b/2 &b/2 \\ +% Circle center ordinate & 0,545h &0,533h &0,526h &0,515h \\ +% Circle radius & b/2 & b/2 & b/2 &b/2 \\ %\bottomrule %\end{tabular} %\end{table} % % Actually the formulas~\ref{equ:1}--\ref{equ:10}, and their numerical evaluations reported % in table~\ref{tab:canoniclayout}, are just for general information. The actual -% computations are performed by this package, by means of the \class{memoir} built-in -% facilities. But it can be easily seen that as the trimmed page becomes more squarish, the +% computations are performed by this package, either by means of the \class{memoir} built-in +% facilities or by explicit computations that exploit the $\varepsilon$-\TeX\ extensions. +% But it can be easily seen that as the trimmed page becomes more squarish, the % page size ratio tends to one, ad the margins become smaller and smaller. Therefore it -% seems that thsi layout is most suited for intermediate page ratios, such as the ISO one +% seems that this layout is most suited for intermediate page ratios, such as the ISO one % or the common European book size of 170\,mm $\times$ 240\,mm with a ratio of 0,708. % % \section{Usage} @@ -258,24 +267,24 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. % At the same time if this page layout is chosen, the font normal size should be selected on % the actual text block width; it is possible that the golden ratio type block, on a golden % rectangle paper obtained by trimming an ISO A4 stock paper, might be suitable with a 10pt -% normal font size (exactly 66 characters per line with 10pt Latin Modern fonts), while a full -% ISO A4 paper yields a type block that might be more suited for a 12pt normal font size (86 -% characters with 10pt Latin Modern fonts). The computations might be left to the +% normal font size (exactly 66 characters per line with 10pt Latin Modern fonts), while a +% full ISO A4 paper yields a type block that might be more suited for a 12pt normal font +% size (86 characters with 10pt Latin Modern fonts). The computations might be left to the % \class{memoir} class commands, but it's better the user is aware of this particular point. % For his/her sake this package provides the command |\currentfontletters| (to be used -% only after |\begin{document}|, because specific font packages might be loaded after the page -% layout has been computed; in any case the command is ``text producing'', therefore it can't -% be used while in the preamble!) that types out a sentence such as ``The number of characters -% in one text line with the current font is $nn$'', where the $nn$ is the actual number -% printed out. If such number is much larger than the ideal Bringhurst range of $66\pm5$, it's -% wiser to chose a larger normal font size. +% only after |\begin{document}|, because specific font packages might be loaded after the +% page layout has been computed; in any case the command is ``text producing'', therefore +% it can't be used while in the preamble!) that types out a sentence such as ``The number +% of characters in one text line with the current font is $nn$'', where the $nn$ is the +% actual number printed out. If such number is much larger than the ideal Bringhurst range +% of $66\pm5$, it's wiser to chose a larger normal font size. % In any case the alternative command |\charactersperpage| types out the same information, % the number of lines and the estimated number of characters per page. These commands are % supposed to be useful while setting up the complete preliminary parameters for the page % layout. % % Just to have a comparison, table~\ref{tab:sizes} displays the number of characters in one -% line of text for several fonts and for page sizes A4 and A5. +% line of text for several fonts and for page sizes A4, A5, and B5. % %\begin{table} %\caption{Text line lengths measured in average number @@ -324,11 +333,10 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. % relationship between the paper size, the page size and the type block size. % % As a final remark it's worth noting that a single pass of \prog{pdflatex} on this -% \texttt{canoniclayout.dtx} file -% produces at the same time both the \file{canoniclayout.sty} package file and the -% documentation \file{canoniclayout.pdf} file. After running \prog{pdflatex} move -% \file{canoniclayout.sty} to a \file{tex/latex/canoniclayout/} folder and -% \file{canoniclayout.pdf} to a \file{doc/latex\discretionary{}{/}{/}canoniclayout/} one; +% \file{canoniclayout.dtx} file produces at the same time both the \file{canoniclayout.sty} +% package file and the documentation \file{canoniclayout.pdf} file. After running +% \prog{pdflatex} move \file{canoniclayout.sty} to a \file{tex/latex/canoniclayout/} folder +% and \file{canoniclayout.pdf} to a \file{doc/latex\discretionary{}{/}{/}canoniclayout/} one; % if such folders don't exist, create them on your personal \TeX\ tree. After moving these % files remember to refresh the file name data base. % @@ -361,18 +369,28 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. \expandaftter\endinput \fi % \end{macrocode} -% Now we can determine the page shape factor and we save it into the control sequence -% |\CLshape|. The trick of multiplying by |p@|, a length of 1\,pt, is a simple trick for -% reducing the shape ratio to a length whose numerical value is exactly the ratio we are -% interested in. By stripping the `pt' part from this dimension value we remain with the -% real number we want to keep in memory. Of course we need also the reciprocal value so -% that we have to perform this calculation two times with different factors. +% +% In order to have this layout work with the \class{memoir} class or with any other +% class we have to test the fact they they package has been loaded within the preamble +% of a \class{memoir} styled document; according to the result of this test we can exploit +% the \class{memoir} facilities for determining the page geometry, or we have to carry out +% the complete computations ourselves. +% \begin{macrocode} +\@ifclassloaded{memoir}{% }% balancing brace +% \end{macrocode} +% Working with the \class{memoir} facilities, we can determine the page shape factor +% and we save it into the control sequence |\CLshape|. The trick of multiplying by |p@|, +% a length of 1\,pt, is a simple trick for reducing the shape ratio to a length whose +% numerical value is exactly the ratio we are interested in. By stripping the `pt' part +% from this dimension value we remain with the real number we want to keep in memory. +% Of course we need also the reciprocal value, therefore we have to perform this +% calculation a second time with different factors. % This ``strange'' way of computing real ratios derives from the ability of the % $\varepsilon$-\TeX\ engine to scale lengths with a higher computational precision than % ``normal'' \TeX\ can do with the standard dimension and integer operations. In facts % all the computational operations are performed in the CPU registers and the intermediate % first result of the multiplication is kept into a double length register, so that no bits -% are rounded or truncated; the division operation is performed then with a double length +% are rounded or truncated; the division operation is performed with a double length % numerator and a single length denominator, so that, again, almost no information is lost % at the inevitable end of the division algorithm with a non vanishing remainder. % \begin{macrocode} @@ -382,7 +400,7 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. \edef\CLinvshape{\strip@pt\dimen@} % \end{macrocode} % We then assign the text height, thanks to the fact that the canonical layout has the -% block height just long as the page width, due to the circle property mentioned in the +% block height just as long as the page width, due to the circle property mentioned in the % Introduction; in any case the formulas~\ref{equ:1}--\ref{equ:10} and % table~\ref{tab:canoniclayout} confirm this property for any shape. % \begin{macrocode} @@ -399,25 +417,101 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. % \end{macrocode} % -% We now use the |\checkandfixthelayout| so that it prints the page parameters to the -% \file{.log} file. +% We now use the |\checkandfixthelayout| so that it adjusts the type block dimensions +% to an integer number of lines in the normal font and eventually prints the page +% parameters to the% \file{.log} file. % \begin{macrocode} \checkandfixthelayout % \end{macrocode} -% Just for testing the number of character in a line the following macros are provided. +% +% At this point we are finished with the computations if the \class{memoir} class is the active one, nut we need to perform the complete calculations in case we are not working with the \class{memoir} class. +% \begin{macrocode} +}{% +% \end{macrocode} +% We start by defining the lengths registers that hold the real inner, outer and upper +% margins, without the one inch shift and without taking into consideration the headings +% and their spacings, that must be specified before calling this package. +% \begin{macrocode} +\newlength\innermargin +\newlength\outermargin +\newlength\uppermargin +% \end{macrocode} +% Then we define scratch length registers in order to maintain intermediate values. +% \begin{macrocode} +\dimendef\CLpageratio=1256% x=b/h +\dimendef\CLsmallratio=1258% z=x*y +\dimendef\CLlargeratio=1260% y=(1-x)/(1+x) +% \end{macrocode} +% Now we determine the actual values based on the page width and height; we work on dimensions, and we extract the decimal fractional value by stripping off the `pt' part of their measure; we keep the decimal fractionl values into service macros: +% \begin{macrocode} +\CLpageratio=\dimexpr \p@*\paperwidth/\paperheight\relax % x +\CLlargeratio=\dimexpr \p@*(\p@-\CLpageratio)/(\p@+\CLpageratio)\relax % y +\CLsmallratio=\dimexpr \CLpageratio*\CLlargeratio/\p@\relax % z +% +\edef\CL@pageratio{\strip@pt\CLpageratio} +\edef\CL@smallratio{\strip@pt\CLsmallratio} +\edef\CL@largeratio{\strip@pt\CLlargeratio} +% \end{macrocode} +% We compute the type block dimensions: +% \begin{macrocode} +\textheight\paperwidth% altezza griglia +\textwidth=\CL@pageratio\textheight +% \end{macrocode} +% We then compute the real margins between the page sides and the type block: +% \begin{macrocode} +\innermargin=\CL@smallratio\paperwidth +\outermargin=\CL@largeratio\paperwidth +\uppermargin=\CL@smallratio\paperheight +% \end{macrocode} +% But the typesetting engine does not use the net margins, due to the historical +% one inch shift of the original \TeX\ implementation and, for the upper margin, +% due to the fact that by default this layout implies the headings and the footers +% outside the type block. Since we have the real outer margin dimension, we compute +% the actual default marginal note measure: +% \begin{macrocode} +\marginparwidth=\dimexpr0.8\outermargin-\marginparsep\relax +\evensidemargin=\dimexpr\outermargin -1in\relax +\oddsidemargin=\dimexpr\innermargin-1in\relax +\topmargin=\dimexpr\uppermargin-1in-\headheight-\headsep\relax +% \end{macrocode} +% When using different classes from the \class{memoir} one, we adjust the type block +% dimensions so that the type block contains an integer number of lines; we use the +% normal size |\baslineskip| value and compute the number of lines contained in the +% initial type block minus the first line stander height equal to |\topskip|; notice +% that the integer value expression computed for counter 256 is a rounded value, not +% a truncated value, therefore the actual type block height might get enlarged or +% reduced a very little bit that will not be noticed with naked eye when one examines +% a typeset page; eventually we recompute the |\textheight| taking into account the +% height of the first line. +% \begin{macrocode} +\normalfont +\count256=\numexpr(\textheight-\topskip)/\baselineskip\relax +\textheight=\count256\baselineskip\relax +\textheight=\dimexpr\textheight+\topskip\relax +\normalbaselineskip\baselineskip +% \end{macrocode} +% and we eventually close the second action depending on the use of the \class{memoir} +% class: +% \begin{macrocode} +} +% \end{macrocode} +% +% Just for testing the number of characters in a line, the following macros are provided. % A couple of scratch dimension registers will be used |dimen@| and |\abcwidth|; |\abcwidth| % will hold the current lowercase alphabet length, and |\dimen@| will hold several values % in succession. The scratch counter |\count254| will receive the final result to be -% printed out. $\varepsilon$-\TeX\ arithmetics will be used throughout, but we know this -% is possible, since we already tested it at the very beginning. -% -% Another service macro for the user's sake is |\charactersperpage|; this macro typesets the -% number of characters per line, the numbers of lines per page, and eventually their product, -% a good estimate of the number of characters per page. Many test editors have facilities for -% counting a ``compuscript'' number o words and characters; with this further information the -% user may easily estimate the number of pages of his/her document; of course s/he must make -% a certain allowance for the front and back matter pages, so that s/he can evaluate the total -% amount of signatures of the whole typeset document; of course, by typesetting it with +% printed out. $\varepsilon$-\TeX\ arithmetics will be used throughout. +% +% Another service macro for the user's sake is |\charactersperpage|; this macro +% typesets the average number of characters per line, the numbers of lines per +% page, and eventually their product, a good estimate of the number of characters +% per page. +% +% Many text editors have facilities for counting a ``compuscript'' number o words +% and characters; with this further information the user may easily estimate the +% number of pages of his/her document; of course s/he must allow a certain allowance +% for the front and back matter pages, so that s/he can evaluate the total amount +% of signatures of the whole typeset document; of course, by typesetting it with % \prog{(pdf)latex} s/he knows exactly the number of pages of the final document, but the % typographer wants to know a good estimate before the source \TeX\ files are finished. % \begin{macrocode} @@ -433,16 +527,16 @@ and the derived files canoniclayout.sty and canoniclayout.pdf. \settowidth\abc@width{abcdefghijklmnopqrstuvwxyz}\dimen0=26\p@ \dimen0=\dimexpr \textwidth * \dimen0 / \abc@width \relax \count254=\numexpr \dimen0 / \p@ \relax -\count252=\numexpr \textheight / \onelineskip \relax +\count252=\numexpr \textheight / \baselineskip \relax \count250=\numexpr \count252 * \count254\relax -\quote The number of characters in one text line with the current - font is \the\count254; +\begin{quote} The average number of characters in one text line + with the current font is \the\count254; this text block contains \the\count252\ lines; a rough estimate of the number of characters per page is \the\count250.\par - This can be used to evaluate the total number of pages of - a document. -\endquote} + This information may be useful to evaluate the total number + of pages in a document. +\end{quote}} %</package> % \end{macrocode} |