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 | 2232 |
1 files changed, 1175 insertions, 1057 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 b9e81964ebb..8902d98f0cf 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 @@ -1,6 +1,6 @@ % ====================================================================== % typearea.tex -% Copyright (c) Markus Kohm, 2001-2017 +% Copyright (c) Markus Kohm, 2001-2018 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % typearea.tex -% Copyright (c) Markus Kohm, 2001-2017 +% Copyright (c) Markus Kohm, 2001-2018 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,104 +46,101 @@ % ====================================================================== \KOMAProvidesFile{typearea.tex}% - [$Date: 2017-08-08 14:38:15 +0200 (Tue, 08 Aug 2017) $ + [$Date: 2018-03-30 11:57:25 +0200 (Fri, 30 Mar 2018) $ KOMA-Script guide (chapter: typearea)] -\translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi} +\translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and + Karl Hagen} -% Date of the translated German file: 2017-08-08 +% Date of the translated German file: 2018-01-31 -\chapter{Construction of the Page Layout with \Package{typearea}} -\BeginIndexGroup -\BeginIndex{Package}{typearea} +\chapter{Calculating the Page Layout with \Package{typearea}} \labelbase{typearea} -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 are -separate packages, such as -\Package{geometry}\IndexPackage{geometry} (see -\cite{package:geometry}), which give the user complete control, but -also full responsibility, of 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 authors of classes and packages. - +\BeginIndexGroup% +\BeginIndex{Package}{typearea}% +Many {\LaTeX} classes\iffree{, including the standard classes,}{} present the +user with a largely fixed configuration of margins and page layout. In the +standard classes, the choice is limited to selecting a font size. +There are separate packages, such as \Package{geometry}\IndexPackage{geometry} +(see \cite{package:geometry}), which give the user complete control over, but +also full responsibility for, setting the type area and margins. + +\KOMAScript{} takes a somewhat different approach with the \Package{typearea} +package. Users are offered ways to adjust the design and algorithms based on +established typographic standards, making it easier for them to make good +choices. + +\iffalse% Umbruchoptimierung!!! + Note that the \Package{typearea} package makes use of the \Package{scrbase} + package. The latter is explained in the expert section of this + \iffree{guide}{book} in \autoref{cha:scrbase} on \autopageref{cha:scrbase}. + However, most of the features documented there are directed not to users but + to class and package authors. +\fi \section{Fundamentals of Page Layout} \seclabel{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, 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% + At first glance, a single page of a book or other printed material + consists of the margins, + \iffalse% Umbruchkorrekturtext + \footnote{The author and the editor have considered the question as to + whether, since a page has only one periphery, the term should be + ``the margin.'' However, since \LaTeX{} logically divides this one + margin into several margins, which are determined separately, we + use the term ``the margins'' here.}% + \fi% + a header, a body of text, and a footer. More precisely, there + is also a space between the header area and the text + body, as well as between the body and the footer. The text body is + called, in the jargon of typographers and typesetters, the \emph{type area}. + The division of these areas, as well as their relations to each other and + to the paper, is called the \emph{page layout}.\Index[indexmain]{page layout} + + Various algorithms and heuristic methods for constructing an appropriate + type area have been discussed in the literature% \iffree{ \cite{DANTE:TK0402:MJK}}{. A short introduction to the basics may - be found at \autoref{cha:typeareaconstruction}}% - . 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 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\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 the same as 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. - Every production process needs its own parameter. In professional - binding, this parameter is not too important since the printing is - done on oversized paper which is then cropped to the right size. - The cropping is done in a way so that the relations for the - visible double-sided page are as explained above. - - Now we know about the relations of the individual parts of a page. - However, we do not yet know about the width and the height of the - 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. + be found at \autoref{cha:typeareaconstruction}}. + These rules are known as the ``canons of page construction.'' One approach + often mentioned involves diagonals and their intersections. The result is + that the aspect ratio of the type area corresponds to the proportions of the + \emph{page}. In a one-sided document,\Index{one-sided} the left and right + margins should have equal widths, while the ratio of the top and bottom + margins should be 1:2. In a two-sided document\Index{two-sided} (e.\,g. a + book), however, the entire inner margin (the margin at the spine) should be + the same size 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 emphasised \emph{the page}. It + is often mistakenly thought that the format of the page is the same as the + format of the paper.\Index[indexmain]{page>format}% + \Index[indexmain]{paper>format} However, if you look at + a bound document, you can see that part of the paper disappears in the + binding\Index[indexmain]{binding} and is no longer part of the visible page. + For the type area, however, it is not the format of the paper which is + important; it is the impression of the visible page to the reader. Thus, it + is clear that the calculation of the type area 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} but not the visible inner margin. + + The binding correction depends on the production process and cannot be + defined in general terms. It is therefore a parameter that must be redefined + for each project. In professional printing, this value plays only a minor + role, since printing is done on larger sheets of paper and then cropped to + the right size. The cropping is done so that the above relations for the + visible, two-sided page are maintained. + + So now we know how the individual parts of a page relate to each other. + However, we do not yet know how wide and high the type area is. Once we know + one of these two dimensions, we can calculate all the other dimensions from + the paper format and the page format or the binding correction. \begin{align*} - \Var{textblock~height} \Index{textblock height} : \Var{textblock~width} &= + \Var{type~area~height}\Index{type area} : \Var{type~area~width} &= \Var{page~height}\Index{page} : \Var{page~width}\\ - \Var{top~margin}\Index{margin} : \Var{foot~margin} &= + \Var{top~margin}\Index{margin} : \Var{footer~margin} &= \text{1} : \text{2} \\ % \Var{left~margin} : \Var{right~margin} &= \text{1} : \text{1} \\ @@ -155,134 +152,156 @@ user, but rather at authors of classes and packages. \Var{binding~correction}\Index{binding correction}\\ % \Var{top~margin} + \Var{bottom~margin} &= - \Var{page~height} - \Var{textblock~height} \\ + \Var{page~height} - \Var{type~area~height} \\ % \Var{left~margin} + \Var{right~margin} &= - \Var{page~width} - \Var{textblock~width} \\ + \Var{page~width} - \Var{type~area~width} \\ % \Var{half~inner~margin} + \Var{outer~margin} &= - \Var{page~width} - \Var{textblock~width} \\ + \Var{page~width} - \Var{type~area~width} \\ % \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: + one-sided document while \Var{half~inner~margin} and \Var{outer~margin} only + exist in a two-sided document. We use \Var{half~inner~margin} in these + equations, since the full inner margin is an element of the whole two-page + spread. Thus, only half of the inner margin, \Var{half~inner~margin}, + belongs to a single page. + + The question of the width of the type area is also discussed in the + literature. The optimum width depends on several factors: \begin{itemize} - \item size, width, type of the font used - \item line spacing - \item word length - \item available room + \item the size, width, and type of font used, + \item the line spacing, + \item the word length, + \item the available space. \end{itemize} - 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 importance of the font becomes clear once you realize what serifs are + for. Serifs\Index[indexmain]{serifs} are small strokes that finish off the + lines of letters. Letters with vertical lines touching the text baseline + disturb the flow rather than keeping the eye on the line. It is precisely + with these letters that the serifs lie horizontally on the baseline and thus + enhance the horizontal effect of the font. The eye can better follow the + line of text, not only when reading the words but also when jumping back to + the beginning of the next line. Thus, the line length can actually be + slightly longer for a serif font than for a sans serif font. + + Leading\Index[indexmain]{leading}\textnote{leading} refers to 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}), you + can change the leading. A wider leading makes it easy for the eye to follow + the line. A very wide leading, however, disturbs reading because the eye has + to travel long distances between the lines. In addition, the reader becomes + uncomfortable because of the visible striped effect. The uniform grey value + of the page is thereby spoiled. Nevertheless, the lines can be longer with a + wider leading. 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 readers, line lengths greater than 80 - characters are unsuitable. In any case, the leading must be - appropriately chosen. An extra 5\% to 10\% is 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. + lengths\Index[indexmain]{line length}, depending on the author. To some + extent, this is related to the author's native language. Since the eye + usually jumps from word to word, short words make this task easier. Across + 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 many hours + a day reading. But even then, line lengths beyond 80 characters are + unacceptable. In each case, the leading must be appropriately chosen. An + extra 5\% to 10\% is recommended as a good rule of thumb. For typefaces like + Palatino, which require more than 5\% leading for normal line lengths, even + more can be required. + + Before looking at the actual construction of the page layout, there are a + few minor points you should know. {\LaTeX} does not start the first line in + the text area of a page at the upper edge of the text area but sets the + baseline at a defined distance from the top of the text area. Also, {\LaTeX} + recognizes the commands + \DescRef{maincls.cmd.raggedbottom}\IndexCmd{raggedbottom} and + \DescRef{maincls.cmd.flushbottom}\IndexCmd{flushbottom}. + \DescRef{maincls.cmd.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\,---\, even more when the end of the page coincides with headings, + figures, tables, or the like. In two-sided documents that is usually + undesirable. The second command, \DescRef{maincls.cmd.flushbottom}, makes + sure that the last line is always at the lower edge of the text area. To + achieve this vertical compensation, {\LaTeX} may have to stretch vertical + glue beyond what is normally allowed. Paragraph skip is such a stretchable, + vertical glue, even when set to zero. To avoid stretching on normal pages + where paragraph spacing is the only stretchable glue, the height of the text + area should be a multiple of the height of the text line, including the + distance of the first line from the top of the text area. + +\iffalse% Umbruchkorrektur + This explains all the basics of the type area calculation that play a role + in {\KOMAScript}. +\else + This concludes the fundamentals. +\fi +\iffalse% Umbruchkorrektur + Below are two methods of construction offered by \KOMAScript{}. +\else +\iffalse% Umbruchkorrektur + Now, we can begin with the actual construction. +\else + In the following two sections, the methods of construction offered by + {\KOMAScript} are presented in detail. +\fi +\fi \end{Explain} -\section{Page Layout Construction by Dividing} +\section{Constructing the Type Area by Division} \seclabel{divConstruction} \begin{Explain} - The easiest way to make sure that the text area has the same ratios - as the page is as follows: + The easiest way to make sure that the text area has the same ratio as the + page is as follows: \begin{itemize} - \item First, subtract the part \Var{BCOR}, required for the binding - correction\Index{binding correction}, from the inner edge of the paper, - and divide the rest of the page vertically into \Var{DIV} rows of equal + \item First, subtract the \Var{BCOR} required for the binding + correction\Index{binding correction} from the inner edge of the paper, and + divide the rest of the page vertically into \Var{DIV} rows of equal height. \item Next, divide the page horizontally into the same number (\Var{DIV}) of - columns. + columns of equal width. \item Then, take the uppermost row as the upper margin and the two lowermost - rows as the lower margin. If you are printing double-sided, you similarly + rows as the lower margin. If you are printing two-sided, you similarly take the innermost column as the inner margin and the two outermost columns as the outer margin. \item Then add the binding correction \Var{BCOR} to the inner margin. \end{itemize} - 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 + What remains within the page is the text area.\Index{text area} The width + and 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 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 + should really be at least nine. With this value, the design + is also known as the \emph{classical nine-part division} (see \autoref{fig:typearea.nineparts}). \begin{figure} - \centering - \setlength{\unitlength}{.25mm} - \definecolor{komalight}{gray}{.75} - \definecolor{komamed}{gray}{.6} - \definecolor{komadark}{gray}{.3} +% \centering + \KOMAoption{captions}{bottombeside}% + \setcapindent{0pt}% + \setlength{\columnsep}{.6em}% + \begin{captionbeside}[{% + Two-sided layout with the box construction of the classical + nine-part division, after subtracting a binding correction% + }]{% + \label{fig:typearea.nineparts}% + \hspace{0pt plus 1ex}% + Two-sided layout with the box construction of the classical + nine-part division, after subtracting a binding correction% + } + [l] + \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}} @@ -315,144 +334,153 @@ user, but rather at authors of classes and packages. \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{captionbeside} +% \caption{Two-sided layout with the box construction of the classical +% nine-part division, after subtracting a binding correction} +% \label{fig:typearea.nineparts} \end{figure} - In {\KOMAScript}, this kind of construction is implemented in the - \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}, + In {\KOMAScript}, this kind of design is implemented with the + \Package{typearea} package, where the bottom margin may drop any fractions + of a line in order to comply with the constraint for the height of the type + area mentioned in the previous paragraph and thereby reduce the problem + mentioned 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}. + (\(\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 + 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}, 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}, - \DescPageRef{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}, - \DescPageRef{typearea.option.DIV.calc}. + \autoref{sec:typearea.options}, starting on + \autopageref{sec:typearea.typearea}). There is also a command to calculate + the type area explicitly by providing these values as parameters (see also + \autoref{sec:typearea.options}, \DescPageRef{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}, \DescPageRef{typearea.option.DIV.calc}. \end{Explain} -\section{Page Layout Construction by Drawing a Circle} +\section{Constructing the Type Area by Describing a Circle} \seclabel{circleConstruction} \begin{Explain} - 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 + In addition to the construction method for the type area\Index{type area} + described above, there is an even more traditional, or even medieval, method + found in the literature. The aim of this method is not just to have the same + ratios between page size and type area; it is considered optimal when the + height of the text area corresponds to the width of the page. This means + that a circle can be drawn that will touch both the sides of the page and + the top and bottom of the text area. The exact procedure can be found 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 does not - 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 of the late Middle Age method as closely as - possible. See also \autoref{sec:typearea.options}, + A disadvantage of this late-medieval canon of page construction is that the + width of the text area no longer depends on the font. One no longer chooses + the text area to match the font. Instead, the author or typesetter must + choose the appropriate font for the text area. +% +\iftrue +% Umbruchkorrekturtext + This should be considered mandatory. +\fi + + In the \Package{typearea} package, this construction is modified to + determine the \Var{DIV} value by selecting a special (normally meaningless) + \Var{DIV} value or a special, symbolic indication of the \Var{DIV} value so + that the resulting type area comes as close as possible to the late-medieval + page canon. Hence it relies in turn on the method of constructing the type + area by division. +% +\iffalse +% Umbruchkorrekturtext + If you choose a good font, the result often coincides with the search for + the optimal \Var{DIV} value. See also \autoref{sec:typearea.options}, \DescPageRef{typearea.option.DIV.calc}. +% +\fi \end{Explain} \LoadCommonFile{options}% \section{Early or late Selection of Options} \LoadCommonFile{compatibility}% \section{Compatibility with Earlier Versions of \KOMAScript} -\section{Options and Macros to Influence the Page Layout} +\section{Adjusting the Type Area and Page Layout} \seclabel{typearea} -The package \Package{typearea} offers two different user interfaces to -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}). +The \Package{typearea} package offers two different user interfaces to +influence the construction of the type area. The most important method is to +specify options when loading the package. For information on how to load +packages and pass options to packages, please refer to the {\LaTeX} +literature, for example \cite{lshort} and \cite{latex:usrguide}, or the +examples given here. Since the \Package{typearea} package is loaded +automatically when using the main {\KOMAScript} 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. +In\textnote{Note!} this section the classes used in the examples are not +existing {\KOMAScript} classes but hypothetical ones. This +\iffree{guide}{book} assumes that ideally an appropriate class is available +for each task. \begin{Declaration} \OptionVName{BCOR}{correction} \end{Declaration}% -With the aid of the option -\OptionVName{BCOR}{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. +Use the \OptionVName{BCOR}{correction}\ChangedAt{v3.00}{\Package{typearea}} +option to specify the absolute value of the binding correction\Index{binding + correction}\textnote{binding correction}, i.\,e. the width of the area lost +from the paper during the binding process. This value is then automatically +taken into account when constructing the page layout and is added back to the +inner (or left) margin during output. In the value of the \PName{correction}, +you can specify any measurement unit understood by \TeX{}. \begin{Example} - 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: + Suppose you create a financial report. The whole thing should be printed out + one-sided on A4 paper and then stapled in a binder folder. The clip of the + folder covers 7.5\Unit{mm}. The stack of pages is very thin, so at most + another 0.75\Unit{mm} will be lost from bending and the sheets themselves. + Therefore, you can write: \begin{lstcode} \documentclass[a4paper]{report} \usepackage[BCOR=8.25mm]{typearea} \end{lstcode} - or + with \OptionValue{BCOR}{8.25mm} as an option to \Package{typearea} or \begin{lstcode} \documentclass[a4paper,BCOR=8.25mm]{report} \usepackage{typearea} \end{lstcode} - when using \Option{BCOR} as a global option. + when using \OptionValue{BCOR}{8.25mm} as a global option. - When using a {\KOMAScript} class, the explicit loading of the - \Package{typearea} package can be omitted: + When using a {\KOMAScript} class, you do not need to load the + \Package{typearea} package explicitly: \begin{lstcode} \documentclass[BCOR=8.25mm]{scrreprt} \end{lstcode} - The option \Option{a4paper} could be omitted with \Class{scrreprt}, - since this is a predefined setting for all {\KOMAScript} classes. + You can omit the \Option{a4paper} option with \Class{scrreprt}, since this + is the default for all {\KOMAScript} classes. - If the option is only later set to a new value, one may then use, - for example, the following: + If you want to set the option to a new value later, you can, for example, + use 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 - \DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} a new page layout with new - margins will automatically be calculated. + Defaults are initialized when the \Class{scrreprt} class is loaded. + Changing a setting with the \DescRef{\LabelBase.cmd.KOMAoptions} or + \DescRef{\LabelBase.cmd.KOMAoption} commands will automatically calculate a + new type area with new margins. \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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the class. The -\Package{typearea} package should neither be loaded explicitly with -\DescRef{\LabelBase.cmd.usepackage} when using a {\KOMAScript} class, nor -should the option be given as an optional argument thereto. If the option is -changed via \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the package, the textblock -and margins are automatically recalculated anew.% +Note\textnote{Attention!} you must pass this option as a class option when +loading one of the {\KOMAScript} classes, as in the example above, or via +\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} +after loading the class. When you use a {\KOMAScript} class, you should not +load the \Package{typearea} package explicitly with +\DescRef{\LabelBase.cmd.usepackage}, nor should you specify it as an optional +argument when loading the package if you are using another class. If the +option is changed with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption} after loading the package, the type area +and margins are automatically recalculated.% % \EndIndexGroup @@ -460,39 +488,42 @@ and margins are automatically recalculated anew.% \begin{Declaration} \OptionVName{DIV}{factor} \end{Declaration}% -With the aid of the option -\OptionVName{DIV}{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 -\OptionVName{DIV}{factor} are themselves responsible for fulfillment -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 an A4 page without binding correction. Here -the minor conditions dependent on font size are not considered. +The \OptionVName{DIV}{factor}\ChangedAt{v3.00}{\Package{typearea}} option +specifies the number of strips into which the page is divided horizontally and +vertically during the construction of the type area. The exact construction +method is found in \autoref{sec:typearea.divConstruction}. It's important to +realise 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}. Note, however, that large values can cause violations in the +constraints on the margins of the type area, depending on how you set other +options. In extreme cases, the header may fall outside of the page. When you +use the \OptionVName{DIV}{factor} option, you are responsible for complying +with the margin constraints and for choosing a typographically pleasing line +length. + +In \autoref{tab:typearea.typearea}, you will find the sizes of the type areas +for several \Var{DIV} factors for the A4 page with no binding correction. In +this case, the other constraints that are dependent on the font size are not +taken into account. \begin{table} - \centering - \caption[{Type area dimensions dependent on \Var{DIV} for A4}]{Type area - dimensions dependent on \Var{DIV} for A4 regardless of \Length{topskip}} - \begin{tabular}{ccccc} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% + \begin{captionbeside} +% \caption + [{Type area dimensions dependent on \Var{DIV} for A4}] + {\label{tab:typearea.typearea}Type area dimensions dependent on \Var{DIV} + for A4 regardless of \Length{topskip} or \Var{BCOR}} + [l] + \begin{tabular}[t]{ccccc} \toprule & \multicolumn{2}{c}{Type area} & \multicolumn{2}{c}{Margins}\\ %\raisebox{1.5ex}[0pt]{ \Var{DIV} %} - & - width [mm] & height [mm] & top [mm] & inner [mm] \\ + & width & height & top & inner \\ \midrule 6 & 105.00 & 148.50 & 49.50 & 35.00 \\ 7 & 120.00 & 169.71 & 42.43 & 30.00 \\ @@ -505,43 +536,43 @@ the minor conditions dependent on font size are not considered. 14 & 165.00 & 233.36 & 21.21 & 15.00 \\ 15 & 168.00 & 237.60 & 19.80 & 14.00 \\ \bottomrule + \multicolumn{5}{r}{\small (all lengths in mm)} \end{tabular} - \label{tab:typearea.typearea} + \end{captionbeside} \end{table} -\iffree{}{\clearpage}% + \begin{Example} - 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: + Suppose you are writing up the minutes of a meeting using the + \Class{minutes} class. The whole thing should be two-sided. Your company + uses 12\Unit{pt} Bookman font. This font, which is one of the standard + PostScript fonts, is enabled in {\LaTeX} with the command + \verb|\usepackage{bookman}|. Bookman is a very wide font, meaning that the + individual characters are relatively wide compared to their height. + Therefore, the default setting for \Var{DIV} in \Package{typearea} is too + small. After thoroughly studying this entire chapter, you conclude that a + value of 15, instead of 12, is most suitable. The minutes will not be bound + but punched and kept in a folder, and thus no binding correction is + necessary. So you write: \begin{lstcode} - \documentclass[a4paper,twoside]{protocol} + \documentclass[a4paper,twoside]{minutes} \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: + When you're done, you become aware that the minutes will from now on be + collected and bound together as a book at the end of the quarter. The + binding is to be a simple glue binding because this is only being done to + conform to ISO\,9000 and nobody is actually going to read them. The binding, + including space lost in folding the pages, requires an average of + 12\Unit{mm} You change the options of the \Package{typearea} package + accordingly and use the class for minutes that conform to ISO\,9000 + regulations: \begin{lstcode} \documentclass[a4paper,twoside]{iso9000p} \usepackage{bookman} \usepackage[DIV=15,BCOR=12mm]{typearea} \end{lstcode} - Of course, it is equally possible to use here a {\KOMAScript} class: + Of course, it is equally possible to use a {\KOMAScript} class here: \begin{lstcode} \documentclass[twoside,DIV=15,BCOR=12mm]{scrartcl} \usepackage{bookman} @@ -551,16 +582,16 @@ the minor conditions dependent on font size are not considered. classes. \end{Example} -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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the class. The -\Package{typearea} package should neither be loaded explicitly with -\DescRef{\LabelBase.cmd.usepackage} when using a {\KOMAScript} class, nor -should the option be given as an optional argument thereto. If the option is -changed via \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the package, the textblock -and margins are automatically recalculated anew.% +Note\textnote{Attention!} that when using this option with one of the +{\KOMAScript} classes, as in the example above, it must be passed either as a +class option, or via \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption} after loading the class. When using a +{\KOMAScript} class, the \Package{typearea} package should not be loaded +explicitly with \DescRef{\LabelBase.cmd.usepackage}, nor should the option be +given as an optional argument thereto. If the option is changed via +\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} +after loading the package, the type area and margins are automatically +recalculated.% \EndIndexGroup \begin{Declaration} @@ -568,198 +599,213 @@ and margins are automatically recalculated anew.% \OptionValue{DIV}{classic} \end{Declaration}% 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 -\OptionVName{DIV}{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. +\autoref{sec:typearea.divConstruction}, there are fixed defaults for +\Var{DIV} when using A4 paper. These can be found in \autoref{tab:typearea.div}. +However, such fixed values have the disadvantage that they do not take into +account the letter spacing of the font used. With A4 and fairly narrow fonts, +this can quickly lead to an unpleasantly high number of characters per line. +See the considerations in \autoref{sec:typearea.basics}. If you choose a +different paper size, \Package{typearea} will calculate an appropriate +\Var{DIV} value for you. Of course, you can also apply this same calculation +to A4. To do so, simply use \OptionValue{DIV}{calc}% +\important{\OptionValue{DIV}{calc}} in place of +\OptionVNameRef{\LabelBase}{DIV}{factor}. Of course, you can also specify this +option explicitly for all other paper sizes. If you want automatic +calculation, this specification is useful, as it is possible to set different +preferences in a configuration file (see \autoref{sec:typearea-experts.cfg}). +Explicitly specifying the \OptionValue{DIV}{calc} option overrides such +configuration settings. \begin{table} - \centering - \caption{\label{tab:typearea.div}Predefined settings of \PName{DIV} for A4} - \begin{tabular}{lccc} +% \centering + \KOMAoptions{captions=topbeside}% + \setcapindent{0pt}% + \begin{captionbeside} + %\caption + [{\PName{DIV} defaults for A4}] + {\label{tab:typearea.div}\PName{DIV} defaults for A4} + [l] + \begin{tabular}[t]{lccc} \toprule base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ \Var{DIV}: & 8 & 10 & 12 \\ \bottomrule \end{tabular} + \end{captionbeside} \end{table} -The classical page layout construction, the Middle Age book design canon, -mentioned in \autoref{sec:typearea.circleConstruction}, is similarly -selectable. Instead of the -\OptionVName{\DescRef{\LabelBase.option.DIV}}{factor} 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. +You can also select the traditional page layout mentioned in +\autoref{sec:typearea.circleConstruction}, the medieval page canon. Instead of +the \OptionVName{\DescRef{\LabelBase.option.DIV}}{factor} or +\OptionValue{DIV}{calc} option, simply use the \OptionValue{DIV}{classic} +option. A \Var{DIV} value which is as close as possible to the medieval page +canon is then chosen. \begin{Example} - In the example using the Bookman font with the - \OptionVName{\DescRef{\LabelBase.option.DIV}}{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: + In the example using the Bookman font and the + \OptionVNameRef{\LabelBase}{DIV}{factor} option, the problem was to select a + \Var{DIV} value that better matched the font. Modifying that example, you + can simply leave the calculation of this value to \Package{typearea}: \begin{lstcode} \documentclass[a4paper,twoside]{protocol} \usepackage{bookman} \usepackage[DIV=calc]{typearea} \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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the class. The -\Package{typearea} package should neither be loaded explicitly with -\DescRef{\LabelBase.cmd.usepackage} when using a {\KOMAScript} class, nor -should the option be given as an optional argument thereto. If the option is -changed via \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the package, the textblock -and margins are automatically recalculated anew.% +\iffree{\par% + Note\textnote{Attention!} that when using this option with one of the + \KOMAScript{} classes% + \iftrue , as in the example above, \fi% + it must be passed either as a class option, or via + \DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} + after loading the class. When using a {\KOMAScript} class, the + \Package{typearea} package should not be loaded explicitly with + \DescRef{\LabelBase.cmd.usepackage}, nor should the option be given as an + optional argument. If the option is changed via + \DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} + after loading the package, the type area and margins are automatically + recalculated.% +}{% +\vskip-\dp\strutbox% Wegen Code im Beispiel am Ende +}% % \EndIndexGroup \begin{Declaration} - \OptionValue{DIV}{current}% + \OptionValue{DIV}{current} \OptionValue{DIV}{last} \end{Declaration}% -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. +If\ChangedAt{v3.00}{\Package{typearea}} you've been following the +examples closely, you already know how to calculate a \Var{DIV} value +based on the font you chose when using a {\KOMAScript} class together +with a font package. \begin{Explain} - The problem is that the {\KOMAScript} class already loads the + The problem with this is that the {\KOMAScript} class already loads the \Package{typearea} package itself. Thus, it is not possible to pass options as optional arguments to \DescRef{\LabelBase.cmd.usepackage}. It would also - be pointless to pass the \OptionValueRef{\LabelBase}{DIV}{calc} option as an - optional argument to \DescRef{\LabelBase.cmd.documentclass}. This option + be pointless to specify the \OptionValueRef{\LabelBase}{DIV}{calc} option as + an optional argument to \DescRef{\LabelBase.cmd.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 \DescRef{\LabelBase.cmd.KOMAoptions}% + as a result the type area and margins would be calculated for the standard + {\LaTeX} font and not for the font loaded later. + + However, it is possible to recalculate the type area and margins after + loading the font with the aid of \DescRef{\LabelBase.cmd.KOMAoptions}% \PParameter{\OptionValueRef{\LabelBase}{DIV}{calc}} or \DescRef{\LabelBase.cmd.KOMAoption}% - \PParameter{\DescRef{\LabelBase.option.DIV}}\PParameter{calc}. Via - \PValue{calc} an appropriate \Var{DIV} value for a 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 values for this option. + \PParameter{\DescRef{\LabelBase.option.DIV}}\PParameter{calc}. The option + \PValue{calc} will then request a \Var{DIV} value for an appropriate line + length. + + As it is often more convenient to set the \Option{DIV} option not after + loading the font but at a more noticeable point, such as when loading the + class, the \Package{typearea} package offers two further symbolic values for + this option. \end{Explain} -With \OptionVName{DIV}{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}. +The option \OptionVName{DIV}{current}\ChangedAt{v3.00}{\Package{typearea}} +recalculates the type area and margins using the current \Var{DIV} value. +This is less important for recalculating the type area after loading a +different font. Instead, it is useful if, for example, you change the +leading while keeping \Var{DIV} the same and want to ensure the +margin constraint that \Length{textheight} minus \Length{topskip} is a +multiple of \Length{baselineskip}. -With \OptionVName{DIV}{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. +The option \OptionVName{DIV}{last}\ChangedAt{v3.00}{\Package{typearea}} will +recalculate type area and margins using exactly the same settings as the last +calculation. \begin{Example} - 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 - \DescRef{\LabelBase.cmd.KOMAoptions}: + Let's suppose again that we need to calculate an appropriate line length for + a type area using the Bookman font. At the same time, a {\KOMAScript} class + is used. This is very easy with the symbolic value \PValue{last} and the + command \DescRef{\LabelBase.cmd.KOMAoptions}: \begin{lstcode} \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl} \usepackage{bookman} \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 -\DescRef{\LabelBase.cmd.documentclass} need be changed. +If you decide later that you need a different \Var{DIV} value, just change the +setting of the optional argument to \DescRef{\LabelBase.cmd.documentclass}. \end{Example} -A summary of all possible symbolic values for the \Option{DIV} option -can be found 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. +For a summary of all possible symbolic values for the \Option{DIV} option, see +\autoref{tab:symbolicDIV}. Note that the use of the +\Package{fontenc}\IndexPackage{fontenc} package may also cause \LaTeX{} to +load a different font. \begin{table} - \caption[{Symbolic values for the \Option{DIV} option and the - \PName{DIV} argument to \DescRef{\LabelBase.cmd.typearea}}]{Possible symbolic values for the \Option{DIV} option or the \PName{DIV} argument to - \DescRef{\LabelBase.cmd.typearea}\OParameter{BCOR}\Parameter{DIV}} + \caption[{% + Symbolic values for the \DescRef{typearea.option.DIV} option and the + \PName{DIV} argument to \DescRef{\LabelBase.cmd.typearea}% + }]{% + Available symbolic values for the \DescRef{typearea.option.DIV} option or + the \PName{DIV} argument to + \DescRef{typearea.cmd.typearea}\OParameter{BCOR}\Parameter{DIV}% + } \label{tab:symbolicDIV} \begin{desctabular} \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}}% + layout.\IndexOption{DIV~=\textKValue{areaset}}}% + \pventry{calc}{Recalculate type area including choice of appropriate + \Var{DIV} value.\IndexOption{DIV~=\textKValue{calc}}}% + \pventry{classic}{Recalculate type area using medieval book design canon + (circle-based calculation).\IndexOption{DIV~=\textKValue{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}}% + value.\IndexOption{DIV~=\textKValue{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~=\textKValue{default}}}% + \pventry{last}{Recalculate type area using the same \PName{DIV} argument + as was used in the last call.\IndexOption{DIV~=\textKValue{last}}}% \end{desctabular} \end{table} -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. +Frequently\textnote{Attention!}, the type area must be recalculated in +combination with a change in the line spacing (\emph{leading})\Index{leading}. +Since the type area should be calculated in such a way that a whole number of +lines fits in the text block, a change in the leading normally requires a +recalculation of the type area. \begin{Example} - 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: + Suppose that a 10\Unit{pt} font of and a spacing of 1.5 lines is required + for a dissertation. By default, {\LaTeX} sets the leading for 10\Unit{pt} + fonts at 2\Unit{pt}, in other words 1.2 lines. Therefore, an additional + stretch factor of 1.25 must be used. Suppose also that a binding correction + of \(12\Unit{mm}\) is needed. Then the solution to the problem might look + like this: \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \linespread{1.25} \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}, since this will be used already in the - recalculation. - - When using the \Package{setspace}\IndexPackage{setspace} package (see - \cite{package:setspace}), the same example would appear as follows: + Since \Package{typearea} always executes the \Macro{normalsize} command + itself when calculating a new type area, it is not strictly necessary to + set the chosen leading with \Macro{selectfont} after \Macro{linespread}, + since this will already be done in the recalculation. + + When using the \Package{setspace}\IndexPackage{setspace}% + \important{\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 + \usepackage[onehalfspacing]{setspace} \KOMAoptions{DIV=last} \end{lstcode} - As can be seen, with the use of the \Package{setspace} package one no longer - needs to know the correct stretch value. +\end{Example} - 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:\IndexPackage{setspace} -\fi +As\textnote{Hint!} you can see from the example, the \Package{setspace} +package saves you from needing to know the correct stretch value. However, +this only applies to the standard font sizes 10\Unit{pt}, 11\Unit{pt}, and +12\Unit{pt}. For all other font sizes, the package uses an approximate value. + +At\textnote{Attention!} this point, note that the line spacing for the title +page should be reset to the normal value, and the indexes should be set with +the normal line spacing as well. +\begin{Example} + Here\IndexPackage{setspace} is a complete example: \begin{lstcode} \documentclass[10pt,twoside,BCOR=12mm,DIV=calc] {scrreprt} @@ -777,28 +823,29 @@ layout. \chapter{Ok} \end{document} \end{lstcode} - See further also the notes in \autoref{sec:typearea.tips}. The command - \DescRef{tocbasic.cmd.AfterTOCHead}\IndexCmd{AfterTOCHead} will be described - in \autoref{cha:tocbasic} of \autoref{part:forExperts} on + Also see the notes in \autoref{sec:typearea.tips}. The + \DescRef{tocbasic.cmd.AfterTOCHead}\IndexCmd{AfterTOCHead} command is + described in \autoref{cha:tocbasic} of \autoref{part:forExperts} on \DescPageRef{tocbasic.cmd.AfterTOCHead}. \end{Example} -Note, changing the line spacing could also influence page head and -footer. For example, if you are using package \Package{scrlayer}, you have to -decide in such cases whether you want to have the normal line spacing or the -changed to be used in the page head and footer. See option -\DescRef{scrlayer.option.singlespacing} in \autoref{cha:scrlayer} on -\DescPageRef{scrlayer.option.singlespacing} for more information. - -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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the class. The -\Package{typearea} package should neither be loaded explicitly with -\DescRef{\LabelBase.cmd.usepackage} when using a {\KOMAScript} class, nor -should the option be given as an optional argument thereto. If the option is -changed via \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption} after loading the package, the textblock -and margins are automatically recalculated anew.% +Note also that changing the line spacing can also affect the page's header and +footer. For example, if you are using the \Package{scrlayer-scrpage} package, +you have to decide for yourself whether you prefer to have the normal or the +changed leading. See the \DescRef{scrlayer.option.singlespacing} option in +\autoref{cha:scrlayer}\important{\hyperref[cha:scrlayer]{\Package{scrlayer}}}% +\IndexPackage{scrlayer}\IndexOption{singlespacing}, +\DescPageRef{scrlayer.option.singlespacing}. + +Note\textnote{Attention!} that when using this option with one of the +{\KOMAScript} classes, as in the example above, it must be passed either as a +class option, or via \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption} after loading the class. When using a +{\KOMAScript} class, the \Package{typearea} package should not be loaded +explicitly with \DescRef{\LabelBase.cmd.usepackage}, nor should the option be +given as an optional argument thereto. If the option is changed via +\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} +after loading the package, the type area and margins are automatically +recalculated.% % \EndIndexGroup @@ -809,57 +856,60 @@ and margins are automatically recalculated anew.% \end{Declaration}% \begin{Explain} If the \DescRef{\LabelBase.option.DIV} option or the - \DescRef{\LabelBase.option.BCOR} option is set after loading of the - \Package{typearea} package, then internally the command \Macro{typearea} is - called. When setting the \DescRef{\LabelBase.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 \DescRef{\LabelBase.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}\POParameter{current}\PParameter{current} can be used - directly. + \DescRef{\LabelBase.option.BCOR} option is set after loading the + \Package{typearea} package, the \Macro{typearea} command will be called + internally. When setting the \DescRef{\LabelBase.option.DIV} option, the + symbolic value \PValue{current} is used internally for \PName{BCOR}, which + for reasons of completeness is also found in \autoref{tab:symbolicBCOR}. + When setting the \DescRef{\LabelBase.option.BCOR} option, the symbolic value + \PValue{last} is used internally for \PName{DIV}. If instead you want the + type area and margins to be recalculated using the symbolic value + \PValue{current} for \PName{DIV}, you can use + \Macro{typearea}\POParameter{current}\PParameter{current} 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}} + \caption[{% + Symbolic \PName{BCOR} arguments for \DescRef{typearea.cmd.typearea}% + }]{% + Available 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}} + \Var{BCOR} value.\IndexOption{BCOR~=\textKValue{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 -\DescRef{\LabelBase.cmd.KOMAoptions}% -\PParameter{\OptionVName{\DescRef{\LabelBase.option.DIV}}{DIV},% - \OptionVName{\DescRef{\LabelBase.option.BCOR}}{BCOR}} the text block and -margins are recalculated once for the change to \PName{DIV} and again for the -change to \PName{BCOR}. +If you change both \PName{BCOR} and \PName{DIV}, you should use +\Macro{typearea}, since then the type area and margins are recalculated only +once. With \DescRef{\LabelBase.cmd.KOMAoptions}% +\PParameter{\OptionVNameRef{\LabelBase}{DIV}{factor},% + \OptionVNameRef{\LabelBase}{BCOR}{correction}} the type area and margins are +recalculated once for the change to \DescRef{\LabelBase.option.DIV} and again +for the change to \DescRef{\LabelBase.option.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 + The command \Macro{typearea} is currently defined so as to make it possible + to change the type area in the middle of a document. However, several + assumptions about the structure of the {\LaTeX} kernel are made, and + internal definitions and sizes of the kernel are changed. Since changes are + only made to the {\LaTeX} kernel to fix bugs, there is a high likelihood, + though no guarantee, that this will still work in future versions of \LaTeXe{}. When used within the document, a page break will result. \end{Explain} -Since \Macro{typearea}\POParameter{current}\PParameter{last} or +Since\important{\Macro{recalctypearea}} \DescRef{\LabelBase.cmd.KOMAoption}% +\PParameter{\hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}}}% +\PParameter{\hyperref[desc:\LabelBase.option.DIV.last]{last}}, \DescRef{\LabelBase.cmd.KOMAoptions}% -\PParameter{\OptionValueRef{\LabelBase}{DIV}{last}} are often needed for -recalculation of the type area, there exists specially the abbreviated command +\PParameter{\OptionValueRef{\LabelBase}{DIV}{last}}, or +\Macro{typearea}\POParameter{current}\PParameter{last} is frequently needed +to recalculate the type area and margins, there is a convenience command, \Macro{recalctypearea}\ChangedAt{v3.00}{\Package{typearea}}. - \begin{Example} - If one finds the notation + If you find the notation \begin{lstcode} \KOMAoptions{DIV=last} \end{lstcode} @@ -867,9 +917,8 @@ recalculation of the type area, there exists specially the abbreviated command \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. + too cumbersome for recalculating text area and margins because of + the many special characters, you can simply use \begin{lstcode} \recalctypearea \end{lstcode} @@ -881,19 +930,16 @@ recalculation of the type area, there exists specially the abbreviated command \OptionVName{twoside}{simple 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{simple 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. +As explained in \autoref{sec:typearea.basics}, the distribution of the margins +depends on whether the document is to be printed one-sided or two-sided. For +one-sided printing, the left and right margins are the same width, whereas for +two-sided printing the inner margin of one page is only half as wide as the +corresponding outer margin. To invoke two-sided printing, you must give the +\Package{typearea} package the \Option{twoside} option. For the +\PName{simple switch}, you can use any of the standard values for +simple switches in \autoref{tab:truefalseswitch}. If the option is passed +without a value, the value \PValue{true} is assumed, so two-sided printing is +enabled. Deactivating the option leads to one-sided printing. \begin{table} \centering @@ -913,30 +959,32 @@ single-sided typesetting. \label{tab:truefalseswitch} \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. Nevertheless\ChangedAt{v3.12}{\Package{typearea}}, since \KOMAScript{} -version 3.12 binding corrections (see \DescRef{\LabelBase.option.BCOR}, -\DescPageRef{typearea.option.BCOR}) will be part of the left margin on -odd pages but part of the right margin on even pages. But if you use -compatibility with prior versions of \KOMAScript (see -\autoref{sec:typearea.compatibilityOptions}, -\autopageref{sec:typearea.compatibilityOptions}), binding correction will be -part of the left margin on both pages while using \OptionValue{twoside}{semi}. +In addition to the values in \autoref{tab:truefalseswitch}, you can also use +the value \PValue{semi}\ChangedAt{v3.00}{\Package{typearea}}. This value +results in two-sided printing with one-sided margins and one-sided, that is +non-alternating, marginal notes. +Beginning\ChangedAt{v3.12}{\Package{typearea}} with \KOMAScript{} version +3.12, binding corrections (see \DescRef{\LabelBase.option.BCOR}, +\DescPageRef{typearea.option.BCOR}) will be part of the left margin on odd +pages but part of the right margin on even pages. But if you switch on +compatibility with a prior +version\important{\OptionValueRef{\LabelBase}{version}{3.12}} of \KOMAScript{} +(see \autoref{sec:typearea.compatibilityOptions}, +\autopageref{sec:typearea.compatibilityOptions}), the binding correction will +be part of the left margin on both pages while using +\OptionValue{twoside}{semi}. The option can also be passed as class option in -\DescRef{\LabelBase.cmd.documentclass}, as package option to -\DescRef{\LabelBase.cmd.usepackage}, or even after loading of the -\Package{typearea} package with the use of -\DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption}. Use of the option after loading the -\Package{typearea} package results automatically in recalculation of the type -area using \DescRef{\LabelBase.cmd.recalctypearea} (see -\DescPageRef{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.% +\DescRef{\LabelBase.cmd.documentclass}, as a package option with +\DescRef{\LabelBase.cmd.usepackage}, or even after loading +\Package{typearea} with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption}. Using this option after loading +\Package{typearea} automatically\textnote{automatic recalculation} results in +the recalculation of the type area using +\DescRef{\LabelBase.cmd.recalctypearea} (see +\DescPageRef{typearea.cmd.recalctypearea}). If the two-sided mode was active +before the option was set, a page break is made to the next odd page before +the recalculation.% % \EndIndexGroup @@ -944,124 +992,127 @@ break is made to the next odd page.% \begin{Declaration} \OptionVName{twocolumn}{simple switch} \end{Declaration} -For the calculation of a good type area with the help of -\OptionValueRef{\LabelBase}{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{simple 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 -\DescRef{\LabelBase.cmd.documentclass}, as package option to -\DescRef{\LabelBase.cmd.usepackage}, or even after loading of the -\Package{typearea} package with the use of -\DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.KOMAoption}. Use of the option after loading the -\Package{typearea} package results automatically in recalculation of the type -area using \DescRef{\LabelBase.cmd.recalctypearea} (see +To compute an appropriate type area with the help of +\OptionValueRef{\LabelBase}{DIV}{calc}, it is useful to know in advance if the +document is to be typeset in one or two columns. Since the considerations +about line length in \autoref{sec:typearea.basics} apply to each column, the +type area in two-column documents can be up to twice as wide as in one-column +documents. + +To make this distinction, you must tell \Package{typearea} if the document is +to be set with two columns using the \Option{twocolumn} option. Since this is +a \PName{simple switch}, any of the standard values for simple switches +from \autoref{tab:truefalseswitch} are valid. If the option is passed without +a value, the value \PValue{true}\important{\OptionValue{twocolumn}{true}} is +used, i.\,e. the two-column setting. Deactivating the option returns you to +the default one-column setting. + +The option can also be passed as a class option in +\DescRef{\LabelBase.cmd.documentclass}, as a package option to +\DescRef{\LabelBase.cmd.usepackage}, or even after loading \Package{typearea} +with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption}. Using this option after loading +\Package{typearea} will\textnote{automatic recalculation} automatically +recalculate the type area using \DescRef{\LabelBase.cmd.recalctypearea} (see \DescPageRef{typearea.cmd.recalctypearea}).% % \EndIndexGroup - \begin{Declaration} \OptionVName{headinclude}{simple switch}% \OptionVName{footinclude}{simple switch} \end{Declaration}% \begin{Explain}% - So far we have discussed how the type area is - calculated\Index{type area} and 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? + So far we have discussed how the type area is calculated\Index{type area} + and the relationship of the margins\Index{margins} to one another and + between margins and body of the text. But one important question has not + been answered: What exactly are \emph{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 \DescRef{maincls.cmd.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 belongs 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. Of importance is only how a well-filled page appears when - viewed \emph{out of focus}. One could use the glasses of one's - far-sighted grandparents, 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 the 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; only the appearance when viewed out - of focus is important. + right, left, top, and bottom of the page which remain empty. But this is + only half the story. Margins are not always empty. Sometimes there can be + marginal notes, for example (see the \DescRef{maincls.cmd.marginpar} command + in \cite{lshort} or \autoref{sec:maincls.marginNotes}). + + For the top and bottom margins, the question becomes how to handle + headers\Index{page header} and footers\Index{page footer}. Do these two + belong to the text body or to their respective margins? This question is not + easy to answer. Clearly an empty footer or header belongs to the margins, + since it cannot be distinguished from the rest of the margins. A footer that + contains only the + pagination\Index[indexmain]{pagination}\textnote{pagination} % + \iffalse % + \unskip\footnote{Pagination refers to the indication of the page number, + either inside or outside the type area, and usually appears in either the + header or the footer of the page.} % + \fi % + looks more like a margin and should therefore be counted as such. It is + irrelevant for the visual effect whether headers or footers are easily + recognized as such when reading or skimming. The decisive factor is how a + well-filled page appears when viewed \emph{out of focus}. For this purpose, + you could, for example, steal the glasses of a far-sighted grandparent and + hold the page about half a meter from the tip of your nose. If you lack an + available grandparent, you can also adjust your vision to infinity and look + at the page with one eye only. Those who wear glasses have a clear advantage + here. If the footer contains not only the pagination but also other material + like a copyright notice, it looks more like a slightly detached part of the + body of the text. This needs to be taken into account when calculating the + type area. + + For the header, this is even more complicated. The header often contains + running heads\Index[indexmain]{running heads}\textnote{running heads}. % + \iffalse% + \unskip\footnote{Running heads refer to the repetition of a title, in + titling font, which usually appears in the page header, or rarely in the + page footer.} % + \fi If you use the current chapter and section titles in your running head + and these titles are long, the header itself will necessarily be very + long. In this case, the header again acts like a detached part of the text + body and less like an empty margin. This effect is reinforced if the header + contains not only the chapter or section title but also the pagination. With + material on the right and left side, the header no longer appears as an + empty margin. It is more difficult if the pagination is in the footer and + the length of the running titles varies, so that the header may look like + part of the margin on one page and part of the text body on another. Under + no circumstances should you treat the pages differently. That would lead to + vertically jumping headers, which is not suitable even for a flip book. In + this case it is probably best to count the header as part of the text body. + + The decision is easy when the header or footer is separated from the actual + text body by a line. This will give a ``closed'' appearance and the header + or footer should be calculated as part of the text body. Remember: It is + irrelevant that the line improves the optical separation of text and header + or footer; only the appearance when viewed out of focus is important. \end{Explain} -The \Package{typearea} package cannot 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 \Package{typearea} package cannot determine on its own whether +to count headers and footers\important{\OptionValue{headinclude}{true} + \OptionValue{headinclude}{false} \OptionValue{footinclude}{true} + \OptionValue{footinclude}{false}} as part of the text body or the +margin. The \Option{headinclude} and \Option{footinclude} options cause the header or footer to be counted as part of the text. These -options, being a \PName{simple switch}\ChangedAt{v3.00}{\Package{typearea}}, -understand the standard values for simple switches in -\autoref{tab:truefalseswitch}. One may use the options without +options, being \PName{simple switch}es\ChangedAt{v3.00}{\Package{typearea}}, +accept the standard values for simple switches in +\autoref{tab:truefalseswitch}. You can use the options without specifying a value, in which case the value \PValue{true} is used for -the \PName{simple switch}, i.\,e., the header or footer is counted as part of +the \PName{simple}, 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:scrlayer-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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.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 \DescRef{\LabelBase.option.DIV} option with -the values \PValue{last} or \PValue{current} (see +If you are unsure what the correct setting should be, reread the explanations +above. The default is usually \OptionValue{headinclude}{false} and +\OptionValue{footinclude}{false}, but this can change in the {\KOMAScript} +classes or in other {\KOMAScript} packages depending on the options used (see +\autoref{sec:maincls.options} and \autoref{cha:scrlayer-scrpage}). + +Note\textnote{Attention!} that these options must be passed as class options +when using one of the {\KOMAScript} classes, or after loading the class with +\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption}. +Changing these options after loading the \Package{typearea} package does not +automatically recalculate the type area. Instead, the changes only take effect +the next time the type area is recalculated. For recalculation of the type +area, see the \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} option +with the values \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} or +\hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (see \DescPageRef{typearea.option.DIV.last}) or the \DescRef{\LabelBase.cmd.recalctypearea} command (see \DescPageRef{typearea.cmd.recalctypearea}).% @@ -1072,68 +1123,65 @@ the values \PValue{last} or \PValue{current} (see \begin{Declaration} \OptionVName{mpinclude}{simple switch} \end{Declaration} -Besides\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} documents where the head and foot are part of the -text area, there are also documents where the margin-note area must be -counted as part of the text body as well. The option \Option{mpinclude} does -exactly this. The option, as a -\PName{simple 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{simple 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, 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 -\OptionValue{mpinclude}{true} is mainly for experts and so is not recommended. +In addition to\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} documents where the header and footer are more likely to +be part of the text body than the margins, there are also documents where +marginal notes should be considered part of the text body as well. The option +\Option{mpinclude} does exactly this. The option, as a \PName{simple + switch}\ChangedAt{v3.00}{\Package{typearea}}, accepts the standard values +for simple switches in \autoref{tab:truefalseswitch}. You can also pass this +option without specifying a value, in which case \PValue{true} is assumed. + +The effect of \OptionValue{mpinclude}{true}% +\important{\OptionValue{mpinclude}{true}} is that a width-unit is removed from +the main text body and used as the area for marginal notes. With the +\OptionValue{mpinclude}{false} option, which is the default setting, part of +the normal margin is used for marginal notes. The width of that area is one or +one-and-a-half width units, depending on whether you have chosen one-sided or +two-sided printing. The \OptionValue{mpinclude}{true} option is mainly for +experts and so is 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 set up. The - length can be easily enlarged with the command \Macro{addtolength}. - How much 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 set up the margin-width to reach a third right into the - normal margin; for example, using + In most cases where the option \Option{mpinclude} makes sense, you also + require a wider area for marginal notes. Often, however, only a part of the + marginal note's width should be part of the text area, not the whole width, + for example if the margin is used for quotations. Such quotations are + usually set as unjustified text, with the flush edge against the text area. + Since the unjustified text gives no homogeneous optical impression, these + lines can protrude partially into the margin. You can accomplish that by + using the option \Option{mpinclude} and by increasing the length + \Length{marginparwidth} after the type area has been set up. The length can + be easily enlarged with the command \Macro{addtolength}. How much the length + has to be increased depends on the individual situation and it requires a + certain amount of sensitivity. This is another reason the \Option{mpinclude} + option is primarily intended for experts. Of course you can specify, for + example, that the marginal notes should project a third of the way into the + normal margin by using the following: \begin{lstcode} - \setlength{\marginparwidth}{1.5\marginparwidth} + \setlength{\marginparwidth}{1.5\marginparwidth} \end{lstcode} - gives the desired result. - - 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 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 cannot be combined with automatic calculation of the - \PName{DIV} value. In contrast - \OptionValueRef{\LabelBase}{DIV}{calc}\IndexOption{DIV~=calc} (see - \DescPageRef{typearea.option.DIV.calc}) heeds - \Option{mpinclude}. + +Currently there is no option to enlarge the space for marginal notes within +the text area. There is only one way to accomplish this: first, either omit +the \Option{mpinclude} option or set it to \PValue{false}, and then, after the +type area has been calculated, reduce \Length{textwidth} (the width of the +text body) and increase \Length{marginparwidth} (the width of the marginal +notes) by the same amount. Unfortunately, this procedure cannot be combined +with automatic calculation of the \PName{DIV} value. In contrast, +\Option{mpinclude} is taken into account with +\OptionValueRef{\LabelBase}{DIV}{calc}\IndexOption{DIV~=calc} (see +\DescPageRef{typearea.option.DIV.calc}). \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 \DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.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 \DescRef{\LabelBase.option.DIV} option with the values -\PValue{last} or \PValue{current} (see +Note\textnote{Attention!} that these options must be passed as class options +when using one of the {\KOMAScript} classes, or after loading the class with +\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption}. +Changing these options after loading the \Package{typearea} package does not +automatically recalculate the type area. Instead, the changes only take effect +the next time the type area is recalculated. For recalculation of the type +area, see the \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} option +with the values \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} or +\hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (see \DescPageRef{typearea.option.DIV.last}) or the \DescRef{\LabelBase.cmd.recalctypearea} command (see \DescPageRef{typearea.cmd.recalctypearea}).% @@ -1142,60 +1190,64 @@ type area, refer to the \DescRef{\LabelBase.option.DIV} option with the values \begin{Declaration} - \OptionVName{headlines}{number of lines}\\ + \OptionVName{headlines}{number of lines} \OptionVName{headheight}{height} \end{Declaration}% -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 +\BeginIndex{}{header>height}% +We have seen how to calculate the type area using the \Package{typearea} +package and how to specify whether the header and footer are part of the text +or the margins. However, especially 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. +The \Option{headlines}\important{\Option{headlines}} option specifies the +number of lines of text in the header. The \Package{typearea} package uses a +default of 1.25. This is a compromise: large enough for underlined headers +(see \autoref{sec:maincls.pagestyle}) and small enough that the relative +weight of the top margin is not affected too much when the header is not +underlined. Thus the default value will usually be adequate. In special cases, +however, you may need to adjust the header height more precisely to your +actual requirements. \begin{Example} - Assume that you want to use a header with two lines. Normally this would - result in an ``\texttt{overfull} \Macro{vbox}'' warning for each page. To - prevent this from happening, the \Package{typearea} package is told to - calculate an appropriate type area: + Suppose you want to create a two-line header. Normally this would result in + {\LaTeX} issuing the warning ``\texttt{overfull} \Macro{vbox}'' for each + page. To prevent this from happening, you tell the \Package{typearea} + package to calculate an appropriate type area: \begin{lstcode} \documentclass[a4paper]{article} \usepackage[headlines=2.1]{typearea} \end{lstcode} -If you use a {\KOMAScript} class, it is recommended to pass this option -directly as a class option: + If you use a {\KOMAScript} class, you should pass this option directly to + the class: \begin{lstcode} \documentclass[a4paper,headlines=2.1]{scrartcl} \end{lstcode} -Commands that can be used to define the contents of a header with two lines -are described in \autoref{cha:scrlayer-scrpage}. + Commands that can be used to define the contents of a two-line header + can be found in \autoref{cha:scrlayer-scrpage}. \end{Example} -In some cases it is useful to be able to specify 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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.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 \DescRef{\LabelBase.option.DIV} option with -the values \PValue{last} or \PValue{current} (see +In some cases it is useful to be able to specify the header height not in +lines but directly as a length. This is accomplished with the alternative +option \Option{headheight}\important{\Option{headheight}}. All lengths and +sizes that \LaTeX{} understands are valid for \PName{height}. +Note\textnote{Attention!}, however, that if you use a \LaTeX{} length such as +\Length{baselineskip}, its value is not fixed at the time the option is set. +The value that will be used will be the one current at the time the type area +and margins are calculated. Also\textnote{Attention!}, \LaTeX{} lengths like +\Length{baselineskip} should never be used in the optional argument of +\DescRef{\LabelBase.cmd.documentclass} or \DescRef{\LabelBase.cmd.usepackage}. + +Please be sure to note\textnote{Attention!} that these options must be passed +as class options when using one of the {\KOMAScript} classes, or after loading +the class with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption}. Changing these options after loading the +\Package{typearea} package does not\textnote{no automatic recalculation} +automatically recalculate the type area. Instead, the changes only take effect +the next time the type area is recalculated. For recalculation of the type +area, see the \hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} option +with the values \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} or +\hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (see \DescPageRef{typearea.option.DIV.last}) or the \DescRef{\LabelBase.cmd.recalctypearea} command (see \DescPageRef{typearea.cmd.recalctypearea}).% @@ -1208,68 +1260,79 @@ the values \PValue{last} or \PValue{current} (see \OptionVName{footheight}{height}% \Length{footheight}% \end{Declaration} -As\ChangedAt{v3.12}{\Package{typearea}} well as we needed a height value for -the head, we need a height value for the page footer. But in difference to the -height of the head, \LaTeX itself do not provide a length for the height of -the page footer. So \Package{typearea} defines the new length -\Length{footheight}\IndexLength[indexmain]{footheight}, if -it does not exist. Wether or not this length will be used by classes or -packages depends on the classes and packages, that will be used. The -\KOMAScript{} package \Package{scrlayer-scrpage} incorporates -\Length{footheight} and actively cooperates with -\Package{typearea}. The \KOMAScript{} classes do not recognize -\Length{footheight}, because without any package assistance -they provide only page styles with single-line page footers. - -You can use \Option{footlines} to setup the \PName{number of lines} in the -page footer, similar to \DescRef{\LabelBase.option.headlines} for the number -of lines in the page header. By default \Package{typearea} uses 1.25 -footlines. This is a compromise, large enough for overlining or underlining -footers and small enough that the relative weight of the bottom margin is not -affected too mich when the footer is neither over- nor underlined. Thus in -most cases you may leave \PName{number of lines} at its default value and -adapt it only in special cases. +\BeginIndex{}{footer>height}% +Like\ChangedAt{v3.12}{\Package{typearea}} the header, the footer also requires +an indication of how high it should be. But unlike the height of the header, +the \LaTeX{} kernel does not provide a length for the height of the footer. So +\Package{typearea} defines a new length, +\Length{footheight}\IndexLength[indexmain]{footheight}, if it does not already +exist. Whether this length will be used by classes or packages to design the +headers and footers depends on the individual classes and packages. The +\KOMAScript{} package +\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% +\important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}% +\IndexPackage{scrlayer-scrpage} incorporates +\Length{footheight} and actively cooperates with \Package{typearea}. The +\KOMAScript{} classes, on the other hand, do not recognize \Length{footheight} +because without the help of packages they offer only page styles with +single-line page footers. + +You can use \Option{footlines}\important{\Option{footlines}} to set the number +of lines in the footer, similar to \DescRef{\LabelBase.option.headlines} for +the number of lines in the header. By default the \Package{typearea} package +uses 1.25 footer lines. This value is a compromise: large enough to +accommodate an overlined or underlined footer (see +\autoref{sec:maincls.pagestyle}), and small enough that the relative weight of +the bottom margin is not affected too much when the footer lacks a dividing +line. Thus the default value will usually be adequate. In special cases, +however, you may need to adjust the footer height more precisely to your +actual requirements. \begin{Example} - Assume a two-lined copyright note should be placed in the page - footer. Indeed, \LaTeX{} itself does not test, whether or not the footer has - room enough for that, exceeding of the available height would probably could - result in unbalanced margins. Moreover, for example package - \Package{scrlayer-scrpage}, that may be used to define such a page footer, - would definitely do such a test and would notify a recognised oversize. So - it makes sense, to declare the needed footheight already for the calculation - of the text area and the margins: + Suppose you need to place a two-line copyright notice in the footer. + Although there is no test in \LaTeX{} itself to check the space available + for the footer, exceeding the designated height will likely result in + unbalanced distribution of type area and margins. Moreover, a package such + as \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% + \important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}% + \IndexPackage{scrlayer-scrpage}, which can be used to define such a footer, + performs the appropriate test and will report any overruns. So it makes + sense to specify the required footer height when calculating of the type + area: \begin{lstcode} \documentclass[a4paper]{article} \usepackage[footlines=2.1]{typearea} \end{lstcode} - Again, if you use a \KOMAScript{} class, it is recommended to pass this - option directly a a class option: + Again, if you use a \KOMAScript{} class, you should pass this + option directly to the class: \begin{lstcode} \documentclass[footlines=2.1]{scrartcl} \end{lstcode} - Commands that can be used to define the contents of a footer with two lines + Commands that can be used to define the contents of a two-line footer are described in \autoref{cha:scrlayer-scrpage}. \end{Example} -In some cases it is useful to be able to specify the footer height not -in lines but directly as a length measurement. This is accomplished -with the aid of the alternative option \Option{footheight}. 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 \DescRef{\LabelBase.cmd.KOMAoptions} or -\DescRef{\LabelBase.cmd.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 \DescRef{\LabelBase.option.DIV} option with -the values \PValue{last} or \PValue{current} (see +In some cases it is useful to be able to specify the footer height not in +lines but directly as a length. This is accomplished with the alternative +option \Option{footheight}\important{\Option{footheight}}. All lengths and +sizes that \LaTeX{} understands are valid for \PName{height}. Note, however, +that if you use a \LaTeX{} length such as \Length{baselineskip}, its value is +not fixed at the time the option is set. The value that will be used will be +the one current at the time the type area and margins are calculated. +Also\textnote{Attention!}, \LaTeX{} lengths like \Length{baselineskip} should +never be used in the optional argument of +\DescRef{\LabelBase.cmd.documentclass} or \DescRef{\LabelBase.cmd.usepackage}. + +Please be sure to note\textnote{Attention!} that these options must be passed +as class options when using one of the {\KOMAScript} classes, or after loading +the class with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption}. Changing these options after loading +\Package{typearea} does not\textnote{no automatic recalculation} automatically +recalculate the type area. Instead, the changes only take effect the next time +the type area is recalculated. For recalculation of the type area, see the +\hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} option with the +values \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} or +\hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (see \DescPageRef{typearea.option.DIV.last}) or the \DescRef{\LabelBase.cmd.recalctypearea} command (see \DescPageRef{typearea.cmd.recalctypearea}).% @@ -1279,17 +1342,17 @@ the values \PValue{last} or \PValue{current} (see \begin{Declaration} \Macro{areaset}\OParameter{BCOR}\Parameter{width}\Parameter{height} \end{Declaration}% -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 -\DescRef{\LabelBase.option.headinclude}, +So far, we have seen how to create a nice type area\Index{type area} for +standard situations and how the \Package{typearea} package makes it easier to +accomplish this while still giving the freedom to adapt the layout. However, +there are cases where the text body has to adhere precisely to specific +dimensions. At the same time, the margins should be distributed as nicely as +possible and, if necessary, a binding correction should be taken into account. +The \Package{typearea} package offers the command \Macro{areaset} for this +purpose. This command takes as parameters the width and height of the text +body, as well as the binding correction as an optional parameter. The width +and position of the margins are then calculated automatically, taking account +of the options \DescRef{\LabelBase.option.headinclude}, \OptionValueRef{\LabelBase}{headinclude}{false}, \DescRef{\LabelBase.option.footinclude} and \OptionValueRef{\LabelBase}{footinclude}{false} where needed. On the other @@ -1298,19 +1361,19 @@ hand, the options \DescRef{\LabelBase.option.headheight}\IndexOption{headheight}, \DescRef{\LabelBase.option.footlines}\IndexOption{footlines}, and \DescRef{\LabelBase.option.footheight}\IndexOption{footheight} are ignored! -See further information to \DescRef{typearea-experts.cmd.areaset} on +For more information, see \DescRef{typearea-experts.cmd.areaset} on \DescPageRef{typearea-experts.cmd.areaset} of \autoref{sec:typearea-experts.experimental}. -The default of \PName{BCOR} is 0\Unit{pt}. If you want to re-use the current -binding correction, e.\,g. the value set by option +The default for \PName{BCOR} is 0\Unit{pt}. If you want to preserve the +current binding correction, for example the value set by option \DescRef{\LabelBase.option.BCOR}\IndexOption{BCOR}, you can use the symbolic -value \PValue{current} at the optional argument. +value \PValue{current} at an optional argument. \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: + Suppose a text on A4 paper needs a width of exactly 60 characters in a + typewriter font and a height of exactly 30 lines per page. You can + accomplish this with the following preamble: \begin{lstcode} \documentclass[a4paper,11pt]{article} \usepackage{typearea} @@ -1322,16 +1385,22 @@ value \PValue{current} at the optional argument. \addtolength{\LinesXXX}{29\baselineskip} \areaset{\CharsLX}{\LinesXXX} \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: + The factor is 29 rather than 30 because the baseline of the topmost line of + text 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}. So we don't + need to add any height for the first line. The descenders of characters on + the lowermost line, on the other hand, protrude below the dimensions of the + type area. + +\iffalse % Umbruchkorrekturtext + If instead you want to set a book of poetry in which the text area is + exactly square with a side length of 15\Unit{cm}, with a binding correction + of 1\Unit{cm} taken into account, you can achieve this as follows:% +\else% + To set a book of poetry with a square text area with a side length of + 15\Unit{cm} and a binding correction of 1\Unit{cm}, the following is + possible:% +\fi \begin{lstcode} \documentclass{poetry} \usepackage{typearea} @@ -1345,86 +1414,105 @@ other hand, hang below the dimensions of the type area. \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 +realign the current type area. This is possible with the option \OptionValue{DIV}{areaset}, where \DescRef{\LabelBase.cmd.KOMAoptions}\PParameter{\OptionValue{DIV}{areaset}} corresponds to the \begin{lstcode} \areaset[current]{\textwidth}{\textheight} \end{lstcode} -command. The same result is obtained if one uses +command. The same result is obtained if you use \OptionValueRef{\LabelBase}{DIV}{last} and the typearea was last set with \DescRef{\LabelBase.cmd.areaset}.% % \EndIndexGroup - -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}). +\iftrue% Umbruchkorrekturtext: Alternativen + If you have concrete specifications for the margins, \Package{typearea} is + not suitable. In this case, you should use the + \Package{geometry}\IndexPackage{geometry}% + \important{\Package{geometry}} package (see \cite{package:geometry}).% +\fi% +\iffalse% + The \Package{typearea} package is not designed to set up predefined margins. + If you have to do so, the \Package{geometry}\IndexPackage{geometry} package + (see \cite{package:geometry}) is recommended.% +\fi -\section{Paper Format Selection} +\section{Selecting the Paper Size} \seclabel{paperTypes}% \BeginIndexGroup -\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. +The paper size is a key feature of a document. As already mentioned in the +description of the supported page layout constructions (see +\autoref{sec:typearea.basics} to \autoref{sec:typearea.circleConstruction} +starting on \autopageref{sec:typearea.basics}), the layout of the page, and +hence the entire document, depends on the paper size. Whereas the {\LaTeX} +standard classes are limited to a few formats, {\KOMAScript} supports even +unusual paper sizes in conjunction with the \Package{typearea} package. \begin{Declaration} - \OptionVName{paper}{format} + \OptionVName{paper}{size} + \OptionVName{paper}{orientation} \end{Declaration}% -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 -value \PValue{landscape}\Index{paper>orientation} or -\PValue{seascape}\ChangedAt{v3.02c}{\Package{typearea}}. The difference is -that application \File{dvips} rotates at \PValue{landscape} by --90\Unit{\textdegree}, while it rotates by +90\Unit{\textdegree} at -\PValue{seascape}. So you may use \PValue{seascape} whenever a PostScript -viewer application shows landscape pages upside-down. But you may see the -difference only if you do not deactivate option -\DescRef{\LabelBase.option.pagesize}, which will be described next. - -Additionally\ChangedAt{v3.01b}{\Package{typearea}}, the \PName{format} can -also be specified in the form \PName{height}\texttt{:}\PName{width} or -\PName{width}\texttt{:}\PName{height}. -Whether\ChangedAt{v3.22}{\Package{typearea}} the first or the second value is -the \PName{height} or \PName{width} depends on the paper orientation. With -\OptionValue{paper}{landscape} or \OptionValue{paper}{seascape} the smaller -value is the \PName{height} and the larger one is the \PName{width}. With -\OptionValue{paper}{portrait} the smaller value is the \PName{width} and the -larger one is the \PName{height}. +The \Option{paper}\ChangedAt{v3.00}{\Package{typearea}} option is the central +element for paper-size selection\important[i]{% + \begin{tabular}[t]{@{}l@{}l@{}} + \KOption{paper} & \PValue{letter}, \\ + & \PValue{legal}, \\ + & \PValue{executive}, \\ + & \PValue{A0}, \PValue{A1}, \PValue{A2} \dots\\ + & \PValue{B0}, \PValue{B1}, \PValue{B2} \dots\\ + & \PValue{C0}, \PValue{C1}, \PValue{C2} \dots\\ + & \PValue{D0}, \PValue{D1}, \PValue{D2} \dots\end{tabular}} % +in \KOMAScript. \PName{Size} supports 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 lower case\,---\,\PValue{a4}. + +Landscape orientations\important{% + \begin{tabular}[t]{@{}l@{}l@{}} + \KOption{paper} & \PValue{landscape}, \\ + & \PValue{seascape} + \end{tabular}% +} are supported by specifying the option one more time +with the value \PValue{landscape}\Index{paper>orientation} or +\PValue{seascape}\ChangedAt{v3.02c}{\Package{typearea}}. The only difference +between \PValue{landscape} and \PValue{seascape} is that that the application +\File{dvips} rotates \PValue{landscape} pages by -90\Unit{\textdegree}, while +it rotates \PValue{seascape} pages by +90\Unit{\textdegree}. Thus +\PValue{seascape} is particularly useful whenever a PostScript viewer shows +landscape pages upside-down. In order for the difference to have an effect, +you must not deactivate the \DescRef{\LabelBase.option.pagesize}% +\IndexOption{pagesize}\important{\DescRef{\LabelBase.option.pagesize}} option +described below. + +Additionally, the \PName{size} can also be specified either in the form +\PName{width}\texttt{:}\PName{height}\ChangedAt{v3.01b}{\Package{typearea}}% +\important{\OptionVName{paper}{width\textup{:}height}} or in the form +\PName{height}\texttt{:}\PName{width}\ChangedAt{v3.22}{\Package{typearea}}% +\important{\OptionVName{paper}{height\textup{:}width}}. Which value is taken +as the \PName{height} and which as the \PName{width} depends on the +orientation of the paper. With \OptionValue{paper}{landscape} or +\OptionValue{paper}{seascape}, the smaller value is the \PName{height} and the +larger one is the \PName{width}. With +\OptionValue{paper}{portrait}\important{\OptionValue{paper}{portrait}}, the +smaller value is the \PName{width} and the larger one is the \PName{height}. Note\textnote{Attention!} that until version~3.01a the first value was always the \PName{height} and the second one the \PName{width}. From version~3.01b -until version~3.21, the first value was always the \PName{width} and the +through version~3.21, the first value was always the \PName{width} and the second one the \PName{height}. This is important if you use compatibility -settings (see option -\DescRef{\LabelBase.option.version}% +settings (see option \DescRef{\LabelBase.option.version}% \IndexOption{version}\important{\DescRef{\LabelBase.option.version}}, \autoref{sec:typearea.compatibilityOptions}, \DescPageRef{typearea.option.version}). \begin{Example} - 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. + Suppose you want to print an ISO-A8 index card in landscape orientation. The + margins should be very small and no header or footer will be used. \begin{lstcode} \documentclass{article} \usepackage[headinclude=false,footinclude=false, @@ -1437,9 +1525,8 @@ settings (see option 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. + If the file cards have the special format (height:width) + 5\Unit{cm}\,:\,3\Unit{cm}, this can be achieved using the following: \begin{lstcode} \documentclass{article} \usepackage[headinclude=false,footinclude=false,% @@ -1454,22 +1541,25 @@ code. \end{lstcode} \end{Example} -As part of the predefined defaults, {\KOMAScript} uses A4 paper in -portrait orientation. This is in contrast to the standard classes, +By default, {\KOMAScript} uses A4 paper in portrait orientation. This is in +contrast\textnote{\KOMAScript{} vs. standard classes} to the standard classes, which by default use the American letter paper format. -Please note that when using these options with one of the {\KOMAScript} -classes, it must be used either as a class option, or passed via -\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.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 -\DescRef{\LabelBase.option.DIV} option with the values \PValue{last} or -\PValue{current} (see \DescPageRef{typearea.option.DIV.last}) or the +Please note\textnote{Attention!} that these options must be passed as class +options when using one of the {\KOMAScript} classes, or after loading the +class with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption}. Changing the paper size or orientation +with \DescRef{\LabelBase.cmd.KOMAoptions} or +\DescRef{\LabelBase.cmd.KOMAoption} does not\textnote{no automatic +recalculation} automatically recalculate the type area. Instead, the changes +only take effect the next time the type area is recalculated. For +recalculation of the type area, see the +\hyperref[desc:\LabelBase.option.DIV.last]{\Option{DIV}} option with the +values \hyperref[desc:\LabelBase.option.DIV.last]{\PValue{last}} or +\hyperref[desc:\LabelBase.option.DIV.current]{\PValue{current}} (see +\DescPageRef{typearea.option.DIV.last}) or the \DescRef{\LabelBase.cmd.recalctypearea} command (see \DescPageRef{typearea.cmd.recalctypearea}).% -% \EndIndexGroup @@ -1477,96 +1567,122 @@ of the type area. For recalculation of the type area, refer to the \OptionVName{pagesize}{output driver} \end{Declaration}% \begin{Explain}% - 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 them 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. + The above-mentioned mechanisms for choosing the paper format only affect the + output insofar as internal {\LaTeX} lengths are set. The \Package{typearea} + package then uses them in dividing the page into type area and margins. + The specification of the DVI formats\Index{DVI}, however, does not include + any indication of paper size. % + \iffree{% + When outputting directly from the DVI format to a low-level printer + language such as PCL% + \iftrue% Umbruchkorrektur + \footnote{PCL is a family of printer languages that HP uses for its + inkjet and laser printers.}% + \fi \ or ESC/P2% + \iftrue% Umbruchkorrektur + \footnote{ESC/P2 is the printer language that EPSON uses for its + dot-matrix, and older inkjet or laser printers.}% + \fi \ or ESC/P-R% + \iftrue% Umbruchkorrektur + \footnote{ESC/P-R is the printer language that EPSON currently uses for + inkjet and laser printers.}% + \fi, this is usually not an issue% + }{% + In the past, when DVI was printed directly into a low-level printer + language, it did not matter% + }, since with these formats the reference zero-position is at the top left, + as in DVI. But nowadays, the output is normally translated into languages + such as PostScript\Index{PostScript} or PDF\Index{PDF}, in which the + zero-position is at a different point, and in which the paper format should + be specified in the output file, which is missing this information. To solve + this problem, the corresponding driver uses a default paper size, which the + user can change either by an option or by specifying it in the {\TeX} source + file. When using the DVI driver \File{dvips} or \File{dvipdfm}, the + information can be given in the form of a \Macro{special} command. When + using {pdf\TeX}, {lua\TeX}, {\XeTeX} or {V\TeX} their paper-size lengths are + set appropriately. \end{Explain} -With option \Option{pagesize} you may select an output driver for writing the -paper size into the destination document. Supported output drivers are listed -at \autoref{tab:typearea.outputdriver}. The -default\ChangedAt{v3.17}{\Package{typearea}} is \Option{pagesize}. This usage -without value is same like \OptionValue{pagesize}{auto}. +With the \Option{pagesize} option, you can select an output driver for writing +the paper size into the destination document. Supported output drivers are +listed at \autoref{tab:typearea.outputdriver}\iffalse% +, \autopageref{tab:typearea.outputdriver}\fi. The +default\ChangedAt{v3.17}{\Package{typearea}} is \Option{pagesize}. Using this +option without providing a value is equivalent to \OptionValue{pagesize}{auto}. % \begin{table} \caption{Output driver for option \OptionVName{pagesize}{output driver}} \begin{desctabular} - \pventry{auto}{Uses output driver \PValue{pdftex} if pdf\TeX-specific - registers \Macro{pdfpagewidth}\IndexLength{pdfpagewidth} and - \Macro{pdfpageheight}\IndexLength{pdfpageheight} are defined. In - addition, output driver \PValue{dvips} will be - used.\IndexOption{pagesize~=\PValue{auto}}}% + \pventry{auto}{Uses output driver \PValue{pdftex} if the pdf\TeX-specific + lengths \Macro{pdfpagewidth}\IndexLength{pdfpagewidth} and + \Macro{pdfpageheight}\IndexLength{pdfpageheight} or the lua\TeX-specific + lengths \Macro{pagewidth}\IndexLength{pagewidth} and + \Macro{pageheight}\IndexLength{pageheight} are defined. In addition, the + output driver \PValue{dvips} will also be used. This setting is in + principle also suitable for \XeTeX{}.% + \IndexOption{pagesize~=\textKValue{auto}}}% \pventry{automedia}{Almost the same as \PValue{auto} but if the - \mbox{V\TeX}-specific registers + \mbox{V\TeX}-specific lengths \Macro{mediawidth}\IndexLength{mediawidth} and \Macro{mediaheight}\IndexLength{mediaheight} are defined, they will be - set additionally.\IndexOption{pagesize~=\PValue{automedia}}}% + set as well.\IndexOption{pagesize~=\textKValue{automedia}}}% \entry{\PValue{false}, \PValue{no}, \PValue{off}}{% Does not set any output driver and does not send page size information to - the output driver.\IndexOption{pagesize~=\PValue{false}}}% - \pventry{dvipdfmx}{\ChangedAt{v3.05a}{\Package{typearea}}Writes paper size - into DVI files using + the output driver.\IndexOption{pagesize~=\textKValue{false}}}% + \pventry{dvipdfmx}{\ChangedAt{v3.05a}{\Package{typearea}} Writes the paper + size into DVI files using \Macro{special}\PParameter{pagesize=\PName{width},\PName{height}}. The - name of the output driver is \PValue{dvipdfmx} because application - \File{dvipdfmx} handles such specials not only at document preamble but - at the document body too.\IndexOption{pagesize~=\PValue{dvipdfmx}}}% - \pventry{dvips}{Using this option at the document preamble sets paper size + name of the output driver is \PValue{dvipdfmx} because the application + \File{dvipdfmx} handles such specials not just in the preamble but + in the document body too.\IndexOption{pagesize~=\textKValue{dvipdfmx}}}% + \pventry{dvips}{Using this option in the preamble sets the paper size using - \Macro{special}\PParameter{pagesize=\PName{width},\PName{height}}. While - application \File{dvips} cannot handle changes of paper size at the - inner document pages a hack is needed to achieve such changes. Use - changes of paper size after \Macro{begin}\PParameter{document} on your + \Macro{special}\PParameter{pagesize=\PName{width},\PName{height}}. Since + the \File{dvips} driver cannot handle changes of paper size in the + inner document pages, a hack is required to achieve such changes. Use + changes of paper size after \Macro{begin}\PParameter{document} at your own risk, if you are using - \PValue{dvips}!\IndexOption{pagesize~=\PValue{dvips}}}% - \pventry{pdftex}{Sets paper size using the pdf\TeX-specific registers + \PValue{dvips}!\IndexOption{pagesize~=\textKValue{dvips}}}% + \entry{\PValue{pdftex}, \PValue{luatex}}{% + \ChangedAt{v3.20}{\Package{typearea}}Sets paper size using the + pdf\TeX-specific lengths \Macro{pdfpagewidth}\IndexLength{pdfpagewidth} and - \Macro{pdfpageheight}\IndexLength{pdfpageheight}. You may do this at any - time in your document.\IndexOption{pagesize~=\PValue{pdftex}}}% + \Macro{pdfpageheight}\IndexLength{pdfpageheight} or the + lua\TeX-specific lengths \Macro{pagewidth}\IndexLength{pagewidth} + and \Macro{pageheight}\IndexLength{pageheight}. You can do this at any + time in your document.% + \IndexOption{pagesize~=\textKValue{pdftex}}% + \IndexOption{pagesize~=\textKValue{luatex}}}% \end{desctabular} \label{tab:typearea.outputdriver} \end{table} \begin{Example} - 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 + Suppose a document should be available both as a DVI data file + and in PDF format for on-line viewing. The preamble might begin as follows: -\begin{lstcode} +\begin{lstcode}[% + aboveskip=.5\baselineskip plus .1\baselineskip minus .1\baselineskip,% + belowskip=.4\baselineskip plus .1\baselineskip minus .1\baselineskip] \documentclass{article} \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. + If the {pdf\TeX} engine is used \emph{and} PDF output is enabled, the + lengths \Macro{pdfpagewidth} and \Macro{pdfpageheight} are set + appropriately. If, however, a DVI data file is created\,---\, 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.% +\iffree{% The recommendation is actually outdated. Those who use such old + % versions of typearea are the ones at fault. + If you use an older version of \Package{typearea}, you + should\textnote{Attention!} always specify the \Option{pagesize} option, + because older versions of \Package{typearea} did not set them by default. As + a rule, the method without an \PName{output driver} or with \PValue{auto} or + \PValue{automedia} is convenient.% +}{% + \vskip-1\ht\strutbox plus + .75\ht\strutbox% Wegen Beispiel am Ende der Erklaerung +}% \EndIndexGroup % \EndIndexGroup @@ -1575,116 +1691,118 @@ without \PName{output driver}, or with \PValue{auto} or \section{Tips} \seclabel{tips} -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 -1980s, 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 extent, 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 cannot 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. \emph{Usable} -frequently means 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 \DescRef{\LabelBase.option.DIV}. The author advises against the use -of \DescRef{\LabelBase.cmd.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. +For theses and dissertations, many rules exist that violate even the most +elementary rules of typography.\textnote{formatting rules vs. good typography} +The reasons for such rules include the typographical incompetence of those who +issue them, but also the fact that they were originally meant for mechanical +typewriters. With a typewriter or a primitive text processor from the early +1980s, it was not possible to produce typographically correct output without +extreme effort. So rules were created that appeared to be easy to follow and +were still accommodating to a proofreader. These include margins that lead to +usable line lengths for one-sided printing with a typewriter. To avoid +extremely short lines, which are made worse by unjustified text, the margins +were kept narrow and the leading was increased to 1.5 lines to allow space for +corrections. Before the advent of modern text processing systems, single +spacing would have been the only alternative\,---\,except 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 showed their playful side and tried to spice up their work by using +an ornamental font to make their work look better than it really was. They did +not consider that such fonts are often more difficult to read and therefore +unsuitable for this purpose. Thus, two font families found their way +into the regulations which are neither compatible nor particularly suitable +for the job in the case of Times. Times is a relatively narrow typeface +designed at the beginning of the 20th century for the narrow columns of +British newspapers. Modern versions usually are somewhat improved. But still +the Times font, which is often required, does not really fit the prescribed +margins. + +{\LaTeX} already uses adequate line spacing, and the margins are wide enough +for corrections. Thus a page will look spacious, even when quite full of text. + +Often these typographically questionable rules are difficult to implement in +{\LaTeX}. A fixed number of characters per line can be achieved only when a +non-proportional font is used. There are very few good non-proportional fonts +available. Hardly any 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 widths. This does not work and results +in a fragmented and agitated-looking text. If you use {\LaTeX} for your +thesis, some of these rules have to be either ignored or at least interpreted +generously. For example, ``60 characters per line'' can be interpreted not as +a fixed but as an average or maximum value.% + +As implemented, typesetting rules are usually intended to obtain a useful +result even if the author does not know what needs to be considered. +\emph{Useful} frequently means readable and correctable. In my opinion the +type area of a text set with {\LaTeX} and the \Package{typearea} package meets +these criteria well from the outset. So if you are confronted with regulations +which deviate substantially from it, I recommend that you present a sample of +the text to your advisor and ask whether you can submit the work despite +deviations in the format. If necessary the type area can be adapted somewhat +by changing the \DescRef{\LabelBase.option.DIV}% +\important{\DescRef{\LabelBase.option.DIV}} option. I advise against +using \DescRef{\LabelBase.cmd.areaset} for this purpose, however. In the +worst case, use the \Package{geometry} package% +\important{\Package{geometry}}\IndexPackage{geometry} (see +\cite{package:geometry}), which is not part of \KOMAScript, or change the page +layout parameters of \LaTeX{} yourself. You can find the values as determined +by \Package{typearea} in the \File{log} file of your document. The +\DescRef{typearea-experts.option.usegeometry}% +\important{\DescRef{typearea-experts.option.usegeometry}} option, which you +can find in \autoref{part:forExperts}, can also improve the interactions +between \Package{typearea} and \Package{geometry}. This should allow modest +adjustments. However, make sure that the proportions of the text area match +those of the page, taking the binding correction into account. + +If it is absolutely necessary to set the text with a line spacing of 1.5, do +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, use the +\Macro{linespread} command. I recommend the package +\Package{setspace}\important{\Package{setspace}}\IndexPackage{setspace} (see +\cite{package:setspace}), which is not part of \KOMAScript. You should also +let \Package{typearea} recalculate a new type area after changing the line +spacing. However, you should switch back to the normal line spacing for the +title, and preferably for the table of contents and various lists\,---\,as +well as the bibliography and the index. For details, see the explanation of +\OptionValueRef{\LabelBase}{DIV}{current}% +\important{\OptionValueRef{\LabelBase}{DIV}{current}}. The \Package{typearea} package, even with option -\OptionValueRef{\LabelBase}{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 for the respective document. Thus one can select a smaller value easily +\OptionValueRef{\LabelBase}{DIV}{calc}% +\important{\OptionValueRef{\LabelBase}{DIV}{calc}}, calculates a very generous +text area. Many conservative typographers will find that the resulting line +length is still excessive. The calculated \Var{DIV} value may be found in the +\File{log} file for each document. So you can easily choose a smaller value after the first {\LaTeX} run. -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. - +Not\textnote{What is better?} infrequently I am asked why I dwell on type area +calculations for an entire chapter, when it would be much easier just to +provide a package with which you can adjust the margins as in a word +processor. Often it is said that such a package would be a better solution in +any case, since everyone knows how to choose appropriate margins, and that the +margins calculated by {\KOMAScript} are not that good anyway. I would like to +quote Hans Peter Willberg and Friedrich Forssmann, two of the most respected +contemporary typographers \cite{TYPO:ErsteHilfe}. (You can find the original +German in the German guide.) \begin{quote} \phantomsection\seclabel{tips.cite}% - \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.} + \textit{The\textnote{Quote!} practice of doing things oneself has long been + widespread, but the results are often dubious because amateur typographers + do not see what is wrong and cannot know what is important. This is how + you get used to to incorrect and poor typography.} [\dots] \textit{Now the + objection could be made that typography is a matter of taste. When it + comes to decoration, one could perhaps accept that argument, but since + typography is primarily about information, not only can mistakes irritate, + but they may even cause damage.} \end{quote} % \EndIndexGroup %%% Local Variables: %%% mode: latex +%%% mode: flyspell %%% coding: us-ascii +%%% ispell-local-dictionary: "en_GB" %%% TeX-master: "../guide" -%%% End: +%%% End: |