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