diff options
author | Karl Berry <karl@freefriends.org> | 2009-01-27 02:00:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-01-27 02:00:27 +0000 |
commit | 990207a7872817b3d9945d710a389a0d76fe0260 (patch) | |
tree | 5cfe1dd7e1b3a5f32a086b2a4626260a46301c1e /Master/texmf-dist/source/latex | |
parent | 859083925d4a5369db7c4336785eab6ce24a155e (diff) |
koma-script update (26jan09)
git-svn-id: svn://tug.org/texlive/trunk@11990 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
13 files changed, 4390 insertions, 935 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/ChangeLog b/Master/texmf-dist/source/latex/koma-script/ChangeLog index 55195ae3b5b..8c5b821bbeb 100644 --- a/Master/texmf-dist/source/latex/koma-script/ChangeLog +++ b/Master/texmf-dist/source/latex/koma-script/ChangeLog @@ -1,3 +1,52 @@ +r809 2009-01-24 11:51:36 +0100 mjk: + + * releaselist.txt: release 2009/01/24 v3.02b + +r808 2009-01-24 11:49:14 +0100 mjk: + + * scrkvers.dtx, scrkcomp.dtx: prepared for 3.02b + +r807 2009-01-24 11:34:08 +0100 mjk: + + * scrkfloa.dtx: One more fix of vertical alignment of one line + captions + +r806 2009-01-23 15:44:17 +0100 mjk: + + * scrkbase.dtx: version number fixed + +r805 2009-01-23 15:39:38 +0100 mjk: + + * scrkbase.dtx: problem using amsmath fixed + +r804 2009-01-20 18:46:00 +0100 mjk: + + * doc/, doc/ngerman/, doc/ngerman/common.tex: {} hinter \nopagebreak + eingefügt (Danke an Torsten Krüger) + +r803 2009-01-20 12:12:55 +0100 mjk: + + * tocbasic.dtx: no explicite marks if ``numbered'' + +r802 2009-01-20 11:50:00 +0100 mjk: + + * doc/, doc/ngerman/, doc/ngerman/scrbookreportarticle.tex: + "scrreport" durch "scrreprt" ersetzt (Dank an Marco Daniel) + +r801 2009-01-06 18:32:15 +0100 mjk: + + * doc/, doc/Makefile.guide: common.tex added + +r800 2009-01-06 18:25:58 +0100 mjk: + + * doc/, doc/english/, doc/english/common.tex, + doc/english/typearea.tex, doc/ngerman/, doc/ngerman/typearea.tex: Many + changes by GH + +r799 2009-01-02 16:00:25 +0100 mjk: + + * doc/, doc/english/, doc/english/typearea.tex: changes by GH + r798 2009-01-02 10:03:38 +0100 mjk: * releaselist.txt: release 2009/01/01 v3.02 diff --git a/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide b/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide index 1d6a0a47718..51fd03d7098 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide +++ b/Master/texmf-dist/source/latex/koma-script/doc/Makefile.guide @@ -78,7 +78,9 @@ TEX_CHAPTERS = introduction.tex typearea.tex \ adrconvnote.tex scrlfile.tex tocbasic.tex \ $(TEX_APPENDICES) -TEX_SRC = guide-$(LANGUAGELONG).tex $(TEX_CHAPTERS) +TEX_MISC = common.tex + +TEX_SRC = guide-$(LANGUAGELONG).tex $(TEX_CHAPTERS) $(TEX_MISC) MISC_SRC = $(MAKE_FILES) htmlsetup diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/common.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/common.tex new file mode 100644 index 00000000000..b9ae19be511 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/common.tex @@ -0,0 +1,3025 @@ +% ====================================================================== +% common.tex +% Copyright (c) Markus Kohm, 2001-2009 +% +% 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.3b of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3b 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. +% ---------------------------------------------------------------------- +% common.tex +% Copyright (c) Markus Kohm, 2001-2009 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3b, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3b 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. +% ====================================================================== +% +% Paragraphs that are common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\ProvidesFile{common.tex}[2009/01/04 KOMA-Script guide (common paragraphs)] +\translator{Gernot Hassenpflug} + +\makeatletter +\@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% +\@ifundefined{ifCommonscrextend}{\newif\ifCommonscrextend}{}% +\@ifundefined{ifCommonscrlttr}{\newif\ifCommonscrlttr}{}% +\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\makeatother + +\ifcase \value{commonpar} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<0>> + +\section{Early or late Selection of Options} +\label{sec:\csname label@base\endcsname.options} +\ifshortversion\IgnoreThisfalse\IfNotCommon{typearea}{\IgnoreThistrue}\fi +\ifIgnoreThis +All of what is described in \autoref{sec:typearea.options} is generally applicable. +\else + +\BeginIndex{}{options}% + +In this section a peculiarity of {\KOMAScript} is presented, which +apart from % +\IfCommon{typearea}{the \Package{typearea} package is also relevant to other {\KOMAScript} packages and classes}% +\IfCommon{maincls}{the classes \Class{scrbook}, \Class{scrreprt} and + \Class{scrartcl} is also relevant to other {\KOMAScript} classes and packages}% +\IfCommon{scrlttr2}{the class \Class{scrlttr2} is also relevant to other + {\KOMAScript} classes and packages}% +\IfCommon{scrextend}{the classes and the \Package{scrextend} package is also relevant to several other + {\KOMAScript} packages}% +. Such that the user can find all information corresponding to a +single package or a single class in the relevant chapter, this section +is found almost identically in several chapters. Users who are not +only interested in a particular package or class, but wish to gain an +overview of {\KOMAScript} as a whole, may read the section in one +chapter and may thereafter skip it wherever coming across it in the +document. + +\begin{Declaration} + \Macro{documentclass}\OParameter{option list}% + \Parameter{{\KOMAScript} class}\\ + \Macro{usepackage}\OParameter{option list}% + \Parameter{package list} +\end{Declaration} +\BeginIndex{Cmd}{documentclass}% +\BeginIndex{Cmd}{usepackage}% +In \LaTeX{} provision is made for the user to pass class options as a +comma-separated list of keywords as optional arguments to +\Macro{documentclass}. angeben. Apart from being passed to the class, +these options are also passed on to all packages which can understand +the options. Provision is also made for the use to pass optional +arguments as a comma-separated list of keywords as optional arguments +to \Macro{usepackage}. {\KOMAScript} +expands\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}\and \Package{typearea}} the +option mechanism for die {\KOMAScript} classes und various packages to +use further possibilities. Thus, most {\KOMAScript} options can also +take a value. An option may have not only the form \PName{Option}, but +may also have the form \PName{option}\texttt{=}\PName{value}. Apart +from this difference \Macro{documentclass} and \Macro{usepackage} +function the same in {\KOMAScript} as described in +\cite{latex:usrguide} oder any introduction to \LaTeX, for example +\cite{l2short}.% +% +\IfNotCommon{scrextend}{\par% + When using a {\KOMAScript} class no options should be passed on +% Die Alternativen an dieser Stelle dienen der Verbesserung des Umbruchs + \IfCommon{typearea}{unnecessary, explicit }% + loading of the \Package{typearea} or \Package{scrbase} packages. The + reason for this is that the class already loads these packages + without options and \LaTeX{} refuses multiple loading of a package + with different option settings.% + \IfCommon{maincls}{\ Actually, it is no longer necessary when using + any {\KOMAScript} class to explicity load either one of these + packages.}% + \IfCommon{scrlttr2}{\ Actually, it is no longer necessary when using + any {\KOMAScript} class to explicity load either one of these + packages.}}% +% +\EndIndex{Cmd}{usepackage}% +\EndIndex{Cmd}{documentclass}% + + +\BeginIndex{Cmd}{KOMAoptions}% +\BeginIndex{Cmd}{KOMAoption}% +\begin{Declaration} + \Macro{KOMAoptions}\Parameter{option list}\\ + \Macro{KOMAoption}\Parameter{option}\Parameter{value list} +\end{Declaration} +\KOMAScript{}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Package{scrextend}\and + \Package{typearea}} offers most class and package options the +opportunity to change the value of options even after loading of the +class or package. One may than change the values of a list of options +at will with the \Macro{KOMAoptions} command. Each option in the +\PName{option list} has the form +\PName{option}\texttt{=}\PName{value}. + +Some options also have a default value. If one does not give a value, +i.\,e., gives the option simply in the form \PName{option}, then the +default value will be used. + +Some options can % +\IfCommon{maincls}{also }% Umbruchkorrektur +\IfCommon{scrlttr2}{also }% Umbruchkorrektur +assume several values simultaneously. For such options there exists +the possibility, with the help of \Macro{KOMAoption}, to pass a single +\PName{option} a list of values. The individual values are given as a +comma-separated \PName{value list}. + +\begin{Explain} + If in the \PName{option list} one sets an option to a disallowed + value, or the \PName{value list} contains an invalid value, then an + error is produced. If \LaTeX{} is run in an interactive mode, then + it stops at this point. Entering ``\texttt{h}'' displays a help + screen, in which also the valid values for the corresponding option + are given. + + If a \PName{value} includes an equal sign or a comma, then the + \PName{value} must be enclosed in curly brackets. + + To implement this possibility {\KOMAScript} uses the commands + \Macro{FamilyOptions} and \Macro{FamilyOption} with the family + ``\PValue{KOMA}''. More information on these commands % + \IfCommon{maincls}{for experts }% + \IfCommon{scrlttr2}{for experts }% + is found in \autoref{sec:scrbase.keyvalue}, + \autopageref{desc:scrbase.cmd.FamilyOptions}. +\end{Explain} +% +\EndIndex{Cmd}{KOMAoption}% +\EndIndex{Cmd}{KOMAoptions}% +% +\EndIndex{}{options}% + +\fi % IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<1>> + +\section{Kompatibilität zu früheren Versionen von \KOMAScript} +\label{sec:\csname label@base\endcsname.compatibilityOptions} +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis% +Es gilt sinngemäß, was in \autoref{sec:maincls.compatibilityOptions} +geschrieben wurde. \IfCommon{scrlttr2}{Allerdings existiert diese Möglichkeit + bei \Class{scrlttr2} bereits seit Version~2.9t}. +\else +\BeginIndex{}{Kompatibilität} + +\IfCommon{maincls}{Wer seine Dokumente im Quellcode archiviert, legt in der + Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer + wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber + so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im + Verhalten, inbesondere beim Umbruch, führen.}% +\IfCommon{scrextend}{Wer seine Dokumente im Quellcode archiviert, legt in der + Regel allergrößten Wert darauf, dass bei zukünftigen \LaTeX{}-Läufen immer + wieder exakt dasselbe Ergebnis erzielt wird. In einigen Fällen ist es aber + so, dass Verbesserungen und Korrekturen an der Klasse zu Änderungen im + Verhalten, inbesondere beim Umbruch, führen.}% +\IfCommon{scrlttr2}{In einigen Fällen ist es so, dass Verbesserungen und + Korrekturen an der Klasse zu Änderungen im Verhalten, inbesondere beim + Umbruch, führen. Dies ist jedoch nicht immer erwünscht.}% + + +\begin{Declaration} + \KOption{version}\PName{Wert}\\ + \OptionValue{version}{first}\\ + \OptionValue{version}{last} +\end{Declaration} +\BeginIndex{Option}{version}% +\BeginIndex{Option}{version~=\PName{Wert}}% +\BeginIndex{Option}{version~=last}% +\BeginIndex{Option}{version~=first}% +\IfCommon{maincls}{\ChangedAt{v2.96a}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}}Seit Version~2.96a besteht bei \KOMAScript\ }% +\IfCommon{scrlttr2}{\ChangedAt{v2.9t}{Seit \Class{scrlttr2}} Version~2.9t + besteht bei \Class{scrlttr2} }% +\IfCommon{scrextend}{Bei \Package{scrextend} besteht }% +die Wahl, ob eine Quelldatei soweit irgend möglich auch zukünftig bei einem +\LaTeX{}-Lauf zu exakt demselben Ergebnis führen soll oder ob jeweils +entsprechend der Anpassungen der neusten Version der Klasse zu setzen ist. Zu +welcher Version Kompatibilität herzustellen ist, wird dabei über die Option +\Option{version} festgelegt. Voreingestellt ist Version~2.9t. Dasselbe +Ergebnis kann mit +% Umbruchkorrektur: Unterlängenproblem in listings! +\begin{lstcode}[belowskip=\dp\strutbox] + version=first +\end{lstcode} +oder +\begin{lstcode}[belowskip=\dp\strutbox] + version=2.9 +\end{lstcode} +oder +\begin{lstcode}[belowskip=\dp\strutbox] + version=2.9t +\end{lstcode} +erreicht werden. Bei Angabe einer unbekannten Version als \PName{Wert} wird +eine Warnung ausgegeben und sicherheitshalber \Option{version=}\PValue{first} +angenommen. Mit +\begin{lstcode}[belowskip=\dp\strutbox] + version=last +\end{lstcode} +kann die jeweils neuste Version ausgewählt werden. In diesem Fall wird also +auf zukünftige Kompatibilität verzichtet. Wird die Option ohne Wertangabe +verwendet, so wird ebenfalls \PValue{last} angenommen. + +Die Frage der Kompatibilität betrifft in erster Linie Fragen des Umbruchs. Neue +Möglichkeiten, die sich nicht auf den Umbruch auswirken, sind auch dann +verfügbar, wenn man per Option die Kompatibilität zu einer älteren Version +ausgewählt hat. Die Option hat keine Auswirkungen auf Umbruchänderungen, die +bei Verwendung einer neueren Version durch Beseitigung eindeutiger Fehler +entstehen. Wer auch im Fehlerfall unbedingte Umbruchkompatibilität benötigt, +sollte stattdessen mit dem Dokument auch die verwendete \KOMAScript-Version +archivieren. + +\IfCommon{scrlttr2}{\begin{Example} + Die Beispielbriefe dieses Kapitels sollen alle Möglichkeiten nutzen, die in + der neusten Version von \KOMAScript{} zur Verfügung stehen. Dazu muss beim + Laden der Klasse die Kompatibilität entsprechend gesetzt werden:% + \lstinputcode[xleftmargin=1em,lastline=1]{letter-0.tex}% + \iftrue% Umbruchkorrektur + Hier wurde einfach mit dem symbolischen Wert \PValue{last} die neuste + Version gewählt.% + \else% + Um nicht bei jeder neuen Version eine neue Versionsnummer angeben zu + müssen, wurde hier die Möglichkeit des symbolischen Wertes \PValue{last} + gewählt.% + \fi +\end{Example}} + +Es ist zu beachten, dass die Option \Option{version} nach dem Laden % +\IfCommon{maincls}{der Klasse }% +\IfCommon{scrlttr2}{der Klasse }% +\IfCommon{scrextend}{des Pakets \Package{scrextend} }% +nicht mehr verändert werden kann.% +% +\EndIndex{Option}{version~=\PName{Wert}}% +\EndIndex{Option}{version~=first}% +\EndIndex{Option}{version~=last}% +\EndIndex{Option}{version}% +% +\EndIndex{}{Kompatibilität} + +\fi % IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<2>> + +\section{Entwurfsmodus} +\label{sec:\csname label@base\endcsname.draft}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis% +Es gilt sinngemäß, was in \autoref{sec:maincls.draft} geschrieben wurde. +\else +\BeginIndex{}{Entwurf}% + +Viele Klassen und viele Pakete kennen neben dem normalen Satzmodus auch einen +Entwurfsmodus. Die Unterschiede zwischen diesen beiden sind so vielfältig wie +die Klassen und Pakete, die diese Unterscheidung anbieten. + +\begin{Declaration} + \KOption{draft}\PName{Ein-Aus-Wert} +\end{Declaration}% +\BeginIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% +Mit dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} wird zwischen Dokumenten im +Entwurfsstadium und fertigen Dokumenten\Index{Endfassung} unterschieden. Als +\PName{Ein-Aus-Wert} kann einer der Standardwerte für einfache Schalter aus +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} verwendet +werden. Bei Aktivierung der Option werden im Falle überlanger Zeilen am +Zeilenende kleine, schwarze Kästchen ausgegeben. Diese Kästchen erleichtern +dem ungeübten Auge, Absätze ausfindig zu machen, die manueller Nachbearbeitung +bedürfen. Demgegenüber erscheinen in der Standardeinstellung +\OptionValue{draft}{false} keine solchen Kästchen.% +% +\EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% +% +\EndIndex{}{Entwurf} + +\fi % IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<3>> + +\section{Seitenauf"|teilung} +\label{sec:\csname label@base\endcsname.typearea} +\BeginIndex{}{Seitenaufteilung=Seitenauf~"~|teilung} + +Eine Dokumentseite besteht aus unterschiedlichen Teilen, wie den Rändern, dem +Kopf, dem Fuß, dem Textbereich, einer Marginalienspalte und den Abständen +zwischen diesen Elementen. \KOMAScript{} unterscheidet dabei auch noch +zwischen der Gesamtseite oder dem Papier und der sichtbaren Seite. Ohne +Zweifel gehört die Auf"|teilung der Seite in diese unterschiedlichen Teile zu +den Grundfähigkeiten einer Klasse. Bei \KOMAScript{} wird diese Arbeit an das +Paket \Package{typearea} delegiert. Dieses Paket kann auch zusammen mit +anderen Klassen verwendet werden. Die \KOMAScript-Klassen laden +\Package{typearea} jedoch selbständig. Es ist daher weder notwendig noch +sinnvoll, das Paket bei Verwendung einer \KOMAScript-Klasse auch noch explizit +per \Macro{usepackage} zu laden. Siehe hierzu auch +\autoref{sec:\csname label@base\endcsname.options}. + +Einige Einstellungen der \KOMAScript{}-Klassen haben auch Auswirkungen auf die +Seitenauf"|teilung und umgekehrt. Diese Auswirkungen werden bei den +entsprechenden Einstellungen dokumentiert. + +Für die weitere Erklärung zur Wahl des Papierformats, der Auf"|teilung der Seite +in Ränder und Satzspiegel und die Wahl von ein- oder zweispaltigem Satz sei +auf die Anleitung des Pakets \Package{typearea} verwiesen. Diese ist in +\autoref{cha:typearea} ab \autopageref{cha:typearea} zu finden. + + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<4>> + +\label{sec:\csname label@base\endcsname.fontOptions} +\ifshortversion\IgnoreThisfalse\IfCommon{scrextend}{\IgnoreThistrue}\fi% +\ifIgnoreThis% +Es gilt sinngemäß, was in \autoref{sec:maincls.fontOptions} geschrieben +wurde. +\else +\BeginIndex{}{Schrift>Groesse=Größe} + +Die Grundschrift und deren Größe sind zentrale Elemente der Gestaltung eines +Dokuments. Wie in \autoref{cha:typearea} ausgeführt wurde, hängt die +Auf"|teilung zwischen Satzspiegel und Rändern wesentlich davon ab. Die +Grundschrift ist dabei die Schrift, die für die Masse des Textes eines +Dokuments verwendet wird. Alle davon abweichenden Einstellungen, sei es in der +Form, der Dicke, der Neigung oder der Größe, stehen in einer Beziehung zur +Grundschrift. + + +\begin{Declaration} + \KOption{fontsize}\PName{Größe} +\end{Declaration} +\BeginIndex{Option}{fontsize~=\PName{Größe}}% +Während von den Standardklassen und den meisten anderen Klassen nur eine sehr +beschränkte Anzahl an Schriftgrößen unterstützt wird, bietet \KOMAScript{} die +Möglichkeit, jede beliebige \PName{Größe} für die Grundschrift +anzugeben. Dabei kann als Einheit für die \PName{Größe} auch jede bekannte +\TeX-Einheit verwendet werden. Wird die \PName{Größe} ohne Einheit angegeben, +so wird \PValue{pt} als Einheit angenommen. \iffree{}{Das genaue Verfahren, + nach dem die Schriftgröße dann eingestellt wird, ist für Experten und + interessierte Anwender in \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.option.fontsize} dokumentiert.} + +Wird die Option innerhalb des Dokuments gesetzt, so werden ab diesem Punkt die +Grundschriftgröße und alle davon abhängigen Größen geändert. Das kann +beispielsweise dann nützlich sein, wenn % +\IfCommon{maincls}{der Anhang }% +\IfCommon{scrlttr2}{ein weiterer Brief }% +\IfCommon{scrextend}{der Anhang }% +insgesamt in einer kleineren Schriftgröße gesetzt werden soll. Es wird darauf +hingewiesen, dass bei Verwendung nach dem Laden der Klasse die Auf"|teilung +zwischen Satzspiegel und Rändern nicht automatisch neu berechnet wird (siehe +\Macro{recalctypearea}\IndexCmd{recalctypearea}, +\autoref{sec:typearea.options}, +\autopageref{desc:typearea.cmd.recalctypearea}). Wird diese Neuberechnung +jedoch vorgenommen, so erfolgt sie auf Basis der jeweils gültigen +Grundschriftgröße. Die Auswirkungen des Wechsels der Grundschriftgröße auf +zusätzlich geladene Pakete % +\IfCommon{scrextend}{oder die verwendete Klasse }% +sind von diesen Paketen % +\IfCommon{scrextend}{und der Klasse }% +abhängig. % +\IfCommon{maincls}{Es können also Fehler auf"|treten, die nicht als Fehler von + \KOMAScript{} angesehen werden.}% +\IfCommon{scrlttr2}{Dabei sind Fehler möglich, die nicht als Fehler von + \KOMAScript{} betrachtet werden.}% +\IfCommon{scrextend}{Es können also Fehler auf"|treten, die nicht als Fehler von + \KOMAScript{} angesehen werden.}% + +Die Option sollte keinesfalls als Ersatz für \Macro{fontsize} (siehe +\cite{latex:fntguide}) missverstanden werden. Sie sollte auch nicht an Stelle +einer der von der Grundschrift abhängigen Schriftgrößenanweisungen, +\Macro{tiny} bis \Macro{Huge}, verwendet werden!% +\IfCommon{scrlttr2}{\ Voreingestellt ist bei \Class{scrlttr2} + \OptionValue{fontsize}{12pt}.} + +\fi % IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<5>> + +\section{Textauszeichnungen} +\label{sec:\csname label@base\endcsname.textmarkup}% +\ifshortversion\IgnoreThisfalse\IfCommon{scrlttr2}{\IgnoreThistrue}\fi% +\ifIgnoreThis% +Es gilt sinngemäß, was in \autoref{sec:maincls.textmarkup} geschrieben +wurde. Dabei sind Namen und Bedeutung der einzelnen Elemente in +\else +\BeginIndex{}{Text>Auszeichnung}% +\BeginIndex{}{Schriftart}% + +\LaTeX{} verfügt über eine ganze Reihe von Anweisungen zur +Textauszeichnung. Neben der Wahl der Schriftart gehören dazu auch Befehle zur +Wahl einer Textgröße oder der Textausrichtung. Näheres zu den normalerweise +definierten Möglichkeiten ist \cite{l2kurz}, \cite{latex:usrguide} und +\cite{latex:fntguide} zu entnehmen. + + +\begin{Declaration} + \Macro{textsuperscript}\Parameter{Text}\\ + \Macro{textsubscript}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{textsubscript}% +\BeginIndex{Cmd}{textsuperscript}% +Im \LaTeX-Kern ist bereits die Anweisung +\Macro{textsuperscript}\IndexCmd{textsuperscript} definiert, mit der +\PName{Text} höher gestellt werden kann. Leider bietet \LaTeX{} selbst keine +entsprechende Anweisung, um Text tief\Index{Tiefstellung} statt +hoch\Index{Hochstellung} zu stellen. \KOMAScript{} definiert dafür +\Macro{textsubscript}. % +\IfCommon{scrlttr2}{Ein Anwendungsbeispiel finden Sie in + \autoref{sec:maincls.textmarkup}, + \autopageref{desc:maincls.textsubscript.example}.} +\IfCommon{scrextend}{Ein Anwendungsbeispiel finden Sie in + \autoref{sec:maincls.textmarkup}, + \autopageref{desc:maincls.textsubscript.example}.} +% +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.textsubscript.example}% + Sie schreiben einen Text über den menschlichen Stoffwechsel. Darin kommen + hin und wieder einfache chemische Summenformeln vor. Dabei sind einzelne + Ziffern tief zu stellen. Im Sinne des logischen Markups definieren Sie + zunächst in der Dokumentpräambel oder einem eigenen Paket: + \begin{lstcode} + \newcommand*{\Molek}[2]{#1\textsubscript{#2}} + \end{lstcode} + \newcommand*{\Molek}[2]{#1\textsubscript{#2}}% + Damit schreiben Sie dann: + \begin{lstcode} + Die Zelle bezieht ihre Energie unter anderem aus der + Reaktion von \Molek C6\Molek H{12}\Molek O6 und + \Molek O2 zu \Molek H2\Molek O{} und + \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich + allerdings auf den Stoffwechsel sehr nachteilig aus. + \end{lstcode} + Das Ergebnis sieht daraufhin so aus: + \begin{ShowOutput} + Die Zelle bezieht ihre Energie unter anderem aus der Reaktion von + \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek + O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich + allerdings auf den Stoffwechsel sehr nachteilig aus. + \end{ShowOutput} + Etwas später entscheiden Sie, dass Summenformeln grundsätzlich serifenlos + geschrieben werden sollen. Nun zeigt sich, wie gut die Entscheidung für + konsequentes logisches Markup war. Sie müssen nur die + \Macro{Molek}-Anweisung umdefinieren: + \begin{lstcode} + \newcommand*{\Molek}[2]{% + \textsf{#1\textsubscript{#2}}% + } + \end{lstcode} + \renewcommand*{\Molek}[2]{\textsf{#1\textsubscript{#2}}}% + Schon ändert sich die Ausgabe im gesamten Dokument: + \begin{ShowOutput} + Die Zelle bezieht ihr Energie unter anderem aus der Reaktion von + \Molek C6\Molek H{12}\Molek O6 und \Molek O2 zu \Molek H2\Molek + O{} und \Molek C{}\Molek O2. Arsen (\Molek{As}{}) wirkt sich + allerdings auf den Stoffwechsel sehr nachteilig aus. + \end{ShowOutput} +\end{Example} +\iffalse % vielleicht in einer späteren Auf-lage +Für Experten ist in \autoref{sec:experts.knowhow}, +\autopageref{desc:experts.macroargs} dokumentiert, warum das Beispiel +funktioniert, obwohl teilweise die Argumente von \Macro{Molek} nicht in +geschweifte Klammern gesetzt wurden.% +\fi +\fi% \ifCommonmaincls +% +\EndIndex{Cmd}{textsuperscript}% +\EndIndex{Cmd}{textsubscript}% + + +\begin{Declaration} + \Macro{setkomafont}\Parameter{Element}\Parameter{Befehle}\\ + \Macro{addtokomafont}\Parameter{Element}\Parameter{Befehle}\\ + \Macro{usekomafont}\Parameter{Element} +\end{Declaration}% +\BeginIndex{Cmd}{setkomafont}% +\BeginIndex{Cmd}{addtokomafont}% +\BeginIndex{Cmd}{usekomafont}% +Mit\ChangedAt{v2.8p}{% + \Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} Hilfe der beiden +Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} ist es möglich, die +\PName{Befehle} festzulegen, mit denen die Schrift eines bestimmten +\PName{Element}s umgeschaltet wird. Theoretisch könnten als \PName{Befehle} +alle möglichen Anweisungen einschließlich Textausgaben verwendet werden. Sie +sollten sich jedoch unbedingt auf solche Anweisungen beschränken, mit denen +wirklich nur ein Schriftattribut umgeschaltet wird. In der Regel werden dies +die Befehle \Macro{normalfont}, \Macro{rmfamily}, \Macro{sffamily}, +\Macro{ttfamily}, \Macro{mdseries}, \Macro{bfseries}, \Macro{upshape}, +\Macro{itshape}, \Macro{slshape}, \Macro{scshape} sowie die Größenbefehle +\Macro{Huge}, \Macro{huge}, \Macro{LARGE}, \Macro{Large}, \Macro{large}, +\Macro{normalsize}, \Macro{small}, \Macro{footnotesize} und \Macro{tiny} +sein. Die Erklärung zu diesen Befehlen entnehmen Sie bitte \cite{l2kurz}, +\cite{latex:usrguide} oder \cite{latex:fntguide}. Auch Farbumschaltungen wie +\Macro{normalcolor} sind möglich (siehe \cite{package:graphics} und +\cite{package:xcolor}). +\iffalse % Umbruchkorrekturtext +Das Verhalten bei Verwendung anderer Anweisungen, +inbesondere solcher, die zu Umdefinierungen führen oder Ausgaben tätigen, ist +nicht definiert. Seltsames Verhalten ist möglich und stellt keinen Fehler dar. +\else +Die Verwendung anderer Anweisungen, inbesondere +solcher, die Umdefinierungen vornehmen oder zu Ausgaben führen, ist nicht +vorgesehen. Seltsames Verhalten ist in diesen Fällen möglich und stellt +keinen Fehler dar. +\fi + +Mit \Macro{setkomafont} wird die Schriftumschaltung eines Elements mit einer +völlig neuen Definition versehen. Demgegenüber wird mit \Macro{addtokomafont} +die existierende Definition lediglich erweitert. Es wird empfohlen, beide +Anweisungen nicht innerhalb des Dokuments, sondern nur in der Dokumentpräambel +zu verwenden. Beispiele für die Verwendung entnehmen Sie bitte den Abschnitten +zu den jeweiligen Elementen. Namen und Bedeutung der einzelnen Elemente sind +in % +\fi % IgnoreThis +\IfNotCommon{scrextend}{\autoref{tab:\csname + label@base\endcsname.elementsWithoutText} }% +\IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, + \autopageref{tab:maincls.elementsWithoutText} }% +aufgelistet. % +\IfCommon{scrextend}{Allerdings werden davon in \Package{scrextend} nur die + Elemente für den Dokumenttitel, den schlauen Spruch und die Fußnoten + behandelt. Das Element \FontElement{disposition} ist zwar auch verfügbar, + wird jedoch von \Package{scrextend} ebenfalls nur für den Dokumenttitel + verwendet. }% +Die Voreinstellungen sind den jeweiligen Abschnitten zu entnehmen. + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<6>> + +\section{Absatzauszeichnung} +\label{sec:\csname label@base\endcsname.parmarkup}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis\else +\BeginIndex{}{Absatz>Auszeichnung}% + +\IfCommon{maincls}{% + Die Standardklassen setzen Absätze\Index[indexmain]{Absatz} normalerweise + mit Absatzeinzug und ohne Absatzabstand. Bei Verwendung eines normalen + Satzspiegels, wie ihn \Package{typearea} bietet, ist dies die + vorteilhafteste Absatzauszeichnung. Würde man ohne Einzug und Abstand + arbeiten, hätte der Leser als Anhaltspunkt nur die Länge der letzten Zeile. + Im Extremfall kann es sehr schwer sein, zu erkennen, ob eine Zeile voll ist + oder nicht. Des Weiteren stellt der Typograf fest, dass die Auszeichnung des + Absatzendes am Anfang der nächsten Zeile leicht vergessen ist. Demgegenüber + ist eine Auszeichnung am Absatzanfang einprägsamer. Der Absatzabstand hat + den Nachteil, dass er in verschiedenem Zusammenhang leicht verloren geht. So + wäre nach einer abgesetzten Formel nicht mehr festzustellen, ob der Absatz + fortgesetzt wird oder ein neuer beginnt. Auch am Seitenanfang müsste + zurückgeblättert werden, um feststellen zu können, ob mit der Seite auch ein + neuer Absatz beginnt. All diese Probleme sind beim Absatzeinzug nicht + gegeben. Eine Kombination von Absatzeinzug und Absatzabstand ist wegen der + übertriebenen Redundanz abzulehnen. Der Einzug\Index[indexmain]{Einzug} + alleine ist deutlich genug. Der einzige Nachteil des Absatzeinzugs liegt in + der Verkürzung der Zeile. Damit gewinnt der + Absatzabstand\Index{Absatz>Abstand} bei ohnehin kurzen Zeilen, etwa im + Zeitungssatz, seine Berechtigung.}% +\fi% IgnoreThis +\IfCommon{scrlttr2}{% + In der Einleitung zu \autoref{sec:maincls.parmarkup} ab + \autopageref{sec:maincls.parmarkup} wird dargelegt, warum der Absatzeinzug + gegenüber dem Absatzabstand vorzuziehen ist. Die Elemente, auf die sich + diese Argumente beziehen, beispielsweise Abbildungen, Tabellen, Listen, + abgesetzte Formeln und auch neue Seiten, sind in Standardbriefen eher + selten. Auch sind Briefe normalerweise nicht so umfänglich, dass ein nicht + erkannter Absatz sich schwerwiegend auf die Lesbarkeit auswirkt. Die + Argumente sind daher bei Standardbriefen eher schwach. Dies dürfte ein Grund + dafür sein, dass der Absatzabstand bei Briefen eher gebräuchlich ist. Es + bleiben damit für Standardbriefe im Wesentlichen zwei Vorteile des + Absatzeinzugs. Zum einen hebt sich ein solcher Brief aus der Masse hervor + und zum anderen durchbricht man damit nicht nur für Briefe das einheitliche + Erscheinungsbild aller Dokumente aus einer Quelle, die so genannte + \emph{Corporate Identity}.}% +\ifIgnoreThis% +\IfCommon{scrlttr2}{\ Von dieser Unterscheidung gegenüber den anderen + \KOMAScript-Klassen abgesehen gilt, was in \autoref{sec:maincls.parmarkup} + geschrieben wurde.} +\else + +\begin{Declaration} + \KOption{parskip}\PName{Abstandsart} +\end{Declaration} +\BeginIndex{Option}{parskip~=\PName{Methode}}% +\IfCommon{maincls}{% + Hin und wieder wird ein Layout mit Absatzabstand an Stelle des + voreingestellten Absatzeinzugs gefordert. Die \KOMAScript-Klassen bietet mit + der Option \Option{parskip}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} }% +\IfCommon{scrlttr2}{Bei Briefen findet man häufiger ein Layout mit + Absatzabstand an Stelle des voreingestellten Absatzeinzugs. Die + \KOMAScript-Klasse \Class{scrlttr2} bietet mit der Option \Option{parskip} +}% +eine Reihe von Möglichkeiten, um dies +zu erreichen. Die \PName{Methode} setzt sich dabei aus zwei Teilen +zusammen. Der erste Teil ist entweder \PValue{full} oder \PValue{half}, wobei +\PValue{full} für einen Absatzabstand von einer Zeile und \PValue{half} für +einen Absatzabstand von einer halben Zeile steht. Der zweite Teil ist eines +%der Zeichen »\PValue{*}«, »\PValue{+}«, »\PValue{-}« und kann auch +entfallen. Lässt man das Zeichen weg, so wird in der letzten Zeile des +Absatzes am Ende mindestens ein Geviert, das ist 1\Unit{em}, frei gelassen. +Mit dem Pluszeichen wird am Zeilenende mindestens ein Drittel und mit dem +Stern mindestens ein Viertel einer normalen Zeile frei gelassen. Mit der +Minus-Variante werden keine Vorkehrungen für die letzte Zeile eines Absatzes +getroffen. + +Neben den sich so ergebenden acht Kombinationen ist es noch möglich, als +\PName{Methode} die Werte für einfache Schalter aus +\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} zu +verwenden. Das Einschalten der Option entspricht dabei \PValue{full} ohne +angehängtes Zeichen für den Freiraum der letzten Absatzzeile, also mit +mindestens einem Geviert Freiraum am Ende des Absatzes. Das Ausschalten der +Option schaltet hingegen wieder auf Absatzeinzug von einem Geviert um. Dabei +darf die letzte Zeile eines Absatzes auch bis zum rechten Rand reichen. Einen +Überblick über alle möglichen Werte für \PName{Methode} bietet +\autoref{tab:maincls.parskip}% +\IfCommon{scrlttr2}{auf \autopageref{tab:maincls.parskip}}% +. + +\IfCommon{maincls}{% +\begin{desctable} + \caption[{Mögliche Werte für Option \Option{parskip}}]{Mögliche Werte für + Option \Option{parskip} zur Auswahl der Kennzeichnung von + Absätzen\label{tab:maincls.parskip}}\\ + \Endfirsthead% + \caption[]{Mögliche Werte für Option \Option{parskip} + (\emph{Fortsetzung})}\\ + \Endhead% + \standardfoot% + \entry{\PValue{false}, \PValue{off}, \PValue{no}% + \IndexOption{parskip~=false}}{% + Absätze werden durch einen Einzug der ersten Zeilen von einem Geviert + (1\Unit{em}) gekennzeichnet. Der erste Absatz eines Abschnitts wird nicht + eingezogen.}% + \entry{\PValue{full}, \PValue{true}, \PValue{on}, \PValue{yes}% + \IndexOption{parskip~=full}% + }{% + Absätze werden durch einen vertikalen Abstand von einer Zeile + gekennzeichnet, Absatzenden durch einen Leerraum von mind. ein + Geviert (1\Unit{em}) der Grundschrift am Ende der letzten Zeile.}% + \pventry{full-}{% + Absätze werden durch einen vertikalen Abstand von einer Zeile + gekennzeichnet. Absatzenden werden nicht + gekennzeichnet.\IndexOption{parskip~=full-}}% + \pventry{full+}{% + \looseness=-1 + Absätze werden durch einen vertikalen Abstand von einer Zeile + gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem + Viertel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=full+}}% + \pventry{full*}{% + Absätze werden durch einen vertikalen Abstand von einer Zeile + gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem + Drittel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=full*}}% + \pventry{half}{% + Absätze werden durch einen vertikalen Abstand von einer halben Zeile + gekennzeichnet. Absatzenden durch einen Leerraum von mind. ein Geviert + (1\Unit{em}) der normalen Schrift am Ende + gekennzeichnet.\IndexOption{parskip~=half}}% + \pventry{half-}{% + Absätze werden durch einen vertikalen Abstand von einer halben Zeile + gekennzeichnet. Absatzenden werden nicht + gekennzeichnet.\IndexOption{parskip~=half-}}% + \pventry{half+}{% + Absätze werden durch einen vertikalen Abstand von einer halben Zeile + gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem + Viertel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=half+}}% + \pventry{half*}{% + Absätze werden durch einen vertikalen Abstand von einer Zeile + gekennzeichnet. Absatzenden werden durch einen Leerraum von mind. einem + Drittel einer normalen Zeile gekennzeichnet.\IndexOption{parskip~=half*}}% +\end{desctable}} + +Wird ein Absatzabstand verwendet, so verändert sich auch der Abstand vor, nach +und innerhalb von Listenumgebungen. Dadurch wird verhindert, dass diese +Umgebungen oder Absätze innerhalb dieser Umgebungen stärker vom Text abgesetzt +werden als die Absätze des normalen Textes voneinander.% +\IfCommon{maincls}{ Inhalts"~, Abbildungs"~ und Tabellenverzeichnis werden + immer ohne zusätzlichen Absatzabstand gesetzt.}% +\IfCommon{scrlttr2}{% Umbruchkorrekturtext + \iffalse% + \ Verschiedene Elemente des Briefbogens werden immer ohne Absatzabstand + gesetzt.% + \fi}% + +Voreingestellt ist bei \KOMAScript{} das Verhalten +\OptionValue{parskip}{false}. Hierbei gibt es keinen Absatzabstand, sondern +einen Absatzeinzug von 1\Unit{em}.% +% +\EndIndex{Option}{parskip~=\PName{Methode}}% +% +\EndIndex{}{Absatz>Auszeichnung} +\fi % IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<7>> + +\section{Erkennung von rechten und linken Seiten} +\label{sec:\csname label@base\endcsname.oddOrEven}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis% +Es gilt sinngemäß, was in \autoref{sec:maincls.oddOrEven} geschrieben +wurde. +\else +\BeginIndex{}{Seite>gerade}% +\BeginIndex{}{Seite>ungerade}% + +Bei doppelseitigen Dokumenten wird zwischen linken und rechten Seiten +unterschieden. Dabei hat eine linke Seite immer eine gerade Nummer und eine +rechte Seite immer eine ungerade Nummer. % +\IfCommon{maincls}{Die Erkennung von rechten und linken Seiten ist damit + gleichbedeutend mit der Erkennung von Seiten mit gerader oder ungerader + Nummer. In \iffree{dieser Anleitung}{diesem Buch} ist vereinfachend von + ungeraden und geraden Seiten die Rede.% + +% Umbruchkorrekturtext + \iftrue% + Bei einseitigen Dokumenten existiert die Unterscheidung zwischen linken und + rechten Seiten nicht. Dennoch gibt es natürlich auch bei einseitigen + Dokumenten sowohl Seiten mit gerader als auch Seiten mit ungerader Nummer.% + \fi}% +\IfCommon{scrlttr2}{In der Regel werden Briefe einseitig +gesetzt. Sollen Briefe mit einseitigem Layout jedoch auf Vorder- und Rückseite +gedruckt, oder ausnahmsweise tatsächlich doppelseitige Briefe erstellt werden, +kann unter Umständen das Wissen, ob man sich auf einer Vorder- oder einer +Rückseite befindet, nützlich sein.}% + +\begin{Declaration} + \Macro{ifthispageodd}\Parameter{Dann-Teil}\Parameter{Sonst-Teil} +\end{Declaration}% +\BeginIndex{Cmd}{ifthispageodd}% +Will man bei \KOMAScript{} feststellen, ob ein Text auf einer geraden oder +einer ungeraden Seite ausgegeben wird, so verwendet man die Anweisung +\Macro{ifthispageodd}. Dabei wird das Argument \PName{Dann-Teil} nur dann +ausgeführt, wenn man sich gerade auf einer ungeraden Seite +befindet. Anderenfalls kommt das Argument \PName{Sonst-Teil} zur Anwendung. + +\begin{Example} + Angenommen, Sie wollen einfach nur ausgeben, ob ein Text auf einer geraden + oder ungeraden Seite ausgegeben wird. Sie könnten dann beispielsweise mit + der Eingabe + \begin{lstcode} + Dies ist eine Seite mit \ifthispageodd{un}{}gerader + Seitenzahl. + \end{lstcode} + die Ausgabe + \begin{quote} + Dies ist eine Seite mit \ifthispageodd{un}{}gerader Seitenzahl. + \end{quote} + erhalten. Beachten Sie, dass in diesem Beispiel das Argument + \PName{Sonst-Teil} leer geblieben ist. +\end{Example} + +Da die Anweisung \Macro{ifthispageodd} mit einem Mechanismus arbeitet, der +einem Label und einer Referenz darauf sehr ähnlich ist, werden nach jeder +Textänderung mindestens zwei \LaTeX-Durchläufe benötigt. Erst dann ist die +Entscheidung korrekt. Im ersten Durchlauf wird eine Heuristik für die +Entscheidung verwendet. + +Näheres zur Problematik der Erkennung von linken und rechten Seiten oder +geraden und ungeraden Seitennummern ist für Experten in +\autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.ifthispageodd} zu finden.% +% +\EndIndex{Cmd}{ifthispageodd}% +% +\EndIndex{}{Seite>ungerade}% +\EndIndex{}{Seite>gerade} +\fi % IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<8>> + +\section{Vakatseiten} +\label{sec:\csname label@base\endcsname.emptypage}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis +Es gilt sinngemäß, was in \autoref{sec:maincls.emptypage} geschrieben +wurde. +\else +\BeginIndex{}{Vakatseite}%% +\BeginIndex{}{Seitenstil}% + +\IfNotCommon{scrlttr2}{Vakatseiten sind Seiten, die beim Satz eines Dokuments + absichtlich leer bleiben. Ursprünglich sind diese Seiten wirklich komplett + leer. Bei \LaTeX{} werden sie jedoch in der Voreinstellung mit dem aktuell + gültigen Seitenstil gesetzt. \KOMAScript{} bietet hier diverse + Erweiterungen. + + Vakatseiten findet man hauptsächlich in Büchern. Da es bei Büchern üblich + ist, dass Kapitel auf einer rechten Seite beginnen, muss in dem Fall, dass + das vorherigen Kapitel ebenfalls auf einer rechten Seite endet, eine leere + linke Seite eingefügt werden. Aus dieser Erklärung ergibt sich auch, dass + Vakatseiten normalerweise nur im doppelseitigen Satz existieren. Die leeren + Rückseiten im einseitigen Druck werden eher nicht als Vakatseiten + bezeichnet, obwohl sie auf Druckbögen im Ergebnis als solche erscheinen.}% +\fi +\ifIgnoreThis +\IfCommon{scrlttr2}{Aber} +\fi +\IfCommon{scrlttr2}{Vakatseiten sind bei Briefen eher unüblich. Das liegt + nicht zuletzt daran, dass wahrhaft doppelseitige Briefe recht selten sind, + da Briefe normalerweise nicht gebunden werden. Trotzdem unterstützt auch + \Class{scrlttr2} für den Fall von doppelseitigen Briefen Einstellungen für + Vakatseiten. Da die hier vorgestellten Anweisungen aber in Briefen kaum + Verwendung finden, finden Sie hier keine Beispiele. Bei Bedarf orientieren + Sie sich bitte an den Beispielen in \autoref{sec:maincls.emptypage} ab + \autopageref{sec:maincls.emptypage}.}% +\ifIgnoreThis\else + +\begin{Declaration} + \KOption{cleardoublepage}\PName{Seitenstil}\\ + \OptionValue{cleardoublepage}{current} +\end{Declaration}% +\BeginIndex{Option}{cleardoublepage~=\PName{Seitenstil}}% +\BeginIndex{Option}{cleardoublepage~=current}% +Mit Hilfe dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} kann man den +\PName{Seitenstil} der Vakatseite bestimmen, die gegebenenfalls von der +Anweisung \Macro{cleardoublepage} eingefügt wird, um bis zur gewünschten Seite +zu umbrechen. Als \PName{Seitenstil} sind alle bereits definierten Seitenstile +(siehe \autoref{sec:\csname label@base\endcsname.pagestyle} ab +\autopageref{sec:\csname label@base\endcsname.pagestyle} und +\autoref{cha:scrpage} ab \autopageref{cha:scrpage}) verwendbar. Daneben ist +auch \OptionValue{cleardoublepage}{current} möglich. Dieser Fall entspricht +der Voreinstellung von \KOMAScript{} bis Version~2.98c und führt dazu, dass +die Vakatseite mit dem Seitenstil erzeugt wird, der beim Einfügen gerade +aktuell ist. Ab Version~3.00\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} werden in der +Voreinstellung entsprechend der typografischen Gepflogenheiten Vakatseiten mit +dem Seitenstil \Pagestyle{empty} erzeugt, wenn man nicht Kompatibilität zu +früheren \KOMAScript-Versionen eingestellt hat (siehe Option \Option{version}, +\autoref{sec:\csname label@base\endcsname.compatibilityOptions}, +\autopageref{desc:\csname label@base\endcsname.option.version}). +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.option.cleardoublepage.example} + Angenommen Sie wollen, dass die Vakatseiten bis auf die Paginierung leer + sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen + Sie beispielsweise mit + \begin{lstcode} + \KOMAoption{cleardoublepage=plain} + \end{lstcode} + Näheres zum Seitenstil \Pagestyle{plain} ist in + \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} + zu finden. +\end{Example} +\fi +\ifCommonscrextend +\begin{Example} + \phantomsection\label{desc:scrextend.option.cleardoublepage.example} + Angenommen Sie wollen, dass die Vakatseiten bis auf die Paginierung leer + sind, also mit Seitenstil \Pagestyle{plain} erzeugt werden. Dies erreichen + Sie beispielsweise mit + \begin{lstcode} + \KOMAoption{cleardoublepage=plain} + \end{lstcode} + Näheres zum Seitenstil \Pagestyle{plain} ist in + \autoref{sec:maincls.pagestyle}, \autopageref{desc:maincls.pagestyle.plain} + zu finden. +\end{Example} +\fi +\EndIndex{Option}{cleardoublepage~=current}% +\EndIndex{Option}{cleardoublepage~=\PName{Seitenstil}} + + +\begin{Declaration} + \Macro{clearpage}\\ + \Macro{cleardoublepage}\\ + \Macro{cleardoublepageusingstyle}\Parameter{Seitenstil}\\ + \Macro{cleardoubleemptypage}\\ + \Macro{cleardoubleplainpage}\\ + \Macro{cleardoublestandardpage}\\ + \Macro{cleardoubleoddusingstyle}\Parameter{Seitenstil}\\ + \Macro{cleardoubleoddemptypage}\\ + \Macro{cleardoubleoddplainpage}\\ + \Macro{cleardoubleoddstandardpage}\\ + \Macro{cleardoubleevenusingstyle}\Parameter{Seitenstil}\\ + \Macro{cleardoubleevenemptypage}\\ + \Macro{cleardoubleevenplainpage}\\ + \Macro{cleardoubleevenstandardpage} +\end{Declaration}% +\BeginIndex{Cmd}{clearpage}% +\BeginIndex{Cmd}{cleardoublepage}% +\BeginIndex{Cmd}{cleardoublepageusingstyle}% +\BeginIndex{Cmd}{cleardoublestandardpage}% +\BeginIndex{Cmd}{cleardoubleplainpage}% +\BeginIndex{Cmd}{cleardoubleemptypage}% +\BeginIndex{Cmd}{cleardoubleoddusingstyle}% +\BeginIndex{Cmd}{cleardoubleoddstandardpage}% +\BeginIndex{Cmd}{cleardoubleoddplainpage}% +\BeginIndex{Cmd}{cleardoubleoddemptypage}% +\BeginIndex{Cmd}{cleardoubleevenusingstyle}% +\BeginIndex{Cmd}{cleardoubleevenstandardpage}% +\BeginIndex{Cmd}{cleardoubleevenplainpage}% +\BeginIndex{Cmd}{cleardoubleevenemptypage}% +Im \LaTeX-Kern existiert die Anweisung \Macro{clearpage}, die dafür sorgt, +dass alle noch nicht ausgegebenen Gleitumgebungen ausgegeben werden und +anschließend eine neue Seite begonnen wird. Außerdem existiert die Anweisung +\Macro{cleardoublepage}, die wie \Macro{clearpage} arbeitet, durch die aber im +doppelseitigen Layout (siehe Option \Option{twoside} in +\autoref{sec:typearea.options}, \autopageref{desc:typearea.option.twoside}) +eine neue rechte Seite begonnen wird. Dazu wird gegebenenfalls eine linke +Vakatseite im aktuellen Seitenstil ausgegeben. + +Bei {\KOMAScript} arbeitet +\Macro{cleardoubleoddstandardpage}\ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}} genau in der +soeben für die Standardklassen beschriebenen Art und Weise. Die Anweisung +\Macro{cleardoubleoddplainpage} ändert demgegenüber den Seitenstil der leeren +linken Seite zusätzlich auf \Pagestyle{plain}\IndexPagestyle{plain}, um den % +\IfCommon{maincls}{Kolumnentitel}% +\IfCommon{scrlttr2}{Seitenkopf}% +\ zu unterdrücken. Analog dazu wird bei der Anweisung +\Macro{cleardoubleoddemptypage} der Seitenstil +\Pagestyle{empty}\IndexPagestyle{empty} verwendet, um sowohl % +\IfCommon{maincls}{Kolumnentitel als auch Seitenzahl}% +\IfCommon{scrlttr2}{Seitenkopf als auch Seitenfuß}% +\ auf der leeren linken Seite zu unterdrücken. Die Seite ist damit vollständig +leer. Will man für die Vakatseite einen eigenen \PName{Seitenstil} vorgeben, +so ist dieser als Argument von \Macro{cleardoubleoddusingstyle} +anzugeben. Dabei kann jeder bereits definierte Seitenstil (siehe auch +\autoref{cha:scrpage}) verwendet werden. + +\IfNotCommon{scrlttr2}{% + Manchmal möchte man nicht, dass Kapitel mit neuen rechten Seiten, sondern + links auf einer Doppelseite beginnen. Dies widerspricht zwar dem klassischen + Buchdruck, kann jedoch seine Berechtigung haben, wenn die Doppelseite am + Kapitelanfang einen ganz speziellen Inhalt hat. Bei \KOMAScript{} ist + deshalb die Anweisung \Macro{cleardoubleevenstandardpage} als Äquivalent zu + \Macro{cleardoubleoddstandardpage} definiert, jedoch mit dem Unterschied, + dass die nächste Seite eine linke Seite ist. Entsprechendes gilt für die + Anweisungen \Macro{cleardoubleevenplainpage}, + \Macro{cleardoubleevenemptypage} und \Macro{cleardoubleevenusingstyle}.} + +Die Arbeitsweise der neuen Anweisungen \Macro{cleardoublestandardpage}, +\Macro{cleardoubleemptypage}, \Macro{cleardoubleplainpage} und der ein +Argument erwartenden Anweisung \Macro{cleardoublepageusingstyle} ist % +\IfCommon{scrlttr2}{bei \Class{scrlttr2} }% +\IfCommon{scrextend}{bei \Package{scrextend} }% +ebenso wie die Standard-Anweisung \Macro{cleardoublepage} von der zuvor +erklärten Option \Option{cleardoublepage} abhängig und entspricht je nach +Einstellung einer der in den vorherigen Absätzen erläuterten Anweisungen. + +\IfCommon{scrlttr2}{% + Die übrigen Anweisungen sind bei \Class{scrlttr2} nur aus Gründen der + Vollständigkeit definiert. Näheres zu diesen Anweisungen ist bei Bedarf + \autoref{sec:maincls.emptypage}, + \autopageref{desc:maincls.cmd.cleardoublepage} zu entnehmen.}% +\ifCommonscrlttr2\else +\begin{Example} + \label{desc:maincls.cmd.cleardoublepage.example}% + Angenommen Sie wollen innerhalb eines Dokuments als nächstes eine + Doppelseite setzen, bei der auf der linken Seite eine Abbildung in Größe des + Satzspiegels platziert wird und rechts ein neues Kapitel beginnt. Falls das + vorherige Kapitel mit einer linken Seite endet, muss also eine Vakatseite + eingefügt werden. Diese soll komplett leer sein. Ebenso soll die linke + Bildseite weder Kopf noch Fußzeile besitzen. Zunächst wird mit + \begin{lstcode} + \KOMAoptions{cleardoublepage=empty} + \end{lstcode} + dafür gesorgt, dass Vakatseiten mit dem Seitenstil \Pagestyle{empty}, also + ohne Kopf- und Fußzeile gesetzt werden. Diese Einstellung können Sie bereits + in der Dokumentpräambel vornehmen. Die Optionen können alternativ auch als + optionale Argumente von \Macro{documentclass} angegeben werden. + + An der gewünschten Stelle im Dokument schreiben Sie nun: + \begin{lstcode} + \cleardoubleevenemptypage + \thispagestyle{empty} + \includegraphics[width=\textwidth,% + height=\textheight,% + keepaspectratio]% + {bild} + \chapter{Kapitelüberschrift} + \end{lstcode} + Die erste Zeile wechselt auf die nächste linke Seite und fügt zu diesem + Zweck bei Bedarf eine komplett leere rechte Seite ein. Die zweite Zeile + sorgt dafür, dass diese linke Seite ebenfalls mit dem Seitenstil + \Pagestyle{empty} gesetzt wird. Die dritte bis sechste Zeile lädt die + Bilddatei mit dem Namen \File{bild} und bringt sie auf die gewünschte Größe, + ohne sie dabei zu verzerren. Hierfür wird das Paket + \Package{graphicx}\IndexPackage{graphicx} benötigt (siehe + \cite{package:graphics}). Die letzte Zeile beginnt auf der nächsten -- dann + rechten -- Seite ein neues Kapitel. +\end{Example}% +\fi +% +\EndIndex{Cmd}{clearpage}% +\EndIndex{Cmd}{cleardoublepage}% +\EndIndex{Cmd}{cleardoublepageusingstyle}% +\EndIndex{Cmd}{cleardoublestandardpage}% +\EndIndex{Cmd}{cleardoubleplainpage}% +\EndIndex{Cmd}{cleardoubleemptypage}% +\EndIndex{Cmd}{cleardoubleoddusingstyle}% +\EndIndex{Cmd}{cleardoubleoddstandardpage}% +\EndIndex{Cmd}{cleardoubleoddplainpage}% +\EndIndex{Cmd}{cleardoubleoddemptypage}% +\EndIndex{Cmd}{cleardoubleevenusingstyle}% +\EndIndex{Cmd}{cleardoubleevenstandardpage}% +\EndIndex{Cmd}{cleardoubleevenplainpage}% +\EndIndex{Cmd}{cleardoubleevenemptypage}% +% +\EndIndex{}{Seitenstil}% +\EndIndex{}{Vakatseite}% +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<9>> + +\section{Fußnoten} +\label{sec:\csname label@base\endcsname.footnotes}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis +\IfNotCommon{scrextend}{Es gilt sinngemäß, was in + \autoref{sec:maincls.footnotes} geschrieben wurde.} +\else +\BeginIndex{}{Fussnoten=Fußnoten}% + +\iffalse% Umbruchkorrekturtext +Selbstverständlich beherrscht \LaTeX{} auch Fußnoten. % +\fi% +\IfCommon{maincls}{Im Unterschied zu den Standardklassen bietet \KOMAScript{} + die Möglichkeit, die Form von Fußnoten zu konfigurieren.}% +\IfCommon{scrlttr2}{Die Anweisungen zum Setzen von Fußnoten sind in jeder + \LaTeX-Einführung, beispielsweise \cite{l2kurz}, zu finden. \KOMAScript{} + bietet darüber hinaus aber auch noch die Möglichkeit, die Form der Fußnoten + zu verändern.}% +\fi +\IfCommon{scrextend}{Die Fußnoten-Möglichkeiten der \KOMAScript-Klassen% +\ifIgnoreThis + , die in \autoref{sec:maincls.footnotes} beschrieben sind,% +\fi + \ werden + von \Package{scrextend} ebenfalls bereitgestellt. In der Voreinstellung wird + die Formatierung der Fußnoten jedoch der verwendeten Klasse überlassen. Dies + ändert sich, sobald die Anweisung \Macro{deffootnote} verwendet wird, die + auf + \autopageref{desc:\ifIgnoreThis maincls\else scrextend\fi.cmd.deffootnote} + näher erläutert wird.}% +\ifIgnoreThis\else + +\begin{Declaration} + \KOption{footnotes}\PName{Einstellung} +\end{Declaration} +\BeginIndex{Option}{footnotes~=\PName{Einstellung}}% +\IfCommon{scrextend}{Bei vielen Klassen werden Fußnoten }% +\IfNotCommon{scrextend}{ \ChangedAt{v3.00}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}\and \Class{scrlttr2}}Fußnoten werden +}% +im Text in der Voreinstellung mit kleinen, hochgestellten Ziffern +markiert. Werden zu einer Textstelle mehrere Fußnoten hintereinander gesetzt, +so entsteht der Eindruck, dass es sich nicht um zwei einzelne Fußnoten, +sondern um eine einzige Fußnote mit hoher Nummer handelt. Mit der Einstellung +\OptionValue{footnotes}{multiple}\IndexOption{footnotes=~multiple} werden +Fußnoten, die unmittelbar aufeinander folgen, stattdessen mit Trennzeichen +aneinander gereiht. Das in \Macro{multfootsep}\IndexCmd{multfootsep} +definierte Trennzeichen ist mit einem Komma vorbelegt. Der gesamte Mechanismus +ist kompatibel zu \Package{footmisc}\IndexPackage{footmisc}, Version~5.3d +(siehe \cite{package:footmisc}) implementiert. Er wirkt sich sowohl auf +Fußnotenmarkierungen aus, die mit \Macro{footnote}\IndexCmd{footnote} gesetzt +wurden, als auch auf solche, die direkt mit +\Macro{footnotemark}\IndexCmd{footnotemark} ausgegeben werden. + +Es ist jederzeit möglich, auf die Voreinstellung +\OptionValue{footnotes}{nomultiple} zurückzuschalten. Bei Problemen mit +anderen Paketen, die Einfluss auf die Fußnoten nehmen, sollte die Option +jedoch nicht verwendet und die Einstellung auch nicht innerhalb des Dokuments +umgeschaltet werden. + +Eine Zusammenfassung der möglichen Werte für die \PName{Einstellung} von +\Option{footnotes} bietet \autoref{tab:maincls.footnotes}% +\IfNotCommon{maincl}{, \autopageref{tab:maincls.footnotes}}% +.% +\IfCommon{maincls}{% +\begin{table} + \caption[{Mögliche Werte für Option \Option{footnotes}}]{Mögliche Werte für + Option \Option{footnotes} zur Einstellung der Fußnoten} + \label{tab:maincls.footnotes} + \begin{desctabular} + \pventry{multiple}{% + Unmittelbar aufeinander folgende Fußnotenmarkierungen werden durch + \Macro{multfootsep}\IndexCmd{multfootsep} voneinander getrennt + ausgegeben.% + \IndexOption{footnotes~=multiple}}% + \pventry{nomultiple}{% + Unmittelbar aufeinander folgende Fußnotenmarkierungen werden auch + unmittelbar aufeinander folgend ausgegeben.% + \IndexOption{footnotes~=nomultiple}}% + \end{desctabular} +\end{table}}% +% +\EndIndex{Option}{footnotes~=\PName{Einstellung}} + + +\begin{Declaration} + \Macro{footnote}\OParameter{Nummer}\Parameter{Text}\\ + \Macro{footnotemark}\OParameter{Nummer}\\ + \Macro{footnotetext}\OParameter{Nummer}\Parameter{Text}\\ + \Macro{multiplefootnoteseparator}\\ + \Macro{multfootsep} +\end{Declaration}% +\BeginIndex{Cmd}{footnote}% +\BeginIndex{Cmd}{footnotemark}% +\BeginIndex{Cmd}{footnotetext}% +\BeginIndex{Cmd}{multiplefootnoteseparator}% +\BeginIndex{Cmd}{multfootsep}% +Fußnoten werden bei {\KOMAScript} genau wie bei den Standardklassen mit der +Anweisung \Macro{footnote} oder den paarweise zu verwendenden Anweisungen +\Macro{footnotemark} und \Macro{footnotetext} erzeugt. Genau wie bei den +Standardklassen ist es möglich, dass innerhalb einer Fußnote ein +Seiten"-umbruch erfolgt. Dies geschieht in der Regel dann, wenn die zugehörige +Fußnotenmarkierung so weit unten auf der Seite gesetzt wird, dass keine andere +Wahl bleibt, als die Fußnote auf die nächste Seite zu umbrechen. Im +Unterschied\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} zu den Standardklassen bietet +\KOMAScript{} aber zusätzlich die Möglichkeit, Fußnoten, die unmittelbar +aufeinander folgen, automatisch zu erkennen und durch ein Trennzeichen +auseinander zu rücken. Siehe hierzu die zuvor dokumentierte Option +\Option{footnotes}. + +Will man dieses Trennzeichen stattdessen von Hand setzen, so erhält man es +durch Aufruf von \Macro{multiplefootnoteseparator}. Diese Anweisung sollten +Anwender jedoch nicht umdefinieren, da sie neben dem Trennzeichen auch die +Formatierung des Trennzeichen, beispielsweise die Wahl der Schriftgröße und +das Hochstellen, enthält. Das Trennzeichen selbst ist in der Anweisung +\Macro{multfootsep} gespeichert. In der Voreinstellung ist dieses als +% Umbruchkorrektur: listings korrigieren! +\begin{lstcode}[belowskip=\dp\strutbox] + \newcommand*{\multfootsep}{,} +\end{lstcode} +definiert. Dieses kann umdefiniert werden. + +\ifCommonscrlttr\else +\begin{Example} + \phantomsection\label{desc:maincls.cmd.footnote.example}% + Angenommen, Sie wollen zu einem Wort zwei Fußnoten setzen. Im ersten Ansatz + schreiben Sie dafür + \begin{lstcode} + Wort\footnote{erste Fußnote}\footnote{zweite Fußnote}. + \end{lstcode} + Nehmen wir weiter an, dass die Fußnoten mit 1 und 2 nummeriert werden. Da + die beiden Fußnotennummern direkt aufeinander folgen, entsteht jedoch der + Eindruck, dass das Wort nur eine Fußnote mit der Nummer 12 besitzt. Sie + könnten dies nun dadurch ändern, dass Sie mit + \begin{lstcode} + \KOMAoptions{footnotes=multiple} + \end{lstcode} + die automatische Erkennung von Fußnotenhäufungen aktivieren. Stattdessen + können Sie aber auch + \begin{lstcode} + Wort\footnote{erste Fußnote}\multiplefootnoteseparator + \footnote{zweite Fußnote} + \end{lstcode} + verwenden. Das sollte auch dann noch funktionieren, wenn die automatische + Erkennung aus irgendwelchen Gründen versagt oder nicht verwendet werden + kann. + + Nehmen wir nun an, dass Sie außerdem wollen, dass die Fußnotennummern + nicht nur durch ein Komma, sondern durch ein Komma gefolgt von einem + Leerzeichen getrennt werden sollen. In diesem Fall schreiben Sie + \begin{lstcode} + \renewcommand*{\multfootsep}{,\nobreakspace} + \end{lstcode} + in Ihre Dokumentpräambel. \Macro{nobreakspace}\IndexCmd{nobreakspace} wurde + hier an Stelle eines normalen Leerzeichens gewählt, damit innerhalb der + Reihung der Fußnotenzeichen kein Absatz- oder Seitenumbruch erfolgen kann. +\end{Example}% +\fi% +\IfCommon{scrlttr2}{Beispiele und ergänzende Hinweise sind + \autoref{sec:maincls.footnotes} ab + \autopageref{desc:maincls.cmd.footnote.example} zu entnehmen.}% +\EndIndex{Cmd}{footnote}% +\EndIndex{Cmd}{footnotemark}% +\EndIndex{Cmd}{footnotetext}% +\EndIndex{Cmd}{multiplefootnoteseparator}% +\EndIndex{Cmd}{multfootsep}% +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<10>> + +\ifIgnoreThis\else +\begin{Declaration} + \Macro{footref}\Parameter{Referenz} +\end{Declaration} +\BeginIndex{Cmd}{footref}% +Manchmal\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} hat man in einem Dokument eine +Fußnote, zu der es im Text mehrere Verweise geben soll. Die ungünstige Lösung +dafür wäre die Verwendung von \Macro{footnotemark} unter Angabe der +gewünschten Nummer. Ungünstig an dieser Lösung ist, dass man die Nummer kennen +muss und sich diese jederzeit ändern kann. \KOMAScript{} bietet deshalb die +Möglichkeit, den \Macro{label}-Mechanismus auch für Verweise auf Fußnoten zu +verwenden. Man setzt dabei in der entsprechenden Fußnote eine +\Macro{label}-Anweisung und kann dann mit \Macro{footref} alle weiteren +Fußnotenmarken für diese Fußnote im Text setzen. +\begin{Example} + Sie schreiben einen Text, in dem sie bei jedem Auf"|treten eines Markennamens + eine Fußnote setzen müssen, die darauf hinweist, dass es sich um einen + geschützten Markennamen handelt. Sie schreiben beispielsweise: +\ifCommonmaincls + \begin{lstcode} + Die Firma SplischSplasch\footnote{Bei diesem Namen + handelt es sich um eine registrierte Marke. Alle + Rechte daran sind dem Markeninhaber + vorbehalten.\label{refnote}} stellt neben + SplischPlumps\footref{refnote} auch noch die + verbesserte Version SplischPlatsch\footref{refnote} + her. + \end{lstcode} + Es wird dann dreimal eine Marke auf dieselbe Fußnote gesetzt, einmal mit + \Macro{footnote} direkt und zweimal mit \Macro{footref}. +\else + \begin{lstcode} + Die Firma SplischSplasch\footnote{Bei diesem Namen + handelt es sich um eine registrierte Marke. Alle + Rechte daran sind dem Markeninhaber, der Firma + SplischSplasch, vorbehalten.\label{refnote}} + stellt neben SplischPlumps\footref{refnote} auch noch + die verbesserte Version SplischPlatsch\footref{refnote} + und das sehr beliebte + SplischSplaschPlumps\footref{refnote} her. + \end{lstcode} + Es wird dann vier Mal eine Marke auf dieselbe Fußnote gesetzt, einmal mit + \Macro{footnote} direkt und drei Mal mit \Macro{footref}. +\fi +\end{Example} +Da die Fußnotenmarken mit Hilfe des \Macro{label}-Mechanismus gesetzt werden, +werden nach Änderungen, die sich auf die Fußnotennummerierung auswirken, +gegebenenfalls zwei \LaTeX-Durchläufe benötigt, bis die mit \Macro{footref} +gesetzten Marken korrekt sind.% +% +\EndIndex{Cmd}{footref}% +\IfCommon{scrlttr2}{\EndIndex{}{Fussnoten=Fußnoten}} +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<11>> + +\ifIgnoreThis\else +\begin{Declaration} + \Macro{deffootnote}\OParameter{Markenbreite}\Parameter{Einzug}% + \Parameter{Absatzeinzug}\Parameter{Markendefinition}\\ + \Macro{deffootnotemark}\Parameter{Markendefinition}\\ + \Macro{thefootnotemark} +\end{Declaration}% +\BeginIndex{Cmd}{deffootnote}% +\BeginIndex{Cmd}{deffootnotemark}% +\BeginIndex{Cmd}{thefootnotemark}% +Die \KOMAScript-Klassen setzen Fußnoten etwas anders als die Standardklassen. +Die Fußnotenmarkierung im Text, also die Referenzierung der Fußnote, erfolgt +wie bei den Standardklassen durch kleine hochgestellte Zahlen. Genauso werden +die Markierungen auch in der Fußnote selbst wiedergegeben. Sie werden dabei +rechtsbündig in einem Feld der Breite \PName{Markenbreite} gesetzt. Die erste +Zeile der Fußnote schließt direkt an das Feld der Markierung an. + +Alle weiteren Zeilen werden um den Betrag von \PName{Einzug} eingezogen +ausgegeben. Wird der optionale Parameter \PName{Markenbreite} nicht angegeben, +dann entspricht er dem Wert von \PName{Einzug}. Sollte die Fußnote aus +mehreren Absätzen bestehen, dann wird die erste Zeile eines Absatzes +zusätzlich mit dem Einzug der Größe \PName{Absatzeinzug} versehen. + +\IfCommon{maincls}{% +\begin{figure} + \centering\setlength{\unitlength}{1mm} + \begin{picture}(100,22) + \thinlines + % frame of following paragraph + \put(5,0){\line(1,0){90}} + \put(5,0){\line(0,1){5}} + \put(10,5){\line(0,1){5}}\put(5,5){\line(1,0){5}} + \put(95,0){\line(0,1){10}} + \put(10,10){\line(1,0){85}} + % frame of first paragraph + \put(5,11){\line(1,0){90}} + \put(5,11){\line(0,1){5}} + \put(15,16){\line(0,1){5}}\put(5,16){\line(1,0){10}} + \put(95,11){\line(0,1){10}} + \put(15,21){\line(1,0){80}} + % box of the footnote mark + \put(0,16.5){\framebox(14.5,4.5){\mbox{}}} + % description of paragraphs + \put(45,16){\makebox(0,0)[l]{\small\textsf{erster Absatz einer Fußnote}}} + \put(45,5){\makebox(0,0)[l]{\small\textsf{folgender Absatz einer Fußnote}}} + % help lines + \thicklines + \multiput(0,0)(0,3){7}{\line(0,1){2}} + \multiput(5,0)(0,3){3}{\line(0,1){2}} + % parameters + \put(2,7){\vector(1,0){3}} + \put(5,7){\line(1,0){5}} + \put(15,7){\vector(-1,0){5}} + \put(15,7){\makebox(0,0)[l]{\small\PName{Absatzeinzug}}} + % + \put(-3,13){\vector(1,0){3}} + \put(0,13){\line(1,0){5}} + \put(10,13){\vector(-1,0){5}} + \put(10,13){\makebox(0,0)[l]{\small\PName{Einzug}}} + % + \put(-3,19){\vector(1,0){3}} + \put(0,19){\line(1,0){14.5}} + \put(19.5,19){\vector(-1,0){5}} + \put(19.5,19){\makebox(0,0)[l]{\small\PName{Markenbreite}}} + \end{picture} + \caption{Parameter für die Darstellung der Fußnoten} + \label{fig:maincls.deffootnote} +\end{figure}} + +\autoref{fig:maincls.deffootnote} % +\IfCommon{scrlttr2}{auf \autopageref{fig:maincls.deffootnote} }% +veranschaulicht die verschiedenen Parameter% +\IfCommon{maincls}{nochmals}% +. Die Voreinstellung in den \KOMAScript-Klassen entspricht folgender +Definition: +% Umbruchkorrektur: listings korrigieren! +\begin{lstcode}[belowskip=\dp\strutbox] + \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} +\end{lstcode} +Dabei wird mit Hilfe von \Macro{textsuperscript} sowohl die Hochstellung als +auch die Wahl einer kleineren Schrift erreicht. \Macro{thefootnotemark} ist +die aktuelle Fußnotenmarke ohne jegliche Formatierung.% +\IfCommon{scrextend}{ Das Paket \Package{scrextend} überlässt hingegen in der + Voreinstellung das Setzen der Fußnoten der verwendeten Klasse. Das Laden des + Pakets allein sollte daher noch zu keinerlei Änderungen bei der Formatierung + der Fußnoten oder der Fußnotenmarken führen. Zur Übernahme der + Voreinstellungen der \KOMAScript-Klassen muss man vielmehr obige Einstellung + selbst vornehmen. Dazu kann obige Code-Zeile beispielsweise unmittelbar nach + dem Laden von \Package{scrextend} eingefügt werden.}% + +\BeginIndex{FontElement}{footnote}% +\BeginIndex{FontElement}{footnotelabel}% +Auf\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Class{scrlttr2}} die Fußnote einschließlich der +Markierung findet außerdem die für das Element \FontElement{footnote} +eingestellte Schriftart Anwendung. Die % Umbruchkorrekturvarianten +\IfCommon{maincls}{davon abweichende }% +Schriftart der Markierung kann % +\IfNotCommon{maincls}{jedoch }% +mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:\csname label@base\endcsname.textmarkup}, +\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das +Element \FontElement{footnotelabel} % +\IfCommon{scrlttr2}{davon abweichend }% +eingestellt werden. Siehe hierzu auch % +\IfNotCommon{scrextend}{\autoref{tab:\csname + label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname + label@base\endcsname.elementsWithoutText}}% +\IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, + \autopageref{tab:maincls.elementsWithoutText}}% +. Voreingestellt ist jeweils keine Umschaltung der Schrift.% +\IfCommon{scrextend}{ Die Elemente finden bei scrextend jedoch nur dann + Anwendung, wenn die Fußnoten mit diesem Paket gesetzt werden, also + \Macro{deffootnote} verwendet wurde.}% +\EndIndex{FontElement}{footnotelabel}% +\EndIndex{FontElement}{footnote}% + +Die Fußnotenmarkierung im Text wird getrennt von der Markierung vor der +Fußnote definiert. Dies geschieht mit der Anweisung +\Macro{deffootnotemark}. Voreingestellt ist hier: +% Umbruchkorrektur: listings korrigieren! +\begin{lstcode}[belowskip=\dp\strutbox] + \deffootnotemark{\textsuperscript{\thefootnotemark}} +\end{lstcode} +Dabei findet\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} die Schriftart für das Element +\FontElement{footnotereference}\IndexFontElement{footnotereference} Anwendung +(siehe % +\IfNotCommon{scrextend}{\autoref{tab:\csname + label@base\endcsname.elementsWithoutText}, \autopageref{tab:\csname + label@base\endcsname.elementsWithoutText}}% +\IfCommon{scrextend}{\autoref{tab:maincls.elementsWithoutText}, + \autopageref{tab:maincls.elementsWithoutText}}% +). Die Markierungen im Text und in der Fußnote selbst sind also identisch. Die +Schriftart kann mit Hilfe der Anweisungen \Macro{setkomafont} und +\Macro{addtokomafont} (siehe \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) jedoch geändert werden% +\IfCommon{scrextend}{, sobald die Anweisung \Macro{deffootnotemark} verwendet + wird}% +. + +\ifCommonscrlttr\else +\begin{Example} + \phantomsection\label{desc:maincls.cmd.deffootnote.example}% + Relativ häufig wird gewünscht, dass die Markierung in der Fußnote selbst + weder hochgestellt noch kleiner gesetzt wird. Dabei soll sie aber nicht + direkt am Text kleben, sondern geringfügig davor stehen. Dies kann zum einen + wie folgt erreicht werden: + \begin{lstcode} + \deffootnote{1em}{1em}{\thefootnotemark\ } + \end{lstcode} + Die Fußnotenmarkierung einschließlich dem folgenden Leerzeichen wird also + rechtsbündig in eine Box der Breite 1\Unit{em} gesetzt. Die folgenden + Zeilen der Fußnote werden gegenüber dem linken Rand ebenfalls um 1\Unit{em} + eingezogen. + + Eine weitere, oft gefragte Formatierung sind linksbündige + Fußnotenmarkierungen in der Fußnote. Diese können mit folgender Definition + erhalten werden: + \begin{lstcode} + \deffootnote{1.5em}{1em}{% + \makebox[1.5em][l]{\thefootnotemark}} + \end{lstcode} + + Sollen jedoch die Fußnoten insgesamt lediglich in einer anderen Schriftart, + beispielsweise serifenlos gesetzt werden, so ist dies ganz einfach mit Hilfe + der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe + \autoref{sec:maincls.textmarkup}, + \autopageref{desc:maincls.cmd.setkomafont}) zu lösen: + \begin{lstcode} + \setkomafont{footnote}{\sffamily} + \end{lstcode} +\end{Example} +Wie die Beispiele zeigen, ermöglicht {\KOMAScript} mit dieser einfachen +Benutzerschnittstelle eine große Vielfalt unterschiedlicher +Fußnotenformatierungen.% +\fi% +\IfCommon{scrlttr2}{Beispiele finden Sie in \autoref{sec:maincls.footnotes}, + \autopageref{desc:maincls.cmd.deffootnote}.}% +% +\EndIndex{Cmd}{deffootnote}% +\EndIndex{Cmd}{deffootnotemark}% +\EndIndex{Cmd}{thefootnotemark}% +\IfNotCommon{scrlttr2}{\EndIndex{}{Fussnoten=Fußnoten}} +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<12>> + +\section{Listen} +\label{sec:\csname label@base\endcsname.lists}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis +Es gilt sinngemäß, was in \autoref{sec:maincls.footnotes} geschrieben +wurde. \IfCommon{scrextend}{Allerdings werden vom Paket \Package{scrextend} + nur die Umgebungen \Environment{labeling}, \Environment{addmargin} und + \Environment{addmargin*} definiert. Alle anderen Listenumgebungen bleiben + der Verantwortung und Kontrolle der verwendeten Klasse überlassen.} +\else +\BeginIndex{}{Listen}% + +{\LaTeX} und die Standardklassen bieten verschiedene Umgebungen für +Listen. All diese Umgebungen bietet {\KOMAScript} selbstverständlich auch, +teilweise jedoch mit leichten Abwandlungen oder Erweiterungen. Grundsätzlich +gilt, dass Listen -- auch unterschiedlicher Art -- bis zu einer Tiefe von vier +Listen geschachtelt werden können. Eine tiefere Schachtelung wäre auch aus +typografischen Gründen kaum sinnvoll, da genau genommen schon mehr als drei +Ebenen nicht mehr überblickt werden können. Ich empfehle in solchen Fällen, +die eine große Liste in mehrere kleinere Listen aufzuteilen. + +\IfCommon{scrlttr2}{Da Listen zu den Standardelementen von \LaTeX{} gehören, + wurde in diesem Abschnitt auf Beispiele verzichtet. Sie finden solche in + \autoref{sec:maincls.lists} ab \autopageref{sec:maincls.lists} oder in jeder + \LaTeX-Einführung.} + +\ifCommonscrextend\else +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{itemize}}\\ + \quad\Macro{item}\\ + \quad\dots\\ + \XMacro{end}\PParameter{itemize}\\ + \Macro{labelitemi}\\ + \Macro{labelitemii}\\ + \Macro{labelitemiii}\\ + \Macro{labelitemiv} +\end{Declaration}% +\BeginIndex{Env}{itemize}% +\BeginIndex{Cmd}{item}% +\BeginIndex{Cmd}{labelitemi}% +\BeginIndex{Cmd}{labelitemii}% +\BeginIndex{Cmd}{labelitemiii}% +\BeginIndex{Cmd}{labelitemiv}% +Die einfachste Form einer Liste ist die Stichpunkt- oder +\Environment{itemize}-Liste. Die Benutzer einer unbeliebten Textverarbeitung +nennen diese Form der Liste auch gerne \emph{Bulletpoints}. Vermutlich können +sie sich nicht vorstellen, dass je nach Ebene auch ein anderes Zeichen als ein +fetter Punkt zur Einleitung eines Stichpunkts verwendet werden kann. Bei den +\KOMAScript-Klassen werden je nach Ebene folgende Zeichen verwendet: +%»{\labelitemi}«, »{\labelitemii}«, »{\labelitemiii}« und »{\labelitemiv}«. Die +Definition der Zeichen für die einzelnen Ebenen sind in den Makros +\Macro{labelitemi}, \Macro{labelitemii}, \Macro{labelitemiii} und +\Macro{labelitemiv} abgelegt. Sie können mit \Macro{renewcommand} umdefiniert +werden. Die einzelnen Stichpunkte werden mit \Macro{item} eingeleitet.% +% +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.env.itemize.example}% + Sie haben eine einfache Aufzählung, die in mehreren Ebenen geschachtelt + ist. Sie schreiben beispielsweise: + \begin{lstcode} + \minisec{Die Fahrzeuge im Spiel} + \begin{itemize} + \item Flugzeuge + \begin{itemize} + \item Doppeldecker + \item Jets + \item Transportmaschinen + \begin{itemize} + \item einmotorig + \begin{itemize} + \item{düsengetrieben} + \item{propellergetrieben} + \end{itemize} + \item mehrmotorig + \end{itemize} + \item Drehflügler + \end{itemize} + \item Motorräder + \begin{itemize} + \item historisch korrekt + \item futurisch nicht real + \end{itemize} + \item Automobile + \end{itemize} + \end{lstcode} + Anschließend erhalten Sie: + \begin{ShowOutput}[\baselineskip] + \minisec{Die Fahrzeuge im Spiel} + \begin{itemize} + \item Flugzeuge + \begin{itemize} + \item Doppeldecker + \item Jets + \item Transportmaschinen + \begin{itemize} + \item einmotorig + \begin{itemize} + \item{düsengetrieben} + \item{propellergetrieben} + \end{itemize} + \item mehrmotorig + \end{itemize} + \item Drehflügler + \end{itemize} + \item Motorräder + \begin{itemize} + \item historisch korrekt + \item futurisch nicht real + \end{itemize} + \item Automobile +% \begin{itemize} +% \item Rennwagen +% \item Personenwagen +% \item Lastwagen +% \end{itemize} +% \item Fahrräder + \end{itemize} + \end{ShowOutput} +\end{Example}% +\fi +% +\EndIndex{Env}{itemize}% +\EndIndex{Cmd}{item}% +\EndIndex{Cmd}{labelitemi}% +\EndIndex{Cmd}{labelitemii}% +\EndIndex{Cmd}{labelitemiii}% +\EndIndex{Cmd}{labelitemiv}% + + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{enumerate}}\\ + \quad\XMacro{item}\\ + \quad\dots\\ + \XMacro{end}\PParameter{enumerate}\\ + \Macro{theenumi}\\ + \Macro{theenumii}\\ + \Macro{theenumiii}\\ + \Macro{theenumiv}\\ + \Macro{labelenumi}\\ + \Macro{labelenumii}\\ + \Macro{labelenumiii}\\ + \Macro{labelenumiv} +\end{Declaration}% +\BeginIndex{Env}{enumerate}% +\BeginIndex{Cmd}{item}% +\BeginIndex{Cmd}{theenumi}% +\BeginIndex{Cmd}{theenumii}% +\BeginIndex{Cmd}{theenumiii}% +\BeginIndex{Cmd}{theenumiv}% +\BeginIndex{Cmd}{labelenumi}% +\BeginIndex{Cmd}{labelenumii}% +\BeginIndex{Cmd}{labelenumiii}% +\BeginIndex{Cmd}{labelenumiv}% +Die nummerierte Liste ist ebenfalls sehr häufig zu finden und bereits vom +{\LaTeX}-Kern vorgesehen. Die Nummerierung\Index{Nummerierung} erfolgt je nach +Ebene in unterschiedlicher Art: mit arabischen Zahlen, mit Kleinbuchstaben, +mit kleinen römischen Zahlen und mit Großbuchstaben. Die Art der Nummerierung +wird dabei über die Makros \Macro{theenumi} bis \Macro{theenumiv} +festgelegt. Das Format der Ausgabe wird von den Makros \Macro{labelenumi} bis +\Macro{labelenumiv} bestimmt. Dabei folgt auf den Wert der zweiten Ebene, der +in Kleinbuchstaben ausgegeben wird, eine runde Klammer, während die Werte +aller anderen Ebenen von einem Punkt gefolgt werden. Die einzelnen +Stichpunkte werden wieder mit \Macro{item} eingeleitet.% +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.env.enumerate.example}% + Verkürzen wir das vorherige Beispiel und verwenden statt der + \Environment{itemize}- eine + \Environment{enumerate}-Umgebung: +% Übernehmen wir das Beispiel der \Environment{itemize}-Umgebung, +% wobei wir jede \Environment{itemize}-Umgebung durch eine +% \Environment{enumerate}-Umgebung ersetzen. Das Ergebnis wäre dann: + \begin{ShowOutput}[\baselineskip] + \minisec{Die Fahrzeuge im Spiel} + \begin{enumerate} + \item Flugzeuge + \begin{enumerate} + \item Doppeldecker +% \item Jets + \item Transportmaschinen + \begin{enumerate} + \item einmotorig + \begin{enumerate} + \item{düsengetrieben}\label{xmp:maincls.jets} + \item{propellergetrieben} + \end{enumerate} + \item mehrmotorig + \end{enumerate} +% \item Drehflügler + \end{enumerate} + \item Motorräder + \begin{enumerate} + \item historisch korrekt + \item futurisch nicht real + \end{enumerate} +% \item Automobile +% \begin{enumerate} +% \item Rennwagen +% \item Personenwagen +% \item Lastwagen +% \end{enumerate} +% \item Fahrräder + \end{enumerate} + \end{ShowOutput} + Innerhalb der Aufzählung können ganz normal mit \Macro{label} Marken + gesetzt werden, auf die dann mit \Macro{ref} zugegriffen werden + kann. So wurde oben hinter den düsengetriebenen, einmotorigen +% Flugzeugen mit »\Macro{label}\PParameter{bsp:duesen}« ein Label +% gesetzt. Der \Macro{ref}-Wert ist dann »\ref{xmp:maincls.jets}«. +\end{Example}% +\fi +% +\EndIndex{Env}{enumerate}% +\EndIndex{Cmd}{item}% +\EndIndex{Cmd}{theenumi}% +\EndIndex{Cmd}{theenumii}% +\EndIndex{Cmd}{theenumiii}% +\EndIndex{Cmd}{theenumiv}% +\EndIndex{Cmd}{labelenumi}% +\EndIndex{Cmd}{labelenumii}% +\EndIndex{Cmd}{labelenumiii}% +\EndIndex{Cmd}{labelenumiv}% + + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{description}}\\ + \quad\XMacro{item}\OParameter{Stichwort}\\ + \quad\dots\\ + \XMacro{end}\PParameter{description} +\end{Declaration}% +\BeginIndex{Env}{description}% +\BeginIndex{Cmd}{item}% +Eine weitere Listenform ist die Stichwortliste. Sie dient in erster Linie der +Beschreibung einzelner Begriffe. Diese werden als optionale Parameter bei +\Macro{item} angegeben. Die +Schriftart\Index{Schriftart}\ChangedAt{v2.8p}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}}, die für die Hervorhebung des +Stichworts verwendet wird, kann außerdem bei den \KOMAScript-Klassen mit Hilfe +der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:\csname label@base\endcsname.textmarkup}, +\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) für das +Element \FontElement{descriptionlabel}\IndexFontElement{descriptionlabel} +(siehe \autoref{tab:\csname label@base\endcsname.elementsWithoutText}, +\autopageref{tab:\csname label@base\endcsname.elementsWithoutText}) geändert +werden. In der Voreinstellung wird \Macro{sffamily}""\Macro{bfseries} +verwendet.% +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.env.description.example}% + Sie wollen, dass die Stichworte statt serifenlos und fett lediglich + fett, aber in der Standardschriftart ausgegeben werden. Mit +\begin{lstcode} + \setkomafont{descriptionlabel}{\normalfont\bfseries} +\end{lstcode} + definieren Sie daher die Schrift entsprechend um. + + Ein Beispiel für die Ausgabe einer Stichwortliste ist eine Aufzählung der + Seitenstile. Der Quelltext dazu lautet beispielsweise: +\begin{lstcode} + \begin{description} + \item[empty] ist der Seitenstil, bei dem Kopf- und + Fußzeile vollständig leer bleiben. + \item[plain] ist der Seitenstil, bei dem keinerlei + Kolumnentitel verwendet wird. + \item[headings] ist der Seitenstil für + automatische Kolumnentitel. + \item[myheadings] ist der Seitenstil für manuelle + Kolumnentitel. + \end{description} +\end{lstcode} + Diese ergibt: + \begin{ShowOutput} + \begin{description} + \item[empty] ist der Seitenstil, bei dem Kopf- und + Fußzeile vollständig leer bleiben. + \item[plain] ist der Seitenstil, bei dem keinerlei + Kolumnentitel verwendet wird. + \item[headings] ist der Seitenstil für automatische + Kolumnentitel. + \item[myheadings] ist der Seitenstil für manuelle + Kolumnentitel. + \end{description} + \end{ShowOutput} +\end{Example}% +\fi +% +\EndIndex{Env}{description}% +\EndIndex{Cmd}{item}% +\fi % \ifCommonscrextend\else + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{labeling}}% + \OParameter{Trennzeichen}\Parameter{längstes + Muster}\\ + \quad\XMacro{item}\OParameter{Schlüsselwort}\\ + \quad\dots\\ + \XMacro{end}\PParameter{labeling} +\end{Declaration}% +\BeginIndex{Env}{labeling}% +\BeginIndex{Cmd}{item}% +Eine andere Form der % +\IfCommon{scrextend}{in vielen Klassen als \Environment{description}-Umgebung +vorhandenen }% +Stichwortliste ist nur bei den {\KOMAScript}-Klassen % +\IfCommon{scrextend}{und \Package{scrextend} }% +vorhanden: die \Environment{labeling}-Umgebung. Im Unterschied zur zuvor +vorgestellten Umgebung \Environment{description} kann bei +\Environment{labeling} ein Muster angegeben werden, dessen Länge die +Einrücktiefe bei allen Stichpunkten ergibt. Darüber hinaus kann zwischen +Stichpunkt und Beschreibungstext ein optionales \PName{Trennzeichen} +festgelegt werden.% +\ifCommonscrlttr\else +\begin{Example} + \phantomsection\label{desc:\csname + label@base\endcsname.env.labeling.example}% + \IfCommon{maincls}{Wir schreiben das Beispiel der + \Environment{description}-Umgebung etwas um:}% + \IfCommon{scrextend}{Eine einfache Liste könnte beispielsweise wie folgt + definiert werden:}% + \begin{lstcode} + \begin{labeling}[~--]{% + \usekomafont{descriptionlabel}myheadings} + \item[\usekomafont{descriptionlabel}empty] + Seitenstil für leere Seiten ohne Kopf und Fuß + \item[\usekomafont{descriptionlabel}plain] + Seitenstil für Kapitelanfänge ganz ohne + Kolumnentitel + \item[\usekomafont{descriptionlabel}headings] + Seitenstil für automatische Kolumnentitel + \item[\usekomafont{descriptionlabel}myheadings] + Seitenstil für manuelle Kolumnentitel + \end{labeling} + \end{lstcode} + Als Ergebnis erhalten wir dann: + \begin{ShowOutput} + \begin{labeling}[~--]{\usekomafont{descriptionlabel}myheadings} + \item[\usekomafont{descriptionlabel}empty] Seitenstil für leere + Seiten ohne Kopf und Fuß + \item[\usekomafont{descriptionlabel}plain] Seitenstil für + Kapitelanfänge ganz ohne Kolumnentitel + \item[\usekomafont{descriptionlabel}headings] Seitenstil für + automatische Kolumnentitel + \item[\usekomafont{descriptionlabel}myheadings] Seitenstil für + manuelle Kolumnentitel + \end{labeling} + \end{ShowOutput} + Wie in diesem Beispiel zu sehen ist, muss eine eventuell geforderte + Schriftumschaltung bei dieser Umgebung sowohl im Muster als auch im + optionalen Parameter jeder \Macro{item}-Anweisung wiederholt werden. +\end{Example} +Gedacht war die Umgebung ursprünglich für Strukturen wie »Voraussetzung, +%Aussage, Beweis« oder »Gegeben, Gesucht, Lösung«, wie man sie in +Vorlesungsskripten häufiger findet. Inzwischen findet die Umgebung aber ganz +unterschiedliche Anwendungen. So wurde die Umgebung für Beispiele in dieser +Anleitung mit Hilfe der \Environment{labeling}-Umgebung definiert.% +\fi +% +\EndIndex{Env}{labeling}% +\EndIndex{Cmd}{item}% + + +\ifCommonscrextend\else +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{verse}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{verse} +\end{Declaration}% +\BeginIndex{Env}{verse}% +Die \Environment{verse}-Umgebung wird normalerweise nicht als Listenumgebung +wahrgenommen, da hier nicht mit \Macro{item} gearbeitet wird. Stattdessen wird +wie innerhalb der \Environment{flushleft}-Umgebung mit festen Zeilenumbrüchen +gearbeitet. Intern handelt es sich jedoch sowohl bei den Standardklassen als +auch bei {\KOMAScript} durchaus um eine Listenumgebung. + +Die \Environment{verse}-Umgebung findet hauptsächlich für +Gedichte\Index{Gedichte} Anwendung. Dabei werden die Zeilen links und rechts +eingezogen. Einzelne Verse werden mit einem festen Zeilenumbruch, also mit +\verb|\\| beendet. Strophen werden ganz normal als Absatz gesetzt, also durch +eine Leerzeile getrennt. Häufig findet stattdessen auch +\Macro{medskip}\IndexCmd{medskip} oder \Macro{bigskip}\IndexCmd{bigskip} +Verwendung. Will man verhindern, dass am Ende eines Verses ein Seitenumbruch +erfolgt, so verwendet man ganz normal \verb|\\*| an Stelle von \verb|\\|.% +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.env.verse.example}% + Als Beispiel ein kurzes Gedicht von Wilhelm Busch: + \begin{lstcode} + \begin{verse} + Wenn einer, der mit Mühe kaum\\* + Gekrochen ist auf einen Baum,\\* + Schon meint, dass er ein Vogel wär,\\* + So irrt sich der. + \end{verse} + \end{lstcode} + Mit dem Resultat: + \begin{ShowOutput} + \vskip-.8\baselineskip% Umbruchkorrektur + \begin{verse} + Wenn einer, der mit Mühe kaum\\* + Gekrochen ist auf einen Baum,\\* + Schon meint, dass er ein Vogel wär,\\* + So irrt sich der. + \end{verse} + \end{ShowOutput} + Bei einem sehr langen Vers wie: + \begin{lstcode} + \begin{verse} + Der Philosoph wie der Hausbesitzer hat + immer Reparaturen.\\* + \bigskip + Wer dir sagt, er hätte noch nie gelogen, + dem traue nicht, mein Sohn. + \end{verse} + \end{lstcode} + bei dem ein Zeilenumbruch innerhalb des Verses erfolgt: + \begin{ShowOutput} + \vskip-.8\baselineskip% Umbruchkorrektur + \begin{verse} + Der Philosoph wie der Hausbesitzer hat immer Reparaturen.\\ + \bigskip + Wer dir sagt, er hätte noch nie gelogen, dem traue nicht, mein + Sohn. + \end{verse} + \end{ShowOutput} + kann mit \verb|\\*| allerdings nicht verhindert werden, dass am + Zeilenumbruch auch ein Seitenumbruch erfolgt. Um dies zu erreichen, müsste + innerhalb der ersten Zeile zusätzlich ein + \Macro{nopagebreak}\IndexCmd{nopagebreak} eingefügt werden: + \begin{lstcode} + \begin{verse} + Der Philosoph wie der Hausbesitzer\nopagebreak + hat immer Reparaturen.\\ + \bigskip + Wer dir sagt, er hätte noch nie\nopagebreak + gelogen, dem traue nicht, mein Sohn. + \end{verse} + \end{lstcode} +\iftrue% Umbruchkorrekturtext + Hier noch zwei Sprüche, die man immer bedenken sollte, wenn man mit + scheinbar seltsamen Fragen zu {\LaTeX} oder den dazugehörigen Antworten + konfrontiert ist: + \begin{ShowOutput} + \vskip-.8\baselineskip% Umbruchkorrektur + \begin{verse} + Wir mögen's keinem gerne gönnen,\\* + Dass er was kann, was wir nicht können.\\ + \bigskip + Wie klein ist das, was einer ist,\\* + Wenn man's mit seinem Dünkel misst. + \end{verse} + \end{ShowOutput} +\fi + In diesen Beispielen wurde übrigens jeweils \Macro{bigskip} verwendet, um + zwei Sprüche voneinander zu trennen. +\end{Example}% +\fi +% +\EndIndex{Env}{verse}% + + +\iffalse% Umbruchkorrekturvarianten +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{quote}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{quote} +\end{Declaration}% +\BeginIndex{Env}{quote}% +Dies ist intern ebenfalls eine Listenumgebung und sowohl bei den +Standardklassen als auch bei {\KOMAScript} zu finden. Der Inhalt der Umgebung +wird im Blocksatz mit beidseitigem Einzug gesetzt. Die Umgebung wird häufig +verwendet, um längere Zitate\Index{Zitat} abzusetzen. Dabei werden Absätze +innerhalb der Umgebung durch einen vertikalen Abstand gekennzeichnet.% +\EndIndex{Env}{quote}% + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{quotation}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{quotation} +\end{Declaration}% +\BeginIndex{Env}{quotation}% +Diese Umgebung ist mit \Environment{quote} vergleichbar. Während bei +\Environment{quote} Absätze durch vertikalen Abstand gekennzeichnet werden, +wird bei \Environment{quotation} mit horizontalem Einzug der ersten Zeile +eines Absatzes gearbeitet. Dies gilt auch für den ersten Absatz einer +\Environment{quotation}-Umgebung. Wollen Sie dort den Einzug verhindern, +müssen Sie die \Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen.% +\EndIndex{Env}{quotation}% + +\else + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{quote}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{quote}\\ + \XMacro{begin}\PParameter{\Environment{quotation}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{quotation} +\end{Declaration}% +\BeginIndex{Env}{quote}% +\BeginIndex{Env}{quotation}% +Diese beiden Umgebungen sind intern ebenfalls Listenumgebungen und sowohl bei +den Standardklassen als auch bei {\KOMAScript} zu finden. Beide Umgebungen +setzen Blocksatz, der rechts und links eingezogen ist. Verwendet werden die +Umgebungen häufig, um längere Zitate\Index{Zitat} abzusetzen. Der Unterschied +zwischen beiden liegt in der Art und Weise, wie Absätze abgesetzt +werden. Während bei \Environment{quote} Absätze durch vertikalen Abstand +gekennzeichnet werden, wird bei \Environment{quotation} mit horizontalem +Einzug der ersten Zeile eines Absatzes gearbeitet. Dies gilt auch für den +ersten Absatz einer \Environment{quotation}-Umgebung% Umbruchkorrektur +\IfCommon{maincls}{, außer es wird \Macro{noindent}\IndexCmd{noindent} + vorangestellt.}% +\IfCommon{scrlttr2}{. Wollen Sie dort den Einzug verhindern, müssen Sie die + \Macro{noindent}-Anweisung\IndexCmd{noindent} voranstellen.}% +\ifCommonmaincls +\begin{Example} + \phantomsection\label{desc:maincls.env.quote.example}% + Sie wollen eine kleine Anekdote hervorheben. Also schreiben Sie + folgende \Environment{quotation}-Umgebung: + % +\begin{lstcode} + \begin{quotation} + Es klingelt an der Tür eines Pfarrhauses in Stuttgart. + Als die Haushälterin öffnet, steht ein unrasierter + Mann in einem reichlich schäbigen Mantel vor der Tür + und hält seine Strickmütze in der Hand. + + "`Gute Frau,"' verkündet der Mann in gequältem Ton, + doch bestem Hochdeutsch, während er verlegen von einem + Bein auf das andere wechselt, "`ich habe seit drei + Tagen nichts mehr gegessen."' + + Die Frau schüttelt mitleidig den Kopf und + entgegnet im Brustton vollster Überzeugung: + + "`Guda Moh, Sie missat sich halt zwinga!"' + \end{quotation} +\end{lstcode} + Das Ergebnis ist dann: + \begin{ShowOutput} +\iffalse% Umbruchkorrekturtext + Ein kleines Beispiel für eine Anekdote, die sich einst + in Schwaben zugetragen haben soll: +\fi + \begin{quotation} + Es klingelt an der Tür eines Pfarrhauses in + Stuttgart. Als die Haushälterin öffnet, steht ein + unrasierter Mann in einem reichlich schäbigen + Mantel vor der Tür und hält seine Strickmütze in + der Hand. + + "`Gute Frau,"' verkündet der Mann in gequältem Ton, + doch bestem Hochdeutsch, +\iftrue% Umbruchkorrekturtext + während er verlegen von einem Bein auf das andere wechselt, +\fi + "`ich habe + seit drei Tagen nichts mehr gegessen."' + + Die Frau schüttelt mitleidig den Kopf und entgegnet + im Brustton vollster Überzeugung: + + "`Guda Moh, Sie missat sich halt zwinga!"' + \end{quotation} + \end{ShowOutput} + % + Wenn Sie stattdessen eine \Environment{quote}-Umgebung + verwenden, sieht das Ganze so aus: + % + \begin{ShowOutput} +\iffalse% Umbruchkorrekturtext + Ein kleines Beispiel für eine Anekdote, die sich einst + in Schwaben zugetragen haben soll: +\fi + \begin{quote}\setlength{\parskip}{4pt plus 2pt minus 2pt} + Es klingelt an der Tür eines Pfarrhauses in Stuttgart. Als die + Haushälterin öffnet, steht ein unrasierter Mann in einem reichlich + schäbigen Mantel vor der Tür und hält seine Strickmütze in der Hand. + + "`Gute Frau,"' verkündet der Mann in gequältem Ton, doch bestem + Hochdeutsch, +\iftrue% Umbruchkorrekturtext + während er verlegen von einem Bein auf das andere wechselt, +\fi + "`ich habe seit drei Tagen nichts mehr gegessen."' + + Die Frau schüttelt mitleidig den Kopf und entgegnet im Brustton vollster + Überzeugung: + + "`Guda Moh, Sie missat sich halt zwinga!"' + \end{quote} + \end{ShowOutput} + % +\end{Example}% +\fi +% +\EndIndex{Env}{quote}% +\EndIndex{Env}{quotation}% +\fi % Umbruchkorrekturvarianten +\fi % \ifCommonscrextend\else + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{addmargin}}% + \OParameter{linker Einzug}\Parameter{Einzug}\\ + \quad\dots\\ + \XMacro{end}\PParameter{addmargin}\\ + \XMacro{begin}\PParameter{\Environment{addmargin*}}% + \OParameter{innerer Einzug}\Parameter{Einzug}\\ + \quad\dots\\ + \XMacro{end}\PParameter{addmargin*} +\end{Declaration} +\BeginIndex{Env}{addmargin}% +\BeginIndex{Env}{addmargin*}% +Wie bei % +\IfCommon{scrextend}{den in den Standardklassen und den \KOMAScript-Klassen + vorhandenen Umgebungen }% +\Environment{quote} und \Environment{quotation} handelt es sich bei +\Environment{addmargin} um eine Umgebung, die den Rand\Index{Rand} +verändert. Im Unterschied zu den beiden erstgenannten Umgebungen kann der +Anwender jedoch bei \Environment{addmargin} wählen, um welchen Wert der Rand +verändert werden kann. Des Weiteren verändert die Umgebung den Absatzeinzug +und den Absatzabstand nicht. Es wird auch kein zusätzlicher vertikaler Abstand +vor und nach der Umgebung eingefügt. + +Ist nur das obligatorische Argument \PName{Einzug} angegeben, so wird der +Inhalt der Umgebung rechts und links um diesen Wert eingezogen. Ist das +optionale Argument \PName{linker Einzug} hingegen angegeben, so wird links +abweichend von \PName{Einzug} der Wert \PName{linker Einzug} zum Rand addiert. + +Die Sternvariante \Environment{addmargin*} unterscheidet sich nur im +doppelseitigen Satz von der Variante ohne Stern, wobei der Unterschied auch +nur dann auf"|tritt, wenn das optionale Argument \PName{innerer Einzug} +verwendet wird. Dabei wird dann der Wert von \PName{innerer Einzug} zum +inneren Randanteil der Seite addiert. Dies ist bei rechten Seiten der linke +Rand der Seite, bei linken Seiten jedoch der rechte Rand der +Seite. \PName{Einzug} gilt dann für den jeweils anderen Rand. + +Bei beiden Varianten der Umgebung sind für alle Parameter auch negative Werte +erlaubt. % Umbruchkorrektur +\IfNotCommon{scrextend}{Damit kann man erreichen, dass die Umgebung in den + Rand hineinragt.}% +\IfCommon{scrextend}{Die Umgebung ragt dann entsprechend in den Rand hinein.}% +\ifCommonscrlttr\else +\begin{Example} + \phantomsection\label{desc:maincls.env.addmargin.example}% + Angenommen, Sie schreiben eine Anleitung mit kurzen + Quellcode-Beispielen. Um diese sehr stark hervorzuheben, sollen sie mit + horizontalen Linien vom Text abgesetzt und leicht in den äußeren Rand + verschoben werden. Sie definieren sich dafür zunächst eine Umgebung: + \begin{lstcode} + \newenvironment{QuellcodeRahmen}{% + \begin{addmargin*}[1em]{-1em}% + \begin{minipage}{\linewidth}% + \rule{\linewidth}{2pt}% + }{% + \rule[.25\baselineskip]{\linewidth}{2pt}% + \end{minipage}% + \end{addmargin*}% + } + \end{lstcode} + \begin{ShowOutput} + \newenvironment{QuellcodeRahmen}{% + \begin{addmargin*}[1em]{-1em}% + \begin{minipage}{\linewidth}% + \rule{\linewidth}{2pt}% + }{% + \rule[.25\baselineskip]{\linewidth}{2pt}% + \end{minipage}% + \end{addmargin*}% + } + Die Umgebung in sich selbst gesetzt ergibt: + \begin{QuellcodeRahmen} +\begin{lstcode} +\newenvironment{\QuellcodeRahmen}{% + \begin{addmargin*}[1em]{-1em}% + \begin{minipage}{\linewidth}% + \rule{\linewidth}{2pt}% +}{% + \rule[.25\baselineskip]{\linewidth}{2pt}% + \end{minipage}% + \end{addmargin*}% +} +\end{lstcode} + \end{QuellcodeRahmen} + Das mag praktisch sein oder unpraktisch, zumindest jedoch zeigt es, + wie die Umgebung verwendet werden kann. + \end{ShowOutput} + Das optionale Argument der \Environment{addmargin*}-Umgebung sorgt + dafür, dass der innere Rand um den Wert + 1\Unit{em} vergrößert wird. Dafür wird der äußere + Rand um den negativen Wert vergrößert, also in Wirklichkeit um + 1\Unit{em} verkleinert. Dies resultiert in einer + Verschiebung um 1\Unit{em} nach außen. Selbstverständlich kann statt + \PValue{1em} auch eine Länge, beispielsweise + \PValue{2\Macro{parindent}}, verwendet werden. +\end{Example} + +Ob eine Seite eine linke oder eine rechte Seite ist, kann übrigens beim ersten +\LaTeX-Durchlauf nicht zuverlässig festgestellt werden. Siehe dazu die +Erklärungen zu den Anweisungen \Macro{ifthispageodd} (\autoref{sec:\csname + label@base\endcsname.oddOrEven}, \autopageref{desc:\csname + label@base\endcsname.cmd.ifthispageodd}) und \Macro{ifthispagewasodd} +(\autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.ifthispageodd}). + +\begin{Explain} + Im Zusammenspiel von Umgebungen wie Listen mit Absätzen ergeben sich für + Laien häufiger Fragen. Daher widmet sich die weiterführende Erklärung zu + Option \Option{parskip} in \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.option.parskip} auch diesem + Thema. Ebenfalls im Expertenteil in \autoref{sec:maincls-experts.addInfos}, + \autopageref{desc:maincls-experts.env.addmargin*} wird die + Problematik von mehrseitigen \Environment{addmargin*}-Umgebungen behandelt. +\end{Explain}% +\fi% \ifCommonmaincls +% +\EndIndex{Env}{addmargin}% +\EndIndex{Env}{addmargin*}% +% +\EndIndex{}{Listen} +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<13>> + +\section{Randnotizen} +\label{sec:\csname label@base\endcsname.marginNotes}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis +Es gilt sinngemäß, was in \autoref{sec:maincls.marginNotes} geschrieben +wurde. +\else +\BeginIndex{}{Randnotizen}% + +Außer dem eigentlichen Textbereich, der normalerweise den Satzspiegel +ausfüllt, existiert in Dokumenten noch die so genannte Marginalienspalte. In +dieser können Randnotizen gesetzt werden. % Umbruchkorrekturtext +\IfNotCommon{scrlttr2}{In diesem \iffree{Dokument}{Buch} wird davon ebenfalls + Gebrauch gemacht.}% +\fi +\IfCommon{scrlttr2}{Bei Briefen sind Randnotizen allerdings eher unüblich und + sollten äußerst sparsam eingesetzt werden.}% +\ifIgnoreThis\else + + +\begin{Declaration} + \Macro{marginpar}\OParameter{Randnotiz links}\Parameter{Randnotiz}\\ + \Macro{marginline}\Parameter{Randnotiz} +\end{Declaration}% +\BeginIndex{Cmd}{marginpar}% +\BeginIndex{Cmd}{marginline}% +Für Randnotizen\Index[indexmain]{Randnotizen} ist bei {\LaTeX} normalerweise die +Anweisung \Macro{marginpar} vorgesehen. Die Randnotizen werden dabei im +äußeren Rand gesetzt. Bei einseitigen Dokumenten wird der rechte Rand +verwendet. Zwar kann bei \Macro{marginpar} optional eine abweichende Randnotiz +angegeben werden, falls die Randnotiz im linken Rand landet, jedoch werden +Randnotizen immer im Blocksatz ausgegeben. Die Erfahrung zeigt, dass bei +Randnotizen statt des Blocksatzes oft je nach Rand linksbündiger oder +rechtsbündiger Flattersatz zu bevorzugen ist. {\KOMAScript} bietet hierfür +die Anweisung \Macro{marginline}. + +\ifCommonscrlttr\else +\begin{Example} + \phantomsection\label{desc:\csname + label@base\endcsname.cmd.marginline.example}% + In diesem Kapitel ist an einigen Stellen die % + \IfCommon{maincls}{Klassenangabe \Class{scrartcl} }% + \IfCommon{scrextend}{Paketangabe \Package{scrextend} }% + im Rand zu finden. Diese kann mit: +\ifCommonmaincls + \begin{lstcode} + \marginline{\texttt{scrartcl}} + \end{lstcode} +\else + \begin{lstcode} + \marginline{\texttt{scrextend}} + \end{lstcode} +\fi + erreicht werden.% +\iftrue % Umbruchkorrekturtext + \footnote{Tatsächlich wurde nicht \Macro{texttt}, + sondern eine semantische Auszeichnung verwendet. Um nicht unnötig + zu verwirren, wurde diese im Beispiel ersetzt.}% +\fi + + Statt \Macro{marginline} wäre auch die Verwendung von \Macro{marginpar} + möglich gewesen. Tatsächlich wird bei obiger Anweisung intern nichts anders + gemacht als: +\ifCommonmaincls + \begin{lstcode} + \marginpar[\raggedleft\texttt{scrartcl}] + {\raggedright\texttt{scrartcl}} + \end{lstcode} +\else + \begin{lstcode} + \marginpar[\raggedleft\texttt{scrextend}] + {\raggedright\texttt{scrextend}} + \end{lstcode} +\fi + Letztlich ist \Macro{marginline} also nur eine abkürzende Schreibweise. +\end{Example} + +Für Experten sind in \autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.marginpar} Probleme bei der Verwendung +von \Macro{marginpar} dokumentiert. Diese gelten ebenso für +\Macro{marginline}.% +\fi% +\IfCommon{scrlttr2}{Ein ausführliches Beispiel hierzu finden Sie in + \autoref{sec:maincls.marginNotes}, + \autopageref{desc:maincls.cmd.marginline.example}.}% +% +\EndIndex{Cmd}{marginpar}% +\EndIndex{Cmd}{marginline}% +% +\EndIndex{}{Randnotizen}% +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<14>> + +\section{Dokumenttitel} +\label{sec:\csname label@base\endcsname.titlepage}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis +Es gilt sinngemäß, was in \autoref{sec:maincls.titlepage} geschrieben +wurde. \IfCommon{scrextend}{Es gibt jedoch einen Unterschied:} +\else +\BeginIndex{}{Titel}% + +Bei Dokumenten wird zwischen zwei verschiedenen Arten von Titeln für das +gesamte Dokument unterschieden. Zum einen gibt es die Titelseiten. Hierbei +steht der Dokumenttitel zusammen mit einigen zusätzlichen Informationen wie +dem Autor auf einer eigenen Seite. Neben der Haupttitelseite kann es dabei +weitere Titelseiten, etwa Schmutztitel, Verlagsinformationen, Widmung oder +ähnliche, geben. Zum anderen gibt es den Titelkopf. Dabei erscheint der Titel +lediglich am Anfang einer neuen -- in der Regel der ersten -- Seite. Unterhalb +dieser Titelzeilen\Index{Titel>-Zeilen} wird das Dokument beispielsweise mit +der Zusammenfassung, einem Vorwort oder dem Inhaltsverzeichnis fortgesetzt. +\fi + +\IfCommon{scrextend}{% + Die Möglichkeiten von \Package{scrextend} zum Dokumenttitel gehören zu den + optionalen, erweiterten Möglichkeiten und stehen daher nur zur Verfügung, + wenn zuvor beim Laden des Pakets \OptionValue{extendedfeature}{title} + gewählt wurde (siehe \autoref{sec:scrextend.optionalFeatures}, + \autopageref{desc:scrextend.option.extendedfeature}). Dies gilt auch für die + Paketoptionen aus diesem Abschnitt.} +\ifIgnoreThis +Darüber hinaus kann \Package{scrextend} nicht mit einer \KOMAScript-Klasse +zusammen verwendet werden. In allen Beispielen aus +\autoref{sec:maincls.titlepage} muss daher bei Verwendung von +\Package{scrextend} + \begin{lstcode} + \documentclass{scrbook} + \end{lstcode} +durch + \begin{lstcode} + \documentclass{book} + \usepackage[extendedfeature=title]{scrextend} + \end{lstcode} +ersetzt werden. +\else + +\begin{Declaration} + \KOption{titlepage}\PName{Ein-Aus-Wert} +\end{Declaration}% +\BeginIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}}% +Mit dieser Option\ChangedAt{v3.00}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} wird ausgewählt, ob für die gesamte mit \Macro{maketitle} +(siehe \autopageref{desc:\csname label@base\endcsname.cmd.maketitle}) gesetzte +Titelei eigene Seiten\Index{Titel>-Seite} verwendet werden, oder stattdessen +die Titelei von \Macro{maketitle} als Titelkopf\Index{Titel>-Kopf} gesetzt +wird. Als \PName{Ein-Aus-Wert} kann einer der Standardwerte für einfache +Schalter aus \autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch} +verwendet werden. + +Mit \OptionValue{titlepage}{true} oder \Option{titlepage} wird die Titelei in +Form von Titelseiten ausgewählt. Die Anweisung \Macro{maketitle} verwendet +\Environment{titlepage}-Umgebungen zum Setzen dieser Seiten, die somit +normalerweise weder Seitenkopf noch Seitenfuß erhalten. Bei {\KOMAScript} +wurde die Titelei gegenüber den Standardklassen stark erweitert. + +Demgegenüber wird mit \OptionValue{titlepage}{false} erreicht, dass ein +Titelkopf (engl.: \emph{in-page title}) gesetzt wird. Das heißt, die Titelei +wird lediglich speziell hervorgehoben, auf der Seite mit dem Titel kann aber +nachfolgend weiteres Material, beispielsweise eine Zusammenfassung oder ein +Abschnitt gesetzt werden. + +\IfCommon{maincls}{Bei den Klassen \Class{scrbook} und \Class{scrreprt} sind + Titelseiten voreingestellt. Demgegenüber verwendet \Class{scrartcl} in der + Voreinstellung einen Titelkopf.}% +\IfCommon{scrextend}{Die Voreinstellung ist von der verwendeten Klasse + abhängig und wird von \Package{scrextend} kompatibel zu den Standardklassen + erkannt. Setzt eine Klasse keine entsprechende Voreinstellung, so ist der + Titelkopf voreingestellt.}% +% +\EndIndex{Option}{titlepage~=\PName{Ein-Aus-Wert}} + + +\begin{Declaration} + \XMacro{begin}\PParameter{\Environment{titlepage}}\\ + \quad\dots\\ + \XMacro{end}\PParameter{titlepage} +\end{Declaration}% +\BeginIndex{Env}{titlepage}% +Grundsätzlich werden bei den Standardklassen und bei {\KOMAScript} alle +Titelseiten in einer speziellen Umgebung, der +\Environment{titlepage}-Umgebung, gesetzt. Diese Umgebung startet immer mit +einer neuen Seite -- im zweiseitigen Layout sogar mit einer neuen rechten +Seite -- im einspaltigen Modus. Für eine Seite wird der Seitenstil mit +\Macro{thispagestyle}\PParameter{empty} geändert, so dass weder Seitenzahl +noch Kolumnentitel ausgegeben werden. Am Ende der Umgebung wird die Seite +automatisch beendet. Sollten Sie nicht das automatische Layout der Titelei, +wie es das nachfolgend beschriebene \Macro{maketitle} bietet, verwenden +können, ist zu empfehlen, eine eigene Titelei mit Hilfe dieser Umgebung zu +entwerfen. + +\begin{Example} + Angenommen, Sie wollen eine Titelseite, auf der lediglich oben links +% möglichst groß und fett das Wort »Me« steht -- kein Autor, kein Datum, + nichts weiter. Folgendes Dokument ermöglicht das: +\ifCommonmaincls +\begin{lstcode} + \documentclass{scrbook} + \begin{document} + \begin{titlepage} + \textbf{\Huge Me} + \end{titlepage} + \end{document} +\end{lstcode} +\else +\begin{lstcode} + \documentclass{book} + \usepackage[extendedfeature=title]{scrextend} + \begin{document} + \begin{titlepage} + \textbf{\Huge Me} + \end{titlepage} + \end{document} +\end{lstcode} +\fi + Einfach? Stimmt. +\end{Example} +% +\EndIndex{Env}{titlepage} + + +\begin{Declaration} + \Macro{maketitle}\OParameter{Seitenzahl} +\end{Declaration}% +\BeginIndex{Cmd}{maketitle}% +Während bei den Standardklassen nur maximal eine Titelseite mit den drei +Angaben Titel, Autor und Datum existiert, können bei {\KOMAScript} mit +\Macro{maketitle} bis zu sechs Titelseiten gesetzt werden. Im Gegensatz zu +den Standardklassen kennt \Macro{maketitle} bei {\KOMAScript} außerdem noch +ein optionales nummerisches Argument. Findet es Verwendung, so wird die +Nummer als Seitenzahl der ersten Titelseite benutzt. Diese Seitenzahl wird +jedoch nicht ausgegeben, sondern beeinflusst lediglich die Zählung. Sie +sollten hier unbedingt eine ungerade Zahl wählen, da sonst die gesamte Zählung +durcheinander gerät. Meiner Auf"|fassung nach gibt es nur zwei sinnvolle +Anwendungen für das optionale Argument. Zum einen könnte man dem +Schmutztitel\Index[indexmain]{Schmutztitel} die logische Seitenzahl \(-\)1 +geben, um so die Seitenzählung erst ab der Haupttitelseite mit 1 zu +beginnen. Zum anderen könnte man mit einer höheren Seitenzahl beginnen, +beispielsweise 3, 5 oder 7, um so weitere Titelseiten zu berücksichtigen, die +erst vom Verlag hinzugefügt werden. Wird ein Titelkopf verwendet, wird das +optionale Argument ignoriert. Dafür kann der Seitenstil einer solchen Titelei +durch Umdefinierung des Makros \Macro{titlepagestyle} (siehe +\autoref{sec:maincls.pagestyle}, +\autopageref{desc:maincls.cmd.titlepagestyle}) verändert werden. + +Die folgenden Anweisungen führen nicht unmittelbar zum Setzen der Titelei. Das +Setzen der Titelei erfolgt immer mit \Macro{maketitle}. Es sei an dieser +Stelle auch darauf hingewiesen, dass \Macro{maketitle} nicht innerhalb einer +\Environment{titlepage}-Umgebung zu verwenden ist. Wie in den Beispielen +angegeben, sollte man nur entweder \Macro{maketitle} oder +\Environment{titlepage} verwenden. + +Mit den nachfolgend erklärten Anweisungen werden lediglich die Inhalte der +Titelei festgelegt. Sie müssen daher auch unbedingt vor \Macro{maketitle} +verwendet werden. Es ist jedoch nicht notwendig und bei Verwendung des +\Package{babel}-Pakets\IndexPackage{babel} (siehe \cite{package:babel}) auch +nicht empfehlenswert, diese Anweisungen in der Dokumentpräambel vor +\Macro{begin}\PParameter{document} zu verwenden. Beispieldokumente finden Sie +am Ende des Abschnitts. + + +\begin{Declaration} + \Macro{extratitle}\Parameter{Schmutztitel} +\end{Declaration}% +\BeginIndex{Cmd}{extratitle}% +\begin{Explain}% + Früher war der Buchblock oftmals nicht durch einen Buchdeckel vor + Verschmutzung geschützt. Diese Aufgabe übernahm dann die erste Seite des + Buches, die meist einen Kurztitel, eben den \emph{Schmutztitel} trug. Auch + heute noch wird diese Extraseite vor dem eigentlichen Haupttitel gerne + verwendet und enthält dann Verlagsangaben, Buchreihennummer und ähnliche + Angaben. +\end{Explain} +Bei {\KOMAScript} ist es möglich, vor der eigentlichen Titelseite eine weitere +Seite zu setzen. Als \PName{Schmutztitel}\Index{Schmutztitel} kann dabei +beliebiger Text -- auch mehrere Absätze -- gesetzt werden. Der Inhalt von +\PName{Schmutztitel} wird von {\KOMAScript} ohne zusätzliche Beeinflussung der +Formatierung ausgegeben. Dadurch ist dessen Gestaltung völlig dem Anwender +überlassen. Die Rückseite des Schmutztitels bleibt leer. Der Schmutztitel +ergibt auch dann eine eigene Titelseite, wenn mit Titelköpfen gearbeitet +wird. Die Ausgabe des mit \Macro{extratitle} definierten Schmutztitels erfolgt +als Bestandteil der Titelei mit \Macro{maketitle}. + +\begin{Example} + Kommen wir auf das Beispiel von oben zurück und gehen davon aus, dass das +% spartanische »Me« nur den Schmutztitel darstellt. Nach dem Schmutztitel soll + noch der Haupttitel folgen. Dann kann wie folgt verfahren werden: +\ifCommonmaincls + \begin{lstcode} + \documentclass{scrbook} + \begin{document} + \extratitle{\textbf{\Huge Me}} + \title{It's me} + \maketitle + \end{document} + \end{lstcode} +\else + \begin{lstcode} + \documentclass{book} + \usepackage[extendedfeature=title]{scrextend} + \begin{document} + \extratitle{% + \textbf{\Huge Me}% + } + \title{It's me} + \maketitle + \end{document} + \end{lstcode} +\fi + Sie können den Schmutztitel aber auch horizontal zentriert und etwas + tiefer setzen: +\ifCommonmaincls + \begin{lstcode} + \documentclass{scrbook} + \begin{document} + \extratitle{\vspace*{4\baselineskip} + \begin{center}\textbf{\Huge Me}\end{center}} + \title{It's me} + \maketitle + \end{document} + \end{lstcode} +\else + \begin{lstcode} + \documentclass{book} + \usepackage[extendedfeature=title]{scrextend} + \begin{document} + \extratitle{% + \vspace*{4\baselineskip} + \begin{center} + \textbf{\Huge Me} + \end{center}% + } + \title{It's me} + \maketitle + \end{document} + \end{lstcode} +\fi + Die Anweisung \Macro{title} ist grundsätzlich notwendig, damit die Beispiele + fehlerfrei sind. Sie wird nachfolgend erklärt. +\end{Example} +% +\EndIndex{Cmd}{extratitle} + + +\begin{Declaration} + \Macro{titlehead}\Parameter{Kopf}\\ + \Macro{subject}\Parameter{Typisierung}\\ + \Macro{title}\Parameter{Titel}\\ + \Macro{subtitle}\Parameter{Untertitel}\\ + \Macro{author}\Parameter{Autor}\\ + \Macro{date}\Parameter{Datum}\\ + \Macro{publishers}\Parameter{Herausgeber}\\ + \Macro{and}\\ + \Macro{thanks}\Parameter{Fußnote} +\end{Declaration}% +\BeginIndex{Cmd}{titlehead}% +\BeginIndex{Cmd}{subject}% +\BeginIndex{Cmd}{title}% +\BeginIndex{Cmd}{subtitle}% +\BeginIndex{Cmd}{author}% +\BeginIndex{Cmd}{date}% +\BeginIndex{Cmd}{publishers}% +\BeginIndex{Cmd}{and}% +\BeginIndex{Cmd}{thanks}% +Für den Inhalt der Haupttitelseite stehen sieben Elemente zur Verfügung. Die +Ausgabe der Haupttitelseite erfolgt als Bestandteil der Titelei mit +\Macro{maketitle}, während die hier aufgeführten Anweisungen lediglich der +Definition der entsprechenden Elemente dienen. + +Der \PName{Kopf}\Index[indexmain]{Titel>Seitenkopf} des Haupttitels wird mit +der Anweisung \Macro{titlehead} definiert. Er wird über die gesamte Textbreite +in normalem Blocksatz am Anfang der Seite ausgegeben. Er kann vom Anwender +frei gestaltet werden. + +Die \PName{Typisierung}\Index[indexmain]{Typisierung} wird unmittelbar über +dem \PName{Titel} ausgegeben. Dabei\ChangedAt{v2.95}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} findet die Schriftumschaltung für das +Element \FontElement{subject}\IndexFontElement{subject} Anwendung. Die +Voreinstellung, die in \autoref{tab:maincls.titlefonts}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts} }% +\ zu finden ist, kann mit Hilfe der Anweisungen \Macro{setkomafont} und +\Macro{addtokomafont} (siehe \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) verändert werden. + +Der \PName{Titel} wird in einer sehr großen Schrift ausgegeben. +Dabei\ChangedAt{v2.8p}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}} findet abgesehen von der Größe auch die Schriftumschaltung +für das Element \FontElement{title}\IndexFontElement{title} Anwendung. +Voreingestellt ist die gleiche Schrift, die für das Element +\FontElement{disposition}\IndexFontElement{disposition} verwendet wird (siehe +\autoref{tab:maincls.elementsWithoutText}, +\autopageref{tab:maincls.elementsWithoutText}). Die Voreinstellungen können +mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:\csname label@base\endcsname.textmarkup}, +\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) verändert +werden. Die Größe ist jedoch davon unabhängig (siehe +\autoref{tab:maincls.mainTitle}, \autopageref{tab:maincls.mainTitle}). + +Der \PName{Untertitel}\ChangedAt{v2.97c}{\Class{scrbook}\and + \Class{scrreprt}\and \Class{scrartcl}} wird in der über das Element +\FontElement{subtitle}\IndexFontElement{subtitle} eingestellten Schrift knapp +unter dem Titel ausgegeben. Die Voreinstellung, die +\autoref{tab:maincls.titlefonts}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.titlefonts}}% +\ zu entnehmen ist, kann mit Hilfe der Anweisungen \Macro{setkomafont} und +\Macro{addtokomafont} (siehe \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) verändert werden. + +\IfCommon{maincls}{% +\begin{table} + \centering + \caption{Schriftvoreinstellungen für die Elemente des Titels} + \begin{tabular}{ll} + \toprule + Element-Name & Voreinstellung \\ + \midrule + \FontElement{subject} & + \Macro{normalfont}\Macro{normalcolor}\Macro{bfseries}\Macro{Large} \\ + \FontElement{title} & \Macro{usekomafont}\PParameter{disposition} \\ + \FontElement{subtitle} & + \Macro{usekomafont}\PParameter{title}\Macro{large} \\ + \bottomrule + \end{tabular} + \label{tab:maincls.titlefonts} +\end{table}} + +Unter dem \PName{Untertitel} folgt der \PName{Autor}\Index[indexmain]{Autor}. +Es kann auch durchaus mehr als ein Autor innerhalb des Arguments von +\Macro{author} angegeben werden. Die Autoren sind dann mit \Macro{and} +voneinander zu trennen. + +Unter dem Autor oder den Autoren folgt das Datum\Index{Datum}. +Dabei ist das aktuelle Datum, \Macro{today}\IndexCmd{today}, +voreingestellt. Es kann jedoch mit \Macro{date} eine beliebige +Angabe -- auch ein leere -- erreicht werden. + +Als Letztes folgt schließlich der +\PName{Herausgeber}\Index[indexmain]{Herausgeber}. Selbstverständlich +kann diese Anweisung auch für andere Angaben geringer Wichtigkeit +verwendet werden. Notfalls kann durch Verwendung einer \Macro{parbox} +über die gesamte Seitenbreite auch erreicht werden, dass diese Angabe +nicht zentriert, sondern im Blocksatz gesetzt wird. Sie ist dann als +Äquivalent zum Kopf zu betrachten. Dabei ist jedoch zu beachten, +dass sie oberhalb von eventuell vorhandenen Fußnoten ausgegeben wird. + +Fußnoten\Index{Fussnoten=Fußnoten} werden auf der Titelseite nicht mit +\Macro{footnote}, sondern mit der Anweisung \Macro{thanks} erzeugt. Sie dienen +in der Regel für Anmerkungen bei den Autoren. Als Fußnotenzeichen werden dabei +Symbole statt Zahlen verwendet. Es ist zu beachten, dass \Macro{thanks} +innerhalb des Arguments einer der übrigen Anweisungen, beispielsweise im +Argument \PName{Autor} der Anweisung \Macro{author} zu verwenden ist. + +Bis auf den \PName{Kopf} und eventuelle Fußnoten werden alle Ausgaben +horizontal zentriert. Diese Angaben sind noch einmal kurz zusammengefasst in +\autoref{tab:maincls.mainTitle}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.mainTitle} }% +\ zu finden. + +\IfCommon{maincls}{\begin{table} + \centering + \caption[Der Haupttitel]{Schriftgröße und horizontale + Ausrichtung der Elemente der Haupttitelseite in der Reihenfolge + ihrer vertikalen Position von oben nach unten bei Verwendung von + \Macro{maketitle}} + \begin{tabular}{llll} + \toprule + Element & Anweisung & Schrift & Satz \\ + \midrule + Seitenkopf & \Macro{titlehead} & \Macro{normalsize} & Blocksatz \\ + Typisierung & \Macro{subject} & \Macro{usekomafont}\PParameter{subject} + & zentriert \\ + Titel & \Macro{title} & + \Macro{huge}\Macro{usekomafont}\PParameter{title} & zentriert \\ + Untertitel & \Macro{subtitle} & + \Macro{usekomafont}\PParameter{subtitle} & zentriert \\ + Autoren & \Macro{author} & \Macro{Large} & zentriert \\ + Datum & \Macro{date} & \Macro{Large} & zentriert \\ + Herausgeber & \Macro{publishers} & \Macro{Large} & zentriert \\ + \bottomrule + \end{tabular} + \label{tab:maincls.mainTitle} +\end{table}} + +\begin{Example} + Nehmen wir nun einmal an, Sie schreiben eine Diplomarbeit. Dabei sei + vorgegeben, dass die Titelseite oben linksbündig das Institut + einschließlich Adresse und rechtsbündig das Semester wiedergibt. Wie + üblich ist ein Titel einschließlich Autor und Abgabedatum zu setzen. + Außerdem soll der Betreuer angegeben und zu erkennen sein, dass es + sich um eine Diplomarbeit handelt. Sie könnten das wie folgt + erreichen: +\ifCommonmaincls + \iffree{}{\newpage}% Umbruchkorrektur +\begin{lstcode} + \documentclass{scrbook} + \usepackage{ngerman} + \begin{document} + \titlehead{{\Large Universit"at Schlauenheim + \hfill SS~2001\\} + Institut f"ur Raumkr"ummung\\ + Hochschulstra"se~12\\ + 34567 Schlauenheim} + \subject{Diplomarbeit} + \title{Digitale Raumsimulation mit dem DSP\,56004} + \subtitle{Klein aber fein?} + \author{cand. stup. Uli Ungenau} + \date{30. Februar 2001} + \publishers{Betreut durch Prof. Dr. rer. stup. Naseweis} + \maketitle + \end{document} +\end{lstcode} +\else +\begin{lstcode} + \documentclass{book} + \usepackage[extendedfeature=title]{scrextend} + \usepackage{ngerman} + \begin{document} + \titlehead{{\Large Universit"at Schlauenheim + \hfill SS~2001\\} + Institut f"ur Raumkr"ummung\\ + Hochschulstra"se~12\\ + 34567 Schlauenheim} + \subject{Diplomarbeit} + \title{Digitale Raumsimulation mit dem DSP\,56004} + \subtitle{Klein aber fein?} + \author{cand. stup. Uli Ungenau} + \date{30. Februar 2001} + \publishers{Betreut durch Prof. Dr. rer. stup. + Naseweis} + \maketitle + \end{document} +\end{lstcode} +\fi +\end{Example} + +\begin{Explain} + Ein häufiges Missverständnis betrifft die Bedeutung der + Haupttitelseite. Irrtümlich wird oft angenommen, es handle sich dabei um den + Buchumschlag oder Buchdeckel. Daher wird häufig erwartet, dass die + Titelseite nicht den Randvorgaben für doppelseitige Satzspiegel gehorcht, + sondern rechts und links gleich große Ränder besitzt. Nimmt man jedoch + einmal ein Buch zur Hand und klappt es auf, trifft man sehr schnell auf + mindestens eine Titelseite unter dem Buchdeckel innerhalb des so genannten + Buchblocks. Genau diese Titelseiten werden mit \Macro{maketitle} + gesetzt. Wie beim Schmutztitel handelt es sich also auch bei der + Haupttitelseite um eine Seite innerhalb des Buchblocks, die deshalb dem + Satzspiegel des gesamten Dokuments gehorcht. Überhaupt ist ein Buchdeckel, + das \emph{Cover}, etwas, was man in einem getrennten Dokument + erstellt. Schließlich hat er oft eine sehr individuelle Gestalt. Es spricht + auch nichts dagegen, hierfür ein Grafik- oder DTP-Programm zu Hilfe zu + nehmen. Ein getrenntes Dokument sollte auch deshalb verwendet werden, weil + es später auf ein anderes Druckmedium, etwa Karton, und möglicherweise mit + einem anderen Drucker ausgegeben werden soll. +\end{Explain} +% +\EndIndex{Cmd}{titlehead}% +\EndIndex{Cmd}{subject}% +\EndIndex{Cmd}{title}% +\EndIndex{Cmd}{subtitle}% +\EndIndex{Cmd}{author}% +\EndIndex{Cmd}{date}% +\EndIndex{Cmd}{publishers}% +\EndIndex{Cmd}{and}% +\EndIndex{Cmd}{thanks}% + + +\begin{Declaration} + \Macro{uppertitleback}\Parameter{Titelrückseitenkopf}\\ + \Macro{lowertitleback}\Parameter{Titelrückseitenfuß} +\end{Declaration}% +\BeginIndex{Cmd}{uppertitleback}% +\BeginIndex{Cmd}{lowertitleback}% +Im doppelseitigen Druck bleibt bei den Standardklassen die Rückseite des +Blatts mit der Titelseite leer. Bei {\KOMAScript} lässt sich die Rückseite der +Haupttitelseite hingegen für weitere Angaben nutzen. Dabei wird zwischen genau +zwei Elementen unterschieden, die der Anwender frei gestalten kann: dem +\PName{Titelrückseitenkopf}\Index{Titel>Rueckseite=Rückseite} und dem +\PName{Titelrückseitenfuß}. Dabei kann der Kopf bis zum Fuß reichen und +umgekehrt. \iffree{Nimmt man diese Anleitung als Beispiel, so wurde der + Haftungsausschluss mit Hilfe von \Macro{uppertitleback} + gesetzt.}{Beispielsweise hätte man die Verlagsinformationen zu diesem Buch + wahlweise mit \Macro{uppertitleback} oder \Macro{lowertitleback} setzen + können.}% +% +\EndIndex{Cmd}{uppertitleback}% +\EndIndex{Cmd}{lowertitleback}% + + +\begin{Declaration} + \Macro{dedication}\Parameter{Widmung} +\end{Declaration}% +\BeginIndex{Cmd}{dedication}% +{\KOMAScript} bietet eine eigene Widmungsseite. Diese +Widmung\Index{Widmung} wird zentriert und in etwas größerer Schrift +gesetzt. Die Rückseite ist wie bei der Seite mit dem Schmutztitel +grundsätzlich leer. Die Widmungsseite wird zusammen mit der restlichen +Titelei mit \Macro{maketitle} ausgegeben und muss daher vor dieser +Anweisung definiert sein. + +\begin{Example} + Nehmen wir dieses Mal an, dass Sie einen Gedichtband schreiben, den + Sie Ihrer Frau widmen wollen. Das könnte wie folgt aussehen: +\ifCommonmaincls +\begin{lstcode} + \documentclass{scrbook} + \usepackage{ngerman} + \begin{document} + \extratitle{\textbf{\Huge In Liebe}} + \title{In Liebe} + \author{Prinz Eisenherz} + \date{1412} + \lowertitleback{Dieser Gedichtband wurde mit Hilfe + von {\KOMAScript} und {\LaTeX} gesetzt.} + \uppertitleback{Selbstverlach\par + Auf"|lage: 1 Exemplar} + \dedication{Meinem Schnuckelchen\\ + in ewiger Liebe\\ + von Deinem Hasenboppelchen.} + \maketitle + \end{document} +\end{lstcode} +\else +\begin{lstcode} + \documentclass{book} + \usepackage[extendedfeature=title]{scrextend} + \usepackage{ngerman} + \begin{document} + \extratitle{% + \textbf{\Huge In Liebe}} + \title{In Liebe} + \author{Prinz Eisenherz} + \date{1412} + \lowertitleback{% + Dieser Gedichtband wurde mit Hilfe von + {\KOMAScript} und {\LaTeX} gesetzt.} + \uppertitleback{% + Selbstverlach\par + Auf"|lage: 1 Exemplar} + \dedication{% + Meinem Schnuckelchen\\ + in ewiger Liebe\\ + von Deinem Hasenboppelchen.} + \maketitle + \end{document} +\end{lstcode} +\fi + Ich bitte, die Kosenamen entsprechend Ihren Vorlieben zu ersetzen. +\end{Example} +% +\EndIndex{Cmd}{dedication}% +% +\EndIndex{Cmd}{maketitle}% +% +\EndIndex{}{Titel} +\fi% IgnoreThis + +\or %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<15>> + +\section{Schlauer Spruch} +\label{sec:\csname label@base\endcsname.dictum}% +\ifshortversion\IgnoreThisfalse\IfNotCommon{maincls}{\IgnoreThistrue}\fi% +\ifIgnoreThis +Es gilt sinngemäß, was in \autoref{sec:maincls.dictum} geschrieben +wurde. \IfCommon{scrextend}{Allerdings werden von \Package{scrextend} die + Anweisungen \Macro{setchapterpreamble} und \Macro{setpartpreamble} nicht + definiert. Ob die verwendete Klasse eine entsprechende Anweisung bietet, ist + der Anleitung zur jeweiligen Klasse zu entnehmen.} +\else +\BeginIndex{}{Spruch}% +\BeginIndex{}{Zitat}% +\BeginIndex{}{Redewendung}% + +Ein häufiger anzutreffendes Element ist ein Zitat oder eine Redewendung, die +rechtsbündig unter oder über einer Überschrift gesetzt wird. Dabei werden der +Spruch selbst und der Quellennachweis in der Regel speziell formatiert. + + +\begin{Declaration} + \Macro{dictum}\OParameter{Urheber}\Parameter{Spruch}\\ + \Macro{dictumwidth}\\ + \Macro{dictumauthorformat}\Parameter{Urheber}\\ + \Macro{raggeddictum}\\ + \Macro{raggeddictumtext}\\ + \Macro{raggeddictumauthor} +\end{Declaration}% +\BeginIndex{Cmd}{dictum}% +\BeginIndex{Cmd}{dictumwidth}% +\BeginIndex{Cmd}{dictumauthorformat}% +\BeginIndex{Cmd}{raggeddictum}% +\BeginIndex{Cmd}{raggeddictumtext}% +\BeginIndex{Cmd}{raggeddictumauthor}% +Ein solcher Spruch kann mit der Anweisung \Macro{dictum} gesetzt werden. % +\IfCommon{maincls}{Bei \KOMAScript-Klassen wird für Kapitel oder die Teile + empfohlen, \Macro{dictum} als obligatorisches Argument einer der Anweisungen + \Macro{setchapterpreamble} oder \Macro{setpartpreamble} (siehe + \autoref{sec:maincls.structure}, + \autopageref{desc:maincls.cmd.setchapterpreamble}) zu verwenden. Dies ist + jedoch nicht zwingend.\par}% +Der Spruch wird zusammen mit einem optional anzugebenden \PName{Urheber} in +einer \Macro{parbox}\IndexCmd{parbox} (siehe \cite{latex:usrguide}) der Breite +\Macro{dictumwidth} gesetzt. Dabei ist \Macro{dictumwidth} keine Länge, die +mit \Macro{setlength} gesetzt wird. Es handelt sich um ein Makro, das mit +\Macro{renewcommand} umdefiniert werden kann. Vordefiniert ist +\lstinline;0.3333\textwidth;, also ein Drittel der jeweiligen Textbreite. Die +Box selbst wird mit der Anweisung \Macro{raggeddictum} +ausgerichtet. Voreingestellt ist dabei +\Macro{raggedleft}\IndexCmd{raggedleft}, also rechtsbündig. +\Macro{raggeddictum} kann mit Hilfe von \Macro{renewcommand} umdefiniert +werden. + +Innerhalb der Box wird der \PName{Spruch} mit \Macro{raggeddictumtext} +angeordnet. Voreingestellt ist hier \Macro{raggedright}\IndexCmd{raggedright}, +also linksbündig. Eine Umdefinierung ist auch hier mit \Macro{renewcommand} +möglich. Die Ausgabe erfolgt in der für Element \FontElement{dictumtext} +eingestellten Schriftart, die mit den Anweisungen \Macro{setkomafont} und +\Macro{addtokomafont} (siehe \autoref{sec:\csname + label@base\endcsname.textmarkup}, \autopageref{desc:\csname + label@base\endcsname.cmd.setkomafont}) geändert werden kann. Die +Voreinstellung entnehmen Sie bitte \autoref{tab:maincls.dictumfont}% +\IfNotCommon{maincls}{, \autopageref{tab:maincls.dictumfont}}% +. + +Ist ein \PName{Urheber} angegeben, so wird dieser mit einer Linie über die +gesamte Breite der \Macro{parbox} vom \PName{Spruch} abgetrennt. Mit +\Macro{raggeddictumauthor} wird die Ausrichtung vorgenommen. Voreingestellt +ist \Macro{raggedleft}. Auch diese Anweisung kann mit \Macro{renewcommand} +umdefiniert werden. Die Ausgabe erfolgt in der Form, die mit +\Macro{dictumauthorformat} festgelegt ist. Das Makro erwartet schlicht den +\Macro{Urheber} als Argument. In der Voreinstellung ist +\Macro{dictumauthorformat} als +\begin{lstcode}[aboveskip={1ex plus 2ex},belowskip={1ex plus 2ex}] + \newcommand*{\dictumauthorformat}[1]{(#1)} +\end{lstcode} +definiert. Der \PName{Urheber} wird also in runde Klammern gesetzt. Für das +Element \PName{dictumauthor} kann dabei eine Abweichung der Schrift von der +des Elementes \PName{dictumtext} definiert werden. Die Voreinstellung +entnehmen Sie bitte \autoref{tab:maincls.dictumfont}. Eine Änderung ist mit +Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} (siehe +\autoref{sec:\csname label@base\endcsname.textmarkup}, +\autopageref{desc:\csname label@base\endcsname.cmd.setkomafont}) möglich.% +% +\ifCommonmaincls +\begin{table} + \centering% + \caption{Schriftvoreinstellungen für die Elemente des Spruchs} + \begin{tabular}{ll} + \toprule + Element & Voreinstellung \\ + \midrule + \FontElement{dictumtext} & + \Macro{normalfont}\Macro{normalcolor}\Macro{sffamily}\Macro{small}\\ + \FontElement{dictumauthor} & + \Macro{itshape}\\ + \bottomrule + \end{tabular} + \label{tab:maincls.dictumfont} +\end{table} + +Wird \Macro{dictum} innerhalb der Anweisung \Macro{setchapterpreamble} oder +\Macro{setpartpreamble} (siehe \autoref{sec:maincls.structure}, +\autopageref{desc:maincls.cmd.setchapterpreamble}) verwendet, so ist +Folgendes zu beachten: Die horizontale Anordnung erfolgt immer mit +\Macro{raggeddictum}. Das optionale Argument zur horizontalen Anordnung, das +die beiden Anweisungen vorsehen, bleibt daher ohne Wirkung. \Macro{textwidth} +ist nicht die Breite des gesamten Textkörpers, sondern die aktuelle +Textbreite. Ist also die Breite \Macro{dictumwidth} als +\lstinline;.5\textwidth; definiert und bei \Macro{setchapterpreamble} wird als +optionales Argument für die Breite ebenfalls \lstinline;.5\textwidth; +angegeben, so erfolgt die Ausgabe in einer Box, deren Breite ein Viertel der +Breite des Textkörpers ist. Es wird empfohlen, bei Verwendung von +\Macro{dictum} auf die optionale Angabe einer Breite bei +\Macro{setchapterpreamble} oder \Macro{setpartpreamble} zu verzichten. + +Sollen mehrere schlaue Sprüche untereinander gesetzt werden, so sollten diese +durch einen zusätzlichen Abstand vertikal voneinander abgesetzt werden. Ein +solcher kann leicht mit der Anweisung \Macro{bigskip}\IndexCmd{bigskip} +gesetzt werden. + +\begin{Example} + Sie schreiben ein Kapitel über die moderne Ehe. Dabei wollen sie in der + Präambel zur Kapitelüberschrift einen schlauen Spruch setzen. Dieser soll + unter der Überschrift erscheinen. Also schreiben Sie: + \begin{lstcode} + \setchapterpreamble[u]{% + \dictum[Schiller]{Drum prüfe, + wer sich ewig bindet \dots}} + \chapter{Die moderne Ehe} + \end{lstcode} + Die Ausgabe erfolgt dann in der Form: + \begin{ShowOutput} + {\usekomafont{disposition}\usekomafont{chapter}% + 17\enskip Die moderne Ehe\par} + \vspace{\baselineskip} + \dictum[Schiller]{Drum prüfe, wer sich ewig bindet \dots} + \end{ShowOutput} + + Wenn Sie wollen, dass nicht ein Drittel, sondern nur ein Viertel der + verfügbaren Textbreite für den Spruch verwendet wird, so definieren Sie + \Macro{dictumwidth} wie folgt um: + \begin{lstcode} + \renewcommand*{\dictumwidth}{.25\textwidth} + \end{lstcode} +\end{Example} + +An dieser Stelle sei noch auf das Paket~\cite{package:ragged2e} hingewiesen, +mit dem man Flattersatz mit Trennung erreichen kann.% +\fi +% +\EndIndex{Cmd}{dictum}% +\EndIndex{Cmd}{dictumwidth}% +\EndIndex{Cmd}{dictumauthorformat}% +\EndIndex{Cmd}{raggeddictum}% +\EndIndex{Cmd}{raggeddictumtext}% +\EndIndex{Cmd}{raggeddictumauthor}% +% +\EndIndex{}{Redewendung}% +\EndIndex{}{Zitat}% +\EndIndex{}{Spruch}% +\fi % IgnoreThis + +\else %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <<Error>> + +\ClassError{scrguide}{No commen part \the\value{commonpar}\space known}{} + +\fi + +%%% Local Variables: +%%% mode: latex +%%% coding: iso-latin-1 +%%% TeX-master: "../guide" +%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex index cce91366963..5fb9a757d58 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/tocbasic.tex @@ -38,7 +38,7 @@ %% standard classes created by The LaTeX3 Project 1994-1996. %% %%% From File: tocbasic.dtx -\def\tocbasicversion{2009/01/01 v3.02} +\def\tocbasicversion{2009/01/20 v3.02a} \ProvidesFile{tocbasic.tex} [\tocbasicversion (manual)% diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex index 057354beab2..6fc1f87ef3f 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/english/typearea.tex @@ -45,53 +45,100 @@ % % ====================================================================== -\ProvidesFile{typearea.tex}[2008/07/10 KOMA-Script guide (chapter: typearea)] +\ProvidesFile{typearea.tex}[2009/01/02 KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug} % Date of translated german file: 2006-11-29 +% Updated: 2008-01-02 \chapter{Construction of the Page Layout with \Package{typearea}} \labelbase{typearea} -\textsc{Note:} Following commands are still missing in this chapter: -\Macro{KOMAoptions}, \Macro{KOMAoption}, \Macro{recalctypearea}. - -\textsc{Note:} Following options are still missing in this chapter: -\OptionValue{BCOR}{current}, \OptionValue{twoside}{semi}, -\KOption{headheight}\PName{height}, \OptionValue{pagesize}{automedia}. +%\textsc{Note:} Following commands are still missing in this chapter: +%\Macro{KOMAoptions}, \Macro{KOMAoption}, \Macro{recalctypearea}. +% +%\textsc{Note:} Following options are still missing in this chapter: +%\OptionValue{BCOR}{current}, \OptionValue{twoside}{semi}, +%\KOption{headheight}\PName{height}, \OptionValue{pagesize}{automedia}. +% +%% Done 2 Jan: sections 2.1, 2.2, 2.3 +%% section 2.4 skipped +%% Done 3 Jan: parts of section 2.5 +%% \OptionValue{BCOR}{current} +%% \OptionValue{twoside}{semi} +%% \OptionValue{headheight}{height} +%% Done 4 Jan: completed section 2.5 +%% \OptionValue{areaset} +%% section 2.4 (common.tex) +%% section 2.6 +%% \OptionValue{pagesize}{automedia} +%% section 2.7 + +Many {\LaTeX} classes, including the standard classes, present the user +with the largely fixed configuration of margins and typearea. With the +standard classes, the configuration determined is very much dependent +on the chosen font size. There do exist separate packages, such as +\Package{geometry}\IndexPackage{geometry} (see +\cite{package:geometry}), which give the user complete control, but +also full responsibility, for the settings of typearea and margins. + +\KOMAScript{} takes a somewhat different approach with its +\Package{typearea} package. Here the user is given several +construction setting and automatization possibilities based on +established typography standards in order to help guide him or her in +making a good choice. + +It should be noted that the \Package{typearea} package makes use of +the \Package{scrbase} package. The latter is explained in the expert +section \iffree{of this document}{of this book} in +\autoref{cha:scrbase} from \autopageref{cha:scrbase} onwards. The +majority of the rules documented there are however not directed at the +user, but rather at class- and package authors. \section{Fundamentals of Page Layout} +\label{sec:typearea.basics} \begin{Explain} If you look at a single page of a book or other printed materials, - you will see that it consists of top, foot, left and right margins, - a (running) head area, the text block and a (running) foot area. - Looking closer, there is space between the head area and the text - block and between the text block and the foot area. The relations - between these areas are called the \emph{page layout}. - - The literature offers and discusses different algorithms and - heuristic approaches for constructing a good page layout. Often, + you will see that it consists of top, bottom, left and right + margins, a (running) head area, the text block and a (running) foot + area. There is also a space between the head area and the text + block, and between the text block and the foot area. The relations + between these areas are called the \emph{page + layout}.\Index[indexmain]{page layout} + +%% +%% GH: sollte man schon Hinweise zum Buch hineinarbeiten? Auskommentiert? +%% \ifx\BUCH\undefined\cite{DANTE:TK0402:MJK}\else(siehe +%% \autoref{cha:typeareaconstruction})\fi + The literature contains much discussion of different algorithms and + heuristic approaches for constructing a good page layout. Often mentioned is an approach which involves diagonals and their - intersections. The result is a page where the text block - proportions are related to the proportions of the \emph{page}. In a + intersections. The result is a page where the text block proportions + are related to the proportions of the \emph{page}. In a single-sided document, the left and the right margin should have - equal widths. - The relation of the upper margin to the lower margin should - be 1\(:\)2. In a double-sided document (e.\,g. a book) however, - the complete inner margin (the margin at the spine) should be the same as - each of the two outer margins. - - In the previous paragraph, we mentioned and emphasized the - \emph{page}. Erroneously, it is often thought that the format of - the page means the format of the paper. However, if you look at - a bound document, it is obvious that part of the paper vanishes in - the binding and that is not part of the visible page. It is not the format of - the paper which is important in the layout of a page, it is the - impression of the visible page to the reader. Therefore, it is - clear that the calculation of the page layout must account for the - ``lost'' paper in the binding and add this amount to the width of - the inner margin. This is called the \emph{binding correction}. + equal widths. The relation of the upper margin to the lower margin + should be 1\(:\)2. In a double-sided document\Index{double-sided} + (e.\,g. a book) however, the complete inner margin (the margin at + the spine) should be the same as each of the two outer margins; in + other words, a single page contributes only half of the inner + margin. + + In the previous paragraph, we mentioned and emphasized \emph{the + page}. Erroneously, it is often thought that with the page format + the page is also meant the paper format.\Index[indexmain]{paper + format} However, if you look at a bound document, it is obvious + that part of the paper vanishes in the + binding\Index[indexmain]{binding} and is no longer part of the + visible page. For the page layout, it is not the format of the paper + which is important, it is the impression of the visible page to the + reader. Therefore, it is clear that the calculation of the page + layout must account for the ``lost'' paper in the binding and add + this amount to the width of the inner margin. This is called the + \emph{binding correction}.\Index[indexmain]{binding correction} The + binding correction is therefore calculated as part of the + \emph{gutter}\Index[indexmain]{gutter}, not however of the visible + inner margin. The binding correction depends on the process of actually producing the document and thus cannot be calculated in general. @@ -106,85 +153,112 @@ text block. Once we know one of these values, we can calculate all the other values from the paper format and the page format or the binding correction. - \begin{eqnarray*} - \Var{textblock~height} : \Var{textblock~width} &=& - \Var{page~height} : \Var{page~width}\\ + \begin{align*} + \Var{textblock~height} \Index{textblock height} : \Var{textblock~width} &= + \Var{page~height}\Index{page} : \Var{page~width}\\ + \Var{top~margin}\Index{margin} : \Var{foot~margin} &= + \text{1} : \text{2} \\ % - \Var{page~width} &=& \Var{paper~width} - \Var{binding~correction}\\ + \Var{left~margin} : \Var{right~margin} &= \text{1} : \text{1} \\ % - \Var{top~margin} + \Var{foot~margin} &=& + \Var{half~inner~margin} : \Var{outer~margin} &= \text{1} : \text{2} \\ +% + \Var{page~width} &= + \Var{paper~width}\Index{paper} - + \Var{binding~correction}\Index{binding correction}\\ +% + \Var{top~margin} + \Var{bottom~margin} &= \Var{page~height} - \Var{textblock~height} \\ % - \Var{top~margin} : \Var{foot~margin} &=& 1 : 2 \\ + \Var{left~margin} + \Var{right~margin} &= + \Var{page~width} - \Var{textblock~width} \\ % - \Var{left~margin} : \Var{right~margin} &=& 1 : 1 \\ + \Var{half~inner~margin} + \Var{outer~margin} &= + \Var{page~width} - \Var{textblock~width} \\ % - \Var{half~inner~margin} &=& - \frac{1}{2}\Var{outer~margin} + \Var{binding~correction} \\ - \end{eqnarray*} - The values \Var{left~margin} and \Var{right~margin} only - exist in a single-sided document while \Var{inner~margin} and - \Var{outer~margin} only exist in a double-sided document. In - these equations, we work with \Var{half~inner~margin} since the full - inner margin belongs to a double-page. Thus, one page has half of - the inner margin. + \Var{half~inner~margin} + \Var{binding~correction} &= + \Var{gutter}\Index{gutter} + \end{align*} + \Index[indexmain]{margin}% + The values \Var{left~margin} and \Var{right~margin} only exist in a + single-sided document while \Var{half~inner~margin} and + \Var{outer~margin} only exist in a double-sided document. In these + equations, we work with \Var{half~inner~margin} since the full inner + margin belongs to a double-page. Thus, one page has only half of the + inner margin, \Var{half~inner~margin}. The question of the width of the textblock is also discussed in the literature. The optimum width depends on several factors: \begin{itemize} - \item size, width, type of the used font % !!! - \item line spacing % !!! + \item size, width, type of the font used + \item line spacing \item word length \item available room \end{itemize} - The importance of the font becomes clear once you think about - serifs. Serifs are fine lines % !!! - finishing off the letters. Letters whose main strokes run - orthogonal to the text line disturb the flow more than they - lead the eye along the line. Those letters have serifs at - the ends of the vertical strokes, however, so the horizontal serifs - lead the eye horizontally too. In addition, it helps the eye to - find the beginning of the next line. Thus, the line length for a - serif font can be slightly longer than for a sans serif font. - - In {\LaTeX}, the line spacing is about 20\% of the font - size. With commands like \Macro{linespread} or, better, packages like - \Package{setspace}, the line spacing can be changed. A wider line - spacing helps the eye to follow the line. A very wide line - spacing, on the other hand, disturbs reading because the eye has - to move a wide distance between lines. Also, the reader gets - uncomfortable because of the visible stripe effect. The uniform - gray value of the page gets spoiled. Still, with a wider line - spacing, the lines can be longer. - - The literature gives different values for good line lengths, depending - on the author. To some extent, this is due to the native language - of the author. Since the eye jumps from word to word, short words - make this task easier. Not considering language and font, a line - length of 60 to 70 letters, including spaces and - punctuation, is a usable compromise. This requires well-chosen line - spacing, but {\LaTeX}'s default is usually good enough. - - Before looking at the actual construction of the page layout, - there are some minor things to know. {\LaTeX} doesn't start the - first line of the text block at the upper edge of the text block, - but with a defined distance from it. Also, {\LaTeX} knows the commands - \Macro{raggedbottom} and \Macro{flushbottom}. \Macro{raggedbottom} - specifies that the last line of a page should be positioned - wherever it was calculated. This means that the position of this - line can be different on each page, up to the height of one line. - In double-sided documents this is usually undesirable. - \Macro{flushbottom} makes sure that the last line is always at the - lower edge of the text block. To achieve this, {\LaTeX} sometimes - needs to stretch vertical glue more than allowed. Paragraph skip - is such a stretchable, vertical glue, even when set to zero. In - order to not stretch the paragraph skip on normal pages where it - is the only stretchable glue, the height of the text block should - be a multiple of the height of the text line, including the - distance from the upper edge of the text block to the first line. + The importance of the font becomes clear once you think about the + meaning of serifs. Serifs\Index[indexmain]{serifs} are fine strokes + finishing off the lines of the letters. Letters whose main strokes + run orthogonal to the text line disturb the flow rather than keeping + and leading the eye along the line. Those letters then have serifs + at the ends of the vertical strokes so that the horizontal serifs + can help lead the eye horizontally. In addition, they help the eye + to find the beginning of the next line more quickly. Thus, the line + length for a serif font can be slightly longer than for a sans serif + font. + + With leading\Index[indexmain]{leading} is meant the vertical + distance between individual lines of text. In {\LaTeX}, the leading + is set at about 20\% of the font size. With commands like + \Macro{linespread}\IndexCmd{linespread} or, better, packages like + \Package{setspace}\IndexPackage{setspace} (see + \cite{package:setspace}), the leading can be changed. A wider + leading helps the eye to follow the line. A very wide leading, on + the other hand, disturbs reading because the eye has to move a wide + distance between lines. Also, the reader becomes uncomfortable + because of the visible stripe effect. The uniform gray value of the + page is thereby spoiled. Still, with a wider leading, the lines can + be longer. + + The literature gives different values for good line + lengths\Index[indexmain]{line length}, depending on the author. To + some extent, this is related to the native language of the + author. Since the eye jumps from word to word, short words make this + task easier. Considering all languages and fonts, a line length of + 60 to 70 characters, including spaces and punctuation, forms a + usable compromise. This requires well-chosen leading, but {\LaTeX}'s + default is usually good enough. Longer line lengths should only be + considered for highly-developed readers who spend several hours + daily reading. However, even for such, line lengths greater than 80 + characters are unsuitable. In any case, the leading must be + appropriately chosen. An extra 5\% to 10\% are recommended as a good + rule of thumb. With fonts such as Palatino, which require some 5\% + more leading even at normal line lengths, even more can be + required. + + Before looking at the actual construction of the page layout, there + are just some minor things left to know. {\LaTeX} does not start the + first line in the text block of a page at the upper edge of the text + block, but sets the baseline at a defined distance from the top of + the text block. Also, {\LaTeX} knows the commands + \Macro{raggedbottom}\IndexCmd{raggedbottom} and + \Macro{flushbottom}\IndexCmd{flushbottom}. \Macro{raggedbottom} + specifies that the last line of a page should be positioned wherever + it was calculated. This means that the position of this line can be + different on each page, up to the height of one line\,---\,in + combination of the end of the page with titles, figures, tables or + similar, even more. In double-sided documents this is usually + undesirable. \Macro{flushbottom} makes sure that the last line is + always at the lower edge of the text block. To achieve this, + {\LaTeX} sometimes needs to stretch vertical glue more than + allowed. Paragraph skip is such a stretchable, vertical glue, even + when set to zero. In order to not stretch the paragraph skip on + normal pages where it is the only stretchable glue, the height of + the text block should be set to a multiple of the height of the text + line, including the distance from the upper edge of the text block + to the first line. This concludes the introduction to page layout as handled by - {\KOMAScript}. Now, we can begin with the actual construction.\par + {\KOMAScript}. Now, we can begin with the actual construction. \end{Explain} @@ -192,40 +266,92 @@ \label{sec:typearea.divConstruction} \begin{Explain} - The easiest way to make sure that the text area has the same - ratios as the page is as follows: First, you subtract the - binding correction \Var{BCOR} from the inner edge of the paper. - Then you divide the rest of the page vertically into - \Var{DIV} rows of equal height. Next, you divide the page - horizontally into the same number (\Var{DIV}) of columns. Then you - take the uppermost row as the upper margin and the two lowermost - rows as the lower margin. If you print double-sided, you also take - the innermost column as the inner margin and the two outermost - columns as the outer margin. Then, you add the binding correction - \Var{BCOR} to the inner margin. The remainder of - the page is the text area. The width and the height of the text area result - automatically from the number of rows and columns \Var{DIV}. Since - the margins always need three rows/columns, \Var{DIV} must - be necessarily greater than three. In order that the text area occupy at - least twice as much space as the margins, \Var{DIV} should really be equal - to or greater than 9. With this value, the construction is known as the - \emph{classical division factor of 9}. + The easiest way to make sure that the text area has the same ratios + as the page is as follows: first, one subtracts the part \Var{BCOR}, + required for the binding correction\Index{binding correction}, from + the inner edge of the paper, and divides the rest of the page + vertically into \Var{DIV} rows of equal height; next, one divides + the page horizontally into the same number (\Var{DIV}) of columns; + then, one takes the uppermost row as the upper margin and the two + lowermost rows as the lower margin (if one is printing double-sided, + one must similarly take the innermost column as the inner margin and + the two outermost columns as the outer margin); then, one adds the + binding correction \Var{BCOR} to the inner margin. What now remains + of the page is the text area.\Index{text area} The width and the + height of the text area and margins result automatically from the + number of rows and columns \Var{DIV}. Since the margins always need + three stripes, \Var{DIV} must be necessarily greater than three. In + order that the text area occupy at least twice as much space as the + margins, \Var{DIV} should really be equal to or greater than 9. With + this value, the construction is also known as the \emph{classical + division factor of 9} (see \autoref{fig:typearea.nineparts}). + + \begin{figure} + \centering + \setlength{\unitlength}{.25mm} + \definecolor{komalight}{gray}{.75} + \definecolor{komamed}{gray}{.6} + \definecolor{komadark}{gray}{.3} + \begin{picture}(420,297) + % BCOR + \put(198,0){\color{komalight}\rule{24\unitlength}{297\unitlength}} + \multiput(198,2)(0,20){15}{\thinlines\line(0,1){10}} + \multiput(222,2)(0,20){15}{\thinlines\line(0,1){10}} + % the paper + \put(0,0){\thicklines\framebox(420,297){}} +% \put(210,0){\thicklines\framebox(210,297){}} + % the page layout + \put(44,66){\color{komamed}\rule{132\unitlength}{198\unitlength}} + \put(244,66){\color{komamed}\rule{132\unitlength}{198\unitlength}} + % helper lines + \multiput(0,33)(0,33){8}{\thinlines\line(1,0){198}} + \multiput(222,33)(0,33){8}{\thinlines\line(1,0){198}} + \multiput(22,0)(22,0){8}{\thinlines\line(0,1){297}} + \multiput(244,0)(22,0){8}{\thinlines\line(0,1){297}} + % annotations + \put(198,0){\color{white}\makebox(24,297)[c]{% + \rotatebox[origin=c]{-90}{binding correction}}} + \put(44,66){\color{white}\makebox(132,198)[c]{page layout left}} + \put(244,66){\color{white}\makebox(132,198)[c]{page layout right}} + % box numbers + \makeatletter + \multiput(1,27)(0,33){9}{\footnotesize\makebox(0,0)[l]{\the\@multicnt}} + \multiput(177,291)(-22,0){9}{% + \footnotesize\makebox(0,0)[l]{\the\@multicnt}} + \multiput(419,27)(0,33){9}{% + \footnotesize\makebox(0,0)[r]{\the\@multicnt}} + \multiput(243,291)(22,0){8}{% + \footnotesize\makebox(0,0)[r]{\the\numexpr\@multicnt+1\relax}} + \makeatother + \end{picture} + \caption{Double-sided layout with the box construction of the classical division factor of 9, after subtraction of a binding correction} + \label{fig:typearea.nineparts} + \end{figure} In {\KOMAScript}, this kind of construction is implemented in the - \Package{typearea} package. For A4 paper, \Var{DIV} is predefined - according to the font size (see \autoref{tab:typearea.div}). If there is - no binding correction (\(\Var{BCOR} = 0\Unit{pt}\)), the results - roughly match the values of \autoref{tab:typearea.typearea}. - - In addition to the predefined values, you can specify \Var{BCOR} - and \Var{DIV} as options when loading the package (see - \autoref{sec:typearea.options}). There is also a command to - explicitly calculate the type area by providing these values as - parameters (also see \autoref{sec:typearea.options}). - - The \Package{typearea} package can determine the optimal value - of \Var{DIV} for the font used automatically. Again, see - \autoref{sec:typearea.options}.\par + \Package{typearea} package, where the bottom margin may drop any + fractions of a line in order to conform with the minor condition for + the text area height mentioned in the previous paragraph, and + thereby to minimize the mentioned problem with + \Macro{flushbottom}. For A4 paper, \Var{DIV} is predefined according + to the font size (see \autoref{tab:typearea.div}, + \autopageref{tab:typearea.div}). If there is no binding correction + (\(\Var{BCOR} = 0\Unit{pt}\)), the results roughly match the values + of \autoref{tab:typearea.typearea}, + \autopageref{tab:typearea.typearea}. + + In addition to the predefined values, one can specify \Var{BCOR} and + \Var{DIV} as options when loading the package (see + \autoref{sec:typearea.options}, from + \autopageref{sec:typearea.typearea} onwards). There is also a + command to explicitly calculate the type area by providing these + values as parameters (also see \autoref{sec:typearea.options}, + \autopageref{desc:typearea.cmd.typearea}). + + The \Package{typearea} package can automatically determine the + optimal value of \Var{DIV} for the font and leading used. + Again, see \autoref{sec:typearea.options}, + \autopageref{desc:typearea.option.DIV.calc}. \end{Explain} @@ -233,407 +359,417 @@ \label{sec:typearea.circleConstruction} \begin{Explain} - In addition to the construction method previously described, a somewhat more - classical method can be found in the literature. The aim of this method is - not only identical ratios in the page proportions, but it is considered - optimal when the height of the text block is the same the width of the - page. The exact method is described in \cite{JTsch87}. - - A disadvantage of this late Dark Ages method is that the width of - the text area is no longer dependent on the font. Thus, one - doesn't choose the text area to match the font, but the author or - typesetter has to choose the font according to the text area. This - can be considered a ``must''. + In addition to the page layout construction\Index{page layout} + method previously described, a somewhat more classical method can be + found in the literature. The aim of this method is not only to + obtain identical ratios in the page proportions, but it is + considered optimal when the height of the text block is the same as + the width of the page. The exact method is described in + \cite{JTsch87}. + + A disadvantage of this late Middle Age method is that the width of + the text area is no longer dependent on the font. Thus, one doesn't + choose the text area to match the font, but the author or typesetter + has to choose the font according to the text area. This can be + considered a ``must''. In the \Package{typearea} package this construction is changed slightly. By using a special (normally meaningless) \Var{DIV} value or a special package option, a \Var{DIV} value is chosen to match - the perfect values as closely as possible. See also - \autoref{sec:typearea.options}.\par + the perfect values of the late Middle Age method as closely as + possible. See also \autoref{sec:typearea.options}, + \autopageref{desc:typearea.option.DIV.calc}. \end{Explain} +\LoadCommon{0} \section{Options and Macros to Influence the Page Layout} -\label{sec:typearea.options} +\label{sec:typearea.typearea} The package \Package{typearea} offers two different user interfaces to -influence type area construction. The first method is to load the -package with options. For information on how to load packages and to -give package options, please refer to the {\LaTeX} literature, e.\,g. -\cite{lshort} and \cite{latex:usrguide}, or the examples given here. -Since the \Package{typearea} package is loaded automatically when -using the {\KOMAScript} main classes, the package options can be given -as class options (see \autoref{sec:maincls.options}). - - -\begin{Declaration} - \KOption{twoside}\PName{value} -\end{Declaration}% -\BeginIndex{Option}{twoside~=\PName{value}}% -These two options have the same effect as in the standard classes. -The option \Option{oneside} defines a one-sided document layout with a -one-sided page layout. This means in particular that normally a ragged -page bottom is used. - -The option \Option{twoside} defines a two-sided document layout with a -two-sided page layout. This means that the {\LaTeX} command -\Macro{flushbottom}\IndexCmd{flushbottom} is used to ensure that page -breaks don't leave a variable empty space at the bottom of a page. A -ragged page bottom can be obtained with the {\LaTeX} command -\Macro{raggedbottom}\IndexCmd{raggedbottom}. -% -\EndIndex{Option}{twoside~=\PName{value}}% - - -\begin{Declaration} - \KOption{twocolumn}\PName{switch} -\end{Declaration}% -\BeginIndex{Option}{twocolumn~=\PName{switch}}% -These values of the option (see \autoref{tab:truefalseswitch}, -\autopageref{tab:truefalseswitch}) have the same effect like the standard -options \Option{twocolumn} and \Option{onecolumn}. They are used to switch -between a one-column and a two-column layout. The standard {\LaTeX} -capabilities for multi-column layout are only useful for very simple uses. The -standard package \Package{multicol} is much more versatile (see -\cite{package:multicol}).\Index{columns}\IndexPackage{multicol}% -\EndIndex{Option}{twocolumn~=\PName{switch}} - -\begin{table} - \begin{minipage}{\textwidth} - \centering - \caption{Standard values for simple switches within \KOMAScript} - \begin{tabular}{ll} - Value & Description \\\hline\\[-1.75ex] - \PValue{true}\footnote{This value will be used also, if you use the option - without assigning any value.} & activates the option \\ - \PValue{on} & activates the option \\ - \PValue{false}& deactivates the option \\ - \PValue{off} & deactivates the option \\ - \end{tabular} - \label{tab:truefalseswitch} - \end{minipage} -\end{table} +influence type area construction. The more important method is to load +the package with options. For information on how to load packages and +to give package options, please refer to the {\LaTeX} literature, +e.\,g. \cite{lshort} and \cite{latex:usrguide}, or the examples given +here. Since the \Package{typearea} package is loaded automatically +when using the {\KOMAScript} main classes, the package options can be +given as class options (see \autoref{sec:maincls.options}). + +In this section the \Class{protocol} class will be used, not an +existing {\KOMAScript} class but a hypothetical one. This\iffree{ + documentation}{ book} assumes that ideally there exists a class for +every specific task. +\BeginIndex{Option}{BCOR~=\PName{value}}% \begin{Declaration} - \KOption{BCOR}\PName{Correction} + \KOption{BCOR}\PName{correction} \end{Declaration}% -\BeginIndex{Option}{BCOR~=\PName{value}}% -With the \KOption{BCOR}\PName{Correction} option you specify the -absolute value of the binding correction, i.\,e., the width of the area -that is used for the binding, thus ``lost'' from the paper width. - -This value will be used in the layout calculation automatically and -will be added to the inner or left margin respectively. You can use -any valid {\TeX} unit for \PName{Correction}. +With the aid of the option +\KOption{BCOR}\PName{correction}\ChangedAt{v3.00}{\Package{typearea}} +one may specify the absolute value of the binding +correction\Index{binding correction}, i.\,e., the width of the area +which will be lost from the paper width in the binding process. This +value is then automatically taken into account in the page layout +construction and in the final output is added to the inner (or the +left) margin. For the \PName{correction} specification any measurement +unit understood by \TeX{} is valid. \begin{Example} - Assume you want to produce a financial report, which is to be printed on A4 - paper and bound in a folder. The rim of the folder covers - \(7.5\Unit{mm}\). Since the report is thin, only an additional - \(0.75\Unit{mm}\) are lost by folding when leafing through the pages. You - would use the following commands: -\begin{lstlisting} + Assume one is creating a financial report, which should be printed + out single-sided on A4 paper, and finally kept in a clamp + folder. The clamp will hide 7.5\Unit{mm}. The stack of pages is very + thin, thus through paging at most another 0.75\Unit{mm} will be + lost. Therefore, one may write: +\begin{lstcode} \documentclass[a4paper]{report} \usepackage[BCOR=8.25mm]{typearea} -\end{lstlisting} - or, using a {\KOMAScript} class: -\begin{lstlisting} - \documentclass[a4paper,BCOR=8.25mm]{scrreprt} -\end{lstlisting} +\end{lstcode} + or +\begin{lstcode} + \documentclass[a4paper,BCOR=8.25mm]{report} + \usepackage{typearea} +\end{lstcode} + when using \Option{BCOR} as a global option. + + When using a {\KOMAScript} class, the explicit loading of the + \Package{typearea} package can be omitted: + \begin{lstcode} + \documentclass[BCOR=8.25mm]{scrreprt} + \end{lstcode} + The option \Option{a4paper} could be omittied with \Class{scrreprt}, + since this is a predefined setting for all {\KOMAScript} classes. + + If the option is only later set to a new value, one may then use, + for example, the following: + \begin{lstcode} + \documentclass{scrreprt} + \KOMAoptions{BCOR=8.25mm} + \end{lstcode} + Thus, at the loading of the \Class{scrreprt} class standard settings + will be used. When changing the setting with the use of the command + \Macro{KOMAoptions} or \Macro{KOMAoption} a new page layout with new + margins will automatically be calculated. \end{Example} -Please note: if you use one of the {\KOMAScript} classes, this option -must be given as a class option. If you use another class, this only -works if the class has explicit support for typearea. So when using -the standard classes, you need to give the option when you load -\Package{typearea}. You can also use \Macro{PassOptionsToPackage} -(see \cite{latex:clsguide}) before you are loading -\Package{typearea}, this always works. +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. The \Package{typearea} package should neither be +loaded explicitly with \Macro{usepackage} when using a {\KOMAScript} +class, nor should the option be given as an optional argument +thereto. If the option is changed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the package, the textblock and +margins are automatically recalculated anew.% % \EndIndex{Option}{BCOR~=\PName{value}} +\BeginIndex{Option}{DIV~=\PName{value}}% \begin{Declaration} \KOption{DIV}\PName{Factor} \end{Declaration}% -\BeginIndex{Option}{DIV}% -\KOption{DIV}\PName{Factor} defines the number of stripes the page -is split into when the page layout is constructed. The exact -method can be found in \autoref{sec:typearea.divConstruction}, -but the most important thing is this: the higher \PName{Factor}, the -bigger the resulting text area, and the smaller the margins. For -\PName{Factor}, you can use any integer value larger than 4. -Please note that depending on your other options a very high value -for \PName{Factor} can result in problems: for instance, in -extreme cases, the running title might be outside the actual page -area. So if you use \KOption{DIV}\PName{Factor}, it is your own -responsibility to choose a typographically acceptable line length -and to pay attention to the other parameters. - -In \autoref{tab:typearea.typearea} you'll find some page layout -values for the page format A4 without binding correction, with -varying \Var{DIV} factors. Font size is not taken into account. +With the aid of the option +\KOption{DIV}\PName{Factor}\ChangedAt{v3.00}{\Package{typearea}} the +number of stripes into which the page is divided horizontally and +vertically during the page layout construction is set. The exact +construction method is found in +\autoref{sec:typearea.divConstruction}. Of importance is that the +larger the \PName{Factor}, the larger the text block and the smaller +the margins. Any integer value greater than 4 is valid for +\PName{Factor}. Please note that large values can lead to +unfulfillment of various minor conditions in the type-area, depending +on further options chosen. Thus, in an extreme case, the header may +fall outside of the page. Users applying the option +\KOption{DIV}\PName{Factor} are themselves responsible for fulfillmen +of the marginal conditions and setting of a typographically aesthetic +line length. + +In \autoref{tab:typearea.typearea} are found the type-area sizes for +several \Var{DIV} factors for A4 page without binding correction. Here +the minor conditions dependent on font size are not considered. \begin{table} \centering - \caption{Page layout values depending on \Var{DIV} for A4} + \caption{Type-area dimensions dependent on \Var{DIV} for A4} \begin{tabular}{ccccc} \toprule - & \multicolumn{2}{c|}{Text area} & \multicolumn{2}{c}{Margins}\\ - \emph{DIV}& Width [mm] & Height [mm] & upper [mm] & inner [mm] \\ + & + \multicolumn{2}{c}{Type-area} & \multicolumn{2}{c}{Margins}\\ + %\raisebox{1.5ex}[0pt]{ + \Var{DIV} + %} + & + width [mm] & height [mm] & top [mm] & inner [mm] \\ \midrule - 6 & 105.00 & 148.50 & 49.50 & 35.00 \\ - 7 & 120.00 & 169.71 & 42.43 & 30.00 \\ - 8 & 131.25 & 185.63 & 37.13 & 26.25 \\ - 9 & 140.00 & 198.00 & 33.00 & 23.33 \\ - 10 & 147.00 & 207.90 & 29.70 & 21.00 \\ - 11 & 152.73 & 216.00 & 27.00 & 19.09 \\ - 12 & 157.50 & 222.75 & 24.75 & 17.50 \\ - 13 & 161.54 & 228.46 & 22.85 & 16.15 \\ - 14 & 165.00 & 233.36 & 21.21 & 15.00 \\ - 15 & 168.00 & 237.60 & 19.80 & 14.00 \\ + 6 & 105,00 & 148,50 & 49,50 & 35,00 \\ + 7 & 120,00 & 169,71 & 42,43 & 30,00 \\ + 8 & 131,25 & 185,63 & 37,13 & 26,25 \\ + 9 & 140,00 & 198,00 & 33,00 & 23,33 \\ + 10 & 147,00 & 207,90 & 29,70 & 21,00 \\ + 11 & 152,73 & 216,00 & 27,00 & 19,09 \\ + 12 & 157,50 & 222,75 & 24,75 & 17,50 \\ + 13 & 161,54 & 228,46 & 22,85 & 16,15 \\ + 14 & 165,00 & 233,36 & 21,21 & 15,00 \\ + 15 & 168,00 & 237,60 & 19,80 & 14,00 \\ \bottomrule \end{tabular} \label{tab:typearea.typearea} \end{table} +\iffree{}{\clearpage}% \begin{Example} - Imagine you are writing meeting minutes with the - \Class{protocol}\footnote{The class \Class{protocol} is - hypothetical. This manual considers the ideal case where you have - a special class for every use.} class. The whole thing is supposed to - be double-sided. In your company, the Bookman font in 12\Unit{pt} - is used. This standard PostScript font is activated in {\LaTeX} - with the command \Macro{usepackage}\Parameter{bookman}. Bookman runs very - wide, that means, the characters are wide in relation to its - height. Because of that, the default for the \Var{DIV} value in - \Package{typearea} is too small for you. Instead of 12, you want 15. - The minutes will not be bound but punched and filed into a folder, - so you don't need any binding correction. Thus, you write: -\begin{lstlisting} - \documentclass[a4paper,twoside]{protocol} - \usepackage{bookman} - \usepackage[DIV=15]{typearea} -\end{lstlisting} -After you are done you are told that the minutes will be collected and bound -as a book at the end of the year. The binding will be a simple glue binding -carried out in a copy shop, since it is done just for ISO\,9000 anyway and -nobody will ever bother to look at the minutes again. For binding you need -\(12\Unit{mm}\) in average. So you change the options for \Package{typearea} -accordingly and use the ISO\,9000 document class: -\begin{lstlisting} + Assume one wants to write a meeting protocol, using the + \Class{protocol} class. The document should be double-sided. In the + company 12\Unit{pt} Bookman font is used. This font, which belongs + to the standard PostScript fonts, is activated in {\LaTeX} with the + command \verb|\usepackage{bookman}|. The Bookman font is a very + wide font, meaning that the individual characters have a large width + relative to their height. Therefore, the predefined value for + \Var{DIV} in \Package{typearea} is insufficient. Instead of the + value of 12 it appears after thorough study of this entire chapter + that a value of 15 should be most suitable. The protocol will not + be bound but punched and kept in a folder. Thus, no binding + correction is necessary. One may then write: + \begin{lstcode} + \documentclass[a4paper,twoside]{protocol} + \usepackage{bookman} + \usepackage[DIV=15]{typearea} + \end{lstcode} + On completion, it is decided that the protocols will from now on be + collected and bound quarterly into book format. The binding is to be + a simple glue binding, because it is only done to conform with + ISO\,9000 and nobody is actually going to read them. For the binding + including space lost in turning the pages, an average of 12\Unit{mm} + is required. Thus, one may change the options of the + \Package{typearea} package accordingly, and use the class for + protocols conforming to ISO\,9000 regulations: + \begin{lstcode} \documentclass[a4paper,twoside]{iso9000p} \usepackage{bookman} \usepackage[DIV=15,BCOR=12mm]{typearea} -\end{lstlisting} - Of course, you can also use a {\KOMAScript} class here: -\begin{lstlisting} +\end{lstcode} + Of course, it is equally possible to use here a {\KOMAScript} class: +\begin{lstcode} \documentclass[twoside,DIV=15,BCOR=12mm]{scrartcl} \usepackage{bookman} -\end{lstlisting} - The option \Option{a4paper} was omitted using class \Class{scrartcl}, - because it is the default for all {\KOMAScript} classes. +\end{lstcode} +The \Option{a4paper} option can be left out when using the +\Class{scrartcl} class, as it is predefined in all {\KOMAScript} +classes. \end{Example} -% -Please note: if you use one of the {\KOMAScript} classes, \Option{BCOR} must -be given as a class option. If you use another class, this only works if the -class has explicit support for typearea. So when using the standard classes, -you need to give \Option{BCOR} when you load \Package{typearea}. You can use -\Macro{PassOptionsToPackage} (see \cite{latex:clsguide}) too before you are -loading \Package{typearea}, this always works. -% -\EndIndex{Option}{DIV} +Please note that when using the \Option{DIV} option with one of the +{\KOMAScript} classes as in the example above, it must be used either +as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. The \Package{typearea} +package should neither be loaded explicitly with \Macro{usepackage} +when using a {\KOMAScript} class, nor should the option be given as an +optional argument thereto. If the option is changed via +\Macro{KOMAoptions} or \Macro{KOMAoption} after loading the package, +the textblock and margins are automatically recalculated anew.% + +\BeginIndex{Option}{DIV~=classic}% +\BeginIndex{Option}{DIV~=calc}% \begin{Declaration} - \Option{DIV=calc}\\ - \Option{DIV=classic} + \OptionValue{DIV}{calc}\\ + \OptionValue{DIV}{classic} \end{Declaration}% -\BeginIndex{Option}{DIV~=calc}% -\BeginIndex{Option}{DIV~=classic}% -As mentioned in \autoref{sec:typearea.divConstruction}, only -paper format A4 has fixed defaults for the \Var{DIV} value. These -are listed in \autoref{tab:typearea.div}. If you choose a -different paper format, \Package{typearea} calculates a good -\Var{DIV} value itself. Of course, you can also have it calculate -that for A4: use \Option{DIV=calc} instead of -\KOption{DIV}\PName{Factor}. This works for all other paper formats -as well. If you want to use the automatic calculation, this is -even very useful, since you can then override the defaults that -are given in a configuration file (see -\autoref{sec:typearea.cfg}) with this option. +As\ChangedAt{v3.00}{\Package{typearea}} already mentioned in +\autoref{sec:typearea.divConstruction}, for A4 paper there are fixed +predefined settings for the \Var{DIV} value. These can be found in +\autoref{tab:typearea.div}. If a different paper format is chosen, +then the \Package{typearea} package independently calculates an +appropriate \Var{DIV} value. Of course this same calculation can be +applied also to A4. To obtain this result, one simply uses the +\OptionValue{DIV}{calc} option in place of the +\KOption{DIV}\PName{Factor} option. This option can just as easily be +explicity given for other paper formats. If one desires an automatic +calculation, this also makes good sense, since the possibility exists +to configure different predefined settings in a configuration file +(see \autoref{sec:typearea-experts.cfg}). An explicit passing of the +\OptionValue{DIV}{calc} option then overwrites such configuration +settings. \begin{table} \centering - \caption{\label{tab:typearea.div}\PName{DIV} defaults for A4} + \caption{\label{tab:typearea.div}Predefined settings of \PName{DIV} for A4} \begin{tabular}{lccc} \toprule - Base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ + base font size: & 10\Unit{pt} & 11\Unit{pt} & 12\Unit{pt} \\ \Var{DIV}: & 8 & 10 & 12 \\ \bottomrule \end{tabular} \end{table} -The classic construction method as described in -\autoref{sec:typearea.circleConstruction} can also be selected -(with the difference that a good \Var{DIV} value is chosen). In -this case, instead of \KOption{DIV}\PName{Factor} or -\Option{DIV=calc}, use the option \Option{DIV=classic}. +The classical page layout construction, the Middle Age book design +canon, mentioned in \autoref{sec:typearea.circleConstruction}, is +similarly selectable. Instead of the \KOption{DIV}\PName{Faktor} or +\OptionValue{DIV}{calc} option, one may use the +\OptionValue{DIV}{classic} option. A \Var{DIV} value closest to the +Middle Age book design canon is then chosen. \begin{Example} - In the example for \KOption{DIV}\PName{Factor} which used the - Bookman font, there was the problem that we needed a \Var{DIV} - value which suited the font better. As a modification of the first - example, this calculation can be left to \Package{typearea}: -\begin{lstlisting} + In the example using the Bookman font with the + \KOption{DIV}\PName{Factor} option, exactly that problem of choosing + a more appropriate \Var{DIV} value for the font arose. As a + variation on that example, one could simply leave the choice of such + a value to the \Package{typearea} package: +\begin{lstcode} \documentclass[a4paper,twoside]{protocol} \usepackage{bookman} \usepackage[DIV=calc]{typearea} -\end{lstlisting} +\end{lstcode} \end{Example} +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. The \Package{typearea} package should neither be +loaded explicitly with \Macro{usepackage} when using a {\KOMAScript} +class, nor should the option be given as an optional argument +thereto. If the option is changed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the package, the textblock and +margins are automatically recalculated anew.% +% +\EndIndex{Option}{DIV~=classic}% +\EndIndex{Option}{DIV~=calc}% +\BeginIndex{Option}{DIV~=current}% +\BeginIndex{Option}{DIV~=last}% \begin{Declaration} - \Macro{typearea}\OParameter{BCOR}\Parameter{DIV} + \OptionValue{DIV}{current}\\ + \OptionValue{DIV}{last} \end{Declaration}% -\BeginIndex{Cmd}{typearea}% -If you followed the examples till here, you'll ask yourself how -one can make the calculation of \Var{DIV} depend on the selected -font when one uses one of the {\KOMAScript} classes. In that case the -options to \Package{typearea} would have to be made before loading -the e.\,g. \Package{bookman} package. So -\Package{typearea} could only calculate the page layout for the -standard font, but not for the Bookman font which is really -to be used. Therefore, after evaluating the options, \Package{typearea} -calculates the page layout by using the -\Macro{typearea}\OParameter{BCOR}\Parameter{DIV} command. Here, -the chosen \Var{BCOR} value is given as an optional parameter and -\Var{DIV} as a parameter. With the option \Option{DIV=calc}, the -(normally invalid) value~\(1\) is given; with the option -\Option{DIV=classic} the (normally invalid) value~\(3\). You can -also call \Macro{typearea} explicitly in the preamble. +Readers\ChangedAt{v3.00}{\Package{typearea}} who have followed the +examples with acuity actually already know how to calculate a +\Var{DIV} value dependent on the chosen font, when a {\KOMAScript} +class is used together with a font package. + +\begin{Explain} + The problem is that the {\KOMAScript} class already loads the + \Package{typearea} package itself. Thus, it is not possible to pass + options as optional arguments to \Macro{usepackage}. It would also + be pointless to pass the \OptionValue{DIV}{calc} option as an + optional argument to \Macro{documentclass}. This option would be + evaluated immediately on loading the \Package{typearea} package and + as a result the text block and margin would be chosen according to + the {\LaTeX} standard font and not for the later loaded + font. However, it is quite possible to recalculate the text block + and margins anew after loading the font, with the aid of + \Macro{KOMAoptions}\PParameter{DIV=calc} or + \Macro{KOMAoption}\PParameter{DIV}\PParameter{calc}. Via + \PValue{calc} an appropriate \Var{DIV} value for an good line length + is then chosen. + + As it is often more practical to set the \Option{DIV} option not + after loading the font, but at a more visible point, such as when + loading the class, the \Package{typearea} package offers two further + symbolic valies for this option. +\end{Explain} + +With \KOption{DIV}\PName{current}\ChangedAt{v3.00}{\Package{typearea}} +a renewed calculation of text block and margin is requested, in which +the currently-set \Var{DIV} will be used. This is less of interest for +renewed type-area calculations after loading a different font; it is +rather more useful for determining, for example, after changing the +leading, while keeping \Var{DIV} the same, that the marginal condition +is fulfilled that \Length{textheight} less +\Length{topskip} is a multiple of \Length{baselineskip}. + +With \KOption{DIV}\PName{last}\ChangedAt{v3.00}{\Package{typearea}} a +renewed calculation of text block and margin is requested, where +exactly the same setting is used as in the last calculation. \begin{Example} - Let us assume again that we want to calculate a good page layout for the - Bookman font. We also want to use a {\KOMAScript} class. This is possible - using the \Macro{typearea} command with \Option{DIV=calc} = 1 as - \PName{DIV} parameter: -\begin{lstlisting} + Let us take up the previous example again, in which a good line + length is required for a type-area using the Bookman font. At the + same time, a {\KOMAScript} class is to be used. This is easily + possible using the symbolic value \PValue{last} and the command + \Macro{KOMAoptions}: +\begin{lstcode} \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl} \usepackage{bookman} - \typearea[12mm]{1}% same as class options above -\end{lstlisting} - Again option \Option{a4paper} was not used explicitly, because it's the - default of the {\KOMAScript} class \Class{scrartcl}. + \KOMAoptions{DIV=last} +\end{lstcode} +If it should later be decided that a different \Var{DIV} value is +required, then only the setting of the optional argument to +\Macro{documentclass} need be changed. \end{Example} -It would be ridiculous if one had to use the -\Macro{typearea} command with some pseudo-values, while the -\Option{DIV} option allows the use of \Option{DIV=calc} and -\Option{DIV=classic}. Thus the \Macro{typearea} also accepts -symbolic values for the parameter \PName{DIV} which are listed in -\autoref{tab:symbolicDIV}. +A summary of all possible symbolic values for the \Option{DIV} option +can be founf in \autoref{tab:symbolicDIV}. At this point it is noted +that the use of the \Package{fontenc}\IndexPackage{fontenc} package +can also lead to \LaTeX{} loading a different font. \begin{table} - \caption[{Available symbolic \PName{DIV} values for - \Macro{typearea}}]{Available symbolic \PName{DIV} values for + \caption[{Symbolic values for the \Option{DIV} option and the + \PName{DIV} argument to \Macro{typearea}}]{Possible symbolic values for the \Option{DIV} option or the \PName{DIV} argument to \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} \label{tab:symbolicDIV} \begin{desctabular} - \pventry{calc}{re-calculate page layout and determine \Var{DIV}.}% - \pventry{classic}{re-calculate page layout using the classical method - (circle).}% - \pventry{current}{re-calculate page layout with current value of - \Var{DIV}.}% - \pventry{default}{re-calculate page layout with default values for the - current page and font size. If no default values exist, apply - \PValue{calc}.}% - \pventry{last}{re-calculate page layout using the same - \PName{DIV} argument, which was set last time.}% + \pventry{areaset}{Recalculate page + layout.\IndexOption{DIV~=areaset}}% + \pventry{calc}{Recalculate type-area including choice of + appropriate \Var{DIV} value.\IndexOption{DIV~=calc}}% + \pventry{classic}{Recalculate type-area using Middle Age book + design canon (circle-based + calculation).\IndexOption{DIV~=classic}}% + \pventry{current}{Recalculate type-area using current \Var{DIV} + value.\IndexOption{DIV~=current}}% + \pventry{default}{Recalculate type-area using the standard value + for the current page format and current font size. If no + standard value exists, \PValue{calc} is + used.\IndexOption{DIV~=default}}% + \pventry{last}{Recalculate type-area using the same \PName{DIV} + argument as was used in the last call.\IndexOption{DIV~=last}}% \end{desctabular} \end{table} -The \Macro{typearea} also understands the symbolic values for the parameter -\PName{BCOR} shown in \autoref{tab:symbolicBCOR}. Thus it is not neccesary to -re-enter the current value. - -\begin{table} - \caption[{Available symbolic \PName{BCOR} values for - \Macro{typearea}}]{Available symbolic \PName{BCOR} values for - \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} - \label{tab:symbolicBCOR} - \begin{desctabular} - \pventry{current}{Re-calculate page layout using the current value for - \Var{BCOR}.}% - \end{desctabular} -\end{table} - -\begin{Example} - Thus calculating a good page layout for the Bookman font and a - {\KOMAScript} class is easy when we use symbolic parameter values for - \PName{BCOR} and \PName{DIV}: -\begin{lstlisting} - \documentclass[BCOR=12mm,DIV=calc,twoside]{scrartcl} - \usepackage{bookman} - \typearea[current]{calc} -\end{lstlisting} - If we want to use a fixed value for \Var{DIV} we can use either: -\begin{lstlisting} - \documentclass[BCOR=12mm,DIV=11,twoside]{scrartcl} - \usepackage{bookman} - \typearea[current]{last} -\end{lstlisting} - or the old method: -\begin{lstlisting} - \documentclass[a4paper,twoside]{scrartcl} - \usepackage{bookman} - \typearea[12mm]{11} -\end{lstlisting} - In the end it is a matter of personal taste which of these solutions you want - to use. -\end{Example} - -Frequently the re-calculation of the page layout is necessary -because the line spacing was changed. Since it is essential that -an integer number of lines fit into the text area, any change in -line spacing requires a re-calculation of page layout. - +Often the renewed type-area calculation is required in combination +with a change in the line spacing +(\emph{leading})\Index{leading}. Since the type-area should be +calculated such that an integer number of lines fit in the text block, +a change in the leading normally requires a recalculation of the page +layout. + \begin{Example} - Assume you want to write a thesis and university regulations require a font - size of 10\Unit{pt} with one and a half line spacing. {\LaTeX} uses by - default a line spacing of 2\Unit{pt} at font size 10\Unit{pt} (a line - spacing of 1.2). Thus a stretch-factor of 1.25 is required. Let us also - assume that binding correction needs 12\Unit{mm}. Then you might use: -\begin{lstlisting} - \documentclass[10pt,twoside,% - BCOR=12mm,DIV=calc]{scrreprt} + For a thesis document, a font of size 10\Unit{pt} and a spacing of + 1.5 lines is required. By default, {\LaTeX} sets the leading for + 10\Unit{pt} at 2\Unit{pt}, in other words 1.2 lines. Therefore, an + additional stretch factor of 1.25 is needed. Additionally, a binding + correction of \(12\Unit{mm}\) is stipulated. Then the solution could be + written as follows: +\begin{lstcode} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \linespread{1.25} - \typearea[current]{last} -\end{lstlisting}\IndexCmd{linespread} - \Macro{typearea} automaticly calls \Macro{normalsize}. So it is not - neccessary to use \Macro{selectfont} after \Macro{linespread} to activate - the changed line spacing before re-calculation of the page layout. - - The same example again, using the \Package{setspace} package (see - \cite{package:setspace}): -\begin{lstlisting} - \documentclass[10pt,twoside,% - BCOR=12mm,DIV=calc]{scrreprt} + \KOMAoptions{DIV=last} +\end{lstcode}\IndexCmd{linespread} +Since \Package{typearea} always executes the command +\Macro{normalsize} itself upon calculation of a new type-area, it is +not necessary to activate the chosen leading with \Macro{selectfont} +after \Macro{linespread}, sicne this will be used already in the +recalculation. + +When using the \Package{setspace} package (see +\cite{package:setspace}), the same example would appear as follows: +\begin{lstcode} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \usepackage{setspace} \onehalfspacing - \typearea[current]{last} -\end{lstlisting} - Using the \Package{setspace} package simplifies things, because you no - longer need to calculate the correct stretch-factor, and you no longer need - the \Macro{selectfont} macro. - - In this context it is appropriate to point out that the line spacing should - be reset for the title page. A complete example therefore would look like - this: -\begin{lstlisting} - \documentclass[10pt,twoside,% - BCOR=12mm,DIV=calc]{scrreprt} + \KOMAoptions{DIV=last} +\end{lstcode} +As can be seen, with the use of the \Package{setspace} package one no +longer neesds to know the correct stretch value. + +At this point it should be noted that the line spacing for the title +page should be reset to the normal value. +\iffalse% Umbruchkorrektur + A complete example would be: +\fi +\begin{lstcode} + \documentclass[10pt,twoside,BCOR=12mm,DIV=calc]{scrreprt} \usepackage{setspace} \onehalfspacing - \typearea[current]{last} + \KOMAoptions{DIV=last} \begin{document} \title{Title} \author{Markus Kohm} @@ -643,204 +779,453 @@ line spacing requires a re-calculation of page layout. \end{spacing} \chapter{Ok} \end{document} -\end{lstlisting} - See also the notes in \autoref{sec:typearea.tips}. +\end{lstcode} + See further also the notes in \autoref{sec:typearea.tips}. \end{Example} +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. The \Package{typearea} package should neither be +loaded explicitly with \Macro{usepackage} when using a {\KOMAScript} +class, nor should the option be given as an optional argument +thereto. If the option is changed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the package, the textblock and +margins are automatically recalculated anew.% +% +\EndIndex{Option}{DIV~=current}% +\EndIndex{Option}{DIV~=last}% +\EndIndex{Option}{DIV~=\PName{value}} + +\BeginIndex{Cmd}{typearea}% +\BeginIndex{Cmd}{recalctypearea}% +\begin{Declaration} + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}\\ + \Macro{recalctypearea} +\end{Declaration}% \begin{Explain} - The command \Macro{typearea} is currently defined in such a way that it is - possible to change the page layout in the middle of a text. This however - makes assumptions about the inner workings of the {\LaTeX} kernel and changes - some internal values and definitions of that kernel. There is some - probability, but no guarantee that this will also work in future versions of - {\LaTeX}. It must be assumed that this method will not give correct results - in {\LaTeX}3. However, as author of {\KOMAScript} I expect considerable - incompatibilities when we change to {\LaTeX}3.% -\end{Explain}% -\EndIndex{Cmd}{typearea}% -\EndIndex{Option}{DIV~=classic}% -\EndIndex{Option}{DIV~=calc}% + If the \Option{DIV} option or the \Option{BCOR} option is set after + loading of the \Package{typearea} package, then internally the + command \Macro{typearea} is called. When setting the \Option{DIV} + option the symbolic value \PValue{current} is used internally for + \PName{BCOR}, which for reasons of completeness is found also in + \autoref{tab:symbolicBCOR}. When setting the \Option{BCOR} option, + the symbolic value \PValue{last} is used internally for + \PName{DIV}. If it is instead desired that the text block and + margins should be recalculated using the symbolic value + \PValue{current} for \PName{DIV}, then + \Macro{typearea}\PParameter{current}\PParameter{current} can be used + directly. +\end{Explain} + +\begin{table} + \caption[{Symoblic \PName{BCOR} arguments for + \Macro{typearea}}]{Possible symbolic \PName{BCOR} arguments for + \Macro{typearea}\OParameter{BCOR}\Parameter{DIV}} + \label{tab:symbolicBCOR} + \begin{desctabular} + \pventry{current}{Recalculate type-area with the currently valid + \Var{BCOR} value.\IndexOption{BCOR~=current}} + \end{desctabular} +\end{table} + +If both \PName{BCOR} and \PName{DIV} need changing, then it is +recommended to use \Macro{typearea}, since then the text block and +margins are recalculated only once. With +\Macro{KOMAoptions}\PParameter{\KOption{DIV}\PName{DIV},% + \KOption{BCOR}\PName{BCOR}} the text block and margins are +recalculated once for the change to \PName{DIV} and again for the +change to \PName{BCOR}. \begin{Explain} + The command \Macro{typearea} is currently defined so as to make it + possible to change the type-area anywhere within a + document. Several assumptions about the structure of the {\LaTeX} + kernel are however made and internal definitions and sizes of the + kernel changed. There is a definite possibility, but no guarantee, + that this will continue to function in future versions of + \LaTeXe{}. When used within the document, a page break will result. +\end{Explain} + +Since \Macro{typearea}\PParameter{current}\PParameter{last} or +\Macro{KOMAoptions}\PParameter{DIV=last} are often needed for +recalculation of the type-area, there exists specially the +abbreviated command +\Macro{recalctypearea}\ChangedAt{v3.00}{\Package{typearea}}. + +\begin{Example} + If one finds the notation + \begin{lstcode} + \KOMAoptions{DIV=last} + \end{lstcode} + or + \begin{lstcode} + \typearea[current]{last} + \end{lstcode} + for the recalculation of text block and margins too complicated for + reasons of the many special characters, then one may use more simply + the following. + \begin{lstcode} + \recalctypearea + \end{lstcode} +\end{Example}% +\EndIndex{Cmd}{recalctypearea}% +\EndIndex{Cmd}{typearea} + +\BeginIndex{Option}{twoside~=\PName{switch}}% +\BeginIndex{Option}{twoside~=semi}% \begin{Declaration} - \KOption{headinclude}\PName{switch}\\ - \KOption{footinclude}\PName{switch} + \KOption{twoside}\PName{switch}\\ + \OptionValue{twoside}{semi} \end{Declaration}% +As already explained in \autoref{sec:typearea.basics}, the margin +configuration is dependent on whether the document is to be typeset +single- or double-sided. For single-sided typesetting, the left and +right margins are equally wide, whereas for double-sided printing the +inner margin of one page is only half as wide as the corresponding +outer margin. In order to implement this distinction, the +\Package{typearea} package must be given the \Option{twoside} option, +if the document is to be typeset double-sided. Being a \PName{switch}, +any of the standard values for simple switches in +\autoref{tab:truefalseswitch} are valid. If the option is passed +without a value, the value \PValue{true} is assumed, so double-sided +typesetting is carried out. Deactivation of the option leads to +single-sided typesetting. + +\begin{table} + \begin{minipage}{\textwidth} + \centering + \caption{Standard values for simple switches in \KOMAScript} + \begin{tabular}{ll} + \toprule + Value & Description \\ + \midrule + \PValue{true}\footnote{This value will be used also, if you use the option + without assigning any value.} & activates the option \\ + \PValue{on} & activates the option \\ + \PValue{yes} & activates the option \\ + \PValue{false}& deactivates the option \\ + \PValue{off} & deactivates the option \\ + \PValue{no} & deactivates the option \\ + \bottomrule + \end{tabular} + \label{tab:truefalseswitch} + \end{minipage} +\end{table} + +Apart from the values in \autoref{tab:truefalseswitch} the value +\PValue{semi}\ChangedAt{v3.00}{\Package{typearea}} can also be +given. The value \PValue{semi} results in a double-sided typesetting +with single-sided margins and single-sided, i.\ e., not alternating, +margin notes. + +The option can also be passed as class option in +\Macro{documentclass}, as package option to \Macro{usepackage}, or +even after loading of the \Package{typearea} package with the use of +per \Macro{KOMAoptions} or \Macro{KOMAoption}. Use of the option after +loading the \Package{typearea} package results automatically to a +recalculation of the type-area using \Macro{recalctypearea} (see +\autopageref{desc:typearea.cmd.recalctypearea}). If double-sided +typesetting was active before the option was set, then before the +recalculation a page break is made to the next odd page.% +% +\EndIndex{Option}{twoside~=semi}% +\EndIndex{Option}{twoside~=\PName{switch}} + +\BeginIndex{Option}{twocolumn~=\PName{switch}}% +\begin{Declaration} + \KOption{twocolumn}\PName{switch} +\end{Declaration} +For the calculation of a good type-area with the help of +\OptionValue{DIV}{calc} it is useful to know in advance if the +document is to be typeset one-column or two-column. Since the +observations about line length in \autoref{sec:typearea.basics} then +apply to each column, the width of a type-area in a two-column +document can be up to double that in a one-column document. + +To implement this difference, the \Package{typearea} package must be +told via the \Option{twocolumn} option whether the document is to be +two-column. Since this is a \PName{switch}, any of the standard values +for simple switches from \autoref{tab:truefalseswitch} is valid. If +the option is passed without a value, the value \PValue{true} is +assumed, i.\,e., two-column typesetting. Deactivation of the option +results in one-column typesetting. + +The option can also be passed as class option in +\Macro{documentclass}, as package option to \Macro{usepackage}, or +even after loading of the \Package{typearea} package with the use of +per \Macro{KOMAoptions} or \Macro{KOMAoption}. Use of the option after +loading the \Package{typearea} package results automatically to a +recalculation of the type-area using \Macro{recalctypearea} (see +\autopageref{desc:typearea.cmd.recalctypearea}).% +% +\EndIndex{Option}{twocolumn~=\PName{switch}} + + \BeginIndex{Option}{headinclude~=\PName{switch}}% \BeginIndex{Option}{footinclude~=\PName{switch}}% -So far we have discussed how the page layout is calculated and what the ratios -are between the borders and between borders and text area. However, one -important question has not been answered: What constitutes the borders? This -question appears trivial: Borders are those parts on the right, left, top and -bottom which remain empty. But this is only half of it. Borders are not always -empty. There could be marginals, for example (for the -\Macro{marginpar} command refer to \cite{lshort} or -\autoref{sec:maincls.marginNotes}). - -One could also ask, whether headers and footers belong to the upper -and lower borders or to the text. This can not be answered -unambiguously. Of course an empty footer or header belong to the -borders, since they can not be distinguished from the rest of the -border. A header or footer, that contains only a page number, will -optically appear more like border. For the optical appearance it is -not important whether headers or footers are easily recognised as such -during reading. Important is only, how a well filled page appears -when viewed out of focus. You could use the glasses of your -far-sighted grand parents, or, lacking those, adjust your vision to -infinity and look at the page with one eye only. Those wearing -spectacles will find this much easier, of course. If the footer -contains not only the page number, but other material like a copyright -notice, it will optically appear more like a part of the text body. -This needs to be taken into account when calculating text layout. - -For the header this is even more complicated. The header frequently -contains running headings \Index[indexother]{running heading}. In case of -running headings with long chapter and section titles the header lines -will be very long and appear to be part of the text body. This effect -becomes even more significant when the header contains not only the -chapter or section title but also the page number. With material on -the right and left side, the header will no longer appear as empty -border. If the length of the titles varies, the header may appear as -border on one page and as text on another. However, this pages should -not be treated differently under any circumstances, as this would lead -to jumping headers. In this case it is probably best to count the -header with the text. - -The decision is easy when text and header or footer are separated -from the text body by a line. This will give a ``closed'' -appearance and header or footer become part of the text body. -Remember: It is irrelevant that the line improves the optical -separation of text and header or footer, important is only the -appearance when viewed out of focus. +\begin{Declaration} + \KOption{headinclude}\PName{switch}\\ + \KOption{footinclude}\PName{switch} +\end{Declaration}% +\begin{Explain}% + So far we have discussed how the type-area is + calculated\Index{type-area} and what the relationship of the + margins\Index{margins} to one another and between margins and text + block. However, one important question has not been answered: What + constitutes the margins? + + At first glance the question appears trivial: Margins are those + parts on the right, left, top and bottom which remain empty. But + this is only half the story. Margins are not always empty. There may + be margin notes, for example (see \Macro{marginpar} command in + \cite{lshort} or \autoref{sec:maincls.marginNotes}). + + One could also ask, whether headers\Index{page header} and + footers\Index{page footer} belong to the upper and lower margins or + to the text. This can not be answered unambiguously. Of course an + empty footer or header belong to the margins, since they can not be + distinguished from the rest of the margin. A header or footer, that + contains only a page + number\Index[indexmain]{pagination}\footnote{Pagination refers to + the indication of the page number.}, will optically appear more + like a margin. For the optical appearance it is not important + whether headers or footers are easily recognized as such during + reading. Important is only, how a well filled page appears when + viewed \emph{out of focus}. One could use the glasses of one's + far-sighted grand parents, or, lacking those, adjust one's vision to + infinity and look at the page with one eye only. Those wearing + spectacles will find this much easier, of course. If the footer + contains not only the page number, but other material like a + copyright notice, it will optically appear more like a part of the + text body. This needs to be taken into account when calculating + text layout. + + For the header this is even more complicated. The header frequently + contains running headings \Index[indexmain]{running + headings}\footnote{Running headings refer to the repetition of a + title in titling font, which is more often typeset in the page + header, less often in the page footer.}. In case of running + headings with long chapter and section titles the header lines will + be very long and appear to be part of the text body. This effect + becomes even more significant when the header contains not only the + chapter or section title but also the page number. With material on + the right and left side, the header will no longer appear as an + empty margin. It is more difficult if the pagination is in the + footer, and the length of the titles varies, so that the header may + appear as a margin on one page and as text on another. However, + these pages should not be treated differently under any + circumstances, as this would lead to vertically jumping headers. In + this case it is probably best to count the header as part of the + text. + + The decision is easy when text and header or footer are separated + from the text body by a line. This will give a ``closed'' appearance + and header or footer become part of the text body. Remember: It is + irrelevant that the line improves the optical separation of text and + header or footer, important is only the appearance when viewed out + of focus. \end{Explain} -The \Package{typearea} package can not make the decision whether or not to -count headers and footers to the text body or the border. Options -\Option{headinclude} and \Option{footinclude} cause the header or footer to be -counted as text, options \OptionValue{headinclude}{false} and -\OptionValue{footinclude}{false} cause them to be counted as border (see -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}). If you are -unsure about the correct setting, re-read above explanations. Default is -usually \OptionValue{headinclude}{false} and -\OptionValue{footinclude}{false}, but this can change depending on -{\KOMAScript} class and {\KOMAScript} packages used (see -\autoref{sec:maincls.options} and \autoref{cha:scrpage}). +The \Package{typearea} package can not make the decision whether or +not to count headers and footers as part of the text body or the +margin. Options \Option{headinclude} and \Option{footinclude} cause +the header or footer to be counted as part of the text. These +options, being a \PName{switch}\ChangedAt{v3.00}{\Package{typearea}}, +understand the standard values for simple switches in +\autoref{tab:truefalseswitch}. One may use the options without +specifying a value, in which case the value \PValue{true} is used for +the \PName{switch}, i.\,e., the header or footer is counted as part of +the text. + +Readers who are unsure about the the correct setting should re-read +the above explanations. Default is usually +\OptionValue{headinclude}{false} and \OptionValue{footinclude}{false}, +but this can change depending on {\KOMAScript} class and {\KOMAScript} +packages used (see \autoref{sec:maincls.options} and +\autoref{cha:scrpage}). + +Please note that when using these options with one of the +{\KOMAScript} classes as in the example above, they must be used +either as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. Changing of these options +after loading the \Package{typearea} package does not result in an +automatic recalculation of the type-area. Instead, the changes only +take effect at the next recalculation of the type-area. For +recalculation of the type-area, refer to the \Option{DIV} option with +the values \PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % \EndIndex{Option}{headinclude~=\PName{switch}}% \EndIndex{Option}{footinclude~=\PName{switch}}% + +\BeginIndex{Option}{mpinclude~=\PName{switch}}% \begin{Declaration} \KOption{mpinclude}\PName{switch} \end{Declaration} -\BeginIndex{Option}{mpinclude~=\PName{switch}}% Besides\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and - \Class{scrartcl}} documents where the head and foot is part of the text -area, there are also documents where the margin-note area must be counted to -the text body as well. The option \Option{mpinclude} (see -\autoref{tab:truefalseswitch}, \autopageref{tab:truefalseswitch}) does exactly -this. The effect is that one width-unit of the text body is taken for the -margin-note area. Using option \OptionValue{mpinclude}{false}, the default -setting, then the normal margin is used for the margin-note area. The width -of that area is one or one and a half width-unit, depending on whether -one-sided or double-sided page layout has been chosen. The option -\Option{mpinclude} is mainly for experts and so not recommended. + \Class{scrartcl}} documents where the head and foot is part of the +text area, there are also documents where the margin-note area must be +counted to the text body as well. The option \Option{mpinclude} does +exactly this. The option, as a +\PName{switch}\ChangedAt{v3.00}{\Package{typearea}}, understands the +standard values for simple switches in +\autoref{tab:truefalseswitch}. One may also pass this option without +specifying a value, in which case the value \PValue{true} for +\PName{switch} is assumed. + +The effect of \OptionValue{mpinclude}{true} is that one width-unit of +the text body is taken for the margin-note area. Using option +\OptionValue{mpinclude}{false}, the default setting, then the normal +margin is used for the margin-note area. The width of that area is +one or one and a half width-unit, depending on whether one-sided or +double-sided page layout has been chosen. The option +\Option{mpinclude}{true} is mainly for experts and so not recommended. \begin{Explain} - In the cases where the option \Option{mpinclude} is used often a wider - margin-note area is required. In many cases not the whole margin-note width - should be part of the text area, for example if the margin is used for - quotations. Such quotations are typeset as ragged text with the flushed - side where the text body is. Since ragged text gives no homogeneous optical - impression the long lines can reach right into the normal margin. This can - be done using option \Option{mpinclude} and by an enlargement of length - \Length{marginparwidth} after the type area has been setup. The length can - be easily enlarged with the command \Macro{addtolength}. How much the the - length has to be enlarged depends on the special situation and it requires - some flair. Therefore the option is primarily for experts. Of course one - can setup the margin-width to reach a third right into the normal margin, - for example using - \begin{lstlisting} + In the cases where the option \Option{mpinclude} is used often a + wider margin-note area is required. In many cases not the whole + margin-note width should be part of the text area, for example if + the margin is used for quotations. Such quotations are typeset as + ragged text with the flushed side where the text body is. Since + ragged text gives no homogeneous optical impression the long lines + can reach right into the normal margin. This can be done using + option \Option{mpinclude} and by an enlargement of length + \Length{marginparwidth} after the type-area has been setup. The + length can be easily enlarged with the command \Macro{addtolength}. + How much the the length has to be enlarged depends on the special + situation and it requires some flair. This is another reason the + \Option{mpinclude} option is primarily left for experts. Of course + one can setup the margin-width to reach a third right into the + normal margin, for example using + \begin{lstcode}[belowskip=\dp\strutbox] \setlength{\marginparwidth}{1.5\marginparwidth} - \end{lstlisting} + \end{lstcode} gives the desired result. - Currently there is no option to enlarge the margin by a given amount. The - only solution is that the option \Option{mpinclude} is not used, but after - the type area has been calculated one reduces the width of the text body - \Length{textwidth} and enlarges the margin width \Length{marginparwidth} by - the same amount. Unfortunately, this can not be attended when automatic - calculation of the \PName{DIV} value is used. In contrast - \Option{DIV=calc}\IndexOption{DIV~=calc} heeds \Option{mpinclude}. + Currently there is no option to enlarge the margin by a given + amount. The only solution is to either not use the option + \Option{mpinclude} or to set \Option{mpinclude} to \PValue{false}, + and instead after the type-area has been calculated one reduces the + width of the text body \Length{textwidth} and enlarges the margin + width \Length{marginparwidth} by the same amount. Unfortunately, + this can not be combined with automatic calculation of the + \PName{DIV} value. In contrast + \Option{DIV=calc}\IndexOption{DIV~=calc} (see + \autopageref{desc:typearea.option.DIV.calc}) heeds + \Option{mpinclude}. \end{Explain} + +Please note that when using this option with one of the {\KOMAScript} +classes as in the example above, it must be used either as a class +option, or passed via \Macro{KOMAoptions} or \Macro{KOMAoption} after +loading the class. Changing of this option after loading the +\Package{typearea} package does not result in an automatic +recalculation of the type-area. Instead, the changes only take effect +at the next recalculation of the type-area. For recalculation of the +type-area, refer to the \Option{DIV} option with the values +\PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % \EndIndex{Option}{mpinclude~=\PName{switch}}% +\BeginIndex{Option}{headlines~=\PName{number}}% +\BeginIndex{Option}{headheight~=\PName{height}}% \begin{Declaration} - \KOption{headlines}\PName{value} + \KOption{headlines}\PName{number of lines}\\ + \KOption{headheight}\PName{height} \end{Declaration}% -\BeginIndex{Option}{headlines}% -We have seen how to calculate the text layout and how to specify -whether header and footer are part of the text body or the -borders. However, we still have to specify the height in -particular of the header. This is achieved with the option -\Option{headlines}, which is followed by the number of lines in -the header. \Package{typearea} uses a default of 1.25. This is a -compromise, large enough for underlined headers (see -\autoref{sec:maincls.options}) and small enough that the -relative weight of the top border is not affected too much when -the header is not underlined. Thus in most cases you may leave -\Option{headlines} at its default value and adapt it only in -special cases. +We have seen how to calculate the type-area using the +\Package{typearea} package and how to specify whether header and +footer are part of the text or the margins. However, in particular for +the header, we still have to specify the height. This is achieved with +the options \Option{headlines} and +\Option{headheight}\ChangedAt{v3.00}{\Package{typearea}}. + +The option \Option{headlines} is set to the number of header +lines. The \Package{typearea} package uses a default of 1.25. This is +a compromise, large enough for underlined headers (see +\autoref{sec:maincls.options}) and small enough that the relative +weight of the top margin is not affected too much when the header is +not underlined. Thus in most cases you may leave \Option{headlines} at +its default value and adapt it only in special cases. \begin{Example} Assume that you want to use a header with two lines. Normally this would result in a ``\texttt{overfull} \Macro{vbox}'' warning for each page. To prevent this from happening, the \Package{typearea} package is told to - calculate an appropriate page layout: -\begin{lstlisting} + calculate an appropriate type-area: +\begin{lstcode} \documentclass[a4paper]{article} \usepackage[headlines=2.1]{typearea} -\end{lstlisting} - If you use a {\KOMAScript} class this must be given as a class option: -\begin{lstlisting} +\end{lstcode} +If you use a {\KOMAScript} class it is recommended to pass this option +directly as a class option: +\begin{lstcode} \documentclass[a4paper,headlines=2.1]{scrartcl} -\end{lstlisting} - A tool that can be used to define the contents of a header with two - lines is described in \autoref{cha:scrpage}. +\end{lstcode} +Commands that can be used to define the contents of a header with two +lines are described in \autoref{cha:scrpage}. \end{Example} -If you use a {\KOMAScript} class, this option must be given as -class option. With other classes this works only, if these classes explicitly -supports \Package{typearea}. If you use the standard classes, the option must -be given when loading \Package{typearea}. \Macro{PassOptionsToPackage} will -work in both cases (see also \cite{latex:clsguide}). +In some cases it is useful to be able to specift the header height not +in lines but directly as a length measurement. This is accomplished +with the aid of the alternative option \Option{headheight}. For +\PName{height} any lengths and sizes that \LaTeX{} understands are +valid. It should be noted though that when using a \LaTeX{} length +such as \Length{baselineskip} its value at the time of the calculation +of the type-area and margins, not at the time of setting of the +option, is decisive. + +Please note that when using these options with one of the +{\KOMAScript} classes as in the example above, they must be used +either as a class option, or passed via \Macro{KOMAoptions} or +\Macro{KOMAoption} after loading the class. Changing of these options +after loading the \Package{typearea} package does not result in an +automatic recalculation of the type-area. Instead, the changes only +take effect at the next recalculation of the type-area. For +recalculation of the type-area, refer to the \Option{DIV} option with +the values \PValue{last} or \PValue{current} (see +\autopageref{desc:typearea.option.DIV.last}) or the +\Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % -\EndIndex{Option}{headlines} +\EndIndex{Option}{headheight~=\PName{height}}% +\EndIndex{Option}{headlines~=\PName{number}} + +\BeginIndex{Cmd}{areaset}% \begin{Declaration} \Macro{areaset}\OParameter{BCOR}\Parameter{Width}\Parameter{Height} \end{Declaration}% -\BeginIndex{Cmd}{areaset}% -So far we have seen how a good or even very good page layout is -calculated and how the \Package{typearea} package can support these -calculations, giving you at the same time the freedom to adapt the -layout to your needs. However, there are cases where the text body -has to fit exactly into specified dimensions. At the same time the -borders should be well spaced and a binding correction should be -possible. The \Package{typearea} package offers the command -\Macro{areaset} for this purpose. As parameters this command accepts -the binding correction and the width and height of the text body. -Width and position of the borders will then be calculated -automatically, taking account of the options \Option{headinclude}, -\OptionValue{headinclude}{false}, \Option{footinclude} and \OptionValue{footinclude}{false} -where needed. +So far we have seen how a good or even very good +type-area\Index{type-area} is calculated and how the +\Package{typearea} package can support these calculations, giving you +at the same time the freedom to adapt the layout to your needs. +However, there are cases where the text body has to fit exactly some +specified dimensions. At the same time the margins should be well +spaced and a binding correction should be possible. The +\Package{typearea} package offers the command \Macro{areaset} for this +purpose. As parameters this command accepts the binding correction and +the width and height of the text body. Width and position of the +margins will then be calculated automatically, taking account of the +options \Option{headinclude}, \OptionValue{headinclude}{false}, +\Option{footinclude} and \OptionValue{footinclude}{false} where +needed. On the ther hand, the options +\Option{headlines}\IndexOption{headlines} and +\Option{headheight}\IndexOption{headheight} are ignored! \begin{Example} Assume a text, printed on A4 paper, should have a width of exactly 60 characters of typewriter font and a height of exactly 30 lines. This could be achieved as follows: -\begin{lstlisting} +\begin{lstcode} \documentclass[a4paper,11pt]{article} \usepackage{typearea} \newlength{\CharsLX}% Width of 60 characters @@ -850,336 +1235,315 @@ where needed. \setlength{\LinesXXX}{\topskip} \addtolength{\LinesXXX}{29\baselineskip} \areaset{\CharsLX}{\LinesXXX} -\end{lstlisting} - You need only 29 instead of 30, because the base line of the topmost text - line is \Macro{topskip} below the top margin of the type area. +\end{lstcode} +You need only 29 instead of 30, because the base line of the topmost +text line is \Macro{topskip} below the top margin of the type area, as +long as the height of the topmost line is less than +\Macro{topskip}. Thus, the uppermost line does not require any +height. The descenders of characters on the lowermost line, on the +other hand, hang below the dimensions of the type-area. \item A poetry book with a square text body with a page length of 15\Unit{cm} and a binding correction of 1\Unit{cm} could be achieved like this: -\begin{lstlisting} - \documentclass{gedichte} +\begin{lstcode} + \documentclass{poetry} \usepackage{typearea} \areaset[1cm]{15cm}{15cm} -\end{lstlisting} +\end{lstcode} \end{Example} \EndIndex{Cmd}{areaset} -The \Package{typearea} package was not made to set up predefined margin -values. If you have to do so you may use package \Package{geometry} (see +BeginIndex{Option}{DIV~=areaset}% +\begin{Declaration} + \OptionValue{DIV}{areaset} +\end{Declaration}% +In\ChangedAt{v3.00}{\Package{typearea}} rare cases it is useful to be +able to reconstruct the current type-area anew. This is possible via +the option \OptionValue{DIV}{areaset}, where +\Macro{KOMAoptions}\PParameter{DIV=areaset} corresponds to the +\begin{lstcode}[belowskip=\dp\strutbox] + \areaset[current]{\textwidth}{\textheight} +\end{lstcode} +command. The same result is obtained if one uses +\OptionValue{DIV}{last} and the typearea was last set with +\Macro{areaset}.% +% +\EndIndex{Option}{DIV~=areaset}% + +The \Package{typearea} package was not made to set up predefined +margin values. If you have to do so you may use package +\Package{geometry}\IndexPackage{geometry} (see \cite{package:geometry}). -\section{Options and Macros for Paper Format Selection} -\label{sec:typearea.paperTypes} +\section{Paper Format Selection} +\label{sec:typearea.paperTypes}% +\BeginIndex{}{paper>format}% + +The paper format is a definitive characteristic of any document. As +already mentioned in the description of the supported page layout +constructions (see \autoref{sec:typearea.basics} to +\autoref{sec:typearea.circleConstruction} from +\autopageref{sec:typearea.basics} onwards), the entire page division +and document layout depends on the paper format. Whereas the {\LaTeX} +standard classes are restricted to a few formats, {\KOMAScript} +supports in conjunction with the \Package{typearea} package even +exotic paper sizes. -\Index{paper format}% -The {\LaTeX} standard classes support the options \Option{a4paper}, -\Option{a5paper}, \Option{b5paper}, \Option{letterpaper}, -\Option{legalpaper} and \Option{executivepaper}. These are support be -\Package{typearea} in the same way. +\BeginIndex{Option}{paper~=\PName{format}}% +\BeginIndex{Option}{paper~=\PName{orientation}}% \begin{Declaration} - \OptionValue{paper}{letter} \\ - \OptionValue{paper}{legal} \\ - \OptionValue{paper}{executive} \\ - \OptionValue{paper}{a\Var{X}} \\ - \OptionValue{paper}{b\Var{X}} \\ - \OptionValue{paper}{c\Var{X}} \\ - \OptionValue{paper}{d\Var{X}} \\ - \Option{landscape} \\ - \Macro{isopaper}\OParameter{series}\Parameter{number} + \KOption{paper}\PName{format} \end{Declaration}% -\BeginIndex{Option}{paper~=\PName{size}} -\BeginIndex{Option}{landscape} -\BeginIndex{Cmd}{isopaper}% -In addition to the paper formats of the standard classes, all ISO A-, ISO B-, -ISO C- and ISO D-formats are supported and derived from their basic sizes A0, -B0, C0 and D0. They may be selected directly with options -\OptionValue{paper}{a0}, \OptionValue{paper}{a1} and so on. Landscape -orientation is selected with the \Option{landscape} option just as in the -standard classes. - -Alternatively the paper size can be adjusted with the macro -\Macro{isopaper}. This however required re-calculation of the -text layout with \Macro{typearea} or \Macro{areaset}. I do not -recommend the use of \Macro{isopaper}. +The option \Option{paper}\ChangedAt{v3.00}{\Package{typearea}} is the +central element for format selection in \KOMAScript. \PName{Format} +supports first of all the american formats \Option{letter}, +\Option{legal} and \Option{executive}. In addition, it supports the +ISO formats of the series A, B, C and D, for example \PValue{A4} +or\,---\,written in lowercase\,---\,\PValue{a4}. Landscape formats are +supported by specifying the option again, this time with the value +\PValue{landscape}\Index{paper>orientation}. Additionally, the +\PName{format} can also be specified in the form +\PName{height}\texttt{:}\PName{width}. \begin{Example} - Assume you want to print on ISO A8 file cards in landscape - orientation. Borders should be very small, no header or footer + Assume one wishes to print on ISO A8 file cards in landscape + orientation. Margins should be very small, no header or footer will be used. -\begin{lstlisting} +\begin{lstcode} \documentclass{article} \usepackage[headinclude=false,footinclude=false, - paper=a8,landscape]{typearea} + paper=A8,landscape]{typearea} \areaset{7cm}{5cm} \pagestyle{empty} \begin{document} - \section*{Paper Size Options} - letterpaper, legalpaper, executivepaper, a4paper, - a5paper, paper=a0, paper=a1 \dots\ paper=b0, - paper=b1 \dots\ paper=c0, paper=c1 \dots\ - paper=d0, paper=d1 \dots + \section*{Supported Paper Sizes} + letter, legal, executive, a0, a1 \dots\ % + b0, b1 \dots\ c0, c1 \dots\ d0, d1 \dots + \end{document} +\end{lstcode} +If the file cards have the special format (height:width) +5\Unit{cm}\,:\,3\Unit{cm}, this can be achieved using the following +code. +\begin{lstcode} + \documentclass{article} + \usepackage[headinclude=false,footinclude=false,% + paper=A8,paper=5cm:3cm]{typearea} + \areaset{4cm}{2.4cm} + \pagestyle{empty} + \begin{document} + \section*{Supported Paper Sizes} + letter, legal, executive, a0, a1 \dots\ % + b0, b1 \dots\ c0, c1 \dots\ d0, d1 \dots \end{document} -\end{lstlisting} +\end{lstcode} \end{Example} -The options \Option{a4paper}, -\Option{a5paper}, \Option{b5paper}, \Option{letterpaper}, -\Option{legalpaper} and \Option{executivepaper} need -to be given as class options when {\KOMAScript} classes are used. The -\Option{paper}-Option may be set using \Macro{KOMAoptions} oder -\Macro{KOMAoption} instead. +As part of the predefined defaults, {\KOMAScript} uses A4 paper in +portrait orientation. This is in contrast to the standard classes, +which by default use the American letter paper format. + +Please note that when using this options with one of the {\KOMAScript} +classes, it must be used either as a class option, or passed via +\Macro{KOMAoptions} or \Macro{KOMAoption} after loading the +class. Changing of this option after loading the \Package{typearea} +package does not result in an automatic recalculation of the +type-area. Instead, the changes only take effect at the next +recalculation of the type-area. For recalculation of the type-area, +refer to the \Option{DIV} option with the values \PValue{last} or +\PValue{current} (see \autopageref{desc:typearea.option.DIV.last}) or +the \Macro{recalctypearea} command (see +\autopageref{desc:typearea.cmd.recalctypearea}).% % -\EndIndex{Option}{paper~=\PName{size}} -\EndIndex{Option}{landscape} -\EndIndex{Cmd}{isopaper} +\EndIndex{Option}{paper~=\PName{orientation}}% +\EndIndex{Option}{paper~=\PName{format}} +\BeginIndex{Option}{pagesize}% +\BeginIndex{Option}{pagesize~=\PName{output driver}}% \begin{Declaration} - \Macro{paperwidth}\\ - \Macro{paperheight} + \KOption{pagesize}\PName{output driver} \end{Declaration}% -\BeginIndex{Cmd}{paperwidth}% -\BeginIndex{Cmd}{paperheight}% -Particularly exotic paper sizes can be defined using the lengths -\Macro{paperwidth} and \Macro{paperheight}. -This requires the re-calculation of the text layout using the -commands \Macro{typearea} or \Macro{areaset}. -% -\begin{Example} -Assume you want to print on endless paper with the dimensions -\(8\frac{1}{4}\Unit{inch} \times 12\Unit{inch}\). This format is -not directly supported by \Package{typearea}. Thus you have to -define it befor calculating the text layout: -\begin{lstlisting} - \documentclass{article} - \usepackage{typearea} - \setlength{\paperwidth}{8.25in} - \setlength{\paperheight}{12in} - \typearea{1} -\end{lstlisting} -\end{Example} -\EndIndex{Cmd}{paperheight} -\EndIndex{Cmd}{paperwidth} - \begin{Explain}% -\begin{Declaration} - \Option{dvips}\\ - \Option{pdftex}\\ - \Option{pagesize} -\end{Declaration}% -\BeginIndex{Option}{dvips}% -\BeginIndex{Option}{pdftex}% -\BeginIndex{Option}{pagesize}% - These mechanisms will set internal {\LaTeX} dimensions to values that - header, text body and footer can be printed on paper of the given - size. However, the specifications of the DVI format\index{DVI} do - not allow the paper format to be specified. If DVI is translated - directly into a low level printer language like PCL (Hewlett-Packard - printers) or Esc-P (Epson), this is usually not important, because - in all these cases the origin is the upper left corner. If however - the DVI source is translated into languages like - PostScript\Index{PostScript} or PDF\Index{PDF}, that have an origin - in a different position and also contain the paper size explicitly, - the required information is not available in the DVI file. To solve - this problem the DVI driver will use the default paper size, which - the user may set per option or in the {\TeX} source. In case of the - DVI driver \File{dvips} this can be done with a - \Macro{special} command. For pdf{\TeX} two dimensions are set - instead. + The above-mentioned mechanisms for choice of paper format only + affect the output insofar as internal {\LaTeX} lengths are set. The + \Package{typearea} package then uses there in the division of the + page into type-area and margins. The specification of the DVI + formats\Index{DVI} however does not include any indications of paper + format. If printing is done directly from DVI format to a low-level + printer language such as PCL% + \iffalse% Umbruchkorrektur + \footnote{PCL is the printer language used by HP for its inkjet and + laser printers.}% + \fi \ or ESC/P2% + \iffalse% Umbruchkorrektur + \footnote{ESC/P2 is the printer language used by EPSON for its + dot-matrix, inkjet and laser printers.}% + \fi , this is usually not an issue since with this output also the + zero-position is at the top left, identical to DVI. If however + translation is made into a language such as + PostScript\Index{PostScript} or PDF\Index{PDF}, in which the + zero-position is at a different point, and in which also the paper + format should be specified in the output data, then this information + is missing. To solve this problem, the respective drivers use a + predefined paper size, which the user can change either by means of + an option or via a corresponding command in the {\TeX} source + file. When using the DVI driver \File{dvips} the information can be + given in the form of a \Macro{special} command. With {pdf\TeX} or + {V\TeX} one sets instead two lengths. \end{Explain} -The option \Option{dvips} writes the paper size as a \Macro{special} -into the DVI file. This macro is then evaluated by \File{dvips}. -\Option{pdftex} on the other hand writes the paper size into the -pdf{\TeX} page register at the beginning of the document, so that the -correct paper size is used when the resulting PDF file is viewed or -printed. The option \Option{pagesize} is more flexible and uses the -correct mechanism if either a PDF or DVI file is produced. -% +The option \OptionValue{pagesize}{dvips}\IndexOption{pagesize~=dvips} +writes the paper size as a \Macro{special} into die DVI data +file. This \Macro{special} is then evaluated by, for example, +\File{dvips}. On the other hand, the option +\OptionValue{pagesize}{pdftex} writes the paper size at the start of +the document into the {pdf\TeX} page registers +\Length{pdfpagewidth}\IndexLength{pdfpagewidth} and +\Length{pdfpageheight}\IndexLength{pdfpageheight}, so that later when +viewing the PDF file the correct format is chosen. The option +\OptionValue{pagesize}{auto} is more flexible and, depending on +whether a PDF or DVI data file is output, uses the mechanism of the +option \OptionValue{pagesize}{dvips} or +\OptionValue{pagesize}{pdftex}. With the option +\OptionValue{pagesize}{automedia} it may be that \Length{mediawidth} +and \Length{mediaheight} are also set appropriately. In this way even +the demands of {V\TeX} are supported. If the option \Option{pagesize} +is used with specifying an \PName{output driver} then \PValue{auto} is +used. \begin{Example} - Assume you want to create a DVI file from a document and an - online version in PDF. Then the preamble could look like this: -\begin{lstlisting} + Assume that a document should be available both as a DVI data file + and in PDF format for online viewing. Then the preamble might begin + as follows: +\begin{lstcode} \documentclass{article} - \usepackage[a4paper,pagesize]{typearea} -\end{lstlisting} - If the file is run through {pdf\TeX} then the lengths - \Macro{pdfpagewidth} and \Macro{pdfpageheight} will be set to - appropriate values. If on the other hand you create a DVI file\,---\, - either with {\LaTeX} or pdf{\LaTeX}\,---\,a \Macro{special} will be - written to the beginning of the file. -\end{Example}\IndexCmd{pdfpagewidth}\IndexCmd{pdfpageheight} -\EndIndex{Option}{dvips}% -\EndIndex{Option}{pdftex}% + \usepackage[paper=A4,pagesize]{typearea} +\end{lstcode} +If the {pdf\TeX} engine is used \emph{and} PDF output is +activated, then the two lengths \Macro{pdfpagewidth} and +\Macro{pdfpageheight} are set appropriately. If however a DVI data +file is created\,---\,regardless of whether by {\LaTeX} or by +{pdf\LaTeX}\,---\,then a \Macro{special} is written at the start of +this data file. +\end{Example}% +It is recommended always to specify this option. Generally the method +without \PName{output driver}, or with \PValue{auto} or +\PValue{automedia} is useful.% \EndIndex{Option}{pagesize}% - -\section{Odd Bits without Direct Relevance to Text Layout} -\label{sec:typearea.else} - -\begin{Declaration} - \Macro{ifpdfoutput}\Parameter{then}\Parameter{else} -\end{Declaration}% -\BeginIndex{Cmd}{ifpdfoutput}% -Sometimes it would be nice if certain things would be done -differently in a file, depending on output format. {\TeX} normally -uses DVI as output format. With pdf{\TeX} however we now have the -option to create PDF files directly. The command -\Macro{ifpdfoutput} is a branching command. If PDF output is -active, the \PName{then} branch will be executed, if PDF output -is inactive or {pdf\TeX} is not used at all, the -\PName{else} branch. -\begin{Example} - As you may know pdf{\LaTeX} will produce a DVI file instead of a - PDF file, if the counter \Macro{pdfoutput} is assigned the value 0. - Only is the counter is assigned a value different from 0 output is - switched to PDF. Since \Macro{pdfoutput} is unknown when {\LaTeX} is - used instead of pdf{\LaTeX}, \Macro{pdfoutput} can not be set to 0 - generally, if you want DVI output. A simple solution to this problem - is to execute following command: -\begin{lstlisting} - \ifpdfoutput{\pdfoutput=0}{} -\end{lstlisting} - This only works after loading \Package{typearea} package. If you - want the line above to be executed after a package, which sets - \Macro{pdfoutput} to 1 whenever the counter exists, you may combine - it with the \Macro{AfterPackage}\IndexCmd{AfterPackage} command - from \Package{scrlfile} package (see \autoref{cha:scrlfile}). -\end{Example}\IndexCmd{pdfoutput} -\EndIndex{Cmd}{ifpdfoutput} - -\section{Local Defaults in the File \File{typearea.cfg}} -\label{sec:typearea.cfg} -Even before the packet options are used, \Package{typearea} will check -for the presence of the file -\File{typearea.cfg}\IndexFile{typearea.cfg} and, if found, load it. -Thus it is possible to define in this file the parameters for -additional paper sizes. - -\begin{Declaration} - \Macro{SetDIVList}\Parameter{List} -\end{Declaration}% -\BeginIndex{Cmd}{SetDIVList}% -\begin{Explain}% - The \Macro{SetDIVList} parameter was also intended for use in this - file. Before the option \Option{DIV=calc} was introduced this was the - only possibility to define \Var{DIV} values for different paper and - font sizes. This list consists of a number of values in curly - parentheses. The leftmost value is the font size, \(10\Unit{pt}\), - the next for \(11\Unit{pt}\), the third for \(12\Unit{pt}\) and so - on. If you don't use \Macro{SetDIVList} the predefined - \Macro{SetDIVList}% - \PParameter{\PParameter{8}\PParameter{10}\PParameter{12}} will be - used. If no default value is given for a particular font size, - \(10\) will be used. -\end{Explain} - -This command should no longer be used, automatic calculation of text -layout is recommended instead (see -\autoref{sec:typearea.options}). +\EndIndex{Option}{pagesize~=\PName{output driver}}% % -\EndIndex{Cmd}{SetDIVList} +\EndIndex{}{paper>format} + -\section{Hints} +\section{Tips} \label{sec:typearea.tips} -\begin{Explain} - In particular for theses many rules exist that violate even the most - elementary rules of typography. The reasons for such rules include - typographical incompetence of those making them, but also the fact that they - were originally meant for mechanical typewriters. With a typewriter or a - primitive text processor dating back to the early ´80s it is not possible to - produce typographically correct output without extreme effort. Thus rules - were created that appeared to be achievable and still allowed easy - correction. To avoid short lines made worse by ragged margins the borders - were kept narrow, and the line spacing increased to 1.5 for corrections. In - a single spaced document even correction signs would have been difficult to - add. When computers became widely available for text processing, some - students tried to use a particularly ``nice'' font to make their work look - better than it really was. They forgot however that such fonts are often - more difficult to read and therefore unsuitable for this purpose. Thus two - bread-and-butter fonts became widely used which neither fit together nor are - particularly suitable for the job. In particular Times is a relatively - narrow font which was developed at the beginning of the 20$^{th}$ century - for the narrow columns of British newspapers. Modern versions usually are - somewhat improved. But still the Times font required in many rules does not - really fit to the border sizes prescribed. - - {\LaTeX} already uses sufficient line spacing, and the borders are wide - enough for corrections. Thus a page will look generous, even when quite full - of text. With \Package{typearea} this is even more true, especially if the - calculation of line length is left to \Package{typearea} too. For fonts that - are sensitive to long lines the line length can easily be reduced. - - To some extend the questionable rules are difficult to implement in - {\LaTeX}. A fixed number of characters per line can be kept only when a - non-proportional font is used. There are very few good non-proportional - fonts around. Hardly a text typeset in this way looks really good. In many - cases font designers try to increase the serifs on the `i' or `l' to - compensate for the different character width. This can not work and results - in a fragmented and agitated-looking text. If you use {\LaTeX} for your - paper, some of these rules have to be either ignored or at least interpreted - generously. For example you may interpret ``60 characters per line'' not as - a fixed, but average or maximal value.% -\end{Explain} -As executed, record regulations are usually intended to obtain a useable -result even if the author does not know what needs to be considered. Useable -means frequently: readable and correctable. In my opinion the type area of a -text set with {\LaTeX} and the \Package{typearea} package meets these criteria -well right from the beginning. Thus if you are confronted with regulations -which deviate obviously substantially from it, then I recommend to submit a -text single dump to the responsible person and inquire whether it is permitted -to supply the work despite the deviations in this form. If necessary the -type area can be moderately adapted by modification of option \Option{DIV}. I -advise against use of \Macro{areaset} for this purpose however. At worst you -may use geometry package (see \cite{package:geometry}), which is not part of -{\KOMAScript}, or change the type area parameters of {\LaTeX}. You may find the -values determined by \Package{typearea} in the log file of your document. -Thus moderate adjustments should be possible. However, make absolutely sure -that the proportions of the text area correspond approximately to those of the -page including consideration of the binding correction. - -If it should be absolutely necessary to set the text one-and-a-half-lined then -you should not redefine \Macro{baselinestretch} under any circumstances. -Although this procedure was recommended very frequently, it is obsolete since -the introduction of {\LaTeXe} in 1994. Use at least the instruction -\Macro{linespread}. I recommend package \Package{setspace} (see -\cite{package:setspace}), which is not part of {\KOMAScript}. Also you should -use \Package{typearea} to calculate a new type area after the conversion of -the line spacing. However, you should switch back to the normal line spacing -for the title, preferably also for the table contents and various -listings\,---\,as well as the bibliography and the index. The -\Package{setspace} package offers for this a special environment and its own -instructions. +In particular for theses many rules exist that violate even the most +elementary rules of typography. The reasons for such rules include +typographical incompetence of those making them, but also the fact +that they were originally meant for mechanical typewriters. With a +typewriter or a primitive text processor dating back to the early +´80s it was not possible to produce typographically correct output +without extreme effort. Thus rules were created that appeared to be +achievable and still allowed easy correction. To avoid short lines +made worse by ragged margins, the margins were kept narrow and the +line spacing was increased to 1.5 for corrections. Before the advent +of modern text processing systems, single-spaced would have been the +only alternative\,---\,other than with \TeX. In such a single-spaced +document even correction signs would have been difficult to add. When +computers became more widely available for text processing, some +students tried to use a particularly ``nice'' font to make their work +look better than it really was. They forgot however that such fonts +are often more difficult to read and therefore unsuitable for this +purpose. Thus two bread-and-butter fonts became widely used which +neither fit together nor are particularly suitable for the job. In +particular Times is a relatively narrow font which was developed at +the beginning of the 20$^{th}$ century for the narrow columns of +British newspapers. Modern versions usually are somewhat improved. But +still the Times font required in many rules does not really fit to the +margin sizes prescribed. + +{\LaTeX} already uses sufficient line spacing, and the margins are +wide enough for corrections. Thus a page will look generous, even when +quite full of text. + +To some extend the questionable rules are difficult to implement in +{\LaTeX}. A fixed number of characters per line can be kept only when +a non-proportional font is used. There are very few good +non-proportional fonts available. Hardly a text typeset in this way +looks really good. In many cases font designers try to increase the +serifs on the `i' or `l' to compensate for the different character +width. This can not work and results in a fragmented and +agitated-looking text. If one uses {\LaTeX} for one's paper, some of +these rules have to be either ignored or at least interpreted +generously. For example one may interpret ``60 characters per line'' +not as a fixed, but as an average or maximal value.% + +As executed, record regulations are usually intended to obtain a +usable result even if the author does not know what needs to be +considered. Usable means frequently: readable and correctable. In +the author's opinion the type-area of a text set with {\LaTeX} and the +\Package{typearea} package meets these criteria well right from the +start. Thus if one is confronted with regulations which deviate +obviously substantially from it, then the author recommends submitting +an extract from the text to the responsible person and inquiring +whether it is permitted to submit the work despite deviations in the +format. If necessary the type area can be moderately adapted by +modification of option \Option{DIV}. The author advises against the +use of \Macro{areaset} for this purpose however. In the worst case +one may make use of the geometry package (see +\cite{package:geometry}), which is not part of \KOMAScript, or change +the type-area parameters of \LaTeX. One may find the values +determined by \Package{typearea} in the \File{log} file of one's +document. Thus moderate adjustments should be possible. However, one +should make absolutely sure that the proportions of the text area +correspond approximately to those of the page including consideration +of the binding correction. + +If it should prove absolutely necessary to set the text with a line +spacing of 1.5, then one should not under any circumstances redefine +\Macro{baselinestretch}. Although this procedure is recommended all +too frequently, it has been obsolete since the introduction of +{\LaTeXe} in 1994. In the worst case one may use the instruction +\Macro{linespread}. The author recommends the package +\Package{setspace}\IndexPackage{setspace} (see +\cite{package:setspace}), which is not part of \KOMAScript. Also one +should let \Package{typearea} recalculate a new type-area after the +conversion of the line spacing. However, one should switch back to +the normal line spacing for the title, preferably also for the table +contents and various listings\,---\,as well as the bibliography and +the index. The \Package{setspace} package offers for this a special +environment and its own instructions. The \Package{typearea} package even with option \Option{DIV=calc} calculates a very generous text area. Many conservative typographers will state that the resulting line length is still excessive. The -calculated \Var{DIV} value may be found in the \File{log} file to the -respective document. Thus you can select a smaller value easily after +calculated \Var{DIV} value may be found in the \File{log} file for the +respective document. Thus one can select a smaller value easily after the first {\LaTeX} run. -The question is put to me not infrequently, why I actually talk -section after section about type area calculations, when it would be -very much simpler to merely give you a package with which one can -adjust the edges like during a text processing. Often also it is -stated that such a package would be anyway the better solution, since -everyone can judge how good edges are to be selected, and that the -edges calculated by {\KOMAScript} are anyway not that great. I take -the liberty of translating a suitable quotation from -\cite{TYPO:ErsteHilfe}. You may find the original German words in the -German scrguide. +The question is not infrequently put to the author, why he spends an +entire chapter discussing type-area calculations, when it would be +very much simpler to merely give the world a package with which anyone +can adjust the margins like in a word processor. Often it is added +that such a package would in any case be the better solution, since +everyone can judge for themselves how good margins are to be chosen, +and that the margins calculated by {\KOMAScript} are anyway not that +great. The author takes the liberty of translating a suitable +quotation from \cite{TYPO:ErsteHilfe}. One may find the original +German words in the German scrguide. \begin{quote} \phantomsection\label{sec:typearea.tips.cite}% - \textit{The making by oneself is quite widespread, the results are often - doubtful, because layman typographers do not see what is incorrect - and cannot not know what it important. Thus one gets - accustomed to wrong and poor typography.} [\dots] \textit{Now the - objection could be made that typography is nevertheless a taste thing. If - it concerned decoration, perhaps one could let that argument apply, - however, since it concerns primarily information with typography, - errors cannot only disturb, but may even cause damage.} + \textit{The practice of doing things oneself is long-since + widespread, but the results are often dubious because layman + typographers do not see what is incorrect and cannot know what is + important. Thus one becomes accustomed to incorrect and poor + typography.} [\dots] \textit{Now the objection could be made that + typography is dependent on taste. If it concerned decoration, + perhaps one could let that argument slip by; however, since + typography is primarily concerned with information, errors cannot + only irritate, but may even cause damage.} \end{quote} %%% Local Variables: diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common.tex index 66d263dfe73..790a32f76fc 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common.tex @@ -45,7 +45,7 @@ % % ====================================================================== -\ProvidesFile{common.tex}[2009/01/01 KOMA-Script guide (common paragraphs)] +\ProvidesFile{common.tex}[2009/01/20 KOMA-Script guide (common paragraphs)] \makeatletter \@ifundefined{ifCommonmaincls}{\newif\ifCommonmaincls}{}% @@ -1944,10 +1944,10 @@ erfolgt, so verwendet man ganz normal \verb|\\*| an Stelle von \verb|\\|.% \Macro{nopagebreak}\IndexCmd{nopagebreak} eingefügt werden: \begin{lstcode} \begin{verse} - Der Philosoph wie der Hausbesitzer\nopagebreak + Der Philosoph wie der Hausbesitzer\nopagebreak{} hat immer Reparaturen.\\ \bigskip - Wer dir sagt, er hätte noch nie\nopagebreak + Wer dir sagt, er hätte noch nie\nopagebreak{} gelogen, dem traue nicht, mein Sohn. \end{verse} \end{lstcode} diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex index 03a8e3c93ba..e6526f7d1c8 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrbookreportarticle.tex @@ -45,7 +45,7 @@ % % ============================================================================ -\ProvidesFile{scrbookreportarticle.tex}[2009/01/01 KOMA-Script guide (chapter: +\ProvidesFile{scrbookreportarticle.tex}[2009/01/20 KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] \chapter{Die Hauptklassen \Class{scrbook}, \Class{scrreprt}, \Class{scrartcl}} @@ -1529,11 +1529,11 @@ Klassen \Class{scrbook} und \Class{scrreprt} die Überschrift dieser Ebene zusammen mit ihrer Präambel (siehe \Macro{setpartpreamble}, \autopageref{desc:maincls.cmd.setpartpreamble}) alleine auf einer Seite. -\Macro{chapter}\OnlyAt{\Class{scrartcl}} existiert nur bei Buch- und -Berichtklassen, also bei \Class{book}, \Class{scrbook}, \Class{report} und -\Class{scrreport}, nicht jedoch bei den Artikelklassen \Class{article} und -\Class{scrartcl}. \Macro{chapter} unterscheidet sich bei {\KOMAScript} -außerdem gravierend von der Version der Standardklassen. Bei den +\Macro{chapter}\OnlyAt{\Class{book}\and \Class{scrreprt}} existiert nur bei +Buch- und Berichtklassen, also bei \Class{book}, \Class{scrbook}, +\Class{report} und \Class{scrreprt}, nicht jedoch bei den Artikelklassen +\Class{article} und \Class{scrartcl}. \Macro{chapter} unterscheidet sich bei +{\KOMAScript} außerdem gravierend von der Version der Standardklassen. Bei den Standardklassen wird die Kapitelnummer mit dem Präfix »Kapitel« beziehungsweise dem Kapitelnamen in der gewählten Sprache in einer Zeile vor dem eigentlichen Text der Überschrift ausgegeben. Diese sehr mächtige Form @@ -1730,7 +1730,7 @@ so taucht plötzlich der Kolumnentitel des letzen Kapitels wieder auf. {\KOMAScript} bietet dafür aber eine Lösung, die im Folgenden beschrieben wird. \OnlyAt{\Class{scrbook}\and \Class{scrreprt}}\Macro{chapter*} existiert selbstverständlich nur bei Buch- und Berichtklassen, also bei \Class{book}, -\Class{scrbook}, \Class{report} und \Class{scrreport}, nicht jedoch bei den +\Class{scrbook}, \Class{report} und \Class{scrreprt}, nicht jedoch bei den Artikelklassen \Class{article} und \Class{scrartcl}. Bitte beachten Sie, dass \Macro{part*} und \Macro{chapter*} den Seitenstil für @@ -1788,10 +1788,10 @@ Die Sternvarianten \Macro{addchap*} und \Macro{addsec*} gleichen hingegen den Standardanweisungen \Macro{chapter*} und \Macro{section*} mit einem winzigen, aber wichtigen Unterschied: Die Kolumnentitel werden gelöscht. Dadurch wird der oben erwähnte Effekt veralteter Kolumnentitel ausgeschlossen. Stattdessen -bleibt der Kolumnentitel auf Folgeseiten leer. -\OnlyAt{\Class{scrartcl}}\Macro{addchap} und \Macro{addchap*} existieren +bleibt der Kolumnentitel auf Folgeseiten leer. \OnlyAt{\Class{scrbook}\and + \Class{scrreprt}}\Macro{addchap} und \Macro{addchap*} existieren selbstverständlich nur bei Buch- und Berichtklassen, also bei \Class{scrbook} -und \Class{scrreport}, nicht jedoch bei der Artikelklasse \Class{scrartcl}. +und \Class{scrreprt}, nicht jedoch bei der Artikelklasse \Class{scrartcl}. Die Anweisung \Macro{addpart} erstellt entsprechend einen nicht nummerierten Dokumentteil mit einem Eintrag im Inhaltsverzeichnis. Da diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex index 1698dada8f6..5d82cdea2c4 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/typearea.tex @@ -46,7 +46,7 @@ % ====================================================================== -\ProvidesFile{typearea.tex}[2008/12/09 KOMA-Script guide (chapter: typearea)] +\ProvidesFile{typearea.tex}[2009/01/06 KOMA-Script guide (chapter: typearea)] \chapter{Satzspiegelberechnung mit \Package{typearea.sty}} \labelbase{typearea} @@ -1089,10 +1089,10 @@ Neben\ChangedAt{v2.8q}{\Class{scrbook}\and \Class{scrreprt}\and \Class{scrartcl}} Dokumenten, bei denen der Kopf und der Fuß der Seite eher zum Textbereich als zum Rand gehört, gibt es auch Dokumente, bei denen dies für Randnotizen zutrifft. Mit der Option \Option{mpinclude} kann genau dies -erreicht werden. Die Optionen verstehen dabei als +erreicht werden. Die Option versteht dabei als \PName{Ein-Aus-Wert}\ChangedAt{v3.00}{\Package{typearea}} die Standardwerte für einfache Schalter, die in \autoref{tab:truefalseswitch} angegeben -sind. Man kann die Optionen auch ohne Wertzuweisung verwenden. In diesem Fall +sind. Man kann die Option auch ohne Wertzuweisung verwenden. In diesem Fall wird \PValue{true} als \PName{Ein-Aus-Wert} verwendet. Der Effekt von \OptionValue{mpinclude}{true} ist, dass eine Breiteneinheit vom @@ -1202,7 +1202,7 @@ In einigen Fällen ist es nützlich, wenn man die Kopfhöhe nicht in Zeilen, sondern direkt als Längenwert angeben kann. Dies ist mit Hilfe der alternativ verwendbaren Option \Option{headheight} möglich. Als \PName{Höhe} sind alle Längen und Größen verwendbar, die \LaTeX{} kennt. Es ist jedoch zu beachten, -dass bei Verwendung einer LaTeX-Länge wie \Length{baselineskip} nicht deren +dass bei Verwendung einer \LaTeX-Länge wie \Length{baselineskip} nicht deren Größe zum Zeitpunkt des Setzens der Option, sondern zum Zeitpunkt der Berechnung des Satzspiegels und der Rändern entscheidend ist. @@ -1237,10 +1237,10 @@ dabei gegebenenfalls auch eine Bindekorrektur berücksichtigt werden. Das \Package{typearea}-Paket bietet hierfür den Befehl \Macro{areaset}, dem man neben der optionalen Bindekorrektur als Parameter die Breite und Höhe des Textbereichs übergibt. Die Ränder und deren Verteilung werden dann automatisch -berechnet, wobei gegebenenfalls auch die Paketoptionen \Option{headinclude}, -\Option{headexclude}, sowie \Option{footinclude} und \Option{footexclude} -berücksichtigt werden. Die Optionen \Option{headlines}\IndexOption{headlines} -und \Option{headheight}\IndexOption{headheight} bleiben in diesem Fall jedoch +berechnet, wobei gegebenenfalls auch die Einstellungen der Paketoptionen +\Option{headinclude} und \Option{footinclude} berücksichtigt werden. Die +Optionen \Option{headlines}\IndexOption{headlines} und +\Option{headheight}\IndexOption{headheight} bleiben in diesem Fall jedoch unberücksichtigt! \begin{Example} @@ -1352,7 +1352,7 @@ Option \Option{version}, \autoref{sec:typearea.compatibilityOptions}, wird auf eine Kopf- und eine Fußzeile verzichtet. \begin{lstcode} \documentclass{article} - \usepackage[headexclude,footexclude,% + \usepackage[headinclude=false,footinclude=false,% paper=A8,paper=landscape]{typearea} \areaset{7cm}{5cm} \pagestyle{empty} @@ -1366,7 +1366,7 @@ Option \Option{version}, \autoref{sec:typearea.compatibilityOptions}, ist dies mit \begin{lstcode} \documentclass{article} - \usepackage[headexclude,footexclude,% + \usepackage[headinclude=false,footinclude=false,% paper=5cm:3cm]{typearea} \areaset{4cm}{2.4cm} \pagestyle{empty} diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx index ad51ea1a4b1..5888c21f17b 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx @@ -1,4 +1,4 @@ -% \CheckSum{1273} +% \CheckSum{1281} % \iffalse meta-comment % ====================================================================== % scrkbase.dtx @@ -58,7 +58,7 @@ %%% From File: scrkbase.dtx %<*driver> % \fi -\ProvidesFile{scrkbase.dtx}[2008/11/21 v3.01a KOMA-Script (basics)] +\ProvidesFile{scrkbase.dtx}[2009/01/23 v3.02a KOMA-Script (basics)] % \iffalse %</driver> %<package&option>\ProvidesPackage{% @@ -922,6 +922,8 @@ % % \begin{macro}{\scr@smashdp} % \changes{v2.97c}{2007/09/17}{neu (intern)} +% \changes{v3.02a}{2009/01/23}{\cs{smash} nicht direkt verwenden, weil +% \textsf{amsmath} das inkompatibel umdefiniert} % Gibt Material aus, erzeugt dabei aber nur Höhe und Breite, jedoch keine % Tiefe. % \begin{macrocode} @@ -929,7 +931,12 @@ \newcommand*{\scr@smashdp}[1]{% \begingroup \def\finsm@sh{\dp\z@\z@\box\z@}% - \smash{#1}% + \ifmmode + \expandafter\mathpalette\expandafter\mathsm@sh + \else + \expandafter\makesm@sh + \fi + {#1}% \endgroup } %</base> diff --git a/Master/texmf-dist/source/latex/koma-script/scrkcomp.dtx b/Master/texmf-dist/source/latex/koma-script/scrkcomp.dtx index 857538e66bb..2d916bf663d 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkcomp.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkcomp.dtx @@ -1,4 +1,4 @@ -% \CheckSum{84} +% \CheckSum{85} % \iffalse meta-comment % ====================================================================== % scrkcomp.dtx @@ -222,6 +222,8 @@ % \changes{v3.01c}{2008/12/09}{Neues Macro} % \begin{macro}{\scr@v@3.02} % \changes{v3.02}{2009/01/01}{Neues Macro} +% \begin{macro}{\scr@v@3.02b} +% \changes{v3.02b}{2009/01/24}{Neues Macro} % \begin{macro}{\scr@v@last} % \changes{v2.9u}{2005/03/05}{Neues Macro} % Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die @@ -252,6 +254,7 @@ \@namedef{scr@v@3.01b}{9} \@namedef{scr@v@3.01c}{9} \@namedef{scr@v@3.02}{9} +\@namedef{scr@v@3.02b}{9} \@namedef{scr@v@last}{9} % \end{macrocode} % \end{macro} @@ -267,6 +270,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % \end{macro} % \end{macro} % \end{macro} diff --git a/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx b/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx index 751c32e7811..07e0d59e1ca 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkfloa.dtx @@ -1,4 +1,4 @@ -% \CheckSum{1129} +% \CheckSum{1130} % \iffalse meta-comment % ====================================================================== % scrkfloa.dtx @@ -58,7 +58,7 @@ %%% From File: scrkfloa.dtx %<*driver> % \fi -\ProvidesFile{scrkfloa.dtx}[2008/11/20 v3.01a KOMA-Script (floats)] +\ProvidesFile{scrkfloa.dtx}[2009/01/24 v3.02a KOMA-Script (floats)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} @@ -1010,14 +1010,15 @@ % bestimmte werden, wenn Option \texttt{onelinecaption} verwendet % wird. Das bedeutet auch, dass bei \texttt{noonelinecaption} das % Problem mit dem Hochzählen der Fußnoten nicht auftritt. -% \changes{v2.8q}{2002/05/17}{Problem mit doppelten Fußnoten behoben} -% \changes{v2.95}{2004/01/30}{Korrekturen für vertikalen Abstand und -% \textsl{float}-Paket} -% \changes{v2.95a}{2006/07/13}{diverse Korrekturen für den vertikalen -% Abstand u.\,a. bei Verwendung des \textsl{color}-Pakets} -% \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} eingefügt, um die -% vertikale Ausrichtung im \emph{above}-Fall in eingen Fällen zu -% verbessern} +% \changes{v2.8q}{2002/05/17}{Problem mit doppelten Fußnoten behoben} +% \changes{v2.95}{2004/01/30}{Korrekturen für vertikalen Abstand und +% \textsl{float}-Paket} +% \changes{v2.95a}{2006/07/13}{diverse Korrekturen für den vertikalen +% Abstand u.\,a. bei Verwendung des \textsl{color}-Pakets} +% \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} eingefügt, um die +% vertikale Ausrichtung im \emph{above}-Fall in eingen Fällen zu +% verbessern} +% \changes{3.02a}{2009/01/24}{diverse Gruppen- bzw. Argumentklammern ergänzt} % \begin{macrocode} \newcommand{\@@makecaption}[3]{% \cap@margin @@ -1026,9 +1027,9 @@ \let\scr@tmp@footnotetext=\@footnotetext \let\@footnotetext=\@gobble \sbox\@tempboxa{% - {\capfont\strut\ignorespaces - #1{{\caplabelfont#2\captionformat}}% - #3\unskip\strut}% + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}% + #3\unskip\strut}}% }% \let\@footnotetext=\scr@tmp@footnotetext \let\scr@tmp@footnotetext=\undefined @@ -1052,9 +1053,9 @@ % \changes{v2.97c}{2007/09/17}{\cs{scr@smashdp} eingefügt} % \begin{macrocode} \ifdofullc@p - {\capfont\@hangfrom{\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont#2\captionformat}}}}% - {#3\unskip\strut\par}}% + {\capfont{\@hangfrom{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}}% + {#3\unskip\strut\par}}}% % \end{macrocode} % Im zweiten Fall ist nun zu unterscheiden, ob nach dem Label ein % Umbruch erfolgen soll oder nicht. Dabei ist der Einzug zu beachten. @@ -1063,18 +1064,18 @@ % \begin{macrocode} \else% \ifdim\cap@indent<\z@ - {\capfont\strut\ignorespaces - #1{{\caplabelfont #2\captionformat\par}}% - \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}% + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\hspace*{-\cap@indent}#3\unskip\strut\par}}% \else% \if@capbreak - {\capfont\strut\ignorespaces - #1{{\caplabelfont #2\captionformat\par}}% - \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}% + {\capfont{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat\par}}}% + \noindent\@hangfrom{\hspace*{\cap@indent}}{#3\par}}}% \else - {\capfont\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% + {\capfont{\@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% {\hspace{-\cap@indent}\scr@smashdp{\ignorespaces#1% - {{\caplabelfont#2\captionformat}}}#3\unskip\strut\par}}% + {{\caplabelfont{#2\captionformat}}}}#3\unskip\strut\par}}}% \fi \fi \fi @@ -1093,13 +1094,15 @@ % \end{macrocode} % Im einzeiligen Fall wird nun die Box wie oben erneut erzeugt und gleich % gesetzt. Im Prinzip ginge das auch direkt ohne erst eine Box zu erzeugen. +% \changes{3.02a}{2009/01/24}{die Box selbst muss im \cs{capfont} gesetzt +% werden, falls darin eine Größenumschaltung stattfindet} % \begin{macrocode} \sbox\@tempboxa{% - {\capfont\scr@smashdp{\strut\ignorespaces - #1{{\caplabelfont#2\captionformat}}}% - #3}% + {\capfont{\scr@smashdp{\strut\ignorespaces + #1{{\caplabelfont{#2\captionformat}}}}% + #3}}% }% - \hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}% + {\capfont{\hb@xt@\hsize{\strut\cap@left\box\@tempboxa\cap@right\strut}}}% \fi \endgroup } diff --git a/Master/texmf-dist/source/latex/koma-script/scrkvers.dtx b/Master/texmf-dist/source/latex/koma-script/scrkvers.dtx index 8ce2bf8d4ba..2d523f41009 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkvers.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkvers.dtx @@ -112,7 +112,7 @@ \fi } \fi - \@CheckKOMAScriptVersion{2009/01/01 v3.02 KOMA-Script}% + \@CheckKOMAScriptVersion{2009/01/24 v3.02b KOMA-Script}% \endgroup % \end{macrocode} % \end{macro} diff --git a/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx b/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx index efc2fc16b62..7c9feec2182 100644 --- a/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx +++ b/Master/texmf-dist/source/latex/koma-script/tocbasic.dtx @@ -66,7 +66,7 @@ %%% From File: tocbasic.dtx %<*dtx|package|driver|doc|load> % \fi -\def\tocbasicversion{2009/01/01 v3.02} +\def\tocbasicversion{2009/01/20 v3.02a} % \iffalse %</dtx|package|driver|doc|load> %<*dtx> @@ -1560,6 +1560,7 @@ be defined and used in \Macro{tocbasic@listhead}. % \end{macro} % % \begin{macro}{\tocbasic@listhead} +% \changes{v3.02a}{2009/01/20}{no explicite marks if ``numbered''} % Setting the headings of a list of something. The heading is the only % argument. % \begin{macrocode} @@ -1573,21 +1574,21 @@ be defined and used in \Macro{tocbasic@listhead}. \subsection[##1]{##1}% }{% \subsection*{##1}% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi \iftocfeature{\@currext}{totoc}{% \addcontentsline{toc}{subsection}{##1}% }{}% }% - \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi }{% \iftocfeature{\@currext}{numbered}{% \section[##1]{##1\@mkboth{##1}{##1}}% }{% \section*{##1}% + \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% \iftocfeature{\@currext}{totoc}{% \addcontentsline{toc}{section}{##1}% }{}% }% - \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% }% }% \else @@ -1600,18 +1601,18 @@ be defined and used in \Macro{tocbasic@listhead}. \iftocfeature{\@currext}{totoc}{% \addcontentsline{toc}{section}{##1}% }{}% + \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi }% - \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{##1}}\fi }{% \iftocfeature{\@currext}{numbered}{% \chapter[##1]{##1\@mkboth{##1}{##1}}% }{% \chapter*{##1}% + \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% \iftocfeature{\@currext}{totoc}{% \addcontentsline{toc}{chapter}{##1}% }{}% }% - \@mkboth{\MakeMarkcase{##1}}{\MakeMarkcase{##1}}% }% }% \fi |