You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4701 lines
217 KiB
4701 lines
217 KiB
% ======================================================================
|
|
% scrbookreportarticle.tex
|
|
% Copyright (c) Markus Kohm, 2001-2020
|
|
%
|
|
% 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-2020
|
|
%
|
|
% 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 ueber scrbook, scrreprt und scrartcl in der KOMA-Script-Anleitung
|
|
% Verwaltet von Markus Kohm
|
|
%
|
|
% ============================================================================
|
|
|
|
\KOMAProvidesFile{scrbookreportarticle.tex}
|
|
[$Date: 2020-07-16 10:09:01 +0200 (Thu, 16 Jul 2020) $
|
|
KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)]
|
|
|
|
\translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and
|
|
Krickette Murabayashi\and Jana Schubert\and Jens H\"uhne\and Karl Hagen}
|
|
|
|
% Date of the translated German file: 2019-12-06
|
|
|
|
\chapter{The Main Classes: \Class{scrbook}, \Class{scrreprt}, and
|
|
\Class{scrartcl}}
|
|
\labelbase{maincls}%
|
|
\BeginIndexGroup
|
|
\BeginIndex{Class}{scrbook}%
|
|
\BeginIndex{Class}{scrreprt}%
|
|
\BeginIndex{Class}{scrartcl}%
|
|
|
|
\AddSeeIndex{instruction}{gen}{\GuidecmdIndexShort}{cmd}%
|
|
\AddSeeIndex{macro}{gen}{\GuidecmdIndexShort}{cmd}%
|
|
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{letter}\IndexClass{letter} class. 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 simplest way to use a {\KOMAScript} class instead of a standard one is to
|
|
substitute the class name in the \verb|\documentclass| command in accordance
|
|
with \autoref{tab:\LabelBase.overview}. For example, you can replace
|
|
\Macro{documentclass}\PParameter{book} with
|
|
\Macro{documentclass}\PParameter{scrbook}. Normally, {\LaTeX} should process
|
|
the document without errors, just as before the substitution. The layout,
|
|
however, should be different. Additionally, the {\KOMAScript} classes provide
|
|
new possibilities and options that are described in the following sections.
|
|
|
|
\begin{table}
|
|
% \centering
|
|
\KOMAoptions{captions=topbeside}%
|
|
\setcapindent{0pt}%
|
|
% \caption
|
|
\begin{captionbeside}
|
|
[Class correspondence]{\label{tab:\LabelBase.overview}Correspondence between
|
|
standard classes and {\KOMAScript} classes}
|
|
[l]
|
|
\begin{tabular}[t]{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}
|
|
\end{captionbeside}
|
|
\end{table}
|
|
|
|
% TODO: Fix translation
|
|
However, it should be noted here that some package authors develop their
|
|
packages based on the implementation and even internal code of the standard
|
|
classes, without regard to completely independent developments like the
|
|
\KOMAScript{} classes. In such cases, the first \LaTeX{} run after the change
|
|
may well result in error messages or additional warnings. These can usually be
|
|
corrected in a simple way. Often the extended capabilities of \KOMAScript{}
|
|
can be used for this purpose, which completely eliminates the problematic
|
|
package. Sometimes the \hyperref[cha:scrhack]{package
|
|
\Package{scrhack}}\IndexPackage{scrhack} documented in \autoref{cha:scrhack}
|
|
starting on \autopageref{cha:scrhack} can also help. Replacing obsolete
|
|
packages with current successors can also help to eliminate such
|
|
problems. Sometimes even the \KOMAScript{} classes provide warnings to help
|
|
solve incompatibilities.
|
|
% :ODOT
|
|
|
|
Let me say something before describing the classes. When beginning to write a
|
|
document, you are often unsure which specific options to choose. Some
|
|
settings, for instance the choice of paper size, may be fixed in advance. But
|
|
even the question of the appropriate page layout could be difficult to answer
|
|
initially. On the other hand, these settings should be nearly irrelevant, in
|
|
the beginning, to the main business of an author: planning the document
|
|
structure, writing the text, preparing figures, tables, lists, index, and
|
|
other data. As an author, you should concentrate initially on the content.
|
|
When that is done, you can take on the fine points of presentation. In
|
|
addition to the choice of options, this includes correcting hyphenation,
|
|
optimizing page breaks, and placing tables and figures.
|
|
|
|
|
|
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\LoadCommonFile{options}% \section{Early or Late Selection of Options}
|
|
|
|
\LoadCommonFile{compatibility}% \section{Compatibility with Earlier Versions of KOMA-Script}
|
|
|
|
\LoadCommonFile{draftmode}% \section{Draft Mode}
|
|
|
|
\LoadCommonFile{typearea}% \section{Page Layout}
|
|
|
|
\begin{Declaration}
|
|
\Macro{flushbottom}
|
|
\Macro{raggedbottom}
|
|
\end{Declaration}
|
|
\begin{Explain}
|
|
In two-sided documents especially, it is preferable to have the same visual
|
|
baseline not only for the first lines of each text area in a two-page spread
|
|
but also for the last lines. If a page consists only of text without
|
|
paragraphs or headings, this is generally the result. But a paragraph
|
|
spacing of half a line would be enough to prevent you from achieving this
|
|
goal if the number of paragraphs on each page of the two-page spread differs
|
|
by an odd number. In this case, at least some of the paragraph distances
|
|
need to be stretched or shrunk to reach the target again. \TeX{} defines
|
|
stretchable and shrinkable distances for this purpose, and \LaTeX{} lets you
|
|
perform this kind of \emph{vertical adjustment}\Index{adjustment}
|
|
automatically.
|
|
\end{Explain}
|
|
|
|
Using two-sided printing with the
|
|
\Option{twoside}\IndexOption{twoside}\important{\Option{twoside}} option (see
|
|
\autoref{sec:typearea.options}, \DescPageRef{typearea.option.twoside}) or
|
|
two-column formatting with the
|
|
\Option{twocolumn}\IndexOption{twocolumn}\important{\Option{twocolumn}} option
|
|
(see \DescPageRef{typearea.option.twocolumn}) also activates this vertical
|
|
adjustment. But\ChangedAt{v3.17}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} this does not apply with a compatibility setting for a
|
|
\KOMAScript{} version prior to 3.17 (see
|
|
\autoref{sec:\LabelBase.compatibilityOptions},
|
|
\DescPageRef{\LabelBase.option.version}, option
|
|
\DescRef{\LabelBase.option.version}\IndexOption{version}%
|
|
\important{\OptionValueRef{\LabelBase}{version}{3.17}}) if you use
|
|
\DescRef{\LabelBase.cmd.KOMAoption} or \DescRef{\LabelBase.cmd.KOMAoptions} to
|
|
change the setting of these options.
|
|
|
|
You can also explicitly request vertical adjustment at any time starting with
|
|
the current page by using \Macro{flushbottom}. \Macro{raggedbottom} has the
|
|
opposite effect, switching off vertical adjustment starting with the current
|
|
page. This corresponds to the default for one-sided printing.
|
|
|
|
By the way, \KOMAScript{} uses a slightly modified method for adjusting the
|
|
vertical skip. This has been done to move footnotes to the bottom of the
|
|
text area instead of having them close to the last text line used.
|
|
\iffree{}{
|
|
You can find more information about this at
|
|
\autoref{sec:maincls-experts.addInfos},
|
|
\DescPageRef{maincls-experts.cmd.footnoterule}.}%
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\LoadCommonFile{fontsize}% \section{Choosing the Document Font Size}
|
|
|
|
\LoadCommonFile{textmarkup}% \section{Text Markup}
|
|
|
|
\LoadCommonFile{titles}% \section{Document Titles}
|
|
|
|
\section{Abstract}
|
|
\seclabel{abstract}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{abstract}%
|
|
|
|
Particularly with articles, more rarely with reports, there is an abstract, or
|
|
summary, directly beneath the title and before the table of contents. When
|
|
using an in-page title, this abstract is normally a kind of left- and
|
|
right-indented block. In comparison, the abstract appears as a chapter or
|
|
section when using title pages.
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{abstract}{simple switch}
|
|
\end{Declaration}%
|
|
In\OnlyAt{\Class{scrreprt}\and\Class{scrartcl}} the standard
|
|
classes\textnote{\KOMAScript{} vs. standard classes}, the
|
|
\DescRef{\LabelBase.env.abstract} environment sets the text ``\abstractname''
|
|
centred before the abstract text. This used to be the normal practice. Since
|
|
then, reading newspapers has trained us to recognize a suitably highlighted
|
|
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
|
|
confusing if, of all things, this title appears small and centred.
|
|
{\KOMAScript}\ChangedAt{v3.00}{\Class{scrreprt}\and \Class{scrartcl}} offers
|
|
the option to include or exclude the abstract's title with the
|
|
\Option{abstract} option. For \PName{simple switch}, you can use any value
|
|
from \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}. The
|
|
default for \KOMAScript{} is \PValue{false}.
|
|
|
|
Books typically use a different kind of summary. There, you usually place an
|
|
appropriate chapter at the beginning or the end of the work. This chapter is
|
|
often combined with either the introduction or a description of a larger
|
|
prospectus. Therefore, the \Class{scrbook} class has no
|
|
\DescRef{\LabelBase.env.abstract} environment. A\textnote{Hint!} summary
|
|
chapter is also recommended for reports in a wider sense, such as a Master's
|
|
thesis or Ph.D. dissertation. See the commands
|
|
\DescRef{\LabelBase.cmd.chapter*}\IndexCmd{chapter*},
|
|
\DescRef{\LabelBase.cmd.addchap}\IndexCmd{addchap}, and
|
|
\DescRef{\LabelBase.cmd.addchap*}\IndexCmd{addchap*} documented in
|
|
\autoref{sec:maincls.structure}, from \DescPageRef{\LabelBase.cmd.chapter*}.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\begin{Environment}{abstract}\end{Environment}
|
|
\end{Declaration}%
|
|
\OnlyAt{\Class{scrartcl}\and \Class{scrreprt}}%
|
|
Some {\LaTeX} classes provide a special environment for this summary: the
|
|
\Environment{abstract} environment. This is output directly, so it is not part
|
|
of the title created with \DescRef{\LabelBase.cmd.maketitle}.
|
|
Please\textnote{Attention!} note that \Environment{abstract} is an
|
|
environment, not a command. Whether the abstract has a heading or not is
|
|
determined by the \DescRef{\LabelBase.option.abstract} option (see above).
|
|
|
|
For books, the abstract is usually part of the introduction or a separate
|
|
chapter at the end of the document. Therefore \Class{scrbook} does not provide
|
|
an \Environment{abstract} environment. When using the \Class{scrreprt} class,
|
|
it is definitely worth considering whether to proceed in the same way. See the
|
|
commands \DescRef{\LabelBase.cmd.chapter*}\IndexCmd{chapter*} and
|
|
\DescRef{\LabelBase.cmd.addchap}\IndexCmd{addchap}, or
|
|
\DescRef{\LabelBase.cmd.addchap*} in \autoref{sec:\LabelBase.structure}
|
|
from \DescPageRef{\LabelBase.cmd.chapter*} for more on this.
|
|
|
|
When using an in-page title\Index{title>in-page} (see option
|
|
\DescRef{\LabelBase.option.titlepage}, \autoref{sec:\LabelBase.titlepage},
|
|
\DescPageRef{\LabelBase.option.titlepage}), the abstract is set internally
|
|
using the \DescRef{\LabelBase.env.quotation}\IndexEnv{quotation} environment
|
|
(see \autoref{sec:\LabelBase.lists}, \DescPageRef{\LabelBase.env.quotation}).
|
|
This way paragraphs will be set with the first line indented. If the first
|
|
paragraph of the abstract should not be indented, you can suppress this indent
|
|
by using \Macro{noindent}\IndexCmd{noindent}%
|
|
\important{\Macro{noindent}} \iffree{just after
|
|
\Macro{begin}\PParameter{abstract}}{at the beginning of the environment}.%
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\section{Table of Contents}
|
|
\seclabel{toc}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{table of contents}
|
|
|
|
The title and optional abstract are normally followed by a table of contents.
|
|
Often you also find additional lists of the floating environments, such as
|
|
tables and figures, after the table of contents (see
|
|
\autoref{sec:\LabelBase.floats}).
|
|
|
|
\iffalse%
|
|
Note that in addition to the options documented in this section, the
|
|
commands \DescRef{maincls-experts.cmd.DeclareSectionCommand},
|
|
\DescRef{maincls-experts.cmd.DeclareNewSectionCommand},
|
|
\DescRef{maincls-experts.cmd.RedeclareSectionCommand}, and
|
|
\DescRef{maincls-experts.cmd.ProvideSectionCommand} can also affect the
|
|
table of contents. See \autoref{sec:maincls-experts.sections},
|
|
\DescPageRef{maincls-experts.cmd.DeclareSectionCommand}.%
|
|
\else%
|
|
In addition to the options documented in this section, the
|
|
\hyperref[cha:tocbasic]{\Package{tocbasic}}%
|
|
\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}%
|
|
\IndexPackage{tocbasic} package style selected and configured with
|
|
\DescRef{tocbasic.cmd.DeclareTOCStyleEntry}\IndexCmd{DeclareTOCStyleEntry}%
|
|
\important[O]{\DescRef{tocbasic.cmd.DeclareTOCStyleEntry}} (see
|
|
\DescPageRef{tocbasic.cmd.DeclareTOCStyleEntry}) also has a significant
|
|
impact on the appearance of the table of contents. Similarly, the commands
|
|
\DescRef{maincls-experts.cmd.DeclareSectionCommand}%
|
|
\important[O]{\DescRef{maincls-experts.cmd.DeclareSectionCommand}}%
|
|
\IndexCmd{DeclareSectionCommand},
|
|
\DescRef{maincls-experts.cmd.ProvideSectionCommand}%
|
|
\IndexCmd{ProvideSectionCommand},
|
|
\DescRef{maincls-experts.cmd.DeclareNewSectionCommand}%
|
|
\IndexCmd{DeclareNewSectionCommand} and
|
|
\DescRef{maincls-experts.cmd.RedeclareSectionCommand}%
|
|
\IndexCmd{RedeclareSectionCommand} documented in
|
|
\autoref{sec:maincls-experts.sections},
|
|
\DescPageRef{maincls-experts.cmd.DeclareSectionCommand} can also affect the
|
|
table of contents.%
|
|
\fi
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{toc}{setting}
|
|
\end{Declaration}
|
|
It is becoming increasingly common to include lists of tables and figures,
|
|
the bibliography, and sometimes even the index in the table of contents. This
|
|
is surely related to the recent trend of putting lists of figures and tables
|
|
at the end of the document. Both lists are similar to the table of contents in
|
|
structure and intention. I'm therefore sceptical of this evolution.
|
|
Since\important{\OptionValue{toc}{listof}} it makes no sense to include only
|
|
the list of tables or that of figures in the table of contents without the
|
|
other, there is only one \PName{setting}\ChangedAt{v3.00}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}
|
|
\PValue{listof}\IndexOption{toc~=\textKValue{listof}}, which 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} package\IndexPackage{float}
|
|
from Version~1.2e (see \cite{package:float}) or \Package{floatrow} (see
|
|
\cite{package:floatrow}). None\important{\OptionValue{toc}{listofnumbered}}
|
|
of these lists are generally given a chapter number. If you want to ignore
|
|
this principle, use the \PName{setting}
|
|
\PValue{listofnumbered}\IndexOption{toc~=\textKValue{listofnumbered}}.
|
|
|
|
\leavevmode\LabelOptionValue{toc}{index}\nobreak
|
|
The\important{\OptionValue{toc}{index}}
|
|
\OptionValue{toc}{index}\IndexOption{toc~=\textKValue{index}} option 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
|
|
sectioning levels. Despite\ChangedAt{v3.18}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}
|
|
\important{\OptionValue{toc}{indexnumbered}} the author's concerns,
|
|
\KOMAScript{} does support deviating from this principle with
|
|
\OptionValue{toc}{indexnumbered}\IndexOption{toc~=\textKValue{indexnumbered}}.
|
|
|
|
\leavevmode\LabelOptionValue{toc}{bibliography}\nobreak The bibliography is a
|
|
slightly different kind of listing. It does not list the contents of the
|
|
present document but refers instead to external sources.
|
|
For\important{\OptionValue{toc}{bibliographynumbered}} that reason, it could
|
|
be argued that it qualifies as a chapter (or section) and, as such, should be
|
|
numbered. The \OptionValue{toc}{bibliographynumbered}%
|
|
\IndexOption{toc~=\textKValue{bibliographynumbered}} option has this effect,
|
|
and puts the appropriate entry in the table of contents. However, I think that
|
|
this reasoning would lead us to consider even a classic, annotated source list
|
|
to be a separate chapter. Moreover, the bibliography is ultimately not
|
|
something that you wrote yourself.
|
|
Therefore\important{\OptionValue{toc}{bibliography}} the bibliography merits,
|
|
at best, an unnumbered entry in the table of contents, and you can achieve
|
|
this achieved with
|
|
\OptionValue{toc}{bibliography}\IndexOption{toc~=\textKValue{bibliography}}.
|
|
|
|
\leavevmode\LabelOptionValue{toc}{graduated}\nobreak
|
|
The table of contents is normally\ChangedAt{v2.8q}{%
|
|
\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}%
|
|
\important{\OptionValue{toc}{graduated}} formatted so that different levels of
|
|
sectioning commands have different indentations. The number for each level is
|
|
set left-justified in a fixed-width field. This default set-up is selected
|
|
with the\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}
|
|
\OptionValue{toc}{graduated}\IndexOption{toc~=\textKValue{graduated}} option.
|
|
|
|
\leavevmode\LabelOptionValue{toc}{flat}\nobreak
|
|
If the sectioning level which appears in the table of contents is too deep, the
|
|
number for that level can be so wide that the space reserved for the number is
|
|
insufficient. The German FAQ \cite{DANTE:FAQ} suggests redefining the table of
|
|
contents in such a case. \KOMAScript{}\important{\OptionValue{toc}{flat}}
|
|
offers an alternative format that avoids the problem completely. If you use
|
|
the \OptionValue{toc}{flat}\IndexOption{toc~=\textKValue{flat}} option, no
|
|
graduated indentation is applied to the headings of the sectioning levels.
|
|
Instead, a table-like organisation is used, where all sectioning numbers and
|
|
headings are set in a left-justified column. The space necessary for the
|
|
section numbers is thus determined automatically.
|
|
|
|
You can find an overview of all available values for the \PName{setting} of
|
|
\Option{toc}. in \autoref{tab:\LabelBase.toc}.
|
|
|
|
\begin{desclist}
|
|
\desccaption[{Available values for the \Option{toc} option}]{%
|
|
Available values for the \Option{toc} option to set the format and contents
|
|
of the table of contents\label{tab:\LabelBase.toc}%
|
|
}{%
|
|
Available values for the \Option{toc} option (\emph{continued})%
|
|
}%
|
|
\entry{\PValue{bibliography}, \PValue{bib}}{%
|
|
The bibliography has an unnumbered entry in the table of contents.%
|
|
\IndexOption{toc~=\textKValue{bibliography}}}%
|
|
\entry{\PValue{bibliographynumbered}, \PValue{bibnumbered},
|
|
\PValue{numberedbibliography}, \PValue{numberedbib}}{%
|
|
The bibliography has a numbered entry in the table of contents.%
|
|
\IndexOption{toc~=\textKValue{bibliographynumbered}}}%
|
|
\entry{\PValue{chapterentrywithdots}, \PValue{chapterentrydotfill}}{%
|
|
\ChangedAt[2014/12]{v3.15}{\Class{scrbook}\and \Class{scrreprt}}%
|
|
The chapter entries for the \Class{scrbook} and \Class{scrreprt} classes
|
|
also use dots to separate the heading text from the page numbers.%
|
|
\IndexOption{toc~=\textKValue{chapterentrywithdots}}}%
|
|
\entry{\PValue{chapterentrywithoutdots}, \PValue{chapterentryfill}}{%
|
|
\ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}}%
|
|
The chapter entries of the \Class{scrbook} and \Class{scrreprt} classes
|
|
use white space to separate the heading text from the page numbers. This
|
|
corresponds to the default setting.%
|
|
\IndexOption{toc~=\textKValue{chapterentrywithoutdots}}}%
|
|
\entry{\PValue{flat}, \PValue{left}}{%
|
|
The table of contents is set in table form. The numbers of the headings
|
|
are in the first column, the heading text in the second column, and the
|
|
page number in the third column. The amount of space needed for the
|
|
numbers of the headings is determined by the required amount of space
|
|
detected during the previous \LaTeX{} run.%
|
|
\IndexOption{toc~=\textKValue{flat}}}%
|
|
\entry{\PValue{graduated}, \PValue{indent}, \PValue{indented}}{%
|
|
The table of contents is set in hierarchical form. The amount of space for
|
|
the heading numbers is limited. This corresponds to the default setting.%
|
|
\IndexOption{toc~=\textKValue{graduated}}}%
|
|
\entry{\PValue{indenttextentries}, \PValue{indentunnumbered},
|
|
\PValue{numberline}}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The \PValue{numberline} property (see \autoref{sec:tocbasic.toc},
|
|
\DescPageRef{tocbasic.cmd.setuptoc}) is set for the table of contents. As
|
|
a result, unnumbered entries are left aligned with the text of numbered
|
|
entries of the same level.%
|
|
\IndexOption{toc~=\textKValue{numberline}}}%
|
|
\entry{\PValue{index}, \PValue{idx}}{%
|
|
The index has an unnumbered entry in the table of contents.%
|
|
\IndexOption{toc~=\textKValue{index}}}%
|
|
\entry{\PValue{indexnumbered}, \PValue{idxnumbered}, \PValue{numberedindex},
|
|
\PValue{numberedidx}}{%
|
|
\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The index has a numbered entry in the table of contents.%
|
|
\IndexOption{toc~=\textKValue{index}}}%
|
|
\entry{\PValue{leftaligntextentries}, \PValue{leftalignunnumbered},
|
|
\PValue{nonumberline}}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The \PValue{numberline} property (see \autoref{sec:tocbasic.toc},
|
|
\DescPageRef{tocbasic.cmd.setuptoc}) is deleted for the table of contents.
|
|
This places unnumbered entries left-aligned with the number of
|
|
numbered entries of the same level. This corresponds to the default
|
|
setting.%
|
|
\IndexOption{toc~=\textKValue{numberline}}}%
|
|
\pventry{listof}{%
|
|
The lists of floating environments, e.\,g. figures and tables, have
|
|
unnumbered entries in the table of contents.%
|
|
\IndexOption{toc~=\textKValue{listof}}}%
|
|
\entry{\PValue{listofnumbered}, \PValue{numberedlistof}}{%
|
|
The lists of floating environments, e.\,g. figures and tables, have
|
|
numbered entries in the table of contents.%
|
|
\IndexOption{toc~=\textKValue{listofnumbered}}}%
|
|
\entry{\PValue{nobibliography}, \PValue{nobib}}{%
|
|
The bibliography does not have an entry in the table of contents. This
|
|
corresponds to the default setting.%
|
|
\IndexOption{toc~=\textKValue{nobibliography}}}%
|
|
\entry{\PValue{noindex}, \PValue{noidx}}{%
|
|
The index does not have an entry in the table of contents. This
|
|
corresponds to the default setting.%
|
|
\IndexOption{toc~=\textKValue{noindex}}}%
|
|
\pventry{nolistof}{%
|
|
The lists of floating environments, e.\,g. figures and tables, do not
|
|
have entries in the table of contents. This corresponds to the default
|
|
setting.%
|
|
\IndexOption{toc~=\textKValue{nolistof}}}%
|
|
\entry{\PValue{sectionentrywithdots}, \PValue{sectionentrydotfill}}{%
|
|
\ChangedAt[2014/12]{v3.15}{\Class{scrartcl}}%
|
|
The section entries of the \Class{scrartcl} class also use dots to
|
|
separate the heading text from the page numbers.%
|
|
\IndexOption{toc~=\textKValue{sectionentrywithdots}}}%
|
|
\entry{\PValue{sectionentrywithoutdots}, \PValue{sectionentryfill}}{%
|
|
\ChangedAt{v3.15}{\Class{scrartcl}}%
|
|
The section entries of the \Class{scrartcl} class use white space to
|
|
separate the heading text from the page number. This corresponds to the
|
|
default setting.%
|
|
\IndexOption{toc~=\textKValue{sectionentrywithoutdots}}}%
|
|
\end{desclist}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{chapterentrydots}{simple switch}\\
|
|
\OptionVName{sectionentrydots}{simple switch}
|
|
\end{Declaration}
|
|
These\ChangedAt[2014/12]{v3.15}{\Class{scrbook}\and \Class{scrreprt}} options
|
|
configure a dotted connecting line between the text and page number of the
|
|
chapter entries for the \Class{scrbook} and
|
|
\Class{scrreprt}\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} classes, or for
|
|
the section entries of the \Class{scrartcl}\OnlyAt{\Class{scrartcl}} class, in
|
|
the table of contents. For the \PName{simple switch}, you can use any value from
|
|
\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}.
|
|
The default is \PValue{false}. It selects an empty gap instead of dots.
|
|
|
|
\BeginIndex{FontElement}{chapterentrydots}\LabelFontElement{chapterentrydots}%
|
|
\BeginIndex{FontElement}{sectionentrydots}\LabelFontElement{sectionentrydots}%
|
|
If a dotted line is used, you can change its font using the element
|
|
\FontElement{chapterentrydots}%
|
|
\important[i]{\FontElement{chapterentrydots}\\
|
|
\FontElement{sectionentrydots}} or \FontElement{sectionentrydots} (see also
|
|
\DescRef{\LabelBase.cmd.setkomafont} and
|
|
\DescRef{\LabelBase.cmd.addtokomafont}, \autoref{sec:\LabelBase.textmarkup},
|
|
\DescPageRef{\LabelBase.cmd.setkomafont}, as well as
|
|
\autoref{tab:maincls.fontelements},
|
|
\autopageref{tab:maincls.fontelements}). The defaults of the elements are
|
|
shown in \autoref{tab:maincls.tocelements}, from
|
|
\autopageref{tab:maincls.tocelements}. Note\textnote{Attention!} that the dots
|
|
of all entries will be equally spaced only if all dots use the same
|
|
font. Because of this the base font is always
|
|
\Macro{normalfont}\Macro{normalsize} and only the colour of
|
|
\DescRef{\LabelBase.fontelement.chapterentry} or
|
|
\DescRef{\LabelBase.fontelement.sectionentry} is also used for the dots.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{tableofcontents}
|
|
\end{Declaration}%
|
|
The table of contents is output by the \Macro{tableofcontents} command. To get
|
|
correct values in the table of contents requires at least two {\LaTeX} runs
|
|
after every change. The \DescRef{\LabelBase.option.toc} option described above
|
|
can also affect the extent and format of the table of contents. After changing
|
|
the settings of this option, at least two \LaTeX{} runs are needed again.
|
|
|
|
Entries for \DescRef{\LabelBase.cmd.chapter}\IndexCmd{chapter} with
|
|
\Class{scrbook}\IndexClass{scrbook} and \Class{scrreprt}\IndexClass{scrreprt},
|
|
or \DescRef{\LabelBase.cmd.section}\IndexCmd{section} with
|
|
\Class{scrartcl}\IndexClass{scrartcl}, and the sectioning level
|
|
\DescRef{\LabelBase.cmd.part}\IndexCmd{part} are not indented. Additionally,
|
|
there are no dots between the text of this heading and the page number. The
|
|
typographical logic for this behaviour is that the font is usually distinct
|
|
and appropriate emphasis is desirable.
|
|
However\ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}, you can change this behaviour with the previously
|
|
documented options. The table of contents of this \iffree{guide}{book} is
|
|
created with the default settings and serves as an example.
|
|
|
|
\BeginIndex{FontElement}{partentry}\LabelFontElement{partentry}%
|
|
\BeginIndex{FontElement}{chapterentry}\LabelFontElement{chapterentry}%
|
|
\BeginIndex{FontElement}{sectionentry}\LabelFontElement{sectionentry}%
|
|
The\ChangedAt{v2.97c}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\important{\FontElement{partentry}\\
|
|
\FontElement{chapterentry}\\
|
|
\FontElement{sectionentry}} font style of the top two levels in the table of
|
|
contents is also affected by the settings for the \FontElement{partentry}
|
|
element, as well as by the \FontElement{chapterentry} element for the
|
|
\Class{scrbook} and \Class{scrreprt} classes, and by the
|
|
\FontElement{sectionentry} element for the \Class{scrartcl} class.
|
|
\BeginIndex{FontElement}{partentrypagenumber}%
|
|
\LabelFontElement{partentrypagenumber}%
|
|
\LabelFontElement{pagination}%
|
|
\BeginIndex{FontElement}{chapterentrypagenumber}%
|
|
\LabelFontElement{chapterentrypagenumber}%
|
|
\BeginIndex{FontElement}{sectionentrypagenumber}%
|
|
\LabelFontElement{sectionentrypagenumber}%
|
|
You can set the font style of the page numbers separately from these elements
|
|
using \FontElement{partentrypagenumber}%
|
|
\important{\FontElement{partentrypagenumber}} and
|
|
\FontElement{chapterentrypagenumber}%
|
|
\important{\FontElement{chapterentrypagenumber}\\
|
|
\FontElement{sectionentrypagenumber}}\,---\,for \Class{scrbook} and
|
|
\Class{scrreprt}\,---\,or \FontElement{sectionentrypagenumber}\,---\,for
|
|
\Class{scrartcl}\,---\, (see \DescRef{\LabelBase.cmd.setkomafont} and
|
|
\DescRef{\LabelBase.cmd.addtokomafont} in \autoref{sec:\LabelBase.textmarkup},
|
|
\DescPageRef{\LabelBase.cmd.setkomafont}, or
|
|
\autoref{tab:maincls.fontelements}, \autopageref{tab:maincls.fontelements}).
|
|
If\ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} you use dotted lines connecting the heading entries
|
|
(chapter or section depending on the class) to the page numbers using the
|
|
\DescRef{\LabelBase.option.toc}%
|
|
\IndexOption{toc~=\textKValue{chapterentrywithdots}}%
|
|
\IndexOption{toc~=\textKValue{sectionentrywithdots}}
|
|
\DescRef{\LabelBase.option.chapterentrydots}%
|
|
\IndexOption{chapterentrydots~=\PName{simple switch}} or
|
|
\DescRef{\LabelBase.option.sectionentrydots}%
|
|
\IndexOption{sectionentrydots~=\PName{simple switch}} option, you can change
|
|
their font style using the \DescRef{\LabelBase.fontelement.chapterentrydots}%
|
|
\IndexFontElement{chapterentrydots}%
|
|
\important{\DescRef{\LabelBase.fontelement.chapterentrydots}\\
|
|
\DescRef{\LabelBase.fontelement.sectionentrydots}} and
|
|
\DescRef{\LabelBase.fontelement.sectionentrydots}%
|
|
\IndexFontElement{sectionentrydots} elements. The defaults for these
|
|
elements are found in \autoref{tab:maincls.tocelements}.
|
|
\begin{table}
|
|
% \centering
|
|
% \caption
|
|
\KOMAoptions{captions=topbeside}%
|
|
\setcapindent{0pt}%
|
|
\begin{captionbeside}
|
|
[Default font styles for the elements of the table of contents]
|
|
{\label{tab:maincls.tocelements}%
|
|
Default font styles for the elements of the table of contents}
|
|
[l]
|
|
\setlength{\tabcolsep}{.9\tabcolsep}% Umbruchoptimierung!
|
|
\begin{tabular}[t]{ll}
|
|
\toprule
|
|
Element & Default font style \\
|
|
\midrule
|
|
\FontElement{partentry} &
|
|
\DescRef{\LabelBase.cmd.usekomafont}\PParameter{disposition}\Macro{large} \\
|
|
\FontElement{partentrypagenumber} & \\
|
|
\FontElement{chapterentry} & \DescRef{\LabelBase.cmd.usekomafont}\PParameter{disposition}\\
|
|
\FontElement{chapterentrydots} & \Macro{normalfont} \\
|
|
\FontElement{chapterentrypagenumber} & \\
|
|
\FontElement{sectionentry} & \DescRef{\LabelBase.cmd.usekomafont}\PParameter{disposition} \\
|
|
\FontElement{sectionentrydots} & \Macro{normalfont} \\
|
|
\FontElement{sectionentrypagenumber} & \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{captionbeside}
|
|
\end{table}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Counter{tocdepth}
|
|
\Macro{parttocdepth}
|
|
\Macro{sectiontocdepth}
|
|
\Macro{subsectiontocdepth}
|
|
\Macro{subsubsectiontocdepth}
|
|
\Macro{paragraphtocdepth}
|
|
\Macro{subparagraphtocdepth}
|
|
\end{Declaration}%
|
|
Normally, the sectioning divisions included in the table of contents are all
|
|
those from \DescRef{\LabelBase.cmd.part} to
|
|
\DescRef{\LabelBase.cmd.subsection} for the \Class{scrbook} and
|
|
\Class{scrreprt} classes, or from \DescRef{\LabelBase.cmd.part} to
|
|
\DescRef{\LabelBase.cmd.subsubsection} for the \Class{scrartcl} class. Whether
|
|
or not to include a sectioning level in the table of contents is controlled by
|
|
the \Counter{tocdepth} counter. This has the value -1 for
|
|
\DescRef{\LabelBase.cmd.part}, 0 for \DescRef{\LabelBase.cmd.chapter}, and so
|
|
on. By incrementing or decrementing the counter, you can choose the lowest
|
|
sectioning level to include in the table of contents. Incidentally, the
|
|
standard classes work the same way.
|
|
Unlike\ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\textnote{\KOMAScript{} vs. standard classes} with the
|
|
standard classes, with \KOMAScript{} you do not need to remember these values.
|
|
\KOMAScript{} defines a \Macro{\PName{level}tocdepth} command for each
|
|
sectioning level with the appropriate value which you can use to set
|
|
\Counter{tocdepth}.
|
|
|
|
Please note\textnote{Attention!} that in
|
|
\Class{scrartcl}\OnlyAt{\Class{scrartcl}}, the values of \Counter{tocdepth}
|
|
and \DescRef{\LabelBase.counter.secnumdepth}\IndexCounter{secnumdepth} (see
|
|
\autoref{sec:\LabelBase.structure},
|
|
\DescPageRef{\LabelBase.counter.secnumdepth}) for
|
|
\DescRef{\LabelBase.cmd.part} are not the same. This behaviour was copied from
|
|
the standard \Class{article} class for compatibility. Thus, for example, you
|
|
should not use \DescRef{\LabelBase.cmd.partnumdepth}\IndexCmd{partnumdepth} to
|
|
set the value of \Counter{tocdepth}.%
|
|
\begin{Example}
|
|
Suppose you are preparing an article that uses the sectioning level
|
|
\DescRef{\LabelBase.cmd.subsubsection}. However, you do not want this
|
|
sectioning level to appear in the table of contents. The preamble of your
|
|
document might contain the following:
|
|
\begin{lstcode}
|
|
\documentclass{scrartcl}
|
|
\setcounter{tocdepth}{\subsectiontocdepth}
|
|
\end{lstcode}
|
|
Thus you set the \Counter{tocdepth} counter to the value of the
|
|
\Macro{subsectiontocdepth} command. That value is normally 2, but this way,
|
|
you do not have to remember it.
|
|
|
|
If instead you simply want to include one less level in the table of
|
|
contents than you normally would, you can simply subtract one from the
|
|
default value of \Counter{tocdepth}:
|
|
\begin{lstcode}
|
|
\documentclass{scrartcl}
|
|
\addtocounter{tocdepth}{-1}
|
|
\end{lstcode}
|
|
The\textnote{Hint!} value that you need to add to or subtract from
|
|
\Counter{tocdepth} is listed in the table of contents after at least two
|
|
\LaTeX{} runs.
|
|
\end{Example}%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\LoadCommonFile{parmarkup}% \section{Paragraph Markup}
|
|
|
|
\LoadCommonFile{oddorevenpage}% \section{Detecting Odd or Even Pages}
|
|
|
|
|
|
\section{Headers and Footers Using Predefined Page Styles}
|
|
\seclabel{pagestyle}
|
|
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{page>style}%
|
|
One of the general characteristics of a document is the page style. In
|
|
\LaTeX{} this primarily consists of the contents of headers and footers.
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{headsepline}{simple switch}
|
|
\OptionVName{footsepline}{simple switch}
|
|
\end{Declaration}%
|
|
You\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} can use these options to specify whether a horizontal rule
|
|
appears beneath the header or above the footer. You can use any of the values
|
|
for simple switches shown in \autoref{tab:truefalseswitch},
|
|
\autopageref{tab:truefalseswitch}. Setting the \Option{headsepline} option to
|
|
true or invoking it with no value results in a line beneath the header.
|
|
Similarly, activating the \Option{footsepline} option results in a rule above
|
|
the footer. Deactivating either option switches off the respective rule.
|
|
|
|
The\textnote{Attention!} \Option{headsepline} option naturally has no effect
|
|
with the \DescRef{\LabelBase.pagestyle.empty} and
|
|
\DescRef{\LabelBase.pagestyle.plain} page styles, which are described below,
|
|
because these styles explicitly dispense with a header\Index{page>header}.
|
|
Typographically, such a line has the effect of making the header appear to be
|
|
closer to the text. This does not mean that the header then needs to be moved
|
|
farther away from the body of the text\Index{text>body}. Instead, the header
|
|
should be considered as belonging to the text body for the purpose of
|
|
calculating the type area. \KOMAScript{} takes this into account by passing
|
|
the \Option{headsepline} option to the
|
|
\hyperref[cha:typearea]{\Package{typearea}}%
|
|
\important{\hyperref[cha:typearea]{\Package{typearea}}}\IndexPackage{typearea}
|
|
package, which then automatically executes the package option
|
|
\DescRef{typearea.option.headinclude}%
|
|
\IndexOption{headinclude}\important{\DescRef{typearea.option.headinclude}}
|
|
with the same value. The same applies to the footer separation line. Unlike
|
|
\Option{headsepline}, the \Option{footsepline} option also affects the
|
|
\PValue{plain} page style because \PValue{plain} prints a page number in the
|
|
footer.
|
|
|
|
The options themselves do not automatically recalculate the type area. To
|
|
recalculate it, use the \DescRef{typearea.option.DIV} option with the values
|
|
\hyperref[desc:typearea.option.DIV.last]{\PValue{last}} or
|
|
\hyperref[desc:typearea.option.DIV.current]{\PValue{current}} (see
|
|
\DescPageRef{typearea.option.DIV.last}) or the
|
|
\DescRef{typearea.cmd.recalctypearea} command (see
|
|
\DescPageRef{typearea.cmd.recalctypearea}) in \autoref{cha:typearea}.
|
|
|
|
The \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}%
|
|
\IndexPackage{scrlayer-scrpage}%
|
|
\important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}
|
|
package (see \autoref{cha:scrlayer-scrpage}) offers further possibilities for
|
|
adjusting lines in headers and footers.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{pagestyle}\Parameter{page style}
|
|
\Macro{thispagestyle}\Parameter{local page style}
|
|
\end{Declaration}%
|
|
There are usually four different page styles:
|
|
\begin{description}
|
|
\item[{\PageStyle{empty}%
|
|
\BeginIndex[indexmain]{Pagestyle}{empty}\LabelPageStyle{empty}}] is the
|
|
page style with completely empty headers and footers. In {\KOMAScript}
|
|
this is identical to the standard classes.%
|
|
\item[{\PageStyle{headings}%
|
|
\BeginIndex[indexmain]{Pagestyle}{headings}\LabelPageStyle{headings}}] is
|
|
the page style with running heads in the header. In this style, headings are
|
|
automatically\Index[indexmain]{running heads>automatic} inserted into the
|
|
header. \OnlyAt{\Class{scrbook}\and\Class{scrreprt}}%
|
|
With the classes \Class{scrbook}\IndexClass{scrbook} and
|
|
\Class{scrreprt}\IndexClass{scrreprt}, the headings of chapters and sections
|
|
are repeated in the header for two-sided printing\,---\,on the outer side
|
|
with {\KOMAScript}\textnote{\KOMAScript{} vs. standard classes}, on the
|
|
inner side with the standard classes. {\KOMAScript} puts the page number on
|
|
the outer side of the footer; the standard classes put it on the inner side
|
|
of the header. In one-sided printing, {\KOMAScript} uses only the chapter
|
|
headings, which are centred in the header, and puts the page numbers centred
|
|
in the footer.
|
|
\OnlyAt{\Class{scrartcl}}\Class{scrartcl}\IndexClass{scrartcl} behaves
|
|
similarly but starts one a level deeper in the sectioning hierarchy, with
|
|
sections and subsections, because the chapter level does not exist in this
|
|
case.
|
|
|
|
While the standard classes\textnote{\KOMAScript{} vs. standard classes}
|
|
automatically convert the running heads to upper-case letters,
|
|
{\KOMAScript} uses the capitalisation found in the headings. There are
|
|
several typographical reasons for this. Upper-case letters are actually far
|
|
too massive as a text decoration. If you use them anyway, they should be set
|
|
one point smaller and with slightly tighter spacing. The standard classes do
|
|
not take these points into consideration.
|
|
|
|
In addition, the {\KOMAScript} classes support rules below the header and
|
|
above the footer with the \DescRef{\LabelBase.option.headsepline} and
|
|
\DescRef{\LabelBase.option.footsepline} options (see
|
|
\DescPageRef{\LabelBase.option.headsepline}).%
|
|
\item[{\PageStyle{myheadings}%
|
|
\BeginIndex[indexmain]{Pagestyle}{myheadings}\LabelPageStyle{myheadings}}]
|
|
mostly corresponds to the \PValue{headings} page style, but the running
|
|
heads are not generated automatically%
|
|
\Index[indexmain]{running heads>manual}\,---\,they have to be defined by the
|
|
user. You can use the \DescRef{\LabelBase.cmd.markboth}\IndexCmd{markboth}
|
|
and \DescRef{\LabelBase.cmd.markright}\IndexCmd{markright}\important{%
|
|
\DescRef{\LabelBase.cmd.markboth}\\
|
|
\DescRef{\LabelBase.cmd.markright}} commands for that purpose (see
|
|
\DescPageRef{\LabelBase.cmd.markright}).
|
|
\item[{\PageStyle{plain}%
|
|
\BeginIndex[indexmain]{Pagestyle}{plain}\LabelPageStyle{plain}}] is the
|
|
page style with no running head\Index{running head} and only a page number%
|
|
\Index{page>number} in the footer. The\textnote{\KOMAScript{} vs. standard
|
|
classes} standard classes always centre this page number in the footer.
|
|
{\KOMAScript} puts the page number on the outer side of the footer in
|
|
two-sided\Index{two-sided} mode. {\KOMAScript} behaves like the
|
|
standard classes in one-sided printing.%
|
|
\end{description}
|
|
|
|
You\important{\Macro{pagestyle}} can set the page style at any time with the
|
|
help of the \Macro{pagestyle} command, and this setting takes effect with the
|
|
next page that is output. If\textnote{Hint!} you use \Macro{pagestyle} just
|
|
before a command that results in an implicit page break and if the new page
|
|
style should be used on the resulting new page, a
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} just before \Macro{pagestyle} will be
|
|
useful. But usually you set the page style only once, at the beginning of the
|
|
document or in the preamble.
|
|
|
|
To\important{\Macro{thispagestyle}} change the page style of the current page
|
|
only, use the \Macro{thispagestyle} command. This occurs automatically at some
|
|
points in the document. For example, the
|
|
\Macro{thispagestyle}\PParameter{\DescRef{\LabelBase.cmd.chapterpagestyle}}
|
|
command is issued implicitly on the first page of a chapter.
|
|
|
|
Note\textnote{Attention!} that when you use the
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}%
|
|
\important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}
|
|
package, switching between automatic and manual running heads is no longer
|
|
accomplished by changing the page styles but with special instructions. You
|
|
should not use the \PValue{headings} and \PValue{myheadings} page styles with
|
|
this package.
|
|
|
|
\BeginIndexGroup \BeginIndex[indexother]{}{font>style}%
|
|
\BeginIndex{FontElement}{pageheadfoot}\LabelFontElement{pageheadfoot}%
|
|
\LabelFontElement{pagehead}%
|
|
\BeginIndex{FontElement}{pagefoot}\LabelFontElement{pagefoot}%
|
|
\BeginIndex{FontElement}{pagenumber}\LabelFontElement{pagenumber}%
|
|
To change the font style used for the header, the footer, or the page
|
|
number\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}, use the \DescRef{\LabelBase.cmd.setkomafont} and
|
|
\DescRef{\LabelBase.cmd.addtokomafont} commands (see
|
|
\autoref{sec:\LabelBase.textmarkup},
|
|
\DescPageRef{\LabelBase.cmd.setkomafont}). The same element,
|
|
\FontElement{pageheadfoot}\IndexFontElement{pageheadfoot}%
|
|
\important{\FontElement{pageheadfoot}}, is used for the header and the footer.
|
|
The element for the page number within the header or footer is called
|
|
\FontElement{pagenumber}\IndexFontElement{pagenumber}%
|
|
\important{\FontElement{pagenumber}}. The
|
|
\FontElement{pagefoot}\IndexFontElement{pagefoot}%
|
|
\important{\FontElement{pagefoot}} element, which is also provided by the
|
|
\KOMAScript{} classes, is used only if you define a page style with the
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}%
|
|
\IndexPackage{scrlayer-scrpage} package in which the footer contains text (see
|
|
\autoref{cha:scrlayer-scrpage},
|
|
\DescPageRef{scrlayer-scrpage.fontelement.pagefoot}).
|
|
|
|
You can find the default settings in
|
|
\autoref{tab:\LabelBase.defaultFontsHeadFoot}.
|
|
%
|
|
\begin{table}
|
|
% \centering%
|
|
% \caption
|
|
\KOMAoptions{captions=topbeside}%
|
|
\setcapindent{0pt}%
|
|
% \addtokomafont{caption}{\raggedright}%
|
|
\begin{captionbeside}
|
|
[{Default values for page style elements}]
|
|
{\label{tab:maincls.defaultFontsHeadFoot}%
|
|
\hspace{0pt plus 1ex}%
|
|
Default values for page style elements}
|
|
[l]
|
|
\begin{tabular}[t]{ll}
|
|
\toprule
|
|
Element & Default \\
|
|
\midrule
|
|
\FontElement{pagefoot}\IndexFontElement{pagefoot} &
|
|
\\
|
|
\FontElement{pageheadfoot}\IndexFontElement{pageheadfoot} &
|
|
\Macro{normalfont}\Macro{normalcolor}\Macro{slshape} \\
|
|
\FontElement{pagenumber}\IndexFontElement{pagenumber} &
|
|
\Macro{normalfont}\Macro{normalcolor}\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{captionbeside}
|
|
\end{table}
|
|
%
|
|
\begin{Example}
|
|
\leavevmode\phantomsection\xmpllabel{cmd.pagestyle}%
|
|
Suppose 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 in bold. Apart from the fact that the result will look
|
|
horrible, you can do this as follows:
|
|
\begin{lstcode}
|
|
\setkomafont{pageheadfoot}{%
|
|
\normalfont\normalcolor\itshape\small}
|
|
\setkomafont{pagenumber}{\normalfont\bfseries}
|
|
\end{lstcode}
|
|
On the other hand, if you only want a smaller font to be used along with the
|
|
default slanted text, you can use the following:
|
|
\begin{lstcode}
|
|
\addtokomafont{pagehead}{\small}
|
|
\end{lstcode}
|
|
As you can see, the previous example uses the
|
|
\FontElement{pagehead}\important{\FontElement{pagehead}} element. You can
|
|
achieve the same result using \PValue{pageheadfoot} instead (see
|
|
\autoref{tab:\LabelBase.fontelements} on
|
|
\autopageref{tab:\LabelBase.fontelements}).
|
|
\end{Example}
|
|
It is not possible to use these methods to force upper-case letters to be used
|
|
automatically for the running heads. Although you can redefine
|
|
\DescRef{tocbasic.cmd.MakeMarkcase}\IndexCmd{MakeMarkcase}, in such cases you
|
|
should instead use the
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}} package (see
|
|
\autoref{cha:scrlayer-scrpage},
|
|
\DescPageRef{scrlayer-scrpage.option.markcase}).
|
|
|
|
If\textnote{Hint!} you define your own page styles, the commands
|
|
\DescRef{\LabelBase.cmd.usekomafont}\PParameter{pageheadfoot},
|
|
\DescRef{\LabelBase.cmd.usekomafont}\PParameter{pagenumber}, and
|
|
\DescRef{\LabelBase.cmd.usekomafont}\PParameter{pagefoot} can be useful. In
|
|
particular, if you do not use the {\KOMAScript} package
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}} (see
|
|
\autoref{cha:scrlayer-scrpage}) but use, for example, the
|
|
\Package{fancyhdr}\IndexPackage{fancyhdr}\important{\Package{fancyhdr}}
|
|
package (see \cite{package:fancyhdr}), you can use these commands in your
|
|
definitions. In this way you can maintain compatibility with {\KOMAScript} as
|
|
much as possible. If you do not use these commands in your own definitions,
|
|
changes such as those shown in the previous examples have no effect. The
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}%
|
|
\IndexPackage{scrlayer-scrpage} package tries to maintain maximum
|
|
compatibility as long as, for example,
|
|
\iffree{\Macro{thepage}}{\DescRef{\LabelBase-experts.cmd.thepage}}%
|
|
\IndexCmd{thepage} is not used directly for the page number rather than the
|
|
\iffree{\Macro{pagemark}}{\DescRef{\LabelBase-experts.cmd.pagemark}}%
|
|
\IndexCmd{pagemark} which is provided for it.%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{markboth}\Parameter{left mark}\Parameter{right mark}
|
|
\Macro{markright}\Parameter{right mark}
|
|
\end{Declaration}
|
|
The \DescRef{\LabelBase.pagestyle.myheadings}%
|
|
\important{\DescRef{\LabelBase.pagestyle.myheadings}}%
|
|
\IndexPagestyle{myheadings} page style does not set the running head. Instead,
|
|
you set it with the help of the \Macro{markboth} and \Macro{markright}
|
|
commands. This way the \PName{left mark} will normally be used in the header
|
|
of even pages and \PName{right mark} in the header of odd pages. With
|
|
one-sided printing, only the \PName{right mark} exists. With the
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}%
|
|
\IndexPackage{scrlayer-scrpage}%
|
|
\important{\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}}
|
|
package, the \DescRef{scrlayer-scrpage.cmd.markleft}%
|
|
\IndexCmd{markleft}\important{\DescRef{scrlayer-scrpage.cmd.markleft}} command
|
|
is also available.
|
|
|
|
You can use these commands with other page styles too. However, when combined
|
|
with automatic running heads, for example with the
|
|
\DescRef{\LabelBase.pagestyle.headings}\IndexPagestyle{headings} page style,
|
|
the effect of the commands lasts only until the next time the respective marks
|
|
are set automatically.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\begin{Declaration}
|
|
\Macro{titlepagestyle}
|
|
\Macro{partpagestyle}
|
|
\Macro{chapterpagestyle}
|
|
\Macro{indexpagestyle}
|
|
\end{Declaration}%
|
|
\Index{title>page style}%
|
|
\Index{part>page style}%
|
|
\Index{chapter>page style}%
|
|
\Index{index>page style}%
|
|
On some pages, a different page style is chosen automatically with the help of
|
|
the \DescRef{\LabelBase.cmd.thispagestyle} command. 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}, and not in
|
|
\Class{scrartcl}. The default value for all four cases is
|
|
\DescRef{\LabelBase.pagestyle.plain}\IndexPagestyle{plain}. You can find the
|
|
meaning of these macros in \autoref{tab:specialpagestyles}.
|
|
%
|
|
\begin{table}
|
|
\centering
|
|
\caption{Macros to set up the 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 pages with
|
|
\DescRef{\LabelBase.cmd.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}
|
|
%
|
|
You can redefine the page styles with the \Macro{renewcommand} macro.
|
|
\begin{Example}
|
|
Suppose you do not want the pages with a \DescRef{\LabelBase.cmd.part}
|
|
heading to be numbered. You can use the following command in the preamble of
|
|
your document:
|
|
\begin{lstcode}
|
|
\renewcommand*{\partpagestyle}{empty}
|
|
\end{lstcode}
|
|
As mentioned previously on \DescPageRef{\LabelBase.pagestyle.empty},
|
|
the \PValue{empty} page style is exactly what is required in this
|
|
example. Of course, you can also use a user-defined page style.
|
|
|
|
Suppose you have defined your own page style for initial chapter pages with
|
|
the \hyperref[cha:scrlayer]{\Package{scrlayer}} (see
|
|
\autoref{sec:scrlayer.pagestyles}) or the
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}} package (see
|
|
\autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs}). You have given this
|
|
page style the fitting name of \PValue{chapter}. To actually use this style,
|
|
you must redefine \Macro{chapterpagestyle} in this way:
|
|
\begin{lstcode}
|
|
\renewcommand*{\chapterpagestyle}{chapter}
|
|
\end{lstcode}
|
|
|
|
Suppose you do not want the table of contents\Index{table of contents}%
|
|
\textnote{table of contents} of a book to have page numbers. Everything
|
|
after the table of contents, however, should use the \PValue{headings}
|
|
page style, including the \PValue{plain} page style for the first
|
|
page of every chapter. You can use the following:
|
|
\begin{lstcode}
|
|
\clearpage
|
|
\pagestyle{empty}
|
|
\renewcommand*{\chapterpagestyle}{empty}
|
|
\tableofcontents
|
|
\clearpage
|
|
\pagestyle{headings}
|
|
\renewcommand*{\chapterpagestyle}{plain}
|
|
\end{lstcode}
|
|
You can also keep the redefinition local by using a group. This method has
|
|
the advantage that you do not need to make any assumptions about the what
|
|
the previous page style was in order to restore it after your local change:
|
|
\begin{lstcode}
|
|
\clearpage
|
|
\begingroup
|
|
\pagestyle{empty}
|
|
\renewcommand*{\chapterpagestyle}{empty}
|
|
\tableofcontents
|
|
\clearpage
|
|
\endgroup
|
|
\end{lstcode}
|
|
Note,\important{Attention!} however, that you never should put a numbered
|
|
sectioning command into a group. Otherwise you may get unpredictable results
|
|
with commands like \Macro{label}.
|
|
|
|
On \DescPageRef{tocbasic.cmd.AfterTOCHead} in \autoref{sec:tocbasic.toc},
|
|
you will discover the \DescRef{tocbasic.cmd.AfterTOCHead} command, which
|
|
makes a solution even easier:
|
|
\begin{lstcode}
|
|
\AfterTOCHead[toc]{%
|
|
\thispagestyle{empty}%
|
|
\pagestyle{empty}%
|
|
}
|
|
\end{lstcode}%
|
|
This takes advantage of the fact that if there are several
|
|
\DescRef{\LabelBase.cmd.thispagestyle} commands on the same page, the last
|
|
one always wins.
|
|
\end{Example}
|
|
|
|
\begin{Explain}
|
|
You might think that you can put running heads on the first page of a
|
|
chapter simply by using the
|
|
\begin{lstcode}
|
|
\renewcommand*{\chapterpagestyle}{headings}
|
|
\end{lstcode}
|
|
command. Before you try this, you should read \iffree{}{more about the
|
|
background to \DescRef{maincls-experts.cmd.rightmark} in
|
|
\autoref{sec:maincls-experts.addInfos} on
|
|
\DescPageRef{maincls-experts.cmd.rightmark}. Also, }the remarks on
|
|
\DescRef{scrlayer-scrpage-experts.cmd.rightfirstmark} starting on page
|
|
\DescPageRef{scrlayer-scrpage-experts.cmd.rightfirstmark} in
|
|
\autoref{cha:scrlayer-scrpage-experts}, \autoref{part:forExperts}
|
|
\iffree{}{provide important information}.%
|
|
\end{Explain}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{pagenumbering}\Parameter{numbering style}
|
|
\end{Declaration}
|
|
This command works the same way in {\KOMAScript} as in the standard classes.
|
|
Strictly speaking, it is a feature of neither the standard classes nor the
|
|
\KOMAScript{} classes but of the {\LaTeX} kernel. This command is used to
|
|
change the \PName{numbering style} of page numbers.
|
|
|
|
The changes take effect immediately, i.\,e., starting from the page that
|
|
contains the command. If necessary, you should first close the current page
|
|
with \DescRef{\LabelBase.cmd.clearpage} or better
|
|
\DescRef{\LabelBase.cmd.cleardoubleoddpage}%
|
|
\important{\DescRef{\LabelBase.cmd.cleardoubleoddpage}}%
|
|
\IndexCmd{cleardoubleoddpage}. You can find the available settings for
|
|
\PName{numbering style} in \autoref{tab:numberKind}.
|
|
%
|
|
\begin{table}
|
|
% \centering
|
|
\KOMAoptions{captions=topbeside}%
|
|
\setcapindent{0pt}%
|
|
% \caption
|
|
\begin{captionbeside}
|
|
{\label{tab:numberKind}%
|
|
Available numbering styles of page numbers}
|
|
\begin{tabular}[t]{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}
|
|
\end{captionbeside}
|
|
\end{table}
|
|
|
|
Calling\textnote{Attention!} \Macro{pagenumbering} always resets the page
|
|
number\Index{page>number}. The current page becomes number 1 in the selected
|
|
\PName{numbering style}. In order that two-sided documents produce the correct
|
|
results on an even page, so that the left-hand page is not missing, you should
|
|
always add \DescRef{\LabelBase.cmd.cleardoubleoddpage}%
|
|
\important{\DescRef{\LabelBase.cmd.cleardoubleoddpage}}%
|
|
\IndexCmd{cleardoubleoddpage} before \Macro{pagenumbering}. The next section
|
|
provides more information about potentially inserted blank pages.
|
|
|
|
\begin{Explain}
|
|
Let me say a word about a common mistake found in various templates
|
|
circulating on the Internet. If you encounter lines like the
|
|
following\,---\,without the initial comment naturally\,---\,this is an
|
|
unmistakable sign that the creator did not read or understand the
|
|
remark above:
|
|
\begin{lstcode}
|
|
% Attention! This example contains errors!
|
|
% Please note the explanation in the text!
|
|
\tableofcontents
|
|
\pagenumbering{arabic}
|
|
\setcounter{page}{1}
|
|
\end{lstcode}
|
|
Since \DescRef{\LabelBase.cmd.tableofcontents} outputs the table of contents
|
|
but does not automatically issue a page break at the end, the page numbering
|
|
is already changed on the last page of the table of contents. Because it
|
|
lacks a \DescRef{\LabelBase.cmd.cleardoubleoddpage} command before
|
|
\Macro{pagenumbering}, it receives a pagination of the Arabic number 1.
|
|
Additionally, the final line which sets the page numbering to 1 is
|
|
superfluous, since this is already done by \Macro{pagenumbering}.
|
|
|
|
Sometimes\,---\,without the initial comment, naturally\,---\, you find:
|
|
\begin{lstcode}
|
|
% Attention! This example contains errors!
|
|
% Please note the explanation in the text!
|
|
\tableofcontents
|
|
\pagebreak
|
|
\pagenumbering{arabic}
|
|
\setcounter{page}{1}
|
|
\end{lstcode}
|
|
Here the creator tried to solve the problem with the final page of the table
|
|
of contents with the help of \Macro{pagebreak}\IndexCmd{pagebreak}.
|
|
|
|
Unfortunately, this solution is not much better. Here there is a page break
|
|
after the last page of the table of contents. This may cause entries on the
|
|
last page of a two-sided document to have excess vertical spacing (see
|
|
\DescRef{\LabelBase.cmd.flushbottom},
|
|
\DescPageRef{\LabelBase.cmd.flushbottom}). \Macro{pagebreak} is clearly
|
|
the wrong command here.
|
|
|
|
Furthermore, \Macro{newpage}\IndexCmd{newpage} or
|
|
\DescRef{\LabelBase.cmd.clearpage} would not be sufficient for a two-sided
|
|
document. For example, if the last page of the table of contents had the
|
|
Roman numeral vii, the Arabic numbered right-side page 1 would immediately
|
|
follow the Roman numeral right-side page. A left-side page between the two
|
|
would be missing, which could cause serious problems with later printing.
|
|
|
|
My advice: Avoid using templates that contain errors with respect to such
|
|
simple things. Incidentally, the correct way would be:
|
|
\begin{lstcode}
|
|
\tableofcontents
|
|
\cleardoubleoddpage
|
|
\pagenumbering{arabic}
|
|
\end{lstcode}
|
|
This also applies if \Class{scrartcl}\OnlyAt{\Class{scrartcl}} uses a class
|
|
that usually does not start a new page after the table of contents. If you
|
|
switch the page numbering, a new right-hand page must be started. If you do
|
|
not want such a change, you should keep the numbering style of pages
|
|
consistent throughout the document without changing it in between.
|
|
\iffalse% Umbruchkorrekturtext
|
|
For articles or other short documents, this is generally recommended.
|
|
\fi
|
|
|
|
It is easier to change the numbering style when using
|
|
\Class{scrbook}\OnlyAt{\Class{scrbook}}. There you have the support of two
|
|
commands, \DescRef{\LabelBase.cmd.frontmatter}%
|
|
\important{\DescRef{\LabelBase.cmd.frontmatter}\\
|
|
\DescRef{\LabelBase.cmd.mainmatter}}%
|
|
\IndexCmd{fontmatter} and \DescRef{\LabelBase.cmd.mainmatter}%
|
|
\IndexCmd{mainmatter}, for the most commonly used switching. For more
|
|
information, please see
|
|
\autoref{sec:maincls.separation},
|
|
\DescPageRef{\LabelBase.cmd.mainmatter}.%
|
|
\end{Explain}%
|
|
\EndIndexGroup
|
|
\EndIndexGroup
|
|
|
|
|
|
\LoadCommonFile{interleafpage}% \section{Interleaf Pages}
|
|
|
|
\LoadCommonFile{footnotes}% \section{Footnotes}
|
|
|
|
\section[Book Structure]{Book Structure\protect\OnlyAt{\Class{scrbook}}}
|
|
\seclabel{separation}
|
|
|
|
Sometimes books are loosely divided into \emph{front matter}%
|
|
\Index{front matter}, \emph{main matter}\Index{main matter}, and
|
|
\emph{back matter}\Index{back matter}. \KOMAScript{} also provides this
|
|
capability for \Class{scrbook}.
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{frontmatter}
|
|
\Macro{mainmatter}
|
|
\Macro{backmatter}
|
|
\end{Declaration}%
|
|
The front matter includes all the material which appears before the main
|
|
text begins, including title pages, preface, and table of contents. It is
|
|
initiated with
|
|
\Macro{frontmatter}\important{\Macro{frontmatter}}. In the front matter,
|
|
Roman numerals are used for the page numbers, and chapter headings in
|
|
the header are not numbered. However, section headings are numbered
|
|
consecutively, starting from chapter 0. This typically does not matter, as the
|
|
front matter is used only for the title pages, table of contents%
|
|
\Index{table of contents}, lists of figures\Index{list of>figures}%
|
|
\Index{figures>list of} and tables\Index{tables>list of}, and a
|
|
preface\Index{preface} or foreword\Index{foreword}. The preface can thus be
|
|
created as a normal chapter. A preface should be as short as possible and
|
|
never divided into sections. The preface thus does not require a deeper level
|
|
of structure than the chapter.
|
|
|
|
If you see things differently and want to use numbered
|
|
sections\Index{section>number} in the chapters of the front matter, as of
|
|
version~2.97e,\ChangedAt{v2.97e}{\Class{scrbook}}%
|
|
\important{\OptionValueRef{\LabelBase}{version}{2.97e}} 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
|
|
\DescRef{\LabelBase.option.version},
|
|
\autoref{sec:\LabelBase.compatibilityOptions},
|
|
\DescPageRef{\LabelBase.option.version}). It is explicitly noted that this
|
|
creates confusion with chapter numbers! The use of
|
|
\DescRef{\LabelBase.cmd.addsec} and \DescRef{\LabelBase.cmd.section*} (see
|
|
\autoref{sec:\LabelBase.structure}, \DescPageRef{\LabelBase.cmd.section*} and
|
|
\DescPageRef{\LabelBase.cmd.addsec}) are thus, in the author's opinion,
|
|
greatly preferable.
|
|
|
|
As of version~2.97e\ChangedAt{v2.97e}{\Class{scrbook}} the numbering of
|
|
floating environments, such as tables\Index{table>number} and
|
|
figures\Index{figure>number}, and equation numbers\Index{equation>number} in
|
|
the front matter also contains no chapter-number part. To take effect, this
|
|
too requires the corresponding compatibility setting (see the
|
|
\DescRef{\LabelBase.option.version} option,
|
|
\autoref{sec:\LabelBase.compatibilityOptions},
|
|
\DescPageRef{\LabelBase.option.version}).
|
|
|
|
The part of the book with the main text is introduced
|
|
with \Macro{mainmatter}\important{\Macro{mainmatter}}. If there is no front
|
|
matter, you can omit this command. The default page numbering in the main
|
|
matter uses Arabic numerals and (re)starts the page count at 1 at the start of
|
|
the main matter.
|
|
|
|
The back matter is introduced with
|
|
\Macro{backmatter}\important{\Macro{backmatter}}. Opinions differ as to what
|
|
belongs in 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 can use
|
|
the \DescRef{\LabelBase.cmd.pagenumbering}%
|
|
\important{\DescRef{\LabelBase.cmd.pagenumbering}} command in
|
|
\autoref{sec:\LabelBase.pagestyle},
|
|
\DescPageRef{\LabelBase.cmd.pagenumbering}.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\section{Document Structure}
|
|
\seclabel{structure}%
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{document structure}
|
|
|
|
The structure refers to dividing a document into parts, chapters, sections,
|
|
and additional levels of structure.
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{open}{method}
|
|
\end{Declaration}%
|
|
The\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} \KOMAScript{} classes
|
|
\Class{scrbook} and \Class{scrreprt} give you the choice of where to start a
|
|
new chapter with two-sided printing. By default \Class{scrreprt} starts a new
|
|
chapter\Index{chapter>start} on the next page. This is equivalent to
|
|
\PName{method} \PValue{any}. However, \Class{scrbook} starts new chapters at
|
|
the next right-hand page. This is equivalent to \PName{method} \PValue{right}
|
|
and is usually used in books. But sometimes chapters should start on the
|
|
left-hand page of a two-page spread. You can accomplish this with the
|
|
\PName{method} \PValue{left}\ChangedAt{v3.00}{\Class{scrbook}\and
|
|
\Class{scrreprt}}. You can find a summary of the available values in
|
|
\autoref{tab:\LabelBase.open}. The table also describes the effects of
|
|
\DescRef{\LabelBase.cmd.cleardoublepage},
|
|
\DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage} (see
|
|
\autoref{sec:\LabelBase.emptypage},
|
|
\DescPageRef{\LabelBase.cmd.cleardoublepage}).
|
|
|
|
\begin{table}
|
|
\caption[{Available values for the \Option{open} option}]{Available values
|
|
for the \Option{open} option to select page breaks with interleaf pages
|
|
using \Class{scrbook} or \Class{scrreprt}}
|
|
\begin{desctabular}
|
|
\pventry{any}{%
|
|
Parts, chapter, index, and back matter use
|
|
\DescRef{\LabelBase.cmd.clearpage}, not
|
|
\DescRef{\LabelBase.cmd.cleardoublepage};
|
|
\DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} behave the same as using
|
|
\OptionValue{open}{right}.%
|
|
\IndexOption{open~=\textKValue{any}}}%
|
|
\pventry{left}{%
|
|
Part, chapter, index, and back matter use
|
|
\DescRef{\LabelBase.cmd.cleardoublepage}; the commands
|
|
\DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} result in a page break and add
|
|
an interleaf page\Index{page>interleaf} if needed to reach the next
|
|
left-hand page.%
|
|
\IndexOption{open~=\textKValue{left}}}%
|
|
\pventry{right}{%
|
|
Part, chapter, index, and back matter use
|
|
\DescRef{\LabelBase.cmd.cleardoublepage}; the commands
|
|
\DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} result in a page break and add
|
|
an interleaf page\Index{page>interleaf} if needed to reach the next
|
|
right-hand page.%
|
|
\IndexOption{open~=\textKValue{right}}}%
|
|
\end{desctabular}
|
|
\label{tab:\LabelBase.open}
|
|
\end{table}
|
|
|
|
Since \LaTeX{} does not differentiate between left-hand and right-hand pages
|
|
in one-sided printing, the option has no effect in that case.
|
|
|
|
In the \Class{scrartcl} class, the section is the first structural element
|
|
below the part. For this reason, \Class{scrartcl} does not support this
|
|
option.
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{chapterprefix}{simple switch}
|
|
\OptionVName{appendixprefix}{simple switch}
|
|
\Macro{IfChapterUsesPrefixLine}\Parameter{then code}\Parameter{else code}
|
|
\end{Declaration}%
|
|
With\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} the standard classes
|
|
\Class{book} and \Class{report}, a chapter
|
|
heading\Index[indexmain]{chapter>heading} consists of a line with the word
|
|
``Chapter''\footnote{When using another language the word ``Chapter'' is of
|
|
course translated to the appropriate language.} followed by the chapter
|
|
number. The heading itself is set left-justified on the following line. The
|
|
same effect is obtained in {\KOMAScript} with the \Option{chapterprefix}
|
|
option. You can use any value from \autoref{tab:truefalseswitch},
|
|
\autopageref{tab:truefalseswitch} as the \PName{simple switch}. The default,
|
|
however, is \OptionValue{chapterprefix}{false}, the opposite
|
|
behaviour\textnote{\KOMAScript{} vs. standard classes} of that of the standard
|
|
classes, which corresponds to \OptionValue{chapterprefix}{true}. These options
|
|
also affect the automatic running heads in the headers (see
|
|
\autoref{sec:\LabelBase.pagestyle},
|
|
\DescPageRef{\LabelBase.pagestyle.headings}).
|
|
|
|
Sometimes you may want to use the simplified chapter headings produced by
|
|
\OptionValue{chapterprefix}{false} but at the same time to have the heading of
|
|
an appendix\Index{appendix} 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. Ultimately, this option changes the \Option{chapterprefix} option
|
|
automatically at the beginning of the \DescRef{\LabelBase.cmd.appendix}.
|
|
|
|
You\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}} can execute code
|
|
depending on the current setting for the chapter preceding line using
|
|
\Macro{IfChapterUsesPrefixLine}. If \Option{chapterprefix} is currently
|
|
active, the \PName{then code} is executed; otherwise, the \PName{else code} is
|
|
executed.
|
|
|
|
\BeginIndex{FontElement}{chapterprefix}%
|
|
You can change the font style of the chapter number line that uses
|
|
\OptionValue{chapterprefix}{true} or \OptionValue{appendixprefix}{true}
|
|
by using the
|
|
\FontElement{chapterprefix}\ChangedAt{v2.96a}{\Class{scrbook}\and
|
|
\Class{scrreprt}} element with the \DescRef{\LabelBase.cmd.setkomafont} and
|
|
\DescRef{\LabelBase.cmd.addtokomafont} commands (see
|
|
\autoref{sec:\LabelBase.textmarkup},
|
|
\DescPageRef{\LabelBase.cmd.setkomafont}). The default is to use the
|
|
\DescRef{\LabelBase.fontelement.chapter}\IndexFontElement{chapter} element
|
|
(see \DescPageRef{\LabelBase.cmd.chapter}, as well as
|
|
\autoref{tab:\LabelBase.structureElementsFont},
|
|
\autopageref{tab:\LabelBase.structureElementsFont}).
|
|
|
|
You can find additional settings for chapter headings in the explanation for
|
|
\DescRef{maincls-experts.cmd.RedeclareSectionCommand} and the commands
|
|
\DescRef{maincls-experts.cmd.chapterlineswithprefixformat} and
|
|
\DescRef{maincls-experts.cmd.chapterlinesformat} in
|
|
\autoref{sec:maincls-experts.sections}, \autoref{part:forExperts}.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{headings}{setting}
|
|
\end{Declaration}
|
|
Headings\index{heading}\index{document structure} of sectioning levels
|
|
normally use a relatively large font size in both the standard classes and
|
|
{\KOMAScript}. This choice does not appeal to everyone and is especially
|
|
problematic for small paper sizes. Consequently, {\KOMAScript} provides, in
|
|
addition to the large headings defined by the
|
|
\OptionValue{headings}{big}\IndexOption{headings~=\textKValue{big}}%
|
|
\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}%
|
|
\important{\OptionValue{headings}{big}\\
|
|
\OptionValue{headings}{normal}\\
|
|
\OptionValue{headings}{small}} option, the options
|
|
\OptionValue{headings}{normal}\IndexOption{headings~=\textKValue{normal}} and
|
|
\OptionValue{headings}{small}\IndexOption{headings~=\textKValue{small}}, which
|
|
allow for smaller headings. The font sizes resulting from these options for
|
|
\Class{scrbook} and \Class{scrreprt} are shown in
|
|
\autoref{tab:\LabelBase.structureElementsFont},
|
|
\autopageref{tab:\LabelBase.structureElementsFont}. Specifically, all three
|
|
settings reset the elements \DescRef{\LabelBase.fontelement.chapter}%
|
|
\IndexFontElement{chapter},
|
|
\DescRef{\LabelBase.fontelement.section}\IndexFontElement{section},
|
|
\DescRef{\LabelBase.fontelement.subsection}\IndexFontElement{subsection},
|
|
\DescRef{\LabelBase.fontelement.subsubsection}%
|
|
\IndexFontElement{subsubsection},
|
|
\DescRef{\LabelBase.fontelement.paragraph}\IndexFontElement{paragraph}, and
|
|
\DescRef{\LabelBase.fontelement.subparagraph}\IndexFontElement{subparagraph}
|
|
to the corresponding defaults. \Class{scrartcl}\OnlyAt{\Class{scrbook}\and
|
|
\Class{scrreprt}} generally uses slightly smaller headings. The spacing
|
|
before and after chapter headings is also reset by these options.
|
|
|
|
\iffalse%
|
|
Chapter headings also have the \Option{headings} option with the
|
|
\PValue{twolinechapter} or \PValue{onelinechapter} settings, which are
|
|
equivalent to the
|
|
\OptionValueRef{\LabelBase}{chapterprefix}{true} and
|
|
\OptionValueRef{\LabelBase}{chapterprefix}{false} options. In the appendix
|
|
there are additional effects of the \PValue{onelineappendix} and
|
|
\PValue{twolineappendix} options upon the \Option{headings} option, which
|
|
corresponds to
|
|
\OptionValueRef{\LabelBase}{appendixprefix}{false} and
|
|
\OptionValueRef{\LabelBase}{appendixprefix}{true} (see also
|
|
above). %
|
|
\else%
|
|
Chapter headings\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} also
|
|
have\important{%
|
|
\OptionValue{headings}{twolinechapter}\\
|
|
\OptionValue{headings}{onelinechapter}\\
|
|
\OptionValue{headings}{twolineappendix}\\
|
|
\OptionValue{headings}{onelineappendix}%
|
|
} the two options \OptionValue{headings}{twolinechapter} and
|
|
\OptionValue{headings}{onelinechapter}, which correspond to
|
|
\OptionValueRef{\LabelBase}{chapterprefix}{true} and
|
|
\OptionValueRef{\LabelBase}{chapterprefix}{false} explained above. For the
|
|
appendix,
|
|
\OptionValueRef{\LabelBase}{appendixprefix}{true} and
|
|
\OptionValueRef{\LabelBase}{appendixprefix}{false} serve as alternatives for
|
|
the \OptionValue{headings}{twolineappendix} and
|
|
\OptionValue{headings}{onelineappendix} options. %
|
|
\iffalse%
|
|
For the appendix, \OptionValue{headings}{twolineappendix} and
|
|
\OptionValue{headings}{onelineappendix} are available, which correspond to
|
|
the \OptionValueRef{\LabelBase}{appendixprefix}{true} and
|
|
\OptionValueRef{\LabelBase}{appendixprefix}{false} options (also see above).
|
|
\fi%
|
|
Of course, these options do not exist with \Class{scrartcl}%
|
|
\iffree{}{% Umbruchkorrekturtext
|
|
, since this class does not have chapters}%
|
|
.%
|
|
\fi
|
|
|
|
The\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} \OptionValue{headings}{standardclasses}%
|
|
\important{\OptionValue{headings}{standardclasses}} option adjusts the font
|
|
sizes of the headings to those of the standard classes. In addition, the font
|
|
for the \DescRef{\LabelBase.fontelement.disposition}%
|
|
\IndexFontElement{disposition} element is set to \Macro{bfseries}. It
|
|
therefore no longer uses a sans-serif font for the headings. If you use
|
|
\Class{scrbook}\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} or
|
|
\Class{scrreprt}, \OptionValue{headings}{twolinechapter} is also set and the
|
|
spacing between the chapter headings is adjusted to that of the standard
|
|
classes.
|
|
|
|
You\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} can set the method to specify
|
|
the page on which new chapters begin with
|
|
\OptionValue{headings}{openany}\important{%
|
|
\OptionValue{headings}{openany}\\
|
|
\OptionValue{headings}{openright}\\
|
|
\OptionValue{headings}{openleft}}, \OptionValue{headings}{openright}, and
|
|
\OptionValue{headings}{openleft}, or alternatively with the
|
|
\DescRef{\LabelBase.option.open} option, which takes the values \PValue{any},
|
|
\PValue{right}, and \PValue{left} (see above).
|
|
|
|
Another\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} special feature of \KOMAScript{} is the handling of the
|
|
optional argument of the sectioning commands \DescRef{\LabelBase.cmd.part},
|
|
\DescRef{\LabelBase.cmd.chapter}, etc. down to
|
|
\DescRef{\LabelBase.cmd.subparagraph}. You can change its function and
|
|
meaning\important{\OptionValue{headings}{optiontohead}\\
|
|
\OptionValue{headings}{optiontotoc}\\
|
|
\OptionValue{headings}{optiontoheadandtoc}} with the options
|
|
\OptionValue{headings}{optiontohead}%
|
|
\IndexOption{headings~=\textKValue{optiontohead}},
|
|
\OptionValue{headings}{optiontotoc}%
|
|
\IndexOption{headings~=\textKValue{optiontotoc}} and
|
|
\OptionValue{headings}{optiontoheadandtoc}%
|
|
\IndexOption{headings~=\textKValue{optiontoheadandtoc}}.
|
|
|
|
See \autoref{tab:\LabelBase.headings} for a summary of all available settings
|
|
for the \Option{headings} option. The explanations of the sectioning commands
|
|
below contain examples using some of these settings.
|
|
\begin{desclist}
|
|
\desccaption[{Available values for the \Option{headings} option}]{%
|
|
Available values for the \Option{headings} option to format
|
|
section headings%
|
|
\label{tab:\LabelBase.headings}%
|
|
}{%
|
|
Available values for the \Option{headings} option (\emph{continued})%
|
|
}%
|
|
\pventry{big}{%
|
|
Use large fonts in the headings for each of the default sectioning levels
|
|
with wide spacing above and below the titles.
|
|
\IndexOption{headings~=\textKValue{big}}}%
|
|
\pventry{normal}{%
|
|
Use medium-sized fonts in the headings with medium spacing above and below
|
|
the titles. \IndexOption{headings~=\textKValue{normal}}}%
|
|
\entry{\PValue{onelineappendix}, \PValue{noappendixprefix},
|
|
\PValue{appendixwithoutprefix}, \PValue{appendixwithoutprefixline}%
|
|
\IndexOption{headings~=\textKValue{onelineappendix}}}{%
|
|
Chapter headings in the appendix are set like other headings.%
|
|
}%
|
|
\entry{\PValue{onelinechapter}, \PValue{nochapterprefix},
|
|
\PValue{chapterwithoutprefix}, \PValue{chapterwithoutprefixline}%
|
|
\IndexOption{headings~=\textKValue{onelinechapter}}}{%
|
|
Chapter titles are set like other headings.%
|
|
}%
|
|
\pventry{openany}{%
|
|
The commands \DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} generate a page break and insert
|
|
an interleaf page\Index{interleaf page} if needed to reach the next
|
|
right-hand page in two-sided printing, the same as in
|
|
\OptionValue{headings}{openright}. Parts, chapter, the index, and back
|
|
matter use \DescRef{\LabelBase.cmd.clearpage} instead of
|
|
\DescRef{\LabelBase.cmd.cleardoublepage}.%
|
|
\IndexOption{headings~=\textKValue{openany}}}%
|
|
\pventry{openleft}{%
|
|
The commands \DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} generate a page break and insert
|
|
an interleaf page if needed to reach the next left-hand page in two-sided
|
|
printing. Part, chapter, index and back matter use
|
|
\DescRef{\LabelBase.cmd.cleardoublepage}.%
|
|
\IndexOption{headings~=\textKValue{openleft}}}%
|
|
\pventry{openright}{%
|
|
The commands \DescRef{\LabelBase.cmd.cleardoublepageusingstyle},
|
|
\DescRef{\LabelBase.cmd.cleardoublestandardpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleplainpage},
|
|
\DescRef{\LabelBase.cmd.cleardoubleemptypage}, and
|
|
\DescRef{\LabelBase.cmd.cleardoublepage} generate a page break and insert
|
|
an interleaf page if needed to reach the next right-hand page in two-sided
|
|
printing. Part, chapter, index and back matter use
|
|
\DescRef{\LabelBase.cmd.cleardoublepage}.%
|
|
\IndexOption{headings~=\textKValue{openright}}}%
|
|
\pventry{optiontohead}{%
|
|
The\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} advanced functionality of the optional argument of the
|
|
sectioning commands \DescRef{\LabelBase.cmd.part} down to
|
|
\DescRef{\LabelBase.cmd.subparagraph} is activated. By default, the
|
|
optional argument is used only for the running head.%
|
|
\IndexOption{headings~=\textKValue{optiontohead}}%
|
|
}%
|
|
\entry{\PValue{optiontoheadandtoc}, \PValue{optiontotocandhead}%
|
|
\IndexOption{headings~=\textKValue{optiontoheadandtoc}}}{%
|
|
The\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} advanced functionality of the optional argument of the
|
|
sectioning commands \DescRef{\LabelBase.cmd.part} down to
|
|
\DescRef{\LabelBase.cmd.subparagraph} is activated. By default, the
|
|
optional argument is used for the running head and the table of contents.%
|
|
}%
|
|
\pventry{optiontotoc}{%
|
|
The\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} advanced functionality of the optional argument of the
|
|
sectioning commands \DescRef{\LabelBase.cmd.part} down to
|
|
\DescRef{\LabelBase.cmd.subparagraph} is activated. By default, the
|
|
optional argument is used only for the table of contents.%
|
|
\IndexOption{headings~=\textKValue{optiontohead}}%
|
|
}%
|
|
\pventry{small}{%
|
|
Use small fonts in the headings with small spacing above and below the
|
|
titles.%
|
|
\IndexOption{headings~=\textKValue{small}}}%
|
|
\pventry{standardclasses}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}%
|
|
Reset the font settings for each of the standard sectioning levels and use
|
|
headings with the sizes of the standard classes. For chapter headings,
|
|
\Class{scrbook} und \Class{scrreprt} set
|
|
\OptionValue{headings}{twolinechapter}.%
|
|
}%
|
|
\entry{\PValue{twolineappendix}, \PValue{appendixprefix},
|
|
\PValue{appendixwithprefix}, \PValue{appendixwithprefixline}%
|
|
\IndexOption{headings~=\textKValue{twolineappendix}}}{%
|
|
Chapter titles in the appendix are set with a number line whose format is
|
|
determined by
|
|
\DescRef{\LabelBase.cmd.chapterformat}\IndexCmd{chapterformat}.%
|
|
}%
|
|
\entry{\PValue{twolinechapter}, \PValue{chapterprefix},
|
|
\PValue{chapterwithprefix}, \PValue{chapterwithprefixline}%
|
|
\IndexOption{headings~=\textKValue{twolinechapter}}}{%
|
|
Chapter titles are set with a number line whose format is determined by
|
|
\DescRef{\LabelBase.cmd.chapterformat}\IndexCmd{chapterformat}.%
|
|
}%
|
|
\end{desclist}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{numbers}{setting}
|
|
\end{Declaration}%
|
|
According to {\small DUDEN}, if only Arabic numerals are used to number
|
|
section headings\Index{headings}, the German practice is to have no point at
|
|
the end (see \cite[R\,3]{DUDEN}). On the other hand, if Roman numerals or
|
|
letters appear in the numbering, then a point should appear at the end of the
|
|
numbering (see \cite[R\,4]{DUDEN}). {\KOMAScript} has a mechanism that tries
|
|
to automate this somewhat complex rule. The result is that normally after
|
|
the sectioning commands \DescRef{\LabelBase.cmd.part} and
|
|
\DescRef{\LabelBase.cmd.appendix} the numbering switches to using a final
|
|
point. This information is saved in the \File{aux} file and takes effect on
|
|
the next {\LaTeX} run.
|
|
|
|
Sometimes the mechanism for placing or omitting the final point may fail.
|
|
Sometimes other languages have different rules. Therefore you can force the
|
|
use of the final point with the option
|
|
\OptionValue{numbers}{endperiod}\IndexOption{numbers~=\textKValue{endperiod}}%
|
|
\important{\OptionValue{numbers}{endperiod}\\
|
|
\OptionValue{numbers}{noendperiod}} or to prohibit it with
|
|
\OptionValue{numbers}{noendperiod}.
|
|
|
|
Note\textnote{Attention!} that this mechanism only takes effect on the
|
|
next {\LaTeX} run. Therefore, before you try to use these options to force
|
|
the correct numbering format, you should always perform another \LaTeX{} run
|
|
without modifying the document.
|
|
|
|
You can find a summary of the available values for the \PName{setting} of
|
|
\PName{numbers} in \autoref{tab:\LabelBase.numbers}. Unlike most other
|
|
settings, this option can only be set in the document preamble, i.\,e. before
|
|
\Macro{begin}\PParameter{document}.
|
|
|
|
\begin{table}
|
|
\caption[{Available values for the \Option{numbers} option}]{Available values
|
|
of the \Option{numbers} option to configure the final points of the
|
|
numbers for section headings}
|
|
\label{tab:\LabelBase.numbers}
|
|
\begin{desctabular}
|
|
\entry{\PValue{autoendperiod}, \PValue{autoenddot}, \PValue{auto}}{%
|
|
\KOMAScript{} decides whether to set the point at the end of sectioning
|
|
command numbers. If there are only Arabic numerals, the point will
|
|
be omitted. If a letter or Roman numeral is found, the
|
|
point is set. However, references to these numbers are set without
|
|
a final point.%
|
|
\IndexOption{numbers~=\textKValue{autoendperiod}}}%
|
|
\entry{\PValue{endperiod}, \PValue{withendperiod}, \PValue{periodatend},
|
|
\PValue{enddot}, \PValue{withenddot}, \PValue{dotatend}}{%
|
|
All numbers of sectioning commands and their subordinate numbers are set
|
|
with a final point. Only references will be set without the final
|
|
point.%
|
|
\IndexOption{numbers~=\textKValue{endperiod}}}%
|
|
\entry{\PValue{noendperiod}, \PValue{noperiodatend},
|
|
\PValue{noenddot}, \PValue{nodotatend}}{%
|
|
All numbers of sectioning commands are set without a final point.%
|
|
\IndexOption{numbers~=\textKValue{noendperiod}}}%
|
|
\end{desctabular}
|
|
\end{table}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Option{chapteratlists}%
|
|
\OptionVName{chapteratlists}{value}
|
|
\end{Declaration}%
|
|
As mentioned in \autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.option.listof}\OnlyAt{\Class{scrbook}\and
|
|
\Class{scrreprt}}, every chapter that is created with
|
|
\DescRef{\LabelBase.cmd.chapter} normally inserts a vertical space in the
|
|
lists of floating environments (e.\,g., tables and figures).
|
|
Since version~2.96a,\important{\OptionValueRef{\LabelBase}{version}{2.96a}}%
|
|
\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}} this also applies to
|
|
the \DescRef{\LabelBase.cmd.addchap} command unless you choose a compatibility
|
|
setting for an earlier version (see the \DescRef{\LabelBase.option.version}
|
|
option in \autoref{sec:\LabelBase.compatibilityOptions},
|
|
\DescPageRef{\LabelBase.option.version}).
|
|
|
|
In addition, you can use the \Option{chapteratlists} option to change the
|
|
vertical spacing by specifying the desired distance as the \PName{value}.
|
|
The default with \OptionValueRef{\LabelBase}{listof}{chaptergapsmall}%
|
|
\IndexOption{listof~=\textKValue{chaptergapsmall}} %
|
|
is 10\Unit{pt} (see the\DescRef{\LabelBase.option.version} option in
|
|
\autoref{sec:\LabelBase.compatibilityOptions},
|
|
\DescPageRef{\LabelBase.option.version}).
|
|
|
|
If you use \OptionValue{chapteratlists}{entry}%
|
|
\IndexOption{chapteratlists~=\textKValue{entry}}%
|
|
\important{\OptionValue{chapteratlists}{entry}} or \Option{chapteratlists}
|
|
without specifying a value, instead of a vertical space, the chapter entry
|
|
itself will be entered into the lists. Note that such an entry occurs even if
|
|
the chapter does not contain a floating environment. A method where only
|
|
chapters with floating environments are displayed in the respective list can
|
|
be found in the German-language \KOMAScript{} forum at
|
|
\cite{https://komascript.de/comment/5070}.
|
|
|
|
Please\textnote{Attention!} note that changes to this option only takes
|
|
effect after two additional {\LaTeX} runs.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\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}%
|
|
\Index[indexmain]{part}%
|
|
\Index[indexmain]{chapter}%
|
|
\Index[indexmain]{section}%
|
|
The standard sectioning commands in {\KOMAScript} work the same way as those
|
|
in the standard classes. Thus, you can specify an alternative text for the
|
|
table of contents and running heads as an optional argument to the sectioning
|
|
commands.
|
|
|
|
However, with\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\textnote{\KOMAScript{} vs. standard classes} the
|
|
\important{\DescRef{\LabelBase.option.headings}}
|
|
\OptionValueRef{\LabelBase}{headings}{optiontohead}%
|
|
\IndexOption[indexmain]{headings~=\textKValue{optiontohead}} option,
|
|
\KOMAScript{} only uses the optional argument \PName{short version} in the
|
|
running head, not the table of contents. Of course, this text will only appear
|
|
if you use a page style\Index{page>style} that puts the corresponding
|
|
sectioning level in the running head. See \autoref{sec:\LabelBase.pagestyle}
|
|
and \autoref{cha:scrlayer-scrpage}. With the
|
|
\OptionValueRef{\LabelBase}{headings}{optiontotoc}%
|
|
\IndexOption[indexmain]{headings~=\textKValue{optiontotoc}} option,
|
|
\KOMAScript{} uses the optional argument \PName{short version} exclusively for
|
|
the table of contents and not the running head. However, the entry will be
|
|
shown only if the \DescRef{\LabelBase.counter.tocdepth} counter is great
|
|
enough (see \autoref{sec:\LabelBase.toc},
|
|
\DescPageRef{\LabelBase.counter.tocdepth}). With the
|
|
\OptionValueRef{\LabelBase}{headings}{optiontoheadandtoc}%
|
|
\IndexOption[indexmain]{headings~=\textKValue{optiontoheadandtoc}} option,
|
|
\KOMAScript{} uses the optional argument \PName{short version} in both the
|
|
table of contents and the running head. These three options all activate the
|
|
extended interpretation of the optional argument \PName{short version}, which
|
|
is not active by default.
|
|
|
|
The \ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} extended interpretation of the optional argument checks to
|
|
see if there is an equals sign in \PName{short version}. If so, the optional
|
|
argument will be interpreted as an \PName{option list}.
|
|
Three options\,---\,\OptionVName{head}{running head}\important{\Option{head}\\
|
|
\Option{tocentry}\\
|
|
\Option{reference}\\
|
|
\Option{nonumber}}, \OptionVName{tocentry}{table of contents entry},
|
|
\OptionVName{reference}{reference title}%
|
|
\ChangedAt{v3.22}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}},
|
|
and \OptionVName{nonumber}{simple switch}\ChangedAt{v3.27}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}\,---\,are supported with this
|
|
format. To use commas or equals signs within the values of those options, you
|
|
must enclose them in braces.
|
|
|
|
Please\textnote{Attention!} note that this mechanism only works as long as
|
|
\KOMAScript{} controls the sectioning commands. If you use package that
|
|
redefines the \KOMAScript{}'s or the internal \LaTeX{} kernel's sectioning
|
|
commands, \KOMAScript{} can no longer provide this extended mechanism. This
|
|
also applies to a \KOMAScript{} extension that is always active: sectioning
|
|
commands with no heading text\textnote{empty headings} do not create entries
|
|
in the table of contents. If you really want an entry with empty heading text,
|
|
you can use an invisible entry like \lstinline|\mbox{}|.
|
|
|
|
\begin{Example}
|
|
Suppose you have a document with very long chapter headings. These headings
|
|
should appear in the table of contents, but you want to limit the running
|
|
head to short, single-line headings. You can do this with the optional
|
|
argument of \Macro{chapter}.
|
|
\begin{lstcode}
|
|
\chapter[short version of chapter heading]
|
|
{The Sectioning Command for Chapters
|
|
Supports not only the Heading Text
|
|
Itself but also a Short Version Whose
|
|
Use can be Controlled}
|
|
\end{lstcode}
|
|
|
|
A little later you realize that the line breaks for this long heading are
|
|
very inappropriate. You therefore want to choose the breaks
|
|
yourself. Nevertheless, you still want automatic line breaking in the table
|
|
of contents. With
|
|
\begin{lstcode}
|
|
\chapter[head={short version of chapter heading},
|
|
tocentry={The Sectioning
|
|
Command for Chapters Supports not
|
|
only the Heading Text Itself but
|
|
also a Short Version Whose Use
|
|
can be Controlled}]
|
|
{The Sectioning\\
|
|
Command for Chapters\\
|
|
Supports not only\\
|
|
the Heading Text Itself\\
|
|
but also\\
|
|
a Short Version Whose\\
|
|
Use can be Controlled}
|
|
\end{lstcode}
|
|
you create separate entries for the table of contents, running head, and
|
|
chapter heading itself. The arguments of the options \Option{head} and
|
|
\Option{tocentry} have been enclosed in braces so their contents
|
|
can be arbitrary.
|
|
|
|
The need for braces in the example above is best illustrated by another
|
|
example. Suppose you chose the
|
|
\OptionValueRef{\LabelBase}{headings}{optiontotoc} option and set the title
|
|
this way:
|
|
\begin{lstcode}
|
|
\section[head=\emph{value}]
|
|
{Option head=\emph{value}}
|
|
\end{lstcode}
|
|
This results in the entry ``Option head=\emph{value}'' in the table of
|
|
contents but ``\emph{value}'' in the running head. But surely you wanted the
|
|
entry ``head=\emph{value}'' in the table of contents and the complete
|
|
heading text in the running head. You can do this using braces:
|
|
\begin{lstcode}
|
|
\section[head{=}\emph{value}]
|
|
{Option head=\emph{value}}
|
|
\end{lstcode}
|
|
|
|
A similar case concerns the comma. Using the same
|
|
\DescRef{\LabelBase.option.headings} option as before
|
|
\begin{lstcode}
|
|
\section[head=0, 1, 2, 3, \dots]
|
|
{Natural Numbers Including the Zero}
|
|
\end{lstcode}
|
|
results in an error because the comma is interpreted as the
|
|
separator between the individual options of the option list %
|
|
``\lstinline|0, 1, 2, 3, \dots|''. But writing
|
|
\begin{lstcode}
|
|
\section[head={0, 1, 2, 3, \dots}]
|
|
{Natural Numbers Including the Zero}
|
|
\end{lstcode}
|
|
makes ``\lstinline|0, 1, 2, 3, \dots|'' the argument of
|
|
the \Option{head} option.
|
|
\end{Example}
|
|
|
|
Like\ChangedAt{v3.22}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} setting the title of a running head with the \Option{head}
|
|
option, or setting the title of a table-of-contents entry with the
|
|
\Option{tocentry} option, you can set the title of a reference with the
|
|
\Package{nameref}\IndexPackage{nameref}\important{\Package{nameref}\\
|
|
\Package{titleref}\\
|
|
\Package{zref-titleref}} or
|
|
\Package{titleref}\IndexPackage{titleref} packages, or with the
|
|
\Package{titleref}\IndexPackage{zref-titleref} module of the
|
|
\Package{zref}\IndexPackage{zref} package, using the \Option{reference}%
|
|
\important{\Option{reference}} option. Note that the support for the
|
|
\Package{titleref} package is rather rudimentary, since that package's
|
|
performance is poor compared to the other two, and it is not fully compatible
|
|
with \Package{hyperref}\IndexPackage{hyperref}\important{\Package{hyperref}}.
|
|
|
|
You can deactivate the numbering using
|
|
\OptionValue{nonumber}{true}\important{\Option{nonumber}}%
|
|
\ChangedAt{v3.27}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}
|
|
in the extended optional argument. In contrast to the
|
|
\hyperref[desc:maincls.cmd.part*]{starred versions of the sectioning commands}
|
|
explained below, the titles will still be added to the table of contents and,
|
|
if applicable, used for the running head. For \Macro{part}, \Macro{chapter},
|
|
and \Macro{section}, using \OptionValue{nonumber}{true} this essentially
|
|
corresponds to the \DescRef{\LabelBase.cmd.addpart},
|
|
\DescRef{\LabelBase.cmd.addchap}, and \DescRef{\LabelBase.cmd.addsec}
|
|
commands, which are explained on \DescPageRef{\LabelBase.cmd.addpart}.
|
|
|
|
The part-level title\important{\Macro{part}} (\Macro{part}) differs from other
|
|
sectioning levels by being numbered independently. 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
|
|
the \Class{scrbook}\OnlyAt{\Class{scrbook}\and \Class{scrreprt}} and
|
|
\Class{scrreprt} classes, the title of the part level together with the
|
|
corresponding preamble (see \DescRef{\LabelBase.cmd.setpartpreamble},
|
|
\DescPageRef{\LabelBase.cmd.setpartpreamble}) is set on a separate page.
|
|
|
|
The \Macro{chapter}\important{\Macro{chapter}}\OnlyAt{\Class{scrbook}\and
|
|
\Class{scrreprt}} command only exists in the book and report classes, that
|
|
is, in \Class{book}, \Class{scrbook}, \Class{report} and \Class{scrreport},
|
|
but not in the article classes \Class{article} and \Class{scrartcl}.
|
|
Furthermore, the \Macro{chapter}\textnote{\KOMAScript{} vs. standard classes}
|
|
command in {\KOMAScript} differs substantially from the version in the
|
|
standard classes. 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 text.
|
|
\KOMAScript{} replaces this
|
|
overpowering\important{\DescRef{\LabelBase.option.chapterprefix}\\
|
|
\DescRef{\LabelBase.option.appendixprefix}} style with a simple chapter
|
|
number before the chapter title, but you can restore the original behaviour
|
|
with the \DescRef{\LabelBase.option.chapterprefix} option (see
|
|
\DescPageRef{\LabelBase.option.chapterprefix}).
|
|
|
|
Please\textnote{Attention!} note that \Macro{part} and \Macro{chapter} in the
|
|
\Class{scrbook} and \Class{scrreprt}
|
|
\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} classes change the page style for
|
|
one page. The page style applied in {\KOMAScript} is defined in the macros
|
|
\DescRef{\LabelBase.cmd.partpagestyle} and
|
|
\DescRef{\LabelBase.cmd.chapterpagestyle} (see
|
|
\autoref{sec:\LabelBase.pagestyle},
|
|
\DescPageRef{\LabelBase.cmd.titlepagestyle}).
|
|
|
|
\BeginIndexGroup
|
|
\BeginIndex[indexother]{}{font}%
|
|
\BeginIndex[indexother]{}{font>style}%
|
|
\BeginIndex[indexother]{}{font>size}%
|
|
\BeginIndex{FontElement}{part}\LabelFontElement{part}%
|
|
\BeginIndex{FontElement}{partnumber}\LabelFontElement{partnumber}%
|
|
\BeginIndex{FontElement}{chapter}\LabelFontElement{chapter}%
|
|
\BeginIndex{FontElement}{chapterprefix}\LabelFontElement{chapterprefix}%
|
|
\BeginIndex{FontElement}{section}\LabelFontElement{section}%
|
|
\BeginIndex{FontElement}{subsection}\LabelFontElement{subsection}%
|
|
\BeginIndex{FontElement}{subsubsection}\LabelFontElement{subsubsection}%
|
|
\BeginIndex{FontElement}{paragraph}\LabelFontElement{paragraph}%
|
|
\BeginIndex{FontElement}{subparagraph}\LabelFontElement{subparagraph}%
|
|
\BeginIndex{FontElement}{disposition}\LabelFontElement{disposition}%
|
|
You\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} can change the font style for all headings with the
|
|
\DescRef{\LabelBase.cmd.setkomafont}\IndexCmd{setkomafont} and
|
|
\DescRef{\LabelBase.cmd.addtokomafont}\IndexCmd{addtokomafont} commands (see
|
|
\autoref{sec:\LabelBase.textmarkup},
|
|
\DescPageRef{\LabelBase.cmd.setkomafont}). In doing so, the element
|
|
\FontElement{disposition}\important{\FontElement{disposition}} is applied
|
|
first, followed by the specific element\important{%
|
|
\FontElement{part}\\
|
|
\FontElement{chapter}\\
|
|
\FontElement{section}\\
|
|
\FontElement{subsection}\\
|
|
\FontElement{paragraph}\\
|
|
\FontElement{subparagraph}} for each sectioning level (see
|
|
\autoref{tab:\LabelBase.fontelements},
|
|
\autopageref{tab:\LabelBase.fontelements}). There is a separate elements,
|
|
\FontElement{partnumber}, for the number of the part heading, and
|
|
\FontElement{chapterprefix}, for the optional prefix line of chapter headings.
|
|
The initial definition for the \FontElement{disposition} element is
|
|
\Macro{normalcolor}\linebreak[2]\Macro{sffamily}\linebreak[2]\Macro{bfseries}.
|
|
The default font sizes for the specific elements depends on the options
|
|
\OptionValueRef{\LabelBase}{headings}{big},
|
|
\OptionValueRef{\LabelBase}{headings}{normal}, and
|
|
\OptionValueRef{\LabelBase}{headings}{small} (see
|
|
\DescPageRef{\LabelBase.option.headings}). They are listed in
|
|
\autoref{tab:\LabelBase.structureElementsFont}.
|
|
% Umbruchkorrektur: Tabelle verschoben
|
|
\begin{table}
|
|
% \centering%
|
|
% \caption
|
|
\KOMAoptions{captions=topbeside}%
|
|
\setcapindent{0pt}%
|
|
\begin{captionbeside}[{Default font sizes for different levels of document
|
|
sectioning}]{%
|
|
\label{tab:\LabelBase.structureElementsFont}%
|
|
Default font sizes for different levels of document sectioning in
|
|
\Class{scrbook} and \Class{scrreprt}}[l]
|
|
\begin{tabular}[t]{lll}
|
|
\toprule
|
|
Class Option & Element & Default\\
|
|
\midrule
|
|
\OptionValueRef{\LabelBase}{headings}{big}
|
|
& \DescRef{\LabelBase.fontelement.part}\IndexFontElement{part}
|
|
& \Macro{Huge} \\
|
|
& \DescRef{\LabelBase.fontelement.partnumber}%
|
|
\IndexFontElement{partnumber}
|
|
& \Macro{huge} \\
|
|
& \DescRef{\LabelBase.fontelement.chapter}\IndexFontElement{chapter}
|
|
& \Macro{huge} \\
|
|
& \DescRef{\LabelBase.fontelement.chapterprefix}%
|
|
\IndexFontElement{chapterprefix}
|
|
& \DescRef{\LabelBase.cmd.usekomafont}\PParameter{chapter} \\
|
|
& \DescRef{\LabelBase.fontelement.section}\IndexFontElement{section}
|
|
& \Macro{Large} \\
|
|
& \DescRef{\LabelBase.fontelement.subsection}%
|
|
\IndexFontElement{subsection}
|
|
& \Macro{large} \\
|
|
& \DescRef{\LabelBase.fontelement.subsubsection}%
|
|
\IndexFontElement{subsubsection}
|
|
& \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.paragraph}\IndexFontElement{paragraph}
|
|
& \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.subparagraph}%
|
|
\IndexFontElement{subparagraph}
|
|
& \Macro{normalsize} \\[1ex]
|
|
\OptionValueRef{\LabelBase}{headings}{normal}
|
|
& \DescRef{\LabelBase.fontelement.part} & \Macro{huge} \\
|
|
& \DescRef{\LabelBase.fontelement.partnumber} & \Macro{huge} \\
|
|
& \DescRef{\LabelBase.fontelement.chapter} & \Macro{LARGE} \\
|
|
& \FontElement{chapterprefix}\IndexFontElement{chapterprefix}
|
|
& \DescRef{\LabelBase.cmd.usekomafont}\PParameter{chapter} \\
|
|
& \DescRef{\LabelBase.fontelement.section} & \Macro{Large} \\
|
|
& \DescRef{\LabelBase.fontelement.subsection} & \Macro{large} \\
|
|
& \DescRef{\LabelBase.fontelement.subsubsection} & \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.paragraph} & \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.subparagraph} & \Macro{normalsize} \\[1ex]
|
|
\OptionValueRef{\LabelBase}{headings}{small}
|
|
& \DescRef{\LabelBase.fontelement.part} & \Macro{LARGE} \\
|
|
& \DescRef{\LabelBase.fontelement.partnumber} & \Macro{LARGE} \\
|
|
& \DescRef{\LabelBase.fontelement.chapter} & \Macro{Large} \\
|
|
& \FontElement{chapterprefix}\IndexFontElement{chapterprefix}
|
|
& \DescRef{\LabelBase.cmd.usekomafont}\PParameter{chapter} \\
|
|
& \DescRef{\LabelBase.fontelement.section} & \Macro{large} \\
|
|
& \DescRef{\LabelBase.fontelement.subsection} & \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.subsubsection} & \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.paragraph} & \Macro{normalsize} \\
|
|
& \DescRef{\LabelBase.fontelement.subparagraph} & \Macro{normalsize}\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{captionbeside}
|
|
\end{table}
|
|
%
|
|
\begin{Example}
|
|
Suppose you use the \OptionValueRef{\LabelBase}{headings}{big} class option
|
|
and notice that the very large headings of the document parts are too bold.
|
|
You could change this as follows:
|
|
\begin{lstcode}
|
|
\setkomafont{disposition}{\normalcolor\sffamily}
|
|
\part{Appendices}
|
|
\addtokomafont{disposition}{\bfseries}
|
|
\end{lstcode}
|
|
Using the command above you only switch off the font attribute
|
|
\textbf{bold} for a heading ``Appendices''. A much more convenient
|
|
and elegant solution is to change all \Macro{part} headings at once.
|
|
This is done either by:
|
|
\begin{lstcode}
|
|
\addtokomafont{part}{\normalfont\sffamily}
|
|
\addtokomafont{partnumber}{\normalfont\sffamily}
|
|
\end{lstcode}
|
|
or simply:
|
|
\begin{lstcode}
|
|
\addtokomafont{part}{\mdseries}
|
|
\addtokomafont{partnumber}{\mdseries}
|
|
\end{lstcode}
|
|
The second version is preferred because it gives you the correct result
|
|
even if you change the \DescRef{\LabelBase.fontelement.disposition}
|
|
element\IndexFontElement{disposition}, for instance:
|
|
\begin{lstcode}
|
|
\setkomafont{disposition}{\normalcolor\bfseries}
|
|
\end{lstcode}
|
|
With this change, it is possible to set all section levels at once to no
|
|
longer use sans serif fonts.
|
|
\end{Example}
|
|
|
|
I strongly advise against using the ability to switch fonts in order to mix
|
|
fonts, font sizes, and font attributes wildly. Picking the right font for the
|
|
job is a matter for experts and has almost nothing to do with the personal
|
|
tastes of non-experts. See 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 sectioning
|
|
levels in {\KOMAScript}. Non-experts in typography should absolutely avoid
|
|
doing so for excellent typographical reasons.
|
|
|
|
A rule of typography states that you should mix as few fonts as possible.
|
|
Using sans serif for headings already seems to violate this rule. However,
|
|
you should realize that large, bold, serif letters are much too heavy for
|
|
headings. Strictly speaking, you should then use a normal instead of a bold
|
|
or semi-bold font. However, in deeper levels of the sectioning, a normal
|
|
font may then appear too light. On the other hand, sans serif fonts have a
|
|
very pleasant appearance in headings, and almost solely in headings. There
|
|
is, therefore, good reason why sans serif is the default in {\KOMAScript}.
|
|
|
|
Greater variety should, however, be avoided. Font mixing is something for
|
|
professionals. For this reason, if you want to use fonts other 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 about the compatibility of the sans serif and serif fonts,
|
|
or redefine the element
|
|
\DescRef{\LabelBase.fontelement.disposition}\IndexFontElement{disposition}
|
|
as a precautionary measure. The author considers the commonly encountered
|
|
combinations of Times and Helvetica or Palatino with Helvetica to be
|
|
awkward.
|
|
\end{Explain}
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\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}%
|
|
The starred variants of all sectioning commands produce
|
|
unnumbered\Index{numbering} headings which do not appear in the table of
|
|
contents\Index{table>of contents}\Index{contents>table of} or in the running
|
|
head\Index{running head}. The absence of a running head often has an unwanted
|
|
side effect. If, for example, a chapter set using \Macro{chapter*} spans
|
|
several pages, then the running head of the previous chapter suddenly
|
|
reappears. {\KOMAScript} offers a solution for this problem, described below.
|
|
\Macro{chapter*}\OnlyAt{\Class{scrbook}\and\Class{scrreprt}} only exists in
|
|
book and report classes, that is, \Class{book}, \Class{scrbook},
|
|
\Class{report} and \Class{scrreport}, not in the article classes
|
|
\Class{article} and \Class{scrartcl}.
|
|
|
|
Please\textnote{Attention!} note that \DescRef{\LabelBase.cmd.part} and
|
|
\DescRef{\LabelBase.cmd.chapter} change the page style for one page. While the
|
|
standard classes use the \PageStyle{plain} page style, {\KOMAScript} applies
|
|
the style defined in the \DescRef{\LabelBase.cmd.partpagestyle} and
|
|
\DescRef{\LabelBase.cmd.chapterpagestyle} macros (see
|
|
\autoref{sec:\LabelBase.pagestyle},
|
|
\DescPageRef{\LabelBase.cmd.titlepagestyle}).
|
|
|
|
The possibilities for switching fonts\ChangedAt{v2.8p}{%
|
|
\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} %
|
|
described above for the unstarred variants apply without change. The elements
|
|
use the same names since they do not indicate variants but structuring
|
|
levels.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\iffalse% Umbruchkorrekturtext
|
|
In the standard classes\textnote{\KOMAScript{} vs. 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}
|
|
\textnote[n]{\KOMAScript{} vs. standard classes}
|
|
\end{Declaration}%
|
|
In addition to the commands of the standard classes, {\KOMAScript} offers the
|
|
new commands \Macro{addpart}, \Macro{addsec} and \Macro{addchap}. They are
|
|
similar to the standard commands \DescRef{\LabelBase.cmd.part}\IndexCmd{part}%
|
|
\important{\DescRef{\LabelBase.cmd.part}, \DescRef{\LabelBase.cmd.chapter},
|
|
\DescRef{\LabelBase.cmd.section}},
|
|
\DescRef{\LabelBase.cmd.chapter}\IndexCmd{chapter} and
|
|
\DescRef{\LabelBase.cmd.section}\IndexCmd{section} except that they are
|
|
unnumbered. They thus produce both a running head and an entry in the table of
|
|
contents which take into account the \DescRef{\LabelBase.option.headings}%
|
|
\important{\DescRef{\LabelBase.option.headings}} option settings, especially
|
|
the handling of the optional argument. However, enabling or disabling the
|
|
\Option{nonumber} switch will have no effect.
|
|
|
|
The starred variants \Macro{addchap*} and \Macro{addsec*} are similar to the
|
|
standard commands \DescRef{\LabelBase.cmd.chapter*} and
|
|
\DescRef{\LabelBase.cmd.section*} except for a small but important difference:
|
|
the running heads are deleted. This eliminates the side effect of obsolete
|
|
headers mentioned above. Instead, the running heads on subsequent pages remain
|
|
empty. \OnlyAt{\Class{book}\and \Class{scrreprt}}\Macro{addchap} and
|
|
\Macro{addchap*} only exist, of course, in book and report classes, namely
|
|
\Class{book}, \Class{scrbook}, \Class{report} and \Class{scrreport}, not in
|
|
the article classes \Class{article} and \Class{scrartcl}.
|
|
|
|
The \Macro{addpart} command produces an unnumbered document part with an
|
|
entry in the table of contents. Since the running heads are already deleted
|
|
by \DescRef{\LabelBase.cmd.part} and \DescRef{\LabelBase.cmd.part*} the
|
|
previously mentioned problem with obsolete headers does not exist. The starred
|
|
version \Macro{addpart*} is thus identical to \DescRef{\LabelBase.cmd.part*}
|
|
and is only defined for reasons of consistency.
|
|
|
|
Please note\textnote{Attention!} that \Macro{addpart} and \Macro{addchap} and
|
|
their starred variants change the page style for one page. The particular page
|
|
style is defined in the macros \DescRef{\LabelBase.cmd.partpagestyle} and
|
|
\DescRef{\LabelBase.cmd.chapterpagestyle} (see
|
|
\autoref{sec:\LabelBase.pagestyle},
|
|
\DescPageRef{\LabelBase.cmd.titlepagestyle}).
|
|
\iffree{\iffalse}{\csname iftrue\endcsname}% Umbruchkorrekturbeispiel
|
|
\begin{Example}
|
|
You write a book with a long afterword that spans several pages. This
|
|
should receive neither a running head nor an entry in the table of
|
|
contents. Therefore, you first use \DescRef{\LabelBase.cmd.chapter*}:
|
|
\begin{lstcode}
|
|
\documentclass{scrbook}
|
|
\usepackage{blindtext}
|
|
\begin{document}
|
|
\tableofcontents
|
|
\blinddocument
|
|
\chapter*{Afterword}
|
|
\Blindtext[10]
|
|
\end{document}
|
|
\end{lstcode}
|
|
However, you discover that the running head of the previous chapter
|
|
reappears on the second and third pages of the afterword. Naturally, you do
|
|
not want that. Therefore, you use \Macro{addchap*}:
|
|
\begin{lstcode}
|
|
\documentclass{scrbook}
|
|
\usepackage{blindtext}
|
|
\begin{document}
|
|
\tableofcontents
|
|
\blinddocument
|
|
\addchap*{Afterword}
|
|
\Blindtext[10]
|
|
\end{document}
|
|
\end{lstcode}
|
|
The complete postscript is now without a running head, if that is what you
|
|
want. But even that does not quite meet your expectations. A running head
|
|
would be nice. With
|
|
\begin{lstcode}
|
|
\documentclass{scrbook}
|
|
\usepackage{blindtext}
|
|
\begin{document}
|
|
\tableofcontents
|
|
\blinddocument
|
|
\addchap{Afterword}
|
|
\Blindtext[10]
|
|
\end{document}
|
|
\end{lstcode}
|
|
you now get both ``Afterword'' as the running head on the even pages and an
|
|
entry in the table of contents. But this entry bothers your publisher. He
|
|
insists that the afterword have no entry in the table of contents. Even if
|
|
that seems strange to you, you want to satisfy the publisher, so with
|
|
\OptionValueRef{\LabelBase}{headings}{optiontotocandhead} you first
|
|
activate the extended function for the optional argument and then
|
|
explicitly set an empty argument for the table of contents:
|
|
\begin{lstcode}
|
|
\documentclass[headings=optiontotocandhead]
|
|
{scrbook}
|
|
\usepackage{blindtext}
|
|
\begin{document}
|
|
\tableofcontents
|
|
\blinddocument
|
|
\addchap[tocentry={}]{Afterword}
|
|
\Blindtext[10]
|
|
\end{document}
|
|
\end{lstcode}
|
|
The running head is not changed by \OptionValue{tocentry}{\{\}}. Since
|
|
\Class{scrbook} automatically omits empty entries in the table of contents,
|
|
the publisher is now satisfied.
|
|
\end{Example}%
|
|
\fi
|
|
|
|
The possibilities for switching fonts\ChangedAt{v2.8p}{%
|
|
\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}} %
|
|
described above for the unstarred variant of the sectioning commands apply
|
|
without change. The elements have the same names since they do not designate
|
|
variants but sectioning levels.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{minisec}\Parameter{heading}
|
|
\end{Declaration}%
|
|
Sometimes you want a heading\Index{heading} that is highlighted but also
|
|
closely linked to the following text. Such a heading should not be separated
|
|
by a large vertical skip.
|
|
|
|
The \Macro{minisec} command is designed for this situation. This heading is
|
|
not associated with any sectioning level\textnote{no sectioning level}. Such a
|
|
\emph{mini-section} does not produce an entry in the table of contents, nor
|
|
does it receive any numbering.
|
|
|
|
\BeginIndexGroup
|
|
\BeginIndex{FontElement}{minisec}\LabelFontElement{minisec}%
|
|
You can change the font of the \Macro{minisec} command using the
|
|
\DescRef{\LabelBase.fontelement.disposition}%
|
|
\important{\DescRef{\LabelBase.fontelement.disposition}\\
|
|
\FontElement{minisec}} and \FontElement{minisec}\ChangedAt{v2.96a}{%
|
|
\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} element (see
|
|
\autoref{tab:maincls.fontelements}, \autopageref{tab:maincls.fontelements}).
|
|
The default of the \FontElement{minisec} element is empty, so by default only
|
|
the \DescRef{\LabelBase.fontelement.disposition} element is used.%
|
|
\EndIndexGroup
|
|
|
|
\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{lstcode}
|
|
\documentclass{scrartcl}
|
|
|
|
\begin{document}
|
|
|
|
\title{DIY Projects}
|
|
\author{Two Left Thumbs}
|
|
\date{\today}
|
|
\maketitle
|
|
|
|
\section{Mousetrap}
|
|
|
|
The first project is suitable for beginners and only requires
|
|
a few components that should be found in every household.
|
|
|
|
\minisec{Material Required}
|
|
|
|
\begin{flushleft}
|
|
1 board ($100\times 50 \times 12$)\\
|
|
1 swing-top cap of a beer-bottle\\
|
|
1 ballpoint pen\\
|
|
1 push pin\\
|
|
2 screws\\
|
|
1 hammer\\
|
|
1 knife
|
|
\end{flushleft}
|
|
|
|
\minisec{Assembly}
|
|
First, find the mouse hole and put the push pin directly behind
|
|
the hole so that the mouse cannot escape during the following
|
|
actions.
|
|
|
|
Next tap the swing-top cap into the mouse hole with the hammer.
|
|
If the cap is not big enough to block the hole completely and
|
|
permanently, take the board instead and screw it to the front
|
|
of the mouse hole using the two screws and the knife. Of
|
|
course, you can use a screwdriver instead of a knife. The
|
|
ballpoint pen has fallen victim to animal welfare.
|
|
\end{document}
|
|
\end{lstcode}
|
|
The main part, starting with the heading ``Material Required'' will look
|
|
like this:
|
|
\begin{ShowOutput}[\baselineskip]\setlength{\parindent}{1em}
|
|
\minisec{Material Required}
|
|
|
|
\begin{flushleft}
|
|
1 board ($100\times 50 \times 12$)\\
|
|
1 swing-top cap of a beer-bottle\\
|
|
1 ballpoint pen\\
|
|
1 push pin\\
|
|
2 screws\\
|
|
1 hammer\\
|
|
1 knife
|
|
\end{flushleft}
|
|
|
|
\minisec{Assembly}
|
|
First, find the mouse hole and put the push pin directly behind the hole
|
|
so that the mouse cannot escape during the following actions.
|
|
|
|
Next tap the swing-top cap into the mouse hole with the hammer. If the cap
|
|
is not big enough to block the hole completely and permanently, take the
|
|
board instead and screw it to the front of the mouse hole using the two
|
|
screws and the knife. Of course, you can use a screwdriver instead of a
|
|
knife. The ballpoint pen has fallen victim to animal welfare.
|
|
\end{ShowOutput}
|
|
\end{Example}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{raggedsection}%
|
|
\Macro{raggedchapter}%
|
|
\Macro{raggedpart}
|
|
\end{Declaration}%
|
|
In the standard classes\textnote{\KOMAScript{} vs. standard classes}, headings
|
|
are set as justified text. That means that hyphenated words can occur and
|
|
multi-line headings are stretched up to the text width. This approach is
|
|
rather uncommon in typography. {\KOMAScript} therefore sets the
|
|
headings left aligned with hanging indentation using \Macro{raggedsection}
|
|
with the default:
|
|
\begin{lstcode}
|
|
\newcommand*{\raggedsection}{\raggedright}
|
|
\end{lstcode}
|
|
You can redefine this command with \Macro{renewcommand}.
|
|
\begin{Example}
|
|
You prefer justified headings, so you write in the preamble of your document:
|
|
\begin{lstcode}
|
|
\renewcommand*{\raggedsection}{}
|
|
\end{lstcode}
|
|
or more compactly:
|
|
\begin{lstcode}
|
|
\let\raggedsection\relax
|
|
\end{lstcode}
|
|
You will get heading formatting which is very close to that of the standard
|
|
classes. It will become even closer when you combine this change with the
|
|
change to the
|
|
\DescRef{\LabelBase.fontelement.disposition}\IndexFontElement{disposition}
|
|
element mentioned above.
|
|
\end{Example}
|
|
|
|
Because\ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}} some users want
|
|
a different alignment for the \DescRef{\LabelBase.cmd.chapter} level than for
|
|
the other sectioning levels, you can change the
|
|
\DescRef{\LabelBase.cmd.chapter} justification separately by redefining
|
|
\Macro{raggedchapter}. By default, however, this command simply uses
|
|
\Macro{raggedsection}, so changing \Macro{raggedsection} indirectly affects
|
|
\Macro{raggedchapter}.
|
|
|
|
By default, part headings (\DescRef{\LabelBase.cmd.part}) are set horizontally
|
|
centred rather than ragged right. This formatting is performed by the
|
|
\Macro{raggedpart} statement, which has the default definition
|
|
\begin{lstcode}
|
|
\let\raggedpart\centering
|
|
\end{lstcode}
|
|
You can also redefine this command using \Macro{renewcommand}.
|
|
\begin{Example}
|
|
You want the headings for \DescRef{\LabelBase.cmd.part} to be formatted the
|
|
same as any other sectioning command. To do so, put
|
|
\begin{lstcode}
|
|
\renewcommand*{\raggedpart}{\raggedsection}
|
|
\end{lstcode}
|
|
in the preamble of your document. In\textnote{Hint!} this case, and unlike
|
|
in the example above, we did not use \Macro{let} because \Macro{let} would
|
|
set \Macro{raggedpart} to the underlying value of \Macro{raggedsection}.
|
|
Subsequent changes to \Macro{raggedsection} would then not change the
|
|
behaviour of \Macro{raggedpart}. By redefining with \Macro{renewcommand},
|
|
\Macro{raggedpart} will use the current meaning of \Macro{raggedsection} at
|
|
the time it is used rather than when it was redefined.
|
|
\end{Example}%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{partformat}
|
|
\Macro{chapterformat}
|
|
\Macro{sectionformat}
|
|
\Macro{subsectionformat}
|
|
\Macro{subsubsectionformat}
|
|
\Macro{paragraphformat}
|
|
\Macro{subparagraphformat}
|
|
\Macro{othersectionlevelsformat}\Parameter{sectioning name}\Parameter{}
|
|
\Parameter{counter output}
|
|
\Macro{IfUsePrefixLine}\Parameter{then code}\Parameter{else code}
|
|
\Macro{autodot}
|
|
\end{Declaration}%
|
|
{\KOMAScript} adds another logical layer above \Macro{the\PName{sectioning
|
|
name}} to format the sectioning numbers. The counters for each heading are
|
|
not merely output. They are formatted using the commands \Macro{partformat},
|
|
\Macro{chapterformat}, down to
|
|
\Macro{subparagraphformat}\ChangedAt{v3.17}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}. Of course the \Macro{chapterformat}
|
|
command, like \Macro{thechapter}, does not exist in the \Class{scrartcl}
|
|
class, but only in the \Class{scrbook} and \Class{scrreprt}
|
|
classes.\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}
|
|
|
|
As already explained for the \DescRef{\LabelBase.option.numbers}%
|
|
\important{\DescRef{\LabelBase.option.numbers}} option at the beginning of
|
|
this section (see \DescPageRef{\LabelBase.option.numbers}), {\KOMAScript}'s
|
|
handling of points in section numbers implements the rules given in
|
|
\cite{DUDEN}, which are standard in German-language typography, in the
|
|
\Macro{autodot} command. In all levels except for
|
|
\DescRef{\LabelBase.cmd.part}, a point is followed by a further
|
|
\Macro{enskip}. This corresponds to a horizontal skip of 0.5\Unit{em}.
|
|
|
|
Since \KOMAScript~3.17\ChangedAt{v3.17}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}, the command
|
|
\Macro{othersectionlevelsformat} is used only in rare circumstances, i.\,e.,
|
|
if the corresponding format command to a section command does not exist or is
|
|
\Macro{relax}. This should not happen for any section commands defined by
|
|
\KOMAScript{} itself. Therefore the command is no longer officially
|
|
documented. Nevertheless, if you select a compatibility level prior to
|
|
3.17\important{\OptionValueRef{\LabelBase}{version}{3.17}} (see option
|
|
\DescRef{\LabelBase.option.version},
|
|
\autoref{sec:\LabelBase.compatibilityOptions},
|
|
\DescPageRef{\LabelBase.option.version}), commands \Macro{sectionformat} down
|
|
to \Macro{subparagraphformat} are ignored by \KOMAScript{}. Instead, these
|
|
layers will continue to use \Macro{othersectionlevelsformat}.
|
|
|
|
You can redefine the formatting commands using \Macro{renewcommand} to fit
|
|
them to your personal needs. The following default definitions are used by the
|
|
{\KOMAScript} classes:
|
|
\begin{lstcode}
|
|
\newcommand*{\partformat}{\partname~\thepart\autodot}
|
|
\newcommand*{\chapterformat}{%
|
|
\mbox{\chapappifchapterprefix{\nobreakspace}\thechapter
|
|
\autodot\IfUsePrefixLine{}{\enskip}}}
|
|
\newcommand*{\sectionformat}{\thesection\autodot\enskip}
|
|
\newcommand*{\subsectionformat}{%
|
|
\thesubsection\autodot\enskip}
|
|
\newcommand*{\subsubsectionformat}{%
|
|
\thesubsubsection\autodot\enskip}
|
|
\newcommand*{\paragraphformat}{\theparagraph\autodot\enskip}
|
|
\newcommand*{\subparagraphformat}{%
|
|
\thesubparagraph\autodot\enskip}
|
|
\newcommand*{\othersectionlevelsformat}[3]{%
|
|
#3\autodot\enskip}
|
|
\end{lstcode}
|
|
|
|
Because\ChangedAt{v3.17}{\Class{scrbook}\and \Class{scrreprt}} it uses
|
|
\Macro{IfUsePrefixLine}, \Macro{chapterformat} should not be used outside of
|
|
\DescRef{\LabelBase.cmd.chapter}. \Macro{IfUsePrefixLine} is only valid inside
|
|
\KOMAScript{} sectioning commands. Within those commands, it executes the
|
|
\PName{then code} if a prefix line for the number is used and the \PName{else
|
|
code} otherwise.
|
|
|
|
Please also remember\textnote{Attention!} to replace \Macro{newcommand} with
|
|
\Macro{renewcommand} if you want to redefine one of the commands above.
|
|
|
|
\begin{Example}
|
|
Suppose you do not want the word ``Part'' written in front of the part
|
|
number when you use \DescRef{\LabelBase.cmd.part}. You can put the
|
|
following command in the preamble of your document:
|
|
\begin{lstcode}
|
|
\renewcommand*{\partformat}{\thepart\autodot}
|
|
\end{lstcode}
|
|
In fact, you could do without \Macro{autodot} here and insert a fixed point
|
|
instead. Since \DescRef{\LabelBase.cmd.part} is numbered with Roman numerals,
|
|
it must be followed by a point according to \cite{DUDEN}. However, by using
|
|
\Macro{autodot} you retain the ability to use the
|
|
\DescRef{\LabelBase.option.numbers}%
|
|
\important{\DescRef{\LabelBase.option.numbers}} option
|
|
\OptionValueRef{\LabelBase}{numbers}{endperiod} and thus deviate from
|
|
the rule. You can find more details concerning class options on
|
|
\DescPageRef{\LabelBase.option.numbers}.
|
|
|
|
Another possibility is to place the section numbers in the left margin in
|
|
such a way that the heading text is left aligned with the surrounding text.
|
|
You can accomplish this with:
|
|
\begin{lstcode}
|
|
\renewcommand*{\sectionformat}{%
|
|
\makebox[0pt][r]{\thesection\autodot\enskip}}
|
|
\renewcommand*{\subsectionformat}{%
|
|
\makebox[0pt][r]{\thesubsection\autodot\enskip}}
|
|
\renewcommand*{\subsubsectionformat}{%
|
|
\makebox[0pt][r]{%
|
|
\thesubsubsection\autodot\enskip}}
|
|
\renewcommand*{\paragraphformat}{%
|
|
\makebox[0pt][r]{\theparagraph\autodot\enskip}}
|
|
\renewcommand*{\paragraphformat}{%
|
|
\makebox[0pt][r]{%
|
|
\thesubparagraph\autodot\enskip}}
|
|
\end{lstcode}
|
|
The optional arguments of the \Macro{makebox} command require \LaTeX{} to
|
|
create a zero-width box with right-justified content. As a result, the
|
|
contents of the box are output to the left of the current position.%
|
|
\iffree{}{ %Umbruchkorrekturtext
|
|
This popular trick avoids the need first to measure the width of the
|
|
number and the spacing, and then to change the current position
|
|
appropriately with \Macro{hspace}.}
|
|
You can find more about the optional arguments of \Macro{makebox} in
|
|
\cite{latex:usrguide}.
|
|
\end{Example}
|
|
|
|
For formatting changes in the headings that go beyond merely formatting the
|
|
unit number, please refer to
|
|
\DescRef{maincls-experts.cmd.partlineswithprefixformat}%
|
|
\IndexCmd{partlineswithprefixformat},
|
|
\DescRef{maincls-experts.cmd.chapterlineswithprefixformat}%
|
|
\IndexCmd{chapterlineswithprefixformat} and
|
|
\DescRef{maincls-experts.cmd.chapterlinesformat}\IndexCmd{chapterlinesformat},
|
|
as well as
|
|
\DescRef{maincls-experts.cmd.sectionlinesformat}\IndexCmd{sectionlinesformat}
|
|
and its \DescRef{maincls-experts.cmd.sectioncatchphraseformat}%
|
|
\IndexCmd{sectioncatchphraseformat} format in
|
|
\autoref{sec:maincls-experts.sections}, starting from
|
|
\DescPageRef{maincls-experts.cmd.partlineswithprefixformat}.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{chapappifchapterprefix}\Parameter{additional text}%
|
|
\Macro{chapapp}
|
|
\end{Declaration}%
|
|
These\ChangedAt{v2.8o}{\Class{scrbook}\and\Class{scrreprt}} two commands are
|
|
used internally by {\KOMAScript} and also made available to the user. Later,
|
|
you will see how to use them, for example to redefine other commands.%
|
|
\OnlyAt{\Class{scrbook}\and\Class{scrreprt}}
|
|
|
|
If you use the layout option \OptionValueRef{\LabelBase}{chapterprefix}{true}%
|
|
\important{\DescRef{\LabelBase.option.chapterprefix}} (see
|
|
\DescPageRef{\LabelBase.option.chapterprefix}), \Macro{chapappifchapterprefix}
|
|
outputs the word ``Chapter''\Index{chapter>heading} in the body of the text 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{\LabelBase}{chapterprefix}{false} is set, then nothing is output.
|
|
|
|
The \Macro{chapapp} command always outputs the word ``Chapter'' or
|
|
``Appendix'', regardless of the setting of the
|
|
\DescRef{\LabelBase.option.chapterprefix} option.
|
|
|
|
Since chapters only exist in the classes \Class{scrbook} and \Class{scrreprt},
|
|
these commands only exist in these classes.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{chaptermark}\Parameter{running head}%
|
|
\Macro{addchapmark}\Parameter{running head}%
|
|
\Macro{sectionmark}\Parameter{running head}%
|
|
\Macro{addsecmark}\Parameter{running head}%
|
|
\Macro{subsectionmark}\Parameter{running head}%
|
|
\Macro{chaptermarkformat}%
|
|
\Macro{sectionmarkformat}%
|
|
\Macro{subsectionmarkformat}
|
|
\end{Declaration}%
|
|
\begin{Explain}%
|
|
As mentioned in \autoref{sec:\LabelBase.pagestyle}, the
|
|
\DescRef{\LabelBase.pagestyle.headings}\IndexPagestyle{headings}%
|
|
\important{\DescRef{\LabelBase.pagestyle.headings}} page style works with
|
|
automatic running heads\Index{running heads>automatic}. For this, the
|
|
commands \Macro{chaptermark} and \Macro{sectionmark}, or \Macro{sectionmark}
|
|
and \Macro{subsectionmark}, are defined accordingly. Every sectioning
|
|
command (\DescRef{\LabelBase.cmd.chapter}, \DescRef{\LabelBase.cmd.section},
|
|
etc.) automatically executes the corresponding \Macro{\dots mark} command.
|
|
The parameter passed contains the text of the section heading%
|
|
\Index{heading}. The corresponding section number is added automatically in
|
|
the \Macro{\dots mark} command. The formatting is done according to the
|
|
sectioning level with one of the three commands \Macro{chaptermarkformat},
|
|
\Macro{sectionmarkformat}, or \Macro{subsectionmarkformat}.
|
|
|
|
Note\textnote{Attention!} that the running heads of
|
|
\DescRef{\LabelBase.cmd.addchap}\IndexCmd{addchap} and
|
|
\DescRef{\LabelBase.cmd.addsec}\IndexCmd{addsec} are also based on
|
|
\Macro{chaptermark} and \Macro{sectionmark}. However, the
|
|
\DescRef{\LabelBase.counter.secnumdepth} counter is set locally to a value
|
|
that switches off the numbering of chapters or sections. You should consider
|
|
this, for example, if you redefine \Macro{chaptermark} or
|
|
\Macro{sectionmark} (see \DescRef{\LabelBase.cmd.Ifnumbered} on
|
|
\DescPageRef{\LabelBase.cmd.Ifnumbered}). The starred variants
|
|
\DescRef{\LabelBase.cmd.addchap*} and \DescRef{\LabelBase.cmd.addsec*} use
|
|
additional commands \Macro{addchapmark} and \Macro{addsecmark} that are also
|
|
defined based on \Macro{chaptermark} and \Macro{sectionmark} with local
|
|
changes of \DescRef{\LabelBase.counter.secnumdepth}.
|
|
|
|
Although\OnlyAt{\Class{scrartcl}} there is no \Macro{chaptermark} or
|
|
\Macro{chaptermarkformat} command in \Class{scrartcl}, there are two
|
|
commands, \Macro{subsectionmark} and \Macro{subsectionmarkformat}, which
|
|
exist only in \Class{scrartcl}. However using the
|
|
\hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}%
|
|
\IndexPackage{scrlayer-scrpage} package changes this (see
|
|
\autoref{cha:scrlayer-scrpage}).
|
|
\end{Explain}
|
|
Just as numbers in the sectioning-command headers are formatted with
|
|
\DescRef{\LabelBase.cmd.partformat} down to
|
|
\DescRef{\LabelBase.cmd.subparagraphformat}, \Macro{chaptermarkformat},
|
|
\Macro{sectionmarkformat}, and \Macro{subsectionmarkformat} define the
|
|
formatting of the sectioning numbers in the automatic running heads. They can
|
|
be adapted to your personal needs with \Macro{renewcommand}. The original
|
|
definitions for the {\KOMAScript} classes are:
|
|
\begin{lstcode}
|
|
\newcommand*{\chaptermarkformat}{%
|
|
\chapappifchapterprefix{\ }\thechapter\autodot\enskip}
|
|
\newcommand*{\sectionmarkformat}{%
|
|
\thesection\autodot\enskip}
|
|
\newcommand*{\subsectionmarkformat}{%
|
|
\thesubsection\autodot\enskip}
|
|
\end{lstcode}
|
|
\begin{Example}
|
|
Suppose you want the word ``Chapter'' to precede the chapter number in the
|
|
running head. You could put the following definition in the preamble of your
|
|
document:
|
|
\begin{lstcode}
|
|
\renewcommand*{\chaptermarkformat}{%
|
|
\chapapp~\thechapter\autodot\enskip}
|
|
\end{lstcode}
|
|
\end{Example}
|
|
As you can see, both \DescRef{\LabelBase.cmd.chapapp} and
|
|
\DescRef{\LabelBase.cmd.chapappifchapterprefix}, explained above, are used
|
|
here.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Counter{secnumdepth}
|
|
\Macro{partnumdepth}
|
|
\Macro{chapternumdepth}
|
|
\Macro{sectionnumdepth}
|
|
\Macro{subsectionnumdepth}
|
|
\Macro{subsubsectionnumdepth}
|
|
\Macro{paragraphnumdepth}
|
|
\Macro{subparagraphnumdepth}
|
|
\end{Declaration}%
|
|
\BeginIndex{}{Nummerierung}%
|
|
Normally, the \Class{scrbook}\IndexClass{scrbook} and
|
|
\Class{scrreport}\IndexClass{scrreprt} classes number the section headings
|
|
from \DescRef{\LabelBase.cmd.part}\IndexCmd{part}\IndexCmd{chapter}%
|
|
\IndexCmd{section} down to
|
|
\DescRef{\LabelBase.cmd.subsection}\IndexCmd{subsection} and the
|
|
\Class{scrartcl}\IndexClass{scrartcl} class numbers them from
|
|
\DescRef{\LabelBase.cmd.part} down to
|
|
\DescRef{\LabelBase.cmd.subsubsection}\IndexCmd{subsubsection}. The actual
|
|
depth to which headings are numbered is controlled by the \LaTeX{} counter
|
|
\Counter{secnumdepth}.
|
|
|
|
To\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}
|
|
save users the trouble of having to remember abstract numbers, the commands
|
|
\Macro{partnumdepth} to \Macro{subparagraphnumdepth} return the appropriate
|
|
number for the section level in their name.
|
|
|
|
\begin{Example}
|
|
For a book project, you want the section levels from part down to section
|
|
to be numbered. To achieve this, you have to set counter
|
|
\Counter{secnumdepth} to the value represented by \Macro{sectionnumdepth} in
|
|
the preamble of your document:
|
|
\begin{lstcode}
|
|
\setcounter{secnumdepth}{\sectionnumdepth}
|
|
\end{lstcode}
|
|
\end{Example}
|
|
No provision is made for redefining these commands. Doing so could lead to
|
|
unexpected results, not only with \KOMAScript{} but also with third party
|
|
packages. Thus, you should never redefine them.
|
|
|
|
Do\textnote{Attention!} not confuse the \Counter{secnumdepth} and
|
|
\DescRef{\LabelBase.counter.tocdepth} counters (see
|
|
\autoref{sec:\LabelBase.toc}, \DescPageRef{\LabelBase.counter.tocdepth}).
|
|
Depending on the class you are using, the meaning of the values of the
|
|
\Counter{secnumdepth} and \DescRef{\LabelBase.counter.tocdepth} counters may
|
|
differ for the same section level.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\begin{Declaration}
|
|
\Macro{Ifnumbered}\Parameter{section level}%
|
|
\Parameter{then code}\Parameter{else code}%
|
|
\Macro{Ifunnumbered}\Parameter{section level}%
|
|
\Parameter{then code}\Parameter{else code}
|
|
\end{Declaration}
|
|
The\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\ChangedAt{v3.28}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} commands \Macro{Ifnumbered} and \Macro{Ifunnumbered}
|
|
determine which section-level headings are numbered, using the technique
|
|
described above, and execute code depending on whether a \PName{section level}
|
|
is numbered or not. If a \PName{section level} is numbered with the current
|
|
settings, \Macro{Ifnumbered} executes the \PName{then code}. If the section
|
|
level is unnumbered, the \PName{else code} is executed. The
|
|
\Macro{Ifunnumbered} command behaves in exactly the opposite manner, executing
|
|
the \PName{then code} if the current level is unnumbered and the \PName{else
|
|
code} if it is. The \PName{section level} parameter is simply the \LaTeX{}
|
|
name of a section like \PValue{part}, \PValue{chapter}, \PValue{section},
|
|
\PValue{subsection}, \PValue{subsubsection}, \PValue{paragraph} oder
|
|
\PValue{subparagraph}.\PValue{part}, \PValue{chapter}, \PValue{section},
|
|
\PValue{subsection}, \PValue{subsubsection}, \PValue{paragraph}, or
|
|
\PValue{subparagraph}.
|
|
|
|
\KOMAScript{} itself uses these tests, for example, in the definition of
|
|
\DescRef{\LabelBase.cmd.chaptermark}\IndexCmd{chaptermark} in the
|
|
\DescRef{\LabelBase.pagestyle.headings}\IndexPagestyle{headings} page style.
|
|
This indirectly ensures that headings inserted by
|
|
\DescRef{\LabelBase.cmd.addchap} do not set a number inside the running head
|
|
(see also \DescRef{\LabelBase.cmd.addchapmark},
|
|
\DescPageRef{\LabelBase.cmd.addchapmark}).%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{setpartpreamble}%
|
|
\OParameter{position}\OParameter{width}\Parameter{preamble}
|
|
\Macro{setchapterpreamble}%
|
|
\OParameter{position}\OParameter{width}\Parameter{preamble}
|
|
\end{Declaration}%
|
|
Parts\OnlyAt{\Class{scrbook}\and
|
|
\Class{scrreprt}}\Index{part>preamble}\Index{chapter>preamble} and chapters
|
|
in {\KOMAScript} can be given a \PName{preamble}. This is particularly useful
|
|
when you are using a two-column format with the class option
|
|
\Option{twocolumn}\IndexOption{twocolumn}, since the heading and the
|
|
\PName{preamble} are always set in a one-column layout. The \PName{preamble}
|
|
can contain more than one paragraph. The command to set the \PName{preamble}
|
|
must come before the respective \DescRef{\LabelBase.cmd.part},
|
|
\DescRef{\LabelBase.cmd.addpart}, \DescRef{\LabelBase.cmd.chapter}, or
|
|
\DescRef{\LabelBase.cmd.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.
|
|
Each of these parts should be introduced by an abstract on the corresponding
|
|
title page. You could write the following:
|
|
\begin{lstcode}
|
|
\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{lstcode}
|
|
Depending on the settings for the heading font size\Index{heading}
|
|
(see \DescPageRef{\LabelBase.option.headings}) and the options for
|
|
the \DescRef{\LabelBase.env.abstract} environment\IndexEnv{abstract} (see
|
|
\autoref{sec:\LabelBase.abstract},
|
|
\DescPageRef{\LabelBase.option.abstract}), the result will look something
|
|
like this:
|
|
\begin{ShowOutput}\centering
|
|
{\LARGE\usekomafont{disposition} Part III.\par\vspace{14pt}}
|
|
{\LARGE\usekomafont{disposition} Department for Word Processing\strut\par}
|
|
\begin{quote}\small
|
|
\vspace{4ex}
|
|
\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\textnote{Attention!} note that \emph{you} are responsible for the
|
|
spacing between the heading, preamble, and the following text. Note also that
|
|
there is no \DescRef{\LabelBase.env.abstract} environment in the
|
|
\Class{scrbook} class (see \autoref{sec:\LabelBase.abstract},
|
|
\DescPageRef{\LabelBase.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 vertical placement
|
|
there are two possibilities at present:
|
|
\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=0pt
|
|
\item [\quad\texttt{o}] above the heading
|
|
\item [\quad\texttt{u}] below the heading
|
|
\end{labeling}
|
|
You can therefore put one preamble above and another below a heading. For
|
|
horizontal placement you have three options:
|
|
\begin{labeling}[~--]{\quad\PValue{o}}\itemsep=0pt
|
|
\item [\quad\texttt{l}] left-aligned
|
|
\item [\quad\texttt{r}] right-aligned
|
|
\item [\quad\texttt{c}] centred
|
|
\end{labeling}
|
|
This setting does not affect the alignment of the text in the
|
|
\PName{preamble}. Instead, it aligns the box that contains the preamble. The
|
|
width of this box is determined by the second optional argument,
|
|
\PName{width}. If you omit this second argument, the box uses the full text
|
|
width. In that case, the option for horizontal positioning has no effect. You
|
|
can combine exactly one letter from the vertical with one letter from the
|
|
horizontal positioning.
|
|
|
|
A typical use for \Macro{setchapterpreamble} would be something like an
|
|
epigraph, a wise saying, or a dictum. The
|
|
\DescRef{\LabelBase.cmd.dictum}\IndexCmd{dictum} command, which you can use
|
|
for this purpose, is described in the next section. You will also find an
|
|
example there.
|
|
|
|
Please note\textnote{Attention!} that a \PName{preamble} placed above the
|
|
heading is set within the existing vertical space above the heading. The
|
|
heading will not be moved down. You are therefore responsible for ensuring
|
|
that the \PName{preamble} is not too large and that the space above the
|
|
heading is sufficient. See also the \Option{beforeskip} setting for
|
|
\DescRef{maincls-experts.cmd.RedeclareSectionCommand} in
|
|
\autoref{sec:maincls-experts.sections},
|
|
\autoref{tab:maincls-experts.declarechapterstyle.keys},
|
|
\autopageref{tab:maincls-experts.declarechapterstyle.keys}.
|
|
%
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\LoadCommonFile{dictum}% \section{Dicta}
|
|
|
|
\LoadCommonFile{lists}% \section{Lists}
|
|
|
|
\section{Mathematics}
|
|
\seclabel{math}%
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{equations}%
|
|
\BeginIndex{}{formulas}%
|
|
\BeginIndex{}{mathematics}%
|
|
|
|
\KOMAScript{} classes do not provide their own environments for formulas,
|
|
systems of equations, or similar mathematical elements. Instead, \KOMAScript{}
|
|
relies fully on the maths features of the \LaTeX{} kernel. This also applies to
|
|
the the options \DescRef{\LabelBase.option.leqno} and
|
|
\DescRef{\LabelBase.option.fleqn}.
|
|
|
|
You will not find a description of the maths environments of the \LaTeX{}
|
|
kernel here. If you want to use
|
|
\Environment{displaymath}\IndexEnv{displaymath},
|
|
\Environment{equation}\IndexEnv{equation}, or
|
|
\Environment{eqnarray}\IndexEnv{eqnarray} you should read an introduction to
|
|
\LaTeX{} like \cite{lshort}. But\textnote{Hint!} if you want more than very
|
|
simple mathematics, you should use the \Package{amsmath} package (see
|
|
\cite{package:amsmath}).
|
|
|
|
\begin{Declaration}
|
|
\Option{leqno}
|
|
\end{Declaration}%
|
|
Equations are normally numbered\Index{equation>number} on the right. The
|
|
\Option{leqno} option loads the standard option file \File{leqno.clo}. The
|
|
equations are then numbered on the left. You\textnote{Attention!} must use
|
|
this option as an optional argument of \DescRef{\LabelBase.cmd.documentclass}.
|
|
Using it as an argument of \DescRef{\LabelBase.cmd.KOMAoptions} or
|
|
\DescRef{\LabelBase.cmd.KOMAoption} is not supported. The latter
|
|
would not make sense because the recommended maths package \Package{amsmath}
|
|
can only respond to this option at load time and does not react to run-time
|
|
changes of the option.
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Option{fleqn}
|
|
\end{Declaration}%
|
|
Displayed equations\Index{equation>alignment} are normally centred. The
|
|
standard option \Option{fleqn} loads the standard option file
|
|
\File{fleqn.clo}. Displayed equations are then left-justified.
|
|
You\textnote{Attention!} must use this option as an optional argument of
|
|
\DescRef{\LabelBase.cmd.documentclass}. Using it as an argument of
|
|
\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption} is
|
|
not supported. The latter would not make sense because the recommended maths
|
|
package \Package{amsmath} can only respond to this option at load time and
|
|
does not react to run-time changes of the option.
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\section{Floating Environments for Tables and Figures}
|
|
\seclabel{floats}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{floats}%
|
|
\BeginIndex{}{tables}%
|
|
\BeginIndex{}{figures}%
|
|
|
|
With the floating environments, {\LaTeX} offers a powerful and convenient
|
|
mechanism to arrange figures\Index{figure} and tables\Index{table}
|
|
automatically.
|
|
% Im Deutschen ist hier ein Absatz, den wir nicht uebernehmen!
|
|
Frequently,\textnote{Attention!} beginners do not properly understand these
|
|
floating environments\Index[indexmain]{floating environments}. They often ask
|
|
to specify the exact position of a table or figure within the text. However,
|
|
this is usually unnecessary, since the text will contain references to these
|
|
floating environments. 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, possibly leaving
|
|
a huge empty space on the previous page.
|
|
|
|
Often\textnote{Attention!} a document will use the same optional argument to
|
|
position every floating object. This also makes no sense. In such cases, you
|
|
should instead change the default value globally. For more details, see
|
|
\cite{DANTE:FAQ}.
|
|
|
|
One\textnote{Attention!} final, important note before starting this section:
|
|
most of mechanisms described here, which extend the capabilities of the
|
|
standard classes, no longer work correctly when used with packages that modify
|
|
the appearance of figure and table captions. This should be self-evident, but
|
|
it is often overlooked.
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{captions}{setting}
|
|
\end{Declaration}
|
|
In the standard classes, the titles of floating environments, which are
|
|
formatted with the \DescRef{\LabelBase.cmd.caption}\IndexCmd{caption} command
|
|
(see below), are set off from the float with vertical spacing appropriate for
|
|
putting the caption beneath the float, like a signature. They also distinguish
|
|
between one-line and multi-line captions. One-line captions are centred while
|
|
multi-line captions are left-justified.
|
|
|
|
\leavevmode\LabelOptionValue{captions}{tableheading}\nobreak%
|
|
For tables, however, you want the caption%
|
|
\important{\Option{captions}{tableheading}} to appear as a heading instead of
|
|
a signature. That's because tables can span multiple pages. With such tables,
|
|
the reader wants to know the purpose of the table on the first page.
|
|
Furthermore, tables are usually read row by row, from top to bottom. So there
|
|
are normally at least two good reasons to provide all tables with headings.
|
|
\KOMAScript{} therefore offers the \OptionValue{captions}{tableheading}%
|
|
\IndexOption{captions~=\textKValue{tableheading}} option, which changes the
|
|
formatting of table captions for use above the table.
|
|
|
|
Note\textnote{Attention!} that multi-page tabulars cannot use a floating
|
|
environment. To have an automatic page break in a tabular you need an
|
|
additional package like \Package{longtable}\IndexPackage{longtable} (see
|
|
\cite{package:longtable}) or \Package{supertabular}\IndexPackage{supertabular}
|
|
(see \cite{package:supertabular}).
|
|
|
|
You\important{\OptionValue{captions}{tablesignature}} can switch back to the
|
|
default caption formatting using \OptionValue{captions}{tablesignature}%
|
|
\IndexOption{captions~=\textKValue{tablesignature}}. Note\textnote{Attention!}
|
|
that these options change only the formatting, not the actual position of the
|
|
caption. Whether the caption is placed above or below a float depends solely
|
|
upon where you use the \DescRef{\LabelBase.cmd.caption} command inside float
|
|
environment. However, this can change when using the \Package{float}%
|
|
\IndexPackage{float} package with the \Macro{restylefloats} command (see
|
|
\cite{package:float}).
|
|
|
|
Of course\important{\OptionValue{captions}{figureheading}\\
|
|
\OptionValue{captions}{figuresignature}}, corresponding functions
|
|
exist\ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} for figures using the options
|
|
\OptionValue{captions}{figureheading}%
|
|
\IndexOption{captions~=\textKValue{figureheading}} and
|
|
\OptionValue{captions}{figuresignature}%
|
|
\IndexOption{captions~=\textKValue{figuresignature}}. However, figures such as
|
|
photos tend to be viewed as a whole, and a diagram or graph will mostly be
|
|
examined starting from the lower left. Therefore, it only rarely makes sense
|
|
to change the caption format for figures alone from signatures to headings.
|
|
|
|
Sometimes, however, all floating environments should use headings. Therefore
|
|
\KOMAScript{} provides\ChangedAt{v3.09}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}
|
|
options\important{\OptionValue{captions}{heading}\\
|
|
\OptionValue{captions}{signature}}
|
|
\OptionValue{captions}{heading}\IndexOption{captions~=\textKValue{heading}}
|
|
and \OptionValue{captions}{signature}%
|
|
\IndexOption{captions~=\textKValue{signature}} to switch the format of every
|
|
floating environment. These options can also be used inside a floating
|
|
environment.
|
|
|
|
Please note\textnote{Achtung!}\OnlyAt{\Package{float}}\IndexPackage{float}
|
|
when using the \Package{float} package that the settings for signatures or
|
|
headings will no longer work once \Macro{restylefloat} is applied to tables or
|
|
figures. For details about the \Package{float} package and
|
|
\Macro{restylefloat}, please refer to \cite{package:float}. This also applies
|
|
to \DescRef{\LabelBase.cmd.caption} within new floating environments defined
|
|
with \Package{float}. You can find additional support which \KOMAScript{}
|
|
provides when using the \Package{float} package in the explanation of
|
|
\PValue{komaabove} (see \DescPageRef{\LabelBase.floatstyle.komaabove}). As an
|
|
alternative to \Package{float}, you can also consult
|
|
\DescRef{\LabelBase.cmd.captionof} (see
|
|
\DescPageRef{\LabelBase.cmd.captionof}) and
|
|
\DescRef{tocbasic.cmd.DeclareNewTOC} (see
|
|
\DescPageRef{tocbasic.cmd.DeclareNewTOC}). Additionally, when using
|
|
\Package{float}, the
|
|
\hyperref[cha:scrhack]{\Package{scrhack}}\IndexPackage{scrhack}%
|
|
\important{\hyperref[cha:scrhack]{\Package{scrhack}}} package is
|
|
expressly recommended (see \autoref{cha:scrhack} from
|
|
\autopageref{cha:scrhack} in \autoref{part:forExperts}).
|
|
|
|
\leavevmode
|
|
\LabelOptionValue{captions}{nooneline}\nobreak
|
|
\LabelOptionValue{captions}{oneline}\nobreak
|
|
Furthermore\important{\OptionValue{captions}{nooneline}}, \KOMAScript{} offers
|
|
the option to disable the distinction between one-line and multi-line captions
|
|
using the \OptionValue{captions}{nooneline}%
|
|
\IndexOption{captions~=\textKValue{nooneline}}%
|
|
\important{\OptionValue{captions}{nooneline}} option. This can be useful, for
|
|
example, if you do not want one-line captions to be centred. The default,
|
|
where one-line captions are centred, corresponds to
|
|
\OptionValue{captions}{oneline}.
|
|
|
|
Another special feature of \KOMAScript{} is the ability to put the caption
|
|
beside the floating object rather than above or below it. For this, you need
|
|
the environment\important{\DescRef{\LabelBase.env.captionbeside}}
|
|
\DescRef{\LabelBase.env.captionbeside}\IndexEnv{captionbeside}, which is
|
|
explained starting on \DescPageRef{\LabelBase.env.captionbeside}. The settings
|
|
for this environment can also be changed with the \Option{caption} option. You
|
|
can find the available values for the corresponding \PName{settings} in
|
|
\autoref{tab:\LabelBase.captions}.
|
|
%
|
|
\begin{desclist}
|
|
\desccaption[{Available values for the \Option{captions}} option]{%
|
|
Available values for the \Option{captions} option for setting formatting of
|
|
captions as headings or signatures in floating environments%
|
|
\label{tab:\LabelBase.captions}%
|
|
}{%
|
|
Available values for the \Option{captions} option (\emph{continued})%
|
|
}%
|
|
\entry{\PValue{bottombeside}, \PValue{besidebottom}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are vertically aligned with
|
|
the bottommost baseline of the contents of the floating environment.%
|
|
\IndexOption{captions~=\textKValue{bottombeside}}}%
|
|
\entry{\PValue{centeredbeside}, \PValue{besidecentered},
|
|
\PValue{middlebeside}, \PValue{besidemiddle}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are vertically aligned with
|
|
the center of the contents of the floating environment.%
|
|
\IndexOption{captions~=\textKValue{centeredbeside}}}%
|
|
\entry{\PValue{figureheading}, \PValue{figureabove}, \PValue{abovefigure},
|
|
\PValue{topatfigure}%
|
|
\IndexOption{captions~=\textKValue{figureheading}}}{%
|
|
\ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
Captions for figures use heading format\,---\,possibly deviating from
|
|
\OptionValue{captions}{signature}.%
|
|
}%
|
|
\entry{\PValue{figuresignature}, \PValue{belowfigure},
|
|
\PValue{bottomatfiggure}%
|
|
\IndexOption{captions~=\textKValue{figuresignature}}}{%
|
|
\ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
Captions for figures use signature format\,---\,possibly deviating
|
|
from \OptionValue{captions}{headings}.%
|
|
}%
|
|
\entry{\PValue{heading}, \PValue{above}, \PValue{top}%
|
|
\IndexOption{captions~=\textKValue{heading}}}{%
|
|
\ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} Captions for floating environments use formatting
|
|
suitable for use in a heading. This setting does not control whether they
|
|
are placed at the top or the bottom of the object. This option also
|
|
implies \OptionValue{captions}{tableheading} and
|
|
\OptionValue{captions}{figureheading}.%
|
|
}%
|
|
\entry{\PValue{innerbeside},
|
|
\PValue{besideinner}\IndexOption{captions~=\textKValue{innerbeside}}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are placed inside of and next
|
|
to the contents of the environment in two-sided printing. In one-sided
|
|
printing, \OptionValue{captions}{leftbeside} is used.%
|
|
}%
|
|
\entry{\PValue{leftbeside},
|
|
\PValue{besideleft}\IndexOption{captions~=\textKValue{leftbeside}}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are placed to the left of
|
|
the contents of the floating environment.%
|
|
}%
|
|
\pventry{nooneline}{%
|
|
Single-line captions are handled the same as multi-line captions.%
|
|
\IndexOption{captions~=\textKValue{nooneline}}}%
|
|
\pventry{oneline}{%
|
|
Single-line captions are centred horizontally.%
|
|
\IndexOption{captions~=\textKValue{oneline}}}%
|
|
\entry{\PValue{outerbeside}, \PValue{besideouter}%
|
|
\IndexOption{captions~=\textKValue{outerbeside}}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are placed outside of and
|
|
next to the contents of the environment in two-sided printing. In
|
|
one-sided printing, \OptionValue{captions}{rightbeside} is used.%
|
|
}%
|
|
\entry{\PValue{rightbeside}, \PValue{besideright}%
|
|
\IndexOption{captions~=\textKValue{rightbeside}}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are placed to the right of the
|
|
contents of the floating environment.%
|
|
}%
|
|
\entry{\PValue{signature}, \PValue{below}, \PValue{bot}, \PValue{bottom}%
|
|
\IndexOption{captions~=\textKValue{signature}}}{%
|
|
\ChangedAt{v3.09}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
Captions for floating environments use signature format. This setting
|
|
does not control whether they are placed at the top or the bottom of the
|
|
object. This options also implies \OptionValue{captions}{tablesignature}
|
|
and \OptionValue{captions}{figuresignature}.%
|
|
}%
|
|
\entry{\PValue{tableheading}, \PValue{tableabove}, \PValue{abovetable},
|
|
\PValue{abovetabular}, \PValue{topattable}%
|
|
\IndexOption{captions~=\textKValue{tableheading}}}{%
|
|
Captions for tables use heading format\,---\,possibly deviating from
|
|
\OptionValue{captions}{signature}.%
|
|
}%
|
|
\entry{\PValue{tablesignature}, \PValue{belowtable}, \PValue{belowtabular},
|
|
\PValue{bottomattable}%
|
|
\IndexOption{captions~=\textKValue{tablesignature}}}{%
|
|
Captions for tables use signature format\,---\,possibly deviating
|
|
from \OptionValue{captions}{heading}.%
|
|
}%
|
|
\entry{\PValue{topbeside}, \PValue{besidetop}}{%
|
|
Captions for the \DescRef{\LabelBase.env.captionbeside} environment (see
|
|
\autoref{sec:\LabelBase.floats},
|
|
\DescPageRef{\LabelBase.env.captionbeside}) are vertically aligned to the
|
|
baseline at the top of the floating environment.%
|
|
\IndexOption{captions~=\textKValue{topbeside}}}%
|
|
\end{desclist}%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{caption}\OParameter{entry}\Parameter{title}
|
|
\Macro{captionbelow}\OParameter{entry}\Parameter{title}
|
|
\Macro{captionabove}\OParameter{entry}\Parameter{title}
|
|
\end{Declaration}%
|
|
In the standard classes, tables and figures are given captions with the
|
|
\Macro{caption} command placed below the table or figure. For figures, this is
|
|
generally correct. For tables, opinions differ as to whether captions should
|
|
be placed above the table or, consistent with captions of
|
|
figures\Index{caption>of figure}, below it\Index{caption>of table}. Therefore
|
|
{\KOMAScript}\textnote{\KOMAScript{} vs. standard classes},
|
|
unlike the standard classes, offers \Macro{captionbelow} for captions
|
|
below and \Macro{captionabove} for captions above tables or
|
|
figures.
|
|
|
|
For tables and figures, or in general for all floating environments, you can
|
|
control the behaviour of \Macro{caption} with the
|
|
\DescRef{\LabelBase.option.captions}\IndexOption{captions} option described at
|
|
the beginning of this section. For compatibility reasons, the default
|
|
behaviour of \Macro{caption} for all floating environments is like
|
|
\Macro{captionbelow}. However, you\textnote{Hint!} should use the
|
|
\OptionValueRef{\LabelBase}{captions}{tableheading} option, which switches the
|
|
behaviour of \Macro{caption} inside table environments to
|
|
\Macro{captionabove}. Alternatively, you can use \Macro{captionabove} instead
|
|
of \Macro{caption} inside every \Environment{table} environment.
|
|
%
|
|
\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{lstcode}
|
|
\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{lstcode}
|
|
Then you would get this 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{lstcode}
|
|
\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{lstcode}
|
|
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 \OptionValueRef{\LabelBase}{captions}{tableheading} option
|
|
instead (see \DescPageRef{\LabelBase.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}
|
|
|
|
\BeginIndex[indexother]{}{font>style}%
|
|
\BeginIndex{FontElement}{caption}\LabelFontElement{caption}%
|
|
\BeginIndex{FontElement}{captionlabel}\LabelFontElement{captionlabel}%
|
|
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
|
|
\DescRef{\LabelBase.cmd.setkomafont} and
|
|
\DescRef{\LabelBase.cmd.addtokomafont} (see
|
|
\autoref{sec:\LabelBase.textmarkup},
|
|
\DescPageRef{\LabelBase.cmd.setkomafont}). The respective elements for this
|
|
are \FontElement{caption}\important[i]{\FontElement{caption}\\
|
|
\FontElement{captionlabel}} and \FontElement{captionlabel} (see
|
|
\autoref{tab:\LabelBase.fontelements},
|
|
\autopageref{tab:\LabelBase.fontelements}). The font style for the element
|
|
\FontElement{caption} is applied to the element \FontElement{captionlabel}
|
|
before the font style of \FontElement{captionlabel} itself is applied. The
|
|
default settings are listed in \autoref{tab:\LabelBase.captionFont}.
|
|
%
|
|
\begin{table}
|
|
% \centering%
|
|
% \caption
|
|
\begin{captionbeside}
|
|
{Font defaults for the elements of figure or table captions}
|
|
[l]
|
|
\begin{tabular}[t]{ll}
|
|
\toprule
|
|
element & default \\
|
|
\midrule
|
|
\DescRef{\LabelBase.fontelement.caption} & \Macro{normalfont} \\
|
|
\DescRef{\LabelBase.fontelement.captionlabel} & \Macro{normalfont}\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{captionbeside}
|
|
\label{tab:\LabelBase.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{lstcode}
|
|
\addtokomafont{caption}{\small}
|
|
\end{lstcode}
|
|
Furthermore, you would like the labels to be printed in sans serif and
|
|
bold. You add:
|
|
\begin{lstcode}
|
|
\setkomafont{captionlabel}{\sffamily\bfseries}
|
|
\end{lstcode}
|
|
As you can see, simple extensions of the default definitions are
|
|
possible.
|
|
\end{Example}%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{captionof}\Parameter{float type}\OParameter{entry}%
|
|
\Parameter{title}%
|
|
\Macro{captionbelowof}\Parameter{float type}\OParameter{entry}%
|
|
\Parameter{title}%
|
|
\Macro{captionaboveof}\Parameter{float type}\OParameter{entry}%
|
|
\Parameter{title}
|
|
\end{Declaration}%
|
|
Like\ChangedAt{v3.05}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} the \Package{caption}\IndexPackage{caption} and
|
|
\Package{capt-of}\IndexPackage{capt-of} packages, \KOMAScript{} offers the
|
|
\Macro{captionof} command, with which you can put a caption for a floating
|
|
environment, together with an entry in the corresponding environment list,
|
|
outside of the floating environment or even in a different floating
|
|
environment. Unlike \DescRef{\LabelBase.cmd.caption}, the type of floating
|
|
environment must be specified as the first parameter.
|
|
|
|
In addition, \KOMAScript{} also provides the commands
|
|
\Macro{captionaboveof}\ChangedAt{v3.09}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}} and \Macro{captionbelowof}. These are
|
|
like \DescRef{\LabelBase.cmd.captionabove} and
|
|
\DescRef{\LabelBase.cmd.captionbelow} but with the additional features and
|
|
parameter of \Macro{captionof}.
|
|
|
|
Of course\ChangedAt{v3.09a}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} \Macro{captionof} takes into account the \PValue{heading}
|
|
and \PValue{signature} settings of the \DescRef{\LabelBase.option.captions}
|
|
option. But this feature may be lost if you load the
|
|
\Package{capt-of}\IndexPackage{capt-of} or
|
|
\Package{caption}\IndexPackage{caption} packages. When using
|
|
\Package{caption}, you must follow the instructions for that package (see
|
|
\cite{package:caption})!
|
|
\begin{Example}
|
|
Suppose you want to create a floating object with a table and a figure next
|
|
to each other. Since there are no mixed floating environments, you primarily
|
|
use a \Environment{figure} environment:
|
|
\begin{lstcode}
|
|
\begin{figure}
|
|
\begin{minipage}{.5\linewidth}
|
|
\centering
|
|
\rule{4cm}{5cm}
|
|
\caption{A rectangle}\label{fig:rechteck}
|
|
\end{minipage}%
|
|
\begin{minipage}{.5\linewidth}
|
|
\centering
|
|
\captionaboveof{table}
|
|
[Measure of the rectangle in
|
|
figure~\ref{fig:rechteck}]%
|
|
{Measure of the rectangle}
|
|
\label{tab:rechteck}
|
|
\begin{tabular}{ll}
|
|
Width: & 4\,cm\\
|
|
Height: & 5\,cm
|
|
\end{tabular}
|
|
\end{minipage}
|
|
\end{figure}
|
|
\end{lstcode}
|
|
Two \Environment{minipage} environments were used to place the figure
|
|
and the table side by side. The\textnote{Attention!} percent sign after the
|
|
end of the first \Environment{minipage} is important. Without it, an
|
|
additional space would appear between the \Environment{minipage}
|
|
environments.
|
|
|
|
The figure caption was created with \DescRef{\LabelBase.cmd.caption}. The
|
|
table caption was created with \Macro{captionaboveof} with \PValue{table}
|
|
as the first argument. Because of this, \KOMAScript{} knows that this is a
|
|
table caption even though it is inside the \Environment{figure} environment.
|
|
|
|
The optional argument of \Macro{captionaboveof} creates an entry in the
|
|
list of tables. Without the optional argument, the caption specified in the
|
|
final mandatory argument would have been used for the list of tables too.
|
|
Although this caption text is sufficient for the environment itself, it
|
|
would not be very meaningful in the list of tables. Therefore, a different
|
|
title is used for the list of tables using the optional argument.
|
|
\autoref{fig:\LabelBase.captionaboveof} shows the result of the example code.%
|
|
\begin{figure}
|
|
% \centering
|
|
% \caption
|
|
\KOMAoptions{captions=bottombeside}%
|
|
\setcapindent{0pt}%
|
|
\begin{captionbeside}
|
|
[{Example: Using \Macro{captionaboveof} inside another floating
|
|
environment}]
|
|
{Example: Using \Macro{captionaboveof} inside another floating
|
|
environment\label{fig:\LabelBase.captionaboveof}}
|
|
[l]
|
|
\begin{minipage}[b]{.66\linewidth}%
|
|
\raisebox{\depth}{\fbox{\KOMAoptions{captions=oneline}%
|
|
\begin{minipage}{.5\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}
|
|
\centering
|
|
\rule{4cm}{5cm}
|
|
\caption[Example: A rectangle]{A rectangle}\label{fig:\LabelBase.rechteck}
|
|
\end{minipage}%
|
|
\begin{minipage}{.5\dimexpr\linewidth-2\fboxsep-2\fboxrule\relax}
|
|
\centering
|
|
\captionaboveof{table}[Example: Measure of the rectangle in
|
|
figure~\ref{fig:\LabelBase.rechteck}]{Rectangle size}
|
|
\label{tab:\LabelBase.rechteck}
|
|
\begin{tabular}{ll}
|
|
Width: & 4\,cm\\
|
|
Height: & 5\,cm
|
|
\end{tabular}
|
|
\end{minipage}}}%
|
|
\end{minipage}%
|
|
\end{captionbeside}%
|
|
\end{figure}%
|
|
\end{Example}%
|
|
You can produce a non-floating table with a caption in the same way as the
|
|
table inside a figure environment in the example above. In such a case, a
|
|
\Environment{minipage} environment should also be used to avoid page breaks
|
|
between the caption and the table. In addition, you should embed the
|
|
\Environment{minipage} environment in a \Environment{flushleft} environment
|
|
both to achieve a pleasing separation between the surrounding text and to
|
|
avoid the paragraph indentation of the \Environment{minipage} environment.%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\begin{Environment}{captionbeside}
|
|
\OParameter{short title}
|
|
\Parameter{caption text}
|
|
\OParameter{placement}
|
|
\OParameter{width}
|
|
\OParameter{offset}
|
|
\end{Environment}
|
|
\labelsuffix[*]%
|
|
\begin{Environment}{captionbeside}
|
|
\OParameter{short title}
|
|
\Parameter{caption text}
|
|
\OParameter{placement}
|
|
\OParameter{width}
|
|
\OParameter{offset}\PValue{*}%
|
|
\end{Environment}
|
|
\end{Declaration}
|
|
In addition\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} to captions above and below the figure, you will often
|
|
find captions, in particular for small figures, which are placed beside the
|
|
figure. The bottom edge of the caption is normally aligned with the bottom of
|
|
the figure. Of course, you can achieve the same thing in the standard classes
|
|
with some fiddling and the use of two \Macro{parbox} commands. However,
|
|
\KOMAScript{} offers a special environment for this which you can use within
|
|
the floating environments. The first optional parameter,
|
|
\PName{short title}\important{\PName{short title}\\\PName{caption text}}, and
|
|
the required parameter \PName{caption text} have the same meaning as the
|
|
corresponding parameters of \DescRef{\LabelBase.cmd.caption},
|
|
\DescRef{\LabelBase.cmd.captionabove} or
|
|
\DescRef{\LabelBase.cmd.captionbelow}. The \PName{caption text} is
|
|
placed beside the content of the environment in this case.
|
|
|
|
The \PName{placement}\important{\PName{placement}} parameter can determine
|
|
whether the \PName{caption text} is placed on the left or the right. Exactly
|
|
one of the following letters is allowed:
|
|
\begin{labeling}[~--]{\quad\PValue{o}}\setlength{\itemsep}{-1\parsep plus 1ex}%
|
|
\item[\PValue{l}] left
|
|
\item[\PValue{r}] right
|
|
\item[\PValue{i}] inner margin in two-sided printing
|
|
\item[\PValue{o}] outer margin in two-sided printing
|
|
\end{labeling}
|
|
The default placement is to the right of the content of the environment. You
|
|
can change this default\ChangedAt{v3.00}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}} using the
|
|
\DescRef{\LabelBase.option.captions}\IndexOption{captions}%
|
|
\important{\DescRef{\LabelBase.option.captions}} option (see
|
|
\DescPageRef{\LabelBase.option.captions}) with values like
|
|
\PValue{innerbeside}\IndexOption[indexmain]{captions~=\textKValue{innerbeside}},
|
|
\PValue{leftbeside}\IndexOption[indexmain]{captions~=\textKValue{leftbeside}},
|
|
\PValue{outerbeside}\IndexOption[indexmain]{captions~=\textKValue{outerbeside}},
|
|
and
|
|
\PValue{rightbeside}\IndexOption[indexmain]{captions~=\textKValue{rightbeside}}.
|
|
If either \PValue{o} or \PValue{i} are used you may need to run {\LaTeX} twice
|
|
to obtain the correct placement.
|
|
|
|
Normally\important{\PName{width}}, the content of the environment and the
|
|
\PName{caption text} fill the entire available text width. However, you can
|
|
specify a different width using the optional parameter \PName{width}. This can
|
|
be greater than the current text width.
|
|
|
|
When specifying a \PName{width}\important{\PName{width}\\\PName{offset}}, the
|
|
width used is usually centred with respect to the body text. 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.
|
|
|
|
If\important{\PValue{*}} you add a star to the optional \PName{offset}
|
|
parameter, the value represents a shift relative to the right margin on
|
|
left-hand pages in a 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. This variant may require two {\LaTeX} runs to achieve the
|
|
correct offset.
|
|
|
|
The default vertical alignment is bottom. This means that the bottommost base
|
|
lines of the contents of the environment and of the caption are aligned.
|
|
You\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} can change this setting using the
|
|
\DescRef{\LabelBase.option.captions}\IndexOption{captions}%
|
|
\important{\DescRef{\LabelBase.option.captions}} option (see
|
|
\DescPageRef{\LabelBase.option.captions}) with the value
|
|
\PValue{topbeside}\IndexOption[indexmain]{captions~=\textKValue{topbeside}},
|
|
\PValue{centeredbeside}%
|
|
\IndexOption[indexmain]{captions~=\textKValue{centeredbeside}}, or
|
|
\PValue{bottombeside}%
|
|
\IndexOption[indexmain]{captions~=\textKValue{bottombeside}}.
|
|
With the setting \PValue{topbeside}, the topmost base lines of the environment
|
|
contents and caption will be aligned. With \PValue{centeredbeside}, they will
|
|
be centred vertically. In this context, note that the base line of a figure is
|
|
usually the bottom of the figure. You can change this using, for example,
|
|
\Macro{raisebox}\IndexCmd{raisebox}.
|
|
|
|
\begin{Example}
|
|
You can find an example using the \Environment{captionbeside} environment in
|
|
\autoref{fig:\LabelBase.captionbeside}. This figure was typeset with:
|
|
\begin{lstcode}
|
|
\begin{figure}
|
|
\begin{captionbeside}[Example: Figure beside description]%
|
|
{A figure description which is neither above nor
|
|
below, but beside the figure}[i][\linewidth][%
|
|
[i][\linewidth][%
|
|
\dimexpr\marginparwidth+\marginparsep\relax]*
|
|
\fbox{%
|
|
\parbox[b][5\baselineskip][c]{.25\textwidth}
|
|
{%
|
|
\hspace*{\fill}\KOMAScript
|
|
\hspace*{\fill}\par
|
|
}%
|
|
}
|
|
\end{captionbeside}
|
|
\label{fig:\LabelBase.captionbeside}
|
|
\end{figure}
|
|
\end{lstcode}
|
|
\begin{figure}
|
|
\begin{captionbeside}[Example: Figure beside 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:\LabelBase.captionbeside}
|
|
\end{figure}
|
|
The total width is thus the currently available width of
|
|
\PValue{\Macro{linewidth}}. However, this width is shifted
|
|
$\Length{marginparwidth} + \Length{marginparsep}$ 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.
|
|
|
|
\iffalse% Umbruchkorrekturtext
|
|
The \Macro{dimexp} macro is an \eTeX{} command. This should not be a
|
|
problem at all because \KOMAScript{} itself requires \eTeX{} and every almost
|
|
up-to-date \LaTeX{} distribution uses \eTeX already.
|
|
\fi
|
|
|
|
\hyperref[fig:\LabelBase.captionbesidecentered]%
|
|
{Figure~\ref*{fig:\LabelBase.captionbesidecentered}}
|
|
shows a centred caption with:
|
|
\begin{lstcode}
|
|
\KOMAoption{captions}{centeredbeside}
|
|
\end{lstcode}
|
|
\iffalse % Umbruchalternativen
|
|
Even a typographical novice will immediately realize that you should
|
|
usually avoid this alignment.
|
|
\else
|
|
This is certainly not a recommended solution.
|
|
\fi
|
|
|
|
\begin{figure}
|
|
\begin{captionbeside}[Example: Description centered beside figure]%
|
|
{A figure description which is neither above nor
|
|
below, but centred beside the figure}[i][\linewidth][2em]*
|
|
\fbox{%
|
|
\parbox[b][5\baselineskip][c]{.25\textwidth}{%
|
|
\hspace*{\fill}\KOMAScript\hspace*{\fill}\par}}
|
|
\end{captionbeside}
|
|
\label{fig:\LabelBase.captionbesidecentered}
|
|
\end{figure}
|
|
|
|
In contrast, you can use the top-aligned format seen in
|
|
\autoref{fig:\LabelBase.captionbesidetop}. To illustrate how to shift the
|
|
baseline using \Macro{raisebox}, here is a complete example. You can apply
|
|
this not only to a substitute figure, as previously shown, but also, for
|
|
example, to \Macro{includegraphics} (see \cite{package:graphics}).
|
|
\begin{lstcode}
|
|
\documentclass[captions=topbeside]{scrbook}
|
|
\usepackage[english]{babel}
|
|
\usepackage{graphics}
|
|
\begin{document}
|
|
\chapter{An Example}
|
|
\begin{figure}
|
|
\begin{captionbeside}%
|
|
[Example: Figure title top beside]%
|
|
{A figure description which is neither above nor
|
|
below, but top beside the figure}%
|
|
[i][\linewidth][%
|
|
\dimexpr\marginparwidth+\marginparsep\relax
|
|
]*
|
|
\raisebox{%
|
|
\dimexpr\baselineskip-\totalheight\relax
|
|
}{%
|
|
\includegraphics{examplepicture}%
|
|
}%
|
|
\end{captionbeside}
|
|
\label{fig:\LabelBase.captionbesidetop}
|
|
\end{figure}
|
|
\end{document}
|
|
\end{lstcode}
|
|
\begin{figure}
|
|
\KOMAoption{captions}{topbeside}
|
|
\begin{captionbeside}[Example: Figure title top beside]%
|
|
{A figure description which is neither above nor
|
|
below, but top beside the figure}%
|
|
[i][\linewidth]
|
|
\raisebox{\dimexpr\baselineskip-\totalheight}{%
|
|
\fbox{%
|
|
\parbox[b][5\baselineskip][c]{.25\textwidth}{%
|
|
\hspace*{\fill}\KOMAScript\hspace*{\fill}\par}}%
|
|
}%
|
|
\end{captionbeside}
|
|
\label{fig:\LabelBase.captionbesidetop}
|
|
\end{figure}
|
|
\end{Example}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\begin{Environment}{captionofbeside}
|
|
\Parameter{float type}
|
|
\OParameter{short title}
|
|
\Parameter{caption text}
|
|
\OParameter{placement}
|
|
\OParameter{width}
|
|
\OParameter{offset}
|
|
\begin{Body}\BodyDots\end{Body}
|
|
\end{Environment}
|
|
\labelsuffix[*]%
|
|
\begin{Environment}{captionofbeside}
|
|
\Parameter{float type}
|
|
\OParameter{short title}
|
|
\Parameter{caption text}
|
|
\OParameter{placement}
|
|
\OParameter{width}
|
|
\OParameter{offset}\PValue{*}%
|
|
\begin{Body}\BodyDots\end{Body}
|
|
\end{Environment}
|
|
\end{Declaration}
|
|
As\ChangedAt{v3.10}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} is the case for \DescRef{\LabelBase.cmd.caption}, there is
|
|
a variant for \DescRef{\LabelBase.cmd.captionof} where the \PName{float type}
|
|
is not defined by using it within a floating environment of this type, so you
|
|
can specify a suitable environment for \DescRef{\LabelBase.env.captionbeside}
|
|
with \Environment{captionofbeside}. In contrast to
|
|
\DescRef{\LabelBase.env.captionbeside}, the \PName{float type} must be
|
|
specified as an additional, first argument.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\begin{Declaration}
|
|
\FloatStyle{komaabove}%
|
|
\FloatStyle{komabelow}
|
|
\end{Declaration}%
|
|
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 appear above or below. 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, you can
|
|
activate these styles 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
|
|
\DescRef{\LabelBase.cmd.caption}, \DescRef{\LabelBase.cmd.captionabove}, and
|
|
\DescRef{\LabelBase.cmd.captionbelow} above, whereas \PValue{komabelow}
|
|
inserts them below the float content.
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{captionformat}
|
|
\end{Declaration}%
|
|
In {\KOMAScript} there are various ways to change the formatting of
|
|
the caption text. The definition of different font styles has already
|
|
been explained above. The delimiter or delimiters between the label and
|
|
actual caption text is specified by the macro \Macro{captionformat}.
|
|
In contrast to all other \Macro{\dots}format commands, this is not the counter
|
|
but only the items which follow it. The original definition is:
|
|
\begin{lstcode}
|
|
\newcommand*{\captionformat}{:\ }
|
|
\end{lstcode}
|
|
You can change this too with \Macro{renewcommand}.
|
|
\begin{Example}
|
|
For some inexplicable reason, you want a dash surrounded by spaces
|
|
instead of a colon followed by a space as a label delimiter. You
|
|
therefore define:
|
|
\begin{lstcode}
|
|
\renewcommand*{\captionformat}{~--~}
|
|
\end{lstcode}
|
|
This definition should be put in the preamble of your document.
|
|
\end{Example}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{figureformat}%
|
|
\Macro{tableformat}
|
|
\end{Declaration}%
|
|
It has already been mentioned that \DescRef{\LabelBase.cmd.captionformat} does
|
|
not contain formatting for the label itself. You should not alter this by
|
|
redefining the commands for the output of the \Macro{thefigure} or
|
|
\Macro{thetable} counters. Such a redefinition would have unwanted side
|
|
effects on the output of \Macro{ref}, the table of contents, the list of
|
|
figures, and the list of tables. Instead, {\KOMAScript} offers two
|
|
\Macro{\dots format} commands. These have the following defaults:
|
|
\begin{lstcode}
|
|
\newcommand*{\figureformat}{\figurename~\thefigure\autodot}
|
|
\newcommand*{\tableformat}{\tablename~\thetable\autodot}
|
|
\end{lstcode}
|
|
They can also be customised to your requirements with \Macro{renewcommand}.
|
|
\begin{Example}
|
|
From time to time, it is required to have captions without labels or
|
|
delimiters. With {\KOMAScript} the following definitions suffice to
|
|
achieve this:
|
|
\begin{lstcode}
|
|
\renewcommand*{\figureformat}{}
|
|
\renewcommand*{\tableformat}{}
|
|
\renewcommand*{\captionformat}{}
|
|
\end{lstcode}
|
|
It should be noted, however, that although no numbering is output, the
|
|
internal counters are nevertheless incremented. This becomes especially
|
|
important if this redefinition is applied only to selected
|
|
\Environment{figure} or \Environment{table} environments.
|
|
\end{Example}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{setcapindent}\Parameter{indent}%
|
|
\Macro{setcapindent*}\Parameter{xindent}%
|
|
\Macro{setcaphanging}
|
|
\end{Declaration}%
|
|
As mentioned previously, in the standard classes the captions are set in a
|
|
non-hanging style. In other words, 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.
|
|
|
|
You can change this behaviour, which corresponds to using
|
|
\Macro{setcaphanging}, at any time with the \Macro{setcapindent} or
|
|
\Macro{setcapindent*} command. 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*}.
|
|
|
|
A negative value of \PName{indent}, on the other hand, results in a line break
|
|
before the caption text, and only the first line of the caption text, not
|
|
subsequent lines, is indented by the absolute value of \PName{indent}.
|
|
|
|
Whether one-line captions are set the same way as multi-line captions or are
|
|
treated separately is specified with the option
|
|
\DescRef{\LabelBase.option.captions}. For details please refer to the
|
|
explanations of this option on
|
|
\DescPageRef{\LabelBase.option.captions.oneline}.
|
|
|
|
\begin{Example}
|
|
The illustrations~\ref{fig:\LabelBase.caption.first} to
|
|
\ref{fig:\LabelBase.caption.last} show the effects of different settings. As
|
|
you can see, using a fully hanging indentation with a narrow column width is
|
|
awkward. To illustrate, the source code for the second figure is given here
|
|
with a modified caption text:
|
|
\begin{lstcode}
|
|
\begin{figure}
|
|
\setcapindent{1em}
|
|
\fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
|
|
\caption{Example with partially indented caption
|
|
starting from the second line}
|
|
\end{figure}
|
|
\end{lstcode}
|
|
As you can see, the formatting can also be changed locally within the
|
|
\Environment{figure} environment\IndexEnv{figure}. The change then affects
|
|
only the current figure. Subsequent figures once again use the default
|
|
settings or global settings that you set, for example, in the preamble. 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: Default caption]%
|
|
{\sloppy With the default setting, like using
|
|
\Macro{setcaphanging}}
|
|
\label{fig:\LabelBase.caption.first}
|
|
\end{minipage}
|
|
\hspace{.02\linewidth}
|
|
\begin{minipage}[t]{.48\linewidth}\sloppy
|
|
\setcapindent{1em}
|
|
\fbox{\parbox{.95\linewidth}{\centering{\KOMAScript}}}
|
|
\caption[Example: Caption with partially hanging indention]%
|
|
{With partially hanging indentation starting from the second line
|
|
by 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: Caption with hanging indention and line break]%
|
|
{With hanging indentation starting from 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: Caption with indention in the second line]%
|
|
{With indentation only in the second line and a line break
|
|
before the description using
|
|
\Macro{setcapindent}\PParameter{-1em}}
|
|
\label{fig:\LabelBase.caption.last}
|
|
\end{minipage}
|
|
\end{minipage}
|
|
\typeout{^^J--- Don't ignore underfull and overfull
|
|
\string\hbox:^^J}
|
|
\end{figure}
|
|
\end{Example}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{setcapwidth}\OParameter{justification}\Parameter{width}%
|
|
\Macro{setcapdynwidth}\OParameter{justification}\Parameter{width}%
|
|
\Macro{setcapmargin}\OParameter{left margin}\Parameter{margin}%
|
|
\Macro{setcapmargin*}\OParameter{inside margin}\Parameter{margin}
|
|
\end{Declaration}
|
|
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. Normally, the entire text or column width is available for the caption.
|
|
|
|
With\important{\Macro{setcapwidth}} the \Macro{setcapwidth} command, you can
|
|
decrease this \PName{width}. The mandatory 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}[~--]{\quad\PValue{o}}%
|
|
\itemsep=.5\topsep plus .5\topsep minus .5\topsep
|
|
\rightskip=1em
|
|
\item[\PValue{l}] left-justified
|
|
\item[\PValue{c}] centred
|
|
\item[\PValue{r}] right-aligned
|
|
\item[\PValue{i}] aligned to the inner margin in two-sided printing
|
|
\item[\PValue{o}] aligned to the outer margin in two-sided printing
|
|
\end{labeling}
|
|
Inside and outside justification corresponds to left-aligned and right-aligned
|
|
justification, respectively, in one-sided printing.
|
|
Within\textnote{Attention!} \Package{longtable}\IndexPackage{longtable}%
|
|
\important{\Package{longtable}} tables, inside and outside justification 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 the
|
|
\Package{longtable} package.
|
|
|
|
Note\ChangedAt{v3.20}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\textnote{Attention!} that \Macro{setcapwidth} immediately
|
|
sets the width to the value of the \PName{width} parameter at the time of the
|
|
assignment, as \Macro{setlength} does. If\important{\Macro{setcapdynwidth}}
|
|
you instead want to use the current value of \PName{width} when the caption is
|
|
set, you should use \Macro{setcapdynwidth}. There can be significant
|
|
differences in the result if, for example, you use lengths like
|
|
\Length{linewidth} or other commands as \PName{width} arguments.
|
|
|
|
With\important{\Macro{setcapmargin}} the \Macro{setcapmargin} command, instead
|
|
of specifying the width of the caption text, you can specify a \PName{margin}
|
|
to be set next to the caption text in addition to the normal text margin. If
|
|
you want margins with different widths on the left and right sides, you can
|
|
use the optional argument to specify a \PName{left margin} that differs from
|
|
\PName{margin}. Instead of a \PName{left margin}, the starred version
|
|
\Macro{setcapmargin*} defines an \PName{inside margin} in a two-sided layout.
|
|
The same problem arises here with with inside and outside justification inside
|
|
\Package{longtable}\IndexPackage{longtable}\important{\Package{longtable}}
|
|
tables that occurs with \Macro{setcapwidth}. Furthermore, using
|
|
\Macro{setcapmargin} or \Macro{setcapmargin*} activates the
|
|
\OptionValueRef{\LabelBase}{captions}{nooneline} option (see
|
|
\DescPageRef{\LabelBase.option.captions.nooneline}) for captions which are
|
|
typeset with this margin setting.
|
|
|
|
You\textnote{Hint!} can also specify negative values for \PName{margin} and
|
|
\PName{left margin} or \PName{inside margin}. This has the effect of making
|
|
the caption protrude into the margin.%
|
|
\iffalse\par% Anhang wurde entfernt.
|
|
Experts\textnote{Hint!} and advanced users can find a a somewhat tricky
|
|
application of \Macro{setcapwidth} in
|
|
\iffree{\cite{book:komascript}}{\autoref{cha:floattricks},
|
|
\autopageref{cha:floattricks}}.%
|
|
\fi%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\begin{Declaration}
|
|
\Macro{setcaptionalignment}\OParameter{float type}\Parameter{alignment}
|
|
\end{Declaration}
|
|
Normally\ChangedAt{v3.25}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}, multi-line\textnote{alignment of multi-line captions}
|
|
captions are fully justified. This corresponds to
|
|
\Macro{setcaptionalignment}\PParameter{j}. Sometimes, however, you want a
|
|
different alignment, for example ragged right. An appropriate change is
|
|
possible at any time with \Macro{setcaptionalignment}. You can specify exactly
|
|
one of the letters listed in \autoref{tab:maincls.captionalignment} for the
|
|
\PName{alignment}. If you specify an unknown \PName{alignment}, you will
|
|
receive an error message.
|
|
%
|
|
\begin{table}
|
|
% \centering
|
|
\KOMAoptions{captions=topbeside}%
|
|
\setcapindent{0pt}%
|
|
\begin{captionbeside}
|
|
[{Alignments for multi-line captions of floating environments}]
|
|
{\label{tab:maincls.captionalignment}%
|
|
Alignments for multi-line captions of floating environments}
|
|
[l]
|
|
\begin{tabular}[t]{ll}
|
|
\toprule
|
|
c & centred \\
|
|
j & fully justified \\
|
|
l & left justified \\
|
|
r & right justified \\
|
|
C & centred with \Package{ragged2e} \\
|
|
J & fully justified with \Package{ragged2e} \\
|
|
L & left justified with \Package{ragged2e} \\
|
|
R & right justified with \Package{ragged2e} \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{captionbeside}
|
|
\end{table}
|
|
|
|
The four possibilities with the
|
|
\Package{ragged2e}\important{\Package{ragged2e}}\IndexPackage{ragged2e}
|
|
package are only available if that package was loaded before you use
|
|
\Macro{setcaptionalignment}. Otherwise, they are converted to the
|
|
corresponding options without \Package{ragged2e}. For safety reasons, a
|
|
warning is issued in this case.
|
|
|
|
When using this command without\textnote{without optional parameter} the
|
|
optional parameter, the result depends on whether the call occurs inside our
|
|
outside of a floating environment. Within a floating environment, the
|
|
alignment is then set for this floating environment. Outside, on the other
|
|
hand, the optional parameter is assumed to be empty.
|
|
|
|
Using this command with an empty\textnote{empty optional parameter} optional
|
|
parameter, or outside a floating environment and also without any optional
|
|
parameter, sets the general alignment. This is used whenever the current
|
|
floating environment type does not define an alignment.
|
|
|
|
If you only want to set the alignment of a particular type of floating
|
|
environment\textnote{with \PName{float type}} without changing the
|
|
\PName{alignment} for other types of floating environments, then the type of
|
|
floating environment, e.\,g., \PValue{figure} or \PValue{table}, is given as
|
|
the optional parameter \PName{float type}.
|
|
%
|
|
\begin{Example}
|
|
You want captions to be centred under the images even if they are
|
|
multi-line. To text this for a single image, use\textnote{in the
|
|
floating environment}:
|
|
\begin{lstcode}
|
|
\begin{figure}
|
|
\centering
|
|
\setcaptionalignment{c}
|
|
\includegraphics{example-image}
|
|
\caption{\blindtext}
|
|
\end{figure}
|
|
\end{lstcode}
|
|
Since you are satisfied with the result, you move the\textnote{in the
|
|
preamble}
|
|
\begin{lstcode}
|
|
\setcaptionalignment{c}
|
|
\end{lstcode}
|
|
command to the document preamble. Thereafter, however, you decide you do not
|
|
like this change for table captions at all. Therefore, you use\textnote{only
|
|
for figures}
|
|
\begin{lstcode}
|
|
\setcaptionalignment[figure]{c}
|
|
\end{lstcode}
|
|
to limit the centring to figures.
|
|
|
|
A little later, you realize that the centring is not so suitable. Instead,
|
|
you now prefer to have ragged right alignment. So you change the alignment
|
|
again:
|
|
\begin{lstcode}
|
|
\setcaptionalignment[figure]{l}
|
|
\end{lstcode}
|
|
However, you do not like the fact that the lines are very different in
|
|
length. This is caused by the lack of hyphenation, causing long words to
|
|
wrap completely onto the next line, leaving large gaps. You want to allow
|
|
hyphenation as needed. This is easy to achieve with the help of the
|
|
\Package{ragged2e}\important{\Package{ragged2e}}\IndexPackage{ragged2e}
|
|
package. However, it is not enough to use
|
|
\begin{lstcode}
|
|
\usepackage{ragged2e}
|
|
\end{lstcode}
|
|
to load the package. Using the \Option{newcommands} option when loading the
|
|
package does not help. Instead, the \PName{alignment} must also be changed:
|
|
\begin{lstcode}
|
|
\usepackage{ragged2e}
|
|
\setcaptionalignment[figure]{L}
|
|
\end{lstcode}
|
|
Note\textnote{Attention!} the upper-case letter for the \PName{alignment}.
|
|
\end{Example}
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Option{origlongtable}
|
|
\end{Declaration}%
|
|
\BeginIndex{Package}{longtable}%
|
|
If you do not want the table captions produced by the \Package{longtable}
|
|
package (see \cite{package:longtable}) to be redefined by the {\KOMAScript}
|
|
classes, activate the \Option{origlongtable} option. This\textnote{Attention!}
|
|
option must be used in the optional argument of
|
|
\DescRef{\LabelBase.cmd.documentclass}. It cannot be used as a setting of
|
|
\DescRef{\LabelBase.cmd.KOMAoptions} or \DescRef{\LabelBase.cmd.KOMAoption}.
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{listof}{setting}
|
|
\end{Declaration}
|
|
Normally\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} lists of floating environments\,---\,like
|
|
tables\Index{tables>list of} or figures\Index{figures>list of}\,---\,are
|
|
neither numbered nor included in the table of contents. You can find more
|
|
information about this behaviour in \autoref{sec:\LabelBase.toc}. As an
|
|
alternative to the settings \OptionValueRef{\LabelBase}{toc}{nolistof}%
|
|
\IndexOption{toc~=\textKValue{nolistof}},
|
|
\OptionValueRef{\LabelBase}{toc}{listof}\IndexOption{toc~=\textKValue{listof}},
|
|
and \OptionValueRef{\LabelBase}{toc}{listofnumbered}%
|
|
\IndexOption{toc~=\textKValue{listofnumbered}} mentioned there, you can also
|
|
look at this behaviour from perspective of the lists themselves. Therefore
|
|
you can achieve the same results with the settings
|
|
\OptionValue{listof}{notoc}, \OptionValue{listof}{totoc}, and
|
|
\OptionValue{listof}{numbered}.
|
|
|
|
By default, the headings in the lists of floating environments use the topmost
|
|
level below \DescRef{\LabelBase.cmd.part}. This is the chapter level in
|
|
\Class{scrbook} and \Class{scrreprt} and the section level in
|
|
\Class{scrartcl}. By contrast,\ChangedAt{v3.06}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}
|
|
\OptionValue{listof}{leveldown}\important{\OptionValue{listof}{leveldown}}
|
|
uses the next lower level to be used instead.
|
|
\important{\OptionValue{listof}{standardlevel}}%
|
|
\ChangedAt{v3.15}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}%
|
|
\OptionValue{listof}{standardlevel} switches back to the default sectioning
|
|
level, if necessary.
|
|
\begin{Example}
|
|
In a book, you want to put the list of figures and the list of tables as
|
|
sub-lists into a common list named ``Figures and Tables''. Simply use:
|
|
\begin{lstcode}
|
|
\KOMAoption{listof}{leveldown}
|
|
\end{lstcode}
|
|
to use the section instead of the chapter level for both lists, and put the
|
|
following at the appropriate place in your document:
|
|
\begin{lstcode}
|
|
\addchap*{Figures and Tables}
|
|
\listoffigures
|
|
\listoftables
|
|
\end{lstcode}
|
|
You can find more information about the \DescRef{\LabelBase.cmd.addchap*}
|
|
command in \autoref{sec:\LabelBase.structure} on
|
|
\DescPageRef{\LabelBase.cmd.addchap*}.
|
|
\end{Example}
|
|
|
|
Normally\ChangedAt{v2.8q}{%
|
|
\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} the lists of
|
|
floating environments use a fixed-width space for the caption number of the
|
|
entries. At the same time, all entries are somewhat indented. This behaviour
|
|
corresponds to the
|
|
\OptionValue{listof}{graduated}\IndexOption{listof~=\textKValue{graduated}}
|
|
setting.
|
|
|
|
If the numbers become very wide, for example because you have many tables or
|
|
figures, the space provided may at some point no longer be sufficient.
|
|
\KOMAScript{} offers the setting \OptionValue{listof}{flat}%
|
|
\important{\OptionValue{listof}{flat}}\IndexOption{listof~=\textKValue{flat}}
|
|
for lists of floating environments, comparable to
|
|
\OptionValueRef{\LabelBase}{toc}{flat}\IndexOption{toc~=\textKValue{flat}} for
|
|
the table of contents. The width required to print the number is
|
|
determined automatically and the space is adjusted accordingly. See the
|
|
\OptionValueRef{\LabelBase}{toc}{flat} option, \autoref{sec:\LabelBase.toc},
|
|
\DescPageRef{\LabelBase.option.toc.flat} for more information about side
|
|
effects and how it works. Note\textnote{Attention!} again that you need more
|
|
than one \LaTeX{} run before the lists of floating environments reach
|
|
their final state.
|
|
|
|
The \OptionValue{listof}{entryprefix}\ChangedAt{v3.06}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}} setting automatically activates
|
|
\OptionValue{listof}{flat} too.
|
|
Normally\important{\OptionValue{listof}{entryprefix}}, it does not make sense
|
|
to add a prefix such as ``figure'' or ``table'' to each entry in the lists of
|
|
floating environments because, of course, only figures are included in the
|
|
list of figures and only tables are included in the list of tables. Such a
|
|
prefix provides no additional information and is thus omitted by default.
|
|
However, you can add such prefixes using the
|
|
\OptionValue{listof}{entryprefix} option. With this, all entries in the same
|
|
list will get the same prefix. The prefix depends on the file extension of the
|
|
auxiliary file that is used for the corresponding list. For the list of
|
|
figures, the file extension is ``\File{lof}'' and therefore
|
|
\Macro{listoflofentryname} is used. For the list of tables, the file extension
|
|
is ``\File{lot}'' and \Macro{listoflotentryname} is used.
|
|
|
|
For the \Class{scrbook} and \Class{scrreprt}\OnlyAt{\Class{scrbook}\and
|
|
\Class{scrreprt}} classes, \KOMAScript{} adds a vertical space to the lists
|
|
of floating environments whenever a new chapter starts. This behaviour, which
|
|
also exists in the standard classes, groups the lists by chapters. In
|
|
\KOMAScript{}, it corresponds to setting \ChangedAt{v3.00}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}}%
|
|
\OptionValue{listof}{chaptergapsmall}%
|
|
\LabelOptionValue{listof}{chaptergapsmall}%
|
|
\important{\OptionValue{listof}{chaptergapsmall}}%
|
|
\IndexOption{listof~=\textKValue{chaptergapsmall}}. In this case, is uses a
|
|
fixed vertical space of 10\Unit{pt}.
|
|
With\important{\OptionValue{listof}{chaptergapline}} the
|
|
\OptionValue{listof}{chaptergapline}%
|
|
\IndexOption{listof~=\textKValue{chaptergapline}} option, you instead get a
|
|
vertical space the height of one standard text line. With
|
|
\OptionValue{listof}{nochaptergap}%
|
|
\IndexOption{listof~=\textKValue{nochaptergap}}%
|
|
\important{\OptionValue{listof}{nochaptergap}}, you can completely remove the
|
|
vertical space. The\important{\OptionValue{listof}{chapterentry}}
|
|
\OptionValue{listof}{chapterentry}%
|
|
\IndexOption{listof~=\textKValue{chapterentry}} option is a special feature.
|
|
Instead of a vertical space, the table of contents entry for the chapter is
|
|
inserted into the lists of floating environments. Note\textnote{Attention!}
|
|
that this happens even if the chapter does not contain a floating environment.
|
|
You can find a method where only chapters containing floating environments
|
|
appear in the respective lists at \cite{https://komascript.de/comment/5070}.
|
|
You can achieve a more direct control over what appears in the lists of
|
|
floating environments with the \DescRef{\LabelBase.option.chapteratlists}
|
|
option, which is explained in \autoref{sec:\LabelBase.structure}, on
|
|
\DescPageRef{\LabelBase.option.chapteratlists}.
|
|
|
|
You can find an overview of all settings for the \Option{listof} option in
|
|
\autoref{tab:\LabelBase.listof}.
|
|
|
|
\begin{desclist}
|
|
\desccaption[{Available values for the \Option{listof} option}]{%
|
|
Available values for the \Option{listof} option for modifying the format
|
|
and contents of the lists of floating
|
|
environments\label{tab:\LabelBase.listof}%
|
|
}{%
|
|
Available values for the \Option{listof} option (\emph{continued})%
|
|
}%
|
|
\entry{\PValue{chapterentry}, \PValue{withchapterentry}}{%
|
|
Indicates the beginning of chapters in the lists of floating environments
|
|
with copies of their table-of-contents entries.%
|
|
\IndexOption{listof~=\textKValue{chapterentry}}}%
|
|
\entry{\PValue{chaptergapline}, \PValue{onelinechaptergap}}{%
|
|
Indicates the beginning of chapters in the lists of floating environments
|
|
with a vertical space the height of one standard text line.%
|
|
\IndexOption{listof~=\textKValue{chaptergapline}}}%
|
|
\entry{\PValue{chaptergapsmall}, \PValue{smallchaptergap}}{%
|
|
Indicates the beginning of chapters in the lists of floating environments
|
|
with a small vertical space.%
|
|
\IndexOption{listof~=\textKValue{chaptergapsmall}}}%
|
|
\entry{\PValue{entryprefix}}{%
|
|
\ChangedAt{v3.06}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
Adds a prefix before the number of each floating-environment list entry.
|
|
The prefix is usually language-dependent, e.\,g., in English ``Figure'' is
|
|
used for the list of figures and ``Table'' for the list of tables, each
|
|
followed by a white space.%
|
|
\IndexOption{listof~=\textKValue{entryprefix}}}%
|
|
\entry{\PValue{flat}, \PValue{left}}{%
|
|
Prints the lists of floating environments in tabular form. The caption
|
|
numbers are the first column, the caption texts the second column, and the
|
|
page numbers the third column. The space reserved for the caption numbers
|
|
depends on the previous \LaTeX{} run.%
|
|
\IndexOption{listof~=\textKValue{flat}}}%
|
|
\entry{\PValue{graduated}, \PValue{indent}, \PValue{indented}}{%
|
|
Prints the lists of floating environments in a hierarchical form. The
|
|
space reserved for the caption numbers is limited.%
|
|
\IndexOption{listof~=\textKValue{graduated}}}%
|
|
\entry{\PValue{leveldown}}{%
|
|
Uses headings that are one level lower in the sectioning hierarchy than
|
|
the default for lists of floating environments.%
|
|
\IndexOption{listof~=\textKValue{leveldown}}}%
|
|
\entry{\PValue{indenttextentries}, \PValue{indentunnumbered},
|
|
\PValue{numberline}}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The \PValue{numberline} property (see \autoref{sec:tocbasic.toc},
|
|
\DescPageRef{tocbasic.cmd.setuptoc}) is set for the lists of floating
|
|
environments such as figures and tables. As a result, unnumbered entries
|
|
are left-aligned with the text of numbered entries of the same level.
|
|
However, the \KOMAScript{} classes themselves do not put unnumbered
|
|
entries in these lists. This option therefore affects only entries that
|
|
are generated not by the \KOMAScript{} classes themselves but with the
|
|
help of \DescRef{tocbasic.cmd.addxcontentsline} (see
|
|
\autoref{sec:tocbasic.toc}, \DescPageRef{tocbasic.cmd.addxcontentsline}).%
|
|
\IndexOption{toc~=\textKValue{numberline}}}%
|
|
\entry{\PValue{leftaligntextentries}, \PValue{leftalignunnumbered},
|
|
\PValue{nonumberline}}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The \PValue{nonumberline} property (see \autoref{sec:tocbasic.toc},
|
|
\DescPageRef{tocbasic.cmd.setuptoc}) is set for the lists of floating
|
|
environments. This will place unnumbered entries left-aligned with the
|
|
number of numbered entries. However, the \KOMAScript{} classes themselves
|
|
do not put unnumbered entries in these lists. This option therefore
|
|
affects only entries that are generated not by the \KOMAScript{} classes
|
|
themselves but with the help of \DescRef{tocbasic.cmd.addxcontentsline}
|
|
(see \autoref{sec:tocbasic.toc},
|
|
\DescPageRef{tocbasic.cmd.addxcontentsline}).%
|
|
\IndexOption{toc~=\textKValue{nonumberline}}}%
|
|
\entry{\PValue{nochaptergap}, \PValue{ignorechapter}}{%
|
|
The beginnings of chapters are not marked in the lists of floating
|
|
environments.%
|
|
\IndexOption{listof~=\textKValue{nochaptergap}}}%
|
|
\entry{\PValue{notoc}, \PValue{nottotoc}, \PValue{plainheading}}{%
|
|
The lists of floating environments do not generate entries in the table of
|
|
contents.%
|
|
\IndexOption{listof~=\textKValue{nottotoc}}}%
|
|
\entry{\PValue{numbered}, \PValue{totocnumbered}, \PValue{tocnumbered},
|
|
\PValue{numberedtoc}, \PValue{numberedtotoc}}{%
|
|
The lists of floating environments receive numbered entries in the table
|
|
of contents.%
|
|
\IndexOption{listof~=\textKValue{numbered}}}%
|
|
\entry{\PValue{standardlevel}}{%
|
|
The lists use the normal sectioning level.%
|
|
\IndexOption{listof~=\textKValue{standardlevel}}}%
|
|
\entry{\PValue{totoc}, \PValue{toc}, \PValue{notnumbered}}{%
|
|
The lists of floating environment generate entries in the table of
|
|
contents, but their headings are unnumbered.%
|
|
\IndexOption{listof~=\textKValue{totoc}}}%
|
|
\end{desclist}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{listoftables}%
|
|
\Macro{listoffigures}
|
|
\end{Declaration}
|
|
These commands generate a list of tables or figures. Changes affecting these
|
|
lists will require two \LaTeX{} runs to take effect. The layout of the lists
|
|
can be influenced by the \DescRef{\LabelBase.option.listof}%
|
|
\important{\DescRef{\LabelBase.option.listof}} option with the values
|
|
\PValue{graduated} or \PValue{flat} (see
|
|
\DescPageRef{\LabelBase.option.listof}). In addition, the \PValue{listof} and
|
|
\PValue{listofnumbered} values of the \DescRef{\LabelBase.option.toc}%
|
|
\important{\DescRef{\LabelBase.option.toc}} option (see
|
|
\autoref{sec:\LabelBase.toc}), as well as the \PValue{totoc} and
|
|
\PValue{numbered} values of the \DescRef{\LabelBase.option.listof} option
|
|
described above indirectly affect these lists.
|
|
|
|
As\textnote{Hint!} a rule, you will find the lists of the floating
|
|
environments immediately after the table of contents. In some documents, they
|
|
go into the appendix. However, the author of this guide prefers them
|
|
immediately after the table of contents.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\LoadCommonFile{marginpar}% \section{Marginal Notes}
|
|
|
|
|
|
\section{Appendix}
|
|
\seclabel{appendix}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{Appendix}
|
|
|
|
The appendix of a document mostly consists of supplements to the document.
|
|
Typical parts of an appendix include a bibliography, an index, and a glossary.
|
|
However you should not start an appendix for these parts alone because their
|
|
format already distinguishes them from the main document. But if there are
|
|
additional elements in the appendix, such as quoted third-party documents,
|
|
endnotes, figures, or tabulars, the standard elements such as the bibliography
|
|
should also be part of the appendix.
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{appendix}
|
|
\end{Declaration}%
|
|
The appendix is started in the standard as well as the {\KOMAScript} classes
|
|
with \Macro{appendix}. Among other things, this command changes the chapter
|
|
numbering to upper-case letters while ensuring that the rules according to
|
|
\cite{DUDEN} for numbering the sectioning levels are followed (for
|
|
German-speaking regions). These rules are explained in more detail in the
|
|
description of the \DescRef{\LabelBase.option.numbers} option in
|
|
\autoref{sec:\LabelBase.structure}, \DescPageRef{\LabelBase.option.numbers}.
|
|
|
|
The format of the chapter headings\OnlyAt{\Class{scrbook}\and
|
|
\Class{scrreprt}} in the appendix is influenced by the
|
|
\DescRef{\LabelBase.option.chapterprefix}%
|
|
\important{\DescRef{\LabelBase.option.chapterprefix}\\
|
|
\DescRef{\LabelBase.option.appendixprefix}} and
|
|
\DescRef{\LabelBase.option.appendixprefix} options. See
|
|
\autoref{sec:\LabelBase.structure},
|
|
\DescPageRef{\LabelBase.option.appendixprefix} for more information.
|
|
|
|
Please\textnote{Attention!} note that \Macro{appendix} is a command,
|
|
\emph{not} an environment! This command does not expect an argument. Chapters
|
|
and sections in the appendix use \DescRef{\LabelBase.cmd.chapter} and
|
|
\DescRef{\LabelBase.cmd.section}, just as in the main text.%
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\section{Bibliography}
|
|
\seclabel{bibliography}
|
|
\BeginIndexGroup
|
|
\BeginIndex{}{bibliography}
|
|
|
|
The bibliography makes external sources accessible. As a rule, the
|
|
bibliography is created from an external file with a database-like structure
|
|
using the \BibTeX{} program. You can use the \BibTeX{} style to change both
|
|
the format of the entries and their sorting. If you use an additional
|
|
bibliography package like \Package{natbib}\IndexPackage{natbib},
|
|
\Package{babelbib}\IndexPackage{babelbib}, or
|
|
\Package{biblatex}\IndexPackage{biblatex}, \KOMAScript{}'s influence over the
|
|
bibliography disappears. In such cases, you must follow the manual of the
|
|
relevant bibliography package. You can find general information about
|
|
bibliographies in \cite{lshort}.
|
|
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{bibliography}{setting}
|
|
\end{Declaration}
|
|
For a start,\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} you can select any predefined bibliography style in
|
|
\PName{setting}. There are two such bibliography styles predefined in
|
|
\KOMAScript{}. You should not confuse them with the styles used by
|
|
\BibTeX\Index{BibTeX=\BibTeX}, which you select with
|
|
\Macro{bibstyle}. While \BibTeX{} determines both the sorting and the
|
|
contents of the bibliography, \KOMAScript{} influences only some basic
|
|
features of the bibliography and few properties of the entry format.
|
|
|
|
The\important{\OptionValue{bibliography}{oldstyle}}
|
|
\OptionValue{bibliography}{oldstyle}%
|
|
\IndexOption{bibliography~=\textKValue{oldstyle}} option selects a compact
|
|
format for bibliography entries. In this case, using the
|
|
\DescRef{maincls-experts.cmd.newblock}\IndexCmd{newblock} command results in
|
|
only a small glue between the entries. The name comes from the fact that this
|
|
is the most common classic form of a bibliography.
|
|
In\important{\OptionValue{bibliography}{openstyle}} contrast, the
|
|
\OptionValue{bibliography}{openstyle}%
|
|
\IndexOption{bibliography~=\textKValue{openstyle}} setting selects a more
|
|
modern and open kind of bibliography. The name comes from the fact that the
|
|
\DescRef{maincls-experts.cmd.newblock} command inserts a paragraph break. The
|
|
bibliography entries appear more structured. They are less compact and seem
|
|
more relaxed or open. Information about defining new bibliography styles can
|
|
be found in the description of the \DescRef{maincls-experts.cmd.newbibstyle}
|
|
command in \autoref{sec:maincls-experts.bibliography},
|
|
\DescPageRef{maincls-experts.cmd.newbibstyle}.
|
|
|
|
In addition to the formatting style, you can select one more feature using
|
|
\PName{setting}. The bibliography is a kind of list of contents. But instead
|
|
of listing the contents of the document itself, it references external works.
|
|
With this reasoning, you could argue that the bibliography is a separate
|
|
chapter or section and therefore deserves a chapter or section number. The
|
|
\OptionValue{bibliography}{numbered}%
|
|
\important{\OptionValue{bibliography}{numbered}}%
|
|
\IndexOption{bibliography~=\textKValue{numbered}} setting does exactly that,
|
|
including creating an entry in the table of contents. In my opinion, a
|
|
traditional, annotated source list should by this reasoning be a separate
|
|
chapter too. Moreover, the bibliography is ultimately nothing you've written
|
|
yourself and so merits at most an unnumbered entry in the table of contents,
|
|
which is achieved with the \OptionValue{bibliography}{totoc}%
|
|
\IndexOption{bibliography~=\textKValue{totoc}} option. The default setting,
|
|
where the bibliography is produced as an unnumbered chapter and does not
|
|
receive an entry in the table of contents corresponds to
|
|
\OptionValue{bibliography}{nottotoc}%
|
|
\IndexOption{bibliography~=\textKValue{nottotoc}}. For more information, see
|
|
the \DescRef{\LabelBase.option.toc} option in \autoref{sec:\LabelBase.toc},
|
|
especially the \PValue{bibliographynumbered}, \PValue{bibliography},
|
|
and\PValue{nobibliography} values for this option on
|
|
\DescPageRef{\LabelBase.option.toc.bibliography}.
|
|
|
|
Sometimes\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} a document made using \Class{scrbook} or \Class{scrreprt}
|
|
will have a bibliography for every chapter rather than one bibliography for
|
|
the whole document. In that case, it makes sense for the bibliography
|
|
itself\important{\OptionValue{bibliography=leveldown}} to be not a chapter but
|
|
a section. You can achieve this using the
|
|
\OptionValue{bibliography}{leveldown}%
|
|
\IndexOption{bibliography~=\textKValue{leveldown}} option. You can also use
|
|
this if you want the bibliography to appear with other lists under a common
|
|
heading, therefore this option is also available with \Class{scrartcl}.
|
|
|
|
You can find a summary of available values for the \Option{bibliography}
|
|
option in \autoref{tab:\LabelBase.bibliography}. Note, however, that you can
|
|
define new values with
|
|
\DescRef{maincls-experts.cmd.newbibstyle}\IndexCmd{newbibstyle}.
|
|
|
|
\begin{table}
|
|
\caption[{Available values for the \Option{bibliography} option}]{%
|
|
Predefined values for the \Option{bibliography} option for setting the
|
|
bibliography format}
|
|
\label{tab:\LabelBase.bibliography}
|
|
\begin{desctabular}
|
|
\pventry{leveldown}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The bibliography uses a sectioning command one level lower than
|
|
the default.%
|
|
\IndexOption{bibliography~=\textKValue{leveldown}}}%
|
|
\entry{\PValue{notoc}, \PValue{nottotoc}, \PValue{plainheading}}{%
|
|
The bibliography receives neither an entry in the table of contents nor
|
|
a number.%
|
|
\IndexOption{bibliography~=\textKValue{nottotoc}}}%
|
|
\entry{\PValue{numbered}, \PValue{tocnumbered}, \PValue{totocnumbered},
|
|
\PValue{numberedtoc}, \PValue{numberedtotoc}}{%
|
|
The bibliography receives an entry in the table of contents and a
|
|
number.%
|
|
\IndexOption{bibliography~=\textKValue{numbered}}}%
|
|
\pventry{oldstyle}{%
|
|
The bibliography uses the classic, compact formation, where
|
|
\DescRef{maincls-experts.cmd.newblock}\IndexCmd{newblock} generates only
|
|
a horizontal glue.%
|
|
\IndexOption{bibliography~=\textKValue{oldstyle}}}%
|
|
\pventry{openstyle}{%
|
|
The bibliography uses the structured, open format where
|
|
\DescRef{maincls-experts.cmd.newblock}\IndexCmd{newblock} generates a
|
|
paragraph break.%
|
|
\IndexOption{bibliography~=\textKValue{openstyle}}}%
|
|
\pventry{standardlevel}{%
|
|
\ChangedAt{v3.12}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The bibliography uses the standard sectioning command level.%
|
|
\IndexOption{bibliography~=\textKValue{standardlevel}}}%
|
|
\entry{\PValue{toc}, \PValue{totoc}, \PValue{notnumbered}}{%
|
|
The bibliography receives an entry in the table of contents but no
|
|
number.%
|
|
\IndexOption{bibliography~=\textKValue{totoc}}}%
|
|
\end{desctabular}
|
|
\end{table}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{setbibpreamble}\Parameter{preamble}
|
|
\end{Declaration}%
|
|
You can use the \Macro{setbibpreamble} command to set a preamble for the
|
|
bibliography\Index{bibliography}. This preamble must be placed before the
|
|
command for issuing the bibliography. However, it need not be directly
|
|
in front of it. For example, it could be placed at the beginning of
|
|
the document. Like\textnote{Attention!} the
|
|
\OptionValueRef{\LabelBase}{bibliography}{totoc} and
|
|
\OptionValueRef{\LabelBase}{bibliography}{totocnumbered} options, this command
|
|
only works if you have not loaded a package which prevents this from happening
|
|
by redefining the \Environment{thebibliography} environment. Although the
|
|
\Package{natbib} package\IndexPackage{natbib} uses undocumented, internal
|
|
{\KOMAScript} macros, \Macro{setbibpreamble} could still work with the current
|
|
version of \Package{natbib} (see \cite{package:natbib}).
|
|
\begin{Example}
|
|
You want to point out that the bibliographical references are sorted
|
|
alphabetically by the names of the authors. You therefore use the following
|
|
command:
|
|
\begin{lstcode}
|
|
\setbibpreamble{References are in alphabetical order.
|
|
References with more than one author are sorted
|
|
according to the first author.\par\bigskip}
|
|
\end{lstcode}
|
|
The \Macro{bigskip}\IndexCmd{bigskip} command ensures that the
|
|
preamble and the first reference are separated by a large vertical
|
|
space.%
|
|
\end{Example}%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{BreakBibliography}\Parameter{interruption code}
|
|
\end{Declaration}
|
|
This\textnote{Attention!}\ChangedAt{v3.00}{\Class{scrbook}\and
|
|
\Class{scrreprt}\and \Class{scrartcl}} command exists only if the
|
|
environment \Environment{thebibliography} has not been redefined by another
|
|
package. With this instruction, you can insert a break into the
|
|
bibliography. The \PName{interruption code} will be expanded inside a
|
|
group. Such a break may be, for example, a heading using
|
|
\DescRef{\LabelBase.cmd.minisec}. Unfortunately there is currently no way to
|
|
have this command automatically generated, for example by using a special
|
|
entry in the \BibTeX{} database. Therefore, it can currently only be used by
|
|
users who edit the bibliography directly. For this reason, its usefulness is
|
|
very limited.%
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{AfterBibliographyPreamble}\Parameter{code}%
|
|
\Macro{AtEndBibliography}\Parameter{code}
|
|
\end{Declaration}
|
|
In\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}
|
|
some cases, it may be useful to add some \PName{code} after the bibliography
|
|
preamble or just before the end of the bibliography. This is possible with the
|
|
help of these two instructions.
|
|
\begin{Example}
|
|
You want to set the bibliography not justified but ragged right. You can
|
|
achieve this with:
|
|
\begin{lstcode}
|
|
\AfterBibliographyPreamble{\raggedright}
|
|
\end{lstcode}
|
|
You can put this instruction anywhere before the bibliography. However, it is
|
|
recommended to do so in the preamble of the document or a separate package.
|
|
\end{Example}
|
|
The\textnote{Attention!} functionality of this instruction depends on
|
|
cooperation with packages modifying the bibliography, if you use such a
|
|
package\iffree{}{(see \autoref{sec:maincls-experts.coexistence},
|
|
\DescPageRef{maincls-experts.cmd.AfterBibliographyPreamble})}.%
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\section{Index}
|
|
\seclabel{index}
|
|
\BeginIndexGroup
|
|
|
|
For general information about making a keyword index, see \cite{lshort},
|
|
\cite{makeindex}, and \cite{xindy}. Using a package that redefines
|
|
commands or environments for the index \KOMAScript{}'s ability to influence
|
|
the index may disappear. This applies, for example, when using the
|
|
\Package{index}\IndexPackage{index} package, but not when using the
|
|
\Package{splitidx}\IndexPackage{splitidx} package (see
|
|
\cite{package:splitindex}).
|
|
|
|
\begin{Declaration}
|
|
\OptionVName{index}{setting}%
|
|
\end{Declaration}
|
|
\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}}%
|
|
By default or with \OptionValue{index}{default}%
|
|
\IndexOption{index~=\textKValue{default}}, the index is an unnumbered chapter
|
|
(\Class{scrbook} or \Class{scrreprt}) or section (\Class{scrartcl}) without an
|
|
entry in the table of contents. Since\important{\OptionValue{index}{totoc}}
|
|
the index usually comes last in a book or similar document, it does not
|
|
actually need an entry in the table of contents. Nevertheless, if you want to
|
|
do this, for example because you are working with a multi-index keyword
|
|
dictionary such as the one that appears in this \iffree{guide}{book}, you can
|
|
create this with the
|
|
\OptionValue{index}{totoc}\IndexOption{index~=\textKValue{totoc}} option.
|
|
You\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}} can even number the index using the
|
|
\OptionValue{index}{numbered}\IndexOption{index~=\textKValue{numbered}}
|
|
setting. See also the \DescRef{\LabelBase.option.toc} option with the
|
|
\PValue{index} or \PValue{indexnumbered} values in
|
|
\autoref{sec:\LabelBase.toc} starting at
|
|
\DescPageRef{\LabelBase.option.toc.index}.
|
|
|
|
For example, if you create multiple indexes with
|
|
\Package{splitidx}\IndexPackage{splitidx} (see \cite{package:splitindex}),
|
|
it may be useful to group them under a common heading. To make this possible,
|
|
\OptionValue{index}{leveldown}%
|
|
\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\important{\OptionValue{index}{leveldown}} places the index
|
|
one sectioning level deeper than usual. In \Class{scrbook} and
|
|
\Class{scrreprt}, it is no longer a chapter but a section; with
|
|
\Class{scrartcl}, a subsection. The \OptionValue{index}{standardlevel}%
|
|
\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}\important{\OptionValue{index}{standardlevel}} option is
|
|
the counterpart to this and cancels any instance of
|
|
\OptionValue{index}{leveldown} used previously.
|
|
|
|
You can find a summary of the available values for the \PName{setting} of
|
|
\Option{index} in \autoref{tab:maincls.index}.
|
|
|
|
\begin{table}
|
|
\caption{Available values for the \Option{index} option}
|
|
\label{tab:maincls.index}
|
|
\begin{desctabular}
|
|
\pventry{leveldown}{%
|
|
\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The index is moved down by one sectioning level.%
|
|
\IndexOption{index~=\textKValue{leveldown}}%
|
|
}%
|
|
\entry{\PValue{notoc}, \PValue{nottotoc}, \PValue{plainheading}}{%
|
|
The index does not receive an entry in the table of contents.%
|
|
\IndexOption{index~=\textKValue{nottotoc}}}%
|
|
\entry{\PValue{numbered}, \PValue{tocnumbered}, \PValue{totocnumbered},
|
|
\PValue{numberedtoc}, \PValue{numberedtotoc}}{%
|
|
\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The index receives an entry in the table of contents and is numbered.%
|
|
\IndexOption{index~=\textKValue{numbered}}}%
|
|
\pventry{standardlevel}{%
|
|
\ChangedAt{v3.18}{\Class{scrbook}\and \Class{scrreprt}\and
|
|
\Class{scrartcl}}%
|
|
The index is at the usual sectioning level.%
|
|
\IndexOption{index~=\textKValue{standardlevel}}%
|
|
}%
|
|
\entry{\PValue{toc}, \PValue{totoc}, \PValue{notnumbered}}{%
|
|
The index receives an entry in the table of contents without being
|
|
numbered.%
|
|
\IndexOption{index~=\textKValue{totoc}}}%
|
|
\end{desctabular}
|
|
\end{table}
|
|
%
|
|
\EndIndexGroup
|
|
|
|
|
|
\begin{Declaration}
|
|
\Macro{setindexpreamble}\Parameter{preamble}
|
|
\end{Declaration}%
|
|
As with the bibliography, you can also provide a preamble to the
|
|
index. This is often the case if you have more than one index or if
|
|
you mark different kinds of references 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{lstcode}
|
|
\setindexpreamble{All page numbers printed in \textbf{bold}
|
|
refer to definitions of terms. Page numbers printed
|
|
normally refer to pages where the term is used.\par\bigskip}
|
|
\end{lstcode}
|
|
\end{Example}
|
|
|
|
Note\textnote{Attention!} that the page style is changed for the first page
|
|
of the index. The page style that is applied is defined in the macro
|
|
\DescRef{\LabelBase.cmd.indexpagestyle} (see
|
|
\autoref{sec:\LabelBase.pagestyle},
|
|
\DescPageRef{\LabelBase.cmd.indexpagestyle}).
|
|
|
|
The usual \LaTeX{} packages and additional programs are responsible for
|
|
creating, sorting, and outputting the index.%
|
|
\iftrue % Umbruchoptimierung
|
|
\iffree{}{ %
|
|
For example, the \Package{imakeidx}\IndexPackage{imakeidx} package
|
|
(see \cite{package:imakeidx}), which among other things automates the
|
|
invocation of the \File{makeindex} or \File{xindy} program, is highly
|
|
recommended. This eliminates a common source of error, particularly for
|
|
\LaTeX{} beginners.%
|
|
}
|
|
{\KOMAScript}, like the standard classes, provides only the basic macros
|
|
and environments for them.%
|
|
\fi
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
%
|
|
\EndIndexGroup
|
|
|
|
\endinput
|
|
|
|
%%% Local Variables:
|
|
%%% mode: latex
|
|
%%% mode: flyspell
|
|
%%% ispell-local-dictionary: "english"
|
|
%%% TeX-master: "../guide"
|
|
%%% End:
|
|
|