summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-04-24 23:19:31 +0000
committerKarl Berry <karl@freefriends.org>2015-04-24 23:19:31 +0000
commit0a00b3b492fd27dc12cddae602b2c43206a17d74 (patch)
tree40a09bf2208cc13bcd727626e1ee058e2caa68b1 /Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
parent77b150bbd42aa48ba71627e09763785b26adfcfd (diff)
koma-script (24apr15)
git-svn-id: svn://tug.org/texlive/trunk@37036 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx1355
1 files changed, 921 insertions, 434 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
index 5a8ba646219..4f0d0ef0aac 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{3337}
+% \CheckSum{3673}
% \iffalse meta-comment
% ======================================================================
% scrkernel-sections.dtx
@@ -55,18 +55,22 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-sections.dtx 1919 2015-02-02 10:25:23Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 2079 2015-04-20 07:12:08Z kohm $
%<*driver>
% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2015-02-02 11:25:23 +0100 (Mon, 02 Feb 2015) $
+ \filedate$Date: 2015-04-20 09:12:08 +0200 (Mon, 20 Apr 2015) $
\def\filerevision$#1: #2 ${\gdef\filerevision{#2}}
- \filerevision$Revision: 1919 $
-\endgroup
-\ProvidesFile{scrkernel-sections.dtx}[\filedate\space\filerevision\space
- KOMA-Script (disposition)]
+ \filerevision$Revision: 2079 $
+ \edef\reserved@a{%
+ \noexpand\endgroup
+ \noexpand\ProvidesFile{scrkernel-sections.dtx}%
+ [\filedate\space\filerevision\space
+ KOMA-Script (disposition)]
+ }%
+\reserved@a
% \iffalse
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
@@ -123,9 +127,10 @@
% ggf. Vakatseiten.
%
% \begin{option}{open}
-% \changes{v2.98c}{2008/03/06}{Neue Option}
+% \changes{v2.98c}{2008/03/06}{Neue Option}^^A
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}
+% \cs{FamilyKeyState}}^^A
+% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}^^A
% Bei \textsf{scrreprt} und \textsf{scrbook} kann per Option eingestellt
% werden, ob beispielsweise Kapitel nur auf linken oder rechten Seiten
% beginnen dürfen oder auf jeder Seite.
@@ -156,26 +161,37 @@
{left}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{open}{#1}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{openany}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{openright}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{openleft}%
\ifcase \@tempa\relax
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{openany}%
\@openrightfalse
\renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}%
\or
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{openright}%
\@openrighttrue
\renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}%
\or
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{openleft}%
\@openrighttrue
\renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}%
\fi
\fi
}
+%<book>\KOMA@kav@add{.\KOMAClassFileName}{open}{right}
+%<report>\KOMA@kav@add{.\KOMAClassFileName}{open}{any}
+%<book>\KOMA@kav@add{.\KOMAClassFileName}{headings}{openright}
+%<report>\KOMA@kav@add{.\KOMAClassFileName}{headings}{openany}
% \end{macrocode}
% \end{option}
% \begin{option}{openright}
-% \changes{v2.98c}{2008/03/05}{obsolet}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v2.98c}{2008/03/05}{obsolet}^^A
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{openany}
-% \changes{v2.98c}{2008/03/05}{obsolet}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v2.98c}{2008/03/05}{obsolet}^^A
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% Zusätzlich gibt es einige Standardoptionen, die natürlich auch mit
% \KOMAScript{} funktionieren sollen.
% \begin{macrocode}
@@ -195,14 +211,15 @@
% gemeinsam.
%
% \begin{option}{numbers}
-% \changes{v2.98c}{2008/03/07}{Neue Option}
+% \changes{v2.98c}{2008/03/07}{Neue Option}^^A
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}
+% \cs{FamilyKeyState}}^^A
+% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}^^A
% Dies ist die zentrale Option zur Konfiguration der Nummerierung. Dabei geht
% es primär um die Gliederungsnummern, es sind jedoch auch davon abgeleitete
% Nummern betroffen.
% \begin{macro}{\scr@dotchangeatdocument}
-% \changes{v2.98c}{2008/03/07}{Neu (intern)}
+% \changes{v2.98c}{2008/03/07}{Neu (intern)}^^A
% Da die Umschaltung zwischen automatischem Endpunkt, immer Endpunkt und kein
% Endpunkt unbedingt \emph{vor} \cs{begin{document}} erfolgen muss, wird eine
% Fehlermeldung ausgegeben, falls das jemand zu einem späteren Zeitpunkt
@@ -239,6 +256,7 @@
{noenddot}{2},{nodotatend}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{numbers}{#1}%
\ifcase \@tempa\relax
\if@atdocument\scr@dotchangeatdocument{#1}\else
\let\scr@altsecnumhook\@empty
@@ -254,26 +272,27 @@
\fi
\fi
}
+\KOMA@kav@add{.\KOMAClassFileName}{numbers}{autoendperiod}
%</option>
% \end{macrocode}
% \end{option}
%
% \begin{option}{pointednumbers}
-% \changes{v2.3h}{1995/01/19}{neue Option}
+% \changes{v2.3h}{1995/01/19}{neue Option}^^A
% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so,
% bei \texttt{pointednumber} wird explizit ein Fehler gemeldet}
% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformatfalse} wird
% direkt auf \cs{@altsecnumformattrue} gesetzt}
-% \changes{v2.98c}{2008/03/07}{obsolet}
-% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v2.98c}{2008/03/07}{obsolet}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}^^A
% \begin{option}{pointlessnumbers}
-% \changes{v2.3h}{1995/01/19}{neue Option}
+% \changes{v2.3h}{1995/01/19}{neue Option}^^A
% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so,
% bei \texttt{pointlessnumber} wird explizit ein Fehler gemeldet}
% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformattrue} wird direkt
% auf \cs{@altsecnumformatfalse} gesetzt}
-% \changes{v2.98c}{2008/03/07}{obsolet}
-% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v2.98c}{2008/03/07}{obsolet}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}^^A
% Diese Optionens sind nun wirklich veraltet und sollten nicht mehr verwendet
% werden!
% \begin{macrocode}
@@ -405,11 +424,11 @@
% \end{macro}^^A \@altsecnumformattrue
% \end{macro}^^A \if@altsecnumformat
% \begin{macro}{\scr@altsecnumhook}
-% \changes{v2.98c}{2008/03/07}{Neu (intern)}
+% \changes{v2.98c}{2008/03/07}{Neu (intern)}^^A
% \begin{macro}{\scr@altsecnumhooktrue}
-% \changes{v2.98c}{2008/03/07}{Neu (intern)}
+% \changes{v2.98c}{2008/03/07}{Neu (intern)}^^A
% \begin{macro}{\scr@altsecnumhookfalse}
-% \changes{v2.98c}{2008/03/07}{Neu (intern)}
+% \changes{v2.98c}{2008/03/07}{Neu (intern)}^^A
% Es werden drei Hilfsmakros benötigt. Das erste davon wird bei
% \cs{begin{document}} ausgeführt (nachdem die \texttt{aux}-Datei gelesen
% wurde!) und schaltet den gewünschten Zustand ein. Dazu wird es per Option
@@ -444,7 +463,7 @@
% \end{macrocode}
% \begin{macro}{\@@maybeautodot}
% \changes{v2.8e}{2001/07/10}{neu (intern)}^^A
-% \changes{v3.00}{2008/10/07}{neuerdings überflüssige \cs{aftergroup}
+% \changes{v3.00}{2008/10/07}{neuerdings überflüssige \cs{aftergroup}^^A
% entfernt}^^A
% Die expandierte Darstellung wird dann auf Darstellungsbefehle für
% Zähler gescannt.
@@ -478,11 +497,11 @@
%
% \begin{macro}{\@startsection}
% \changes{v3.13a}{2014/09/11}{Vollständige Neudefinition zur Optimierung
-% der Erweiterung für das optionale Argument}%^^A
+% der Erweiterung für das optionale Argument}^^A
% \begin{macro}{\scr@startsection}
-% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A
+% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}^^A
% \begin{macro}{\scr@saved@startsection}
-% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A
+% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}^^A
% \KOMAScript{} benötigt ein eigenes \cs{@startsection}, weil die
% Funktionalität des \cs{@startsection} aus dem \LaTeX-Kern nicht
% genügt. Bevor allerdings die eigene Definition in Angriff genommen wird,
@@ -567,7 +586,7 @@
% \end{macrocode}
% \end{macro}^^A \At@startsection
% \begin{macro}{\Before@ssect}
-% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren}
+% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren}^^A
% Mit Hilfe dieser Anweisung kann Code in die Ausführung von \KOMAScript's
% eigenem \cs{scr@startsection} unmittelbar vor dem Aufruf von \cs{@ssect}
% eingefügt werden.
@@ -579,7 +598,7 @@
% \end{macrocode}
% \end{macro}^^A \Before@ssect
% \begin{macro}{\Before@sect}
-% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren}
+% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren}^^A
% Mit Hilfe dieser Anweisung kann Code in die Ausführung von \KOMAScript's
% eigenem \cs{scr@startsection} unmittelbar vor dem Aufruf von \cs{@sect}
% eingefügt werden.
@@ -591,9 +610,9 @@
% \end{macrocode}
% \end{macro}^^A \Before@sect
% \begin{macro}{\scr@section@dblarg}
-% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A
+% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}^^A
% \begin{macro}{\scr@section@xdblarg}
-% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A
+% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}^^A
% \begin{macrocode}
\newcommand{\scr@section@dblarg}[1]{%
\kernel@ifnextchar[%]
@@ -813,7 +832,7 @@
%
%
% \begin{macro}{\raggedsection}
-% \changes{v2.3h}{1996/01/20}{Überschriften werden \cs{raggedsection}
+% \changes{v2.3h}{1996/01/20}{Überschriften werden \cs{raggedsection}^^A
% gesetzt}^^A
% \changes{v2.3h}{1996/01/20}{\cs{raggedsection} ist als \cs{raggedright}
% voreingestellt}^^A
@@ -829,7 +848,9 @@
%
%
% \begin{macro}{\DeclareSectionCommand}
-% \changes{v3.15}{2014/11/21}{neue Anweisung}
+% \changes{v3.15}{2014/11/21}{neue Anweisung}^^A
+% \changes{v3.17}{2015/03/23}{Komplettumbau, um stilabhängige Optionen zu
+% ermöglichen}^^A
% Definition neuer oder Umdefinition existierender Gliederungsbefehle, die auf
% \cs{scr@startsection} basieren. Ebenso wird ein Verzeichniseintrag erzeugt,
% falls ein solcher noch nicht existiert. Die Deklaration geschieht über
@@ -838,252 +859,588 @@
% \begin{macrocode}
\DefineFamily{KOMAarg}
\DefineFamilyMember[.dsc]{KOMAarg}
-\newcommand*{\DeclareSectionCommand}[2][]{%
% \end{macrocode}
-% \begin{description}\item[\texttt{style}] Stil der
-% Gliederungsebene\end{description}
-% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\FamilyStringKey[.dsc]{KOMAarg}{style}{%
- \expandafter\noexpand\csname scr@#2@style\endcsname
- }%
- }\reserved@a
+% \begin{macro}{\DeclareSectionCommandStyleOption}
+% \changes{v3.17}{2015/03/23}{neue Anweisung}^^A
+% Definiert eine neue Option für einen Stil eines Gliederungsbefehls. Das
+% erste Argument ist der Stil, das zweite der Name der Option, das dritte ist
+% die Definition. Sollte innerhalb der Definition eine Familie benötigt
+% werden, so ist \texttt{KOMAarg} zu verwenden.
+% \begin{macrocode}
+\newcommand*{\DeclareSectionCommandStyleOption}[3]{%
+ \DeclareSectionCommandDummyOption{#2}%
+ \expandafter\g@addto@macro\csname scr@dsc@style@#1@options\endcsname{%
+ \DefineFamilyKey[.dsc]{KOMAarg}{#2}{#3}%
+ }%
+}
% \end{macrocode}
-% \begin{description}\item[\texttt{increaselevel}] Automatische Erhöhung des
-% Wertes von Option \texttt{level} mit Säumniswert 1. Diese Option wird nur
-% definiert, wenn \cs{DeclareSectionCommands} verwendet wurde, was an
-% \cs{scr@local@levelincrease} erkannt wird.\end{description}
-% \begin{macrocode}
- \scr@ifundefinedorrelax{scr@local@levelincrease}{%
- \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}%
+% \begin{macro}{\DeclareSectionCommandDummyOption}
+% \changes{v3.17}{2015/03/23}{neue Anweisung (intern)}^^A
+% \begin{macro}{\scr@dsc@dummyoptions}
+% \changes{v3.17}{2015/03/23}{Neu (intern)}^^A
+% Definiert eine neue Dummy-Option für einen Stil eines
+% Gliederungsbefehls. Das einzige Argument ist der Name der Option. Die
+% Dummy-Optionen werden in \cs{scr@dsc@dummyoptions} gesammelt.
+% \begin{macrocode}
+\newcommand*{\DeclareSectionCommandDummyOption}[1]{%
+ \@ifstar {%
+ \g@addto@macro{\scr@dsc@dummyoptions}{%
+ \DefineFamilyKey[.dsc]{KOMAarg}{#1}[]{\FamilyKeyStateProcessed}%
+ }%
}{%
- \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]%
- {\scr@local@levelincrease}%
+ \g@addto@macro{\scr@dsc@dummyoptions}{%
+ \DefineFamilyKey[.dsc]{KOMAarg}{#1}{\FamilyKeyStateProcessed}%
+ }%
}%
+}
+\newcommand*{\scr@dsc@dummyoptions}{}
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@dummyoptions
+% \end{macro}^^A \DeclareSectionCommandDummyOption
+% \end{macro}^^A \DeclareSectionCommandStyleOption
+% \begin{macro}{\DeclareSectionCommandStyleLengthOption}
+% \changes{v3.17}{2015/03/23}{neue Anweisung}^^A
+% Definiert eine für die aktuelle Ebene \cs{scr@dsc@current} eine neue
+% Längenoption und speichert das Ergebnis in einem Makro, das sich aus
+% Argument 3 gefolgt von der aktuellen Ebene gefolgt von Argument 4 ergibt.
+% \begin{macrocode}
+\newcommand*{\DeclareSectionCommandStyleLengthOption}[4]{%
+ \DeclareSectionCommandStyleOption{#1}{#2}{%
+ \FamilySetLength{KOMAarg}{#2}{\@tempskipa}{##1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifscr@dsc@expandtopt
+ \expandafter\edef\csname #3\scr@dsc@current#4\endcsname{%
+ \the\@tempskipa}%
+ \else
+ \expandafter\edef\csname #3\scr@dsc@current#4\endcsname{##1}%
+ \fi
+ \fi
+ }%
+}
% \end{macrocode}
-% \begin{description}\item[\texttt{level}] nummerische
-% Gliederungsebene\end{description}
-% \begin{macrocode}
- \scr@ifundefinedorrelax{scr@local@leveloffset}{%
- \edef\reserved@a{%
- \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{level}{%
- \expandafter\noexpand\csname #2numdepth\endcsname}%
- }\reserved@a
- }{%
- \edef\reserved@a{%
- \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{level}{%
- \noexpand\FamilySetCounterMacro{KOMAarg}{level}{%
- \expandafter\noexpand\csname #2numdepth\endcsname
- }%
- \unexpanded{%
- {\numexpr ##1+\scr@local@leveloffset\relax}%
- \edef\scr@local@leveloffset{%
- \the\numexpr\scr@local@leveloffset+\scr@local@levelincrease\relax
- }%
- }%
- }%
- }\reserved@a
+% \end{macro}^^A \DeclareSectionCommandStyleLengthOption
+% \begin{macro}{\DeclareSectionCommandStyleNumberOption}
+% \changes{v3.17}{2015/03/23}{neue Anweisung}^^A
+% Definiert eine für die aktuelle Ebene \cs{scr@dsc@current} eine neue
+% Zahlenoption und speichert das Ergebnis in einem Makro, das sich aus
+% Argument 3 gefolgt von der aktuellen Ebene gefolgt von Argument 4 ergibt.
+% \begin{macrocode}
+\newcommand*{\DeclareSectionCommandStyleNumberOption}[4]{%
+ \DeclareSectionCommandStyleOption{#1}{#2}{%
+ \FamilySetCounter{KOMAarg}{#2}{\@tempcnta}{##1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \expandafter\edef\csname #3\scr@dsc@current#4 \endcsname{\the\@tempcnta}%
+ \fi
}%
+}
+% \end{macrocode}
+% \end{macro}^^A \DeclareSectionCommandStyleNumberOption
+% \begin{macro}{\DeclareSectionCommandStyleFontOption}
+% \changes{v3.17}{2015/03/23}{neue Anweisung}^^A
+% Definiert eine für die aktuelle Ebene \cs{scr@dsc@current} eine neue
+% Schrift und speichert das Ergebnis in einem Element, das sich aus
+% Argument 3 gefolgt von der aktuellen Ebene gefolgt von Argument 4 ergibt.
+% \begin{macrocode}
+\newcommand*{\DeclareSectionCommandStyleFontOption}[4]{%
+ \DeclareSectionCommandStyleOption{#1}{#2}{%
+ \IfExistskomafont{#3\scr@dsc@current#4}{%
+ \setkomafont
+ }{%
+ \newkomafont
+ }{#3\scr@dsc@current#4}{##1}%
+ \FamilyKeyStateProcessed
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \DeclareSectionCommandStyleFontOption
+% Es folgt die Initialisierung zunächst der Dummys für die Optionen, die es
+% immer gibt. (Erklärung dieser Optionen folgt unten.)
+% \begin{macrocode}
+\DeclareSectionCommandDummyOption{style}
+\DeclareSectionCommandDummyOption{expandtopt}*
+\DeclareSectionCommandDummyOption{increaselevel}
+\DeclareSectionCommandDummyOption{level}
+\DeclareSectionCommandDummyOption{toclevel}
+\DeclareSectionCommandDummyOption{tocindent}
+\DeclareSectionCommandDummyOption{tocnumwidth}
+% \end{macrocode}
+% \begin{macro}{\scr@dsc@style@section@options}
+% Dann für die Optionen des Stils \texttt{section}:
+% \begin{macrocode}
+\newcommand*{\scr@dsc@style@section@options}{}
% \end{macrocode}
% \begin{description}\item[\texttt{indent}] Linker Einzug der
% Überschrift\end{description}
% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{indent}{%
- \expandafter\noexpand\csname scr@#2@sectionindent\endcsname}%
- }\reserved@a
+\DeclareSectionCommandStyleLengthOption{section}
+ {indent}{scr@}{@sectionindent}
% \end{macrocode}
% \begin{description}\item[\texttt{beforeskip}] Der Absolutwert gibt den
% vertikalen Abstand vor der Überschrift an. Negative Werte bedeuten, dass
% der Absatzeinzug nach der Überschrift unterdrückt werden
% soll.\end{description}
% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{beforeskip}{%
- \expandafter\noexpand\csname scr@#2@sectionbeforeskip\endcsname}%
- }\reserved@a
+\DeclareSectionCommandStyleLengthOption{section}
+ {beforeskip}{scr@}{@beforeskip}
% \end{macrocode}
% \begin{description}\item[\texttt{afterskip}] Wenn der Wert positiv ist,
% dann ist es der verikale Abstand nach der Überschrift. Ein negativer Wert
% signalisiert hingegen eine Spitzmarke. Der Absolutwert ist dann der
% horizontale Abstand nach der Spitzmarke.\end{description}
% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{afterskip}{%
- \expandafter\noexpand\csname scr@#2@sectionafterskip\endcsname}%
- }\reserved@a
+\DeclareSectionCommandStyleLengthOption{section}
+ {afterskip}{scr@}{@afterskip}
% \end{macrocode}
% \begin{description}\item[\texttt{font}] Schrifteinstellungen für das
-% Element.\end{description}
+% Element.\end{description}
% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{font}{%
- \noexpand\IfExistskomafont{#2}{%
- \noexpand\setkomafont
+\DeclareSectionCommandStyleFontOption{section}{font}{}{}
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@style@section@options
+%
+% \begin{macro}{\scr@dsc@style@chapter@options}
+% Dann für die Optionen des Stils \texttt{chapter}:
+% \begin{macrocode}
+%<*book|report>
+\newcommand*{\scr@dsc@style@chapter@options}{}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{beforeskip}] Der Absolutwert gibt den vertikalen Abstand vor
+% der Überschrift an. Negative Werte bedeuten, dass der Absatzeinzug nach
+% der Überschrift unterdrückt werden soll.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleLengthOption{chapter}
+ {beforeskip}{scr@}{@beforeskip}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{innerskip}] Der Absolutwert gibt den vertikalen Abstand
+% innerhalb der Überschrift zwischen Präfix-Zeile und Text an.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleLengthOption{chapter}
+ {innerskip}{scr@}{@innerskip}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{afterskip}] Der Absolutwert gibt den vertikalen Abstand nach
+% der Überschrift an.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleLengthOption{chapter}
+ {afterskip}{scr@}{@afterskip}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{font}] Schrifteinstellungen für das Element.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleFontOption{chapter}{font}{}{}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{font}] Schrifteinstellungen für die Präfixzeile des Elements.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleFontOption{chapter}{prefixfont}{}{prefix}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@style@chapter@options
+%
+% \begin{macro}{\scr@dsc@style@part@options}
+% Dann für die Optionen des Stils \texttt{part}:
+% \begin{macrocode}
+\newcommand*{\scr@dsc@style@part@options}{}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{beforeskip}] Der Absolutwert gibt den vertikalen Abstand vor
+% der Überschrift an. Negative Werte bedeuten, dass der Absatzeinzug nach
+% der Überschrift unterdrückt werden soll.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleLengthOption{part}
+ {beforeskip}{scr@}{@beforeskip}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{innerskip}] Der Absolutwert gibt den vertikalen Abstand
+% innerhalb der Überschrift zwischen Präfix-Zeile und Text an.
+% \end{description}
+% \begin{macrocode}
+%<*book|report>
+\DeclareSectionCommandStyleLengthOption{part}
+ {innerskip}{scr@}{@innerskip}
+%</book|report>
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{afterskip}] Der Absolutwert gibt den vertikalen Abstand nach
+% der Überschrift an.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleLengthOption{part}
+ {afterskip}{scr@}{@afterskip}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{font}] Schrifteinstellungen für das Element.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleFontOption{part}{font}{}{}
+% \end{macrocode}
+% \begin{description}
+% \item[\texttt{font}] Schrifteinstellungen für die Präfixzeile des Elements.
+% \end{description}
+% \begin{macrocode}
+\DeclareSectionCommandStyleFontOption{part}{prefixfont}{}{number}
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@style@part@options
+%
+% \begin{macro}{\scr@dsc@style@section@neededoptionstest}
+% \changes{v3.17}{2015/03/24}{Neu (intern)}
+% Dieses Anweisung überprüft, ob alle notwendigen Eigenschaften für die
+% Definition der spezifischen Gliederungsebene im section-Stil bekannt
+% sind. Sollte das nicht der Fall sein, meldet sie einen Fehler und sorgt sie
+% mit \cs{aftergroup}\cs{@gobbletwo} dafür, dass die Definition unterbleibt.
+% \begin{macrocode}
+\newcommand*{\scr@dsc@style@section@neededoptionstest}{%
+%<trace> \typeout{TRACE:
+%<trace> \string\scr@dsc@style@section@neededoptionstest\space for
+%<trace> \scr@dsc@current}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @sectionindent}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{section indent}{indent}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @beforeskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{before section skip}
+ {beforeskip}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{after section skip}
+ {afterskip}%
+ }{}%
+ \IfExistskomafont{\scr@dsc@current}{}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{font}{font}%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@style@section@neededoptionstest
+%
+% \begin{macro}{\scr@dsc@style@chapter@neededoptionstest}
+% \changes{v3.17}{2015/03/24}{Neu (intern)}
+% Dieses Anweisung überprüft, ob alle notwendigen Eigenschaften für die
+% Definition der spezifischen Gliederungsebene im chapter-Stil bekannt
+% sind. Sollte das nicht der Fall sein, meldet sie einen Fehler und sorgt sie
+% mit \cs{aftergroup}\cs{@gobbletwo} dafür, dass die Definition unterbleibt.
+% \begin{macrocode}
+%<*book|report>
+\newcommand*{\scr@dsc@style@chapter@neededoptionstest}{%
+%<trace> \typeout{TRACE:
+%<trace> \string\scr@dsc@style@chapter@neededoptionstest\space for
+%<trace> \scr@dsc@current}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @innerskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{inner chapter skip}
+ {innerskip}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @beforeskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{before chapter skip}
+ {beforeskip}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{after chaper skip}
+ {afterskip}%
+ }{}%
+ \IfExistskomafont{\scr@dsc@current}{}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{font}{font}%
+ }{}%
+ \IfExistskomafont{\scr@dsc@current prefix}{}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{prefix line font}
+ {prefixfont}%
+ }{}%
+}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@style@chapter@neededoptionstest
+%
+% \begin{macro}{\scr@dsc@style@part@neededoptionstest}
+% \changes{v3.17}{2015/03/24}{Neu (intern)}
+% Dieses Anweisung überprüft, ob alle notwendigen Eigenschaften für die
+% Definition der spezifischen Gliederungsebene im chapter-Stil bekannt
+% sind. Sollte das nicht der Fall sein, meldet sie einen Fehler und sorgt sie
+% mit \cs{aftergroup}\cs{@gobbletwo} dafür, dass die Definition unterbleibt.
+% \begin{macrocode}
+\newcommand*{\scr@dsc@style@part@neededoptionstest}{%
+%<trace> \typeout{TRACE:
+%<trace> \string\scr@dsc@style@part@neededoptionstest\space for
+%<trace> \scr@dsc@current}%
+%<*book|report>
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @innerskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{inner part skip}
+ {innerskip}%
+ }{}%
+%</book|report>
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @beforeskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{before part skip}
+ {beforeskip}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @afterskip}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{after part skip}
+ {afterskip}%
+ }{}%
+ \IfExistskomafont{\scr@dsc@current}{}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{font}{font}%
+ }{}%
+ \IfExistskomafont{\scr@dsc@current number}{}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{number font}
+ {prefixfont}%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \scr@dsc@style@part@neededoptionstest
+%
+% \begin{macro}{\ifscr@dsc@parametersonly}
+% \changes{v3.17}{2015/03/24}{neu}
+% Dieser Schalter wird verwendet, um die Einstellungen entsprechend dem
+% aktuell gültigen Stil zu ändern, die zugehörige Anweisunge selbst aber nicht
+% neu zu definieren. Er wird von einem leeren \texttt{style}-Wert lokal
+% gesetzt.
+% \begin{macrocode}
+\newif\ifscr@dsc@parametersonly
+% \end{macrocode}
+% \end{macro}^^A \ifscr@dsc@parametersonly
+%
+% \begin{macrocode}
+\newcommand*{\DeclareSectionCommand}[2][]{%
+ \edef\scr@dsc@current{#2}%
+% \end{macrocode}
+% Zunächst sind alle für Gliederungsbefehle bekannten Optionen nur
+% dummy-Optionen.
+% \begin{macrocode}
+ \scr@dsc@dummyoptions
+% \end{macrocode}
+% Die einzige Optionen, die wir direkt auswerten, ist der Stil:
+% \begin{description}\item[\texttt{style}] Stil der
+% Gliederungsebene\end{description}
+% \begin{macrocode}
+ \scr@dsc@parametersonlyfalse
+ \DefineFamilyKey[.dsc]{KOMAarg}{style}{%
+ \ifstr{##1}{}{%
+ \ifscr@dsc@parametersonlytrue
+ \FamilyKeyStateProcessed
+ }{%
+ \scr@ifundefinedorrelax{scr@start##1}{%
+ \FamilyKeyStateUnknownValue
}{%
- \noexpand\newkomafont
- }{#2}{####1}%
- \noexpand\FamilyKeyStateProcessed
+ \@namedef{scr@\scr@dsc@current @style}{##1}%
+ \FamilyKeyStateProcessed
+ }%
}%
- }\reserved@a
+ }%
+ \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
+ \begingroup
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @style}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}
+ {section command style}{style}%
+ }{}%
+ \endgroup
+ \@firstofone{%
+% \end{macrocode}
+% Nach nun der Stil für den Gliederungsbefehl bekannt ist, können wir dessen
+% Optionen aktivieren:
+% \begin{macrocode}
+ \scr@dsc@dummyoptions
+%<trace> \typeout{TRACE: style=\@nameuse{scr@\scr@dsc@current @style}}%
+ \@nameuse{scr@dsc@style@\@nameuse{scr@\scr@dsc@current @style}@options}%
% \end{macrocode}
+% Dazu kommen einige Optionen, die es schlicht immer gibt:
+% \begin{description}\item[\texttt{expandtopt}] Schalter, um die Längen zur
+% Definitionszeit statt zur Anwendungszeit komplett zu expandieren. Das
+% bedingt dann aber auch, dass die Längen nicht mehr abhängig von der
+% aktuellen Schriftgröße sind.\end{description}
+% \begin{macrocode}
+ \FamilyBoolKey[.dsc]{KOMAarg}{expandtopt}{scr@dsc@expandtopt}%
+ \scr@dsc@expandtoptfalse
+% \end{macrocode}
+% \begin{description}\item[\texttt{increaselevel}] Automatische Erhöhung des
+% Wertes von Option \texttt{level} mit Säumniswert 1. Diese Option wird nur
+% definiert, wenn \cs{DeclareSectionCommands} verwendet wurde, was an
+% \cs{scr@local@levelincrease} erkannt wird.\end{description}
+% \begin{macrocode}
+ \scr@ifundefinedorrelax{scr@local@levelincrease}{%
+ \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}%
+ }{%
+ \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]%
+ {\scr@local@levelincrease}%
+ }%
+% \end{macrocode}
+% \begin{description}\item[\texttt{level}] nummerische
+% Gliederungsebene\end{description}
+% \begin{macrocode}
+ \scr@ifundefinedorrelax{scr@local@leveloffset}{%
+ \edef\reserved@a{%
+ \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{level}{%
+ \expandafter\noexpand\csname \scr@dsc@current numdepth\endcsname}%
+ }\reserved@a
+ }{%
+ \edef\reserved@a{%
+ \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{level}{%
+ \noexpand\FamilySetCounterMacro{KOMAarg}{level}{%
+ \expandafter\noexpand\csname \scr@dsc@current numdepth\endcsname
+ }%
+ \unexpanded{%
+ {\numexpr ##1+\scr@local@leveloffset\relax}%
+ \edef\scr@local@leveloffset{%
+ \the\numexpr\scr@local@leveloffset+\scr@local@levelincrease\relax
+ }%
+ }%
+ }%
+ }\reserved@a
+ }%
% \begin{description}\item[\texttt{counterwithin}] Der Zähler dieser Ebene
% soll abhängen vom angegebenen Zähler.
% \end{description}
% \begin{macrocode}
- \FamilyStringKey[.dsc]{KOMAarg}{counterwithin}{\scr@local@counterwithin}%
- \let\scr@local@counterwithin\relax
+ \FamilyStringKey[.dsc]{KOMAarg}{counterwithin}{\scr@local@counterwithin}%
+ \let\scr@local@counterwithin\relax
% \end{macrocode}
% \begin{description}\item[\texttt{toclevel}] Ebene im Inhaltsverzeichnis
% (Voreinstellung ist derselbe Wert wie für level)\end{description}
% \begin{macrocode}
- \scr@ifundefinedorrelax{scr@local@tocleveloffset}{%
- \edef\reserved@a{%
- \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{toclevel}{%
- \expandafter\noexpand\csname #2tocdepth\endcsname}%
- }\reserved@a
- }{%
- \edef\reserved@a{%
- \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{%
- \noexpand\FamilySetCounterMacro{KOMAarg}{toclevel}{%
- \expandafter\noexpand\csname #2tocdepth\endcsname
- }%
- \unexpanded{%
- {\numexpr ##1+\scr@local@tocleveloffset\relax}%
- \edef\scr@local@tocleveloffset{%
- \the\numexpr\scr@local@tocleveloffset+\scr@local@levelincrease\relax
+ \scr@ifundefinedorrelax{scr@local@tocleveloffset}{%
+ \edef\reserved@a{%
+ \noexpand\FamilyCounterMacroKey[.dsc]{KOMAarg}{toclevel}{%
+ \expandafter\noexpand\csname \scr@dsc@current tocdepth\endcsname}%
+ }\reserved@a
+ }{%
+ \edef\reserved@a{%
+ \noexpand\DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{%
+ \noexpand\FamilySetCounterMacro{KOMAarg}{toclevel}{%
+ \expandafter\noexpand\csname \scr@dsc@current tocdepth\endcsname
+ }%
+ \unexpanded{%
+ {\numexpr ##1+\scr@local@tocleveloffset\relax}%
+ \edef\scr@local@tocleveloffset{%
+ \the\numexpr\scr@local@tocleveloffset
+ +\scr@local@levelincrease\relax
+ }%
}%
}%
- }%
- }\reserved@a
- }%
+ }\reserved@a
+ }%
% \end{macrocode}
% \begin{description}\item[\texttt{tocindent}] Einzug des
% Inhaltsverzeichniseintrags\end{description}
% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{tocindent}{%
- \expandafter\noexpand\csname scr@#2@tocindent\endcsname}%
- }\reserved@a
+ \DefineFamilyKey[.dsc]{KOMAarg}{tocindent}{%
+ \FamilySetLength{KOMAarg}{#2}{\@tempskipa}{##1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifscr@dsc@expandtopt
+ \expandafter\edef\csname scr@\scr@dsc@current @tocindent\endcsname{%
+ \the\@tempskipa}%
+ \else
+ \expandafter\edef\csname scr@\scr@dsc@current @tocindent\endcsname{
+ ##1}%
+ \fi
+ \fi
+ }%
% \end{macrocode}
% \begin{description}\item[\texttt{tocnumwidth}] Breite der Nummer des
% Inhaltsverzeichniseintrags\end{description}
% \begin{macrocode}
- \edef\reserved@a{%
- \noexpand\FamilyLengthMacroKey[.dsc]{KOMAarg}{tocnumwidth}{%
- \expandafter\noexpand\csname scr@#2@tocnumwidth\endcsname}%
- }\reserved@a
+ \DefineFamilyKey[.dsc]{KOMAarg}{tocnumwidth}{%
+ \FamilySetLength{KOMAarg}{#2}{\@tempskipa}{##1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \ifscr@dsc@expandtopt
+ \expandafter\edef\csname scr@\scr@dsc@current @tocnumwidth\endcsname{%
+ \the\@tempskipa}%
+ \else
+ \expandafter\edef\csname scr@\scr@dsc@current @tocnumwidth\endcsname{%
+ ##1}%
+ \fi
+ \fi
+ }%
% \end{macrocode}
% Optionen ausführen:
% \begin{macrocode}
- \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
+ \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
% \end{macrocode}
% Testen, ob alle benötigten Optionen für die (Um-)Definierung des
% Gliederungsbefehls gesetzt sind:
% \begin{macrocode}
- \begingroup
- \scr@ifundefinedorrelax{#2numdepth}{%
- \scr@declaresectioncommanderror{#2}{section level}{level}%
- }{}%
- \scr@ifundefinedorrelax{scr@#2@sectionindent}{%
- \scr@declaresectioncommanderror{#2}{section indent}{indent}%
- }{}%
- \scr@ifundefinedorrelax{scr@#2@sectionbeforeskip}{%
- \scr@declaresectioncommanderror{#2}{before section skip}{beforeskip}%
- }{}%
- \scr@ifundefinedorrelax{scr@#2@sectionafterskip}{%
- \scr@declaresectioncommanderror{#2}{after section skip}{afterskip}%
- }{}%
- \IfExistskomafont{#2}{}{%
- \scr@declaresectioncommanderror{#2}{font}{font}%
- }{}%
- \scr@ifundefinedorrelax{scr@#2@tocindent}{%
- \scr@declaresectioncommanderror{#2}{toc entry indent}{tocindent}%
- }{}%
- \scr@ifundefinedorrelax{scr@#2@tocnumwidth}{%
- \scr@declaresectioncommanderror{#2}{toc entry number
- width}{tocnumwidth}%
- }{}%
- \endgroup
+ \begingroup
+ \scr@ifundefinedorrelax{\scr@dsc@current numdepth}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{section level}{level}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @tocindent}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{toc entry indent}
+ {tocindent}%
+ }{}%
+ \scr@ifundefinedorrelax{scr@\scr@dsc@current @tocnumwidth}{%
+ \scr@declaresectioncommanderror{\scr@dsc@current}{toc entry number
+ width}{tocnumwidth}%
+ }{}%
+ \@nameuse{scr@dsc@style@%
+ \@nameuse{scr@\scr@dsc@current @style}%
+ @neededoptionstest}%
+ \endgroup
% \end{macrocode}
% Wenn alle Informationen für die (Um-)Definierung des Gliederungsbefehls
% zusammen sind \dots
% \begin{macrocode}
- \@firstofone{%
+ \@firstofone{%
% \end{macrocode}
% Zunächst sicherstellen, dass der Zähler existiert und ggf. dessen
% Ausgabe anpassen:
% \begin{macrocode}
- \@ifundefined{c@#2}{\newcounter{#2}}{}%
- \ifx\scr@local@counterwithin\relax
- \else\ifx\scr@local@counterwithin\@empty
- \@namedef{the#2}{\arabic{#2}}%
- \else
- \@removefromreset{#2}{\scr@local@counterwithin}%
- \@addtoreset{#2}{\scr@local@counterwithin}%
- \expandafter\def\csname the#2\expandafter\endcsname{%
- \csname the\scr@local@counterwithin\endcsname.\arabic{#2}}%
+ \@ifundefined{c@#2}{\newcounter{#2}}{}%
+ \ifx\scr@local@counterwithin\relax
+ \else\ifx\scr@local@counterwithin\@empty
+ \@namedef{the#2}{\arabic{#2}}%
+ \else
+ \@removefromreset{#2}{\scr@local@counterwithin}%
+ \@addtoreset{#2}{\scr@local@counterwithin}%
+ \expandafter\def\csname the#2\expandafter\endcsname{%
+ \csname the\scr@local@counterwithin\endcsname.\arabic{#2}}%
+ \fi
\fi
- \fi
- \@ifundefined{#2format}{%
- \@namedef{#2format}{\csname the#2\endcsname\autodot\enskip}%
- }{}%
+ \@ifundefined{#2format}{%
+ \@namedef{#2format}{\csname the#2\endcsname\autodot\enskip}%
+ }{}%
% \end{macrocode}
% Dann den eigentlichen Gliederungsbefehl definieren:
% \begin{macrocode}
- \ifstr{\csname scr@#2@style\endcsname}{}{%
- \ClassInfo{\KOMAClassName}{%
- not defining `\expandafter\string\csname #2\endcsname' due
- to\MessageBreak
- empty section style%
- }%
- }{%
- \scr@ifundefinedorrelax{scr@#2@style}{%
- \ClassWarning{\KOMAClassName}{using default section style}%
- \@namedef{scr@#2@style}{section}%
- }{}%
- \expandafter\edef\csname #2\endcsname{%
- \noexpand\scr@ifundefinedorrelax{%
- scr@start\csname scr@#2@style\endcsname}{%
- \noexpand\ClassError{\noexpand\KOMAClassName}{%
- section style `\csname scr@#2@style\endcsname' not defined}{%
- A not yet defined section style `\csname scr@#2@style\endcsname'
- has been setup for\MessageBreak
- `\expandafter\string\csname #2\endcsname'. You should either setup
- another style\MessageBreak
- or define the style.\MessageBreak
- If you'll continue, style `section' will be used as an emergency
- fallback.%
+ \ifscr@dsc@parametersonly
+ \ClassInfo{\KOMAClassName}{%
+ not defining `\expandafter\string\csname #2\endcsname' due
+ to\MessageBreak
+ empty section style option%
+ }%
+ \else
+ \scr@ifundefinedorrelax{scr@start\@nameuse{scr@#2@style}}{%
+ \ClassWarning{\KOMAClassName}{%
+ not defining `\expandafter\string\csname #2\endcsname'
+ due\MessageBreak
+ to not yet defined section style\MessageBreak
+ `\@nameuse{scr@#2@style}'%
}%
-% \end{macro}
-% Damit später der \textsf{titlesec}-Workaround funktioniert muss hier
-% ggf. der Befehl für den Stil geändert werden.
-% \begin{macro}
- \noexpand\def\expandafter\noexpand\csname scr@#2@style\endcsname
- {section}%
- }{}%
- \expandafter\noexpand
- \csname scr@start\csname scr@#2@style\endcsname\endcsname
- {#2}%
- \expandafter\noexpand\csname #2numdepth\endcsname
- \expandafter\noexpand\csname scr@#2@sectionindent\endcsname
- \expandafter\noexpand\csname scr@#2@sectionbeforeskip\endcsname
- \expandafter\noexpand\csname scr@#2@sectionafterskip\endcsname{%
- \noexpand\ifdim\noexpand\glueexpr
- \expandafter\noexpand\csname scr@#2@sectionbeforeskip\endcsname
- <\noexpand\z@
- \unexpanded{%
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
- \setlength{\parfillskip}{\z@ plus 1fil}%
- \fi
+ }{%
+ \expandafter\edef\csname #2\endcsname{%
+ \expandafter\noexpand
+ \csname scr@start\csname scr@#2@style\endcsname\endcsname
+ {#2}%
+ \expandafter\noexpand\csname #2numdepth\endcsname
+ \expandafter\noexpand\csname scr@#2@sectionindent\endcsname
+ \expandafter\noexpand\csname scr@#2@beforeskip\endcsname
+ \expandafter\noexpand\csname scr@#2@afterskip\endcsname{%
+ \noexpand\ifdim\noexpand\glueexpr
+ \expandafter\noexpand\csname scr@#2@beforeskip\endcsname
+ <\noexpand\z@
+ \unexpanded{%
+ \expandafter\ifnum\scr@v@is@gt{2.96}\relax
+ \setlength{\parfillskip}{\z@ plus 1fil}%
+ \fi
+ }%
+ \noexpand\fi
+ \unexpanded{%
+ \raggedsection\normalfont\sectfont\nobreak\usekomafont{#2}%
+ }%
}%
- \noexpand\fi
- \unexpanded{%
- \raggedsection\normalfont\sectfont\nobreak\usekomafont{#2}%
}%
}%
- }%
- }%
+ \fi
% \end{macrocode}
% Zu jedem Gliederungsbefehl gehört auch ein Befehl für den Kolumnentitel, der
% bei \KOMAScript{} außerdem eine Formatierung des Zählers benötigt. Falls
@@ -1091,41 +1448,42 @@
% |\DeclareSectionNumberDepth| erledigt, sonst direkt:
% \changes{v3.15a}{2015/01/21}{fix: \cs{endskip} statt \cs{enskip}}^^A
% \begin{macrocode}
- \@ifundefined{DeclareSectionNumberDepth}{%
- \@ifundefined{#2markformat}{%
- \@namedef{#2markformat}{\csname the#2\endcsname\autodot\enskip}%
- }{}%
- \@ifundefined{#2mark}{%
- \expandafter\let\csname #2mark\endcsname\@gobble
- }{}%
- }{%
- \DeclareSectionNumberDepth{#2}{\csname #2numdepth\endcsname}%
- }%
+ \@ifundefined{DeclareSectionNumberDepth}{%
+ \@ifundefined{#2markformat}{%
+ \@namedef{#2markformat}{\csname the#2\endcsname\autodot\enskip}%
+ }{}%
+ \@ifundefined{#2mark}{%
+ \expandafter\let\csname #2mark\endcsname\@gobble
+ }{}%
+ }{%
+ \DeclareSectionNumberDepth{#2}{\csname #2numdepth\endcsname}%
+ }%
% \end{macrocode}
% Und es gehören Befehle dazu, um einen Eintrag ins Inhaltsverzeichnis zu
% schreiben und den Eintrag auch darzustellen:
% \begin{macrocode}
- \scr@ifundefinedorrelax{#2tocdepth}{%
- \expandafter\let\csname #2tocdepth\expandafter\endcsname
- \csname #2numdepth\endcsname
- }{}%
- \expandafter\providecommand\expandafter*%
- \csname add#2tocentry\endcsname[2]{%
- \addtocentrydefault{#2}{##1}{##2}%
- }%
- \scr@ifundefinedorrelax{l@#2}{%
- \expandafter\edef\csname l@#2\endcsname{%
- \noexpand\bprot@dottedtocline
- \expandafter\noexpand\csname #2tocdepth\endcsname
- \expandafter\noexpand\csname scr@#2@tocindent\endcsname
- \expandafter\noexpand\csname scr@#2@tocnumwidth\endcsname
+ \scr@ifundefinedorrelax{#2tocdepth}{%
+ \expandafter\let\csname #2tocdepth\expandafter\endcsname
+ \csname #2numdepth\endcsname
+ }{}%
+ \expandafter\providecommand\expandafter*%
+ \csname add#2tocentry\endcsname[2]{%
+ \addtocentrydefault{#2}{##1}{##2}%
}%
- }{}%
+ \scr@ifundefinedorrelax{l@#2}{%
+ \expandafter\edef\csname l@#2\endcsname{%
+ \noexpand\bprot@dottedtocline
+ \expandafter\noexpand\csname #2tocdepth\endcsname
+ \expandafter\noexpand\csname scr@#2@tocindent\endcsname
+ \expandafter\noexpand\csname scr@#2@tocnumwidth\endcsname
+ }%
+ }{}%
+ }%
}%
}
% \end{macrocode}
% \begin{macro}{\scr@declaresectioncommanderror}
-% \changes{v3.15}{2014/11/21}{neue (interne) Anweisung}
+% \changes{v3.15}{2014/11/21}{neue (interne) Anweisung}^^A
% Gibt einen Fehler aus, falls \cs{DeclareSectionCommand} zu wenige Optionen
% übergeben wurde. Das erste Argument ist der Name des zu deklarierenden
% Befehls, das zweite ist eine textuelle Beschreibung der fehlenden Option und
@@ -1217,7 +1575,7 @@
% \end{macro}^^A \ProvideSectionCommand
%
% \begin{macro}{\DeclareSectionCommands}
-% \changes{v3.15}{2014/12/03}{neue Anweisung}
+% \changes{v3.15}{2014/12/03}{neue Anweisung}^^A
% Basierend auf \cs{DeclareSectionCommand} können gleich mehrere
% Gliederungsanweisungen definiert werden. Dabei sorgt Option
% \texttt{increaselevel} dafür, dass die Werte von \texttt{level} und
@@ -1243,7 +1601,7 @@
% \end{macro}^^A \DeclareSectionCommands
%
% \begin{macro}{\DeclareNewSectionCommands}
-% \changes{v3.15}{2014/12/03}{neue Anweisung}
+% \changes{v3.15}{2014/12/03}{neue Anweisung}^^A
% Im Unterschied zu \cs{DeclareNewSectionCommand} führt diese Anweisung die
% Änderung auch dann aus, wenn die Anweisung bereits deklariert war. Eine
% Fehlermeldung wird aber natürlich trotzdem ausgegeben. Dieser Unterschied
@@ -1284,7 +1642,7 @@
% \end{macro}^^A \DeclareNewSectionCommands
%
% \begin{macro}{\RedeclareSectionCommands}
-% \changes{v3.15}{2014/12/03}{neue Anweisung}
+% \changes{v3.15}{2014/12/03}{neue Anweisung}^^A
% Im Unterschied zu \cs{RedeclareNewSectionCommands} führt diese Anweisung die
% Änderung auch dann aus, wenn die Anweisung noch nicht deklariert war. Eine
% Fehlermeldung wird aber natürlich trotzdem ausgegeben. Dieser Unterschied
@@ -1323,7 +1681,9 @@
% \end{macro}^^A \RedeclareSectionCommands
%
% \begin{macro}{\ProvideSectionCommands}
-% \changes{v3.15}{2014/12/03}{neue Anweisung}
+% \changes{v3.15}{2014/12/03}{neue Anweisung}^^A
+% \changes{v3.17}{2015/03/23}{Umbau, um stilabhängige Optionen zu
+% ermöglichen}^^A
% Hier wird es nun wirklich schwierig, weil wir irgendwie dafür sorgen müssen,
% dass Option \texttt{increaselevel} funktioniert, auch wenn gar nichts
% definiert werden darf. Das macht die Geschichte ein wenig auswändig.
@@ -1346,7 +1706,7 @@
% \texttt{increaselevel} eine Wirkung haben dürfen. Der Rest wird per
% dummy-Optionen erledigt.
% \begin{macrocode}
- \DefineFamilyKey[.dsc]{KOMAarg}{style}{}%
+ \scr@dsc@dummyoptions
\FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]%
{\scr@local@levelincrease}%
\DefineFamilyKey[.dsc]{KOMAarg}{level}{%
@@ -1358,14 +1718,6 @@
\the\numexpr\scr@local@tocleveloffset+\scr@local@levelincrease\relax
}%
}%
- \DefineFamilyKey[.dsc]{KOMAarg}{indent}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{beforeskip}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{afterskip}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{font}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{counterwidthin}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{toclevel}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{tocindent}{}%
- \DefineFamilyKey[.dsc]{KOMAarg}{tocnumwidth}{}%
\FamilyExecuteOptions[.dsc]{KOMAarg}{#1}%
}%
}%
@@ -1386,8 +1738,8 @@
% wird gleichzeitig eine Präambel über und unter der jeweiligen
% Überschrift unterstützt.
%
-% \begin{macro}{\use@preamble}
-% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
+% \begin{macro}{\use@preamble}
+% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
% Dieses Makro dient allgemein zum Setzen einer Präambel (für
% Gliederungsüberschriften), wenn eine solche definiert ist. Als
% Argument wird der Name der Präambel übergeben, an den automatisch
@@ -1404,9 +1756,9 @@
}%
}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\set@preamble}
-% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
+% \end{macro}
+% \begin{macro}{\set@preamble}
+% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
% Das Makro \cs{set@preamble} dient allgemein der Defintion einer
% Präambel (für Gliederungsüberschriften). Als Argument wird der
% Name der Gliederungsebene übergeben. Danach folgt ein optionales
@@ -1415,15 +1767,15 @@
% angibt. Ist nur ein optionales Argument angegeben, so ist es die
% Position. Es folgt ein obligatorisches Argument mit dem Inhalt der
% Präambel. Die Definition der Präambel erfolgt global.
-% \begin{macro}{\set@@preamble}
-% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
-% \begin{macro}{\set@@@preamble}
-% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
-% \begin{macro}{\set@@@@preamble}
-% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
-% \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt}^^A
-% \changes{v3.12}{2012/10/16}{b mit derselben Funktion wie u erlaubt}^^A
-% \changes{v3.12a}{2014/02/14}{b korrigiert}^^A
+% \begin{macro}{\set@@preamble}
+% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
+% \begin{macro}{\set@@@preamble}
+% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
+% \begin{macro}{\set@@@@preamble}
+% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
+% \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt}^^A
+% \changes{v3.12}{2012/10/16}{b mit derselben Funktion wie u erlaubt}^^A
+% \changes{v3.12a}{2014/02/14}{b korrigiert}^^A
% Da mehrere optionale Argumente nach einem obligatorischen Argument
% auszuwerten sind, werden diverse Hilfsmakros benötigt.
% \begin{macrocode}
@@ -1602,8 +1954,8 @@
% Wie schon bei den Gliederungsbefehlen genügt \KOMAScript{} nicht, was der
% \LaTeX-Kern für Verzeichniseinträge zu bieten hat.
%
-% \begin{macro}{\bprot@dottedtocline}
-% \changes{v2.96a}{2006/11/30}{neu (intern)}
+% \begin{macro}{\bprot@dottedtocline}
+% \changes{v2.96a}{2006/11/30}{neu (intern)}^^A
% Dieses Makro wird benötigt, um die Ebenen unterhalb von \cs{chapter}
% bzw. \cs{section} im Inhaltsverzeichnis ebenfalls vor unerwünschten
% Umbrüchen zwischen Eintrag und Unterebene zu schützen.
@@ -1611,7 +1963,7 @@
%<*class>
%<*body>
\newcommand*{\bprot@dottedtocline}[5]{%
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \expandafter\ifnum\scr@v@is@gt{2.96}\relax
\ifnum #1>\c@tocdepth \else
\begingroup
\@tempcnta 20010
@@ -1634,7 +1986,7 @@
%</body>
%</class>
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
%
% \subsection{Grobeinteilung von Büchern}
@@ -1711,7 +2063,7 @@
%
% Teile gibt es tatsächlich bei allen drei Hauptklassen.
%
-% \begin{macro}{\appendix}
+% \begin{macro}{\appendix}
% Wird der Anhang aktiviert, so werden Kapitel bzw. Abschnitte zukünftig mit
% Buchstaben nummeriert.
% \changes{v2.2d}{1995/05/28}{\textsf{scrartcl} benötigt keinen Zähler für
@@ -1723,9 +2075,9 @@
% ausgeführt}^^A
% \changes{v2.8o}{2001/09/19}{\cs{par} eingefügt}^^A
% \changes{v2.95}{2006/07/04}{\cs{newcommand*} durch \cs{gdef} ersetzt}^^A
-% \changes{v2.95}{2006/07/04}{Ausführung von \cs{appendixmore}
+% \changes{v2.95}{2006/07/04}{Ausführung von \cs{appendixmore}^^A
% vereinfacht}^^A
-% \begin{macro}{\appendixmore}
+% \begin{macro}{\appendixmore}
% \cs{appendixmore} kann als \emph{hook} verwendet werden. Derzeit wird dieser
% allerdings noch recht stiefmütterlich behandelt und lediglich von Option
% \texttt{appendixprefix} definiert.
@@ -1749,8 +2101,8 @@
%</body>
%</class>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
%
% \subsection{Teile}
@@ -1782,7 +2134,7 @@
%
%
% \begin{macro}{\partnumdepth}
-% \changes{v3.12}{2013/12/16}{new read only command}
+% \changes{v3.12}{2013/12/16}{new read only command}^^A
% Darf nur gelesen, sollten aber nie umdefiniert werden und gibt die
% Nummerierungsebene der Gliederungsanweisungen an (nicht zu verwechseln mit
% der Verzeichnisebene der Gliederungsanweisungen). Dass sich die Ebene für
@@ -1835,7 +2187,7 @@
% \changes{v3.10}{2011/08/30}{Wenn \cs{partmark} \cs{@gobble} ist, wird
% stattdessen \cs{@mkboth}{}{} aufgerufen.}^^A
% \begin{macro}{\@spart}
-% \changes{v2.4n}{1997/05/28}{in der Sternvariante \cs{chaptermark}
+% \changes{v2.4n}{1997/05/28}{in der Sternvariante \cs{chaptermark}^^A
% bzw. \cs{sectionmark} eingefügt, um die Kolumnentitel zu
% löschen}^^A
% \changes{v2.6a}{2000/01/20}{zum Löschen der Kolumnentitel wird
@@ -1867,15 +2219,15 @@
% \begin{macro}{\partheadstartvskip}
% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}^^A
% \changes{v3.15}{2014/11/24}{\textsf{scrartcl} definiert und verwendet
-% \cs{scr@part@sectionbeforeskip}}^^A
+% \cs{scr@part@beforeskip}}^^A
% \begin{macro}{\partheadmidvskip}
-% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}
+% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}^^A
% \begin{macro}{\partheadendvskip}
-% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}
+% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}^^A
% \changes{v3.15}{2014/11/24}{\textsf{scrartcl} definiert und verwendet
-% \cs{scr@part@sectionafterskip}}^^A
+% \cs{scr@part@afterskip}}^^A
% \begin{macro}{\parheademptypage}
-% \changes{v3.02}{2009/01/01}{neue Konfigurationsmöglichkeit}
+% \changes{v3.02}{2009/01/01}{neue Konfigurationsmöglichkeit}^^A
% Diese vier Makros werden verwendet, um den Abstand über in und unter der
% Überschrift eines Teils und die leere Rückseite zu definieren. Prinzipiell
% kann damit auch der Umbruch zwischen Nummer und Text entfernt werden.
@@ -1883,16 +2235,30 @@
% müssen diese Hilfsmakros nicht bereits vor den Optionen definiert werden.
% \begin{macro}{\scr@part@sectionbeforeskip}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}^^A
+% \changes{v3.17}{2015/03/25}{umbenannt in \cs{scr@part@beforeskip}}^^A
% \begin{macro}{\scr@part@sectionafterskip}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}^^A
+% \changes{v3.17}{2015/03/25}{umbenannt in \cs{scr@part@afterskip}}^^A
% \begin{macro}{\scr@part@sectionindent}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung (unbenutzt)}^^A
+% \changes{v3.17}{2015/03/24}{entfernt}^^A
+% \end{macro}^^A \scr@part@sectionindent
+% \end{macro}^^A \scr@part@sectionafterskip
+% \end{macro}^^A \scr@part@sectionbeforeskip
+% \begin{macro}{\scr@part@beforeskip}
+% \changes{v3.17}{2015/03/25}{neu (intern) aus Umdefinierung von
+% \cs{scr@part@ectionbeforeskip}}^^A
+% \begin{macro}{\scr@part@innerskip}
+% \changes{v3.17}{2015/03/24}{neu (intern)}^^A
+% \begin{macro}{\scr@part@afterskip}
+% \changes{v3.17}{2015/03/25}{neu (intern) aus Umdefinierung von
+% \cs{scr@part@ectionbeforeskip}}^^A
% \begin{macro}{\scr@part@style}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}^^A
% Es wird der leere Stil verwendet, mit dem Neudefinitionen von \cs{part}
% über \cs{DeclareSectionCommand} verhindert werden.
% \begin{macrocode}
-\newcommand*{\scr@part@sectionbeforeskip}{%
+\newcommand*{\scr@part@beforeskip}{%
%<article> 4ex
% \end{macrocode}
% Hinweis: Das |+\baselineskip| wird benötigt, um Kompatibilitätsprobleme mit
@@ -1904,11 +2270,12 @@
%<article> \addvspace{\@tempskipa}%
%<report|book> \null\vskip-\baselineskip\vskip\@tempskipa
}
+%<book|report>\newcommand*{\scr@part@innerskip}{20\p@}
\newcommand*{\partheadmidvskip}{%
\par\nobreak
-%<book|report> \vskip 20\p@
+%<book|report> \vskip\@tempskipa
}
-\newcommand*{\scr@part@sectionafterskip}{%
+\newcommand*{\scr@part@afterskip}{%
%<article> 3ex
%<report|book> \z@ \@plus 1fil
}
@@ -1916,8 +2283,7 @@
%<article> \vskip\@tempskipa
%<report|book> \vskip\@tempskipa\newpage
}
-\newcommand*{\scr@part@sectionindent}{\z@}
-\newcommand*{\scr@part@style}{}
+\newcommand*{\scr@part@style}{part}
%<*report|book>
\newcommand*{\partheademptypage}{%
\if@twoside\if@openright
@@ -1939,7 +2305,7 @@
% \begin{macrocode}
%<*article>
\newcommand\part{\par
- \@tempskipa=\glueexpr\scr@part@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr\scr@part@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadstartvskip%
\@afterindentfalse
@@ -1955,7 +2321,7 @@
\else
\@tempswafalse
\fi
- \@tempskipa=\glueexpr\scr@part@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr\scr@part@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadstartvskip
\vbox to\z@{\vss\use@preamble{part@o}\strut\par}%
@@ -2001,6 +2367,7 @@
\normalfont\sectfont\nobreak
\ifnumbered{part}{%
\size@partnumber{\partformat}%
+%<book|report> \setlength{\@tempskipa}{\scr@part@innerskip}%
\partheadmidvskip
}{}%
\size@part{#2}\strut
@@ -2012,7 +2379,7 @@
\endgroup
%<*article>
\nobreak
- \@tempskipa=\glueexpr\scr@part@sectionafterskip\relax
+ \@tempskipa=\glueexpr\scr@part@afterskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadendvskip
\@afterheading
@@ -2029,7 +2396,7 @@
\endgroup
%<*article>
\nobreak
- \@tempskipa=\glueexpr\scr@part@sectionafterskip\relax
+ \@tempskipa=\glueexpr\scr@part@afterskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadendvskip
\@afterheading
@@ -2038,7 +2405,7 @@
}
%<*book|report>
\newcommand*{\@endpart}{\vbox to\z@{\use@preamble{part@u}\vss}%
- \@tempskipa=\glueexpr\scr@part@sectionafterskip\relax
+ \@tempskipa=\glueexpr\scr@part@afterskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadendvskip
\partheademptypage
@@ -2074,12 +2441,12 @@
\let\part@o@preamble\relax
%</book|report>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\addparttocentry}
-% \changes{v3.08}{2010/11/01}{Neu}
+% \changes{v3.08}{2010/11/01}{Neu}^^A
% Seit Version~3.08 wird der Eintrag nicht direkt innerhalb von \cs{part}
% per \cs{addcontentsline} erzeugt, sondern indirekt über diese Anweisung. Das
% erste Argument ist dabei die (formatierte) Nummer bzw. bei nicht
@@ -2114,6 +2481,8 @@
% Argument der Gliederungsbefehle}^^A
% \changes{v3.10}{2011/08/30}{Wenn \cs{partmark} \cs{@gobble} ist, wird
% \cs{@mkboth}{}{} aufgerufen.}^^A
+% \changes{v3.17}{2015/04/20}{Es wird \cs{addpartmark} verwendet und auch
+% nie \cs{@mkboth}{}{} aufgerufen.}^^A
% \begin{macro}{\@saddpart}
% \changes{v2.8c}{2001/06/29}{neu (intern)}^^A
% \begin{macrocode}
@@ -2132,7 +2501,7 @@
\else
\@tempswafalse
\fi
- \@tempskipa=\glueexpr\scr@part@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr\scr@part@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\partheadstartvskip
\vbox to\z@{\vss\use@preamble{part@o}\strut\par}%
@@ -2171,15 +2540,15 @@
\scr@ds@tocentry}%
\fi
\@spart{#2}%
- \ifx\partmark\@gobble
- \@mkboth{}{}%
- \else
- \expandafter\@mkboth\expandafter{%
- \expandafter\MakeMarkcase\expandafter{\scr@ds@head}}{}%
- \fi
+ \expandafter\addpartmark\expandafter{\scr@ds@head}%
}
+% \end{macrocode}
+% Da bereits \cs{@spart} den Kolumnentitel mit \cs{@mkboth} löscht, brauchen
+% wir hier im Gegensatz zu \cs{@saddchap} das nicht auch noch zu erledigen.
+% \begin{macrocode}
\newcommand*{\@saddpart}{\@spart}
% \end{macrocode}
+%
% \begin{macro}{\partmark}
% \changes{v2.9r}{2004/07/20}{neu (für \textsf{scrpage2})}^^A
% \begin{macrocode}
@@ -2187,6 +2556,25 @@
\let\partmark\@gobble
% \end{macrocode}
% \end{macro}^^A \partmark
+
+% \begin{macro}{\addpartmark}
+% \changes{v3.17}{2015/04/20}{neue Anweisung}^^A
+% Analog zu \cs{addchapmark} für \cs{addpart}. Auch dabei gilt, dass
+% \cs{if@mainmatter} hier auch von \textsf{scrreprt} definiert wird. Das ist
+% Absicht und vereinfacht dem einen oder anderen Paket oder Benutzer
+% vielleicht die Arbeit.
+% \begin{macrocode}
+\newcommand*\addpartmark[1]{%
+ \begingroup
+ \expandafter\let\csname if@mainmatter\expandafter\endcsname
+ \csname iffalse\endcsname
+ \c@secnumdepth=-2
+ \partmark{#1}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}^^A \addpartmark
+%
% \end{macro}^^A \@saddpart
% \end{macro}^^A \@addpart
% \end{macro}^^A \addpart
@@ -2267,7 +2655,7 @@
% stattfinden kann. Ab Version~2.96a gilt das nur noch, wenn die nachfolgende
% Überschrift wiederum eine \cs{part}-Überschrift ist.
% \begin{macrocode}
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \expandafter\ifnum\scr@v@is@gt{2.96}\relax
\endgroup
\penalty20010
\else
@@ -2296,7 +2684,7 @@
% \changes{v2.3c}{1995/08/06}{Duden Regel 6}^^A
% \changes{v2.5f}{1999/02/14}{überflüssiges Leerzeichen am Ende
% entfernt}^^A
-% \changes{v2.7h}{2001/04/22}{verlorenen Backslash in \cs{autodot}
+% \changes{v2.7h}{2001/04/22}{verlorenen Backslash in \cs{autodot}^^A
% wieder eingefügt}^^A
% Jede Gliederungsebene benötigt einen Zähler für die Gliederungsnummer und
% eine Darstellung des Zählers (\cs{the\dots}). Desweiteren wird eine
@@ -2317,7 +2705,7 @@
% \begin{macrocode}
\newcommand*\partname{Part}
% \end{macrocode}
-% \end{macro}^^A \partname
+% \end{macro}^^A \partname
%
%
% \begin{macro}{\raggedpart}
@@ -2397,8 +2785,24 @@
%<*class>
%<*book|report>
%<*option>
-\KOMA@ifkey{chapterprefix}{@chapterprefix}
+\newif\if@chapterprefix
+\KOMA@key{chapterprefix}[true]{%
+ \KOMA@set@ifkey{chapterprefix}{@chapterprefix}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@replacebool{.\KOMAClassFileName}%
+ {chapterprefix}{@chapterprefix}%
+ \KOMA@kav@remove{.\KOMAClassFileName}%
+ {headings}{twolinechapter}%
+ \KOMA@kav@remove{.\KOMAClassFileName}%
+ {headings}{onelinechapter}%
+ \KOMA@kav@xadd{.\KOMAClassFileName}%
+ {headings}{%
+ \if@chapterprefix twolinechapter\else onelinechapter\fi
+ }%
+ \fi
+}
\KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false}
+\KOMA@kav@add{.\KOMAClassFileName}{headings}{onelinechapter}%
%</option>
% \end{macrocode}
% \end{option}
@@ -2410,6 +2814,7 @@
% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option}^^A
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}^^A
+% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}^^A
% \begin{option}{noappendixprefix}
% \changes{v2.8}{2001/06/15}{neue Option}^^A
% \changes{v2.95c}{2006/08/21}{obsolete Option}^^A
@@ -2424,13 +2829,18 @@
\KOMA@key{appendixprefix}[true]{%
\KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{appendixprefix}{#1}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}%
\if@tempswa
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}%
\@ifundefined{appendixmore}{%
\def\appendixmore{\@chapterprefixtrue}%
}{%
\l@addto@macro\appendixmore{\@chapterprefixtrue}%
}%
\else
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}%
\@ifundefined{appendixmore}{%
\def\appendixmore{\@chapterprefixfalse}%
}{%
@@ -2460,22 +2870,24 @@
\newcommand*{\size@chapterprefix}{\size@chapter}
%</prepare>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
%
% \begin{macro}{\chapterheadstartvskip}
-% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@sectionbeforeskip} wird
+% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@beforeskip} wird
% definiert und verwendet}^^A
% \begin{macro}{\chapterheadendvskip}
% \changes{v3.11c}{2013/02/13}{\cs{chapterheadstartvskip} und
% \cs{chapterheadendvskip} haben in \textsf{scrartcl} nichts verloren}^^A
-% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@sectionafterskip} wird
+% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@afterskip} wird
% definiert und verwendet}^^A
% \changes{v3.15}{2014/12/10}{\cs{vspace} durch \cs{vskip} ersetzt, damit
% \cs{lastskip} korrekt gesetzt ist}
% \begin{macro}{\chapterheadmidvskip}
-% \changes{v3.15}{2014/11/20}{neue Anweisung}
+% \changes{v3.15}{2014/11/20}{neue Anweisung}^^A
+% \changes{v3.17}{2015/03/25}{\cs{scr@chapter@innerskip} wird
+% definiert und verwendet}^^A
% Mit diesen Anweisungen wird üblicherweise der Abstand zwischen
% oberem Rand des Textbereichs und der Überschrift bzw. der Abstand
% zwischen der Überschrift und dem Text des Kapitels gesetzt. Man kann
@@ -2490,12 +2902,28 @@
% zunächst einige Hilfsanweisung definiert und verwendet. Das bedeutet jedoch
% nicht, dass \cs{chapter} mit \cs{DeclareSectionCommand} den Stil von normalen
% Gliederungsbefehlen erhalten kann!
-% \begin{macro}{\scr@chapter@sectionbeforeskip}
+% \begin{macro}{\scr@chapter@beforeskip}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}^^A
-% \begin{macro}{\scr@chapter@sectionafterskip}
+% \changes{v3.17}{2015/03/25}{umbenannt in
+% \cs{scr@chapter@beforeskip}}^^A
+% \begin{macro}{\scr@chapter@afterskip}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}^^A
+% \changes{v3.17}{2015/03/25}{umbenannt in
+% \cs{scr@chapter@afterskip}}^^A
% \begin{macro}{\scr@chapter@sectionindent}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung (unbenutzt)}^^A
+% \changes{v3.17}{2015/04/24}{entfernt}^^A
+% \end{macro}^^A \scr@chapter@sectionindent
+% \end{macro}^^A \scr@chapter@afterskip
+% \end{macro}^^A \scr@chapter@beforeskip
+% \begin{macro}{\scr@chapter@beforeskip}
+% \changes{v3.17}{2015/03/25}{Neu (intern) aus Umdefinierung von
+% \cs{scr@chapter@sectionbeforeskip}}^^A
+% \begin{macro}{\scr@chapter@innerskip}
+% \changes{v3.17}{2015/03/25}{Neu (intern)}^^A
+% \begin{macro}{\scr@chapter@afterskip}
+% \changes{v3.17}{2015/03/25}{Neu (intern) aus Umdefinierung von
+% \cs{scr@chapter@sectionafterskip}}^^A
% \begin{macro}{\scr@chapter@style}
% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}^^A
% Dabei wird der leere Stil verwendet, mit dem Neudefinitionen von \cs{part}
@@ -2503,32 +2931,31 @@
% jedoch Einstellungen einiger Werte darüber erfolgen.
% \begin{macrocode}
%<*prepare>
-\newcommand*{\scr@chapter@sectionbeforeskip}{\z@}
-\let\scr@chapter@sectionbeforeskip\z@
-\newcommand*{\scr@chapter@sectionafterskip}{\z@}
-\let\scr@chapter@sectionafterskip\z@
-\newcommand*{\scr@chapter@sectionindent}{\z@}
+\newcommand*{\scr@chapter@beforeskip}{\z@}
+\let\scr@chapter@beforeskip\z@
+\newcommand*{\scr@chapter@afterskip}{\z@}
+\let\scr@chapter@afterskip\z@
+\newcommand*{\scr@chapter@innerskip}{\z@}
\let\scr@chapter@sectionindent\z@
-\newcommand*{\scr@chapter@style}{}
+\newcommand*{\scr@chapter@style}{chapter}
% \end{macrocode}
% \end{macro}^^A \scr@chapter@style
% \end{macro}^^A \scr@chapter@sectionindent
-% \end{macro}^^A \scr@chapter@sectionbeforeskip
-% \end{macro}^^A \scr@chapter@sectionafterskip
+% \end{macro}^^A \scr@chapter@beforeskip
+% \end{macro}^^A \scr@chapter@afterskip
% \begin{macrocode}
\newcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}
\newcommand*{\chapterheadendvskip}{\vskip\@tempskipa}
-\newcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}
+\newcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}
%</prepare>
% \end{macrocode}
% \end{macro}^^A \chapterheadmidvskip
% \end{macro}^^A \chapterheadendvskip
% \end{macro}^^A \chapterheadstartvskip
%
-%
% \begin{macro}{\chapternumdepth}
-% \changes{v3.12}{2013/12/16}{new read only command}
-% Darf nur gelesen, sollten aber nie umdefiniert werden und geben die
+% \changes{v3.12}{2013/12/16}{new read only command}^^A
+% Darf nur gelesen, sollten aber nie umdefiniert werden und gibt die
% Nummerierungsebene der Gliederungsanweisungen an (nicht zu verwechseln mit
% der Verzeichnisebene der Gliederungsanweisungen):
% \begin{macrocode}
@@ -2613,17 +3040,17 @@
\newcommand*{\use@chapter@o@preamble}{%
{%
\settoheight{\@tempdima}{%
- \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr \scr@chapter@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\vbox{\chapterheadstartvskip}%
}%
\settodepth{\@tempdimb}{%
- \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr \scr@chapter@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\vbox{\chapterheadstartvskip}%
}%
\addtolength{\@tempdima}{\@tempdimb}%
- \setbox0\vbox{%
+ \setbox\z@\vbox{%
\use@preamble{chapter@o}%
}%
\setlength{\@tempdimb}{\ht0}%
@@ -2632,7 +3059,7 @@
\vskip-\baselineskip
\vbox to \@tempdima{%
\vfill
- \box0
+ \box\z@
}%
\vss
}\vskip-\parskip\vskip-\baselineskip
@@ -2711,7 +3138,7 @@
% \end{macrocode}
% \changes{v3.15}{2014/11/20}{Resetliste des Kapitelzählers ausführen}^^A
% \begin{macrocode}
- \ifnum\scr@compatibility<\@nameuse{scr@v@3.15}\relax\else
+ \expandafter\ifnum\scr@v@is@lt{3.15}\relax\else
\begingroup
\let\@elt\@stpelt
\csname cl@chapter\endcsname
@@ -2762,14 +3189,16 @@
% \changes{v3.15}{2014/11/20}{Generalumbau}^^A
% \changes{v3.15}{2014/12/09}{\cs{raggedchapter} ersetzt
% \cs{raggedsection}}^^A
+% \changes{v3.17}{2015/04/03}{Verwendung von \cs{usefontofkomafont} für die
+% initiale Fontumstellung}^^A
% \begin{macrocode}
\newcommand*{\@@makechapterhead}[1]{%
- \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr \scr@chapter@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\chapterheadstartvskip
{%
\setlength{\parindent}{\z@}\setlength{\parfillskip}{\fill}%
- \normalfont\sectfont\nobreak\nobreak\usekomafont{chapter}{}%
+ \normalfont\sectfont\nobreak\nobreak\usefontofkomafont{chapter}%
%<book> \if@mainmatter
\def\IfUseNumber{\ifnumbered{chapter}}%
%<book> \else\let\IfUseNumber\@secondoftwo\fi
@@ -2786,7 +3215,9 @@
\usekomafont{chapter}{%
\IfUsePrefixLine{%
{\usekomafont{chapterprefix}{%
- \chapterformat\chapterheadmidvskip
+ \chapterformat
+ \setlength{\@tempskipa}{\scr@chapter@innerskip}%
+ \chapterheadmidvskip
}}%
}{%
\chapterformat
@@ -2801,7 +3232,7 @@
}%
}%
\nobreak\par\nobreak
- \@tempskipa=\glueexpr \scr@chapter@sectionafterskip\relax
+ \@tempskipa=\glueexpr \scr@chapter@afterskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\chapterheadendvskip
}
@@ -2826,9 +3257,9 @@
\newcommand*{\chapter@o@preamble}{}
\let\chapter@o@preamble\relax
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \begin{macro}{\addchaptertocentry}
% \changes{v3.08}{2010/11/01}{Neu}^^A
% \changes{v3.12}{2013/09/24}{Behandlung von \cs{if@chaptertolists} hier}^^A
@@ -2862,7 +3293,7 @@
% \begin{macro}{\@@makeschapterhead}
% \changes{v2.8p}{2001/09/25}{neu (intern)}^^A
% \changes{v2.9p}{2003/06/28}{\cs{parfillskip} auf \cs{fill} gesetzt}^^A
-% \changes{v2.9q}{2004/03/24}{Klammerung an \cs{@@makechapterhead}
+% \changes{v2.9q}{2004/03/24}{Klammerung an \cs{@@makechapterhead}^^A
% angepasst}^^A
% \changes{v3.15}{2014/12/09}{\cs{raggedchapter} ersetzt
% \cs{raggedsection}}^^A
@@ -2881,7 +3312,7 @@
\fi
}
\newcommand*{\@@makeschapterhead}[1]{%
- \@tempskipa=\glueexpr \scr@chapter@sectionbeforeskip\relax
+ \@tempskipa=\glueexpr \scr@chapter@beforeskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\chapterheadstartvskip
{%
@@ -2890,7 +3321,7 @@
\raggedchapter \interlinepenalty \@M \usekomafont{chapter}{#1}\par
}%
\nobreak\par\nobreak
- \@tempskipa=\glueexpr \scr@chapter@sectionafterskip\relax
+ \@tempskipa=\glueexpr \scr@chapter@afterskip\relax
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi
\chapterheadendvskip%
}
@@ -2914,7 +3345,7 @@
% \cs{@makeschapterhead} ersetzt}^^A
% \changes{v2.0e}{1994/08/10}{\cs{afterheadings} durch
% \cs{@afterheading} ersetzt}^^A
-% \changes{v2.1a}{1994/10/29}{Argument von \cs{chaptermark}
+% \changes{v2.1a}{1994/10/29}{Argument von \cs{chaptermark}^^A
% entfernt bei \textsf{scrbook}}^^A
% \changes{v2.0e}{1994/10/12}{mehrfach \cs{markboth} durch
% \cs{sectionmark} ersetzt}^^A
@@ -2974,6 +3405,8 @@
% wird, dass ein korrekter Link erzeugt wird.
% \begin{macro}{\@addchap}
% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addchapmark}}^^A
+% \changes{v3.17}{2015/04/20}{\cs{scr@ds@head} in \cs{addchapmark}
+% expandieren}^^A
% \begin{macro}{\@saddchap}
% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addchapmark}}^^A
% \begin{macrocode}
@@ -3021,7 +3454,7 @@
}%
\fi
\fi
- \addchapmark{\scr@ds@head}%
+ \expandafter\addchapmark\expandafter{\scr@ds@head}%
}%
\newcommand*{\@saddchap}[1]{\@schapter{#1}\addchapmark{}}%
% \end{macrocode}
@@ -3033,10 +3466,10 @@
% ergänzen, so wie man das auch bei \cs{@schapter} gemacht hatte. Ab
% Version 6.71b ist dieser Bug behoben. Damit ich nicht eines Fehlers
% verdächtigt werde, wird ggf. eine entsprechende Meldung ausgegeben.
-% \changes{v2.7e}{2001/04/16}{fehlende, schließende Klammer
-% ergänzt}
-% \changes{v2.7f}{2001/04/17}{fehlendes Klammerpaar ergänzt}
-% \changes{v2.8q}{2001/11/17}{\cs{AfterPackage} zur Überprüfung der
+% \changes{v2.7e}{2001/04/16}{fehlende, schließende Klammer
+% ergänzt}^^A
+% \changes{v2.7f}{2001/04/17}{fehlendes Klammerpaar ergänzt}^^A
+% \changes{v2.8q}{2001/11/17}{\cs{AfterPackage} zur Überprüfung der
% \textsf{hyperref}-Version verwendet}
% \begin{macrocode}
%<*book>
@@ -3100,7 +3533,7 @@
% \end{macrocode}
% \end{macro}
% \begin{option}{chapterentrydots}
-% \changes{v3.15}{2014/12/10}{Neu}
+% \changes{v3.15}{2014/12/10}{Neu}^^A
% Seit Version~3.15 kann man mit dieser Option Pünktchen zwischen Text und
% Seitenzahl in den Kapiteleinträgen einschalten.
% \begin{macrocode}
@@ -3117,7 +3550,7 @@
\ifnum \lastpenalty<20010
\addpenalty{-\@highpenalty}%
\fi
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}%
+ \expandafter\ifnum\scr@v@is@lt{3.15}%
\vskip 1.0em \@plus\p@
\else
\addvspace{1.0em \@plus\p@}%
@@ -3139,7 +3572,7 @@
\usekomafont{chapterentry}{#1\nobreak
\usekomafont{chapterentrypagenumber}{%
% \end{macrocode}
-% \changes{v3.15}{2014/10/12}{optionale Pünktchen im Eintrag}
+% \changes{v3.15}{2014/10/12}{optionale Pünktchen im Eintrag}^^A
% \begin{macrocode}
{\usekomafont{chapterentrydots}{%
\if@chapterentrywithdots
@@ -3149,7 +3582,7 @@
\fi
\hfill}}\nobreak
\hb@xt@\@pnumwidth{\hss#2}}}\par
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \expandafter\ifnum\scr@v@is@gt{2.96}\relax
\endgroup
\penalty20009
\else
@@ -3182,13 +3615,14 @@
% \begin{macro}{\thechapter}
% \begin{macro}{\chapterformat}
% \changes{v2.3c}{1995/08/06}{Duden Regel 6}^^A
-% \changes{v2.7}{2000/01/03}{einfaches Leerzeichen durch \cs{enskip}
+% \changes{v2.7}{2000/01/03}{einfaches Leerzeichen durch \cs{enskip}^^A
% ersetzt}^^A
% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} eingefügt}^^A
% \changes{v2.8o}{2001/09/19}{\cs{chapappifchapterprefix} statt
% \cs{chapappifprefix}} ^^A
% \changes{v2.96a}{2006/12/02}{\cs{mbox} eingefügt, um \cs{caps} zu
% ermöglichen}^^A
+% \changes{v3.17}{2015/03/08}{\cs{enskip} not in prefix line mode}^^A
% \begin{macro}{\chaptermarkformat}
% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer erhöht}^^A
% \changes{v2.3c}{1995/08/06}{Duden Regel 6}^^A
@@ -3207,7 +3641,8 @@
\newcounter{chapter}
\renewcommand*{\thechapter}{\@arabic\c@chapter}
\newcommand*{\chapterformat}{%
- \mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot\enskip}%
+ \mbox{\chapappifchapterprefix{\nobreakspace}\thechapter\autodot
+ \IfUsePrefixLine{}{\enskip}}%
}
\newcommand*\chaptermarkformat{\chapappifchapterprefix{\ }%
\thechapter\autodot\enskip}
@@ -3226,12 +3661,12 @@
% \end{macro}^^A \chaptername
%
%
-% \begin{macro}{\appendixname}
+% \begin{macro}{\appendixname}
% Der Name des Anhangs.
% \begin{macrocode}
\newcommand*\appendixname{Appendix}
% \end{macrocode}
-% \end{macro}^^A \appendixname
+% \end{macro}^^A \appendixname
%
%
% \begin{macro}{\chapappifprefix}
@@ -3269,7 +3704,7 @@
}
\newcommand*{\chapapp}{\@chapapp}
% \end{macrocode}
-% \begin{macro}{\@chapapp}
+% \begin{macro}{\@chapapp}
% Dieses Makro enthält den Kapitelname (\cs{chaptername}), der sich im
% Anhang üblicherweise ändert (\cs{appendixname}).
% \begin{macrocode}
@@ -3289,10 +3724,10 @@
% \begin{macrocode}
\newcommand*\chaptermark[1]{}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
% \begin{macro}{\addchapmark}
-% \changes{v3.12}{2013/03/26}{neue Anweisung}
+% \changes{v3.12}{2013/03/26}{neue Anweisung}^^A
% Für \cs{addchapmark} gilt dies hingegen nicht. Das wird nicht von den Stilen
% definiert, sondern direkt mit der gewünschten Definition
% initialisiert. Bitte nicht davon verwirren lassen, dass \cs{if@mainmatter}
@@ -3313,7 +3748,7 @@
%
%
% \begin{macro}{\raggedchapter}
-% \changes{v3.15}{2014/12/09}{neu}
+% \changes{v3.15}{2014/12/09}{neu}^^A
% Da das doch recht häufig gewünscht wird, kann man die Ausrichtung der
% Kapitelüberschrift auch getrennt von der Ausrichtung der übrigen
% Überschriften einstellen.
@@ -3427,7 +3862,7 @@
% der Buch- oder der Bericht-Klasse. Bei diesen handelt es sich hier
% stattdessen um eine normale Ebene.
% \begin{option}{chapterentrydots}
-% \changes{v3.15}{2014/12/10}{Neu}
+% \changes{v3.15}{2014/12/10}{Neu}^^A
% Seit Version~3.15 kann man mit dieser Option Pünktchen zwischen Text und
% Seitenzahl in den Kapiteleinträgen einschalten.
% \begin{macrocode}
@@ -3462,7 +3897,7 @@
\usekomafont{sectionentry}{#1\nobreak
\usekomafont{sectionentrypagenumber}{%
% \end{macrocode}
-% \changes{v3.15}{2014/10/12}{optionale Pünktchen im Eintrag}
+% \changes{v3.15}{2014/10/12}{optionale Pünktchen im Eintrag}^^A
% \begin{macrocode}
{\usekomafont{sectionentrydots}{%
\if@sectionentrywithdots
@@ -3473,14 +3908,14 @@
\hfill}}\nobreak
\hb@xt@\@pnumwidth{\hss#2}}}\par
\endgroup
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \expandafter\ifnum\scr@v@is@gt{2.96}\relax
\penalty20008
\fi
\fi
}
% \end{macrocode}
% \begin{macro}{\raggedsectionentry}
-% \changes{v2.97c}{2007/06/21}{neue Anweisung}
+% \changes{v2.97c}{2007/06/21}{neue Anweisung}^^A
% Ausrichtung des Textes der Abschnittseinträge im Inhaltsverzeichnis.
% \begin{macrocode}
\newcommand*{\raggedsectionentry}{}
@@ -3513,6 +3948,8 @@
% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addsecmark}}^^A
% \begin{macro}{\@saddsec}
% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addsecmark}}^^A
+% \changes{v3.17}{2015/04/20}{\cs{scr@ds@head} in \cs{addsecmark}
+% expandieren}^^A
% \KOMAScript{} bietet in allen drei Hauptklassen den zusätzlichen
% Gliederungsbefehl \cs{addsec}. Es handelt sich dabei um einen mit
% \cs{section*} vergleichbaren Befehl, bei dem jedoch der
@@ -3544,7 +3981,7 @@
\ifx\scr@ds@tocentry\@empty\else
\addsectiontocentry{}{\scr@ds@tocentry}%
\fi
- \addsecmark{\scr@ds@head}%
+ \expandafter\addsecmark\expandafter{\scr@ds@head}%
}
\newcommand*{\@saddsec}[1]{\section*{#1}\addsecmark{}}
% \end{macrocode}
@@ -3560,7 +3997,7 @@
% behebt einen Bug im color Paket}^^A
% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig
% von Option \texttt{version})}^^A
-% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak}
+% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak}^^A
% entfernt}^^A
% \changes{v3.13a}{2014/08/07}{Absicherung der Abstände bei
% aufeinanderfolgenden Überschriften entsprechend \cs{@startsection}}^^A
@@ -3572,7 +4009,7 @@
% \begin{macrocode}
\newkomafont{minisec}{}
\newcommand\minisec[1]{%
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.13a}\relax
+ \expandafter\ifnum\scr@v@is@lt{3.13a}\relax
\@afterindentfalse \vskip 1.5ex
\else
\if@noskipsec \leavevmode \fi
@@ -3585,7 +4022,7 @@
\fi
\fi
{\parindent \z@
- \ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
+ \expandafter\ifnum\scr@v@is@gt{2.96}\relax
\setlength{\parfillskip}{\z@ plus 1fil}\fi
\raggedsection\normalfont\sectfont\nobreak
\usekomafont{minisec}#1\par\nobreak}\nobreak%
@@ -3639,20 +4076,20 @@
%
% \begin{Counter}{section}
% \begin{macro}{\thesection}
-% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}
+% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}^^A
% \changes{v3.03b}{2009/06/09}{\cs{relax} im Kompatibilitätstest durch ein
% Leerzeichen ersetzt, obwohl das die Wartbarkeit verschlechtert, aber
% \textsf{hyperref} hat mit dem \cs{relax} ein nicht dokumentieres Problem}
% \begin{macro}{\sectionmarkformat}
% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer
-% erhöht}
-% \changes{v2.3c}{1995/08/06}{Duden Regel 6}
+% erhöht}^^A
+% \changes{v2.3c}{1995/08/06}{Duden Regel 6}^^A
% \begin{Counter}{subsection}
% \begin{macro}{\thesubsection}
% \begin{macro}{\subsectionmarkformat}
% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer
-% erhöht}
-% \changes{v2.3c}{1995/08/06}{Duden Regel 6}
+% erhöht}^^A
+% \changes{v2.3c}{1995/08/06}{Duden Regel 6}^^A
% \begin{Counter}{subsubsection}
% \begin{macro}{\thesubsubsection}
% \begin{Counter}{paragraph}
@@ -3703,14 +4140,18 @@
}
% \end{macrocode}
% \begin{macro}{\@seccntformat}
-% \changes{v2.3c}{1995/08/06}{CJK erweitert}
-% \changes{v2.9p}{2004/01/07}{\cs{protect} eingefügt}
-% \changes{v2.97}{2007/01/24}{Workaround für das blöde \cs{protect}}
+% \changes{v2.3c}{1995/08/06}{CJK erweitert}^^A
+% \changes{v2.9p}{2004/01/07}{\cs{protect} eingefügt}^^A
+% \changes{v2.97}{2007/01/24}{Workaround für das blöde \cs{protect}}^^A
+% \changes{v3.17}{2015/02/23}{verwendet \cs{\dots format}, wenn es
+% existiert}^^A
+% \changes{v3.17}{2015/03/31}{verwendet \cs{protect} für \cs{\dots
+% format}}^^A
% \begin{macro}{\othersectionlevelsformat}
-% \changes{v2.7}{2000/01/03}{neu}
-% \changes{v2.7}{2000/01/03}{\cs{quad} durch \cs{enskip} ersetzt}
-% \changes{v2.7i}{2001/05/17}{\cs{let} durch \cs{def} ersetzt}
-% \changes{v2.97}{2007/01/24}{statt einem Argument jetzt drei}
+% \changes{v2.7}{2000/01/03}{neu}^^A
+% \changes{v2.7}{2000/01/03}{\cs{quad} durch \cs{enskip} ersetzt}^^A
+% \changes{v2.7i}{2001/05/17}{\cs{let} durch \cs{def} ersetzt}^^A
+% \changes{v2.97}{2007/01/24}{statt einem Argument jetzt drei}^^A
% Bei den Ebenen ab \cs{section} erfolgt die Formatierung der
% Gliederungnummer in der Überschrift mit einer gemeinsamen
% Anweisung. Die interne Anweisung \cs{@seccntformat} wird dabei von
@@ -3732,8 +4173,15 @@
% \begin{macrocode}
\newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip}
\renewcommand*{\@seccntformat}[1]{%
- \protect\othersectionlevelsformat{#1}{%
- \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
+ \expandafter\ifnum\scr@v@is@lt{3.17}\relax
+ \protect\othersectionlevelsformat{#1}{%
+ \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
+ \else
+ \scr@ifundefinedorrelax{#1format}{%
+ \protect\othersectionlevelsformat{#1}{%
+ \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
+ }{\expandafter\protect\csname #1format\endcsname}%
+ \fi
}
% \end{macrocode}
% \end{macro}^^A \othersectonlevelsformat
@@ -3789,7 +4237,7 @@
% \begin{KOMAfont}{minisec}
% \changes{v2.8o}{2001/09/14}{neuer Ersatz für das Element
% \texttt{minisec}}^^A
-% \changes{v2.96a}{2007/01/08}{Alias für das Element \texttt{minisec}
+% \changes{v2.96a}{2007/01/08}{Alias für das Element \texttt{minisec}^^A
% entfernt, da es nun ein eigenes Element ist}^^A
% Definition der Elemente der Gliederung, deren Schrift geändert
% werden kann.
@@ -3980,7 +4428,7 @@
%<article> tocnumwidth=5em%
%<book|report> tocnumwidth=6em%
]{subparagraph}
-\ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\relax
+\expandafter\ifnum\scr@v@is@lt{3.15}\relax
\let\scr@subparagraph@sectionindent\parindent
\else
\def\scr@subparagraph@sectionindent{\scr@parindent}%
@@ -4055,8 +4503,9 @@
% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch \cs{KOMAoptions}
% ersetzt}^^A
% \changes{v3.12}{2013/11/11}{neuer Wert \texttt{standardclasses}}^^A
-% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@sectionbeforeskip} und
-% \cs{scr@chapter@sectionafterskip} werden verwendet}^^A
+% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@beforeskip} und
+% \cs{scr@chapter@afterskip} werden verwendet}^^A
+% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}^^A
% Dies ist eine neue zentrale Option für Überschriften. Dabei ergibt sich
% nun auch das Problem, dass die Gesamtmenge der Überschriften mal
% \emph{headings} (Überschriften), mal \emph{sectioning}
@@ -4090,7 +4539,12 @@
{standardclasses}{13}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \ifcase \@tempa\relax
+ \ifcase \@tempa\relax% big
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{big}%
% \end{macrocode}
% Als erstes kümmern wir uns um die drei Größenabstufungen für die
% Überschriften, die \KOMAScript{} bietet, und zwar in der Reihenfolge
@@ -4105,16 +4559,17 @@
% |beforeskip=0pt| an den oberen Rand zu bekommen.
% \begin{macrocode}
%<*book|report>
- \renewcommand*{\scr@chapter@sectionbeforeskip}{3.3\baselineskip+\parskip}%
- \renewcommand*{\scr@chapter@sectionafterskip}{%
+ \renewcommand*{\scr@chapter@beforeskip}{3.3\baselineskip+\parskip}%
+ \renewcommand*{\scr@chapter@afterskip}{%
1.725\baselineskip \@plus .115\baselineskip \@minus .192\baselineskip
}%
+ \renewcommand*{\scr@chapter@innerskip}{.5\baselineskip}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\vspace\@tempskipa
+ \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa
\else\vskip\@tempskipa\fi
}%
- \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
%</book|report>
\renewcommand*{\size@part}{\Huge}%
\renewcommand*{\size@partnumber}{\huge}%
@@ -4125,18 +4580,24 @@
\renewcommand*{\size@subsubsection}{\normalsize}%
\renewcommand*{\size@paragraph}{\normalsize}%
\renewcommand*{\size@subparagraph}{\normalsize}%
- \or
+ \or % normal
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{normal}%
%<*book|report>
- \renewcommand*{\scr@chapter@sectionbeforeskip}{3\baselineskip+\parskip}%
- \renewcommand*{\scr@chapter@sectionafterskip}{%
+ \renewcommand*{\scr@chapter@beforeskip}{3\baselineskip+\parskip}%
+ \renewcommand*{\scr@chapter@afterskip}{%
1.5\baselineskip \@plus .1\baselineskip \@minus .167\baselineskip
}%
+ \renewcommand*{\scr@chapter@innerskip}{.5\baselineskip}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\vspace\@tempskipa
+ \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa
\else\vskip\@tempskipa\fi
}%
- \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
%</book|report>
\renewcommand*{\size@part}{\huge}%
\renewcommand*{\size@partnumber}{\huge}%
@@ -4153,18 +4614,24 @@
\renewcommand*{\size@subsubsection}{\normalsize}%
\renewcommand*{\size@paragraph}{\normalsize}%
\renewcommand*{\size@subparagraph}{\normalsize}%
- \or
+ \or % small
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{small}%
%<*book|report>
- \renewcommand*{\scr@chapter@sectionbeforeskip}{2.8\baselineskip+\parskip}%
- \renewcommand*{\scr@chapter@sectionafterskip}{%
+ \renewcommand*{\scr@chapter@beforeskip}{2.8\baselineskip+\parskip}%
+ \renewcommand*{\scr@chapter@afterskip}{%
1.35\baselineskip \@plus 0.09\baselineskip \@minus .15\baselineskip
}%
+ \renewcommand*{\scr@chapter@innerskip}{.5\baselineskip}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.15}\vspace\@tempskipa
+ \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa
\else\vskip\@tempskipa\fi
}%
- \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip.5\baselineskip}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
%</book|report>
\renewcommand*{\size@part}{\LARGE}%
\renewcommand*{\size@partnumber}{\LARGE}%
@@ -4185,15 +4652,15 @@
% Möglichkeit, auch hierüber die Optionen \texttt{open=any},
% \texttt{open=right} und \texttt{open=left} zu setzen.
% \begin{macrocode}
- \or
+ \or % openany
%<*book|report>
\KOMAoptions{open=any}%
%</book|report>
- \or
+ \or % openright
%<*book|report>
\KOMAoptions{open=right}%
%</book|report>
- \or
+ \or % openleft
%<*book|report>
\KOMAoptions{open=left}%
%</book|report>
@@ -4202,19 +4669,19 @@
% Möglichkeit, auch hierüber die Optionen \texttt{chapterprefix} und
% \texttt{appendixprefix} zu setzen.
% \begin{macrocode}
- \or
+ \or % twolinechapter
%<*book|report>
\KOMAoptions{chapterprefix=true}%
%</book|report>
- \or
+ \or % onelinechapter
%<*book|report>
\KOMAoptions{chapterprefix=false}%
%</book|report>
- \or
+ \or % twolineappendix
%<*book|report>
\KOMAoptions{appendixprefix=true}%
%</book|report>
- \or
+ \or % onelineappend
%<*book|report>
\KOMAoptions{appendixprefix=false}%
%</book|report>
@@ -4222,23 +4689,41 @@
% Ab Version~3.10 wird über diese Option auch noch die Erweiterung für das
% optionale Argument der Gliederungsüberschriften aktiviert und gesteuert.
% \begin{macrocode}
- \or
+ \or % optiontotocandhead
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontotocandhead}%
\scr@activate@xsection{3}%
- \or
+ \or % optiontotoc
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontotoc}%
\scr@activate@xsection{2}%
- \or
+ \or % optiontohead
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontohead}%
\scr@activate@xsection{1}%
% \end{macrocode}
% Ab Version~3.12 gibt es noch die Möglichkeit, die Überschriftengrößen der
% Standardklassen zu emulieren.
% \begin{macrocode}
- \or
+ \or % standardclasses
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{standardclasses}%
%<*book|report>
- \renewcommand*{\scr@chapter@sectionbeforeskip}{50\p@}%
- \renewcommand*{\scr@chapter@sectionafterskip}{40\p@}%
+ \renewcommand*{\scr@chapter@beforeskip}{50\p@}%
+ \renewcommand*{\scr@chapter@afterskip}{40\p@}%
+ \renewcommand*{\scr@chapter@innerskip}{20\p@}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{\vskip\@tempskipa}%
- \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip 20\p@}%
+ \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
\renewcommand*{\size@part}{\Huge}%
\renewcommand*{\size@partnumber}{\huge}%
\renewcommand*{\size@chapter}{\Huge}%
@@ -4258,36 +4743,38 @@
\fi
\fi
}
+\KOMA@kav@add{.\KOMAClassFileName}{headings}{big}
+%<book|report>\KOMA@kav@add{.\KOMAClassFileName}{headings}{onelinechapter}
% \end{macrocode}
% \end{option}^^A headings
%
% \begin{option}{bigheadings}
-% \changes{v2.3h}{1996/01/20}{neue Option}
+% \changes{v2.3h}{1996/01/20}{neue Option}^^A
% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so; bei
% Verwendung des alten, falschen Namens wird ein Fehler
-% ausgegeben}
-% \changes{v2.98c}{2008/03/10}{obsolet}
-% \changes{v3.01a}{2008/11/20}{deprecated}
+% ausgegeben}^^A
+% \changes{v2.98c}{2008/03/10}{obsolet}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}^^A
% \begin{macro}{\@bigheadings}
-% \changes{v2.98c}{2008/03/10}{entfernt}
+% \changes{v2.98c}{2008/03/10}{entfernt}^^A
% \begin{option}{normalheadings}
-% \changes{v2.3h}{1996/01/20}{neue Option}
+% \changes{v2.3h}{1996/01/20}{neue Option}^^A
% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so; bei
% Verwendung des alten, falschen Namens wird ein Fehler
-% ausgegeben}
-% \changes{v2.98c}{2008/03/10}{obsolet}
-% \changes{v3.01a}{2008/11/20}{deprecated}
+% ausgegeben}^^A
+% \changes{v2.98c}{2008/03/10}{obsolet}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}^^A
% \begin{macro}{\@normalheadings}
-% \changes{v2.98c}{2008/03/10}{entfernt}
+% \changes{v2.98c}{2008/03/10}{entfernt}^^A
% \begin{option}{smallheadings}
-% \changes{v2.3h}{1996/01/20}{neue Option}
+% \changes{v2.3h}{1996/01/20}{neue Option}^^A
% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so; bei
% Verwendung des alten, falschen Namens wird ein Fehler
-% ausgegeben}
-% \changes{v2.98c}{2008/03/10}{obsolet}
-% \changes{v3.01a}{2008/11/20}{deprecated}
+% ausgegeben}^^A
+% \changes{v2.98c}{2008/03/10}{obsolet}^^A
+% \changes{v3.01a}{2008/11/20}{deprecated}^^A
% \begin{macro}{\@smallheadings}
-% \changes{v2.98c}{2008/03/10}{entfernt}
+% \changes{v2.98c}{2008/03/10}{entfernt}^^A
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{bigheadings}{headings=big}
\KOMA@DeclareDeprecatedOption{normalheadings}{headings=normal}
@@ -4295,12 +4782,12 @@
%</option>
%</class>
% \end{macrocode}
-% \end{macro}^^A \@smallheadings
-% \end{option}^^A smallheadings
-% \end{macro}^^A \@normalheadings
-% \end{option}^^A normalheadings
-% \end{macro}^^A \@bigheadings
-% \end{option}^^A bigheadings
+% \end{macro}^^A \@smallheadings
+% \end{option}^^A smallheadings
+% \end{macro}^^A \@normalheadings
+% \end{option}^^A normalheadings
+% \end{macro}^^A \@bigheadings
+% \end{option}^^A bigheadings
%
%
% \iffalse