diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex | 2108 |
1 files changed, 1236 insertions, 872 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex index 057354beab2..6fc1f87ef3f 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex @@ -45,53 +45,100 @@ % % ====================================================================== -\ProvidesFile{typearea.tex}[2008/07/10 KOMA-Script guide (chapter: typearea)] +\ProvidesFile{typearea.tex}[2009/01/02 KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug} % Date of translated german file: 2006-11-29 +% Updated: 2008-01-02 \chapter{Construction of the Page Layout with \Package{typearea}} \labelbase{typearea} -\textsc{Note:} Following commands are still missing in this chapter: -\Macro{KOMAoptions}, \Macro{KOMAoption}, \Macro{recalctypearea}. - -\textsc{Note:} Following options are still missing in this chapter: -\OptionValue{BCOR}{current}, \OptionValue{twoside}{semi}, -\KOption{headheight}\PName{height}, \OptionValue{pagesize}{automedia}. +%\textsc{Note:} Following commands are still missing in this chapter: +%\Macro{KOMAoptions}, \Macro{KOMAoption}, \Macro{recalctypearea}. +% +%\textsc{Note:} Following options are still missing in this chapter: +%\OptionValue{BCOR}{current}, \OptionValue{twoside}{semi}, +%\KOption{headheight}\PName{height}, \OptionValue{pagesize}{automedia}. +% +%% Done 2 Jan: sections 2.1, 2.2, 2.3 +%% section 2.4 skipped +%% Done 3 Jan: parts of section 2.5 +%% \OptionValue{BCOR}{current} +%% \OptionValue{twoside}{semi} +%% \OptionValue{headheight}{height} +%% Done 4 Jan: completed section 2.5 +%% \OptionValue{areaset} +%% section 2.4 (common.tex) +%% section 2.6 +%% \OptionValue{pagesize}{automedia} +%% section 2.7 + +Many {\LaTeX} classes, including the standard classes, present the user +with the largely fixed configuration of margins and typearea. With the +standard classes, the configuration determined is very much dependent +on the chosen font size. There do exist separate packages, such as +\Package{geometry}\IndexPackage{geometry} (see +\cite{package:geometry}), which give the user complete control, but +also full responsibility, for the settings of typearea and margins. + +\KOMAScript{} takes a somewhat different approach with its +\Package{typearea} package. Here the user is given several +construction setting and automatization possibilities based on +established typography standards in order to help guide him or her in +making a good choice. + +It should be noted that the \Package{typearea} package makes use of +the \Package{scrbase} package. The latter is explained in the expert +section \iffree{of this document}{of this book} in +\autoref{cha:scrbase} from \autopageref{cha:scrbase} onwards. The +majority of the rules documented there are however not directed at the +user, but rather at class- and package authors. \section{Fundamentals of Page Layout} +\label{sec:typearea.basics} \begin{Explain} If you look at a single page of a book or other printed materials, - 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 the \emph{page layout}. - - The literature offers and discusses different algorithms and - heuristic approaches for constructing a good page layout. Often, + you will see that it consists of top, bottom, left and right + margins, a (running) head area, the text block and a (running) foot + area. There is also a 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 the \emph{page + layout}.\Index[indexmain]{page layout} + +%% +%% GH: sollte man schon Hinweise zum Buch hineinarbeiten? Auskommentiert? +%% \ifx\BUCH\undefined\cite{DANTE:TK0402:MJK}\else(siehe +%% \autoref{cha:typeareaconstruction})\fi + The literature contains much discussion of different algorithms and + heuristic approaches for constructing a good page layout. Often mentioned is an approach which involves diagonals and their - intersections. The result is a page where the text block - proportions are related to the proportions of the \emph{page}. In a + intersections. The result is a page where the text block proportions + are related 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 complete 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, it is often thought that the format of - the page means 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 that is not part of the visible page. It is not the format of - the paper which is important in the layout of a page, it is the - impression of the visible page to the reader. Therefore, it is - clear that the calculation of 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 the \emph{binding correction}. + equal widths. The relation of the upper margin to the lower margin + should be 1\(:\)2. In a double-sided document\Index{double-sided} + (e.\,g. a book) however, the complete inner margin (the margin at + the spine) should be the same as each of the two outer margins; in + other words, a single page contributes only half of the inner + margin. + + In the previous paragraph, we mentioned and emphasized \emph{the + page}. Erroneously, it is often thought that with the page format + the page is also meant the paper format.\Index[indexmain]{paper + format} However, if you look at a bound document, it is obvious + that part of the paper vanishes in the + binding\Index[indexmain]{binding} and is no longer part of the + visible page. For the page layout, it is not the format of the paper + which is important, it is the impression of the visible page to the + reader. Therefore, it is clear that the calculation of 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 the + \emph{binding correction}.\Index[indexmain]{binding correction} The + binding correction is therefore calculated as part of the + \emph{gutter}\Index[indexmain]{gutter}, not however of the visible + inner margin. The binding correction depends on the process of actually producing the document and thus cannot be calculated in general. @@ -106,85 +153,112 @@ text block. 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~height} : \Var{textblock~width} &=& - \Var{page~height} : \Var{page~width}\\ + \begin{align*} + \Var{textblock~height} \Index{textblock height} : \Var{textblock~width} &= + \Var{page~height}\Index{page} : \Var{page~width}\\ + \Var{top~margin}\Index{margin} : \Var{foot~margin} &= + \text{1} : \text{2} \\ % - \Var{page~width} &=& \Var{paper~width} - \Var{binding~correction}\\ + \Var{left~margin} : \Var{right~margin} &= \text{1} : \text{1} \\ % - \Var{top~margin} + \Var{foot~margin} &=& + \Var{half~inner~margin} : \Var{outer~margin} &= \text{1} : \text{2} \\ +% + \Var{page~width} &= + \Var{paper~width}\Index{paper} - + \Var{binding~correction}\Index{binding correction}\\ +% + \Var{top~margin} + \Var{bottom~margin} &= \Var{page~height} - \Var{textblock~height} \\ % - \Var{top~margin} : \Var{foot~margin} &=& 1 : 2 \\ + \Var{left~margin} + \Var{right~margin} &= + \Var{page~width} - \Var{textblock~width} \\ % - \Var{left~margin} : \Var{right~margin} &=& 1 : 1 \\ + \Var{half~inner~margin} + \Var{outer~margin} &= + \Var{page~width} - \Var{textblock~width} \\ % - \Var{half~inner~margin} &=& - \frac{1}{2}\Var{outer~margin} + \Var{binding~correction} \\ - \end{eqnarray*} - The values \Var{left~margin} and \Var{right~margin} only - exist in a single-sided document while \Var{inner~margin} and - \Var{outer~margin} only exist 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. + \Var{half~inner~margin} + \Var{binding~correction} &= + \Var{gutter}\Index{gutter} + \end{align*} + \Index[indexmain]{margin}% + The values \Var{left~margin} and \Var{right~margin} only exist in a + single-sided document while \Var{half~inner~margin} and + \Var{outer~margin} only exist 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 only half of the + inner margin, \Var{half~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 size, width, type of the font used + \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 run - orthogonal to the text line disturb the flow more than they - lead the eye along the line. Those letters have serifs at - the ends 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 sans 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. - - The 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 from it. 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 undesirable. - \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 to not 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. + The importance of the font becomes clear once you think about the + meaning of serifs. Serifs\Index[indexmain]{serifs} are fine strokes + finishing off the lines of the letters. Letters whose main strokes + run orthogonal to the text line disturb the flow rather than keeping + and leading the eye along the line. Those letters then have serifs + at the ends of the vertical strokes so that the horizontal serifs + can help lead the eye horizontally. In addition, they help the eye + to find the beginning of the next line more quickly. Thus, the line + length for a serif font can be slightly longer than for a sans serif + font. + + With leading\Index[indexmain]{leading} is meant the vertical + distance between individual lines of text. In {\LaTeX}, the leading + is set at about 20\% of the font size. With commands like + \Macro{linespread}\IndexCmd{linespread} or, better, packages like + \Package{setspace}\IndexPackage{setspace} (see + \cite{package:setspace}), the leading can be changed. A wider + leading helps the eye to follow the line. A very wide leading, on + the other hand, disturbs reading because the eye has to move a wide + distance between lines. Also, the reader becomes uncomfortable + because of the visible stripe effect. The uniform gray value of the + page is thereby spoiled. Still, with a wider leading, the lines can + be longer. + + The literature gives different values for good line + lengths\Index[indexmain]{line length}, depending on the author. To + some extent, this is related to the native language of the + author. Since the eye jumps from word to word, short words make this + task easier. Considering all languages and fonts, a line length of + 60 to 70 characters, including spaces and punctuation, forms a + usable compromise. This requires well-chosen leading, but {\LaTeX}'s + default is usually good enough. Longer line lengths should only be + considered for highly-developed readers who spend several hours + daily reading. However, even for such, line lengths greater than 80 + characters are unsuitable. In any case, the leading must be + appropriately chosen. An extra 5\% to 10\% are recommended as a good + rule of thumb. With fonts such as Palatino, which require some 5\% + more leading even at normal line lengths, even more can be + required. + + Before looking at the actual construction of the page layout, there + are just some minor things left to know. {\LaTeX} does not start the + first line in the text block of a page at the upper edge of the text + block, but sets the baseline at a defined distance from the top of + the text block. Also, {\LaTeX} knows the commands + \Macro{raggedbottom}\IndexCmd{raggedbottom} and + \Macro{flushbottom}\IndexCmd{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 + combination of the end of the page with titles, figures, tables or + similar, even more. In double-sided documents this is usually + undesirable. \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 to not stretch the paragraph skip on + normal pages where it is the only stretchable glue, the height of + the text block should be set to 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 + {\KOMAScript}. Now, we can begin with the actual construction. \end{Explain} @@ -192,40 +266,92 @@ \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 order that the text area occupy at - least twice as much space as the margins, \Var{DIV} should really be equal - to or greater than 9. With this value, the construction is known as the - \emph{classical division factor of 9}. + The easiest way to make sure that the text area has the same ratios + as the page is as follows: first, one subtracts the part \Var{BCOR}, + required for the binding correction\Index{binding correction}, from + the inner edge of the paper, and divides the rest of the page + vertically into \Var{DIV} rows of equal height; next, one divides + the page horizontally into the same number (\Var{DIV}) of columns; + then, one takes the uppermost row as the upper margin and the two + lowermost rows as the lower margin (if one is printing double-sided, + one must similarly take the innermost column as the inner margin and + the two outermost columns as the outer margin); then, one adds the + binding correction \Var{BCOR} to the inner margin. What now remains + of the page is the text area.\Index{text area} The width and the + height of the text area and margins result automatically from the + number of rows and columns \Var{DIV}. Since the margins always need + three stripes, \Var{DIV} must be necessarily greater than three. In + order that the text area occupy at least twice as much space as the + margins, \Var{DIV} should really be equal to or greater than 9. With + this value, the construction is also known as the \emph{classical + division factor of 9} (see \autoref{fig:typearea.nineparts}). + + \begin{figure} + \centering + \setlength{\unitlength}{.25mm} + \definecolor{komalight}{gray}{.75} + \definecolor{komamed}{gray}{.6} + \definecolor{komadark}{gray}{.3} + \begin{picture}(420,297) + % BCOR + \put(198,0){\color{komalight}\rule{24\unitlength}{297\unitlength}} + \multiput(198,2)(0,20){15}{\thinlines\line(0,1){10}} + \multiput(222,2)(0,20){15}{\thinlines\line(0,1){10}} + % the paper + \put(0,0){\thicklines\framebox(420,297){}} +% \put(210,0){\thicklines\framebox(210,297){}} + % the page layout + \put(44,66){\color{komamed}\rule{132\unitlength}{198\unitlength}} + \put(244,66){\color{komamed}\rule{132\unitlength}{198\unitlength}} + % helper lines + \multiput(0,33)(0,33){8}{\thinlines\line(1,0){198}} + \multiput(222,33)(0,33){8}{\thinlines\line(1,0){198}} + \multiput(22,0)(22,0){8}{\thinlines\line(0,1){297}} + \multiput(244,0)(22,0){8}{\thinlines\line(0,1){297}} + % annotations + \put(198,0){\color{white}\makebox(24,297)[c]{% + \rotatebox[origin=c]{-90}{binding correction}}} + \put(44,66){\color{white}\makebox(132,198)[c]{page layout left}} + \put(244,66){\color{white}\makebox(132,198)[c]{page layout right}} + % box numbers + \makeatletter + \multiput(1,27)(0,33){9}{\footnotesize\makebox(0,0)[l]{\the\@multicnt}} + \multiput(177,291)(-22,0){9}{% + \footnotesize\makebox(0,0)[l]{\the\@multicnt}} + \multiput(419,27)(0,33){9}{% + \footnotesize\makebox(0,0)[r]{\the\@multicnt}} + \multiput(243,291)(22,0){8}{% + \footnotesize\makebox(0,0)[r]{\the\numexpr\@multicnt+1\relax}} + \makeatother + \end{picture} + \caption{Double-sided layout with the box construction of the classical division factor of 9, after subtraction of a binding correction} + \label{fig:typearea.nineparts} + \end{figure} 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 + \Package{typearea} package, where the bottom margin may drop any + fractions of a line in order to conform with the minor condition for + the text area height mentioned in the previous paragraph, and + thereby to minimize the mentioned problem with + \Macro{flushbottom}. For A4 paper, \Var{DIV} is predefined according + to the font size (see \autoref{tab:typearea.div}, + \autopageref{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}, + \autopageref{tab:typearea.typearea}. + + In addition to the predefined values, one can specify \Var{BCOR} and + \Var{DIV} as options when loading the package (see + \autoref{sec:typearea.options}, from + \autopageref{sec:typearea.typearea} onwards). There is also a + command to explicitly calculate the type area by providing these + values as parameters (also see \autoref{sec:typearea.options}, + \autopageref{desc:typearea.cmd.typearea}). + + The \Package{typearea} package can automatically determine the + optimal value of \Var{DIV} for the font and leading used. + Again, see \autoref{sec:typearea.options}, + \autopageref{desc:typearea.option.DIV.calc}. \end{Explain} @@ -233,407 +359,417 @@ \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. The 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 the width of the - page. The exact method is described in \cite{JTsch87}. - - A disadvantage of this late Dark Ages method is that the width of - the text area is no longer dependent on the font. 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 addition to the page layout construction\Index{page layout} + method previously described, a somewhat more classical method can be + found in the literature. The aim of this method is not only to + obtain identical ratios in the page proportions, but it is + considered optimal when the height of the text block is the same as + the width of the page. The exact method is described in + \cite{JTsch87}. + + A disadvantage of this late Middle Age method is that the width of + the text area is no longer dependent on the font. 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 meaningless) \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 + the perfect values of the late Middle Age method as closely as + possible. See also \autoref{sec:typearea.options}, + \autopageref{desc:typearea.option.DIV.calc}. \end{Explain} +\LoadCommon{0} \section{Options and Macros to Influence the Page Layout} -\label{sec:typearea.options} +\label{sec:typearea.typearea} 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} - \KOption{twoside}\PName{value} -\end{Declaration}% -\BeginIndex{Option}{twoside~=\PName{value}}% -These two options have the same effect as in the standard classes. -The option \Option{oneside} defines a one-sided document layout with a -one-sided page layout. This means in particular that normally a ragged -page bottom is used. - -The option \Option{twoside} defines a two-sided document layout with a -two-sided page layout. This means that the {\LaTeX} command -\Macro{flushbottom}\IndexCmd{flushbottom} is used to ensure that page -breaks don't leave a variable empty space at the bottom of a page. A -ragged page bottom can be obtained with the {\LaTeX} command -\Macro{raggedbottom}\IndexCmd{raggedbottom}. -% -\EndIndex{Option}{twoside~=\PName{value}}% - - -\begin{Declaration} - \KOption{twocolumn}\PName{switch} -\end{Declaration}% -\BeginIndex{Option}{twocolumn~=\PName{switch}}% -These values of the option (see \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}) have the same effect like the standard -options \Option{twocolumn} and \Option{onecolumn}. They are used to switch -between a one-column and a two-column layout. The standard {\LaTeX} -capabilities for multi-column layout are only useful for very simple uses. The -standard package \Package{multicol} is much more versatile (see -\cite{package:multicol}).\Index{columns}\IndexPackage{multicol}% -\EndIndex{Option}{twocolumn~=\PName{switch}} - -\begin{table} - \begin{minipage}{\textwidth} - \centering - \caption{Standard values for simple switches within \KOMAScript} - \begin{tabular}{ll} - Value & Description \\\hline\\[-1.75ex] - \PValue{true}\footnote{This value will be used also, if you use the option - without assigning any value.} & activates the option \\ - \PValue{on} & activates the option \\ - \PValue{false}& deactivates the option \\ - \PValue{off} & deactivates the option \\ - \end{tabular} - \label{tab:truefalseswitch} - \end{minipage} -\end{table} +influence type area construction. The more important 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}). + +In this section the \Class{protocol} class will be used, not an +existing {\KOMAScript} class but a hypothetical one. This\iffree{ + documentation}{ book} assumes that ideally there exists a class for +every specific task. +\BeginIndex{Option}{BCOR~=\PName{value}}% \begin{Declaration} - \KOption{BCOR}\PName{Correction} + \KOption{BCOR}\PName{correction} \end{Declaration}% -\BeginIndex{Option}{BCOR~=\PName{value}}% -With the \KOption{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}. +With the aid of the option +\KOption{BCOR}\PName{correction}\ChangedAt{v3.00}{\Package{typearea}} +one may specify the absolute value of the binding +correction\Index{binding correction}, i.\,e., the width of the area +which will be lost from the paper width in the binding process. This +value is then automatically taken into account in the page layout +construction and in the final output is added to the inner (or the +left) margin. For the \PName{correction} specification any measurement +unit understood by \TeX{} is valid. \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{lstlisting} + Assume one is creating a financial report, which should be printed + out single-sided on A4 paper, and finally kept in a clamp + folder. The clamp will hide 7.5\Unit{mm}. The stack of pages is very + thin, thus through paging at most another 0.75\Unit{mm} will be + lost. Therefore, one may write: +\begin{lstcode} \documentclass[a4paper]{report} \usepackage[BCOR=8.25mm]{typearea} -\end{lstlisting} - or, using a {\KOMAScript} class: -\begin{lstlisting} - \documentclass[a4paper,BCOR=8.25mm]{scrreprt} -\end{lstlisting} +\end{lstcode} + or +\begin{lstcode} + \documentclass[a4paper,BCOR=8.25mm]{report} + \usepackage{typearea} +\end{lstcode} + when using \Option{BCOR} as a global option. + + When using a {\KOMAScript} class, the explicit loading of the + \Package{typearea} package can be omitted: + \begin{lstcode} + \documentclass[BCOR=8.25mm]{scrreprt} + \end{lstcode} + The option \Option{a4paper} could be omittied with \Class{scrreprt}, + since this is a predefined setting for all {\KOMAScript} classes. + + If the option is only later set to a new value, one may then use, + for example, the following: + \begin{lstcode} + \documentclass{scrreprt} + \KOMAoptions{BCOR=8.25mm} + \end{lstcode} + Thus, at the loading of the \Class{scrreprt} class standard settings + will be used. When changing the setting with the use of the command + \Macro{KOMAoptions} or \Macro{KOMAoption} a new page layout with new + margins will automatically be calculated. \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. +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. The \Package{typearea} package should neither be +loaded explicitly with \Macro{usepackage} when using a {\KOMAScript} +class, nor should the option be given as an optional argument +thereto. If the option is changed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the package, the textblock and +margins are automatically recalculated anew.% % \EndIndex{Option}{BCOR~=\PName{value}} +\BeginIndex{Option}{DIV~=\PName{value}}% \begin{Declaration} \KOption{DIV}\PName{Factor} \end{Declaration}% -\BeginIndex{Option}{DIV}% -\KOption{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 this: 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 \KOption{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. +With the aid of the option +\KOption{DIV}\PName{Factor}\ChangedAt{v3.00}{\Package{typearea}} the +number of stripes into which the page is divided horizontally and +vertically during the page layout construction is set. The exact +construction method is found in +\autoref{sec:typearea.divConstruction}. Of importance is that the +larger the \PName{Factor}, the larger the text block and the smaller +the margins. Any integer value greater than 4 is valid for +\PName{Factor}. Please note that large values can lead to +unfulfillment of various minor conditions in the type-area, depending +on further options chosen. Thus, in an extreme case, the header may +fall outside of the page. Users applying the option +\KOption{DIV}\PName{Factor} are themselves responsible for fulfillmen +of the marginal conditions and setting of a typographically aesthetic +line length. + +In \autoref{tab:typearea.typearea} are found the type-area sizes for +several \Var{DIV} factors for A4 page without binding correction. Here +the minor conditions dependent on font size are not considered. \begin{table} \centering - \caption{Page layout values depending on \Var{DIV} for A4} + \caption{Type-area dimensions dependent on \Var{DIV} for A4} \begin{tabular}{ccccc} \toprule - & \multicolumn{2}{c|}{Text area} & \multicolumn{2}{c}{Margins}\\ - \emph{DIV}& Width [mm] & Height [mm] & upper [mm] & inner [mm] \\ + & + \multicolumn{2}{c}{Type-area} & \multicolumn{2}{c}{Margins}\\ + %\raisebox{1.5ex}[0pt]{ + \Var{DIV} + %} + & + width [mm] & height [mm] & top [mm] & inner [mm] \\ \midrule - 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 \\ + 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 \\ \bottomrule \end{tabular} \label{tab:typearea.typearea} \end{table} +\iffree{}{\clearpage}% \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{lstlisting} - \documentclass[a4paper,twoside]{protocol} - \usepackage{bookman} - \usepackage[DIV=15]{typearea} -\end{lstlisting} -After you are done you are told that the minutes will be collected and bound -as a book at the end of the year. The binding will be a simple glue binding -carried out 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{lstlisting} + Assume one wants to write a meeting protocol, using the + \Class{protocol} class. The document should be double-sided. In the + company 12\Unit{pt} Bookman font is used. This font, which belongs + to the standard PostScript fonts, is activated in {\LaTeX} with the + command \verb|\usepackage{bookman}|. The Bookman font is a very + wide font, meaning that the individual characters have a large width + relative to their height. Therefore, the predefined value for + \Var{DIV} in \Package{typearea} is insufficient. Instead of the + value of 12 it appears after thorough study of this entire chapter + that a value of 15 should be most suitable. The protocol will not + be bound but punched and kept in a folder. Thus, no binding + correction is necessary. One may then write: + \begin{lstcode} + \documentclass[a4paper,twoside]{protocol} + \usepackage{bookman} + \usepackage[DIV=15]{typearea} + \end{lstcode} + On completion, it is decided that the protocols will from now on be + collected and bound quarterly into book format. The binding is to be + a simple glue binding, because it is only done to conform with + ISO\,9000 and nobody is actually going to read them. For the binding + including space lost in turning the pages, an average of 12\Unit{mm} + is required. Thus, one may change the options of the + \Package{typearea} package accordingly, and use the class for + protocols conforming to ISO\,9000 regulations: + \begin{lstcode} \documentclass[a4paper,twoside]{iso9000p} \usepackage{bookman} \usepackage[DIV=15,BCOR=12mm]{typearea} -\end{lstlisting} - Of course, you can also use a {\KOMAScript} class here: -\begin{lstlisting} +\end{lstcode} + Of course, it is equally possible to use here a {\KOMAScript} class: +\begin{lstcode} \documentclass[twoside,DIV=15,BCOR=12mm]{scrartcl} \usepackage{bookman} -\end{lstlisting} - The option \Option{a4paper} was omitted using class \Class{scrartcl}, - because it is the default for all {\KOMAScript} classes. +\end{lstcode} +The \Option{a4paper} option can be left out when using the +\Class{scrartcl} class, as it is predefined in all {\KOMAScript} +classes. \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} +Please note that when using the \Option{DIV} option with one of the +{\KOMAScript} classes as in the example above, it must be used either +as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. The \Package{typearea} +package should neither be loaded explicitly with \Macro{usepackage} +when using a {\KOMAScript} class, nor should the option be given as an +optional argument thereto. If the option is changed via +\Macro{KOMAoptions} or \Macro{KOMAoption} after loading the package, +the textblock and margins are automatically recalculated anew.% + +\BeginIndex{Option}{DIV~=classic}% +\BeginIndex{Option}{DIV~=calc}% \begin{Declaration} - \Option{DIV=calc}\\ - \Option{DIV=classic} + \OptionValue{DIV}{calc}\\ + \OptionValue{DIV}{classic} \end{Declaration}% -\BeginIndex{Option}{DIV~=calc}% -\BeginIndex{Option}{DIV~=classic}% -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{DIV=calc} instead of -\KOption{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. +As\ChangedAt{v3.00}{\Package{typearea}} already mentioned in +\autoref{sec:typearea.divConstruction}, for A4 paper there are fixed +predefined settings for the \Var{DIV} value. These can be found in +\autoref{tab:typearea.div}. If a different paper format is chosen, +then the \Package{typearea} package independently calculates an +appropriate \Var{DIV} value. Of course this same calculation can be +applied also to A4. To obtain this result, one simply uses the +\OptionValue{DIV}{calc} option in place of the +\KOption{DIV}\PName{Factor} option. This option can just as easily be +explicity given for other paper formats. If one desires an automatic +calculation, this also makes good sense, since the possibility exists +to configure different predefined settings in a configuration file +(see \autoref{sec:typearea-experts.cfg}). An explicit passing of the +\OptionValue{DIV}{calc} option then overwrites such configuration +settings. \begin{table} \centering - \caption{\label{tab:typearea.div}\PName{DIV} defaults for A4} + \caption{\label{tab:typearea.div}Predefined settings of \PName{DIV} for A4} \begin{tabular}{lccc} \toprule - Base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ + base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ \Var{DIV}: & 8 & 10 & 12 \\ \bottomrule \end{tabular} \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 \KOption{DIV}\PName{Factor} or -\Option{DIV=calc}, use the option \Option{DIV=classic}. +The classical page layout construction, the Middle Age book design +canon, mentioned in \autoref{sec:typearea.circleConstruction}, is +similarly selectable. Instead of the \KOption{DIV}\PName{Faktor} or +\OptionValue{DIV}{calc} option, one may use the +\OptionValue{DIV}{classic} option. A \Var{DIV} value closest to the +Middle Age book design canon is then chosen. \begin{Example} - In the example for \KOption{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{lstlisting} + In the example using the Bookman font with the + \KOption{DIV}\PName{Factor} option, exactly that problem of choosing + a more appropriate \Var{DIV} value for the font arose. As a + variation on that example, one could simply leave the choice of such + a value to the \Package{typearea} package: +\begin{lstcode} \documentclass[a4paper,twoside]{protocol} \usepackage{bookman} \usepackage[DIV=calc]{typearea} -\end{lstlisting} +\end{lstcode} \end{Example} +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. The \Package{typearea} package should neither be +loaded explicitly with \Macro{usepackage} when using a {\KOMAScript} +class, nor should the option be given as an optional argument +thereto. If the option is changed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the package, the textblock and +margins are automatically recalculated anew.% +% +\EndIndex{Option}{DIV~=classic}% +\EndIndex{Option}{DIV~=calc}% +\BeginIndex{Option}{DIV~=current}% +\BeginIndex{Option}{DIV~=last}% \begin{Declaration} - \Macro{typearea}\OParameter{BCOR}\Parameter{DIV} + \OptionValue{DIV}{current}\\ + \OptionValue{DIV}{last} \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. In that case the -options to \Package{typearea} would have to be made before loading -the e.\,g. \Package{bookman} package. So -\Package{typearea} could only calculate the page layout for the -standard font, but not for the Bookman font which is really -to be used. Therefore, 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{DIV=calc}, the -(normally invalid) value~\(1\) is given; with the option -\Option{DIV=classic} the (normally invalid) value~\(3\). You can -also call \Macro{typearea} explicitly in the preamble. +Readers\ChangedAt{v3.00}{\Package{typearea}} who have followed the +examples with acuity actually already know how to calculate a +\Var{DIV} value dependent on the chosen font, when a {\KOMAScript} +class is used together with a font package. + +\begin{Explain} + The problem is that the {\KOMAScript} class already loads the + \Package{typearea} package itself. Thus, it is not possible to pass + options as optional arguments to \Macro{usepackage}. It would also + be pointless to pass the \OptionValue{DIV}{calc} option as an + optional argument to \Macro{documentclass}. This option would be + evaluated immediately on loading the \Package{typearea} package and + as a result the text block and margin would be chosen according to + the {\LaTeX} standard font and not for the later loaded + font. However, it is quite possible to recalculate the text block + and margins anew after loading the font, with the aid of + \Macro{KOMAoptions}\PParameter{DIV=calc} or + \Macro{KOMAoption}\PParameter{DIV}\PParameter{calc}. Via + \PValue{calc} an appropriate \Var{DIV} value for an good line length + is then chosen. + + As it is often more practical to set the \Option{DIV} option not + after loading the font, but at a more visible point, such as when + loading the class, the \Package{typearea} package offers two further + symbolic valies for this option. +\end{Explain} + +With \KOption{DIV}\PName{current}\ChangedAt{v3.00}{\Package{typearea}} +a renewed calculation of text block and margin is requested, in which +the currently-set \Var{DIV} will be used. This is less of interest for +renewed type-area calculations after loading a different font; it is +rather more useful for determining, for example, after changing the +leading, while keeping \Var{DIV} the same, that the marginal condition +is fulfilled that \Length{textheight} less +\Length{topskip} is a multiple of \Length{baselineskip}. + +With \KOption{DIV}\PName{last}\ChangedAt{v3.00}{\Package{typearea}} a +renewed calculation of text block and margin is requested, where +exactly the same setting is used as in the last calculation. \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{DIV=calc} = 1 as - \PName{DIV} parameter: -\begin{lstlisting} + Let us take up the previous example again, in which a good line + length is required for a type-area using the Bookman font. At the + same time, a {\KOMAScript} class is to be used. This is easily + possible using the symbolic value \PValue{last} and the command + \Macro{KOMAoptions}: +\begin{lstcode} \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl} \usepackage{bookman} - \typearea[12mm]{1}% same as class options above -\end{lstlisting} - Again option \Option{a4paper} was not used explicitly, because it's the - default of the {\KOMAScript} class \Class{scrartcl}. + \KOMAoptions{DIV=last} +\end{lstcode} +If it should later be decided that a different \Var{DIV} value is +required, then only the setting of the optional argument to +\Macro{documentclass} need be changed. \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{DIV=calc} and -\Option{DIV=classic}. Thus the \Macro{typearea} also accepts -symbolic values for the parameter \PName{DIV} which are listed in -\autoref{tab:symbolicDIV}. +A summary of all possible symbolic values for the \Option{DIV} option +can be founf in \autoref{tab:symbolicDIV}. At this point it is noted +that the use of the \Package{fontenc}\IndexPackage{fontenc} package +can also lead to \LaTeX{} loading a different font. \begin{table} - \caption[{Available symbolic \PName{DIV} values for - \Macro{typearea}}]{Available symbolic \PName{DIV} values for + \caption[{Symbolic values for the \Option{DIV} option and the + \PName{DIV} argument to \Macro{typearea}}]{Possible symbolic values for the \Option{DIV} option or the \PName{DIV} argument to \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} \label{tab:symbolicDIV} \begin{desctabular} - \pventry{calc}{re-calculate page layout and determine \Var{DIV}.}% - \pventry{classic}{re-calculate page layout using the classical method - (circle).}% - \pventry{current}{re-calculate page layout with current value of - \Var{DIV}.}% - \pventry{default}{re-calculate page layout with default values for the - current page and font size. If no default values exist, apply - \PValue{calc}.}% - \pventry{last}{re-calculate page layout using the same - \PName{DIV} argument, which was set last time.}% + \pventry{areaset}{Recalculate page + layout.\IndexOption{DIV~=areaset}}% + \pventry{calc}{Recalculate type-area including choice of + appropriate \Var{DIV} value.\IndexOption{DIV~=calc}}% + \pventry{classic}{Recalculate type-area using Middle Age book + design canon (circle-based + calculation).\IndexOption{DIV~=classic}}% + \pventry{current}{Recalculate type-area using current \Var{DIV} + value.\IndexOption{DIV~=current}}% + \pventry{default}{Recalculate type-area using the standard value + for the current page format and current font size. If no + standard value exists, \PValue{calc} is + used.\IndexOption{DIV~=default}}% + \pventry{last}{Recalculate type-area using the same \PName{DIV} + argument as was used in the last call.\IndexOption{DIV~=last}}% \end{desctabular} \end{table} -The \Macro{typearea} also understands the symbolic values for the parameter -\PName{BCOR} shown in \autoref{tab:symbolicBCOR}. Thus it is not neccesary to -re-enter the current value. - -\begin{table} - \caption[{Available symbolic \PName{BCOR} values for - \Macro{typearea}}]{Available symbolic \PName{BCOR} values for - \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} - \label{tab:symbolicBCOR} - \begin{desctabular} - \pventry{current}{Re-calculate page layout using the current value for - \Var{BCOR}.}% - \end{desctabular} -\end{table} - -\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{lstlisting} - \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl} - \usepackage{bookman} - \typearea[current]{calc} -\end{lstlisting} - If we want to use a fixed value for \Var{DIV} we can use either: -\begin{lstlisting} - \documentclass[BCOR=12mm,DIV=11,twoside]{scrartcl} - \usepackage{bookman} - \typearea[current]{last} -\end{lstlisting} - or the old method: -\begin{lstlisting} - \documentclass[a4paper,twoside]{scrartcl} - \usepackage{bookman} - \typearea[12mm]{11} -\end{lstlisting} - In the end it is a matter of personal taste which of these solutions 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. - +Often the renewed type-area calculation is required in combination +with a change in the line spacing +(\emph{leading})\Index{leading}. Since the type-area should be +calculated such that an integer number of lines fit in the text block, +a change in the leading normally requires a recalculation of the page +layout. + \begin{Example} - Assume you want to write a thesis and university regulations require a font - size of 10\Unit{pt} with one and a half line spacing. {\LaTeX} uses by - default a line spacing of 2\Unit{pt} at font size 10\Unit{pt} (a line - spacing of 1.2). Thus a stretch-factor of 1.25 is required. Let us also - assume that binding correction needs 12\Unit{mm}. Then you might use: -\begin{lstlisting} - \documentclass[10pt,twoside,% - BCOR=12mm,DIV=calc]{scrreprt} + For a thesis document, a font of size 10\Unit{pt} and a spacing of + 1.5 lines is required. By default, {\LaTeX} sets the leading for + 10\Unit{pt} at 2\Unit{pt}, in other words 1.2 lines. Therefore, an + additional stretch factor of 1.25 is needed. Additionally, a binding + correction of \(12\Unit{mm}\) is stipulated. Then the solution could be + written as follows: +\begin{lstcode} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \linespread{1.25} - \typearea[current]{last} -\end{lstlisting}\IndexCmd{linespread} - \Macro{typearea} automaticly calls \Macro{normalsize}. So it is not - neccessary to use \Macro{selectfont} after \Macro{linespread} to activate - the changed line spacing before re-calculation of the page layout. - - The same example again, using the \Package{setspace} package (see - \cite{package:setspace}): -\begin{lstlisting} - \documentclass[10pt,twoside,% - BCOR=12mm,DIV=calc]{scrreprt} + \KOMAoptions{DIV=last} +\end{lstcode}\IndexCmd{linespread} +Since \Package{typearea} always executes the command +\Macro{normalsize} itself upon calculation of a new type-area, it is +not necessary to activate the chosen leading with \Macro{selectfont} +after \Macro{linespread}, sicne this will be used already in the +recalculation. + +When using the \Package{setspace} package (see +\cite{package:setspace}), the same example would appear as follows: +\begin{lstcode} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \usepackage{setspace} \onehalfspacing - \typearea[current]{last} -\end{lstlisting} - 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{lstlisting} - \documentclass[10pt,twoside,% - BCOR=12mm,DIV=calc]{scrreprt} + \KOMAoptions{DIV=last} +\end{lstcode} +As can be seen, with the use of the \Package{setspace} package one no +longer neesds to know the correct stretch value. + +At this point it should be noted that the line spacing for the title +page should be reset to the normal value. +\iffalse% Umbruchkorrektur + A complete example would be: +\fi +\begin{lstcode} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \usepackage{setspace} \onehalfspacing - \typearea[current]{last} + \KOMAoptions{DIV=last} \begin{document} \title{Title} \author{Markus Kohm} @@ -643,204 +779,453 @@ line spacing requires a re-calculation of page layout. \end{spacing} \chapter{Ok} \end{document} -\end{lstlisting} - See also the notes in \autoref{sec:typearea.tips}. +\end{lstcode} + See further also the notes in \autoref{sec:typearea.tips}. \end{Example} +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. The \Package{typearea} package should neither be +loaded explicitly with \Macro{usepackage} when using a {\KOMAScript} +class, nor should the option be given as an optional argument +thereto. If the option is changed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the package, the textblock and +margins are automatically recalculated anew.% +% +\EndIndex{Option}{DIV~=current}% +\EndIndex{Option}{DIV~=last}% +\EndIndex{Option}{DIV~=\PName{value}} + +\BeginIndex{Cmd}{typearea}% +\BeginIndex{Cmd}{recalctypearea}% +\begin{Declaration} + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}\\ + \Macro{recalctypearea} +\end{Declaration}% \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 {\LaTeX}3. However, as author of {\KOMAScript} I expect considerable - incompatibilities when we change to {\LaTeX}3.% -\end{Explain}% -\EndIndex{Cmd}{typearea}% -\EndIndex{Option}{DIV~=classic}% -\EndIndex{Option}{DIV~=calc}% + If the \Option{DIV} option or the \Option{BCOR} option is set after + loading of the \Package{typearea} package, then internally the + command \Macro{typearea} is called. When setting the \Option{DIV} + option the symbolic value \PValue{current} is used internally for + \PName{BCOR}, which for reasons of completeness is found also in + \autoref{tab:symbolicBCOR}. When setting the \Option{BCOR} option, + the symbolic value \PValue{last} is used internally for + \PName{DIV}. If it is instead desired that the text block and + margins should be recalculated using the symbolic value + \PValue{current} for \PName{DIV}, then + \Macro{typearea}\PParameter{current}\PParameter{current} can be used + directly. +\end{Explain} + +\begin{table} + \caption[{Symoblic \PName{BCOR} arguments for + \Macro{typearea}}]{Possible symbolic \PName{BCOR} arguments for + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} + \label{tab:symbolicBCOR} + \begin{desctabular} + \pventry{current}{Recalculate type-area with the currently valid + \Var{BCOR} value.\IndexOption{BCOR~=current}} + \end{desctabular} +\end{table} + +If both \PName{BCOR} and \PName{DIV} need changing, then it is +recommended to use \Macro{typearea}, since then the text block and +margins are recalculated only once. With +\Macro{KOMAoptions}\PParameter{\KOption{DIV}\PName{DIV},% + \KOption{BCOR}\PName{BCOR}} the text block and margins are +recalculated once for the change to \PName{DIV} and again for the +change to \PName{BCOR}. \begin{Explain} + The command \Macro{typearea} is currently defined so as to make it + possible to change the type-area anywhere within a + document. Several assumptions about the structure of the {\LaTeX} + kernel are however made and internal definitions and sizes of the + kernel changed. There is a definite possibility, but no guarantee, + that this will continue to function in future versions of + \LaTeXe{}. When used within the document, a page break will result. +\end{Explain} + +Since \Macro{typearea}\PParameter{current}\PParameter{last} or +\Macro{KOMAoptions}\PParameter{DIV=last} are often needed for +recalculation of the type-area, there exists specially the +abbreviated command +\Macro{recalctypearea}\ChangedAt{v3.00}{\Package{typearea}}. + +\begin{Example} + If one finds the notation + \begin{lstcode} + \KOMAoptions{DIV=last} + \end{lstcode} + or + \begin{lstcode} + \typearea[current]{last} + \end{lstcode} + for the recalculation of text block and margins too complicated for + reasons of the many special characters, then one may use more simply + the following. + \begin{lstcode} + \recalctypearea + \end{lstcode} +\end{Example}% +\EndIndex{Cmd}{recalctypearea}% +\EndIndex{Cmd}{typearea} + +\BeginIndex{Option}{twoside~=\PName{switch}}% +\BeginIndex{Option}{twoside~=semi}% \begin{Declaration} - \KOption{headinclude}\PName{switch}\\ - \KOption{footinclude}\PName{switch} + \KOption{twoside}\PName{switch}\\ + \OptionValue{twoside}{semi} \end{Declaration}% +As already explained in \autoref{sec:typearea.basics}, the margin +configuration is dependent on whether the document is to be typeset +single- or double-sided. For single-sided typesetting, the left and +right margins are equally wide, whereas for double-sided printing the +inner margin of one page is only half as wide as the corresponding +outer margin. In order to implement this distinction, the +\Package{typearea} package must be given the \Option{twoside} option, +if the document is to be typeset double-sided. Being a \PName{switch}, +any of the standard values for simple switches in +\autoref{tab:truefalseswitch} are valid. If the option is passed +without a value, the value \PValue{true} is assumed, so double-sided +typesetting is carried out. Deactivation of the option leads to +single-sided typesetting. + +\begin{table} + \begin{minipage}{\textwidth} + \centering + \caption{Standard values for simple switches in \KOMAScript} + \begin{tabular}{ll} + \toprule + Value & Description \\ + \midrule + \PValue{true}\footnote{This value will be used also, if you use the option + without assigning any value.} & activates the option \\ + \PValue{on} & activates the option \\ + \PValue{yes} & activates the option \\ + \PValue{false}& deactivates the option \\ + \PValue{off} & deactivates the option \\ + \PValue{no} & deactivates the option \\ + \bottomrule + \end{tabular} + \label{tab:truefalseswitch} + \end{minipage} +\end{table} + +Apart from the values in \autoref{tab:truefalseswitch} the value +\PValue{semi}\ChangedAt{v3.00}{\Package{typearea}} can also be +given. The value \PValue{semi} results in a double-sided typesetting +with single-sided margins and single-sided, i.\ e., not alternating, +margin notes. + +The option can also be passed as class option in +\Macro{documentclass}, as package option to \Macro{usepackage}, or +even after loading of the \Package{typearea} package with the use of +per \Macro{KOMAoptions} or \Macro{KOMAoption}. Use of the option after +loading the \Package{typearea} package results automatically to a +recalculation of the type-area using \Macro{recalctypearea} (see +\autopageref{desc:typearea.cmd.recalctypearea}). If double-sided +typesetting was active before the option was set, then before the +recalculation a page break is made to the next odd page.% +% +\EndIndex{Option}{twoside~=semi}% +\EndIndex{Option}{twoside~=\PName{switch}} + +\BeginIndex{Option}{twocolumn~=\PName{switch}}% +\begin{Declaration} + \KOption{twocolumn}\PName{switch} +\end{Declaration} +For the calculation of a good type-area with the help of +\OptionValue{DIV}{calc} it is useful to know in advance if the +document is to be typeset one-column or two-column. Since the +observations about line length in \autoref{sec:typearea.basics} then +apply to each column, the width of a type-area in a two-column +document can be up to double that in a one-column document. + +To implement this difference, the \Package{typearea} package must be +told via the \Option{twocolumn} option whether the document is to be +two-column. Since this is a \PName{switch}, any of the standard values +for simple switches from \autoref{tab:truefalseswitch} is valid. If +the option is passed without a value, the value \PValue{true} is +assumed, i.\,e., two-column typesetting. Deactivation of the option +results in one-column typesetting. + +The option can also be passed as class option in +\Macro{documentclass}, as package option to \Macro{usepackage}, or +even after loading of the \Package{typearea} package with the use of +per \Macro{KOMAoptions} or \Macro{KOMAoption}. Use of the option after +loading the \Package{typearea} package results automatically to a +recalculation of the type-area using \Macro{recalctypearea} (see +\autopageref{desc:typearea.cmd.recalctypearea}).% +% +\EndIndex{Option}{twocolumn~=\PName{switch}} + + \BeginIndex{Option}{headinclude~=\PName{switch}}% \BeginIndex{Option}{footinclude~=\PName{switch}}% -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{lshort} 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 headings \Index[indexother]{running heading}. In case of -running headings 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. +\begin{Declaration} + \KOption{headinclude}\PName{switch}\\ + \KOption{footinclude}\PName{switch} +\end{Declaration}% +\begin{Explain}% + So far we have discussed how the type-area is + calculated\Index{type-area} and what the relationship of the + margins\Index{margins} to one another and between margins and text + block. However, one important question has not been answered: What + constitutes the margins? + + At first glance the question appears trivial: Margins are those + parts on the right, left, top and bottom which remain empty. But + this is only half the story. Margins are not always empty. There may + be margin notes, for example (see \Macro{marginpar} command in + \cite{lshort} or \autoref{sec:maincls.marginNotes}). + + One could also ask, whether headers\Index{page header} and + footers\Index{page footer} belong to the upper and lower margins or + to the text. This can not be answered unambiguously. Of course an + empty footer or header belong to the margins, since they can not be + distinguished from the rest of the margin. A header or footer, that + contains only a page + number\Index[indexmain]{pagination}\footnote{Pagination refers to + the indication of the page number.}, will optically appear more + like a margin. For the optical appearance it is not important + whether headers or footers are easily recognized as such during + reading. Important is only, how a well filled page appears when + viewed \emph{out of focus}. One could use the glasses of one's + far-sighted grand parents, or, lacking those, adjust one's 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 headings \Index[indexmain]{running + headings}\footnote{Running headings refer to the repetition of a + title in titling font, which is more often typeset in the page + header, less often in the page footer.}. In case of running + headings 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 an + empty margin. It is more difficult if the pagination is in the + footer, and the length of the titles varies, so that the header may + appear as a margin on one page and as text on another. However, + these pages should not be treated differently under any + circumstances, as this would lead to vertically jumping headers. In + this case it is probably best to count the header as part of 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 \OptionValue{headinclude}{false} and -\OptionValue{footinclude}{false} cause them to be counted as border (see -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}). If you are -unsure about the correct setting, re-read above explanations. Default is -usually \OptionValue{headinclude}{false} and -\OptionValue{footinclude}{false}, but this can change depending on -{\KOMAScript} class and {\KOMAScript} packages used (see -\autoref{sec:maincls.options} and \autoref{cha:scrpage}). +The \Package{typearea} package can not make the decision whether or +not to count headers and footers as part of the text body or the +margin. Options \Option{headinclude} and \Option{footinclude} cause +the header or footer to be counted as part of the text. These +options, being a \PName{switch}\ChangedAt{v3.00}{\Package{typearea}}, +understand the standard values for simple switches in +\autoref{tab:truefalseswitch}. One may use the options without +specifying a value, in which case the value \PValue{true} is used for +the \PName{switch}, i.\,e., the header or footer is counted as part of +the text. + +Readers who are unsure about the the correct setting should re-read +the above explanations. Default is usually +\OptionValue{headinclude}{false} and \OptionValue{footinclude}{false}, +but this can change depending on {\KOMAScript} class and {\KOMAScript} +packages used (see \autoref{sec:maincls.options} and +\autoref{cha:scrpage}). + +Please note that when using these options with one of the +{\KOMAScript} classes as in the example above, they must be used +either as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. Changing of these options +after loading the \Package{typearea} package does not result in an +automatic recalculation of the type-area. Instead, the changes only +take effect at the next recalculation of the type-area. For +recalculation of the type-area, refer to the \Option{DIV} option with +the values \PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % \EndIndex{Option}{headinclude~=\PName{switch}}% \EndIndex{Option}{footinclude~=\PName{switch}}% + +\BeginIndex{Option}{mpinclude~=\PName{switch}}% \begin{Declaration} \KOption{mpinclude}\PName{switch} \end{Declaration} -\BeginIndex{Option}{mpinclude~=\PName{switch}}% 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} (see -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}) does exactly -this. The effect is that one width-unit of the text body is taken for the -margin-note area. Using option \OptionValue{mpinclude}{false}, 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-sided or double-sided page layout has been chosen. The option -\Option{mpinclude} is mainly for experts and so not recommended. + \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 option, as a +\PName{switch}\ChangedAt{v3.00}{\Package{typearea}}, understands the +standard values for simple switches in +\autoref{tab:truefalseswitch}. One may also pass this option without +specifying a value, in which case the value \PValue{true} for +\PName{switch} is assumed. + +The effect of \OptionValue{mpinclude}{true} is that one width-unit of +the text body is taken for the margin-note area. Using option +\OptionValue{mpinclude}{false}, 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-sided or +double-sided page layout has been chosen. The option +\Option{mpinclude}{true} 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 - \begin{lstlisting} + 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. This is another reason the + \Option{mpinclude} option is primarily left for experts. Of course + one can setup the margin-width to reach a third right into the + normal margin, for example using + \begin{lstcode}[belowskip=\dp\strutbox] \setlength{\marginparwidth}{1.5\marginparwidth} - \end{lstlisting} + \end{lstcode} 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{DIV=calc}\IndexOption{DIV~=calc} heeds \Option{mpinclude}. + Currently there is no option to enlarge the margin by a given + amount. The only solution is to either not use the option + \Option{mpinclude} or to set \Option{mpinclude} to \PValue{false}, + and instead 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 combined with automatic calculation of the + \PName{DIV} value. In contrast + \Option{DIV=calc}\IndexOption{DIV~=calc} (see + \autopageref{desc:typearea.option.DIV.calc}) heeds + \Option{mpinclude}. \end{Explain} + +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. Changing of this option after loading the +\Package{typearea} package does not result in an automatic +recalculation of the type-area. Instead, the changes only take effect +at the next recalculation of the type-area. For recalculation of the +type-area, refer to the \Option{DIV} option with the values +\PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % \EndIndex{Option}{mpinclude~=\PName{switch}}% +\BeginIndex{Option}{headlines~=\PName{number}}% +\BeginIndex{Option}{headheight~=\PName{height}}% \begin{Declaration} - \KOption{headlines}\PName{value} + \KOption{headlines}\PName{number of lines}\\ + \KOption{headheight}\PName{height} \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 followed 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 too 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. +We have seen how to calculate the type-area using the +\Package{typearea} package and how to specify whether header and +footer are part of the text or the margins. However, in particular for +the header, we still have to specify the height. This is achieved with +the options \Option{headlines} and +\Option{headheight}\ChangedAt{v3.00}{\Package{typearea}}. + +The option \Option{headlines} is set to the number of header +lines. The \Package{typearea} package 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 margin is not affected too 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 header with two lines. Normally this would result in a ``\texttt{overfull} \Macro{vbox}'' warning for each page. To prevent this from happening, the \Package{typearea} package is told to - calculate an appropriate page layout: -\begin{lstlisting} + calculate an appropriate type-area: +\begin{lstcode} \documentclass[a4paper]{article} \usepackage[headlines=2.1]{typearea} -\end{lstlisting} - If you use a {\KOMAScript} class this must be given as a class option: -\begin{lstlisting} +\end{lstcode} +If you use a {\KOMAScript} class it is recommended to pass this option +directly as a class option: +\begin{lstcode} \documentclass[a4paper,headlines=2.1]{scrartcl} -\end{lstlisting} - A tool that can be used to define the contents of a header with two - lines is described in \autoref{cha:scrpage}. +\end{lstcode} +Commands that can be used to define the contents of a header with two +lines are 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}). +In some cases it is useful to be able to specift the header height not +in lines but directly as a length measurement. This is accomplished +with the aid of the alternative option \Option{headheight}. For +\PName{height} any lengths and sizes that \LaTeX{} understands are +valid. It should be noted though that when using a \LaTeX{} length +such as \Length{baselineskip} its value at the time of the calculation +of the type-area and margins, not at the time of setting of the +option, is decisive. + +Please note that when using these options with one of the +{\KOMAScript} classes as in the example above, they must be used +either as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. Changing of these options +after loading the \Package{typearea} package does not result in an +automatic recalculation of the type-area. Instead, the changes only +take effect at the next recalculation of the type-area. For +recalculation of the type-area, refer to the \Option{DIV} option with +the values \PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % -\EndIndex{Option}{headlines} +\EndIndex{Option}{headheight~=\PName{height}}% +\EndIndex{Option}{headlines~=\PName{number}} + +\BeginIndex{Cmd}{areaset}% \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}, -\OptionValue{headinclude}{false}, \Option{footinclude} and \OptionValue{footinclude}{false} -where needed. +So far we have seen how a good or even very good +type-area\Index{type-area} 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 some +specified dimensions. At the same time the margins 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 +margins will then be calculated automatically, taking account of the +options \Option{headinclude}, \OptionValue{headinclude}{false}, +\Option{footinclude} and \OptionValue{footinclude}{false} where +needed. On the ther hand, the options +\Option{headlines}\IndexOption{headlines} and +\Option{headheight}\IndexOption{headheight} are ignored! \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{lstlisting} +\begin{lstcode} \documentclass[a4paper,11pt]{article} \usepackage{typearea} \newlength{\CharsLX}% Width of 60 characters @@ -850,336 +1235,315 @@ where needed. \setlength{\LinesXXX}{\topskip} \addtolength{\LinesXXX}{29\baselineskip} \areaset{\CharsLX}{\LinesXXX} -\end{lstlisting} - You need only 29 instead of 30, because the base line of the topmost text - line is \Macro{topskip} below the top margin of the type area. +\end{lstcode} +You need only 29 instead of 30, because the base line of the topmost +text line is \Macro{topskip} below the top margin of the type area, as +long as the height of the topmost line is less than +\Macro{topskip}. Thus, the uppermost line does not require any +height. The descenders of characters on the lowermost line, on the +other hand, hang below the dimensions of the type-area. \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{lstlisting} - \documentclass{gedichte} +\begin{lstcode} + \documentclass{poetry} \usepackage{typearea} \areaset[1cm]{15cm}{15cm} -\end{lstlisting} +\end{lstcode} \end{Example} \EndIndex{Cmd}{areaset} -The \Package{typearea} package was not made to set up predefined margin -values. If you have to do so you may use package \Package{geometry} (see +BeginIndex{Option}{DIV~=areaset}% +\begin{Declaration} + \OptionValue{DIV}{areaset} +\end{Declaration}% +In\ChangedAt{v3.00}{\Package{typearea}} rare cases it is useful to be +able to reconstruct the current type-area anew. This is possible via +the option \OptionValue{DIV}{areaset}, where +\Macro{KOMAoptions}\PParameter{DIV=areaset} corresponds to the +\begin{lstcode}[belowskip=\dp\strutbox] + \areaset[current]{\textwidth}{\textheight} +\end{lstcode} +command. The same result is obtained if one uses +\OptionValue{DIV}{last} and the typearea was last set with +\Macro{areaset}.% +% +\EndIndex{Option}{DIV~=areaset}% + +The \Package{typearea} package was not made to set up predefined +margin values. If you have to do so you may use package +\Package{geometry}\IndexPackage{geometry} (see \cite{package:geometry}). -\section{Options and Macros for Paper Format Selection} -\label{sec:typearea.paperTypes} +\section{Paper Format Selection} +\label{sec:typearea.paperTypes}% +\BeginIndex{}{paper>format}% + +The paper format is a definitive characteristic of any document. As +already mentioned in the description of the supported page layout +constructions (see \autoref{sec:typearea.basics} to +\autoref{sec:typearea.circleConstruction} from +\autopageref{sec:typearea.basics} onwards), the entire page division +and document layout depends on the paper format. Whereas the {\LaTeX} +standard classes are restricted to a few formats, {\KOMAScript} +supports in conjunction with the \Package{typearea} package even +exotic paper sizes. -\Index{paper format}% -The {\LaTeX} standard classes support the options \Option{a4paper}, -\Option{a5paper}, \Option{b5paper}, \Option{letterpaper}, -\Option{legalpaper} and \Option{executivepaper}. These are support be -\Package{typearea} in the same way. +\BeginIndex{Option}{paper~=\PName{format}}% +\BeginIndex{Option}{paper~=\PName{orientation}}% \begin{Declaration} - \OptionValue{paper}{letter} \\ - \OptionValue{paper}{legal} \\ - \OptionValue{paper}{executive} \\ - \OptionValue{paper}{a\Var{X}} \\ - \OptionValue{paper}{b\Var{X}} \\ - \OptionValue{paper}{c\Var{X}} \\ - \OptionValue{paper}{d\Var{X}} \\ - \Option{landscape} \\ - \Macro{isopaper}\OParameter{series}\Parameter{number} + \KOption{paper}\PName{format} \end{Declaration}% -\BeginIndex{Option}{paper~=\PName{size}} -\BeginIndex{Option}{landscape} -\BeginIndex{Cmd}{isopaper}% -In addition to the paper formats of the standard classes, 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 -\OptionValue{paper}{a0}, \OptionValue{paper}{a1} 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}. +The option \Option{paper}\ChangedAt{v3.00}{\Package{typearea}} is the +central element for format selection in \KOMAScript. \PName{Format} +supports first of all the american formats \Option{letter}, +\Option{legal} and \Option{executive}. In addition, it supports the +ISO formats of the series A, B, C and D, for example \PValue{A4} +or\,---\,written in lowercase\,---\,\PValue{a4}. Landscape formats are +supported by specifying the option again, this time with the value +\PValue{landscape}\Index{paper>orientation}. Additionally, the +\PName{format} can also be specified in the form +\PName{height}\texttt{:}\PName{width}. \begin{Example} - Assume you want to print on ISO A8 file cards in landscape - orientation. Borders should be very small, no header or footer + Assume one wishes to print on ISO A8 file cards in landscape + orientation. Margins should be very small, no header or footer will be used. -\begin{lstlisting} +\begin{lstcode} \documentclass{article} \usepackage[headinclude=false,footinclude=false, - paper=a8,landscape]{typearea} + paper=A8,landscape]{typearea} \areaset{7cm}{5cm} \pagestyle{empty} \begin{document} - \section*{Paper Size Options} - letterpaper, legalpaper, executivepaper, a4paper, - a5paper, paper=a0, paper=a1 \dots\ paper=b0, - paper=b1 \dots\ paper=c0, paper=c1 \dots\ - paper=d0, paper=d1 \dots + \section*{Supported Paper Sizes} + letter, legal, executive, a0, a1 \dots\ % + b0, b1 \dots\ c0, c1 \dots\ d0, d1 \dots + \end{document} +\end{lstcode} +If the file cards have the special format (height:width) +5\Unit{cm}\,:\,3\Unit{cm}, this can be achieved using the following +code. +\begin{lstcode} + \documentclass{article} + \usepackage[headinclude=false,footinclude=false,% + paper=A8,paper=5cm:3cm]{typearea} + \areaset{4cm}{2.4cm} + \pagestyle{empty} + \begin{document} + \section*{Supported Paper Sizes} + letter, legal, executive, a0, a1 \dots\ % + b0, b1 \dots\ c0, c1 \dots\ d0, d1 \dots \end{document} -\end{lstlisting} +\end{lstcode} \end{Example} -The options \Option{a4paper}, -\Option{a5paper}, \Option{b5paper}, \Option{letterpaper}, -\Option{legalpaper} and \Option{executivepaper} need -to be given as class options when {\KOMAScript} classes are used. The -\Option{paper}-Option may be set using \Macro{KOMAoptions} oder -\Macro{KOMAoption} instead. +As part of the predefined defaults, {\KOMAScript} uses A4 paper in +portrait orientation. This is in contrast to the standard classes, +which by default use the American letter paper format. + +Please note that when using this options with one of the {\KOMAScript} +classes, it must be used either as a class option, or passed via +\Macro{KOMAoptions} or \Macro{KOMAoption} after loading the +class. Changing of this option after loading the \Package{typearea} +package does not result in an automatic recalculation of the +type-area. Instead, the changes only take effect at the next +recalculation of the type-area. For recalculation of the type-area, +refer to the \Option{DIV} option with the values \PValue{last} or +\PValue{current} (see \autopageref{desc:typearea.option.DIV.last}) or +the \Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % -\EndIndex{Option}{paper~=\PName{size}} -\EndIndex{Option}{landscape} -\EndIndex{Cmd}{isopaper} +\EndIndex{Option}{paper~=\PName{orientation}}% +\EndIndex{Option}{paper~=\PName{format}} +\BeginIndex{Option}{pagesize}% +\BeginIndex{Option}{pagesize~=\PName{output driver}}% \begin{Declaration} - \Macro{paperwidth}\\ - \Macro{paperheight} + \KOption{pagesize}\PName{output driver} \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{lstlisting} - \documentclass{article} - \usepackage{typearea} - \setlength{\paperwidth}{8.25in} - \setlength{\paperheight}{12in} - \typearea{1} -\end{lstlisting} -\end{Example} -\EndIndex{Cmd}{paperheight} -\EndIndex{Cmd}{paperwidth} - \begin{Explain}% -\begin{Declaration} - \Option{dvips}\\ - \Option{pdftex}\\ - \Option{pagesize} -\end{Declaration}% -\BeginIndex{Option}{dvips}% -\BeginIndex{Option}{pdftex}% -\BeginIndex{Option}{pagesize}% - 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. + The above-mentioned mechanisms for choice of paper format only + affect the output insofar as internal {\LaTeX} lengths are set. The + \Package{typearea} package then uses there in the division of the + page into type-area and margins. The specification of the DVI + formats\Index{DVI} however does not include any indications of paper + format. If printing is done directly from DVI format to a low-level + printer language such as PCL% + \iffalse% Umbruchkorrektur + \footnote{PCL is the printer language used by HP for its inkjet and + laser printers.}% + \fi \ or ESC/P2% + \iffalse% Umbruchkorrektur + \footnote{ESC/P2 is the printer language used by EPSON for its + dot-matrix, inkjet and laser printers.}% + \fi , this is usually not an issue since with this output also the + zero-position is at the top left, identical to DVI. If however + translation is made into a language such as + PostScript\Index{PostScript} or PDF\Index{PDF}, in which the + zero-position is at a different point, and in which also the paper + format should be specified in the output data, then this information + is missing. To solve this problem, the respective drivers use a + predefined paper size, which the user can change either by means of + an option or via a corresponding command in the {\TeX} source + file. When using the DVI driver \File{dvips} the information can be + given in the form of a \Macro{special} command. With {pdf\TeX} or + {V\TeX} one sets instead two lengths. \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. -% +The option \OptionValue{pagesize}{dvips}\IndexOption{pagesize~=dvips} +writes the paper size as a \Macro{special} into die DVI data +file. This \Macro{special} is then evaluated by, for example, +\File{dvips}. On the other hand, the option +\OptionValue{pagesize}{pdftex} writes the paper size at the start of +the document into the {pdf\TeX} page registers +\Length{pdfpagewidth}\IndexLength{pdfpagewidth} and +\Length{pdfpageheight}\IndexLength{pdfpageheight}, so that later when +viewing the PDF file the correct format is chosen. The option +\OptionValue{pagesize}{auto} is more flexible and, depending on +whether a PDF or DVI data file is output, uses the mechanism of the +option \OptionValue{pagesize}{dvips} or +\OptionValue{pagesize}{pdftex}. With the option +\OptionValue{pagesize}{automedia} it may be that \Length{mediawidth} +and \Length{mediaheight} are also set appropriately. In this way even +the demands of {V\TeX} are supported. If the option \Option{pagesize} +is used with specifying an \PName{output driver} then \PValue{auto} is +used. \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{lstlisting} + Assume that a document should be available both as a DVI data file + and in PDF format for online viewing. Then the preamble might begin + as follows: +\begin{lstcode} \documentclass{article} - \usepackage[a4paper,pagesize]{typearea} -\end{lstlisting} - 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{pdfpageheight} -\EndIndex{Option}{dvips}% -\EndIndex{Option}{pdftex}% + \usepackage[paper=A4,pagesize]{typearea} +\end{lstcode} +If the {pdf\TeX} engine is used \emph{and} PDF output is +activated, then the two lengths \Macro{pdfpagewidth} and +\Macro{pdfpageheight} are set appropriately. If however a DVI data +file is created\,---\,regardless of whether by {\LaTeX} or by +{pdf\LaTeX}\,---\,then a \Macro{special} is written at the start of +this data file. +\end{Example}% +It is recommended always to specify this option. Generally the method +without \PName{output driver}, or with \PValue{auto} or +\PValue{automedia} is useful.% \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{lstlisting} - \ifpdfoutput{\pdfoutput=0}{} -\end{lstlisting} - This only works after loading \Package{typearea} package. If you - want the line above to be executed after a package, which sets - \Macro{pdfoutput} to 1 whenever the counter exists, 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 possible 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. Before the option \Option{DIV=calc} 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 - parentheses. 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{Option}{pagesize~=\PName{output driver}}% % -\EndIndex{Cmd}{SetDIVList} +\EndIndex{}{paper>format} + -\section{Hints} +\section{Tips} \label{sec:typearea.tips} -\begin{Explain} - In particular for theses 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 serifs 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 intended to obtain a useable -result even if the author does not know what needs to be considered. Useable -means frequently: readable and correctable. In my opinion the type area of a -text set with {\LaTeX} and the \Package{typearea} package meets these criteria -well right from the beginning. 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} in the log file of your document. -Thus moderate adjustments should be possible. However, make absolutely sure -that the proportions of the text area correspond approximately to those of the -page including 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 was recommended very frequently, it is obsolete 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 spacing. However, you should switch back to the normal line spacing -for the title, preferably also for the table contents and various -listings\,---\,as well as the bibliography and the index. The -\Package{setspace} package offers for this a special environment and its own -instructions. +In particular for theses 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 was 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 margins were kept narrow and the +line spacing was increased to 1.5 for corrections. Before the advent +of modern text processing systems, single-spaced would have been the +only alternative\,---\,other than with \TeX. In such a single-spaced +document even correction signs would have been difficult to add. When +computers became more 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 +margin sizes prescribed. + +{\LaTeX} already uses sufficient line spacing, and the margins are +wide enough for corrections. Thus a page will look generous, even when +quite full of text. + +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 available. Hardly a text typeset in this way +looks really good. In many cases font designers try to increase the +serifs 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 one uses {\LaTeX} for one's paper, some of +these rules have to be either ignored or at least interpreted +generously. For example one may interpret ``60 characters per line'' +not as a fixed, but as an average or maximal value.% + +As executed, record regulations are usually intended to obtain a +usable result even if the author does not know what needs to be +considered. Usable means frequently: readable and correctable. In +the author's opinion the type-area of a text set with {\LaTeX} and the +\Package{typearea} package meets these criteria well right from the +start. Thus if one is confronted with regulations which deviate +obviously substantially from it, then the author recommends submitting +an extract from the text to the responsible person and inquiring +whether it is permitted to submit the work despite deviations in the +format. If necessary the type area can be moderately adapted by +modification of option \Option{DIV}. The author advises against the +use of \Macro{areaset} for this purpose however. In the worst case +one may make use of the geometry package (see +\cite{package:geometry}), which is not part of \KOMAScript, or change +the type-area parameters of \LaTeX. One may find the values +determined by \Package{typearea} in the \File{log} file of one's +document. Thus moderate adjustments should be possible. However, one +should make absolutely sure that the proportions of the text area +correspond approximately to those of the page including consideration +of the binding correction. + +If it should prove absolutely necessary to set the text with a line +spacing of 1.5, then one should not under any circumstances redefine +\Macro{baselinestretch}. Although this procedure is recommended all +too frequently, it has been obsolete since the introduction of +{\LaTeXe} in 1994. In the worst case one may use the instruction +\Macro{linespread}. The author recommends the package +\Package{setspace}\IndexPackage{setspace} (see +\cite{package:setspace}), which is not part of \KOMAScript. Also one +should let \Package{typearea} recalculate a new type-area after the +conversion of the line spacing. However, one should switch back to +the normal line spacing for the title, preferably also for the table +contents and various listings\,---\,as well as the bibliography and +the index. The \Package{setspace} package offers for this a special +environment and its own instructions. The \Package{typearea} package even with option \Option{DIV=calc} 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 +calculated \Var{DIV} value may be found in the \File{log} file for the +respective document. Thus one can select a smaller value easily after the first {\LaTeX} run. -The question is put to me not infrequently, why I actually talk -section after section about type area calculations, when it would be -very much simpler to merely give you a package with which one can -adjust the edges like during a text processing. Often also it is -stated that such a package would be anyway the better solution, since -everyone can judge how good edges are to be selected, and that the -edges calculated by {\KOMAScript} are anyway not that great. I take -the liberty of translating a suitable quotation from -\cite{TYPO:ErsteHilfe}. You may find the original German words in the -German scrguide. +The question is not infrequently put to the author, why he spends an +entire chapter discussing type-area calculations, when it would be +very much simpler to merely give the world a package with which anyone +can adjust the margins like in a word processor. Often it is added +that such a package would in any case be the better solution, since +everyone can judge for themselves how good margins are to be chosen, +and that the margins calculated by {\KOMAScript} are anyway not that +great. The author takes the liberty of translating a suitable +quotation from \cite{TYPO:ErsteHilfe}. One may find the original +German words in the German scrguide. \begin{quote} \phantomsection\label{sec:typearea.tips.cite}% - \textit{The making by oneself is quite widespread, the results are often - doubtful, because layman typographers do not see what is incorrect - and cannot not know what it important. Thus one gets - accustomed to wrong and poor typography.} [\dots] \textit{Now the - objection could be made that typography is nevertheless a taste thing. If - it concerned decoration, perhaps one could let that argument apply, - however, since it concerns primarily information with typography, - errors cannot only disturb, but may even cause damage.} + \textit{The practice of doing things oneself is long-since + widespread, but the results are often dubious because layman + typographers do not see what is incorrect and cannot know what is + important. Thus one becomes accustomed to incorrect and poor + typography.} [\dots] \textit{Now the objection could be made that + typography is dependent on taste. If it concerned decoration, + perhaps one could let that argument slip by; however, since + typography is primarily concerned with information, errors cannot + only irritate, but may even cause damage.} \end{quote} %%% Local Variables: |