diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrguide/english/pglayout.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrguide/english/pglayout.tex | 1178 |
1 files changed, 1178 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrguide/english/pglayout.tex b/Master/texmf-dist/source/latex/koma-script/scrguide/english/pglayout.tex new file mode 100644 index 00000000000..db8df258b43 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrguide/english/pglayout.tex @@ -0,0 +1,1178 @@ +\ProvidesFile{pglayout.tex}[2004/09/13 KOMA-Script manual,english] +% ============================================================================ +% pglayout.tex (Original German document: satzspgl.tex) +% Copyright (c) 2001 Markus Kohm and the authors. +% +% This file is part of the LaTeX2e KOMA-Script-Bundle +% +% This file can be redistributed and/or modified under the terms of the LaTeX +% Project Public License Version 1.0 distributed together with this file. See +% LEGAL.TXT or LEGALDE.TXT. +% +% This bundle is written especially for use in German language +% documents, so the main documentation is in German. This is the +% English documentation. See readme.txt for other translated +% documents. +% ---------------------------------------------------------------------------- +% satzspgl.tex +% Copyright (c) 2001 Markus Kohm und bei die weiteren Autoren. +% +% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. +% +% Diese Datei kann nach den Regeln der LaTeX Project Public Licence +% Version 1.0, wie sie zusammen mit dieser Datei verteilt wird, +% weiterverbreitet und/oder modifiziert werden. Siehe dazu auch LEGAL.TXT oder +% LEGALDE.TXT. +% +% Dieses Paket ist fuer den deutschen Sprachraum konzipiert. Daher ist auch +% diese Anleitung komplett in Deutsch. Moeglicherweise existiert auch eine +% englische Version der Anleitung. Falls Sie eine solche benoetigen, schauen +% Sie bitte in liesmich.txt nach, ob eine solche vorhanden ist. +% ============================================================================ +% +% Module: pglayout.tex +% Translation by: Colin Marquardt (CM) +% <colin@marquardt-home.de> +% Contents: Construction of the page layout with +% \Package{typearea.sty} +% Language: English +% Charset of comments: US-ASCII +% Translation of german file: satzspgl.tex +% Date of translated german file: 2003-05-13 +% + +\chapter{Construction of the Page Layout with \Package{typearea}} +\label{cha:typearea} + +\section{Fundamentals of Page Layout} + +\begin{Explain} + If you look at a single page of a book or other prints, you will see + that it consists of top, foot, left and right margins, a (running) + head area, the text block and a (running) foot area. Looking + closer, there is space between the head area and the text block + and between the text block and the foot area. The relations + between these areas are called \emph{page layout}. + + The literature offers and discusses different algorithms and + heuristic approaches for constructing a good page layout. Often, + they are mentioning an approach which involves diagonals and their + intersections. The result is a page where the text block + proportions relate to the proportions of the \emph{page}. In a + single-sided document, the left and the right margin should have + equal widths. + The relation of the upper margin to the lower margin should + be 1\(:\)2. In a double-sided document (e.\,g. a book) however, + the inner margin (the margin at the spine) should be the same as + each of the two outer margins. + + In the previous paragraph, we mentioned and emphasized the + \emph{page}. Erroneously, often it is thought that the format of + the page would be the format of the paper. However, if you look at + a bound document, it is obvious that part of the paper vanishes in + the binding and is not part of the visible page. But the format of + the paper is not important for the layout of a page, it is the + impression of the visible page to the reader. Therefore, it is + clear that the calculation if the page layout must account for the + ``lost'' paper in the binding and add this amount to the width of + the inner margin. This is called \emph{binding correction}. + + The binding correction depends on the process of actually + producing the document and thus can not be calculated in general. + Every production process needs its own parameter. In professional + binding, this parameter is not too important since the printing is + done on oversized paper which is then cropped to the right size. + The cropping is done in a way so that the relations for the + visible double-sided page are as explained above. + + Now we know about the relation of the individual parts of a page. + However, we do not know about the width and the height of the + text block yet. Once we know one of these values, we can calculate + all the other values from the paper format and the page format or + the binding correction. + \begin{eqnarray*} + \Var{textblock~heigth} : \Var{textblock~width} &=& + \Var{page~height} : \Var{page~width}\\ +% + \Var{page~width} &=& \Var{paper~width} - \Var{binding~correction}\\ +% + \Var{top~margin} + \Var{foot~margin} &=& + \Var{page~height} - \Var{textblock~height} \\ +% + \Var{top~margin} : \Var{foot~margin} &=& 1 : 2 \\ +% + \Var{left~margin} : \Var{right~margin} &=& 1 : 1 \\ +% + \Var{half~inner~margin} &=& + \frac{1}{2}\Var{outer~margin} + \Var{binding~correction} \\ + \end{eqnarray*} + The values \Var{left~margin} and \Var{right~margin} are only + existent in a single-sided document while \Var{inner~margin} and + \Var{outer~margin} are only existent in a double-sided document. In + these equations, we work with \Var{half~inner~margin} since the full + inner margin belongs to a double-page. Thus, one page has half of + the inner margin. + + The question of the width of the textblock is also discussed in + the literature. The optimum width depends on several factors: + \begin{itemize} + \item size, width, type of the used font % !!! + \item line spacing % !!! + \item word length + \item available room + \end{itemize} + The importance of the font becomes clear once you think about + serifs. Serifs are fine lines % !!! + finishing off the letters. Letters whose main strokes are running + orthogonal to the text line are disturbing the flow more than they + are leading the eye along the line. These letters have serifs at + the end of the vertical strokes, however, so the horizontal serifs + lead the eye horizontally too. In addition, it helps the eye to + find the beginning of the next line. Thus, the line length for a + serif font can be slightly longer than for a non-serif font. + + In \LaTeX{}, the line spacing is about 20\% of the font + size. With commands like \Macro{linespread} or, better, packages like + \Package{setspace} the line spacing can be changed. A wider line + spacing helps the eye to follow the line. A very wide line + spacing, on the other hand, disturbs reading because the eye has + to move a wide distance between lines. Also, the reader gets + uncomfortable because of the visible stripe effect. The uniform + gray value of the page gets spoiled. Still, with a wider line + spacing, the lines can be longer. + + Literature gives different values for good line lengths, depending + on the author. To some extent, this is due to the native language + of the author. Since the eye jumps from word to word, short words + make this task easier. Not considering language and font, a line + length of 60 to 70 letters including spaces and + punctuation is a usable compromise. This requires well-chosen line + spacing, but \LaTeX{}'s default is usually good enough. + + Before looking at the actual construction of the page layout, + there are some minor things to know. \LaTeX{} doesn't start the + first line of the text block at the upper edge of the text block, + but with a defined distance. Also, \LaTeX{} knows the commands + \Macro{raggedbottom} and \Macro{flushbottom}. \Macro{raggedbottom} + specifies that the last line of a page should be positioned + wherever it was calculated. This means that the position of this + line can be different on each page, up to the height of one line. + In double-sided documents this is usually unwanted. + \Macro{flushbottom} makes sure that the last line is always at the + lower edge of the text block. To achieve this, \LaTeX{} sometimes + needs to stretch vertical glue more than allowed. Paragraph skip + is such a stretchable, vertical glue, even when set to zero. In + order not to stretch the paragraph skip on normal pages where it + is the only stretchable glue, the height of the text block should + be a multiple of the height of the text line, including the + distance from the upper edge of the text block to the first line. + + This concludes the introduction to page layout as handled by + \KOMAScript. Now, we can begin with the actual construction.\par +\end{Explain} + + +\section{Page Layout Construction by Dividing} +\label{sec:typearea.divConstruction} + +\begin{Explain} + + The easiest way to make sure that the text area has the same + ratios as the page is as follows: First, you subtract the + binding correction \Var{BCOR} from the inner edge of the paper. + Then you divide the rest of the page vertically into + \Var{DIV} rows of equal height. Next, you divide the page + horizontally into the same number (\Var{DIV}) of columns. Then you + take the uppermost row as the upper margin and the two lowermost + rows as the lower margin. If you print double-sided, you also take + the innermost column as the inner margin and the two outermost + columns as the outer margin. Then, you add the binding correction + \Var{BCOR} to the inner margin. The remainder of + the page is the text area. The width and the height of the text area result + automatically from the number of rows and columns \Var{DIV}. Since + the margins always need three rows/columns, \Var{DIV} must + be necessarily greater than three. + + In \KOMAScript, this kind of construction is implemented in the + \Package{typearea} package. For A4 paper, \Var{DIV} is predefined + according to the font size (see \autoref{tab:typearea.div}). If there is + no binding correction (\(\Var{BCOR} = 0\Unit{pt}\)), the results + roughly match the values of \autoref{tab:typearea.typearea}. + + In addition to the predefined values, you can specify \Var{BCOR} + and \Var{DIV} as options when loading the package (see + \autoref{sec:typearea.options}). There is also a command to + explicitly calculate the type area by providing these values as + parameters (also see \autoref{sec:typearea.options}). + + The \Package{typearea} package can determine the optimal value + of \Var{DIV} for the font used automatically. Again, see + \autoref{sec:typearea.options}.\par +\end{Explain} + + +\section{Page Layout Construction by Drawing a Circle} +\label{sec:typearea.circleConstruction} + +\begin{Explain} + In addition to the construction method previously described, a somewhat + more classical method can be found in the literature. Aim of this method is + not only identical ratios in the page proportions, but it is considered + optimal when the height of the text block is the same a the width of the + page. The exact method is described in \cite{JTsch87}. + + A disadvantage of this late dark age method is that the width of + the text area is not dependent on the font anymore. Thus, one + doesn't choose the text area to match the font, but the author or + typesetter has to choose the font according to the text area. This + can be considered a ``must''. + + In the \Package{typearea} package this construction is changed + slightly. By using a special (normally senseless) \Var{DIV} value + or a special package option, a \Var{DIV} value is chosen to match + the perfect values as closely as possible. See also + \autoref{sec:typearea.options}.\par +\end{Explain} + + +\section{Options and Macros to Influence the Page Layout} +\label{sec:typearea.options} + +The package \Package{typearea} offers two different user interfaces to +influence type area construction. The first method is to load the +package with options. For information on how to load packages and to +give package options, please refer to the \LaTeX{} literature, e.g. +\cite{lshort} and \cite{latex:usrguide}, or the examples given here. +Since the \Package{typearea} package is loaded automatically when +using the \KOMAScript{} main classes, the package options can be given +as class options (see \autoref{sec:maincls.options}). + +\begin{Declaration} + \Option{BCOR}\PName{Correction} +\end{Declaration}% +\BeginIndex{Option}{BCOR}% +With the \Option{BCOR}\PName{Correction} option you specify the +absolute value of the binding correction, i.e., the width of the area +that is used for the binding, thus ``lost'' from the paper width. + +This value will be used in the layout calculation automatically and +will be added to the inner or left margin respectively. You can use +any valid \TeX{} unit for \PName{Correction}. + +\begin{Example} +Assume you want to produce a financial report, which is to be +printed on A4 paper and bound in a folder. The rim of the folder +covers \(7{,}5\Unit{mm}\). Since the report is thin, only an +additional \(0{,}75\Unit{mm}\) are lost by folding when leafing +through the pages. You would use the following commands: +\begin{verbatim} + \documentclass[a4paper]{report} + \usepackage[BCOR8.25mm]{typearea} +\end{verbatim} +or, using a \KOMAScript-class: +\begin{verbatim} + \documentclass[a4paper,BCOR8.25mm]{scrreprt} +\end{verbatim} +\end{Example} + +Please note: if you use one of the \KOMAScript{} classes, this option +must be given as a class option. If you use another class, this only +works if the class has explicit support for typearea. So when using +the standard classes, you need to give the option when you load +\Package{typearea}. You can also use \Macro{PassOptionsToPackage} +(see \cite{latex:clsguide}) before you are loading +\Package{typearea}, this always works. +% +\EndIndex{Option}{BCOR} + + +\begin{Declaration} + \Option{DIV}\PName{Factor} +\end{Declaration}% +\BeginIndex{Option}{DIV}% +\Option{DIV}\PName{Factor} defines the number of stripes the page +is split into when the page layout is constructed. The exact +method can be found in \autoref{sec:typearea.divConstruction}, +but the most important thing is: the higher \PName{Factor}, the +bigger the resulting text area, and the smaller the margins. For +\PName{Factor}, you can use any integer value larger than 4. +Please note that depending on your other options a very high value +for \PName{Factor} can result in problems: For instance, in +extreme cases, the running title might be outside the actual page +area. So if you use \Option{DIV}\PName{Factor}, it is your own +responsibility to choose a typographically acceptable line length +and to pay attention to the other parameters. + +In \autoref{tab:typearea.typearea} you'll find some page layout +values for the page format A4 without binding correction, with +varying \Var{DIV} factors. Font size is not taken into account. + +\begin{table} + \centering + \begin{tabular}{c|cc|cc} + & \multicolumn{2}{c|}{Text area} & \multicolumn{2}{c}{Margins}\\ + \emph{DIV}& Width [mm] & Height [mm] & upper [mm] & inner [mm] \\ + \hline\rule{0pt}{2.7ex}% + 6 & 105,00 & 148,50 & 49,50 & 35,00 \\ + 7 & 120,00 & 169,71 & 42,43 & 30,00 \\ + 8 & 131,25 & 185,63 & 37,13 & 26,25 \\ + 9 & 140,00 & 198,00 & 33,00 & 23,33 \\ + 10 & 147,00 & 207,90 & 29,70 & 21,00 \\ + 11 & 152,73 & 216,00 & 27,00 & 19,09 \\ + 12 & 157,50 & 222,75 & 24,75 & 17,50 \\ + 13 & 161,54 & 228,46 & 22,85 & 16,15 \\ + 14 & 165,00 & 233,36 & 21,21 & 15,00 \\ + 15 & 168,00 & 237,60 & 19,80 & 14,00 \\ + \end{tabular} + \caption{Page layout values depending on \Var{DIV} for A4} + \label{tab:typearea.typearea} +\end{table} + +\begin{Example} + Imagine you are writing meeting minutes with the + \Class{protocol}\footnote{The class \Class{protocol} is + hypothetical. This manual considers the ideal case where you have + a special class for every use.}-class. The whole thing is supposed to + be double sided. In your company, the Bookman font in 12\Unit{pt} + is used. This standard PostScript font is activated in {\LaTeX} + with the command \Macro{usepackage}\Parameter{bookman}. Bookman runs very + wide, that means, the characters are wide in relation to its + height. Because of that, the default for the \Var{DIV} value in + \Package{typearea} is too small for you. Instead of 12, you want 15. + The minutes will not be bound but punched and filed into a folder, + so you don't need any binding correction. Thus, you write: + \begin{small} +\begin{verbatim} + \documentclass[a4paper,twoside]{protocol} + \usepackage{bookman} + \usepackage[DIV15]{typearea} +\end{verbatim} + \end{small} + After you are done you get told that the minutes are collected and + bound as a book by the end of the year. The binding is done as a + simple glue binding in a copy shop, since it is done just for ISO\,9000 + anyway and nobody will ever bother to look at the minutes again. For + binding you need \(12\Unit{mm}\) in average. So you change the options + for \Package{typearea} accordingly and use the ISO\,9000 document class: + \begin{small} +\begin{verbatim} + \documentclass[a4paper,twoside]{iso9000p} + \usepackage{bookman} + \usepackage[DIV15,BCOR12mm]{typearea} +\end{verbatim} + \end{small} + Of course, you can also use a \KOMAScript{} class here: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,twoside,DIV15,BCOR12mm]{scrartcl} + \usepackage{bookman} +\end{verbatim} +\end{small} +\end{Example} +% +Please note: if you use one of the \KOMAScript{} classes, +\Option{BCOR} must +be given as a class option. If you use another class, this only +works if the class has explicit support for typearea. So when +using the standard classes, you need to give \Option{BCOR} when you load +\Package{typearea}. You can use \Macro{PassOptionsToPackage} +(see \cite{latex:clsguide}) too before you are loading +\Package{typearea}, this always works. +% +\EndIndex{Option}{DIV} + +\begin{Declaration} + \Option{DIVcalc}\\ + \Option{DIVclassic} +\end{Declaration}% +\BeginIndex{Option}{DIVcalc}% +\BeginIndex{Option}{DIVclassic}% +As mentioned in \autoref{sec:typearea.divConstruction}, only +paper format A4 has fixed defaults for the \Var{DIV} value. These +are listed in \autoref{tab:typearea.div}. If you choose a +different paper format, \Package{typearea} calculates a good +\Var{DIV} value itself. Of course, you can also have it calculate +that for A4: use \Option{DIVcalc} instead of +\Option{DIV}\PName{Factor}. This works for all other paper formats +as well. If you want to use the automatic calculation, this is +even very useful, since you can then override the defaults that +are given in a configuration file (see +\autoref{sec:typearea.cfg}) with this option. + +\begin{table} + \centering + \begin{tabular}{lccc} + Base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ + \Var{DIV}: & 8 & 10 & 12 \\ + \end{tabular} + \caption{\label{tab:typearea.div}\PName{DIV} defaults for A4} +\end{table} + +The classic construction method as described in +\autoref{sec:typearea.circleConstruction} can also be selected +(with the difference that a good \Var{DIV} value is chosen). In +this case, instead of \Option{DIV}\PName{Factor} or +\Option{DIVcalc}, use the option \Option{DIVclassic}. + +\begin{Example} + In the example for \Option{DIV}\PName{Factor} which used the + Bookman font, there was the problem that we needed a \Var{DIV} + value which suited the font better. As a modification of the first + example, this calculation can be left to \Package{typearea}: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,twoside]{protocol} + \usepackage{bookman} + \usepackage[DIVcalc]{typearea} +\end{verbatim} +\end{small} +\end{Example} + + +\begin{Declaration} + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV} +\end{Declaration}% +\BeginIndex{Cmd}{typearea}% +If you followed the examples till here, you'll ask yourself how +one can make the calculation of \Var{DIV} depend on the selected +font when one uses one of the \KOMAScript{} classes. Then the +options to \Package{typearea} would have to be made before loading +the e.g. \Package{bookman} package. In this case, +\Package{typearea} could only calculate the page layout for the +standard font, but not for the Bookman font which is really +used. After evaluating the options, \Package{typearea} +calculates the page layout by using the +\Macro{typearea}\OParameter{BCOR}\Parameter{DIV} command. Here, +the chosen \Var{BCOR} value is given as an optional parameter and +\Var{DIV} as a parameter. With the option \Option{DIVcalc}, the +(normally invalid) value~\(1\) is given; with the option +\Option{DIVclassic} the (normally invalid) value~\(3\). You can +also call \Macro{typearea} explicitly in the preamble. + +\begin{Example} +Let us assume again that we want to calculate a good page layout +for the Bookman font. We also want to use a \KOMAScript{} class. +This is possible using the \Macro{typearea}-command with +\Option{DIVcalc} = 1 as \PName{DIV}-parameter: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,BCOR12mm,DIVcalc,twoside]{scrartcl} + \usepackage{bookman} + \typearea[12mm]{1}% same as class options above +\end{verbatim} +\end{small} +\end{Example} + +It would be ridiculous if one had to use the +\Macro{typearea}-command with some pseudo-values, while the +\Option{DIV}-Option allows the use of \Option{DIVcalc} and +\Option{DIVclassic}. Thus the \Macro{typearea} also accepts +symbolic values for the parameter \PName{DIV}: +\begin{labeling}[\ --]{\PValue{classic}} +\item [\PValue{calc}] re-calculate page layout and determine + \Var{DIV}. +\item [\PValue{classic}] re-calculate page layout using the classical + method (circle) . +\item [\PValue{current}] re-calculate page layout with current value + of \Var{DIV}. +\item [\PValue{default}] re-calculate page layout with default values + for the current page- and font size. If no default values exist, + apply \PValue{calc}. +\item [\PValue{last}] re-calculate page layout using the same + \PName{DIV}-argument, which was set last time. +\end{labeling} +The \Macro{typearea} also understands the following symbolic values for +the parameter \PName{BCOR}. Thus it is not neccesary to re-enter +the current value. +\begin{labeling}[\ --]{\PValue{classic}} + \item [\PValue{current}] Re-calculate page layout using the current + value for \Var{BCOR}. +\end{labeling} + +\begin{Example} +Thus calculating a good page layout for the Bookman font and a +\KOMAScript-class is easy when we use symbolic parameter values +for \PName{BCOR} and \PName{DIV}: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,BCOR12mm,DIVcalc,twoside]{scrartcl} + \usepackage{bookman} + \typearea[current]{calc} +\end{verbatim} +\end{small} +If we want to use a fixed value for \Var{DIV} we can use either: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,BCOR12mm,DIV11,twoside]{scrartcl} + \usepackage{bookman} + \typearea[current]{current} +\end{verbatim} +\end{small} +or the old method: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,twoside]{scrartcl} + \usepackage{bookman} + \typearea[12mm]{11} +\end{verbatim} +\end{small} +In the end it is a matter of personal taste which of these solution you +want to use. +\end{Example} + +Frequently the re-calculation of the page layout is necessary +because the line spacing was changed. Since it is essential that +an integer number of lines fit into the text area, any change in +line spacing requires a re-calculation of page layout. + +\begin{Example} +Assume you want to write a thesis and university regulations +require a font size of 10\Unit{pt} and a line spacing of +2\Unit{pt}. Thus a stretch-factor of 1.25 is required. Let us +also assume that \PName{BCOR} = 12\Unit{mm}. Then you might use: +\begin{small} +\begin{verbatim} + \documentclass[10pt,BCOR12mm,DIVcalc,twoside]{scrreprt} + \linespread{1.25}\selectfont + \typearea[current]{calc} +\end{verbatim} +\end{small}\IndexCmd{linespread} +The command \Macro{selectfont} is required here in order to +activate the new line spacing before the page layout is +calculated. + +The same example again, using the \Package{setspace}-package: +\begin{small} +\begin{verbatim} + \documentclass[10pt,BCOR12mm,DIVcalc,twoside]{scrreprt} + \usepackage{setspace} + \onehalfspacing + \typearea[current]{calc} +\end{verbatim} +\end{small} +Using the \Package{setspace}-package simplifies things, because +you no longer need to calculate the correct stretch-factor, and +you no longer need the \Macro{selectfont}-macro. + +In this context it is appropriate to point out that the line +spacing should be reset for the title page. A complete example +therefore would look like this: +\begin{small} +\begin{verbatim} + \documentclass[10pt,BCOR12mm,DIVcalc,twoside]{scrreprt} + \usepackage{setspace} + \onehalfspacing + \typearea[current]{calc} + \begin{document} + \title{Title} + \author{Markus Kohm} + \begin{spacing}{1} + \maketitle + \tableofcontents + \end{spacing} + \chapter{Ok} + \end{document} +\end{verbatim} +\end{small} +See also the notes in \autoref{sec:typearea.tips}. +\end{Example} + +\begin{Explain} +The command \Macro{typearea} is currently defined in such a way +that it is possible to change the page layout in the middle of a +text. This however makes assumptions about the inner workings of +the \LaTeX-kernel and changes some internal values and +definitions of that kernel. There is some probability, but no +guarantee that this will also work in future versions of \LaTeX. +It must be assumed that this method will not give correct results +in \LaTeX3. However, as author of \KOMAScript{} I expect +considerable incompatibilities when we change to \LaTeX3.\par +\end{Explain} +\EndIndex{Cmd}{typearea} +\EndIndex{Option}{DIVclassic}% +\EndIndex{Option}{DIVcalc} + +\begin{Declaration} + \Option{headinclude}\\ + \Option{headexclude}\\ + \Option{footinclude}\\ + \Option{footexclude} +\end{Declaration}% +\BeginIndex{Option}{headinclude}% +\BeginIndex{Option}{headexclude}% +\BeginIndex{Option}{footinclude}% +\BeginIndex{Option}{footexclude}% +\begin{Explain}% + +So far we have discussed how the page layout is calculated and +what the ratios are between the borders and between borders and +text area. However, one important question has not been answered: +What constitutes the borders? This question appears trivial: +Borders are those parts on the right, left, top and bottom which +remain empty. But this is only half of it. Borders are not always +empty. There could be marginals, for example (for the +\Macro{marginpar}-command refer to \cite{l2kurz} or +\autoref{sec:maincls.marginNotes}). + +One could also ask, whether headers and footers belong to the upper +and lower borders or to the text. This can not be answered +unambiguously. Of course an empty footer or header belong to the +borders, since they can not be distinguished from the rest of the +border. A header or footer, that contains only a page number, will +optically appear more like border. For the optical appearance it is +not important whether headers or footers are easily recognised as such +during reading. Important is only, how a well filled page appears +when viewed out of focus. You could use the glasses of your +far-sighted grand parents, or, lacking those, adjust your vision to +infinity and look at the page with one eye only. Those wearing +spectacles will find this much easier, of course. If the footer +contains not only the page number, but other material like a copyright +notice, it will optically appear more like a part of the text body. +This needs to be taken into account when calculating text layout. + +For the header this is even more complicated. The header frequently +contains running heads \Index[indexmain]{running head}. In case of +running heads with long chapter and section titles the header lines +will be very long and appear to be part of the text body. This effect +becomes even more significant when the header contains not only the +chapter or section title but also the page number. With material on +the right and left side, the header will no longer appear as empty +border. If the length of the titles varies, the header may appear as +border on one page and as text on another. However, this pages should +not be treated differently under any circumstances, as this would lead +to jumping headers. In this case it is probably best to count the +header with the text. + +The decision is easy when text and header or footer are separated +from the text body by a line. This will give a ``closed'' +appearance and header or footer become part of the text body. +Remember: It is irrelevant that the line improves the optical +separation of text and header or footer, important is only the +appearance when viewed out of focus. +\end{Explain} + +The \Package{typearea}-package can not make the decision whether +or not to count headers and footers to the text body or the +border. Options \Option{headinclude} and \Option{footinclude} +cause the header or footer to be counted as text, options +\Option{headexclude} and \Option{footexclude} cause them to be +counted as border. If you are unsure about the correct setting, +re-read above explanations. Default is usually +\Option{headexclude} and \Option{footexclude}., but this can +change depending on \KOMAScript-class and \KOMAScript-packages used +(see \autoref{sec:maincls.options} and \ref{cha:scrpage}). +% +\EndIndex{Option}{headinclude}% +\EndIndex{Option}{headexclude}% +\EndIndex{Option}{footinclude}% +\EndIndex{Option}{footexclude}% + +\begin{Declaration} + \Option{mpinclude}\\ + \Option{mpexclude} +\end{Declaration} +\BeginIndex{Option}{mpinclude}% +\BeginIndex{Option}{mpexclude}% +Besides\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} documents where the head and foot is part + of the text area, there are also documents where the margin-note + area must be counted to the text body as well. + The option \Option{mpinclude} does exactly this. + The effect is that one width-unit of the text-body is taken for + the margin-note area. + Using option \Option{mpexclude}, the default setting, + then the normal margin is used for the margin-note area. + The width of that area is one or one and a half width-unit, + depending on whether one-side or two-side page layout + has been chosen. + The option \Option{mpinclude} is mainly for experts and so + not recommended. + +\begin{Explain} +In the cases where the option \Option{mpinclude} is used +often a wider margin-note area is required. +In many cases not the whole margin-note width should be part +of the text area, for example if the margin is used for quotations. +Such quotations are typeset as ragged text with the flushed +side where the text body is. +Since ragged text gives no homogeneous optical impression +the long lines can reach right into the normal margin. +This can be done using option \Option{mpinclude} and +by an enlargement of length \Length{marginparwidth} after +the type-area has been setup. +The length can be easily enlarged with the command +\Macro{addtolength}. +How much the the length has to be enlarged depends on the +special situation and it requires some flair. +Therefore the option is primarily for experts. +Of course one can setup the margin-width to reach +a third right into the normal margin, for example +using \Macro{setlength}\PParameter{\Length{marginparwidth}}% +\PParameter{1.5\Length{marginparwidth}} gives the desired result. + +Currently there is no option to enlarge the margin by a +given amount. +The only solution is that the option \Option{mpinclude} +is not used, but after the type-area has been calculated +one reduces the width of the text-body \Length{textwidth} +and enlarges the margin width \Length{marginparwidth} +by the same amount. +Unfortunately, this can not be attended when automatic +calculation of the \PName{DIV} value is used. +In contrast \Option{DIVcalc}\IndexOption{DIVcalc} heeds +\Option{mpinclude}. +\end{Explain} +% +\EndIndex{Option}{mpinclude}% +\EndIndex{Option}{mpexclude}% + + +\begin{Declaration} + \PName{Value}\Option{headlines} +\end{Declaration}% +\BeginIndex{Option}{headlines}% +We have seen how to calculate the text layout and how to specify +whether header and footer are part of the text body or the +borders. However, we still have to specify the height in +particular of the header. This is achieved with the option +\Option{headlines}, which is preceded by the number of lines in +the header. \Package{typearea} uses a default of 1.25. This is a +compromise, large enough for underlined headers (see +\autoref{sec:maincls.options}) and small enough that the +relative weight of the top border is not affected to much when +the header is not underlined. Thus in most cases you may leave +\Option{headlines} at its default value and adapt it only in +special cases. + +\begin{Example} + Assume that you want to use a 2-line header. Normally this would + result in a "`\texttt{overfull} \Macro{vbox}"' warning for each + page. To prevent this from hapening, the + \Package{typearea}-package is told to calculate an appropriate + page layout: +\begin{small} +\begin{verbatim} + \documentclass[a4paper]{article} + \usepackage[2.1headlines]{typearea} +\end{verbatim} +\end{small} +If you use a \KOMAScript-class this must be given as a class-option: +\begin{small} +\begin{verbatim} + \documentclass[a4paper,2.1headlines]{scrartcl} +\end{verbatim} +\end{small} +A tool that can be used to define the contents of a header with 2 +lines is described in \autoref{cha:scrpage}. +\end{Example} + +If you use a \KOMAScript-class, this option must be given as +class-option. With other classes this works only, if these +classes explicitly supports \Package{typearea}. If you use the +standard classes, the option must be given when loading +\Package{typearea}. \Macro{PassOptionsToPackage} will work in +both cases (see also \cite{latex:clsguide}). +% +\EndIndex{Option}{headlines} + +\begin{Declaration} + \Macro{areaset}\OParameter{BCOR}\Parameter{Width}\Parameter{Height} +\end{Declaration}% +\BeginIndex{Cmd}{areaset}% +So far we have seen how a good or even very good page layout is +calculated and how the \Package{typearea}-package can support these +calculations, giving you at the same time the freedom to adapt the +layout to your needs. However, there are cases where the text body +has to fit exactly into specified dimensions. At the same time the +borders should be well spaced and a binding correction should be +possible. The \Package{typearea}-package offers the command +\Macro{areaset} for this purpose. As parameters this command accepts +the binding correction and the width and height of the text body. +Width and position of the borders will then be calculated +automatically, taking account of the options \Option{headinclude}, +\Option{headexclude}, \Option{footinclude} and \Option{footexclude} +where needed. + +\begin{Example} +Assume a text, printed on A4 paper, should have a width of +exactly 60 characters of typewriter-font and a height of exactly +30 lines. This could be achieved as follows: +\begin{verbatim} + \documentclass[a4paper,11pt]{article} + \usepackage{typearea} + \newlength{\CharsLX}% Width of 60 characters + \newlength{\LinesXXX}% Height of 30 lines + \settowidth{\CharsLX}{\texttt{1234567890}} + \setlength{\CharsLX}{6\CharsLX} + \setlength{\LinesXXX}{\topskip} + \addtolength{\LinesXXX}{30\baselineskip} + \areaset{\CharsLX}{\LinesXXX} +\end{verbatim} + +\item A poetry book with a square text body with a page length of + \(15\Unit{cm}\) and a binding correction of \(1\Unit{cm}\) could be + achieved like this: +\begin{verbatim} + \documentclass{gedichte} + \usepackage{typearea} + \areaset[1cm]{15cm}{15cm} +\end{verbatim} +\end{Example} +\EndIndex{Cmd}{areaset} + + +\section{Options and Macros for Paper Format Selection} +\label{sec:typearea.paperTypes} + +\Index{paper format}% +The \LaTeX standard classes support the options \Option{a4paper}, +\Option{a5paper}, \Option{b5paper}, \Option{letterpaper}, +\Option{legalpaper} and \Option{executivepaper}. +\begin{Declaration} + \Option{letterpaper} \\ + \Option{legalpaper} \\ + \Option{executivepaper} \\ + \Option{a\Var{X}paper} \\ + \Option{b\Var{X}paper} \\ + \Option{c\Var{X}paper} \\ + \Option{d\Var{X}paper} \\ + \Option{landscape} \\ + \Macro{isopaper}\OParameter{series}\Parameter{number} +\end{Declaration}% +\BeginIndex{Option}{letterpaper} +\BeginIndex{Option}{legalpaper} +\BeginIndex{Option}{executivepaper} +\BeginIndex{Option}{a0paper} +\BeginIndex{Option}{b0paper} +\BeginIndex{Option}{c0paper} +\BeginIndex{Option}{d0paper} +\BeginIndex{Option}{landscape} +\BeginIndex{Cmd}{isopaper}% +The three American formats are supported by \Package{typearea} +in the same way. In addition, all ISO-A-, ISO-B-, ISO-C- and +ISO-D-formats are supported and derived from their basic sizes A0, B0, +C0 and D0. They may be selected directly with options +\Option{a0paper}, \Option{a1paper} and so on. Landscape orientation is +selected with the \Option{landscape}-option just as in the standard +classes. + +Alternatively the paper size can be adjusted with the macro +\Macro{isopaper}. This however required re-calculation of the +text layout with \Macro{typearea} or \Macro{areaset}. I do not +recommend the use of \Macro{isopaper}. + +\begin{Example} + Assume you want to print on ISO-A8 file cards in landscape + orientation. Borders should be very small, no header or footer + will be used. +\begin{verbatim} + \documentclass{article} + \usepackage[headexclude,footexclude, + a8paper,landscape]{typearea} + \areaset{7cm}{5cm} + \pagestyle{empty} + \begin{document} + \section*{Paper Size Options} + letterpaper, legalpaper, executivepaper, a0paper, + a1paper \dots\ b0paper, b1paper \dots\ c0paper, + c1paper \dots\ d0paper, d1paper \dots + \end{document} +\end{verbatim} +\end{Example} + +All \Option{a\Var{X}paper}-, \Option{b\Var{X}paper}-, +\Option{c\Var{X}paper}- and \Option{d\Var{X}paper}-options need +to be given as class options when \KOMAScript{} classes are used. +For other classes this works only if they support +\Package{typearea}. For the standard \LaTeX-classes these options +need to be declared when \Package{typearea} is loaded. +\Macro{PassOptionsToPackage} (see \cite{latex:clsguide}) works in +both cases. +% +\EndIndex{Option}{letterpaper} +\EndIndex{Option}{legalpaper} +\EndIndex{Option}{executivepaper} +\EndIndex{Option}{a0paper} +\EndIndex{Option}{b0paper} +\EndIndex{Option}{c0paper} +\EndIndex{Option}{d0paper} +\EndIndex{Option}{landscape} +\EndIndex{Cmd}{isopaper} + +\begin{Declaration} + \Macro{paperwidth}\\ + \Macro{paperheight} +\end{Declaration}% +\BeginIndex{Cmd}{paperwidth}% +\BeginIndex{Cmd}{paperheight}% +Particularly exotic paper sizes can be defined using the lengths +\Macro{paperwidth} and \Macro{paperheight}. +This requires the re-calculation of the text layout using the +commands \Macro{typearea} or \Macro{areaset}. +% +\begin{Example} +Assume you want to print on endless paper with the dimensions +\(8\frac{1}{4}\Unit{inch} \times 12\Unit{inch}\). This format is +not directly supported by \Package{typearea}. Thus you have to +define it befor calculating the text layout: +\begin{verbatim} + \documentclass{article} + \usepackage{typearea} + \setlength{\paperwidth}{8.25in} + \setlength{\paperheight}{12in} + \typearea{1} +\end{verbatim} +\end{Example} +\EndIndex{Cmd}{paperheight} +\EndIndex{Cmd}{paperwidth} + +\begin{Declaration} + \Option{dvips}\\ + \Option{pdftex}\\ + \Option{pagesize} +\end{Declaration}% +\BeginIndex{Option}{dvips}% +\BeginIndex{Option}{pdftex}% +\BeginIndex{Option}{pagesize}% +\begin{Explain}% + These mechanisms will set internal \LaTeX{} dimensions to values that + header, text body and footer can be printed on paper of the given + size. However, the specifications of the DVI-format\index{DVI} do + not allow the paper format to be specified. If DVI is translated + directly into a low level printer language like PCL (Hewlett-Packard + printers) or Esc-P (Epson), this is usually not important, because + in all these cases the origin is the upper left corner. If however + the DVI-source is translated into languages like + PostScript\Index{PostScript} or PDF\Index{PDF}, that have an origin + in a different position and also contain the paper size explicitly, + the required information is not available in the DVI-file. To solve + this problem the DVI-driver will use the default paper size, which + the user may set per option or in the \TeX-source. In case of the + DVI-driver \File{dvips} this can be done with a + \Macro{special}-command. For {pdf\TeX} two dimensions are set + instead. +\end{Explain} +The option \Option{dvips} writes the paper size as a \Macro{special} +into the DVI-file. This macro is then evaluated by \File{dvips}. +\Option{pdftex} on the other hand writes the paper size into the +pdf\TeX{} page register at the beginning of the document, so that the +correct paper size is used when the resulting PDF-file is viewed or +printed. The option \Option{pagesize} is more flexible and uses the +correct mechanism if either a PDF- or DVI-file is produced. +% +\begin{Example} + Assume you want to create a DVI-file from a document and an + online version in PDF. Then the preamble could look like this: + \begin{small} +\begin{verbatim} + \documentclass{article} + \usepackage[a4paper,pagesize]{typearea} +\end{verbatim} + \end{small} + If the file is run through {pdf\TeX} then the lengths + \Macro{pdfpagewidth} and \Macro{pdfpageheight} will be set to + appropriate values. If on the other hand you create a DVI-file -- + either with {\LaTeX} or {pdf\LaTeX} -- a \Macro{special} will be + written to the beginning of the file. +\end{Example}\IndexCmd{pdfpagewidth}\IndexCmd{pdfpagehight} +\EndIndex{Option}{dvips}% +\EndIndex{Option}{pdftex}% +\EndIndex{Option}{pagesize}% + +\section{Odd Bits without Direct Relevance to Text Layout} +\label{sec:typearea.else} + +\begin{Declaration} + \Macro{ifpdfoutput}\Parameter{then}\Parameter{else} +\end{Declaration}% +\BeginIndex{Cmd}{ifpdfoutput}% +Sometimes it would be nice if certain things would be done +differently in a file, depending on output format. \TeX{} normally +uses DVI as output format. With {pdf\TeX} however we now have the +option to create PDF-files directly. The command +\Macro{ifpdfoutput} is a branching command. If PDF-output is +active, the \PName{then} branch will be executed, if PDF-output +is inactive or {pdf\TeX} is not used at all, the +\PName{else} branch. +\begin{Example} + As you may know {pdf\LaTeX} will produce a DVI-file instead of a + PDF-file, if the counter \Macro{pdfoutput} is assigned the value 0. + Only is the counter is assigned a value different from 0 output is + switched to PDF. Since \Macro{pdfoutput} is unknown when {\LaTeX} is + used instead of {pdf\LaTeX}, \Macro{pdfoutput} can not be set to 0 + generally, if you want DVI-output. A simple solution to this problem + is to execute following command: + \begin{small} +\begin{verbatim} + \ifpdfoutput{\pdfoutput=0}{} +\end{verbatim} + \end{small} + This only works after loading \Package{typearea} package. If you + want the line above to be executed after af package, which set's + \Macro{pdfoutput} to 1 whenever the counter exist, you may combine + it with the \Macro{AfterPackage}\IndexCmd{AfterPackage} command + from \Package{scrlfile} package (see \autoref{cha:scrlfile}). +\end{Example}\IndexCmd{pdfoutput} +\EndIndex{Cmd}{ifpdfoutput} + +\section{Local Defaults in the File \File{typearea.cfg}} +\label{sec:typearea.cfg} +Even before the packet options are used, \Package{typearea} will check +for the presence of the file +\File{typearea.cfg}\IndexFile{typearea.cfg} and, if found, load it. +Thus it is possble to define in this file the parameters for +additional paper sizes. + +\begin{Declaration} + \Macro{SetDIVList}\Parameter{List} +\end{Declaration}% +\BeginIndex{Cmd}{SetDIVList}% +\begin{Explain}% + The \Macro{SetDIVList}-parameter was also intended for use in this + file. Befor the option \Option{DIVcalc} was introduced this was the + only possibility to define \Var{DIV}-values for different paper and + font sizes. This list consists of a number of values in curly + parenthesis. The leftmost value is the font size, \(10\Unit{pt}\), + the next for \(11\Unit{pt}\), the third for \(12\Unit{pt}\) and so + on. If you don't use \Macro{SetDIVList} the predefined + \Macro{SetDIVList}% + \PParameter{\PParameter{8}\PParameter{10}\PParameter{12}} will be + used. If no default value is given for a particular font size, + \(10\) will be used. +\end{Explain} + +This command should no longer be used, automatic calculation of text +layout is recommended instead (see +\autoref{sec:typearea.options}). +% +\EndIndex{Cmd}{SetDIVList} + +\section{Hints} +\label{sec:typearea.tips} +\begin{Explain} +In particular for thesis many rules exist that violate even the +most elementary rules of typography. The reasons for such rules +include typographical incompetence of those making them, but also +the fact that they were originally meant for mechanical +typewriters. With a typewriter or a primitive text processor +dating back to the early ´80s it is not possible to produce +typographically correct output without extreme effort. +Thus rules were created that appeared to be achievable and still +allowed easy correction. To avoid short lines made worse by +ragged margins the borders were kept narrow, and the line spacing +increased to 1.5 for corrections. In a single spaced document +even correction signs would have been difficult to add. +When computers became widely available for text processing, some +students tried to use a particularly ``nice'' font to make their +work look better than it really was. They forgot however that +such fonts are often more difficult to read and therefore +unsuitable for this purpose. Thus two bread-and-butter fonts +became widely used which neither fit together nor are +particularly suitable for the job. In particular Times is a +relatively narrow font which was developed at the beginning of +the 20$^{th}$ century for the narrow columns of British +newspapers. Modern versions usually are somewhat improved. But +still the Times font required in many rules does not really fit +to the border sizes prescribed. + +{\LaTeX} already uses sufficient line spacing, and the borders +are wide enough for corrections. Thus a page will look generous, +even when quite full of text. With \Package{typearea} this is +even more true, especially if the calculation of line length is +left to \Package{typearea} too. For fonts that are sensitive to +long lines the line length can easily be reduced. + +To some extend the questionable rules are difficult to implement +in {\LaTeX}. A fixed number of characters per line can be kept +only when a non-proportional font is used. There are very few +good non-proportional fonts around. Hardly a text typeset in this +way looks really good. In many cases font designers try to +increase the serifes on the `i' or `l' to compensate for the +different character width. This can not work and results in a +fragmented and agitated looking text. If you use {\LaTeX} for +your paper, some of these rules have to be either ignored or at +least interpreted generously. For example you may interpret ``60 +characters per line'' not as a fixed, but average or maximal +value. +\end{Explain} + +As executed, record regulations are usually meant to obtaining an +useful result even if the author does not know, what to be consider +thereby. Usefully means frequently: readable and correctable. In my +opinion the type-area of a text set with \LaTeX{} and the +\Package{typearea} package becomes well done from the beginning fair. +Thus if you are confronted with regulations, which deviate obviously +substantially from it, then I recommend to submit a text single dump +to the responsible person and inquire whether it is permitted to +supply the work despite the deviations in this form. If necessary the +type-area can be moderately adapted by modification of option +\Option{DIV}. I advise against use of \Macro{areaset} for this +purpose however. At worst you may use geometry package (see +\cite{package:geometry}), which is not part of \KOMAScript{}, or +change the type-area parameters of \LaTeX. You may find the values +determined by \Package{typearea} at the log file of your document. +Thus moderate adjustments should be possible. However absolutely make +sure that the proportions of the text area correspond approximate with +those the page with consideration of the binding correction. + +If it should be absolutely necessary to set the text +one-and-a-half-lined then you should not redefine +\Macro{baselinestretch} under any circumstances. Although this +procedure is recommended very frequently, it is however obsolet since +the introduction of \LaTeXe{} in 1994. Use at least the instruction +\Macro{linespread}. I recommend package \Package{setspace} (see +\cite{package:setspace}), which is not part of \KOMAScript. Also you +should use \Package{typearea} to calculate a new type-area after the +conversion of the line space. However you should switch back to the +normal line space for the title, better also for the +directories\,---\,as well as the bibliography and the index. The +\Package{setspace} package offers for this a special environment and +own instructions. + +The \Package{typearea} package even with option \Option{DIVcalc} +calculates a very generous text area. Many conservative typographers +will state that the resulting line length is still excessive. The +calculated \Var{DIV}-value may be found in the \File{log} file to the +respective document. Thus you can select a smaller value easily after +the first \LaTeX{} run. + +The question is asked to me not rarely, why I actually talk section by +section about a type-area calculation, while it would be very many +simpler, only to give you a package, with which one can adjust the +edges as during a text processing. Often also one states, such a +package would be anyway the better solution, since everyone knew, how +good edges are to be selected, and the edges from {\KOMAScript} anyway +would not be well. I take the liberty of translating a suitable +quotation from \cite{TYPO:ErsteHilfe}. You may find the original +german words at the german scrguide. + +\begin{quote} + \textsl{The making by oneself is long usually, the results are often + doubtful, because layman typographers do not see, what is correct + and cannot not know, on what it important. Thus one gets + accustomed to false and bad typography.} [\dots] \textsl{Now the + objection could come, typography is nevertheless taste thing. If + it concerned decoration, perhaps one could let apply the argument, + since it concerns however primarily information with typography, + errors cannot only disturb, but even cause damage.} +\end{quote} + +\section{Authors} +\label{sec:typearea.authors} +The authors listed below are responsible for this chapter or have +contributed to this chapter in different ways. +% Please use \textit{} for the name of the translator add all the +% names of the untranslated german file. If the translator is the +% main author, simply use \textbf. +\begin{itemize} +\item Frank Neukam +\item \textbf{Markus Kohm} \TextEMail{Markus.Kohm@gmx.de} +\item Axel Sommerfeldt +\item \textit{Colin Marquardt} +\item \textit{Dr. Engelbert Buxbaum} +\end{itemize} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "main.tex" +%%% End: |