% ======================================================================
% scrbookreportarticle.tex
% Copyright (c) Markus Kohm, 2001-2011
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
% This work may be distributed and/or modified under the conditions of
% the LaTeX Project Public License, version 1.3c of the license.
% The latest version of this license is in
%   http://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX 
% version 2005/12/01 or later and of this work.
%
% This work has the LPPL maintenance status "author-maintained".
%
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrbookreportarticle.tex
% Copyright (c) Markus Kohm, 2001-2011
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%   http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
%
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
%
% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
% 
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
% Chapter about scrbook, scrreprt, and scrartcl of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Kapitel über scrbook, scrreprt und scrartcl in der KOMA-Script-Anleitung
% Verwaltet von Markus Kohm
%
% ============================================================================

\ProvidesFile{scrbookreportarticle.tex}[2009/01/01 KOMA-Script guide (chapter:
scrbook, scrreprt, scrartcl)]
\translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm}

% Date of translated german file: 2007-09-04

\chapter{The Main Classes \Class{scrbook}, \Class{scrreprt} and
  \Class{scrartcl}}
\labelbase{maincls}

%\AddSeeIndex{command}{gen}{\GuidecmdIndexShort}{cmd}% <-- set automaticly
\AddSeeIndex{macro}{gen}{\GuidecmdIndexShort}{cmd}%

\textsc{Note:} Almost all commands of the chapter for experts are missing,
because that chapter is still missing. Some are at this chapter instead.

\begin{Explain}
  The main classes of the {\KOMAScript} bundle are designed as
  counterparts to the standard {\LaTeX} classes. This means that the
  {\KOMAScript} bundle contains replacements for the three standard
  classes \Class{book}\IndexClass{book},
  \Class{report}\IndexClass{report} and
  \Class{article}\IndexClass{article}. There is also a replacement for
  the standard class \Class{letter}\IndexClass{letter}. The document
  class for letters is described in a separate chapter, because it is
  fundamentally different from the three main classes (see
  \autoref{cha:scrlttr2}).The names of the {\KOMAScript} classes are
  composed of the prefix ``\texttt{scr}'' and the abbreviated name of
  the corresponding standard class. In order to restrict the length of
  the names to eight letters, the vowels, starting with the last one,
  are left off as necessary. The \autoref{tab:maincls.overview} shows
  an overview of the correspondence between the standard classes and
  the {\KOMAScript} classes.
\end{Explain}

The simplest way to use a {\KOMAScript} class instead of a standard
one is to substitute the class name in the \verb|\documentclass|
command according to \autoref{tab:maincls.overview}. Normally, the
document should be processed without errors by {\LaTeX}, just like
before the substitution. The look however should be
different. Additionally, the {\KOMAScript} classes provide new
possibilities and options that are described in the following
sections.

\begin{table}[htbp]
  \centering
  \caption[Class correspondence]{Correspondence between
    standard classes, {\KOMAScript} classes and
    \Script{} styles.}
  \begin{tabular}{ll}
    \toprule
    standard class & {\KOMAScript} class \\%& \Script-Stil (\LaTeX2.09)\\
    \midrule
    \Class{article} & \Class{scrartcl}   \\%& \File{script\textunderscore s} \\
    \Class{report}  & \Class{scrreprt}   \\%& \File{script}   \\
    \Class{book}    & \Class{scrbook}    \\%& \File{script}   \\
    \Class{letter}  & \Class{scrlttr2}   \\%& \File{script\textunderscore l} \\
    \bottomrule
  \end{tabular}
  \label{tab:maincls.overview}
\end{table}


\section{The Options}
\label{sec:maincls.options}

\textsc{Note:} Since version~3.00 the main classes understand command
\Macro{KOMAoptions} (see \autoref{sec:scrlttr2.options},
\autopageref{desc:scrlttr2.cmd.KOMAoptions}).  In the course of the
development many new options were implemented and old became obsolete.  Only
the new options may be used with \Macro{KOMAoptions}.  Unfortunately most of
them are documented not yet.  You may find the obsolete and corresponding new
options at \autoref{tab:maincls-experts.deprecated}.

\textsc{Note:} Following options are still missing in this chapter:
\KOption{bibliography}\PName{setting}, \OptionValue{bibliography}{openstyle},
\OptionValue{bibliography}{oldstyle}, \OptionValue{captions}{bottombeside},
\OptionValue{captions}{centeredbeside}, \OptionValue{captions}{innerbeside},
\OptionValue{captions}{leftbeside}, \OptionValue{captions}{outerbeside},
\OptionValue{captions}{rightbeside}, \OptionValue{captins}{topbeside},
\KOption{fontsize}\PName{size}, \OptionValue{footnotes}{multiple},
\OptionValue{footnotes}{nomultiple}, \OptionValue{headings}{onelineappendix},
\OptionValue{headings}{twolineappendix}, \OptionValue{headings}{onelinechapter},
\OptionValue{headings}{twolinechapter}, \OptionValue{listof}{chapterentry},
\OptionValue{listof}{chaptergapline}, \OptionValue{listof}{chaptergapsmall},
\OptionValue{listof}{leveldown}, \OptionValue{listof}{nochaptergap},
\OptionValue{numbers}{autoendperiod}, \OptionValue{toc}{bibliography},
\OptionValue{toc}{bibliographynumbered}, \OptionValue{toc}{index},
\OptionValue{toc}{listof}, \OptionValue{toc}{listofnumbered},
\OptionValue{toc}{nobibliography}, \OptionValue{toc}{noindex},
\OptionValue{toc}{nolistof}, \KOption{version}\PName{value} (see
\autoref{sec:scrlttr2.compatibilityOptions},
\autopageref{desc:scrlttr2.option.version}).

\begingroup
  \onelinecaptionsfalse
  \newcommand*{\NewOld}[2]{%
    \BeginIndex{Option}{#1}\PValue{#1} & \PValue{#2}\EndIndex{Option}{#1}\\
  }%
  \begin{longtable}{p{\dimexpr.5\textwidth-2\tabcolsep}p{\dimexpr.5\textwidth-2\tabcolsep}}
    \caption{Obsolete vs. Recommended Options\label{tab:maincls-experts.deprecated}}\\
    \toprule
    obsolete option & recommended option \\
    \midrule
    \endfirsthead
    \caption[]{Obsolete vs. Recommended Options
      (\emph{continuation})}\\
    \toprule
    obsolete Option & recommended option \\
    \midrule
    \endhead
    \midrule
    \multicolumn{2}{r@{}}{\dots}\\
    \endfoot
    \bottomrule
    \endlastfoot
    \NewOld{abstracton}{abstract}%
    \NewOld{abstractoff}{abstract=false}%
    \NewOld{parskip-}{parskip=full-}%
    \NewOld{parskip+}{parskip=full+}%
    \NewOld{parskip*}{parskip=full*}%
    \NewOld{halfparskip}{parskip=half}%
    \NewOld{halfparskip-}{parskip=half-}%
    \NewOld{halfparskip+}{parskip=half+}%
    \NewOld{halfparskip*}{parskip=half*}%
    \NewOld{tocleft}{toc=flat}%
    \NewOld{tocindent}{toc=graduated}%
    \NewOld{listsleft}{listof=flat}%
    \NewOld{listsindent}{listof=graduated}%
    \NewOld{cleardoubleempty}{cleardoublepage=empty}%
    \NewOld{cleardoubleplain}{cleardoublepage=plain}%
    \NewOld{cleardoublestandard}{cleardoublepage=current}%
    \NewOld{pointednumber}{numbers=enddot}%
    \NewOld{pointlessnumber}{numbers=noenddot}%
    \NewOld{nochapterprefix}{chapterprefix=false}%
    \NewOld{noappendixprefix}{appendixprefix=false}%
    \NewOld{bigheadings}{headings=big}%
    \NewOld{normalheadings}{headings=normal}%
    \NewOld{smallheadings}{headings=small}%
    \NewOld{headnosepline}{headsepline=false}%
    \NewOld{footnosepline}{footsepline=false}%
    \NewOld{liststotoc}{listof=totoc}%
    \NewOld{liststotocnumbered}{listof=numbered}%
    \NewOld{bibtotoc}{bibliography=totoc}%
    \NewOld{bibtotocnumbered}{bibliography=totocnumbered}%
    \NewOld{idxtotoc}{index=totoc}%
    \NewOld{tablecaptionabove}{captions=tableheading}%
    \NewOld{tablecaptionbelow}{captions=tablesignature}%
    \NewOld{onelinecaption}{captions=oneline}%
    \NewOld{noonelinecaption}{captions=nooneline}%
  \end{longtable}
\endgroup

This section describes the global options of the three main classes.
The majority of the options can also be found in the standard classes.
Since experience shows that many options of the standard classes are
unknown, their description is included here. This is a departure from
the rule that the \File{scrguide} should only describe those aspects
whose implementation differs from the standard one.

Table~\ref{tab:maincls.stdOptions} lists those options that are set by
default in at least one of the {\KOMAScript} classes. The table shows
for each {\KOMAScript} main class if the option is set by default and
if it is even defined for that class. An undefined option cannot be
set, either by default or by the user.

\begin{table}[htbp]
  \centering
  \caption{Default options of the {\KOMAScript} classes}
  \begin{tabular}{llll}
    Option                 &
      \Class{scrbook} & \Class{scrreprt} & \Class{scrartcl} \\
    \hline\rule{0pt}{2.7ex}%
    \KOption{abstract}   &
      \emph{undefined} & \PValue{false} & \PValue{false} \\
    \KOption{captions} &
      \PValue{tablesignature} & \PValue{tablesignature} & \PValue{tablesignature} \\
    \KOption{chapteratlists}   &
      \PValue10{pt} & \PValue{10pt} & \emph{undefined} \\
    \KOption{chapterprefix} &
      \PValue{false} & \PValue{false} & \emph{undefined} \\
    \KOption{draft}         &
      \PValue{false} & \PValue{false} & \PValue{false} \\
    \KOption{fontsize}          &
      \PValue{11pt} & \PValue{11pt} & \PValue{11pt} \\
    \KOption{footsepline} &
      \PValue{false} & \PValue{false} & \PValue{false} \\
    \KOption{headings}   &
      \PValue{big} & \PValue{big} & \PValue{big} \\
    \KOption{headsepline} &
      \PValue{false} & \PValue{false} & \PValue{false} \\
    \KOption{listof} &
      \PValue{graduated} & \PValue{graduated} & \PValue{graduated} \\
    \KOption{open}       &
      \PValue{right}   & \PValue{any} & \emph{undefined} \\
    \KOption{paper}       &
      \PValue{a4} & \PValue{a4} & \PValue{a4} \\
    \Option{parindent}     &
      default & default & default \\
    \KOption{titlepage}     &
      \PValue{true} & \PValue{true} & \PValue{false}              \\
    \KOption{toc} &
      \PValue{graduated} & \PValue{graduated} & \PValue{graduated} \\
    \KOption{twocolumn}     &
      \PName{false} & \PName{false} & \PName{false} \\
    \KOption{twoside}       &
      \PValue{true} & \PValue{false}  & \PValue{false} \\
    \KOption{version}       &
      \PValue{first} & \PValue{first} & \PValue{first} \\
  \end{tabular}
  \label{tab:maincls.stdOptions}
\end{table}

\begin{Explain}
  Allow me an observation before proceeding with the descriptions of
  the options. It is often the case that at the beginning of a
  document one is often unsure which options to choose for that
  specific document. Some options, for instance the choice of paper
  size, may be fixed from the beginning. But already the question of
  which \Var{DIV} value to use could be difficult to answer initially.
  On the other hand, this kind of information should be initially
  irrelevant for the main tasks of an author: design of the document
  structure, text writing, preparation of figures, tables and index.
  As an author you should concentrate initially on the contents. When
  that is done, you can concentrate on the fine points of
  presentation. Besides the choice of options, this means correcting
  things like hyphenation, page breaks, and the distribution of tables
  and figures. As an example consider
  \autoref{tab:maincls.stdOptions}, which I moved repeatedly between
  the beginning and the end of this section. The choice of the actual
  position will only be made during the final production of the
  document.
\end{Explain}
\par

\subsection{Options for Compatibility}
\label{sec:maincls.compatibilityOptions}
\BeginIndex{}{Compatibility}

% added translation 29 May 2007, 22:30 LT
Users who archive their documents as source code generally place great value
on obtaining exactly the same output in future {\LaTeX} runs. However, in some
cases, improvements and corrections to a class can lead to changes in
behaviour, particularly as regards line and page breaks.

\begin{Declaration}
  \Option{version}\\
  \XOption{version}=\PName{value}
\end{Declaration}
\BeginIndex{Option}{version}%
Since\ChangedAt{v2.96a}{\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}
version~2.96a {\KOMAScript} offers the choice of whether a source file
should output as far as possible identical results in future {\LaTeX}
runs, or whether output should be determined according to the latest
changes in the class. The option \Option{version} determines with
which version compatibility is to be maintained. The default setting
is version~2.9t. The same result can be achieved by setting
\begin{lstlisting}
  version=first
\end{lstlisting}
or
\begin{lstlisting}
  version=2.9
\end{lstlisting}
or
\begin{lstlisting}
  version=2.9t.
\end{lstlisting}
If an unknown version number is given as \PName{value} a warning is
output and for safety's sake the option is set to
\Option{version=}\PValue{first}. With
\begin{lstlisting}
  version=last
\end{lstlisting}
the current latest version can be selected. In this case future
compatibility is switched off. If the option is used without a value,
then once again the value of \PValue{last} is assumed.

The question of compatibility is first of all a question of line and page
breaking. New capabilities, which do not affect page breaks, are also
available if the option of compatibility to an older version is
selected. The option has no effect on changes in the page breaking
when using a newer version, which result purely through the correction
of errors. If absolute compatibility including errors is required,
then the requisite {\KOMAScript} version should be archived along with
the document source.

It should be noted that the option \Option{version} cannot be changed
after the loading of the class.%
%
\EndIndex{Option}{version}%
%
\EndIndex{}{Compatibility}

\subsection{Options for Page Layout}
\label{sec:maincls.typeareaOptions}

With the standard classes the page layout\Index{page>layout} is
established by the option files \File{size10.clo}, \File{size11.clo},
\File{size12.clo} (or \File{bk10.clo}, \File{bk11.clo},
\File{bk12.clo} for the book class) and by fixed values in the class
definitions. The {\KOMAScript} classes, however, do not use a fixed
page layout, but one that depends on the paper format\Index{paper
  format} and font size. For this task all three main classes use the
\Package{typearea} package\IndexPackage{typearea} (see
\autoref{cha:typearea}).  The package is automatically loaded by the
{\KOMAScript} main classes.  Therefore it is not necessary to load the
package using \Macro{usepackage}\PParameter{typearea}. If a {\LaTeX}
run results in an error ``\texttt{Option clash for package
  typearea}'', then this is most likely owing to the use of an
explicit command \Macro{usepackage}\OParameter{package
  options}\PParameter{typearea}.


\begin{Declaration}
  \Option{letterpaper} \\
  \Option{legalpaper} \\
  \Option{executivepaper} \\
  \Option{a\Var{X}paper} \\
  \Option{b\Var{X}paper} \\
  \Option{c\Var{X}paper} \\
  \Option{d\Var{X}paper} \\
  \Option{landscape}
\end{Declaration}%
\BeginIndex{Option}{letterpaper}%
\BeginIndex{Option}{legalpaper}%
\BeginIndex{Option}{executivepaper}%
\BeginIndex{Option}{a0paper}%
\BeginIndex{Option}{b0paper}%
\BeginIndex{Option}{c0paper}%
\BeginIndex{Option}{d0paper}%
\BeginIndex{Option}{landscape}%
The basic options for the choice of paper format are not processed
directly by the classes. Instead, they are automatically processed by
the \Package{typearea} package as global options (see
\autoref{sec:typearea.options},
\autopageref{desc:typearea.option.letterpaper}). The options
\Option{a5paper}, \Option{a4paper}, \Option{letterpaper},
\Option{legalpaper} and \Option{executivepaper} correspond to the
likewise-named options of the standard classes and define the same
paper format.  The page layout calculated for each is different,
however.
%
\EndIndex{Option}{letterpaper}%
\EndIndex{Option}{legalpaper}%
\EndIndex{Option}{executivepaper}%
\EndIndex{Option}{a0paper}%
\EndIndex{Option}{b0paper}%
\EndIndex{Option}{c0paper}%
\EndIndex{Option}{d0paper}%
\EndIndex{Option}{landscape}

\begin{Explain}
  The reason that the options for the A, B, C or D format are not
  processed by the \Package{typearea} is not because they are global
  options, but because the {\KOMAScript} classes explicitly pass them
  to the \Package{typearea} package. This is caused by the way option
  processing is implemented in the \Package{typearea} package and by
  the operation of the underlying option passing and processing
  mechanism of {\LaTeX}.

  This is also valid for the options, described subsequently, that set
  the binding correction, the divisor and the number of header lines.
\end{Explain}


\subsection{Options for Document Layout}
\label{sec:maincls.layoutOptions}

This subsection deals with all the options that affect the document
layout in general and not only the page layout. Strictly speaking, of
course, all page layout options (see
\autoref{sec:maincls.typeareaOptions}) are also document layout
options. The reverse is also partially true.

\begin{Declaration}
  \KOption{open}\PName{value}
\end{Declaration}%
\BeginIndex{Option}{open~=\PName{value}}%
These\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} option has the same effects
like the standard options \Option{openany} and \Option{openright}. They affect
the choice of the page where a chapter\Index[indexmain]{chapter} can begin, so
they are not available with the \Class{scrartcl} class, since the next largest
unit below ``part'' is ``section''. The chapter level is not available in
\Class{scrartcl}.

A chapter always begins on a new page. When the option
\OptionValue{open}{any} is active, any page can be used. The option
\OptionValue{open}{right} causes the chapter to begin on a new right page.
An empty left page may be inserted automatically in this case. The
empty pages are created by the implicit execution of the {\LaTeX}
command \Macro{cleardoublepage}\IndexCmd{cleardoublepage}.

The option \OptionValue{open}{right} has no effect with a one-sided layout,
because only the two-sided layout differentiates between left and
right pages. For this reason it should only be used together with the
\Option{twoside} option.%
\EndIndex{Option}{open~=\PName{value}}%


\begin{Declaration}
  \KOption{cleardoublepage}\PName{page style}\\
  \OptionValue{cleardoublepage}{current}
\end{Declaration}%
\BeginIndex{Option}{cleardoublepage~=\PName{page style}}%
\BeginIndex{Option}{cleardoublepage~=\PValue{current}}%
If one wishes the empty pages created by the \Macro{cleardoublepage}
command to have no headers but only a page number, or neither headers
nor page number while using the standard classes, the only possibility
is to redefine the command appropriately. {\KOMAScript} provides
options that avoid this necessity. The option
\OptionValue{cleardoublepage}{current} enables the default
\Macro{cleardoublepage} behaviour. If the option
\OptionValue{cleardoublepage}{plain} is used, then the
\PValue{plain}\IndexPagestyle{plain} page style is applied to the
empty left page. The option \OptionValue{cleardoublepage}{empty} causes the
\PValue{empty}\IndexPagestyle{empty} page style to be used. The page
styles are described in \autoref{sec:maincls.pageStyle}.%
\EndIndex{Option}{cleardoublepage~=\PValue{current}}%
\EndIndex{Option}{cleardoublepage~=\PName{page style}}%


\begin{Declaration}
  \KOption{titlepage}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{titlepage~=\PName{switch}}%
The values of the option (see \autoref{tab:truefalseswitch},
\autopageref{tab:truefalseswitch}) have the same effect as the standard
options \Option{titlepage} and \Option{notitlepage}.  The option
\OptionValue{titlepage}{true} makes {\LaTeX} use separate pages for the
titles.  These pages are set inside a \Environment{titlepage} environment and
normally have neither header nor footer. In comparison with standard {\LaTeX},
{\KOMAScript} expands the handling of the titles significantly (see
\autoref{sec:maincls.titles}).

The option \OptionValue{titlepage}{false} specifies that an \emph{in-page}
title is used. This means that the title is specially emphasized, but it may
be followed by more material on the same page, for instance by an abstract or
a section.%
\EndIndex{Option}{titlepage~=\PName{switch}}%


\begin{Explain}%
\begin{Declaration}
  \OptionValue{parskip}{full}\\
  \OptionValue{parskip}{full*}\\
  \OptionValue{parskip}{full+}\\
  \OptionValue{parskip}{full-}\\
  \OptionValue{parskip}{half}\\
  \OptionValue{parskip}{half*}\\
  \OptionValue{parskip}{half+}\\
  \OptionValue{parskip}{half-}\\
  \Option{parindent}
\end{Declaration}%
\BeginIndex{Option}{parskip~=\PName{Value}}%
\BeginIndex{Option}{parindent}%
The standard classes normally set
paragraphs\Index[indexmain]{paragraph} indented and without any
vertical inter-paragraph space.  This is the best solution when using
a regular page layout, like the ones produced with the
\Package{typearea} package. If neither indentation nor vertical space
is used, only the length of the last line would give the reader a
reference point. In extreme cases, it is very difficult to detect
whether a line is full or not. Furthermore, it is found that a marker
at the paragraph's end tends to be easily forgotten by the start of
the next line. A marker at the paragraph's beginning is more easily
remembered.  Inter-paragraph spacing has the drawback of disappearing
in some contexts. For instance, after a displayed formula it would be
impossible to detect if the previous paragraph continues or if a new
one begins. Also, when starting to read at the top of a new page it
might be necessary to look at the previous page in order determine if
a new paragraph has been started or not. All these problems disappear
when using indentation. A combination of indentation and vertical
inter-paragraph spacing is redundant and therefore should be
avoided. The indentation\Index[indexmain]{indentation} is perfectly
sufficient by itself. The only drawback of indentation is the
reduction of the line length. The use of inter-paragraph spacing is
therefore justified when using short lines, for instance in a
newspaper.
\end{Explain}


Independently of the explanation above, there are often requests for a
document layout with vertical inter-paragraph spacing instead of indentation.
{\KOMAScript} provides a large number of related options:
\OptionValue{parskip}{full}, \OptionValue{parskip}{full-},
\OptionValue{parskip}{full*}, \OptionValue{parskip}{full+} and
\OptionValue{parskip}{half}, \OptionValue{parskip}{half-},
\OptionValue{parskip}{half*} and \OptionValue{parskip}{half+}.

The four \PValue{full} option valuess each define an inter-paragraph
spacing of one line. The four \PValue{half} option values use just a
spacing of half a line.  In order to avoid a change of paragraph going
unnoticed, for instance after a page break, three of the options of
each set ensure that the last line of a paragraph is not completely
filled. The variants without plus or star sign ensure a free space of
1\Unit{em}. The plus variant ensures that at least a third of the line
is free and the star variant ensures that at least a fourth of the
line is free. The minus variants make no special provision for the
last line of a paragraph.

All eight \PValue{full} and \PValue{half} option values also change the
spacing before, after and inside list environments. This avoids the problem of
these environments or the paragraphs inside them having a larger separation
than the separation between the paragraphs of normal text. Additionally, these
options ensure that the table of contents and the lists of figures and tables
are set without any additional spacing.

The default behaviour of {\KOMAScript} follows the \Option{parindent}
option.  In this case, there is no spacing between paragraphs, only an
indentation of the first line by 1\Unit{em}.
%
\EndIndex{Option}{parskip~=\PName{Value}}%
\EndIndex{Option}{parindent}%

\begin{Declaration}
  \KOption{headsepline}\PName{switch}\\
  \KOption{footsepline}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{headsepline~=\PName{switch}}%
\BeginIndex{Option}{footsepline~=\PName{switch}}%
In order to have a line separating the header from the text body use the
option \Option{headsepline} (see \autoref{tab:truefalseswitch},
\autopageref{tab:truefalseswitch}). The option
\OptionValue{headsepline}{false} has the reverse effect. These options have no
effect with the page styles \PValue{empty} and \PValue{plain}, because there
is no header in this case. Such a line always has the effect of visually
bringing header and text body closer together. That doesn't mean that the
header must now be moved farther from the text body. Instead, the header
should be considered as belonging to the text body for the purpose of page
layout calculations. {\KOMAScript} takes this into account by automatically
passing the option \Option{headinclude} to the \Package{typearea} package
whenever the \Option{headsepline} option is used.

The presence of a line between text body and footer is controlled by the
option \Option{footsepline}, that behaves like the corresponding header
functions. Whenever a line is requested by the \Option{footsepline} option,
the \Option{footinclude} option is automatically passed to the
\Package{typearea} package. In contrast to \Option{headsepline},
\Option{footsepline} takes effect when used together with the page style
\PValue{plain}, because the \PValue{plain} style produces a page number in the
footer.
%
\EndIndex{Option}{headsepline~=\PName{switch}}%
\EndIndex{Option}{footsepline~=\PName{switch}}%


\begin{Declaration}
  \Option{chapterprefix}\\
  \OptionValue{chapterprefix}{false}
\end{Declaration}%
\BeginIndex{Option}{chapterprefix}%
\BeginIndex{Option}{chapterprefix~=\PValue{false}}%
With\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} the standard
classes \Class{book} and \Class{report} a chapter
title\Index[indexmain]{chapter>title} consists of a line with the word
``Chapter''\footnote{When using another language the word
  ``Chapter'' is naturally translated to the appropriate language.}%
followed by the chapter number. The title itself is set left-justified
on the following lines. The same effect is obtained in {\KOMAScript}
with the class option \Option{chapterprefix}. The default however is
\OptionValue{chapterprefix}{false}. These options also affect the automatic
running titles in the headers (see
\autoref{sec:maincls.pageStyle}).
%
\EndIndex{Option}{chapterprefix}%
\EndIndex{Option}{chapterprefix~=\PValue{false}}%


\begin{Declaration}
  \KOption{appendixprefix}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{appendixprefix~=\PName{switch}}%
Sometimes\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} one wishes to have the
chapter titles in simplified form according to
\OptionValue{chapterprefix}{false}. But at the same time, one wishes a title
of an appendix\Index{appendix} to be preceded by a line with ``Appendix''
followed by the appendix letter. This is achieved by using the
\Option{appendixprefix} option (see \autoref{tab:truefalseswitch},
\autopageref{tab:truefalseswitch}). Since this results in an inconsistent
document layout, I advise against using this option.

The reverse option \OptionValue{appendixprefix}{false} exists only for
completeness' sake. I don't know of any sensible use for it.%
\EndIndex{Option}{appendixprefix~=\PName{switch}}%


\begin{Declaration}
  \OptionValue{captions}{oneline}\\
  \OptionValue{captions}{nooneline}
\end{Declaration}
\BeginIndex{Option}{captions~=\PValue{oneline}}%
\BeginIndex{Option}{captions~=\PValue{nooneline}}%
The standard classes differentiate between one-line and multi-line
table or figure captions. One-line captions are centered while
multi-line captions are left-justified. This behavior, which is also
the default with \KOMAScript, corresponds to the option
\OptionValue{captions}{oneline}. There is no special handling of one-line
captions when the \OptionValue{captions}{nooneline} option is given.

\begin{Explain}
  The avoidance of a special treatment for the caption has an
  additional effect that is sometimes highly desirable. Footnotes that
  appear inside a \Macro{caption} command often have a wrong number
  assigned to them. This happens because the footnote counter is
  incremented once as soon as the text is measured to determine if it
  will be one line or more. When the \OptionValue{captions}{nooneline} option
  is used no such measurement is made. The footnote numbers are
  therefore correct.

  But since {\KOMAScript} version~2.9 you don't need the option
  \OptionValue{captions}{nooneline} to avoid the above described
  effect. {\KOMAScript} classes contain a workaround, so you can have
  footnotes inside captions. It should be mentioned though that when
  using footnotes inside floating environments, the contents of the
  floating environment should be encapsulated inside a minipage. That
  way it is guaranteed that floating environment and footnote are
  inseparable.
\end{Explain}
%
\EndIndex{Option}{captions~=\PValue{oneline}}%
\EndIndex{Option}{captions~=\PValue{nooneline}}%

\subsection{Options for Font Selection}
\label{sec:maincls.fontOptions}

Font options are those options that affect the font size of the
document or the fonts of individual elements. Options that affect the
font style are also theoretically font options. However {\KOMAScript}
currently has no such options.

\begin{Declaration}
  \Option{10pt}\\%
  \Option{11pt}\\%
  \Option{12pt}\\
  \Option{\Var{X}pt}
\end{Declaration}%
\BeginIndex{Option}{10pt}%
\BeginIndex{Option}{11pt}%
\BeginIndex{Option}{12pt}%
\BeginIndex{Option}{\Var{X}pt}%
The options \Option{10pt}, \Option{11pt} and \Option{12pt} have the
same effect as the corresponding standard options. In contrast to the
standard classes, {\KOMAScript} can be used to choose other font
sizes\Index[indexmain]{font>size}. However, {\LaTeX} provides the
necessary class option files only for 10\Unit{pt}, 11\Unit{pt} und
12\Unit{pt}, and {\KOMAScript} does not provide any class option files,
so the user must provide any other class option files. The package
\Package{extsizes} (see
\cite{package:extsizes})\IndexPackage{extsizes}, for example, can be
used to provide a \File{size14.clo} class file. Very big font sizes
may lead to arithmetic overflow inside the page layout calculations of
the \Package{typearea} package.
%
\EndIndex{Option}{10pt}%
\EndIndex{Option}{11pt}%
\EndIndex{Option}{12pt}%
\EndIndex{Option}{\Var{X}pt}%


\begin{Declaration}
  \OptionValue{headings}{small}\\
  \OptionValue{headings}{normal}\\
  \OptionValue{headings}{big}
\end{Declaration}%
\BeginIndex{Option}{headings~=\PName{size}}%
The font size used for the titles\index{title}\index{document
  structure} is relatively big, both with the standard classes and
with {\KOMAScript}. Not everyone likes this choice; moreover it is
specially problematic for small paper sizes. Consequently,
{\KOMAScript} provides, besides the large title font size defined by
the \OptionValue{headings}{big} option, the two options
\OptionValue{headings}{normal} and \OptionValue{headings}{small}, that allow for
smaller title font sizes. The font sizes for headings resulting from
these options for \Class{scrbook} and \Class{scrreprt} are shown in
\autoref{tab:maincls.structureElementsFont},
\autopageref{tab:maincls.structureElementsFont}. For \Class{scrartcl}
smaller font sizes are generally used.

\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}The spacing before and
after chapter titles is also influenced by these options. Chapter
titles are also influenced by the options \Option{chapterprefix} and
\OptionValue{chapterprefix}{false}, and appendix titles by the options
\Option{appendixprefix} and \OptionValue{appendixprefix}{false}, all of which
are described in \autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.chapterprefix}.
%
\EndIndex{Option}{headings~=\PName{size}}%

\subsection{Options Affecting the Table of Contents}
\label{sec:maincls.tocOptions}

{\KOMAScript} has several options that affect the entries in the table
of contents\Index[indexmain]{table>of
  contents}\Index[indexmain]{contents>table of}. The form of the table
of contents is fixed but several variations can be obtained with the
options provided.

\begin{Explain}%
\begin{Declaration}
  \OptionValue{listof}{totoc}\\
  \OptionValue{index}{totoc}\\
  \OptionValue{bibliography}{totoc}\\
  \OptionValue{bibliography}{totocnumbered}\\
  \OptionValue{listof}{numbered}
\end{Declaration}%
\BeginIndex{Option}{listof~=\PValue{totoc}}%
\BeginIndex{Option}{index~=\PValue{totoc}}%
\BeginIndex{Option}{bibliography~=\PValue{totoc}}%
\BeginIndex{Option}{bibliography~=\PValue{totocnumbered}}%
\BeginIndex{Option}{listof~=\PValue{numbered}}%
Normally, lists of tables and figures, index and bibliography are not
included in the table of contents. These entries are purposely omitted
in classical typography because, among other things, a very particular
placement of these items is silently assumed, if they are present at
all:
\begin{itemize}
\item table of contents after the title pages,
\item lists of tables and figures after the table of contents,
\item index right at the end,
\item bibliography before the index.
\end{itemize}
Books, in which all these items are present, often include ribbons
that can be used to mark the location of these items in the book, so
that the reader only has to look for them once.
\end{Explain}

It is becoming increasingly common to find entries in the table of
contents for the lists of tables and figures, for the bibliography,
and, sometimes, even for the index. This is surely also related to the
recent trend of putting lists of figures and tables at the end of the
document. Both lists are similiar to the table of contents in
structure and intention. I'm therefore sceptical of this evolution.
Since it makes no sense to include only one of the lists of tables and
figures in the table of contents, there exists only one option
\OptionValue{listof}{totoc} that causes entries for both types of lists to be
included. This also includes any lists produced with version~1.2e or
later of the \Package{float}\IndexPackage{float} package (see
\cite{package:float}).  All these lists are unnumbered, since they
contain entries that reference other sections of the document.

The option \OptionValue{index}{totoc} causes an entry for the index to be
included in the table of contents. The index is unnumbered since it
too only includes references to the contents of the other sectional
units.

The bibliography is a different kind of listing. It does not list the
contents of the present document but refers instead to external
documents. For that reason, it could be argued that it qualifies as a
chapter (or section) and, as such, should be numbered. The option
\OptionValue{bibliography}{totocnumbered} has this effect, including the generation of
the corresponding entry in the table of contents. I personally think
that this reasoning would lead us to consider a classical list of
sources also to be a separate chapter. On the other hand, the
bibliography is finally not something that was written by the
document's author. In view of this, the bibliography merits nothing
more than an unnumbered entry in the table of contents, and that can
be achieved with the \OptionValue{bibliography}{totoc} option.

As\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the author
of {\KOMAScript} already views the option \OptionValue{listof}{totoc} with
open skepticism, and frankly detests option \OptionValue{bibliography}{totocnumbered},
it should come as no surprise that he implemented option
\OptionValue{listof}{numbered} only under extreme duress. He fears that
as a next step someone will want the table of contents numbered and
entered in the table of contents. Therefore, those looking in this
documentation for a detailed description of option \OptionValue{listof}{totoc}
will search in vain. A similar option for the index would be just
as silly, so its implementation has been determinedly refused so far.
%
\EndIndex{Option}{listof~=\PValue{totoc}}%
\EndIndex{Option}{index~=\PValue{totoc}}%
\EndIndex{Option}{bibliography~=\PValue{totoc}}%
\EndIndex{Option}{bibliography~=\PValue{totocnumbered}}%
\EndIndex{Option}{listof~=\PValue{numbered}}%


\begin{Declaration}
  \OptionValue{toc}{graduated}\\
  \OptionValue{toc}{flat}
\end{Declaration}%
\BeginIndex{Option}{toc~=\PName{value}}%
The table of contents is normally\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} set up so
that different sectional units have different indentations. The
section number is set left-justified in a fixed-width field. This
setup is selected with the option \OptionValue{toc}{graduated}.

When there are many sections, the corresponding numbering tends to
become very wide, so that the reserved field overflows. The FAQ
\cite{DANTE:FAQ} suggests that the table of contents should be
redefined in such a case. {\KOMAScript} offers an alternative format
that avoids the problem completely. If the option \OptionValue{toc}{flat} is
selected, then no variable indentation is applied to the titles of the
sectional units. Instead, a table-like organisation is used, where all
unit numbers and titles, respectively, are set in a left-justified
column.  The space necessary for the unit numbers is thus determined
automatically.

\begin{Explain}
  In order to calculate automatically the space taken by the unit
  numbers when using the option \OptionValue{toc}{flat} it is necessary to
  redefine some macros. It is improbable but not impossible that this
  leads to problems when using other packages. If you think this may
  be causing problems, you should try the alternative option
  \OptionValue{toc}{graduated}, since it does not make any redefinitions. When
  using packages that affect the format of the table of contents, it
  is possible that the use of options \OptionValue{toc}{flat} and
  \OptionValue{toc}{graduated} too may lead to problems. When using such
  packages then, for safety's sake, one should refrain from using
  either of these options as global (class) options.

  If the \OptionValue{toc}{flat} option is active, the width of the field for
  unit numbering is determined when outputting the table of contents.
  After a change that affects the table of contents, at most three
  {\LaTeX} runs are necessary to obtain a correctly set table of
  contents.
\end{Explain}
%
\EndIndex{Option}{toc~=\PName{value}}%

\subsection{Options for Lists of Floats}
\label{sec:maincls.listsOptions}

The best known lists of floats are the list of figures and the list of
tables.  Additionally, with help from the
\Package{float}\IndexPackage{float} package, for instance, it is
possible to produce new float environments with corresponding lists.

\begin{Explain}
  Whether {\KOMAScript} options have any effect on lists of floats
  produced by other packages depends mainly on those packages. This is
  generally the case with the lists of floats produced by the
  \Package{float}\IndexPackage{float} package.

  Besides the options described here, there are others that affect the
  lists of floats though not their formatting or contents. Instead
  they affect what is included in the table of contents. The
  corresponding descriptions can therefore be found in
  \autoref{sec:maincls.tocOptions}.
\end{Explain}

\begin{Declaration}
  \OptionValue{listof}{graduated}\\
  \OptionValue{listof}{flat}
\end{Declaration}%
\BeginIndex{Option}{listof~=\PName{value}}%
Lists of figures and tables\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} are
generally set up so that their numbering uses a fixed space. This
corresponds to the use of option \OptionValue{listof}{graduated}.

If the numbers become too large, for instance because many tables are
used, it may happen that the available space is exceeded. Therefore
{\KOMAScript} supplies an option called \OptionValue{listof}{flat} that is
similar to the \OptionValue{toc}{flat} option. The width of the numbers is
automatically determined and the space for them correspondingly
adjusted. Concerning the mode of operation and the side effects, the
observations made in \autoref{sec:maincls.tocOptions},
\autopageref{desc:maincls.option.toc} for the \OptionValue{toc}{flat}
option are equally valid in this case. Please note that when using the
\OptionValue{listof}{flat} option several {\LaTeX} runs are necessary before
the lists of floats achieve their final form.
%
\EndIndex{Option}{listof~=\PName{value}}%

\begin{Declaration}
  \Option{chapteratlists}\\
  \XOption{chapteratlists}=\PName{value}
\end{Declaration}%
\BeginIndex{Option}{chapteratlists}%
\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}%
Normally,\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}}
every chapter entry generated with \Macro{chapter} introduces vertical
spacing into the lists of floats. Since version~2.96a this applies
also for the command \Macro{addchap}, if no compatibility option to an
earlier version was chosen (see option \Option{version} in
\autoref{sec:maincls.compatibilityOptions},
\autopageref{desc:maincls.option.version}).

Furthermore, now the option \Option{chapteratlists} can be used to
change the spacing, by passing the desired distance as
\PName{value}. The default setting is 10\,pt. If the value is set to
\PValue{entry} or no value is specified, then instead of a vertical
distance the chapter entry itself will be entered into the lists.

This option can be changed with
\Macro{KOMAoptions}\Parameter{chapteratlists} or
\Macro{KOMAoptions}\Parameter{chapteratlists=\PName{value}} even
inside the document. It takes effect from the next heading
onwards. However, changes to the option will only become effective in
the lists following two more {\LaTeX} runs.
\EndIndex{Option}{chapteratlists}%


\subsection{Options Affecting the Formatting}
\label{sec:maincls.formattingOptions}

Formatting options are all those options that affect the form or
formatting of the document and cannot be assigned to other sections.
They are therefore the \emph{remaining options}.

\begin{Declaration}
  \KOption{abstract}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{abstract~=\PName{switch}}%
In\OnlyAt{\Class{scrreprt}\and\Class{scrartcl}} the standard classes the
\Environment{abstract} environment sets the text ``\abstractname'' centered
before the summary text\Index[indexmain]{summary}. This was normal practice in
the past. In the meantime, newspaper reading has trained readers to recognize
a displayed text at the beginning of an article or report as the
abstract. This is even more true when the text comes before the table of
contents. It is also surprising when precisely this title appears small and
centered. {\KOMAScript} provides the possibility of including or excluding the
abstract's title with the options \OptionValue{abstract}{true} and
\OptionValue{abstract}{false} (see
\autoref{tab:truefalseswitch},\autopageref{tab:truefalseswitch}).

\begin{Explain}
  Books typically use another type of summary. In that case there is
  usually a dedicated summary chapter at the beginning or end of the
  book. This chapter is often combined with the introduction or a
  description of wider prospects. Therefore, the class \Class{scrbook}
  has no \Environment{abstract} environment. A summary chapter is also
  recommended for reports in a wider sense, like a Master's or Ph.D.
  thesis.
\end{Explain}
%
\EndIndex{Option}{abstract~=\PName{switch}}%


\begin{Declaration}
  \OptionValue{numbers}{enddot}\\
  \OptionValue{numbers}{noenddot}
\end{Declaration}%
\BeginIndex{Option}{numbers~=\PName{value}}%
\begin{Explain}%
  In German, according to {\small DUDEN}, the numbering of sectional
  units should have no dot at the end if only arabic numbers are used
  (see \cite[R\,3]{DUDEN}). On the other hand, if roman numerals or
  letters are appear in the numbering, then a dot should appear at the
  end of the numbering (see \cite[R\,4]{DUDEN}). {\KOMAScript} has an
  internal mechanisms that tries to implement this somewhat complex
  rule. The resulting effect is that, normally, after the sectional
  commands \Macro{part} and \Macro{appendix} a switch is made to
  numbering with an ending dot. The information is saved in the
  \File{aux} file and takes effect on the next {\LaTeX} run.
\end{Explain}

In some cases the mechanism for placing or leaving off the ending dot
may fail, or other languagues may have different rules. Therefore it
is possible to activate the use of the ending dot manually with the
option \OptionValue{numbers}{enddot} or to deactivate it with
\OptionValue{numbers}{noenddot}.

Please note that the mechanism only takes effect on the next {\LaTeX}
run.  Therefore, before trying to use these options to forcibly
control the numbering format, a further run without changing any
options should be made.

Calling these options \Option{dottednumbers}\IndexOption{dottednumbers} and
\Option{dotlessnumbers}\IndexOption{dotlessnumbers} or similar would be more
correct. It so happened that the meaning of the chosen names was not clear to
me a few years ago when the options were implemented. Some people asked me not
to fix this ``funny little mistake'' so I didn't.
%
\EndIndex{Option}{numbers~=\PName{value}}%

\begin{Declaration}
  \Option{leqno}
\end{Declaration}%
\BeginIndex{Option}{leqno}%
Equations\Index{equation} are normally numbered on the right.  The
standard option \Option{leqno} causes the standard option file
\File{leqno.clo} to be loaded. The equations are then numbered on the
left.
%
\EndIndex{Option}{leqno}%


\begin{Declaration}
  \Option{fleqn}
\end{Declaration}%
\BeginIndex{Option}{fleqn}%
Displayed equations are normally centered. The standard option
\Option{fleqn} causes the standard option file \File{fleqn.clo} to be
loaded. Displayed equations are then left-justified. This option may not be
used at the argument of \Macro{KOMAoptions} but at the optional argument of
\Macro{documentclass}.
%
\EndIndex{Option}{fleqn}%

\begin{Declaration}
  \OptionValue{captions}{tablesignature}\\
  \OptionValue{captions}{tableheading}
\end{Declaration}%
\BeginIndex{Option}{captions~=\PValue{tablesignature}}%
\BeginIndex{Option}{captions~=\PValue{tableheading}}%
As described in \autoref{sec:maincls.floats},
\autopageref{desc:maincls.cmd.caption}, the
\Macro{caption}\IndexCmd{caption} command acts with figures like the
\Macro{captionbelow}\IndexCmd{captionbelow} command. The behaviour
with tables, however, depends on these two options.  In the default
setting, \OptionValue{captions}{tablesignature}, the \Macro{caption} macro acts
also with tables like the \Macro{captionbelow} command. With the
\OptionValue{captions}{tableheading} option, \Macro{caption} acts like the
\Macro{captionabove}\IndexCmd{captionabove} command.

Note that using any of these options does not change the position of
the caption from above the top of the table to below the bottom of the
table or vica versa. It only affects whether the text is formatted as
a caption for use above or below a table. Whether the text is in fact
placed above or below a table is set through the position of the
\Macro{caption} command inside the \Environment{table} environment.

Note\OnlyAt{\Package{float}}\IndexPackage{float} that when using the
\Package{float} package, the options \OptionValue{captions}{tablesignature} and
\OptionValue{captions}{tableheading} cease to act correctly when
\Macro{restylefloat} is applied to tables. More details of the
\Package{float} package and \Macro{restylefloat} can be found in
\cite{package:float}. Additional support in {\KOMAScript} for the
\Package{float} package may be found at the explanation of
\PValue{komaabove} in \autoref{sec:maincls.floats},
\autopageref{desc:maincls.floatstyle.komaabove}.
%
\EndIndex{Option}{captions~=\PValue{tablesignature}}%
\EndIndex{Option}{captions~=\PValue{tableheafins}}%


\begin{Explain}%
\begin{Declaration}
  \Option{origlongtable}
\end{Declaration}%
\BeginIndex{Option}{origlongtable}%
The package\OnlyAt{\Package{longtable}}
\Package{longtable}\IndexPackage{longtable} (see
\cite{package:longtable}) sets table captions internally by calling
the command \Macro{LT@makecaption}.  In order to ensure that these
table captions match the ones used with normal tables, the
{\KOMAScript} classes normally redefine that command. See
\autoref{sec:maincls.floats},
\autopageref{desc:maincls.cmd.caption.longtable} for more
details. The redefinition is performed with help of the command
\Macro{AfterPackage} immediately after the loading of package
\Package{longtable}.  If the package
\Package{caption2}\IndexPackage{caption2} (see \cite{package:caption})
has been previously loaded, the redefinition is not made in order not
to interfere with the \Package{caption2} package.
\end{Explain}
If the table captions produced by the \Package{longtable} package
should not be redefined by the {\KOMAScript} classes, activate the
\Option{origlongtable} option.
%
\EndIndex{Option}{origlongtable}%


\begin{Declaration}
  \Option{openbib}\\
  \OptionValue{bibliography}{openstyle}\\
  \OptionValue{bibliography}{oldstyle}
\end{Declaration}%
\BeginIndex{Option}{openbib}%
The standard option \Option{openbib} switches to an alternative
bibliography format. The effects are twofold: The first line of a
bibliography entry, normally containing the author's name, receives a
smaller indentation; and the command \Macro{newblock} is redefined to
produce a paragraph. Without this option, \Macro{newblock} introduces
only a stretchable horizontal space.
%
\EndIndex{Option}{openbib}


\begin{Declaration}
  \KOption{draft}\PName{switch}
\end{Declaration}%
\BeginIndex{Option}{draft~=\PName{switch}}%
The option \Option{draft} (see \autoref{tab:truefalseswitch},
\autopageref{tab:truefalseswitch}) is normally used to distinguish between the
draft and final versions of a document. In particular, the option
\OptionValue{draft}{true} activates small black boxes that are set at the end
of overly long lines. The boxes help the untrained eye to find paragraphs that
have to be treated manually. With the \OptionValue{draft}{false} option no
such boxes are shown.

Option \Option{draft} without value is also processed by other packages and
affect their operation. For instance, the
\Package{graphics}\IndexPackage{graphics} and the
\Package{graphicx}\IndexPackage{graphicx} packages don't actually output the
graphics when the option \Option{draft} is specified. Instead they output a
framed box of the appropriate size containing only the graphic's filename (see
\cite{package:graphics}).%
\EndIndex{Option}{draft~=\PName{switch}}%


\section{General Document Characteristics}
\label{sec:maincls.general}

Some document characteristics do not apply to a particular section of
the document like the titling, the text body or the bibliography, but
do affect the entire document. Some of these characteristics were
already described in \autoref{sec:maincls.options}.

\subsection{Changing Fonts}
\label{sec:maincls.font}

\BeginIndex{}{font}\BeginIndex{}{font>size}%
\begin{Explain}
  {\KOMAScript} does not use fixed fonts and attributes to emphasize
  different elements of the text. Instead there are variables that
  contain the commands used for changing fonts and other text
  attributes. In previous versions of {\KOMAScript} the user had to
  use \Macro{renewcommand} to redefine those variables. It was also
  not easy to determine the name of the variable affecting an element
  given the element's name. Besides, it was also often necessary to
  determine the original definition before proceeding to redefine it.

  These difficulties were actually intended, since the interface was
  not for users, but only for package authors building their packages
  on top of {\KOMAScript}. The years have shown, however, that the
  interface was in fact mainly used by document authors. So a new,
  simpler interface was created. However, the author explicitly
  advises the typographically inexperienced user against changing font
  sizes and other graphical characteristics according to his
  taste. Knowledge and feeling are basic conditions for the selection
  and mixture of different font sizes, attributes and families.
\end{Explain}

\begin{Declaration}
  \Macro{setkomafont}\Parameter{element}\Parameter{commands}\\
  \Macro{addtokomafont}\Parameter{element}\Parameter{commands}\\
  \Macro{usekomafont}\Parameter{element}
\end{Declaration}%
\BeginIndex{Cmd}{setkomafont}%
\BeginIndex{Cmd}{addtokomafont}%
\BeginIndex{Cmd}{usekomafont}%
With\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and
  \Class{scrartcl}} the help of the two commands \Macro{setkomafont}
and \Macro{addtokomafont} it is possible to define the
\PName{commands} that change the characteristics of a given
\PName{element}. Theoretically all possible statements including
literal text could be used as \PName{commands}.  You should however
absolutely limit yourself to those statements that really switch only
one font attribute. This will usually be the commands
\Macro{normalfont}, \Macro{rmfamily}, \Macro{sffamily},
\Macro{ttfamily}, \Macro{mdseries}, \Macro{bfseries}, \Macro{upshape},
\Macro{itshape}, \Macro{slshape}, \Macro{scshape} and the font size
commands \Macro{Huge}, \Macro{huge}, \Macro{LARGE}, etc. The
description of these commands can be found in \cite{lshort},
\cite{latex:usrguide} or \cite{latex:fntguide}. Color switching
commands like \Macro{normalcolor} (see \cite{package:graphics}) are
also acceptable.  The behavior when using other commands, specially
those that make redefinitions or generate output, is not
defined. Strange behavior is possible and does not represent a bug.


The command \Macro{setkomafont } provides a font switching command
with a completely new definition. In contrast to this the
\Macro{addtokomafont} command merely extends an existing
definition. It is recommended to not use both commands in the same
document.  Usage examples can be found in the paragraphs on the
corresponding element.  Names and meanings of the individual items are
listed in \autoref{tab:maincls.elementsWithoutText}.  The default
values are shown in the corresponding paragraphs.

The command \Macro{usekomafont} can change the current font
specification to the one currently used with the specified
\PName{element}.
\begin{Example}
  Assume that you want to use for the element
  \FontElement{captionlabel} the same font specification that is used
  with \FontElement{descriptionlabel}. This can be easily done with:
\begin{lstlisting}
  \setkomafont{captionlabel}{\usekomafont{descriptionlabel}}
\end{lstlisting}
  You can find other examples in the paragraphs on each element.
\end{Example}

\begin{desctable}
  \caption{Elements, whose type style can be
    changed with the {\KOMAScript} command \Macro{setkomafont} or
    \Macro{addtokomafont}\label{tab:maincls.elementsWithoutText}}\\
  \Endfirsthead
  \caption[]{Elements, whose type style can be
    changed (\emph{continuation})}\\
  \Endhead
  \standardfoot%
  \feentry{caption}{Text of a table or figure caption}%
  \feentry{captionlabel}{Label of a table or figure caption; used
    according to the element \FontElement{caption}}%
  \feentry{chapter}{Title of the sectional unit \Macro{chapter}}%
  \feentry{chapterentry}{%
    Table of contents entry of the sectional unit \Macro{chapter}}%
  \feentry{chapterentrypagenumber}{%
    Page number of the table of contents entry of the sectional unit
    \Macro{chapter}, variation on the element
    \FontElement{chapterentry}}%
  \feentry{descriptionlabel}{Labels, i.\,e., the optional argument of
    \Macro{item} in the \Environment{description} environment}%
  \feentry{dictum}{wise saying (see command \Macro{dictum})}%
  \feentry{dictumauthor}{Author of a wise saying; used according to
    the element \FontElement{dictumtext}}%
  \feentry{dictumtext}{Another name for \FontElement{dictum}}%
  \feentry{disposition}{All sectional unit titles, i.\,e., the
    arguments of \Macro{part} down to \Macro{subparagraph} and
    \Macro{minisec}, including the title of the abstract; used before
    the element of the corresponding unit}%
  \feentry{footnote}{Footnote text and marker}%
  \feentry{footnotelabel}{Mark of a footnote; used according to the
    element \FontElement{footnote}}%
  \feentry{footnotereference}{Footnote reference in the text}%
  \feentry{labelinglabel}{Labels, i.\,e., the optional argument of
    \Macro{item} in the \Environment{labeling} environment}%
  \feentry{labelingseparator}{Separator, i.\,e., the optional argument of
    the \Environment{labeling} environment; used according to the element
    \FontElement{labelinglabel}}%
  \feentry{minisec}{Title of \Macro{minisec}}%
  \feentry{pagefoot}{The foot of a page, but also the head of a page}%
  \feentry{pagehead}{The head of a page, but also the foot of a page}%
  \feentry{pagenumber}{Page number in the header or footer}%
  \feentry{pagination}{Another name for \FontElement{pagenumber}}%
  \feentry{paragraph}{Title of the sectional unit \Macro{paragraph}}%
  \feentry{part}{Title of the \Macro{part} sectional unit, without the
    line containing the part number}%
  \feentry{partentry}{%
    Table of contents entry of the secitonal unit \Macro{part}}%
  \feentry{partentrypagenumber}{%
    Page number of the table of contents entry of the sectional unit
    \Macro{part} variation on the element \FontElement{partentry}}%
  \feentry{partnumber}{Line containing the part number in a title of
    the sectional unit \Macro{part}}%
  \feentry{section}{Title of the sectional unit \Macro{section}}%
  \feentry{sectionentry}{%
    Table of contents entry of sectional unit \Macro{section} (only
    available in \Class{scrartcl})}%
  \feentry{sectionentrypagenumber}{%
    Page number of the table of contents entry of the sectional unit
    \Macro{section}, variation on element \FontElement{sectionentry}
    (only available in \Class{scrartcl})}%
  \feentry{sectioning}{Another name for \FontElement{disposition}}%
  \feentry{subject}{%
    Categorization of the document, i.\,e., the argument of
    \Macro{subject} on the main title page}%
  \feentry{subparagraph}{Title of the sectional unit
    \Macro{subparagraph}}%
  \feentry{subsection}{Title of the sectional unit
    \Macro{subsection}}%
  \feentry{subsubsection}{Title of the sectional unit
    \Macro{subsubsection}}%
  \feentry{subtitle}{%
    Subtitle of the document, i.\,e., the argument of \Macro{subtitle} on
    the main title page}%
  \feentry{title}{Main title of the document, i.\,e., the argument of
    \Macro{title} (for details about the title size see the additional
    note in the text from \autopageref{desc:maincls.cmd.title})}%
\end{desctable}
%
\EndIndex{Cmd}{setkomafont}%
\EndIndex{Cmd}{addtokomafont}%
\EndIndex{Cmd}{usekomafont}%
\EndIndex{}{font}\EndIndex{}{font>size}%

\subsection{Page Style}
\label{sec:maincls.pageStyle}

One of the general characteristics of a document is the page
style\Index[indexmain]{page>style}. In {\LaTeX} this means mostly the
contents of headers and footers.

\begin{Declaration}
  \Macro{pagestyle}\PParameter{empty}\\
  \XMacro{pagestyle}\PParameter{plain}\\
  \XMacro{pagestyle}\PParameter{headings}\\
  \XMacro{pagestyle}\PParameter{myheadings}\\
  \Macro{thispagestyle}\Parameter{local page style}
\end{Declaration}%
\BeginIndex{Cmd}{pagestyle}%
\BeginIndex{Cmd}{thispagestyle}%
\BeginIndex{Pagestyle}{empty}%
\BeginIndex{Pagestyle}{plain}%
\BeginIndex{Pagestyle}{headings}%
\BeginIndex{Pagestyle}{myheadings}%
Usually one distinguishes four different page styles.
\begin{description}
\item[\phantomsection\label{desc:maincls.pagestyle.empty}empty] is the page
  style with entirely empty headers and footers. In {\KOMAScript} this is
  completely identical to the standard classes.
\item [plain] is the page style with empty header and only a page
  number in the footer. With the standard classes this page number is
  always centered in the footer. With {\KOMAScript} the page number
  appears on double-sided\Index {double-sided} layout on the outer
  side of the footer. The one-sided page style behaves like the
  standard setup.
\item[headings] is the page style with running headings in the
  header. These are headings for which titles are automatically
  inserted into the header.
  \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}With the classes
  \Class{scrbook}\IndexClass{scrbook} and
  \Class{scrreprt}\IndexClass{scrreprt} the titles of chapters and
  sections are repeated in the header for double-sided
  layout\,---\,with {\KOMAScript} on the outer side, with the standard
  classes on the inner side.  The page number is set on the outer side
  of the footer with {\KOMAScript}, with the standard classes it is
  set on the inner side of the header.  In one-sided layouts only the
  titles of the chapters are used and are, with {\KOMAScript},
  centered in the header. The page numbers are set centered in the
  footer with {\KOMAScript}.
  \OnlyAt{\Class{scrartcl}}\Class{scrartcl}\IndexClass{scrartcl}
  behaves similarly, but starting a level deeper in the section
  hierarchy with sections and subsections, because the chapter level
  does not exist in this case.

  While the standard classes automatically set running headings always
  in capitals, {\KOMAScript} applies the style of the title. This has
  several typographic reasons. Capitals as a decoration are actually
  far too strong. If one applies them nevertheless, they should be set
  in a one point smaller type size and with tighter spacing. The
  standard classes do not take these points in consideration.
\item [myheadings] corresponds mostly to the page style
  \PValue{headings}, but the running headings are not automatically
  produced, but have to be defined by the user. The commands \Macro
  {markboth}\IndexCmd{markboth} and
  \Macro{markright}\IndexCmd{markright} can be used for that purpose.
\end{description}
Besides, the form of the page styles \PValue{headings} and
\PValue{myheadings} is affected by each of the four class options
\Option{headsepline}, \OptionValue{headsepline}{false}, \Option{footsepline} and
\OptionValue{footsepline}{false} (see \autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.headsepline}).
The page style starting with the current page is changed by the
command \Macro{pagestyle}.  On the other hand \Macro{thispagestyle}
changes only the style of the current page.

The page style can be set at any time with the help of the
\Macro{pagestyle} command and takes effect with the next page that is
output. Usually one sets the page style only once at the beginning of
the document or in the preamble. To change the page style of the
current page only, one uses the \Macro{thispagestyle} command. This
also happens automatically at some places in the document. For
example, the instruction \Macro{thispagestyle}\PParameter{plain} is
issued implicitly on the first page of a chapter.

Please note that the change between automatic and manual running
headings is no longer performed by page style changes when using the
\Package{scrpage2} package, but instead via special instructions. The
page styles \PValue{headings} and \PValue{myheadings} should not be
used together with this package (see \autoref{cha:scrpage},
\autopageref{desc:scrpage.pagestyle.useheadings}).
%
\EndIndex{Cmd}{pagestyle}%
\EndIndex{Cmd}{thispagestyle}%
\EndIndex{Pagestyle}{empty}%
\EndIndex{Pagestyle}{plain}%
\EndIndex{Pagestyle}{headings}%
\EndIndex{Pagestyle}{myheadings}%

\BeginIndex[indexother]{}{type style}%
In order to change the type style used in the header, footer or for
the page number\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}%
, please use the interface described in
\autoref{sec:maincls.font}. The same element is used for header and
footer, which you can designate equivalently with
\FontElement{pagehead}\IndexFontElement{pagehead} or
\FontElement{pagefoot}\IndexFontElement{pagefoot}.  The element for
the page number within the header or footer is called
\FontElement{pagenumber}\IndexFontElement{pagenumber}. The default
settings can be found in \autoref{tab:maincls.defaultFontsHeadFoot}.
%
%
\begin{table}
  \centering%
  \caption{Default values for the elements of a page style}
  \begin{tabular}{ll}
    \toprule
    Element & Default value \\
    \midrule
    \FontElement{pagefoot}\IndexFontElement{pagefoot} &
    \Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\
    \FontElement{pagehead}\IndexFontElement{pagehead} &
    \Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\
    \FontElement{pagenumber}\IndexFontElement{pagenumber} &
    \Macro{normalfont}\Macro{normalcolor}\\
    \bottomrule
  \end{tabular}
  \label{tab:maincls.defaultFontsHeadFoot}
\end{table}
%
\begin{Example}
  \phantomsection\label{sec:maincls.pageStyle.example}%
  Assume that you want to set header and footer in a smaller type size
  and in italics. However, the page number should not be set in
  italics but bold. Apart from the fact that the result will look
  horrible, you can obtain this as follows:
\begin{lstlisting}
  \setkomafont{pagehead}{%
    \normalfont\normalcolor\itshape\small
  }
  \setkomafont{pagenumber}{\normalfont\bfseries}
\end{lstlisting}
  If you want  only that in addition to the default slanted variant a
  smaller type size is used, it is sufficient to use the following:
\begin{lstlisting}
  \addtokomafont{pagefoot}{\small}
\end{lstlisting}
  As you can see, the last example uses the element
  \FontElement{pagefoot}. You can achieve the same result using
  \PValue{pagehead} instead (see
  \autoref{tab:maincls.elementsWithoutText} on
  \autopageref{tab:maincls.elementsWithoutText}).
\end{Example}
It is not possible to use these methods to force capitals to be used
automatically for the running headings. For that, please use the
\Package{scrpage2} package (see \autoref{cha:scrpage},
\autopageref{desc:scrpage.option.markuppercase}).

If you define your own page styles, the commands
\Macro{usekomafont}\PParameter{pagehead} and
\Macro{usekomafont}\PParameter {pagenumber} can be useful.  If you do
not use the {\KOMAScript} package \Package{scrpage2} (see
\autoref{cha:scrpage}) for that, but, for example, the package
\Package{fancyhdr}\IndexPackage{fancyhdr} (see
\cite{package:fancyhdr}), you can use these commands in your
definitions.  Thereby you can remain compatible with {\KOMAScript} as
much as possible. If you do not use these commands in your own
definitions, changes like those shown in the previous examples have no
effect. The packages \Package{scrpage}\IndexPackage{scrpage} and
\Package{scrpage2}\IndexPackage {scrpage2} take care to keep the
maximum possible compatibility with other packages.
%
\EndIndex[indexother]{}{type style}%


\begin{Declaration}
  \Macro{titlepagestyle}\\
  \Macro{partpagestyle}\\
  \Macro{chapterpagestyle}\\
  \Macro{indexpagestyle}
\end{Declaration}%
\BeginIndex{Cmd}{titlepagestyle}%
\BeginIndex{Cmd}{partpagestyle}%
\BeginIndex{Cmd}{chapterpagestyle}%
\BeginIndex{Cmd}{indexpagestyle}%
For some pages a different page style is chosen with the help of the
command \Macro{thispagestyle}. Which page style this actually is, is
defined by these four macros, of which \Macro{partpagestyle} and
\Macro{chapterpagestyle}\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}
are found only with classes \Class{scrbook} and \Class{scrreprt}, but
not in \Class{scrartcl}. The default value for all four cases is
\PValue{plain}. The meaning of these macros can be taken from
\autoref{tab:specialpagestyles}.
%
\begin{table}
  \centering
  \caption{Macros to set up page style of special pages}
  \label{tab:specialpagestyles}
  \begin{desctabular}
    \mentry{titlepagestyle}{Page style for a title page when using
      \emph{in-page} titles.}%
    \mentry{partpagestyle}{Page style for the pages with \Macro{part}
      titles.}%
    \mentry{chapterpagestyle}{Page style for the first page of a chapter.}%
    \mentry{indexpagestyle}{Page style for the first page of the index.}%
  \end{desctabular}
\end{table}
%
The page styles can be redefined with the \Macro{renewcommand} macro.
\begin{Example}
  Assume that you want the pages with a \Macro{part} heading to have
  no number. Then you can use the following command, for example in
  the preamble of your document:
\begin{lstlisting}
  \renewcommand*{\partpagestyle}{empty}
\end{lstlisting}
As mentioned previously on \autopageref{desc:maincls.pagestyle.empty},
the page style \PValue{empty} is exactly what is required in this
example. Naturally you can also use a user-defined page style.

  Assume you have defined your own page style for initial chapter pages
  with the package \Package{scrpage2} (see
  \autoref{cha:scrpage}). You have given to this page style the
  fitting name \PValue{chapter}. To actually use this style, you must
  redefine the macro \Macro{chapterpagestyle} accordingly:
\begin{lstlisting}
  \renewcommand*{\chapterpagestyle}{chapter}
\end{lstlisting}

  Assume that you want that the table of contents of a book to
  have no page numbers. However,  everything after the table of
  contents should work
  again with the page style \PValue{headings}, as well as with
  \PValue{plain} on every first page of a chapter. You can use the
  following commands:
\begin{lstlisting}
  \clearpage
  \pagestyle{empty}
  \renewcommand*{\chapterpagestyle}{empty}
  \tableofcontents
  \clearpage
  \pagestyle{headings}
  \renewcommand*{\chapterpagestyle}{plain}
\end{lstlisting}
  Instead of the above you may do a local redefinition using a group. The
  advantage will be that you don't need to know the current page style before
  the change to switch back at the end.
\begin{lstlisting}
  \clearpage
  \begingroup
    \pagestyle{empty}
    \renewcommand*{\chapterpagestyle}{empty}
    \tableofcontents
    \clearpage
  \endgroup
\end{lstlisting}
  But notice that you never should put a numbered head into a group. Otherwise
  you may get funny results with commands like \Macro{label}.
\end{Example}



\begin{Explain}
  Whoever thinks that it is possible to put running headings on the
  first page of a chapter by using the command
\begin{lstlisting}
  \renewcommand*{\chapterpagestyle}{headings}
\end{lstlisting}
  will be surprised at the results.
  For sure, the page style \PValue{headings} is thereby applied to the
  initial page of a chapter. But nevertheless no running headings appear
  when using the \Option{openright} option.
  The reason for this behaviour can be found in the {\LaTeX}
  core. There, the command \Macro{rightmark}, that generates the marks
  for right-hand pages, is defined with;
\begin{lstlisting}
  \let\@rightmark\@secondoftwo
  \def\rightmark{\expandafter\@rightmark
    \firstmark\@empty\@empty}
\end{lstlisting}
  The right-hand mark is set with \Macro{firstmark}. \Macro{firstmark}
  contains the  left-hand  and right-hand  marks that were first set
  for a page. Within \Macro{chapter}, \Macro{markboth} is used to set
  the left mark to the chapter header and the right mark to empty.
  Hence, the first right
  mark on  a chapter beginning with a right-hand page is empty. Therefore,
  the running heading is also empty on those pages.

  You could redefine \Macro{rightmark} in the preamble so that the
  last mark on the page is used instead of the first:
\begin{lstlisting}
  \makeatletter
  \renewcommand*{\rightmark}{%
    \expandafter\@rightmark\botmark\@empty\@empty}
  \makeatother
\end{lstlisting}
  This would however cause the running heading of the first page of a
  chapter to use the title of the last section in the page. This is
  confusing and should be avoided.

  It is also confusing (and hence should be avoided) to have as
  running heading of the first page of a chapter the chapter title
  instead of the the section title. Therefore, the current behavior
  should be considered to be correct.
\end{Explain}
%
\EndIndex{Cmd}{titlepagestyle}%
\EndIndex{Cmd}{partpagestyle}%
\EndIndex{Cmd}{chapterpagestyle}%
\EndIndex{Cmd}{indexpagestyle}%


\begin{Declaration}
  \Macro{clearpage}\\
  \Macro{cleardoublepage}\\
  \Macro{cleardoublestandardpage}\\
  \Macro{cleardoubleplainpage}\\
  \Macro{cleardoubleemptypage}
\end{Declaration}%
\BeginIndex{Cmd}{clearpage}%
\BeginIndex{Cmd}{cleardoublepage}%
\BeginIndex{Cmd}{cleardoublestandardpage}%
\BeginIndex{Cmd}{cleardoubleplainpage}%
\BeginIndex{Cmd}{cleardoubleemptypage}%
The {\LaTeX} core contains the \Macro{clearpage} command, which takes
care that all not yet output floats are output, and then starts a new
page.  There exists the instruction \Macro{cleardoublepage} which
works like \Macro{clearpage} but which, in the double-sided layouts
(see layout option \Option{twoside} in
\autoref{sec:typearea.options},
\autopageref{desc:typearea.option.twoside}) starts a new right-hand
page.  An empty left page in the current page style is output if
necessary.

With \Macro{cleardoublestandardpage} {\KOMAScript} works as described above.
The \Macro{cleardoubleplainpage} command changes the page style of the empty
left page to \PValue{plain} in order to suppress the running heading.
Analogously, the page style \PValue{empty} is applied to the empty page with
\Macro{cleardoubleemptypage}, suppressing the page number as well as the
runnning heading. The page is thus entirely empty. However, the approach used
by \Macro{cleardoublepage} is dependent on the layout options
\OptionValue{cleardoublepage}{current}, \OptionValue{cleardoublepage}{plain}
and \OptionValue{cleardoublepage}{empty} described in
\autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.cleardoublepage} and acts according to
the active option.
%
\EndIndex{Cmd}{clearpage}%
\EndIndex{Cmd}{cleardoublepage}%
\EndIndex{Cmd}{cleardoublestandardpage}%
\EndIndex{Cmd}{cleardoubleplainpage}%
\EndIndex{Cmd}{cleardoubleemptypage}%


\begin{Declaration}
  \Macro{ifthispageodd}\Parameter{true}\Parameter{false}
  \Macro{ifthispagewasodd} \PName{true}\Macro{else} \PName{false}\Macro{fi}
\end{Declaration}%
\BeginIndex{Cmd}{ifthispageodd}%
\BeginIndex{Cmd}{ifthispagewasodd}%
\begin{Explain}%
  A peculiarity of {\LaTeX} consists of the fact that it is not
  possible to determine on which page the current text will fall. It
  is also difficult to say whether the current page has an odd or an
  even page number. Now some will argue that there is, nevertheless,
  the {\TeX} test macro \Macro{ifodd} which one needs only to apply to
  the current page counter. However, this is an error. At the time of
  the evaluation of such a test {\LaTeX} does not know at all whether
  the text just processed will be typeset on the current page or only
  on the next. The page breaks take place not while reading the
  paragraph, but only in the \emph{output} routine of
  {\LaTeX}. However, at that moment a command of the form
  \verb|\ifodd\value{page}| would already have been completely
  evaluated.

  To find out reliably whether a text falls on an even or odd
  page, one must usually work with a label and a page reference to
  this label. One must also take special precautionary measures during
  the first {\LaTeX} run, when the label is not yet known.
\end{Explain}
If one wants to find out with {\KOMAScript} whether a text falls on an
even or odd page, one can use the \Macro {ifthispageodd} command. The
\PName{true} argument is executed only if the command falls on an odd
page.  Otherwise the \PName{false} argument is executed.

\begin{Explain}
  More precisely stated, the question is not where the text is, but
  whether a page reference to a label placed in this location would
  refer to an odd or an even page.
\end{Explain}
\begin{Example}
  Assume that you want to indicate if an odd or even page is
  output. This could be achieved with the command:
\begin{lstlisting}
  This is a page with an \ifthispageodd{odd}{even}
  page number.
\end{lstlisting}
  The output would then be:
  \begin{quote}
    This is a page with an \ifthispageodd{odd}{even}
    page number.
  \end{quote}
\end{Example}

Because the \Macro{ifthispageodd} command uses a mechanism that is
very similar to a label and a reference to it, at least two {\LaTeX}
runs are required after every text modification. Only then the
decision is correct. In the first run a heuristic is used to make the
first choice.


\begin{Explain}
  There are situations where the \Macro{ifthispageodd} command never
  leads to the correct result. Suppose that the command is used within
  a box. A box is set by {\LaTeX} always as a whole. No page breaks
  take place inside. Assume further that the \PName{true} part is very
  big, but the \PName{false} part is empty. If we suppose further that
  the box with the \PName {false} part still fits on the current, even
  page, but that with the \PName{true} part it does not.  Further
  assume that {\KOMAScript} heuristically decides for the first run
  that the \PName{true} part applies. The decision is wrong and is
  revised in the next run. The \PName{false} part is thereby
  processed, instead of the \PName{true} part. The decision must again
  be revised in the next run and so on.

  These cases are rare. Nevertheless it should not be said that I have
  not pointed out that they are possible.

  Sometimes you need to know the state of the last decision. This may be done
  using the expert command \Macro{ifthispagewasodd}. This is either same like
  \Macro{iftrue} or \Macro{iffalse} and may be used like those.
\end{Explain}
%
\EndIndex{Cmd}{ifthispageodd}%
\EndIndex{Cmd}{ifthispagewasodd}%

\begin{Declaration}
  \Macro{pagenumbering}\Parameter{numbering style}
\end{Declaration}
\BeginIndex{Cmd}{pagenumbering}%
This command works the same way in {\KOMAScript} as in the standard
classes. More precisely it is a command from the {\LaTeX} kernel.  You
can specify with this command the \PName{numbering style} of page
numbers.  The changes take effect immediately, hence starting with the
page that contains the command.  The possible settings can be found in
\autoref{tab:numberKind}.  Using the command \Macro{pagenumbering}
also resets the page counter\Index{page>counter}\Index{page>number}.
Thus the page number of the next page which {\TeX} outputs will have
the number 1 in the style \PName{numbering style}.
%
\begin{table}
  \centering
  \caption{Available numbering styles of page numbers}
  \begin{tabular}{lll}
    \toprule
    numbering style & example & description \\
    \midrule
    \PValue{arabic} & 8 & Arabic numbers \\
    \PValue{roman}  & viii & lower-case Roman numbers \\
    \PValue{Roman}  & VIII & upper-case Roman numbers \\
    \PValue{alph}   & h    & letters \\
    \PValue{Alph}   & H    & capital letters \\
    \bottomrule
  \end{tabular}
  \label{tab:numberKind}
\end{table}
%
\EndIndex{Cmd}{pagenumbering}


% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Titles}
\label{sec:maincls.titles}

\begin{Explain}
  After having described the options and some general issues, we begin
  the document where it usually begins: with the titles. The titles
  comprise everything that belongs in the widest sense to the title of
  a document. Like already mentioned in
  \autoref{sec:maincls.layoutOptions},
  \autopageref{desc:maincls.option.titlepage}, we can distinguish
  between title pages and \emph{in-page} titles. Article classes like
  \Class{article} or \Class{scrartcl} have by default \emph{in-page}
  titles, while classes like \Class{report}, \Class{book},
  \Class{scrreprt} and \Class{scrbook} have title pages as default.
  The defaults can be changed with the class option
  \Option{titlepage}.
\end{Explain}


\begin{Declaration}
  \Environment{titlepage}
\end{Declaration}%
\BeginIndex{Env}{titlepage}%
With the standard classes and with {\KOMAScript} all title pages are
defined in a special environment, the \Environment{titlepage}
environment.  This environment always starts a new page\,---\,in the
two-sided layout a new right page. For this page, the style is changed
by \Macro{thispagestyle}\PParameter{empty}, so that neither page
number nor running heading are output. At the end of the environment
the page is automatically shipped out. Should you not be able to use
the automatic layout of the title page, it is advisable to design a
new one with the help of this environment.


\begin{Example}
  Assume you want a title page on which only the word ``Me'' stands at
  the top on the left, as large as possible and in bold\,---\,no
  author, no date, nothing else. The following document creates just
  that:
\begin{lstlisting}
  \documentclass{scrbook}
  \begin{document}
  \begin{titlepage}
    \textbf{\Huge Me}
  \end{titlepage}
  \end{document}
\end{lstlisting}
  Simple? Right.
\end{Example}
%
\EndIndex{Env}{titlepage}

\begin{Declaration}
  \Macro{maketitle}\OParameter{page number}
\end{Declaration}%
\BeginIndex{Cmd}{maketitle}%
While the the standard classes produce a title page that may have the three
items title, author and date, with {\KOMAScript} the \Macro{maketitle} command
can produce up to six pages.

In contrast to the standard classes, the \Macro{maketitle} macro in
{\KOMAScript} accepts an optional numeric argument. If it is used,
this number is made the page number of the first title page.  However,
this page number is not output, but affects only the numbering. You
should choose an odd number, because otherwise the whole counting gets
mixed up. In my opinion there are only two meaningful applications for
the optional argument. On the one hand, one could give to the
half-title\Index[indexmain]{half-title} the logical page number \(-\)1
in order to give the full title page the number 1. On the other hand,
it could be used to start at a higher page number, for instance, 3, 5,
or 7 to accommodate other title pages added by the publishing house.
The optional argument is ignored for \emph{in-page} titles. However,
the page style of such a title page can be changed by redefining the
\Macro{titlepagestyle} macro.  For that see
\autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.titlepagestyle}.

The following commands do not lead necessarily to the production of the
titles. The typesetting of the title pages is always done by
\Macro{maketitle}. The commands explained below only define the contents of
the title pages. It is however not necessary, and when using the
\Package{babel} package\IndexPackage{babel} not recommended, to use these in
the preamble before \Macro{begin}\PParameter{document} (see
\cite{package:babel}). Examples can be found at the end of this section.

\begin{Explain}%
\begin{Declaration}
  \Macro{extratitle}\Parameter{half-title}
\end{Declaration}%
\BeginIndex{Cmd}{extratitle}%
  In earlier times the inner book was often not protected from dirt by a cover.
  This task was then taken over by the first page of the book which
  carried mostly a shortened title called the \emph{half-title}.
  Nowadays the extra page is often applied before the real full title
  and contains information about the publisher, series number and similar
  information.
\end{Explain}

With {\KOMAScript} it is possible to include a page before the real
title page.  The \PName{half-title} can be arbitrary text\,---\,even
several paragraphs. The contents of the \PName {half-title} are output
by {\KOMAScript} without additional formatting. Their organisation is
completely left to the user. The back of the half-title remains empty.
The half-title has its own title page even when \emph{in-page} titles
are used. The output of the half-title defined with \Macro{extratitle}
takes place as part of the titles produced by \Macro{maketitle}.


\begin{Example}
  Let's go back to the previous example and assume
  that the spartan ``Me'' is the half-title. The full title should
  still follow the half-title. One can proceed as follows:
\begin{lstlisting}
  \documentclass{scrbook}
  \begin{document}
    \extratitle{\textbf{\Huge Me}}
    \title{It's me}
    \maketitle
  \end{document}
\end{lstlisting}
  You can  center the half-title and put it a little lower down the page:
\begin{lstlisting}
  \documentclass{scrbook}
  \begin{document}
    \extratitle{\vspace*{4\baselineskip}
      \begin{center}\textbf{\Huge Me}\end{center}}
    \title{It's me}
    \maketitle
  \end{document}
\end{lstlisting}
  The command \Macro{title} is necessary in order to make the examples
  above work correctly. It is explained next.
\end{Example}
%
\EndIndex{Cmd}{extratitle}


\begin{Declaration}
  \Macro{titlehead}\Parameter{Titlehead}\\
  \Macro{subject}\Parameter{Subject}\\
  \Macro{title}\Parameter{Title}\\
  \Macro{subtitle}\Parameter{Subtitle}\\
  \Macro{author}\Parameter{Author}\\
  \Macro{date}\Parameter{Date}\\
  \Macro{publishers}\Parameter{Publisher}\\
  \Macro{and}\\
  \Macro{thanks}\Parameter{Footnote}
\end{Declaration}%
\BeginIndex{Cmd}{titlehead}%
\BeginIndex{Cmd}{subject}%
\BeginIndex{Cmd}{title}%
\BeginIndex{Cmd}{subtitle}%
\BeginIndex{Cmd}{author}%
\BeginIndex{Cmd}{date}%
\BeginIndex{Cmd}{publishers}%
\BeginIndex{Cmd}{and}%
\BeginIndex{Cmd}{thanks}%
The contents of the full title page are defined by seven elements. The
\PName{title head}\Index[indexmain]{title>head} is defined with the
command \Macro {titlehead}. It is typeset in regular paragraph style
and full width at the top of the page. It can be freely designed by
the user.

The \PName{Subject}\Index[indexmain]{subject} is output immediately
above the \PName{Title}. A slightly larger font size than the regular
one is used.

The \PName{Title} is output with a very large font size.
Besides\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the change
of size, the settings for the element
\FontElement{title}\IndexFontElement{title} also take effect. By
default these settings are identical to the settings for the element
\FontElement{disposition}\IndexFontElement{disposition} (see
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}). The font size is however
not affected (see \autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.mainTitle}). The
default settings can be changed with the commands of
\autoref{sec:maincls.font}.

The
\PName{Subtitle}\ChangedAt{v2.97c}{\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}
is set just below the title, in a font determined by the element
\FontElement{subtitle}\IndexFontElement{subtitle}. The default, seen
in \autoref{tab:maincls.titlefonts} can be changed with the help of
the commands in \autoref{sec:maincls.font}.


\begin{table}
  \centering
  \caption{Font defaults for the elements of the title}
  \begin{tabular}{ll}
    \toprule
    Element name & Default \\
    \midrule
    \FontElement{subject} &
    \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\
    \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\
    \FontElement{subtitle} &
    \Macro{usekomafont}\PParameter{title}\Macro{large} \\
    \bottomrule
  \end{tabular}
  \label{tab:maincls.titlefonts}
\end{table}

Below the \PName{Subtitle} appears the
\PName{Author}\Index[indexmain]{author}.  Several authors can be
specified in the argument of \Macro{author}. They should be separated
by \Macro{and}.

Below the author or authors appears the date\Index{date}. The default
value is the present date, as produced by
\Macro{today}\IndexCmd{today}. The \Macro{date} command accepts
arbitrary information or even an empty argument.

Finally comes the \PName{Publisher}\Index[indexmain]{publisher}. Of
course this command can also be used for any other information of
little importance. If necessary, the \Macro{parbox} command can be
used to typeset this information over the full page width like a
regular paragraph.  Then it is to be considered equivalent to the
title head. However, note that this field is put above any existing
footnotes.

Footnotes\Index{footnotes} on the title page are produced not with
\Macro{footnote}, but with \Macro{thanks}. They serve typically for
notes associated with the authors. Symbols are used as footnote
markers instead of numbers.

With the exception of \PName{titlehead} and possible footnotes, all
the items are centered horizontally.  The information is summarised in
\autoref{tab:maincls.mainTitle}.
\begin{table}
  \centering
  \caption[Main title]{Font size and horizontal positioning of the
    elements in the main title page in the order of their vertical
    position from top to bottom when typeset with \Macro{maketitle}}
  \begin{tabular}{llll}
    \toprule
    Element    & Command            & Font               & Justification     \\
    \midrule
    Title head & \Macro{titlehead}  & \Macro{normalsize} & Regular paragraph \\
    Subject    & \Macro{subject}    & \Macro{usekomafont}\PParameter{subject} & centered          \\
    Title      & \Macro{title}      & \Macro{huge}\Macro{usekomafont}\PParameter{title}       & centered          \\
    Subtitle   & \Macro{subtitle}   & \Macro{usekomafont}\PParameter{subtitle}  & centered          \\
    Authors    & \Macro{author}     & \Macro{Large}      & centered          \\
    Date       & \Macro{date}       & \Macro{Large}      & centered          \\
    Publishers & \Macro{publishers} & \Macro{Large}      & centered          \\
    \bottomrule
  \end{tabular}
   \label{tab:maincls.mainTitle}
\end{table}


\begin{Example}
  Assume you are writing a dissertation. The title page should have
  the university's name and address at the top, flush left, and the
  semester flush right. As usual a title is to be used, including
  author and delivery date.
  The adviser must also be indicated, together with the fact that the
  document is a dissertation. This can be obtained as follows:
\begin{lstlisting}
  \documentclass{scrbook}
  \begin{document}
  \titlehead{{\Large Unseen University
      \hfill SS~2002\\}
    Higher Analytical Institute\\
    Mythological Rd\\
    34567 Etherworld}
  \subject{Dissertation}
  \title{Digital space simulation with the DSP\,56004}
  \subtitle{short but sweet?}
  \author{Fuzzy George}
  \date{30. February 2002}
  \publishers{Adviser Prof. John Eccentric Doe}
  \maketitle
  \end{document}
\end{lstlisting}
\end{Example}


\begin{Explain}
A frequent misunderstanding concerns the role of the full title page.
It is often erroneously assumed that the cover (or dust cover) is meant.
Therefore, it is frequently expected that the title page does not follow
the normal page layout, but has equally large left and right margins.

However if one takes a book and opens it, one notices very quickly at
least one title page under the cover within the so-called inner book.
Precisely these title pages are produced by \Macro{maketitle}. As is
the case with the half-title, the full title page belongs to the inner
book, and therefore should have the same page layout as the rest of
the document.  A cover is actually something that should be created in
a separate document. The cover often has a very individual format. It
can also be designed with the help of a graphics or DTP program. A
separate document should also be used because the cover will be
printed on a different medium, possibly cardboard, and possibly with
another printer.
\end{Explain}
%
\EndIndex{Cmd}{titlehead}%
\EndIndex{Cmd}{subject}%
\EndIndex{Cmd}{title}%
\EndIndex{Cmd}{subtitle}%
\EndIndex{Cmd}{author}%
\EndIndex{Cmd}{date}%
\EndIndex{Cmd}{publishers}%
\EndIndex{Cmd}{and}%
\EndIndex{Cmd}{thanks}%



\begin{Declaration}
  \Macro{uppertitleback}\Parameter{titlebackhead}\\
  \Macro{lowertitleback}\Parameter{titlebackfoot}
\end{Declaration}%
\BeginIndex{Cmd}{uppertitleback}%
\BeginIndex{Cmd}{lowertitleback}%
%
With the standard classes, the back of the title page is left empty.
However, with {\KOMAScript} the back of the full title page can be
used for other information. Exactly two elements which the user can
freely format are recognized: \PName {titlebackhead} and \PName
{titlebackfoot}. The head can reach up to the foot and vice versa. If
one takes this manual as an example, the exclusion of liability was
set with the help of the \Macro{uppertitleback} command.
\EndIndex{Cmd}{uppertitleback}%
\EndIndex{Cmd}{lowertitleback}%


\begin{Declaration}
  \Macro{dedication}\Parameter{dedication}
\end{Declaration}%
\BeginIndex{Cmd}{dedication}%
{\KOMAScript} provides a page for dedications. The
dedication\Index{dedication} is centered and uses a slightly larger
type size.  The back is empty like the back page of the half-title.
The dedication page is produced by \Macro{maketitle} and must
therefore be defined before this command is issued.

\begin{Example}
  This time assume that you have written a poetry book and you want to
  dedicate it to your wife. A solution would look like this:
\begin{lstlisting}
  \documentclass{scrbook}
  \begin{document}
  \extratitle{\textbf{\Huge In Love}}
  \title{In Love}
  \author{Prince Ironheart}
  \date{1412}
  \lowertitleback{This poem book was set with%
       the help of {\KOMAScript} and {\LaTeX}}
  \uppertitleback{Selfmockery Publishers}
  \dedication{To my treasure hazel-hen\\
    in eternal love\\
    from your dormouse.}
  \maketitle
  \end{document}
\end{lstlisting}
  Please use your own favorite pet names.
\end{Example}
%
\EndIndex{Cmd}{dedication}
%
\EndIndex{Cmd}{maketitle}


\begin{Declaration}
  \Environment{abstract}
\end{Declaration}%
\BeginIndex{Env}{abstract}%
Particularly\OnlyAt{\Class{scrartcl}\and\Class{scrreprt}} with
articles, more rarely with reports, there is a summary\Index{summary}
directly under the title and before the table of contents. Therefore,
this is often considered a part of the titles. Some {\LaTeX} classes
offer a special environment for this summary, the
\Environment{abstract} environment. This is output directly, at it is
not a component of the titles set by \Macro{maketitle}.  Please note
that \Environment{abstract} is an environment, not a command. Whether
the summary has a heading or not is determined by the option
\Option{abstract} (see
\autoref{sec:maincls.formattingOptions},
\autopageref{desc:maincls.option.abstract})

With books (\Class{scrbook}) the summary is frequently a component of
the introduction or a separate chapter at the end of the document.
Therefore no \Environment{abstract} environment is provided. When
using the class \Class{scrreprt} it is surely worth considering
whether one should not proceed likewise.
%
\EndIndex{Env}{abstract}

% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{The Table of Contents}
\label{sec:maincls.toc}

The titles are normally followed by the table of contents\Index{table>of
  contents}\Index{contents>table of}.  Often the table of contents is followed
by lists of floats, e.\,g., lists of tables and figures (see
\autoref{sec:maincls.floats}).

\begin{Declaration}
  \Macro{tableofcontents}\\
  \Macro{contentsname}
\end{Declaration}%
\BeginIndex{Cmd}{tableofcontents}%
\BeginIndex{Cmd}{contentsname}%
The production of the table of contents is done by the \Macro{tableofcontents}
command.  To get a correct table of contents, at least two {\LaTeX} runs are
necessary after every change.  The option \OptionValue{listof}{totoc} causes
the lists of figures and tables to be included in the table of
contents. \OptionValue{index}{totoc} is the corresponding option for the
index.  This is rather uncommon in classical typography. One does find the
bibliography included in the table of contents slightly more frequently. This
can be obtained with the options \OptionValue{bibliography}{totoc} and
\OptionValue{bibliography}{totocnumbered}. These options are explained in
\autoref{sec:maincls.tocOptions},
\autopageref{desc:maincls.option.listof.totoc}.

\begin{Explain}
  The table of contents is set as an unnumbered chapter and is therefore
  subject to the side effects of the standard \Macro{chapter*} command,
  which are described in \autoref{sec:maincls.structure},
  \autopageref{desc:maincls.cmd.chapter*}.  However, the running
  headings\Index{running heading} for left and right pages are correctly filled
  with the heading of the table of contents. 

  The text of the heading is given by the macro
  \Macro{contentsname}. If you make use of a language package such as
  \Package{babel}, please read the documentation of that package
  before redefining this macro.
\end{Explain}%
\EndIndex{Cmd}{tableofcontents}%
\EndIndex{Cmd}{contentsname}%

There are two variants for the construction of the table of
contents. With the standard variant, the titles of the sectional units
are indented so that the unit number is flush left to the edge of the
text of the next upper sectional unit.  However, the space for the
numbers is thereby limited and is only sufficient for a little more
than 1.5 places per unit level.  Should this become a problem, the
option \OptionValue{toc}{flat} can be used to set the behaviour such that all
entries in the table of contents are set flush left under one
another. As explained in \autoref{sec:maincls.tocOptions},
\autopageref{desc:maincls.option.toc}, several {\LaTeX} runs are
needed.

\begin{Explain}
  The entry for the highest sectional unit below \Macro{part}, i.\,e.,
  \Macro{chapter} with \Class{scrbook}\IndexClass{scrbook} and
  \Class{scrreprt}\IndexClass{scrreprt} or \Macro{section} with
  \Class{scrartcl}\IndexClass {scrartcl} is not indented. The font
  style is however affected by the settings of the element
  \FontElement{disposition}\IndexFontElement{disposition} (see
  \autoref{tab:maincls.elementsWithoutText},
  \autopageref{tab:maincls.elementsWithoutText}). There are no dots
  between the text of the sectional unit heading and the page
  number. The typographic reasons for this are that the font is
  usually different, and the desire for appropriate emphasis. The
  table of contents of this manual is a good example of these
  considerations.%
\end{Explain}

\begin{Declaration}
  \Counter{tocdepth}
\end{Declaration}%
\BeginIndex{Counter}{tocdepth}%
Normally, the units included in the table of contents are all the units from
\Macro{part} to \Macro{subsection} (for the classes \Class{scrbook} and
\Class{scrreprt}) or from \Macro{part} to \Macro{subsubsection} (for the class
\Class{scrartcl}).  The inclusion of a sectional unit in the table of contents
is controlled by the counter \Counter{tocdepth}. This has the value \(-\)1 for
\Macro{part}, 0 for \Macro{chapter}, and so on. By setting, incrementing
or decrementing the counter, one can choose the lowest sectional unit level to
be included in the table of contents.  The same happens with the standard
classes.

The user of the \Package{scrpage2}\IndexPackage{scrpage2} package (see
\autoref{cha:scrpage}) does not need to remember the numerical
values of each sectional unit. They are given by the values of the
macros \Macro{chapterlevel}, \Macro{sectionlevel} and so on down to
\Macro{subparagraphlevel}.
\begin{Example}
  Assume that you are preparing an article that uses the sectional
  unit \Macro{subsubsection}. However, you don't want this sectional
  unit to appear in the table of contents. The preamble of your
  document might contain the following:
\begin{lstlisting}
  \documentclass{scrartcl}
  \setcounter{tocdepth}{2}
\end{lstlisting}
You set the counter \Counter{tocdepth} to 2 because you know that
this is the value for \Macro{subsection}. If you know that
\Class{scrartcl} normally includes all levels down to
\Macro{subsubsection} in the table of contents, you can simply
decrement the counter \Counter{tocdepth} by one:
\begin{lstlisting}
  \documentclass{scrartcl}
  \addtocounter{tocdepth}{-1}
\end{lstlisting}
How much you should add to or subtract from the \Counter{tocdepth} counter
can also be found by looking at the table of contents after the first
{\LaTeX} run.
\end{Example}
A small hint in order that you do not need to remember which sectional
unit has which number: in the table of contents count the number of
units required extra or less and then, as in the above example, use
\Macro{addtocounter} to add or subtract that number to or from
\Counter{tocdepth}.%

{\KOMAScript} has always attempted to avoid page breaking directly
between a sectional unit and the adjacent next lower unit, for
example, between a chapter title and its first section title. However,
the mechanism worked poorly or not at all until version~2.96. In
version~2.96a\ChangedAt{v2.96a}{%
  \Class{scrbook} \and\Class{scrreprt} \and\Class{scrartcl}} the
mechanism was much improved and should now always work
correctly. There can be changes in the page breaking in the table of
contents as a result though. Thus, the new mechanism is only active,
if the compatibility option is not set to version~2.96 or less (see
option \Option{version}, \autoref{sec:maincls.compatibilityOptions},
\autopageref{desc:maincls.option.version}). The mechanism also does
not work if the commands to generate the table of contents are
redefined, for example, by the use of the package \Package{tocloft}.
%
\EndIndex{Counter}{tocdepth}%

\section{Lists of Floats}

As a rule, the lists of floats\Index{floating environments}, e.\,g., list of
tables\Index[indexmain]{list>of tables} and list of
figures\Index[indexmain]{list>of figures}, can be found directly after the
table of contents.  In some documents, they can even be found in the appendix.
However, the author of this manual prefers their location after the table of
contents, therefore the explanation is given here.

\begin{Declaration}
  \Macro{listoftables}\\
  \Macro{listoffigures}\\
  \Macro{listtablename}\\
  \Macro{listfigurename}
\end{Declaration}
\BeginIndex{Cmd}{listoftables}%
\BeginIndex{Cmd}{listoffigures}%
\BeginIndex{Cmd}{listtablename}%
\BeginIndex{Cmd}{listfigurename}%
These commands generate a list of tables or figures.  Changes in the document
that modify these lists will require two {\LaTeX} runs in order to take
effect.  The layout of the lists can be influenced by the options
\OptionValue{listof}{graduated} and \OptionValue{listof}{flat} (see
\autoref{sec:maincls.listsOptions},
\autopageref{desc:maincls.option.listof}).  Moreover, the options
\OptionValue{listof}{totoc} and \OptionValue{listof}{numbered} have indirect
influence (see \autoref{sec:maincls.tocOptions},
\autopageref{desc:maincls.option.listof.totoc}).

\begin{Explain}
  The text of the titles of this tables are stored in the macros
  \Macro{listtablename} and \Macro{listfigurename}. If you use a
  language package like \Package{babel} and want to redefine these
  macros, you should read the documentation of the language package.
\end{Explain}
%
\EndIndex{Cmd}{listoftables}%
\EndIndex{Cmd}{listoffigures}%
\EndIndex{Cmd}{listtablename}%
\EndIndex{Cmd}{listfigurename}%


\section{Main Text}
\label{sec:maincls.mainText}

This section explains everything provided by {\KOMAScript}
in order to write the main text. The main text is the
part that the author should focus on first.
Of course this includes tables, figures and comparable
information as well.

\subsection[{Separation}]{Separation\protect\OnlyAt{\Class{scrbook}}}
\label{sec:maincls.separation}

Before getting to the main text we will have a short look at three
commands which exist both in the standard class \Class{book} and the
{\KOMAScript} class \Class{scrbook}. They are used for separation of
the \emph{front matter}\Index{front matter}, the \emph{main
  matter}\Index{main matter} and the \emph{back matter}\Index{back
  matter} of a book.

\begin{Declaration}
  \Macro{frontmatter}\\
  \Macro{mainmatter}\\
  \Macro{backmatter}
\end{Declaration}%
\BeginIndex{Cmd}{frontmatter}%
\BeginIndex{Cmd}{mainmatter}%
\BeginIndex{Cmd}{backmatter}%
The macro \Macro{frontmatter} introduces the front matter in which
roman numerals are used for the page numbers. Chapter headings in a
front matter are not numbered.  The section titles would be numbered,
start at chapter 0, and would be consecutively numbered across chapter
boundaries. However, this is of no import, as the front matter is used
only for the title pages, table of contents, lists of figures and
tables, and a foreword. The foreword can thus be set as a normal
chapter.  A foreword should never be divided into sections but kept as
short as possible.  Therefore in the foreword there is no need for a
deeper structuring than the chapter level.

In case the user sees things differently and wishes to use numbered
sections\Index{section>number} in the chapters of the front matter,
as of version~2.97e\ChangedAt{v2.97e}{\Class{scrbook}} the section
numbering no longer contains the chapter number. This change only
takes effect when the compatibility option is set to at least
version~2.97e (see option \Option{version},
\autoref{sec:maincls.compatibilityOptions},
\autopageref{desc:maincls.option.version}). It is explicity noted that
this creates a confusion with chapter numbers! The use of
\Macro{addsec} and \Macro{section*} (see
\autoref{sec:maincls.structure},
\autopageref{desc:maincls.cmd.section*} and
\autopageref{desc:maincls.cmd.addsec}) are thus, in the author's
opinion, far more preferable.

As of version~2.97e\ChangedAt{v2.97e}{\Class{scrbook}} the numbering
of float environments, such as tables\Index{table>number} and
figures\Index{figure>number}, and equation
numbers\Index{equation>number} in the front matter also contain no
chapter number part. To take effect this too requires the
corresponding compatibility setting (see option \Option{version},
\autoref{sec:maincls.compatibilityOptions},
\autopageref{desc:maincls.option.version}).

\Macro{mainmatter} introduces the main matter with the main text. If
there is no front matter then this command can be omitted. The default
page numbering in the main matter uses Arabic numerals (re)starting in
the main matter at 1.

The back matter is introduced with \Macro{backmatter}. Opinions differ
in what should be part of the back matter. So in some cases you will
find only the bibliography\Index{bibliography}, in some cases only the
index\Index{index}, and in other cases both of these as well as the
appendices.  The chapters in the back matter are similar to the
chapters in the front matter, but page numbering is not reset. If you
do require separate page numbering you may use the command
\Macro{pagenumbering} from \autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.pagenumbering}.
%
\EndIndex{Cmd}{frontmatter}%
\EndIndex{Cmd}{mainmatter}%
\EndIndex{Cmd}{backmatter}%


\subsection{Structuring the Document}\Index[indexmain]{structuring}
\label{sec:maincls.structure}

There are several commands to structure a document into parts, chapters,
sections and so on.

\begin{Declaration}
  \Macro{part}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{chapter}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{section}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{subsection}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{subsubsection}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{paragraph}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{subparagraph}\OParameter{Short version}\Parameter{Heading}
\end{Declaration}%
\BeginIndex{Cmd}{part}%
\BeginIndex{Cmd}{chapter}%
\BeginIndex{Cmd}{section}%
\BeginIndex{Cmd}{subsection}%
\BeginIndex{Cmd}{subsubsection}%
\BeginIndex{Cmd}{paragraph}%
\BeginIndex{Cmd}{subparagraph}%
The standard sectioning commands in {\KOMAScript} work in a similar
fashion to those of the standard classes. Thus, an alternative entry
for the table of contents and running headings can be specified as an
optional argument to the sectioning commands.

The title of the level part (\Macro{part}) is distinguished from other
sectioning levels by being numbered independently from the other
parts. This means that the chapter level (in \Class{scrbook} or
\Class{scrreprt}), or the section level (in \Class{scrartcl}) is
numbered consecutively over all parts. Furthermore, for classes
\Class{scrbook} and \Class{scrreprt} the title of the part level
together with the corresponding preamble (see \Macro{setpartpreamble},
\autopageref{desc:maincls.cmd.setpartpreamble}) is set on a separate
page.

\Macro{chapter} \OnlyAt{\Class{scrartcl}} only exists in book or
report classes, that is, in classes \Class{book}, \Class{scrbook},
\Class{report} and \Class{scrreport}, but not in the article classes
\Class{article} and \Class{scrartcl}. In addition to this, the command
\Macro{chapter} in {\KOMAScript} differs substantially from the
version in the standard class. In the standard classes the chapter
number is used together with the prefix ``Chapter'', or the
corresponding word in the appropriate language, on a separate line
above the actual chapter title test. This overpowering style is
replaced in {\KOMAScript} by a simple chapter number before the
chapter heading text, can however be reverted by the option
\Option{chapterprefix} (see \autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.chapterprefix}).

Please note that \Macro{part} and \Macro{chapter} in classes
\Class{scrbook} and \Class{scrreprt}
\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} change the page style for
one page. The applied page style in {\KOMAScript} is defined in the
macros \Macro{partpagestyle} and \Macro{chapterpagestyle} (see
\autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.titlepagestyle}).

\BeginIndex[indexother]{}{font}%
\BeginIndex[indexother]{}{font>size}%
The font of all headings\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} %
can be changed with the commands
\Macro{setkomafont}\IndexCmd{setkomafont} and
\Macro{addtokomafont}\IndexCmd{addtokomafont} described in
\autoref{sec:maincls.font}. In doing this, generally the element
\FontElement{disposition}\IndexFontElement{disposition} is used,
followed by a specific element for every section level (see
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}). The font for the
element \FontElement{disposition}\IndexFontElement{disposition} is
predefined as \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}%
\Macro{bfseries}. The default font size for the specific elements
depends on the options \OptionValue{headings}{big}, \OptionValue{headings}{normal}
and \OptionValue{headings}{small} (see \autoref{sec:maincls.fontOptions},
\autopageref{desc:maincls.option.headings}). The defaults are
listed in \autoref{tab:maincls.structureElementsFont}
%
\begin{table}
  \centering%
  \caption[{Default font sizes for different levels of document
    structuring}]{Default font sizes for different levels of document
    structuring in \Class{scrbook} and \Class{scrreprt}}
  \begin{tabular}{lll}
    \toprule
    class option & element & default\\
    \midrule
    \OptionValue{headings}{big}
      & \FontElement{part}\IndexFontElement{part}
      & \Macro{Huge} \\
      & \FontElement{partnumber}\IndexFontElement{partnumber}
      & \Macro{huge} \\
      & \FontElement{chapter}\IndexFontElement{chapter}
      & \Macro{huge} \\
      & \FontElement{section}\IndexFontElement{section}
      & \Macro{Large} \\
      & \FontElement{subsection}\IndexFontElement{subsection}
      & \Macro{large} \\
      & \FontElement{subsubsection}%
        \IndexFontElement{subsubsection}
      & \Macro{normalsize} \\
      & \FontElement{paragraph}\IndexFontElement{paragraph}
      & \Macro{normalsize} \\
      & \FontElement{subparagraph}\IndexFontElement{subparagraph}
      & \Macro{normalsize} \\[1ex]
    \OptionValue{headings}{normal}
      & \FontElement{part}          & \Macro{huge} \\
      & \FontElement{partnumber}    & \Macro{huge} \\
      & \FontElement{chapter}       & \Macro{LARGE} \\
      & \FontElement{section}       & \Macro{Large} \\
      & \FontElement{subsection}    & \Macro{large} \\
      & \FontElement{subsubsection} & \Macro{normalsize} \\
      & \FontElement{paragraph}     & \Macro{normalsize} \\
      & \FontElement{subparagraph}  & \Macro{normalsize} \\[1ex]
    \OptionValue{headings}{small}
      & \FontElement{part}          & \Macro{LARGE} \\
      & \FontElement{partnumber}    & \Macro{LARGE} \\
      & \FontElement{chapter}       & \Macro{Large} \\
      & \FontElement{section}       & \Macro{large} \\
      & \FontElement{subsection}    & \Macro{normalsize} \\
      & \FontElement{subsubsection} & \Macro{normalsize} \\
      & \FontElement{paragraph}     & \Macro{normalsize} \\
      & \FontElement{subparagraph}  & \Macro{normalsize}\\
    \bottomrule
  \end{tabular}
  \label{tab:maincls.structureElementsFont}
\end{table}

\begin{Example}
  Suppose you are using the class option \OptionValue{headings}{big} and
  notice that the very big headings of document parts are too
  bold. You could change this as follows:
\begin{lstlisting}
  \setkomafont{disposition}{\normalcolor\sffamily}
  \part{Appendices}
  \addtokomafont{disposition}{\bfseries}
\end{lstlisting}
Using the command above you only switch off the font attribute
\textbf{bold} for a heading ``Appendices''. A much more comfortable
and elegant solution is to change all \Macro{part} headings at once.
This is done either by:
\begin{lstlisting}
  \addtokomafont{part}{\normalfont\sffamily}
  \addtokomafont{partnumber}{\normalfont\sffamily}
\end{lstlisting}
  or simply using:
\begin{lstlisting}
  \addtokomafont{part}{\mdseries}
  \addtokomafont{partnumber}{\mdseries}
\end{lstlisting}
The last version is to be preferred because it gives you the correct
result even when you make changes to the \FontElement{disposition}
element\IndexFontElement{disposition}, for instance:
\begin{lstlisting}
  \setkomafont{disposition}{\normalcolor\bfseries}
\end{lstlisting}
  With this change it is possible to set all section levels at once to no
  longer use sans serif fonts.
\end{Example}

Please be warned of misusing the possibilities of font switching to
mix fonts, font sizes and font attributes excessively. Picking the
most suitable font for a given task is a hard task even for
professionals and has almost nothing to do with the personal tastes of
non-experts. Please refer to the citation at the end of
\autoref{sec:typearea.tips}, \autopageref{sec:typearea.tips.cite} and
to the following explanation.

\begin{Explain}
  It is possible to use different font types for different section
  levels in {\KOMAScript}. Non-experts in typography should for very
  good typographical reasons refrain absolutely from using these
  possibilities.

  There is a rule in typography which states that one should mix as
  few fonts as possible. Using sans serif for headings already seems
  to be a breach of this rule. However, one should know that bold,
  large serif letters are much to heavy for headings. Strictly
  speaking, one would then have to at least use a normal instead of a
  bold or semi bold font. However, in deeper levels of the structuring
  a normal font may then appear too lightly weighted. On the other
  hand, sans serif fonts in headings have a very pleasant appearance
  and in fact find acceptance almost solely for headings. That is why
  sans serif is the carefully chosen default in {\KOMAScript}.

  More variety should however be avoided. Font mixing is only for
  professionals. In case you want to use other fonts than the standard
  {\TeX} fonts\,---\,regardless of whether these are CM \Index{CM
    fonts}, EC \Index{EC fonts} or LM fonts \Index{LM fonts}\,---\,you
  should consult an expert, or for safety's sake redefine the font for
  the element \FontElement{disposition}\IndexFontElement{disposition}
  as seen in the example above. The author of this documentation
  considers the commonly encountered combinations Times and Helvetica
  or Palatino with Helvetica as unfavourable.
\end{Explain}
\EndIndex[indexother]{}{font}%
\EndIndex[indexother]{}{font>size}%
%
\EndIndex{Cmd}{part}%
\EndIndex{Cmd}{chapter}%
\EndIndex{Cmd}{section}%
\EndIndex{Cmd}{subsection}%
\EndIndex{Cmd}{subsubsection}%
\EndIndex{Cmd}{paragraph}%
\EndIndex{Cmd}{subparagraph}%


\begin{Declaration}
  \Macro{part*}\Parameter{Heading}\\
  \Macro{chapter*}\Parameter{Heading}\\
  \Macro{section*}\Parameter{Heading}\\
  \Macro{subsection*}\Parameter{Heading}\\
  \Macro{subsubsection*}\Parameter{Heading}\\
  \Macro{paragraph*}\Parameter{Heading}\\
  \Macro{subparagraph*}\Parameter{Heading}
\end{Declaration}%
\BeginIndex{Cmd}{part*}%
\BeginIndex{Cmd}{chapter*}%
\BeginIndex{Cmd}{section*}%
\BeginIndex{Cmd}{subsection*}%
\BeginIndex{Cmd}{subsubsection*}%
\BeginIndex{Cmd}{paragraph*}%
\BeginIndex{Cmd}{subparagraph*}%
All disposition commands have starred versions, which are
unnumbered\Index{numbering}, and produce section headings which do not
show up in the table of contents\Index{table>of contents}\Index{contents>table
  of} or in in the
running heading\Index{header}. The absence of a running heading often
has an unwanted side effect. For example, if a chapter which is set
using \Macro{chapter*} spans several pages, then the running heading
of the previous chapter suddenly reappears. {\KOMAScript} offers a
solution for this which is described
below. \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}\Macro{chapter*}
only exists in book and report classes, that is, \Class{book},
\Class{scrbook}, \Class{report} and \Class{scrreport}, but not the
article classes \Class{article} and \Class{scrartcl}.

Please note that \Macro{part} and \Macro{chapter} change the page
style for one page. The applied style is defined in the macros
\Macro{partpagestyle} and \Macro{chapterpagestyle} in {\KOMAScript}
(see \autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.titlepagestyle}).

As for the possibilities of font switching\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}, %
the same explanations apply as were given above for the unstarred
variants. The structuring elements are named the same since they do
not indicate variants but structuring levels.
%
\EndIndex{Cmd}{part*}%
\EndIndex{Cmd}{chapter*}%
\EndIndex{Cmd}{section*}%
\EndIndex{Cmd}{subsection*}%
\EndIndex{Cmd}{subsubsection*}%
\EndIndex{Cmd}{paragraph*}%
\EndIndex{Cmd}{subparagraph*}%

\iffalse In the standard classes there are no further structuring
commands. In particular, there are no commands which can produce
unnumbered chapters or sections which show up in the table of contents
and in the running heading. \fi

\begin{Declaration}
  \Macro{addpart}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{addpart*}\Parameter{Heading}\\
  \Macro{addchap}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{addchap*}\Parameter{Heading}\\
  \Macro{addsec}\OParameter{Short version}\Parameter{Heading}\\
  \Macro{addsec*}\Parameter{Heading}
\end{Declaration}%
\BeginIndex{Cmd}{addpart}%
\BeginIndex{Cmd}{addpart*}%
\BeginIndex{Cmd}{addchap}%
\BeginIndex{Cmd}{addchap*}%
\BeginIndex{Cmd}{addsec}%
\BeginIndex{Cmd}{addsec*}%
In addition to the commands of the standard classes {\KOMAScript}
offers the new commands \Macro{addsec} and \Macro{addchap}. They are
similar to the standard commands \Macro{chapter} and
\Macro{section} except that they are unnumbered. They thus produce
both a running heading and an entry in the table of contents. The
starred variants \Macro{addchap*} and \Macro{addsec*} are similar to
the standard commands \Macro{chapter*} and \Macro{section*} except for
a tiny but important difference: The running headings are
deleted. This eliminates the side effect of obsolete headers mentioned
above. Instead, the running headings on following pages remain
empty. \OnlyAt{\Class{scrartcl}}\Macro{addchap} and \Macro{addchap*}
of course only exist in book and report classes, namely \Class{book},
\Class{scrbook}, \Class{report} and \Class{scrreport}, but not in the
article classes \Class{article} and \Class{scrartcl}.

Similarly, the command \Macro{addpart} produces an unnumbered document
part with an entry in the table of contents. Since the running
headings are already deleted by \Macro{part} and \Macro{part*} the
problem of obsolete headers does not exist. The starred version
\Macro{addpart*} is thus identical to \Macro{part*} and is only
defined for consistency reasons.

Please note that \Macro{addpart} and \Macro{addchap} and their starred
versions change the page style for one page. The particular page style
is defined in the macros \Macro{partpagestyle} and
\Macro{chapterpagestyle} (see \autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.titlepagestyle}).

As for the possibilities of font switching\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}, %
the same explanations apply as given above for the normal structuring
commands. The elements are named the same since they describe not
variants but structuring levels.
%
\EndIndex{Cmd}{addpart}%
\EndIndex{Cmd}{addpart*}%
\EndIndex{Cmd}{addchap}%
\EndIndex{Cmd}{addchap*}%
\EndIndex{Cmd}{addsec}%
\EndIndex{Cmd}{addsec*}%


\begin{Declaration}
  \Macro{minisec}\Parameter{Heading}
\end{Declaration}%
\BeginIndex{Cmd}{minisec}%
Sometimes a heading\Index{heading} is wanted which is highlighted but
also closely linked to the following text. Such a heading should not
be separated by a large vertical skip.

The command \Macro{minisec} is designed for this situation. This
heading is not associated with any structuring level. Such a
\emph{mini section} does not produce an entry in the table of contents
nor does it receive any numbering.
\begin{Example}
  You have developed a kit for building a mouse trap and want the
  documentation separated into a list of necessary items and an
  assembly description. You could write the following:
\begin{lstlisting}
  \minisec{Items needed}

  \begin{flushleft}
    1 plank ($100\times 50 \times 12$)\\
    1 spring-plug of a beer-bottle\\
    1 spring of a ball-point pen\\
    1 drawing pin\\
    2 screws\\
    1 hammer\\
    1 knife
  \end{flushleft}

  \minisec{Assembly}
  At first one searches the mouse-hole and puts the drawing pin
  directly behind the hole.  Thus the mouse cannot escape during the
  following actions.

  Then one knocks the spring-plug with the hammer into the mouse-hole.
  If the spring-plug's size is not big enough in order to shut the
  mouse-hole entirely, then one can utilize the plank instead and
  fasten it against the front of the mouse-hole utilizing the two
  screws and the knife.  Instead of the knife one can use a
  screw-driver instead.
\end{lstlisting}
  Which gives:
  \begin{ShowOutput}[\baselineskip]\setlength{\parindent}{1em}
    \minisec{Items needed}

  \begin{flushleft}
    1 plank ($100\times 50 \times 12$)\\
    1 spring-plug of a beer-bottle\\
    1 spring of a ball-point pen\\
    1 drawing pin\\
    2 screws\\
    1 hammer\\
    1 knife
  \end{flushleft}

    \minisec{Assembly}
    At first one searches the mouse-hole and puts the drawing pin
    directly behind the hole.  Thus the mouse cannot escape during the
    following actions.

    Then one knocks the spring-plug with the hammer into the
    mouse-hole.  If the spring-plug's size is not big enough in order
    to shut the mouse-hole entirely, then one can utilize the plank
    instead and fasten it against the front of the mouse-hole
    utilizing the two screws and the knife.  Instead of the knife one
    can use a screw-driver instead.
  \end{ShowOutput}
\end{Example}

The font type of the structuring command \Macro{minisec} be changed
using the element
\FontElement{disposition}\IndexFontElement{disposition} (see
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}) and
\FontElement{minisec}\ChangedAt{2.96a}{%
  \Class{scrbook} \and\Class{scrreprt} \and\Class{scrartcl}}. Default
setting of element \FontElement{minisec} is empty, so the default of
the element \FontElement{disposition} is active.
%
\EndIndex{Cmd}{minisec}%


\begin{Declaration}
  \Macro{raggedsection}
\end{Declaration}%
\BeginIndex{Cmd}{raggedsection}%
In the standard classes headings are set as justified text. That means
that hyphenated words can occur and headings with more than one line
are stretched up to the text border. This is a rather uncommon
approach in typography. {\KOMAScript} therefore formats the headings
left aligned with hanging indentation using \Macro{raggedsection} with
the definition:
\begin{lstlisting}
  \newcommand*{\raggedsection}{\raggedright}
\end{lstlisting}
This command can be redefined with \Macro{renewcommand}.
\begin{Example}
  You prefer justified headings, so you write in the preamble of your document:
\begin{lstlisting}
  \renewcommand*{\raggedsection}{}
\end{lstlisting}
  or more compactly:
\begin{lstlisting}
  \let\raggedsection\relax
\end{lstlisting}
You will get a formatting of the headings which is very close to that
of the standard classes. It will become even closer when you combine
this change with the change of the element
\FontElement{disposition}\IndexFontElement{disposition} mentioned
above.
\end{Example}
%
\EndIndex{Cmd}{raggedsection}%


\begin{Explain}%
\begin{Declaration}
  \Macro{partformat}\\
  \Macro{chapterformat}\\
  \Macro{othersectionlevelsformat}\Parameter{section name}\\
  \Macro{autodot}
\end{Declaration}%
\BeginIndex{Cmd}{partformat}%
\BeginIndex{Cmd}{chapterformat}%
\BeginIndex{Cmd}{othersectionlevelsformat}%
\BeginIndex{Cmd}{autodot}%
As you might know, for every counter in {\LaTeX} there is a command
\Macro{the}\PName{countername}, which outputs the value of the
counter. Depending on the class the counter for a particular level
starting from \Macro{section} (\Class{book}, \Class{scrbook},
\Class{report}, \Class{scrreprt}) or \Macro{subsection}
(\Class{article}, \Class{scrartcl}) is composed of the counter for the
next higher level followed by a dot and the Arabic number of the
\PName{countername} of the respective level.\par
\end{Explain}

{\KOMAScript} has added a further logical level to the output of the
section number. The counters for the respective heading are not merely
output. They are formatted using the commands \Macro{partformat},
\Macro{chapterformat} and \Macro{othersectionlevelsformat}.
\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Of course the command
\Macro{chapterformat} like \Macro{thechapter} does not exist in the
class \Class{scrartcl} but only in the classes \Class{scrbook} and
\Class{scrreprt}.

As described in \autoref{sec:maincls.formattingOptions},
\autopageref{desc:maincls.option.numbers}, dots in section
numbers should be handled for the German-speaking region according to
the rules given in \cite{DUDEN}. The command \Macro{autodot} in
{\KOMAScript} ensures that these rules are being followed. In all
levels except for \Macro{part} a dot is followed by a further
\Macro{enskip}. This corresponds to a horizontal skip of
0.5\Unit{em}.

The command \Macro{othersectionlevelsformat} takes as a parameter the
name of the section level, such as ``\PName{section}'',
``\PName{subsection}'' \dots{} Per default therefore, only the levels
\Macro{part} and \Macro{chapter} have formatting commands of their
own, while all other section levels are covered by one general
formatting command. This has historical reasons. At the time that
Werner Lemberg suggested a suitable extension of {\KOMAScript} for his
\Package{CJK} package, only this differentiation was needed.

The formatting commands can be redefined using \Macro{renewcommand} to
fit them to your personal needs. The following original definitions
are used by the {\KOMAScript} classes:
\begin{lstlisting}
  \newcommand*{\partformat}{\partname~\thepart\autodot}
  \newcommand*{\chapterformat}{%
    \chapappifchapterprefix{\ }\thechapter\autodot\enskip}
  \newcommand*{\othersectionlevelsformat}[1]{%
    \csname the#1\endcsname\autodot\enskip}
\end{lstlisting}

\begin{Example}
  Assume that when using \Macro{part} you do not want the word
  ``Part'' written in front of the part number.  You could use the
  following command in the preamble of your document:
\begin{lstlisting}
  \renewcommand*{\partformat}{\thepart\autodot}
\end{lstlisting}
Strictly speaking, you could do without \Macro{autodot} at this point
and insert a fixed dot instead. As \Macro{part} is numbered with roman
numerals, according to \cite{DUDEN} a dot has to be applied. However,
you thereby give up the possibility to use one of the options
\OptionValue{numbers}{enddot} and \OptionValue{numbers}{noenddot} and optionally
depart from the rules. More details concerning class options can be
found in \autoref{sec:maincls.formattingOptions},
\autopageref{desc:maincls.option.numbers}.
  
An additional possibility could be to place the section numbers in the
left margin in such a way that the heading text is left aligned with
the surrounding text.  This can be accomplished with:
\begin{lstlisting}
  \renewcommand*{\othersectionlevelsformat}[1]{%
      \llap{\csname the#1\endcsname\autodot\enskip}}
\end{lstlisting}
The little known {\TeX} command \Macro{llap} in the definition above
puts its argument left of the current position without changing the
position thereby. A much better {\LaTeX} solution would be:
\begin{lstlisting}
  \renewcommand*{\othersectionlevelsformat}[1]{%
    \makebox[0pt][r]{%
      \csname the#1\endcsname\autodot\enskip}}
\end{lstlisting}
  See \cite{latex:usrguide} for more information about the optional arguments
  of \Macro{makebox}.
\end{Example}
%
\EndIndex{Cmd}{partformat}%
\EndIndex{Cmd}{chapterformat}%
\EndIndex{Cmd}{othersectionlevelsformat}%
\EndIndex{Cmd}{autodot}%


\begin{Declaration}
  \Macro{chapappifchapterprefix}\Parameter{additional text}\\
  \Macro{chapapp}
\end{Declaration}%
\BeginIndex{Cmd}{chapappifchapterprefix}%
\BeginIndex{Cmd}{chapapp}%
These\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}%
\ChangedAt{v2.8o}{\Class{scrbook}\and\Class{scrreprt}} two commands
are not only used internally by {\KOMAScript} but are also provided to
the user. Later it will be shown how they can be used for example to
redefine other commands. Using the layout option
\Option{chapterprefix} (see \autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.chapterprefix})
\Macro{chapappifchapterprefix} outputs the word
``Chapter''\Index{chapter} in the main part of the document in the
current language, followed by \PName{additional text}. In the
appendix\Index{appendix}, the word ``Appendix'' in the current
language is output instead, followed by \PName{additional text}. If the
option \OptionValue{chapterprefix}{false} is set, then nothing is output.

The command \Macro{chapapp} always outputs the word ``Chapter'' or
``Appendix''.  In this case the options \Option{chapterprefix} and
\OptionValue{chapterprefix}{false} have no effect.

Since chapters only exist in the classes \Class{scrbook} and
\Class{scrreprt} these commands only exist in these classes.
%
\EndIndex{Cmd}{chapappifchapterprefix}%
\EndIndex{Cmd}{chapapp}%


\begin{Declaration}
  \Macro{chaptermark}\Parameter{Running heading}\\
  \Macro{sectionmark}\Parameter{Running heading}\\
  \Macro{subsectionmark}\Parameter{Running heading}\\
  \Macro{chaptermarkformat}\\
  \Macro{sectionmarkformat}\\
  \Macro{subsectionmarkformat}
\end{Declaration}%
\BeginIndex{Cmd}{chaptermark}%
\BeginIndex{Cmd}{sectionmark}%
\BeginIndex{Cmd}{subsectionmark}%
\BeginIndex{Cmd}{chaptermarkformat}%
\BeginIndex{Cmd}{sectionmarkformat}%
\BeginIndex{Cmd}{subsectionmarkformat}%
\begin{Explain}%
  As mentioned in \autoref{sec:maincls.pageStyle} the page style
  \PValue{headings} works with automatic running
  headings\Index{running heading}. For this, the commands
  \Macro{chaptermark} and \Macro{sectionmark}, or \Macro{sectionmark}
  and \Macro{subsectionmark}, respectively, are defined. Every
  structuring command (\Macro{chapter}, \Macro{section} \dots)
  automatically carries out the respective \Macro{\dots mark} command.
  The parameter passed contains the text of the section
  heading\Index{heading}. The respective section number is added
  automatically in the \Macro{\dots mark} command. The formatting is
  done according to the section level with one of the three commands
  \Macro{chaptermarkformat}, \Macro{sectionmarkformat} or
  \Macro{subsectionmarkformat}.
  \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}Of course there is no
  command \Macro{chaptermark} or \Macro{chaptermarkformat} in
  \Class{scrartcl}. \OnlyAt{\Class{scrartcl}}Accordingly,
  \Macro{subsectionmark} and \Macro{subsectionmarkformat} exist only
  in \Class{scrartcl}. This changes when you use the
  \Package{scrpage2} package (see \autoref{cha:scrpage}).\par
\end{Explain}
Similar to \Macro{chapterformat} and \Macro{othersectionlevelsformat},
the commands \Macro{chaptermarkformat} (not in \Class{scrartcl}),
\Macro{sectionmarkformat} and \Macro{subsectionmarkformat} (only in
\Class{scrartcl}) define the formatting of the sectioning numbers in
the automatic running headings. They can be adapted to your personal
needs with \Macro{renewcommand}. The original definitions for the
{\KOMAScript} classes are:
\begin{lstlisting}
  \newcommand*{\chaptermarkformat}{%
    \chapappifchapterprefix{\ }\thechapter\autodot\enskip}
  \newcommand*{\sectionmarkformat}{\thesection\autodot\enskip}
  \newcommand*{\subsectionmarkformat}{%
    \thesubsection\autodot\enskip}
\end{lstlisting}
\begin{Example}
  Suppose you want to prepend the word ``Chapter'' to the chapter
  number in the running heading. For example you could insert the
  following definition in the preamble of your document :
\begin{lstlisting}
  \renewcommand*{\chaptermarkformat}{%
    \chapapp~\thechapter\autodot\enskip}
\end{lstlisting}
\end{Example}
As you can see, both the commands \Macro{chapappifchapterprefix} and
\Macro{chapapp} explained above are used here.
%
\EndIndex{Cmd}{chaptermark}%
\EndIndex{Cmd}{sectionmark}%
\EndIndex{Cmd}{subsectionmark}%
\EndIndex{Cmd}{chaptermarkformat}%
\EndIndex{Cmd}{sectionmarkformat}%
\EndIndex{Cmd}{subsectionmarkformat}%


\begin{Declaration}
  \Counter{secnumdepth}
\end{Declaration}%
\BeginIndex{Counter}{secnumdepth}\BeginIndex{}{numbering}%
Per default, in the classes \Class{scrbook}\IndexClass{scrbook} and
\Class{scrreprt}\IndexClass{scrreprt} the section levels from
\Macro{part}\IndexCmd{part}\IndexCmd{chapter}\IndexCmd{section} down
to \Macro{subsection}\IndexCmd{subsection} and in the class
\Class{scrartcl}\IndexClass{scrartcl} the levels from \Macro{part}
down to \Macro{subsubsection}\IndexCmd{subsubsection} are numbered.
This is controlled by the {\LaTeX} counter \Counter{secnumdepth}. The
value \(-\)1 represents \Macro{part}, 0 the level \Macro{chapter},
and so on. By defining, incrementing or decrementing this counter you
can determine down to which level the headings are numbered. The same
applies in the standard classes. Please refer also to the explanation
concerning the counter \Counter{tocdepth} in
\autoref{sec:maincls.toc},
\autopageref{desc:maincls.counter.tocdepth}.
%
\EndIndex{Counter}{secnumdepth}\EndIndex{}{numbering}


\begin{Declaration}
  \Macro{setpartpreamble}%
  \OParameter{position}\OParameter{width}\Parameter{preamble}\\
  \Macro{setchapterpreamble}%
  \OParameter{position}\OParameter{width}\Parameter{preamble}
\end{Declaration}%
\BeginIndex{Cmd}{setpartpreamble}%
\BeginIndex{Cmd}{setchapterpreamble}%
Parts\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} and chapters in
{\KOMAScript} can be started with a \PName{preamble}. This is
particularly useful when you are using a two column layout with the
class option \Option{twocolumn}\IndexOption{twocolumn}, since the
heading together with the \PName{preamble} is always set in a one
column layout.  The \PName{preamble} can comprise more than one
paragraph. The command to output the \PName{preamble} has to be placed
before the respective \Macro{part}, \Macro{addpart}, \Macro{chapter}
or \Macro{addchap} command.
\begin{Example}
  You are writing a report about the condition of a company. You
  organize the report in such a way that every department gets its own
  partial report.  Every one of these parts should be introduced by an
  abstract on the corresponding title page. You could write the
  following:
\begin{lstlisting}
  \setpartpreamble{%
    \begin{abstract}
      This is a filler text. It serves merely to demonstrate the
      capabilities of {\KOMAScript}. If you read this text, you will
      get no information.
    \end{abstract}
  }
  \part{Department for Word Processing}
\end{lstlisting}
Depending on the settings for the heading font size\Index{heading}
(see \autoref{sec:maincls.fontOptions},
\autopageref{desc:maincls.option.headings}) and the options for
the \Environment{abstract} environment\IndexEnv{abstract} (see
\autoref{sec:maincls.formattingOptions},
\autopageref{desc:maincls.option.abstract}), the result would look
similar to:
  \begin{ShowOutput}\centering
    {\LARGE\usekomafont{disposition} Part III.\par\vspace{20pt}}
    {\LARGE\usekomafont{disposition} Department for Word Processing\strut\par}
    \begin{quote}\small
      \vspace{3ex}
      \begin{center}
        \usekomafont{disposition}\abstractname
      \end{center}
      \vspace{2ex}       
      This is a filler text. It serves merely to demonstrate the
      capabilities of {\KOMAScript}. If you read this text, you will
      get no information.
    \end{quote}
  \end{ShowOutput}
\end{Example}
Please note that it is \emph{you} who is responsible for the spaces
between the heading, preamble and the following text. Please note also
that there is no \Environment{abstract} environment in the class
\Class{scrbook} (see \autoref{sec:maincls.titles},
\autopageref{desc:maincls.env.abstract}).

The\ChangedAt{v2.8p}{\Class{scrbook}\and\Class{scrreprt}} first
optional argument \PName{position} determines the position at which
the preamble is placed with the help of one or two letters. For the
vertical placement there are two possibilities at present:
\begin{description}
\item [\quad\texttt{o}:] above the heading
\item [\quad\texttt{u}:] below the heading
\end{description}
You can insert one preamble above and another below a heading. For the
horizontal placement you have the choice between three alignments:
\begin{description}
\item [\quad\texttt{l}:] left-aligned
\item [\quad\texttt{r}:] right-aligned
\item [\quad\texttt{c}:] centered
\end{description}
However, this does not output the text of the \PName{preamble} in such
a manner, but inserts a box whose width is determined by the second
optional argument \PName{width}. If you leave out this second argument
the whole text width is used. In that case the option for horizontal
positioning will have no effect. You can combine exactly one letter
from the vertical with one letter from the horizontal positioning.
%
\EndIndex{Cmd}{setpartpreamble}%
\EndIndex{Cmd}{setchapterpreamble}%


\begin{Declaration}
  \Macro{dictum}\OParameter{author}\Parameter{dictum}\\
  \Macro{dictumwidth}\\
  \Macro{dictumauthorformat}\Parameter{author}\\
  \Macro{raggeddictum}\\
  \Macro{raggeddictumtext}\\
  \Macro{raggeddictumauthor}
\end{Declaration}%
\BeginIndex{Cmd}{dictum}%
\BeginIndex{Cmd}{dictumwidth}%
\BeginIndex{Cmd}{dictumauthorformat}%
\BeginIndex{Cmd}{raggeddictum}%
\BeginIndex{Cmd}{raggeddictumtext}%
\BeginIndex{Cmd}{raggeddictumauthor}%
Apart\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}%
\ChangedAt{v2.8q}{\Class{scrbook}\and\Class{scrreprt}} from an
introductory paragraph you can use \Macro{setpartpreamble} or
\Macro{setchapterpreamble} for a kind of
\PName{aphorism}\Index{aphorism} (also known as ``dictum'') at the
beginning of a chapter or section. The command \Macro{dictum} inserts
such an aphorism. This macro can be used as obligatory argument of
either the command \Macro{setchapterpreamble} or
\Macro{setpartpreamble}. However, this is not obligatory.

The dictum together with an optional \PName{author} is inserted in a
\Macro{parbox}\IndexCmd{parbox} (see \cite{latex:usrguide}) of width
\Macro{dictumwidth}. Yet \Macro{dictumwidth} is not a length which can
be set with \Macro{setlength}. It is a macro that can be redefined
using \Macro{renewcommand}. Default setting is
\verb;0.3333\textwidth;, which is a third of the textwidth. The box
itself is positioned with the command \Macro{raggeddictum}. Default
here is \Macro{raggedleft}\IndexCmd{raggedleft}, that is, right
justified.  The command \Macro{raggeddictum} can be redefined using
\Macro{renewcommand}.

Within the box the \PName{dictum} is set using
\Macro{raggeddictumtext}.  Default setting is
\Macro{raggedright}\IndexCmd{raggedright}, that is, left
justified. Similarly to \Macro{raggeddictum} this can be redefined
with \Macro{renewcommand}.  The output uses the default font setting
for the element \FontElement{dictumtext}, which can be changed with
the commands from \autoref{sec:maincls.font}. Default settings are
listed in \autoref{tab:maincls.dictumfont}.

If there is an \PName{author} name, it is separated from the
\PName{dictum} by a line the full width of the \Macro{parbox}. This is
defined by the macro \Macro{raggeddictumauthor}. Default is
\Macro{raggedleft}. This command can also be redefined using
\Macro{renewcommand}. The format of the output is defined with
\Macro{dictumauthorformat}. This macro expects the \Macro{author} as
argument. As default \Macro{dictumauthorformat} is defined as:
\begin{lstlisting}
  \newcommand*{\dictumauthorformat}[1]{(#1)}
\end{lstlisting}
Thus the \PName{author} is set enclosed in rounded parenthesis. For
the element \FontElement{dictumauthor} a different font than for the
element \FontElement{dictumtext} can be defined. Default settings are
listed in \autoref{tab:maincls.dictumfont}. Changes can be made using
the commands from \autoref{sec:maincls.font}.
%
\begin{table}
  \centering%
  \caption{Default settings for the elements of a dictum}
  \begin{tabular}{ll}
    \toprule
    Element & Default \\
    \midrule
    \FontElement{dictumtext} &
    \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}\Macro{small}\\
    \FontElement{dictumauthor} &
    \Macro{itshape}\\
    \bottomrule
  \end{tabular}
  \label{tab:maincls.dictumfont}
\end{table}
%
If \Macro{dictum} is used within the macro \Macro{setchapterpreamble}
or \Macro{setpartpreamble} you have to take care of the following: the
horizontal positioning is always done with \Macro{raggeddictum}.
Therefore, the optional argument for horizontal positioning which is
implemented for these two commands has no effect. \Macro{textwidth} is
not the width of the whole text corpus but the actually used text
width.  If \Macro{dictumwidth} is set to \verb;.5\textwidth; and
\Macro{setchapterpreamble} has an optional width of
\verb;.5\textwidth; too, you will get a box with a width one quarter
of the text width.  Therefore, if you use \Macro{dictum} it is
recommended to refrain from setting the optional width for
\Macro{setchapterpreamble} or \Macro{setpartpreamble}.

If you have more than one dictum one under another, you should
separate them by an additional vertical space, easily accomplished
using the command \Macro{bigskip}\IndexCmd{bigskip}.

\begin{Example}
  You are writing a chapter on an aspect of weather forecasting. You
  have come across an aphorism which you would like to place at the
  beginning of the chapter beneath the heading. You could write:
\begin{lstlisting}
  \setchapterpreamble[u]{%
    \dictum[Anonymous]{Forecasting is the art of saying
            what is going to happen and then to explain
            why it didn't.}}
  \chapter{Weather forecasting}
\end{lstlisting}
  The output would look as follows:
  \begin{ShowOutput}
    {\usekomafont{disposition}\usekomafont{chapter}%
      17\enskip Weather forecasting\par} \vspace{\baselineskip}
    \dictum[Anonymous]{Forecasting is the art of saying what is going to
    happen and then to explain why it didn't.}
  \end{ShowOutput}

  If you would rather the dictum span only a quarter of the text width
  rather than one third you can redefine \Macro{dictumwidth}:
\begin{lstlisting}
  \renewcommand*{\dictumwidth}{.25\textwidth}
\end{lstlisting}
\end{Example}

For a somewhat more sophisticated formatting of left- or right-aligned
paragraphs including hyphenation you can use the
package~\Package{ragged2e}~\cite{package:ragged2e}.
\EndIndex{Cmd}{dictum}%
\EndIndex{Cmd}{dictumwidth}%
\EndIndex{Cmd}{dictumauthorformat}%
\EndIndex{Cmd}{raggeddictum}%
\EndIndex{Cmd}{raggeddictumtext}%
\EndIndex{Cmd}{raggeddictumauthor}%


\subsection{Footnotes}
\label{sec:maincls.footnotes}

Footnotes are not limited to the main part of the document. However,
since footnotes\Index{footnotes} are mainly used in the main text they
are covered in this section.

\begin{Declaration}
  \Macro{footnote}\OParameter{number}\Parameter{text}\\
  \Macro{footnotemark}\OParameter{number}\\
  \Macro{footnotetext}\OParameter{number}\Parameter{text}
\end{Declaration}%
\BeginIndex{Cmd}{footnote}%
\BeginIndex{Cmd}{footnotemark}%
\BeginIndex{Cmd}{footnotetext}%
Similarly to the standard classes, footnotes in {\KOMAScript} are
produced with the \Macro{footnote} command, or alternatively the
pairwise usage of the commands \Macro{footnotemark} and
\Macro{footnotetext}.  As in the standard classes it is possible that
a page break occurs within a footnote. Normally this happens if the
footnote mark is placed so near the bottom of a page as to leave
{\LaTeX} no choice but to break the footnote onto the next page.
%
\EndIndex{Cmd}{footnote}%
\EndIndex{Cmd}{footnotemark}%
\EndIndex{Cmd}{footnotetext}%


\begin{Declaration}
  \Macro{deffootnote}\OParameter{mark width}\Parameter{indent}%
                     \Parameter{parindent}\Parameter{definition}\\
  \Macro{deffootnotemark}\Parameter{definition}\\
  \Macro{thefootnotemark}\\
  \Macro{textsuperscript}\Parameter{text}
\end{Declaration}%
\BeginIndex{Cmd}{deffootnote}%
\BeginIndex{Cmd}{deffootnotemark}%
\BeginIndex{Cmd}{thefootnotemark}%
\BeginIndex{Cmd}{textsuperscript}%
Footnotes are formatted slightly differently in {\KOMAScript} to in
the standard classes. As in the standard classes the footnote mark in
the text is depicted using a small superscripted number. The same
formatting is used in the footnote itself. The mark in the footnote is
type-set right-aligned in a box with width \PName{mark width}. The
first line of the footnote follows directly.

All following lines will be indented by the length of
\PName{indent}. If the optional parameter \PName{mark width} is not
specified, it defaults to \PName{indent}.  If the footnote consists of
more than one paragraph, then the first line of a paragraph is
indented, in addition to \PName{indent}, by the value of
\PName{parindent}.
\begin{figure}
\centering\setlength{\unitlength}{1mm}
\begin{picture}(100,22)
  \thinlines
  % frame of following paragraph
  \put(5,0){\line(1,0){90}}
  \put(5,0){\line(0,1){5}}
  \put(10,5){\line(0,1){5}}\put(5,5){\line(1,0){5}}
  \put(95,0){\line(0,1){10}}
  \put(10,10){\line(1,0){85}}
  % frame of first paragraph
  \put(5,11){\line(1,0){90}}
  \put(5,11){\line(0,1){5}}
  \put(15,16){\line(0,1){5}}\put(5,16){\line(1,0){10}}
  \put(95,11){\line(0,1){10}}
  \put(15,21){\line(1,0){80}}
  % box of the footnote mark
  \put(0,16.5){\framebox(14.5,4.5){\mbox{}}}
  % description of paragraphs
  \put(45,16){\makebox(0,0)[l]{\textsf{first paragraph of a footnote}}}
  \put(45,5){\makebox(0,0)[l]{\textsf{next paragraph of a footnote}}}
  % help lines
  \thicklines
  \multiput(0,0)(0,3){7}{\line(0,1){2}}
  \multiput(5,0)(0,3){3}{\line(0,1){2}}
  % parameters
  \put(2,7){\vector(1,0){3}}
    \put(5,7){\line(1,0){5}}
    \put(15,7){\vector(-1,0){5}}
    \put(15,7){\makebox(0,0)[l]{\small\PName{parindent}}}
  %
  \put(-3,13){\vector(1,0){3}}
    \put(0,13){\line(1,0){5}}
    \put(10,13){\vector(-1,0){5}}
    \put(10,13){\makebox(0,0)[l]{\small\PName{indent}}}
  %
  \put(-3,19){\vector(1,0){3}}
    \put(0,19){\line(1,0){14.5}}
    \put(19.5,19){\vector(-1,0){5}}
    \put(19.5,19){\makebox(0,0)[l]{\small\PName{mark width}}}
\end{picture}
\caption{Parameters that control the footnote layout}
\label{fig:maincls.deffootnote}
\end{figure}

Figure \ref{fig:maincls.deffootnote} illustrates the layout parameters
once more. The default configuration of {\KOMAScript} is:
\begin{lstlisting}
  \deffootnote[1em]{1.5em}{1em}
    {\textsuperscript{\thefootnotemark}}
\end{lstlisting}
\Macro{textsuperscript} controls both the superscript and the smaller
font size. \Macro{thefootnotemark} is the current footnote mark
without any formatting.

The\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} font
element \FontElement{footnote}\IndexFontElement{footnote} determines
the font of the footnote including the footnote mark. Using the
element \FontElement{footnotelabel}\IndexFontElement{footnotelabel}
the font of the footnote mark can be changed separately with the
commands mentioned in \autoref{sec:maincls.font} Please refer also to
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}. Default setting is no
change in the font.

The footnote mark in the text is defined separately from the mark in
front of the actual footnote. This is done with
\Macro{deffootnotemark}. Default setting is:
\begin{lstlisting}
  \deffootnotemark{%
    \textsuperscript{\thefootnotemark}}
\end{lstlisting}
In the above\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} the font
for the element
\FontElement{footnotereference}\IndexFontElement{footnotereference} is
applied (see \autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}). Thus the footnote
marks in the text and in the footnote itself are identical. The font
can be changed with the commands described in
\autoref{sec:maincls.font}.

\begin{Example}
  A feature often asked for is footnote marks which are neither in
  superscript nor in a smaller font size. They should not touch the
  footnote text but be separated by a small space. This can be
  accomplished as follows:
\begin{lstlisting}
  \deffootnote{1em}{1em}{\thefootnotemark\ }
\end{lstlisting}
The footnote mark and the following space are therefore set
right-aligned into a box of width 1\Unit{em}. The following lines of
the footnote text are also indented by 1\Unit{em} from the left
margin.
 
Another often requested footnote layout is left-aligned footnote
marks. These can be obtained with:
\begin{lstlisting}
  \deffootnote{1.5em}{1em}{%
      \makebox[1.5em][l]{\thefootnotemark}}
\end{lstlisting}
  
If you want however only to change the font for all footnotes, for
example to sans serif, you can solve this problem simply by using the
commands from \autoref{sec:maincls.fontOptions}:
\begin{lstlisting}
  \setkomafont{footnote}{\sffamily}
\end{lstlisting}
\end{Example}
As demonstrated with the examples above, the simple user interface of
{\KOMAScript} provides a great variety of different footnote
formattings.
%
\EndIndex{Cmd}{deffootnote}%
\EndIndex{Cmd}{deffootnotemark}%
\EndIndex{Cmd}{thefootnotemark}%
\EndIndex{Cmd}{textsuperscript}%


\subsection{Lists}
\label{sec:maincls.lists} \BeginIndex[indexother]{}{lists}

Both {\LaTeX} and the standard classes offer different environments
for lists. Though slightly changed or extended all these list are of
course offered in {\KOMAScript} as well. In general all
lists\,---\,even of different kind\,---\,can be nested up to four
levels. From a typographical view, anything more would make no sense,
as more than three levels can no longer be easily perceived. The
recommended procedure in such a case is to split the large list into
several smaller ones.

\begin{Declaration}
  \Environment{itemize}\\
  \Macro{item}\\
  \Macro{labelitemi}\\
  \Macro{labelitemii}\\
  \Macro{labelitemiii}\\
  \Macro{labelitemiv}
\end{Declaration}%
\BeginIndex{Env}{itemize}%
\BeginIndex{Cmd}{item}%
\BeginIndex{Cmd}{labelitemi}%
\BeginIndex{Cmd}{labelitemii}%
\BeginIndex{Cmd}{labelitemiii}%
\BeginIndex{Cmd}{labelitemiv}%
The simplest form of a list is an \Environment{itemize} list. The
users of a certain disliked word processing package often refer to
this form of a list as \emph{bulletpoints}.  Presumably, these users
are unable to envisage that, depending on the level, a different
symbol from a large dot could be used to introduce each
point. Depending on the level, {\KOMAScript} uses the following marks:
``{\labelitemi}'', ``{\labelitemii}'', ``{\labelitemiii}'' and
``{\labelitemiv}''. The definition of these symbols is specified in
the macros \Macro{labelitemi}, \Macro{labelitemii},
\Macro{labelitemiii} and \Macro{labelitemiv}, all of which can be
redefined using \Macro{renewcommand}. Every item is introduced with
\Macro{item}.
\begin{Example}
  You have a simple list which is nested in several levels. You write
  for example:
\begin{lstlisting}
  \minisec{Vehicles}
  \begin{itemize}
    \item aeroplanes
    \begin{itemize}
      \item biplane
      \item jets
      \item transport planes
      \begin{itemize}
        \item single-engined
        \begin{itemize}
          \item jet-driven
          \item propeller-driven
        \end{itemize}
        \item multi-engined
      \end{itemize}
      \item helicopters
    \end{itemize}
    \item automobiles
    \begin{itemize}
      \item racing cars
      \item private cars
      \item lorries
    \end{itemize}
    \item bicycles
  \end{itemize}
\end{lstlisting}
  As output you get:
  \begin{ShowOutput}[\baselineskip]
  \minisec{Vehicles}
  \begin{itemize}
    \item aeroplanes
    \begin{itemize}
      \item biplanes
      \item jets
      \item transport planes
      \begin{itemize}
        \item single-engined
        \begin{itemize}
          \item jet-driven
          \item propeller-driven
        \end{itemize}
        \item multi-engined
      \end{itemize}
      \item helicopters
    \end{itemize}
%% wahrsheinlich Platzfiller in Deutscher Ausgabe?
%    \item motorcycles
%    \begin{itemize}
%      \item historically accurate
%      \item futuristic, not real
%    \end{itemize}
    \item automobiles
    \begin{itemize}
      \item racing cars
      \item private cars
      \item lorries
    \end{itemize}
    \item bicycles
  \end{itemize}
  \end{ShowOutput}
\end{Example}
%
\EndIndex{Env}{itemize}%
\EndIndex{Cmd}{item}%
\EndIndex{Cmd}{labelitemi}%
\EndIndex{Cmd}{labelitemii}%
\EndIndex{Cmd}{labelitemiii}%
\EndIndex{Cmd}{labelitemiv}%


\begin{Declaration}
  \Environment{enumerate}\\
  \XMacro{item}\\
  \Macro{theenumi}\\
  \Macro{theenumii}\\
  \Macro{theenumiii}\\
  \Macro{theenumiv}\\
  \Macro{labelenumi}\\
  \Macro{labelenumii}\\
  \Macro{labelenumiii}\\
  \Macro{labelenumiv}
\end{Declaration}%
\BeginIndex{Env}{enumerate}%
\BeginIndex{Cmd}{item}%
\BeginIndex{Cmd}{theenumi}%
\BeginIndex{Cmd}{theenumii}%
\BeginIndex{Cmd}{theenumiii}%
\BeginIndex{Cmd}{theenumiv}%
\BeginIndex{Cmd}{labelenumi}%
\BeginIndex{Cmd}{labelenumii}%
\BeginIndex{Cmd}{labelenumiii}%
\BeginIndex{Cmd}{labelenumiv}%
Another form of a list often used is a numbered list which is already
implemented by the {\LaTeX} kernel. Depending on the level, the
numbering\Index{numbering} uses the following characters: Arabic
numbers, small letters, small roman numerals and capital letters. The
kind of numbering is defined with the macros \Macro{theenumi} down to
\Macro{theenumiv}. The output format is determined by the macros
\Macro{labelenumi} to \Macro{labelenumiv}. While the small letter of
the second level is followed by a round parenthesis, the values of all
other levels are followed by a dot. Every item is introduced with
\Macro{item}.
\begin{Example}
  Replacing every occurrence of an \Environment{itemize} environment
  with an \Environment{enumerate} environment in the example above we
  get the following result:
  \begin{ShowOutput}[\baselineskip]
  \minisec{Vehicles}
  \begin{enumerate}
    \item aeroplanes
    \begin{enumerate}
      \item biplanes
      \item jets
      \item transport planes
      \begin{enumerate}
        \item single-engined
        \begin{enumerate}
          \item jet-driven\label{xmp:maincls.jets}
          \item propeller-driven
        \end{enumerate}
        \item multi-engined
      \end{enumerate}
      \item helicopters
    \end{enumerate}
%% wahrsheinlich Platzfiller in Deutscher Ausgabe?
%    \item motorcycles
%    \begin{enumerate}
%      \item historically accurate
%      \item futuristic, not real
%    \end{enumerate}
    \item automobiles
    \begin{enumerate}
      \item racing cars
      \item private cars
      \item lorries
    \end{enumerate}
    \item bicycles
  \end{enumerate}
  \end{ShowOutput}
  Using \Macro{label} within a list you can set labels which are
  referenced with \Macro{ref}. In the example above, a label was set
  after the jet-driven, single-engined transport planes with
  \Macro{label}\PParameter{xmp:jets}. The \Macro{ref} value is then
  \ref{xmp:maincls.jets}.
\end{Example}
%
\EndIndex{Env}{enumerate}%
\EndIndex{Cmd}{item}%
\EndIndex{Cmd}{theenumi}%
\EndIndex{Cmd}{theenumii}%
\EndIndex{Cmd}{theenumiii}%
\EndIndex{Cmd}{theenumiv}%
\EndIndex{Cmd}{labelenumi}%
\EndIndex{Cmd}{labelenumii}%
\EndIndex{Cmd}{labelenumiii}%
\EndIndex{Cmd}{labelenumiv}%


\begin{Declaration}
  \Environment{description}\\
  \XMacro{item}\OParameter{item}
\end{Declaration}%
\BeginIndex{Env}{description}%
\BeginIndex{Cmd}{item}%
A further list form is the description list. Its main use is the
description of several items. The item itself is an optional parameter
in \Macro{item}. The font\Index{font}\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}%
which is responsible for emphasizing the item can be changed with the
commands for the element
\FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} (see
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}) described in
\autoref{sec:maincls.font}. Default setting is
\Macro{sffamily}\Macro{bfseries}.
\begin{Example}
  Instead of items in sans serif and bold you want them printed in the
  standard font in bold. Using
\begin{lstlisting}
  \setkomafont{descriptionlabel}{\normalfont\bfseries}
\end{lstlisting}
  you redefine the font accordingly.

  An example for a description list is the output of the page styles
  listed in \autoref{sec:maincls.pageStyle}. The heavily
  abbreviated source code is:
\begin{lstlisting}
  \begin{description}
  \item[empty] is the page style without any header or footer.
    \item[plain] is the page style without headings.
    \item[headings] is the page style with running headings.
    \item[myheadings] is the page style for manual headings.
  \end{description}
\end{lstlisting}
  This abbreviated version gives:
  \begin{ShowOutput}
    \begin{description}
    \item[empty] is the page style without any header or footer.
    \item[plain] is the page style without headings.
    \item[headings] is the page style with running headings.
    \item[myheadings] is the page style for manual headings.
    \end{description}
  \end{ShowOutput}
\end{Example}
%
\EndIndex{Env}{description}%
\EndIndex{Cmd}{item}%


\begin{Declaration}
  \Environment{labeling}\OParameter{delimiter}\Parameter{widest pattern}\\
  \XMacro{item}\OParameter{keyword}
\end{Declaration}%
\BeginIndex{Env}{labeling}%
\BeginIndex{Cmd}{item}%
An additional form of a description list is only available in the
{\KOMAScript} classes: the \Environment{labeling} environment. Unlike the
\Environment{description} environment, you can provide a pattern whose length
determines the indentation of all items. Furthermore, you can put an optional
\PName{delimiter} between the item and its description.  The
font\Index{font}\ChangedAt{v3.01}{%
  \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}\and
  \Package{scrextend}}%
which is responsible for emphasizing the item and the separator can be changed
with the commands for the element
\FontElement{labelinglabel}\IndexFontElement{labelinglabel} and
\FontElement{labelingseparator}\IndexFontElement{labelingseparator} (see
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}) described in
\autoref{sec:maincls.font}.
\begin{Example}
  Slightly changing the example from the \Environment{description}
  environment, we could write:
\begin{lstlisting}
  \setkomafont{labelinglabel}{\ttfamily}
  \setkomafont{labelingseparator}{\normalfont}
  \begin{labeling}[~--]{myheadings}
    \item[empty]
      Page style without header and footer
    \item[plain]
      Page style for chapter beginnings without headings
    \item[headings]
      Page style for running headings
    \item[myheadings]
      Page style for manual headings
  \end{labeling}
\end{lstlisting}
  As result we get:
  \begin{ShowOutput}
    \setkomafont{labelinglabel}{\ttfamily}
    \setkomafont{labelingseparator}{\normalfont}
    \begin{labeling}[~--]{myheadings}
    \item[empty]
      Page style without header and footer
    \item[plain]
      Page style for chapter beginnings without headings
    \item[headings]
      Page style for running headings
    \item[myheadings]
      Page style for manual headings
    \end{labeling}
  \end{ShowOutput}
  As can be seen in this example, a font changing command may be set in the
  usual way. But if you don't want the font of the separator be changed in the
  same way like the font of the label, you have to set the font of the
  separator different.
\end{Example}
Originally this environment was implemented for things like
``Precondition, Assertion, Proof'', or ``Given, Required, Solution''
that are often used in lecture hand-outs.  By now this environment has
found many different applications. For example, the environment for
examples in this guide was defined with the \Environment{labeling}
environment.
%
\EndIndex{Env}{labeling}%
\EndIndex{Cmd}{item}%


\begin{Declaration}
  \Environment{verse}
\end{Declaration}%
\BeginIndex{Env}{verse}%
Usually the \Environment{verse} environment is not perceived as a list
environment because you do not work with \Macro{item}
commands. Instead, fixed line breaks are used within the
\Environment{flushleft} environment. Yet internally in both the
standard classes as well as {\KOMAScript} it is indeed a list
environment.

In general the \Environment{verse} environment is used for
poems\Index{poems}.  Lines are indented both left and
right. Individual lines of verse are ended by a fixed line break
\verb|\\|. Verses are set as paragraphs, separated by an empty
line. Often also \Macro{medskip}\IndexCmd{medskip} or
\Macro{bigskip}\IndexCmd{bigskip} is used instead. To avoid a page
break at the end of a line of verse you as usual insert \verb|\\*|
instead of \verb|\\|.
\begin{Example}
  As an example, the first lines of ``Little Red Riding Hood and the
  Wolf'' by Roald Dahl:
\begin{lstlisting}
  \begin{verse}
    As soon as Wolf began to feel\\*
    that he would like a decent meal,\\*
    He went and knocked on Grandma's door.\\*
    When Grandma opened it, she saw\\*
    The sharp white teeth, the horrid grin,\\*
    And Wolfie said, 'May I come in?'
  \end{verse}
\end{lstlisting}
  The result is as follows:
  \begin{ShowOutput}
  \begin{verse}
    As soon as Wolf began to feel\\*
    That he would like a decent meal,\\*
    He went and knocked on Grandma's door.\\*
    When Grandma opened it, she saw\\*
    The sharp white teeth, the horrid grin,\\*
    And Wolfie said, 'May I come in?'
  \end{verse}
  \end{ShowOutput}
  However, if you have very long lines of verse, for instance:
\begin{lstlisting}
  \begin{verse}
    Both the philosopher and the house-owner
    have always something to repair.\\
    \bigskip
    Don't trust a man, my son, who tells you
    that he has never lied.
  \end{verse}
\end{lstlisting}
where a line break occurs within a line of verse:
\begin{ShowOutput}
  \begin{verse}
    Both the philosopher and the house-owner
    have always something to repair.\\
    \bigskip
    Don't trust a man, my son, who tells you
    that he has never lied.
  \end{verse}
\end{ShowOutput}
there \verb|\\*| can not prevent a page break occurring within a verse
at such a line break. To prevent such a page break, a
\Macro{nopagebreak}\IndexCmd{nopagebreak} would have to be inserted
somewhere in the first line:
\begin{lstlisting}
  \begin{verse}
    Both the philosopher and the house-owner\nopagebreak
    have always something to repair.\\
    \bigskip
    Don't trust a man, my son, who tells you\nopagebreak
    that he has never lied.
  \end{verse}
\end{lstlisting}

In the above example, \Macro{bigskip} was used to separate the lines
of verse.
\end{Example}
%
\EndIndex{Env}{verse}%


\begin{Declaration}
  \Environment{quote}\\
  \Environment{quotation}
\end{Declaration}%
\BeginIndex{Env}{quote}%
\BeginIndex{Env}{quotation}%
These two environments are also list environments and can be found
both in the standard and the {\KOMAScript} classes. Both environments
use justified text which is indented both on the left and right side.
Usually they are used to separate long citations\Index{citations} from
the main text. The difference between these two lies in the manner in
which paragraphs are typeset. While \Environment{quote} paragraphs are
highlighted by vertical space, in \Environment{quotation} paragraphs
the first line is indented. This is also true for the first line of a
\Environment{quotation} environment. To prevent indentation you have
to insert a \Macro{noindent} command\IndexCmd{noindent} before the
text.
\begin{Example}
  You want to highlight a short anecdote. You write the following
  \Environment{quotation} environment for this:
  %
\begin{lstlisting}
  A small example for a short anecdote:
  \begin{quotation}
    The old year was turning brown; the West Wind was
    calling;
        
    Tom caught the beechen leaf in the forest falling.
    ``I've caught the happy day blown me by the breezes!
    Why wait till morrow-year? I'll take it when me pleases.
    This I'll mend my boat and journey as it chances
    west down the withy-stream, following my fancies!''
    
    Little Bird sat on twig. ``Whillo, Tom! I heed you.
    I've a guess, I've a guess where your fancies lead you.
    Shall I go, shall I go, bring him word to meet you?''
  \end{quotation}
\end{lstlisting}
  The result is:
  \begin{ShowOutput}
    A small example for a short anecdote:
    \begin{quotation}
    The old year was turning brown; the West Wind was
    calling;
    
    Tom caught the beechen leaf in the forest falling.
    ``I've caught the happy day blown me by the breezes!
    Why wait till morrow-year? I'll take it when me pleases.
    This I'll mend my boat and journey as it chances
    west down the withy-stream, following my fancies!''
    
    Little Bird sat on twig. ``Whillo, Tom! I heed you.
    I've a guess, I've a guess where your fancies lead you.
    Shall I go, shall I go, bring him word to meet you?''
    \end{quotation}
  \end{ShowOutput}
  %
  Using a \Environment{quote} environment instead you get:
  %
  \begin{ShowOutput}
    A small example for a short anecdote:
     \begin{quote}\setlength{\parskip}{4pt plus 2pt minus 2pt}
    The old year was turning brown; the West Wind was
    calling;

    Tom caught the beechen leaf in the forest falling.
    ``I've caught the happy day blown me by the breezes!
    Why wait till morrow-year? I'll take it when me pleases.
    This I'll mend my boat and journey as it chances
    west down the withy-stream, following my fancies!''
    
    Little Bird sat on twig. ``Whillo, Tom! I heed you.
    I've a guess, I've a guess where your fancies lead you.
    Shall I go, shall I go, bring him word to meet you?''
    \end{quote}
  \end{ShowOutput}
  %
\end{Example}
%
\EndIndex{Env}{quote}%
\EndIndex{Env}{quotation}%



\begin{Declaration}
  \Environment{addmargin}\OParameter{left indentation}\Parameter{indentation}\\
  \Environment{addmargin*}\OParameter{inner indentation}\Parameter{indentation}
\end{Declaration}
\BeginIndex{Env}{addmargin}%
Similar to \Environment{quote} and \Environment{quotation}, the
\Environment{addmargin} environment changes the margin\Index{margin}.
In contrast to the first two environments, with
\Environment{addmargin} the user can set the width of the
indentation. Besides this, this environment does not change the
indentation of the first line nor the vertical spacing between
paragraphs.

If only the obligatory argument \PName{indentation} is given, both the
left and right margin are expanded by this value. If the optional
argument \PName{left indentation} is given as well, then at the left
margin the value \PName{left indentation} is used instead of
\PName{indentation}.

The starred \Environment{addmargin*} only differs from the normal
version in a two-sided layout. Furthermore, the difference only occurs
if the optional argument \PName{inner indentation} is used. In this
case this value \PName{inner indentation} is added to the normal inner
indentation. For right-hand pages this is the left margin, for
left-hand pages the right margin. Then the value of
\PName{indentation} determines the width of the opposite margin.

Both versions of this environment take also negative values for all
parameters. This has the effect of expanding the environment into the
margin.
\begin{Example}
  Suppose you write a documentation which includes short source code
  examples. To highlight these you want them separated from the text
  by a horizontal line and shifted slightly into the outer
  margin. First you define the environment:
\begin{lstlisting}
  \newenvironment{SourceCodeFrame}{%
    \begin{addmargin*}[1em]{-1em}%
      \begin{minipage}{\linewidth}%
        \rule{\linewidth}{2pt}%
  }{%
      \rule[.25\baselineskip]{\linewidth}{2pt}%
      \end{minipage}%
    \end{addmargin*}%
  }
\end{lstlisting}
  If you now put your source code in such an environment it will show
  up as:
  \begin{ShowOutput}
  \newenvironment{SourceCodeFrame}{%
    \begin{addmargin*}[1em]{-1em}%
      \begin{minipage}{\linewidth}%
        \rule{\linewidth}{2pt}%
  }{%
      \rule[.25\baselineskip]{\linewidth}{2pt}%
      \end{minipage}%
    \end{addmargin*}%
  }
  You define yourself the following environment:
  \begin{SourceCodeFrame}
\begin{lstlisting}
\newenvironment{\SourceCodeFrame}{%
  \begin{addmargin*}[1em]{-1em}%
    \begin{minipage}{\linewidth}%
      \rule{\linewidth}{2pt}%
}{%
    \rule[.25\baselineskip]{\linewidth}{2pt}%
    \end{minipage}%
  \end{addmargin*}%
}
\end{lstlisting}
  \end{SourceCodeFrame}
  This may be feasible or not. In any case it shows the usage of this
  environment.
  \end{ShowOutput}
  The optional argument of the \Environment{addmargin*} environment
  makes sure that the inner margin is extended by 1\Unit{em}. In turn
  the outer margin is decreased by 1\Unit{em}. The result is a shift
  by 1\Unit{em} to the outside.  Instead of \PValue{1em} you can of
  course use a length, for example, \PValue{2\Macro{parindent}}.
\end{Example}
There is one problem with the \Environment{addmargin*} which you
should be aware of. If a page break occurs within an
\Environment{addmargin*} environment, the indentation on the following
page will be on the wrong side.  This means that suddenly the
\PName{inner indentation} is applied on the outside of the
page. Therefore it is recommended to prevent page breaks within this
environment. This can be achieved by using an additional
\Macro{parbox} or, as in the example above, a
\Environment{minipage}. This makes use of the fact that neither the
argument of a \Macro{parbox} nor the content of a
\Environment{minipage} breaks at the end of a page.  Unfortunately
this is not without another disadvantage: in some cases pages can no
longer be filled correctly, which has the effect of generating several
warnings.

Incidentally, whether a page is going to be on the left or right side
of the book can not be determined for certain in the first {\LaTeX}
run.  For details please refer to the explanation of the commands
\Macro{ifthispageodd} and \Macro{ifthispagewasodd} in
\autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.ifthispageodd}.
%
\EndIndex{Env}{addmargin}%


\begin{Explain}
  One concluding remark on list environments: on the internet and
  during support it is often asked why such an environment is followed
  by a indented\Index{indentation} paragraph. In fact, this is not the
  case but is the result of the user demanding a new paragraph. In
  {\LaTeX} empty lines are interpreted as a new paragraph. This is
  also the case before and after list environments. Thus, if you want
  a list environment to be set within a paragraph you have to omit
  empty lines before and after. To nevertheless separate the
  environment from the rest of your text in the {\LaTeX} source file,
  you can insert a comment line before and after, that is, lines which
  begin with a percent character and contain nothing more.
\end{Explain}
\EndIndex[indexother]{}{lists}

\subsection{Margin Notes}
\label{sec:maincls.marginNotes}

\begin{Declaration}
  \Macro{marginpar}\OParameter{margin note left}\Parameter{margin note}\\
  \Macro{marginline}\Parameter{margin note}
\end{Declaration}%
\BeginIndex{Cmd}{marginpar}%
\BeginIndex{Cmd}{marginline}%
Usually margin notes\Index[indexmain]{margin>notes} in {\LaTeX} are
inserted with the command \Macro{marginpar}. They are placed in the
outer margin.  In documents with one-sided layout the right border is
used. Though \Macro{marginpar} can take an optional different margin
note argument in case the output is in the left margin, margin notes
are always set in justified layout.  However, experience has shown
that many users prefer left- or right-aligned margin notes instead.
To facilitate this, {\KOMAScript} offers the command
\Macro{marginline}.
\begin{Example}
  In the introduction, the class name \Class{scrartcl} can be found in
  the margin. This can be produced\footnote{In fact, instead of
    \Macro{texttt}, a semantic highlighting was used. To avoid
    confusion this was replaced in the example.} with:
\begin{lstlisting}
  \marginline{\texttt{scrartcl}}
\end{lstlisting}

Instead of \Macro{marginline} you could have used
\Macro{marginpar}. In fact the first command is implemented internally
as:
\begin{lstlisting}
  \marginpar[\raggedleft\texttt{scrartcl}]
    {\raggedright\texttt{scrartcl}}
\end{lstlisting}
Thus \Macro{marginline} is really only an abbreviated writing of the
code above.
\end{Example}
%
\begin{Explain}
  Unfortunately \Macro{marginpar} does not always work correctly in
  two-sided\Index{twoside} layout. Whether a margin note will end up
  in the left or right margin is already decided while evaluating the
  command \Macro{marginpar}. If the output routine now shifts the
  margin note onto the next page the formatting is no longer
  correct. This behaviour is deeply rooted within {\LaTeX} and was
  therefore declared a feature by the {\LaTeX}3 team. \Macro{marginline}
  suffers from this ``feature'' too. The package
  \Package{mparhack}\IndexPackage{mparhack} (see
  \cite{package:mparhack}) offers a standard solution for this problem
  which naturally benefits also \Macro{marginpar} and
  \Macro{marginline}.

  Note that you may not use \Macro{marginpar} or \Macro{marginline}
  within float environments such as tables or figures. Also, these
  commands will not function in displayed math formulas.
\end{Explain}
%
\EndIndex{Cmd}{marginpar}%
\EndIndex{Cmd}{marginline}%


\subsection{Tables and Figures}
\label{sec:maincls.floats}

\begin{Explain}
  With the floating environments {\LaTeX} offers a very capable and
  comfortable mechanism for automatic placement of
  figures\Index{figure} and tables\Index{table}. But often these
  floating environments\Index[indexmain] {floating environments} are
  slightly misunderstood by beginners. They often ask for a fixed
  position of a table or figure within the text. However, since these
  floating environments are being referenced in the text this is not
  necessary in most cases. It is also not sensible because such an
  object can only be set on the page if there is enough space left for
  it. If this is not the case the object would have to be shifted onto
  the next page, thereby possibly leaving a huge blank space on the
  page before.
  
  Often one finds in a document for every floating object the same
  optional argument for positioning the object. This also makes no
  sense. In such cases one should rather change the standard parameter
  globally. For more details refer to \cite{DANTE:FAQ}.\par
\end{Explain}

One last important note before starting this section: most mechanisms
described here which extend the capabilities of the standard classes
no longer work correctly when used together with packages which modify
the typesetting of captions of figures and tables. This should be self
evident, but it is often not understood.

\begin{Declaration}
  \Macro{caption}\OParameter{entry}\Parameter{title}\\
  \Macro{captionbelow}\OParameter{entry}\Parameter{title}\\
  \Macro{captionabove}\OParameter{entry}\Parameter{title}
\end{Declaration}%
\BeginIndex{Cmd}{caption}%
\BeginIndex{Cmd}{captionabove}%
\BeginIndex{Cmd}{captionbelow}%
In the standard classes caption text \PName{title} of tables and
figures is inserted with the \Macro{caption} command below the table
or figure. In general this is correct for figures. Opinions differ as
to whether captions of tables are to be placed above or, consistent
with captions of figures\Index{caption>of figure}, below the
table\Index{caption>of table}. That is the reason why {\KOMAScript},
unlike the standard classes, offers \Macro{captionbelow} for captions
below and \Macro{captionabove} for captions above tables or
figures. Using \Macro{caption} for figures always produces captions
below the figure, whereas with tables the behaviour of \Macro{caption}
can be modified using the options
\OptionValue{captions}{tableheading} and
\OptionValue{captions}{tablesignature} (see
\autoref{sec:maincls.formattingOptions},
\autopageref{desc:maincls.option.captions.tableheading}). For
compatibility reasons the default behaviour of \Macro{caption} used
with tables is similar to \Macro{captionbelow}.
%
\begin{Example}
  Instead of using captions below a table you want to place your
  captions above it\Index{table>caption}, because you have tables
  which span more then one page. In the standard classes you could
  only write:
\begin{lstlisting}
  \begin{table}
    \caption{This is an example table}
    \begin{tabular}{llll}
      This & is & an & example.\\\hline
      This & is & an & example.\\
      This & is & an & example.
    \end{tabular}
  \end{table}
\end{lstlisting}
  Then you would get the unsatisfying result:
  \begin{ShowOutput}\centering
    {\usekomafont{caption}{\usekomafont{captionlabel}\tablename~30.2:}
      This is an example table.}\\
        \begin{tabular}{llll}
      This & is & an & example.\\\hline
      This & is & an & example.\\
      This & is & an & example.
        \end{tabular}
\end{ShowOutput}
  Using {\KOMAScript} you write instead:
\begin{lstlisting}
  \begin{table}
    \captionabove{This is just an example table}
    \begin{tabular}{llll}
      This & is & an & example.\\\hline
      This & is & an & example.\\
      This & is & an & example.
    \end{tabular}
  \end{table}
\end{lstlisting}
  Then you get:
  \begin{ShowOutput}\centering
    {\usekomafont{caption}{\usekomafont{captionlabel}\tablename~30.2:}
      This is just an example table}\\\vskip\abovecaptionskip
    \begin{tabular}{llll}
      This & is & an & example.\\\hline
      This & is & an & example.\\
      This & is & an & example.
    \end{tabular}
  \end{ShowOutput}
  Since you want all your tables typeset with captions above, you could
  of course use the option \OptionValue{captions}{tableheading} instead (see
  \autoref{sec:maincls.formattingOptions},
  \autopageref{desc:maincls.option.captions.tableheading}). Then you can use
  \Macro{caption} as you would in the standard classes. You will get
  the same result as with \Macro{captionabove}.
\end{Example}

\begin{Explain}
  Some would argue that you could achieve the same result using the
  \Macro{topcaption} command from the \Package{topcapt}
  package\IndexPackage{topcapt} (see \cite{package:topcapt}). However,
  that is not the case. The command \Macro{topcaption} is ignored by
  packages which directly redefine the \Macro{caption} macro. The
  \Package{hyperref} package (see \cite{package:hyperref}) is one such
  example. In {\KOMAScript}, \Macro{captionabove} and
  \Macro{captionbelow} are so implemented that changes have an effect
  on both of these commands as well.
  
  \phantomsection\label{desc:maincls.cmd.caption.longtable}%
  If the \Package{longtable} package\IndexPackage{longtable} is used,
  {\KOMAScript} ensures that captions above tables which are placed
  within a \Environment{longtable} environment have the same
  appearance as those in a normal \Environment{table}
  environment. This also means that you can apply the same settings as
  in a \Environment{table} environment. Please note that in the
  \Package{longtable} package the maximum width of a table caption can
  be limited and the default is set to 4\Unit{in} (see
  \cite{package:longtable}). Used together with {\KOMAScript} this
  mechanism in \Package{longtable} works only if the class option
  \Option{origlongtable} is set (see
  \autoref{sec:maincls.formattingOptions},
  \autopageref{desc:maincls.option.origlongtable}). If the
  \Package{caption2}\IndexPackage{caption2} or
  \Package{caption}\IndexPackage{caption} package (see
  \cite{package:caption}) is loaded, table captions are handled by
  this package.
  
  Please note that \Macro{captionabove} and \Macro{captionbelow}, if
  placed within a \Environment{float} environment which was defined
  using the \Package{float}\IndexPackage{float} package, have the
  exact same behaviour described in \cite{package:float} for the
  \Macro{caption} command.  In this case, the float style determines
  whether the caption will be set below or above the figure or table.
\end{Explain}


\begin{Declaration}
  \Environment{captionbeside}\OParameter{entry}%
    \Parameter{title}\OParameter{placement}\OParameter{width}%
    \OParameter{offset}\\%
  \XEnvironment{captionbeside}\OParameter{entry}%
    \Parameter{title}\OParameter{placement}\OParameter{width}%
    \OParameter{offset}\PValue{*}
\end{Declaration}
\BeginIndex{Env}{captionbeside}%
Apart\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} from
captions above and below the figure, one often finds captions, in
particular with small figures, which are placed beside the figure. In
general in this case both the baseline of the figure and of the
caption are aligned at the bottom. With some fiddling and the use of
two \Macro{parbox} commands this could also be achieved in the
standard classes.  However, {\KOMAScript} offers a special environment
for this which can be used within the floating environment.  The first
optional parameter \PName{entry} and the obligatory parameter
\PName{title} mean the same as the corresponding parameters of
\Macro{caption}, \Macro{captionabove} or \Macro{captionbelow}. The
caption text \PName{title} is placed beside the content of the
environment in this case.

Whether the caption text \PName{title} is placed on the left or the
right can be determined by the parameter \PName{placement}. Exactly
one of the following letters is allowed:
\begin{labeling}[--~]{\PValue[o]}
\item[\PValue{l}] left
\item[\PValue{r}] right
\item[\PValue{i}] inner margin in two-sided layout
\item[\PValue{o}] outer margin in two-sided layout
\end{labeling}
Default setting is to the right of the content of the environment.  If
either \PValue{o} or \PValue{i} are used you may need to run {\LaTeX}
twice to obtain the correct placement.

Per default the content of the environment and the caption text
\PName{title} fill the entire available text width. However, using the
optional parameter \PName{width}, it is possible to adjust the width
used. This width could even be larger than the current text width.

When supplying a \PName{width} the used width is usually centered with
respect to the text width. Using the optional parameter
\PName{offset}, you can shift the environment relative to the left
margin. A positive value corresponds to a shift to the right, whereas
a negative value corresponds to a shift to the left. An \PName{offset}
of 0\Unit{pt} gives you a left-aligned output.

Adding a star to the optional parameter \PName{offset} makes the the
value mean a shift relative to the right margin on left hand pages in
two-sided layout. A positive value corresponds to a shift towards the
outer margin, whereas a negative value corresponds to a shift towards
the inner margin. An \PName{offset} of 0\Unit{pt} means alignment with
the inner margin. As mentioned before, in some cases it takes two
{\LaTeX} runs for this to work correctly.

\begin{Example}
  An example for the usage of the \Environment{captionbeside} environment
  can be found in \autoref{fig:maincls.captionbeside}.
  This figure was typeset with:
\begin{lstlisting}
  \begin{figure}
    \begin{captionbeside}[Example for a figure description]%
      {A figure description which is neither above nor
       below, but beside the figure}[i][\linewidth][2em]*
      \fbox{%
        \parbox[b][5\baselineskip][c]{.25\textwidth}{%
          \hspace*{\fill}\KOMAScript\hspace*{\fill}\par}}
    \end{captionbeside}
    \label{fig:maincls.captionbeside}
  \end{figure}
\end{lstlisting}
  \begin{figure}
    \begin{captionbeside}[Example for a figure description]%
      {A figure description which is neither above nor 
       below, but beside the figure}[i][\linewidth][2em]*
      \fbox{%
        \parbox[b][5\baselineskip][c]{.25\textwidth}{%
          \hspace*{\fill}\KOMAScript\hspace*{\fill}\par}}
    \end{captionbeside}
    \label{fig:maincls.captionbeside}
  \end{figure}
  The total width is thus the currently available width
  \PValue{\Macro{linewidth}}. However, this width is shifted
  \PValue{2em} to the outside. The caption text or description is
  placed on the inner side beside the figure. The figure itself is
  shifted 2\Unit{em} into the outer margin.
\end{Example}
%
\EndIndex{Env}{captionbeside}


\BeginIndex[indexother]{}{font>style}
The font style\ChangedAt{v2.8p}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} for the
description and the label\,---\,``Figure'' or ``Table'', followed by
the number and the delimiter\,---\,can be changed with the commands
described in \autoref{sec:maincls.font}. The respective elements for
this are \FontElement{caption}\IndexFontElement{caption} and
\FontElement{captionlabel}\IndexFontElement{captionlabel} (see
\autoref{tab:maincls.elementsWithoutText},
\autopageref{tab:maincls.elementsWithoutText}).  First the font style
for the element \FontElement{caption} is applied to the element
\FontElement{captionlabel} too.  After this the font style of
\FontElement{captionlabel} is applied on the respective element. The
default settings are listed in \autoref{tab:maincls.captionFont}.
%
\begin{table}
  \centering%
  \caption{Font defaults for the elements of figure or table captions}
  \begin{tabular}{ll}
    \toprule
    element & default \\
    \midrule
    \FontElement{caption} & \Macro{normalfont} \\
    \FontElement{captionlabel} & \Macro{normalfont}\\
    \bottomrule
  \end{tabular}
  \label{tab:maincls.captionFont}
\end{table}
%
\begin{Example}
  You want the table and figure descriptions typeset in a smaller font
  size. Thus you could write the following in the preamble of your
  document:
\begin{lstlisting}
  \addtokomafont{caption}{\small}
\end{lstlisting}
  Furthermore, you would like the labels to be printed in sans serif and
  bold. You add:
\begin{lstlisting}
  \setkomafont{captionlabel}{\sffamily\bfseries}
\end{lstlisting}
  As you can see, simple extensions of the default definitions are
  possible.
\end{Example}
\EndIndex[indexother]{}{font>style}
%
\EndIndex{Cmd}{caption}%
\EndIndex{Cmd}{captionabove}%
\EndIndex{Cmd}{captionbelow}%


\begin{Explain}
\begin{Declaration}
  \FloatStyle{komaabove}\\
  \FloatStyle{komabelow}
\end{Declaration}%
\BeginIndex{Floatstyle}{komaabove}%
\BeginIndex{Floatstyle}{komabelow}%
If you use\OnlyAt{\Package{float}} the
\Package{float}\IndexPackage{float} package the appearance of the
float environments is solely defined by the \emph{float} style. This
includes whether captions above or below are used. In the
\Package{float} package there is no predefined style which gives you
the same output and offers the same setting options (see below) as
{\KOMAScript}.  Therefore {\KOMAScript} defines the two additional
styles \PValue{komaabove} and \PValue{komabelow}.  When using the
\Package{float} package these styles can be activated just like the
styles \PValue{plain}\IndexFloatstyle{plain},
\PValue{boxed}\IndexFloatstyle{boxed} or
\PValue{ruled}\IndexFloatstyle{ruled} defined in \Package{float}.  For
details refer to \cite{package:float}.  The style \PValue{komaabove}
inserts \Macro{caption}, \Macro{captionabove} and \Macro{captionbelow}
above, whereas \PValue{komabelow} inserts them below the float
content.
%
\EndIndex{Floatstyle}{komaabove}%
\EndIndex{Floatstyle}{komabelow}%
\end{Explain}


\begin{Declaration}
  \Macro{captionformat}
\end{Declaration}%
\BeginIndex{Cmd}{captionformat}%
In {\KOMAScript} there are different ways to change the formatting of
the caption text. The definition of different font styles was already
explained above. This or the caption delimiter between the label and
the label text itself is specified in the macro \Macro{captionformat}.
In contrast to all other \Macro{\dots}format commands, in this case it
does not contain the counter but only the items which follow it. The
original definition is:
\begin{lstlisting}
  \newcommand*{\captionformat}{:\ }
\end{lstlisting}
This too can be changed with \Macro{renewcommand}.
\begin{Example}
  For some inexplicable reasons you want a dash with spaces before and
  after instead of a colon followed by a space as label delimiter. You
  define:
\begin{lstlisting}
  \renewcommand*{\captionformat}{~--~}
\end{lstlisting}
This definition should be put in the preamble of your document.
\end{Example}
%
\EndIndex{Cmd}{captionformat}%


\begin{Declaration}
  \Macro{figureformat}\\
  \Macro{tableformat}
\end{Declaration}%
\BeginIndex{Cmd}{figureformat}%
\BeginIndex{Cmd}{tableformat}%
It was already mentioned that \Macro{captionformat} does not contain
formatting for the label itself. This situation should under no
circumstances be changed using redefinitions of the commands for the
output of counters, \Macro{thefigure} or \Macro{thetable}. Such a
redefinition would have unwanted side effects on the output of
\Macro{ref} or the table of contents, list of figures and list of
tables. To deal with the situation, {\KOMAScript} offers two
\Macro{\dots format} commands instead. These are predefined as
follows:
\begin{lstlisting}
  \newcommand*{\figureformat}{\figurename~\thefigure\autodot}
  \newcommand*{\tableformat}{\tablename~\thetable\autodot}
\end{lstlisting}
They also can be adapted to your personal preferences with
\Macro{renewcommand}.
\begin{Example}
  From time to time captions without any label and of course without
  delimiter are desired. In {\KOMAScript} it takes only the following
  definitions to achieve this:
\begin{lstlisting}
  \renewcommand*{\figureformat}{}
  \renewcommand*{\tableformat}{}
  \renewcommand*{\captionformat}{}
\end{lstlisting}
It should be noted, however, that although no numbering is output, the
internal counters are nevertheless incremented. This becomes important
especially if this redefinition is applied only to selected
\Environment{figure} or \Environment{table} environments.
\end{Example}
%
\EndIndex{Cmd}{figureformat}%
\EndIndex{Cmd}{tableformat}%

\begin{Declaration}
  \Macro{setcapindent}\Parameter{indent}\\
  \Macro{setcapindent*}\Parameter{xindent}\\
  \Macro{setcaphanging}
\end{Declaration}%
\BeginIndex{Cmd}{setcapindent}%
\BeginIndex{Cmd}{setcapindent*}%
\BeginIndex{Cmd}{setcaphanging}%
As mentioned previously, in the standard classes the captions are set
in a non-hanging style, that is, in multi-line captions the second and
subsequent lines start directly beneath the label. The standard
classes provide no direct mechanism to change this behaviour. In
{\KOMAScript}, on the contrary, beginning at the second line all lines
are indented by the width of the label so that the caption text is
aligned.

This behaviour, which corresponds to the usage of
\Macro{setcaphanging}, can easily be changed by using the command
\Macro{setcapindent} or \Macro{setcapindent*}. Here the parameter
\PName{indent} determines the indentation of the second and subsequent
lines.

If you want a line break after the label and before the caption text,
then you can define the indentation \PName{xindent} of the caption
text with the starred version of the command instead:
\Macro{setcapindent*}.

Using a negative value of \PName{indent} instead, a line break is also
inserted before the caption text and only the first line of the
caption text but not subsequent lines are indented by
the absolute value of \PName{indent}.

Whether one-line captions are set as captions with more than one line
or are treated separately is specified with the class options
\OptionValue{captions}{oneline} and \OptionValue{captions}{nooneline}. For details
please refer to the explanations of these options in
\autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.captions.nooneline}.

\begin{Example}
  For the examples please refer to
  figures~\ref{fig:maincls.caption.first} to
  \ref{fig:maincls.caption.last}. As you can see the usage of a fully
  hanging indentation is not advantageous when combined with narrow
  column width. To illustrate, the source code for the second figure
  is given here with a modified caption text:
\begin{lstlisting}
  \begin{figure}
    \setcapindent{1em}
    \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
    \caption{Example with slightly indented caption
             starting at the second line}
  \end{figure}
\end{lstlisting}
As can be seen the formatting can also be changed locally within the
\Environment{figure} environment\IndexEnv{figure}. The change then
affects only the current figure. Following figures once again use the
default settings or global settings set, for example, in the preamble
of the document. This also of course applies to tables.
  \begin{figure}
    \typeout{^^J--- Ignore underfull and overfull \string\hbox:}
    \addtokomafont{caption}{\small}
    \addtokomafont{captionlabel}{\bfseries}
    \centering%
    \begin{minipage}{.9\linewidth}
      \begin{minipage}[t]{.48\linewidth}\sloppy
        \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
        \caption[Example for figure caption]%
        {\sloppy Equivalent to the standard setting, similar to the
          usage of \Macro{setcaphanging}}
        \label{fig:maincls.caption.first}
      \end{minipage}
      \hspace{.02\linewidth}
      \begin{minipage}[t]{.48\linewidth}\sloppy
        \setcapindent{1em}
        \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
        \caption[Example for figure caption]%
        {With slightly hanging indentation starting at the second line
         using \Macro{setcapindent}\PParameter{1em}}
      \end{minipage}
    \end{minipage}

    \vspace*{2ex}\noindent%
    \begin{minipage}{.9\linewidth}
      \begin{minipage}[t]{.48\linewidth}\sloppy
        \setcapindent*{1em}
        \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
        \caption[Example for a figure caption]%
        {With hanging indentation starting at the second line and line
          break before the description using
          \Macro{setcapindent*}\PParameter{1em}}
      \end{minipage}
      \hspace{.02\linewidth}
      \begin{minipage}[t]{.48\linewidth}\sloppy
        \setcapindent{-1em}
        \fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
        \caption[Example for a figure caption]%
        {With indentation in the second line only and line break
          before the description using
          \Macro{setcapindent}\PParameter{-1em}}
                \label{fig:maincls.caption.last}
      \end{minipage}
    \end{minipage}
    \typeout{^^J--- Don't ignore underfull and overfull
      \string\hbox:^^J}
  \end{figure}
\end{Example}
%
\EndIndex{Cmd}{setcapindent}%
\EndIndex{Cmd}{setcapindent*}%
\EndIndex{Cmd}{setcaphanging}%


\begin{Declaration}
  \Macro{setcapwidth}\OParameter{justification}\Parameter{width}\\
  \Macro{setcapmargin}\OParameter{margin left}\Parameter{margin}\\
  \Macro{setcapmargin*}\OParameter{margin inside}\Parameter{margin}
\end{Declaration}
\BeginIndex{Cmd}{setcapwidth}%
\BeginIndex{Cmd}{setcapmargin}%
\BeginIndex{Cmd}{setcapmargin*}%
Using\ChangedAt{v2.8q}{%
  \Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} these three
commands you can specify the width and justification of the caption
text.  In general the whole text width or column width is available
for the caption.

With the command \Macro{setcapwidth} you can decrease this
\PName{width}.  The obligatory argument determines the maximum
\PName{width} of the caption.  As an optional argument you can supply
exactly one letter which specifies the horizontal justification. The
possible justifications are given in the following list.
\begin{labeling}[--~]{\PValue[o]}
\item[\PValue{l}] left-aligned
\item[\PValue{c}] centered
\item[\PValue{r}] right-aligned
\item[\PValue{i}] alignment at the inner margin in double-sided output
\item[\PValue{o}] alignment at the outer margin in double-sided output
\end{labeling}
The justification inside and outside corresponds to left-aligned and
right-aligned, respectively, in single-sided output. Within
\Package{longtable}\IndexPackage{longtable} tables the justification
inside or outside does not work correctly. In particular, the captions
on subsequent pages of such tables are aligned according to the format
of the caption on the first page of the table. This is a conceptual
problem in the implementation of \Package{longtable}.

With the command \Macro{setcapmargin} you can specify a \PName{margin}
which is to be left free next to the description in addition to the
normal text margin. If you want margins with different widths at the
left and right side you can specify these using the optional argument
\PName{margin left}. The starred version \Macro{setcapmargin*} defines
instead of a \PName{margin left} a \PName{margin inside} in a
double-sided layout. In case of
\Package{longtable}\IndexPackage{longtable} tables you have to deal
with the same problem with justification inside or outside as
mentioned with the macro \Macro{setcapwidth}.  Furthermore, the usage
of \Macro{setcapmargin} or \Macro{setcapmargin*} switches on the
option \OptionValue{captions}{nooneline} (see
\autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.captions.nooneline}) for the captions
which are typeset with this margin setting.

\begin{Explain}
  \Package{longtable} places the caption in a box, which is issued
  again on subsequent pages as needed. When outputting a box, the
  macros needed for its creation are not reevaluated. That is the
  reason why it is not possible for {\KOMAScript} to swap margin
  settings for even pages in double-sided layout . This is what would
  be necessary in order to produce a justification which is shifted
  towards the outside or inside.
  
  You can also submit negative values for \PName{margin} and
  \PName{margin left} or \PName{margin inside}. This has the effect
  of the caption expanding into the margin.
\end{Explain}

\begin{Example}
  A rather odd problem is that of a figure caption which is required
  to be both centered and of the same width as the figure itself. If
  the width of the figure is known in advance, the solution with
  {\KOMAScript} is quite easy. Supposing the figure has a width of
  8\Unit{cm}, it only takes:
\begin{lstlisting}
  \setcapwidth[c]{8cm}
\end{lstlisting}
directly in front of \Macro{caption} or \Macro{captionbelow}. If the
width is unknown then you first have to define a length in the
preamble of your document:
\begin{lstlisting}
  \newlength{\FigureWidth}
\end{lstlisting}
  Having done this you can calculate the width directly with the
  {\LaTeX} command \Macro{settowidth} (see \cite{latex:usrguide})
 in many cases. A possible solution would look as follows:
\begin{lstlisting}
  \begin{figure}
    \centering%
    \settowidth{\FigureWidth}{%
      \fbox{\quad\KOMAScript\quad}%
      }%
    \fbox{\quad\KOMAScript\quad}%
    \setcapwidth[c]{\FigureWidth}
    \caption{Example of a centered caption below the figure}
  \end{figure}
\end{lstlisting}
However, it is awkward to write the content twice and to call
\Macro{setcapwidth} for every figure. Yet nothing is easier than
defining a new command in the preamble of your document which hides
the three steps of:
  \begin{enumerate}
  \item defining the width of the argument
  \item specifying the width of the caption
  \item outputting the argument
  \end{enumerate}
  in:
\begin{lstlisting}
  \newcommand{\Figure}[1]{%
    \settowidth{\FigureWidth}{#1}%
    \setcapwidth[c]{\FigureWidth}%
    #1}
\end{lstlisting}
  Using this command the example abbreviates to:
\begin{lstlisting}
  \begin{figure}
    \centering%
    \Figure{\fbox{\quad\KOMAScript\quad}}%
    \caption{Example of a centered caption below the figure}
  \end{figure}
\end{lstlisting}
  
However, commands have the disadvantage that errors in the macros of
the argument in case of arguments with more than one line are not
reported with the very accurate line numbers by {\LaTeX}. Thus in some
cases the use of an environment has advantages. Then, however, the
question arises of how the width of the content of the environment can
be determined. The solution involves the \Environment{lrbox}
environment, described in \cite{latex:usrguide}:
\begin{lstlisting}
  \newsavebox{\FigureBox}
  \newenvironment{FigureDefinesCaptionWidth}{%
    \begin{lrbox}{\FigureBox}%
  }{%
    \end{lrbox}%
    \global\setbox\FigureBox=\box\FigureBox%
    \aftergroup\SetFigureBox%
  }
  \newcommand{\SetFigureBox}{%
    \Figure{\usebox{\FigureBox}}}
\end{lstlisting}
  This definition uses the macro \Macro{Figure} defined above.  In
  the main text you write:
\begin{lstlisting}
  \begin{figure}
    \centering%
    \begin{FigureDefinesCaptionWidth}
      \fbox{\hspace{1em}\KOMAScript\hspace{1em}}
    \end{FigureDefinesCaptionWidth}
    \caption{Example of a centered caption below the figure}
  \end{figure}
\end{lstlisting}
Admittedly, the environment in this example is not necessary. However,
its definition using \Macro{global} is quite tricky. Most users would
probably not be able to define such an environment without help. Thus,
as this definition can be very useful, it was introduced in the above
example.
  
Even if the \Environment{captionbeside} environment did not exist you
could nevertheless place the figure caption beside the figure in a
quite simple way. For this \Macro{SetFigureBox} from the example above
would have to be redefined first:
\begin{lstlisting}
  \renewcommand{\SetFigureBox}{%
    \settowidth{\captionwidth}{\usebox{\FigureBox}}%
    \parbox[b]{\captionwidth}{\usebox{\FigureBox}}%
    \hfill%
    \addtolength{\captionwidth}{1em}%
    \addtolength{\captionwidth}{-\hsize}%
    \setlength{\captionwidth}{-\captionwidth}%
    \setcapwidth[c]{\captionwidth}%
    }
\end{lstlisting}
Finally you only have to put the \Macro{caption} command in a
\Macro{parbox} too:
\begin{lstlisting}
  \begin{figure}
    \centering%
    \begin{FigureSetsCaptionWidth}
      \fbox{\rule{0pt}{5\baselineskip}%
        \hspace{1em}\KOMAScript\hspace{1em}}
    \end{FigureSetsCaptionWidth}
    \parbox[b]{\FigureWidth}{%
      \caption{Example of a centered caption
               below the figure}
    }
  \end{figure}
\end{lstlisting}
The \Macro{rule} command in this example only serves as an invisible
support to produce an example figure with a greater vertical height.
\end{Example}
%
\EndIndex{Cmd}{setcapwidth}%
\EndIndex{Cmd}{setcapmargin}%
\EndIndex{Cmd}{setcapmargin*}%


\subsection{Logical Markup of Text}
\label{sec:maincls.emphasis}

\begin{Explain}
  {\LaTeX} offers different possibilities for logical
  markup\Index{logical markup}\Index{markup} of text. Strictly
  speaking, a heading is a kind of markup too. However, in this
  section we are only concerned with direct markup, i.\,e., markup which
  does not have an additional semantic meaning and which can be used
  for different purposes. More details on the normally defined
  possibilities can be found in \cite{lshort}, \cite{latex:usrguide}
  and \cite{latex:fntguide}.
\end{Explain}

\begin{Declaration}
  \Macro{textsubscript}\Parameter{text}
\end{Declaration}
\BeginIndex{Cmd}{textsubscript}%
In \autoref{sec:maincls.footnotes},
\autopageref{desc:maincls.cmd.textsuperscript}, the command
\Macro{textsuperscript}\IndexCmd{textsuperscript} was already
introduced as an integral part of the {\LaTeX} kernel. Unfortunately,
{\LaTeX} itself does not offer a command to produce text in
subscript\Index{text>subscript}\Index{subscript} instead of
superscript\Index{text>superscript}\Index{superscript}. {\KOMAScript}
defines \Macro{textsubscript} for this purpose.
%
\begin{Example}
  You are writing a text on human metabolism. From time to time you
  have to give some simple chemical formulas in which the numbers are
  in subscript. For enabling logical markup you first define in the
  document preamble or in a separate package:
\begin{lstlisting}
  \newcommand*{\molec}[2]{#1\textsubscript{#2}}
\end{lstlisting}
  \newcommand*{\molec}[2]{#1\textsubscript{#2}}
  Using this you then write:
\begin{lstlisting}
  The cell produces its energy partly from reaction of \molec C6\molec
  H{12}\molec O6 and \molec O2 to produce \molec H2\Molec O{} and
  \molec C{}\molec O2.  However, arsenic (\molec{As}{}) has a quite
  detrimental effect on the metabolism.
\end{lstlisting}
  The output looks as follows:
  \begin{ShowOutput}
    The cell produces its energy from reaction of \molec C6\molec
    H{12}\molec O6 and \molec O2 to produce \molec H2\molec O{} and
    \molec C{}\molec O2.  However, arsenic (\molec{As}{}) has a quite
    detrimental effect on the metabolism.
  \end{ShowOutput}
  Some time later you decide that the chemical formulas should be
  typeset in sans serif. Now you can see the advantages of using
  logical markup. You only have the redefine the \Macro{molec}
  command:
\begin{lstlisting}
  \newcommand*{\molec}[2]{\textsf{#1\textsubscript{#2}}}
\end{lstlisting}
  \renewcommand*{\molec}[2]{\textsf{#1\textsubscript{#2}}}
  Now the output in the whole document changes to:
  \begin{ShowOutput}
    The cell produces its energy partly from reaction of \molec
    C6\molec H{12}\molec O6 and \molec O2 to produce \molec H2\molec
    O{} and \molec C{}\molec O2.  However, arsenic (\molec{As}{}) has
    a quite detrimental effect on the metabolism.
  \end{ShowOutput}
\end{Example}
\begin{Explain}
  In the example above, the notation ``\verb|\molec C6|'' is used. This
  makes use of the fact that arguments consisting of only one
  character do not have to be enclosed in parentheses. That is why
  ``\verb|\molec C6|'' is similar to ``\verb|\molec{C}{6}|''. You
  might already know this from indices or powers in mathematical
  environments, such as ``\verb|$x^2$|'' instead of ``\verb|$x^{2}$|''
  for ``$x^2$''.
\end{Explain}
%
\EndIndex{Cmd}{textsubscript}%


% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Appendix}
\label{sec:maincls.appendix}

The last part of a document usually contains the
appendix\Index{appendix}, the bibliography\Index{bibliography} and, if
necessary, the index\Index{index}.

\begin{Declaration}
  \Macro{appendix}
\end{Declaration}%
\BeginIndex{Cmd}{appendix}%
The appendix in the standard as well as the {\KOMAScript} classes is
introduced with \Macro{appendix}. This command switches, among other
things, the chapter numbering to upper case letters, also ensuring
that the rules according to \cite{DUDEN} are followed (for
German-speaking regions). These rules are explained in more detail in
the description of the class options \OptionValue{numbers}{enddot} and
\OptionValue{numbers}{noenddot} in \autoref{sec:maincls.formattingOptions},
\autopageref{desc:maincls.option.numbers}.

Please note that \Macro{appendix} is a command, \emph{not} an
environment!  This command does not expect any argument. Sectioning in
the appendix uses \Macro{chapter} and \Macro{section} just as does the
main text.

%
\EndIndex{Cmd}{appendix}


\begin{Declaration}
  \Macro{appendixmore}
\end{Declaration}%
\BeginIndex{Cmd}{appendixmore}%
There is a peculiarity within the \Macro{appendix} command in the
{\KOMAScript} classes. If the command \Macro{appendixmore} is defined,
this command is executed also by the \Macro{appendix}
command. Internally the {\KOMAScript} classes \Class{scrbook} and
\Class{scrreprt} take advantage of this behaviour to implement the
options \Option{appendixprefix} and \OptionValue{appendixprefix}{false} (see
\autoref{sec:maincls.layoutOptions},
\autopageref{desc:maincls.option.appendixprefix}). You should take
note of this in case you decide to define or redefine the
\Macro{appendixmore}. In case one of these options is set, you will
receive an error message when using
\verb|\newcommand{\appendixmore}{|\dots\verb|}|. This behaviour is
intended to prevent you from disabling options without noticing it.

\begin{Example}
  You do not want the chapters in the main part of the classes
  \Class{scrbook} or \Class{scrreprt} to be introduced by a prefix
  line (see layout options \Option{chapterprefix} and
  \OptionValue{chapterprefix}{false} in \autoref{sec:maincls.layoutOptions},
  \autopageref{desc:maincls.option.chapterprefix}). For consistency
  you also do not want such a line in the appendix either. Instead,
  you would like to see the word ``Chapter'' in the language of your
  choice written in front of the chapter letter and, simultaneously,
  in the page headings.  Instead of using the either layout option
  \Option{appendixprefix} or \OptionValue{appendixprefix}{false}, you would
  define in the document preamble:
%
\begin{lstlisting}
  \newcommand*{\appendixmore}{%
    \renewcommand*{\chapterformat}{%
      \appendixname~\thechapter\autodot\enskip}
    \renewcommand*{\chaptermarkformat}{%
      \appendixname~\thechapter\autodot\enskip}
  }
\end{lstlisting}
%  
  In case you subsequently change your mind and decide to use the option
  \Option{appendixprefix} at a later stage, you will get an error message
  because of the already defined \Macro{appendixmore} command.  This behaviour
  prevents the definition made above from invisibly changing the settings
  intended with the option.
  
  It is also possible to get a similar behaviour of the appendix for
  the class \Class{scrartcl}. You would write in the preamble of your
  document:
\begin{lstlisting}
  \newcommand*{\appendixmore}{%
    \renewcommand*{\othersectionlevelsformat}[1]{%
      \ifthenelse{\equal{##1}{section}}{\appendixname~}{}%
      \csname the##1\endcsname\autodot\enskip}
    \renewcommand*{\sectionmarkformat}{%
      \appendixname~\thesection\autodot\enskip}
  }
\end{lstlisting}
  In addition, the package \Package{ifthen}\IndexPackage{ifthen} (see
  \cite{package:ifthen}) is required.
  
  Redefined commands are explained in more detail in
  \autoref{sec:maincls.structure},
  \autopageref{desc:maincls.cmd.chapterformat} and
  \autopageref{desc:maincls.cmd.chaptermarkformat}.
\end{Example}
%
\EndIndex{Cmd}{appendixmore}%


\begin{Declaration}
  \Macro{setbibpreamble}\Parameter{preamble}
\end{Declaration}%
\BeginIndex{Cmd}{setbibpreamble}%
The command \Macro{setbibpreamble} can be used to set a preamble for the
bibliography\Index{bibliography}. This can be achieved by placing the preamble
before the command for issuing the bibliography.  However, it does not have to
be directly in front of it. For example, it could be placed at the beginning
of the document. Similar to the class options
\OptionValue{bibliography}{totoc} and
\OptionValue{bibliography}{totocnumbered}, this command can only be successful
if you have not loaded a package which prevents this by redefining the
\Environment{thebibliography} environment.  Even though the \Package{natbib}
package \IndexPackage{natbib} makes unauthorized use of internal macros of
{\KOMAScript} it could be achieved that \Macro{setbibpreamble} works with the
current version of \Package{natbib} (see \cite{package:natbib}).

\begin{Example}
  You want to point out that the sorting of the references in the
  bibliography is not according to their occurrence in the text, but
  in alphabetical order. You use the following command:
\begin{lstlisting}
  \setbibpreamble{References are in alphabetical order.
    References with more than one author are sorted
    according to the first author.\par\bigskip}
\end{lstlisting}
  The \Macro{bigskip}\IndexCmd{bigskip} command makes sure that the
  preamble and the first reference are separated by a large vertical
  space.
\end{Example}
%
\EndIndex{Cmd}{setbibpreamble}


\begin{Declaration}
  \Macro{setindexpreamble}\Parameter{preamble}
\end{Declaration}%
\BeginIndex{Cmd}{setindexpreamble}%
Similarly to the bibliography you can use a preamble to the
index. This is often the case if you have more than one index or if
you use different kinds of referencing by highlighting the page
numbers in different ways.

\begin{Example}
  You have a document in which terms are both defined and used. The
  page numbers of definitions are in bold. Of course you want to make
  your reader aware of this fact. Thus you insert a preamble for the
  index:
\begin{lstlisting}
  \setindexpreamble{In \textbf{bold} printed page numbers are
    references to the definition of terms. Other page numbers indicate
    the use of a term.\par\bigskip}
\end{lstlisting}
\end{Example}
%
Please note that the page style of the first page of the index is
changed. The applied page style is defined in the macro
\Macro{indexpagestyle} (see \autoref{sec:maincls.pageStyle},
\autopageref{desc:maincls.cmd.titlepagestyle}).

The production, sorting and output of the index is done by the
standard {\LaTeX} packages and additional programs. Similar to the
standard classes {\KOMAScript} only provides the basic macros and
environments.
%
\EndIndex{Cmd}{setindexpreamble}%


\section{Obsolete Commands}
\label{sec:maincls.obsolete}

\begin{Explain}
  In this section you will find commands which should not be used any
  longer. They are part of older {\KOMAScript} versions and their use
  was documented. For compatibility reasons they can still be used in
  the current {\KOMAScript} release. There are however new mechanisms
  and user interfaces which you should use instead. The reason for
  listing the obsolete macros in this documentation is only to aid
  users in understanding old documents.  Furthermore, package authors
  are free to use these macros in the future.

  \begin{Declaration}
    \Macro{sectfont}
  \end{Declaration}
  \BeginIndex{Cmd}{sectfont}%
  This macro sets the font which is used for all section headings and
  the abstract, the main title and the highest level below
  \Macro{part} in the table of contents. Instead, use the commands for
  the element \FontElement{disposition}, described in
  \autoref{sec:maincls.font}.%
  \EndIndex{Cmd}{sectfont}%

  \begin{Declaration}
    \Macro{capfont} \\
    \Macro{caplabelfont}
  \end{Declaration}
  \BeginIndex{Cmd}{capfont}%
  \BeginIndex{Cmd}{caplabelfont}%
  The macro \Macro{capfont} sets the font which is used for captions
  in tables and figures. The macro \Macro{caplabelfont} sets the font
  which is used for the label and numbering of tables and pictures.
  Instead, use the commands for the elements \FontElement{caption} and
  \FontElement{captionlabel}, described in
  \autoref{sec:maincls.font}.%
  \EndIndex{Cmd}{capfont}%
  \EndIndex{Cmd}{caplabelfont}%

  \begin{Declaration}
    \Macro{descfont}
  \end{Declaration}
  \BeginIndex{Cmd}{descfont}%
  This macro sets the font for the optional item arguments of a
  \Environment{description} environment. Instead, use the commands for
  the element \FontElement{descriptionlabel}, described in 
  \autoref{sec:maincls.font}.%
  \EndIndex{Cmd}{descfont}%

\end{Explain}

%%% Local Variables:
%%% mode: latex
%%% coding: iso-latin-1
%%% TeX-master: "../guide"
%%% End:
