summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.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-typearea.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-typearea.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx694
1 files changed, 451 insertions, 243 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
index adf02d98de6..444d38f3d22 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{2330}
+% \CheckSum{2588}
% \iffalse meta-comment
% ======================================================================
% scrkernel-typearea.dtx
-% Copyright (c) Markus Kohm, 2002-2014
+% Copyright (c) Markus Kohm, 2002-2015
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-typearea.dtx
-% Copyright (c) Markus Kohm, 2002-2014
+% Copyright (c) Markus Kohm, 2002-2015
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,11 +55,22 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-typearea.dtx 1770 2014-06-30 06:48:19Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 2056 2015-03-30 08:24:20Z kohm $
%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
-\ProvidesFile{scrkernel-typearea.dtx}[%
+\begingroup
+ \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
+ \filedate$Date: 2015-03-30 10:24:20 +0200 (Mon, 30 Mar 2015) $
+ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
+ \filerevision$Revision: 1872 $
+ \edef\reserved@a{%
+ \noexpand\endgroup
+ \noexpand\ProvidesFile{scrkernel-typearea.dtx}[%
+ \filedate\space\filerevision\space
+ KOMA-Script source
+ }
+\reserved@a
%</driver>
%<*driver|(package&identify)>
%<package>\ProvidesPackage{typearea}[%
@@ -134,7 +145,7 @@
% Zuerst einmal zeigen, was das Paket ist:
% \begin{macrocode}
\typeout{%
- Package typearea, \csname ver@typearea.sty\endcsname^^J%
+ Package typearea, \csname ver@typearea.\@pkgextension\endcsname^^J%
\@spaces\@spaces\@spaces\@spaces\space\space
Copyright (C) Frank Neukam, 1992-1994^^J%
\@spaces\@spaces\@spaces\@spaces\space\space
@@ -159,9 +170,9 @@
% Auswertung der Optionen zu definieren. Ich mache das hier vor der
% Deklaration der Optionen.
%
-% \begin{macro}{\SetDIVList}
-% \changes{v2.1a}{1994/10/28}{neu}
-% \changes{v2.6}{2000/01/04}{\cs{ta@divlist} enthält Werte für
+% \begin{macro}{\SetDIVList}
+% \changes{v2.1a}{1994/10/28}{neu}^^A
+% \changes{v2.6}{2000/01/04}{\cs{ta@divlist} enthält Werte für
% Schriftgrößen ab 1pt}
% Der Befehl \cs{SetDIVList} tut nichts weiter als die innere Variable
% für die schriftgrößenabhängige \emph{DIV}-Liste \cs{ta@divlist} neu
@@ -170,19 +181,19 @@
% \begin{macrocode}
\newcommand*\SetDIVList[1]{\def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\SetXDIVList}
-% \changes{v2.6}{2000/01/04}{neu}
+% \begin{macro}{\SetXDIVList}
+% \changes{v2.6}{2000/01/04}{neu}^^A
% Da mit \cs{SetDIVList} aus Kompatibilitätsgründen nur Werte für
% Größen ab 10\,pt gesetzt werden können, wird für Werte ab 1\,pt
% ein neuer Befehl benötigt.
% \begin{macrocode}
\newcommand*\SetXDIVList[1]{\def\ta@divlist{#1}}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
-% \begin{Length}{\ta@bcor}
+% \begin{Length}{\ta@bcor}
% \changes{v2.2a}{1995/01/25}{Definition der Dimension wegen der
% Option \texttt{BCOR} vorgezogen}
% \changes{v2.7g}{2001/04/17}{\cs{newlength} and Stelle von
@@ -192,27 +203,27 @@
% \begin{macrocode}
\newlength{\ta@bcor}
% \end{macrocode}
-% \end{Length}
+% \end{Length}
%
-% \begin{macro}{\ta@div}
-% \changes{v2.2a}{1995/01/25}{Definition wegen der Option
+% \begin{macro}{\ta@div}
+% \changes{v2.2a}{1995/01/25}{Definition wegen der Option
% \texttt{DIV} vorgezogen}
% Zähler für \emph{DIV} reservieren. Dieser wird implizit zu 0
% initialisiert.
% \begin{macrocode}
\newcount\ta@div
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
% Ab hier nun Teile für Klassen und Paket:
% \begin{macrocode}
%</package>
% \end{macrocode}
%
-% \begin{macro}{\@BCOR}
-% \begin{macro}{\@@BCOR}
-% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch
-% Mustererkennung ersetzt}
+% \begin{macro}{\@BCOR}
+% \begin{macro}{\@@BCOR}
+% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch
+% Mustererkennung ersetzt}^^A
% Das Makro \cs{@BCOR} wird später benötigt, um die Option
% \texttt{BCOR\emph{BCOR}} zu erkennen. Die Option wird über ihr
% Muster erkannt.
@@ -245,13 +256,13 @@
}{\scr@pti@nerr@r}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\@DIV}
-% \begin{macro}{\@@DIV}
-% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch
-% Mustererkennung ersetzt}
+% \begin{macro}{\@DIV}
+% \begin{macro}{\@@DIV}
+% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch
+% Mustererkennung ersetzt}^^A
% Die grundsätzliche Funktion ist die gleiche wie bei \cs{@BCOR},
% \cs{@@BCOR}.
% \begin{macrocode}
@@ -271,13 +282,13 @@
\else\@BCOR\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\@headlines}
-% \begin{macro}{\@@headlines}
-% \changes{v2.7g}{2001/04/17}{neue Mustererkennung für die Anzahl
-% der Kopfzeilen}
+% \begin{macro}{\@headlines}
+% \begin{macro}{\@@headlines}
+% \changes{v2.7g}{2001/04/17}{neue Mustererkennung für die Anzahl
+% der Kopfzeilen}^^A
% Das Macro \cs{@headlines} wird benötigt, um die Option
% \texttt{headlines} zu erkennen.
% \begin{macrocode}
@@ -293,23 +304,23 @@
\else\@DIV\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
% Jetzt kommt ein Stück, das nur im Paket benötigt wird.
% \begin{macrocode}
%<*package>
% \end{macrocode}
%
-% \begin{macro}{\x@paper}
-% \begin{macro}{\x@@paper}
-% \changes{v2.5}{1997/06/17}{neue Mustererkennung für die
-% Papiergröße}
+% \begin{macro}{\x@paper}
+% \begin{macro}{\x@@paper}
+% \changes{v2.5}{1997/06/17}{neue Mustererkennung für die
+% Papiergröße}^^A
% Diese Makros werden ebenfalls später benötigt, wenn die Papiergröße
% festgelegt wird.
-% \begin{macro}{\isopaper}
-% \changes{v2.5}{1997/06/17}{neu}
-% \changes{v2.95}{2002/12/03}{es sind auch Großbuchstaben erlaubt}
+% \begin{macro}{\isopaper}
+% \changes{v2.5}{1997/06/17}{neu}^^A
+% \changes{v2.95}{2002/12/03}{es sind auch Großbuchstaben erlaubt}^^A
% Da das Makro \cs{isopaper} zur Berechnung unterschiedlicher
% ISO/DIN-Papierformate in der Mustererkennung für die Papiergröße
% benötigt wird, wurde dieses Makro ebenfalls vorgezogen.
@@ -406,7 +417,7 @@
\multiply\paperheight by186468
% \end{macrocode}
% Jetzt noch die gewünschte Ausrichtung beachten.
-% \changes{v2.97e}{2007/10/23}{gewünschte Papierausrichtung wird beachtet}
+% \changes{v2.97e}{2007/10/23}{gewünschte Papierausrichtung wird beachtet}^^A
% \begin{macrocode}
\if@landscape
\setlength{\@tempdima}{\paperwidth}%
@@ -415,13 +426,13 @@
\fi
}
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\iso@paper}
-% \changes{v2.95}{2002/12/03}{neu (intern)}
+% \end{macro}
+% \begin{macro}{\iso@paper}
+% \changes{v2.95}{2002/12/03}{neu (intern)}^^A
% Ein ganz ähnlicher interner Befehl erhält den gesamten Namen des
% ISO-Papierformats als einziges Argument.
-% \begin{macro}{\iso@@paper}
-% \changes{v2.95}{2002/12/03}{neu (intern)}
+% \begin{macro}{\iso@@paper}
+% \changes{v2.95}{2002/12/03}{neu (intern)}^^A
% Dieses Argument wird dann über einen weiteren internen Befehl per
% Mustererkennung in den Kennbuchstaben und eine Zahl zerlegt.
% \begin{macrocode}
@@ -443,8 +454,8 @@
\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
% Jetzt wird es wieder für alle interessant:
% \begin{macrocode}
@@ -454,7 +465,7 @@
% Zurück zur Mustererkennung. Diese ist tatsächlich etwas einfacher
% als die in den beiden Fällen zuvor.
% \changes{v2.97e}{2007/10/23}{Optionen werden nach der neuen Syntax an
-% typearea weitergeleitet}
+% typearea weitergeleitet}^^A
% \begin{macrocode}
\newcommand*{\x@paper}{%
\expandafter\x@@paper\CurrentOption paper\x@@paper%
@@ -489,11 +500,11 @@
}%
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\scr@pti@nerr@r}
-% \changes{v2.95}{2002/06/20}{\cs{OptionNotUsed} statt
+% \begin{macro}{\scr@pti@nerr@r}
+% \changes{v2.95}{2002/06/20}{\cs{OptionNotUsed} statt
% \cs{PackageError}}
% Falls die zuätzliche Option nicht \texttt{BCOR}, \texttt{DIV},
% \texttt{headlines} oder eine bekannte Papiergröße ist, ist die
@@ -504,7 +515,7 @@
%<package> \@unknownoptionerror
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
% Jetzt wieder nur für Pakete:
% \begin{macrocode}
@@ -520,7 +531,7 @@
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}
% \begin{option}{footlines}
-% \changes{v3.12}{2013/03/26}{neue Option}
+% \changes{v3.12}{2013/03/26}{neue Option}^^A
% Neben der Auswertung der \meta{Wert}\texttt{headlines} Form über
% Pattern Matching wird hier auch noch eine \textsf{keyval}-Option
% definiert, die bevorzugt zu verwenden ist. Für den Fuß wird überhaupt nur
@@ -532,6 +543,8 @@
\endgroup
\def\ta@hh{#1\baselineskip}%
\FamilyKeyStateProcessed
+ \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headlines}{#1}%
+ \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1\baselineskip}%
}
\KOMA@key{footlines}{%
\begingroup
@@ -539,17 +552,19 @@
\endgroup
\def\ta@fh{#1\baselineskip}%
\FamilyKeyStateProcessed
+ \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footlines}{#1}%
+ \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1\baselineskip}%
}
% \end{macrocode}
% \end{option}
% \end{option}
%
% \begin{option}{headheight}
-% \changes{v2.98c}{2008/04/06}{neue Option}
+% \changes{v2.98c}{2008/04/06}{neue Option}^^A
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}
% \begin{option}{footheight}
-% \changes{v3.12}{2013/03/26}{neue Option}
+% \changes{v3.12}{2013/03/26}{neue Option}^^A
% Manchmal ist es nützlicher, wenn man die Höhe direkt setzen kann, statt sie
% über die Anzahl der Grundlinien zu setzen. In dem Fall nimmt man einfach
% diese Optionen.
@@ -560,6 +575,8 @@
\endgroup
\def\ta@hh{#1}%
\FamilyKeyStateProcessed
+ \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1}%
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{headlines}%
}
\KOMA@key{footheight}{%
\begingroup
@@ -567,6 +584,8 @@
\endgroup
\def\ta@fh{#1}%
\FamilyKeyStateProcessed
+ \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1}%
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{footlines}%
}
% \end{macrocode}
% \end{option}
@@ -578,7 +597,7 @@
% \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.01a}{2008/11/21}{deprecated}^^A
% Diese Optionen bestimmen, ob der Seitenkopf bereits zum Textbereich
% gehört.
% \begin{macro}{\if@hincl}
@@ -605,7 +624,7 @@
% \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.01a}{2008/11/21}{deprecated}^^A
% Diese Optionen bestimmen, ob die Fußzeilen noch zum Textbereich
% gehören.
% \begin{macro}{\if@fincl}
@@ -627,14 +646,14 @@
% \end{option}
%
% \begin{option}{mpinclude}
-% \changes{v2.8q}{2002/03/28}{neue Option}
+% \changes{v2.8q}{2002/03/28}{neue Option}^^A
% \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}}
% \begin{option}{mpexclude}
-% \changes{v2.8q}{2002/03/28}{neue Option}
+% \changes{v2.8q}{2002/03/28}{neue Option}^^A
% \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.01a}{2008/11/21}{deprecated}^^A
% Es gibt Dokumente mit sehr ausführlichen Randnotizen, bei denen die
% Randnotizen bei der Satzspiegelberechnung in den Satzspiegel
% eingerechnet werden sollten. Diese Optionen bestimmen, ob dies der
@@ -657,7 +676,7 @@
% \end{option}
%
% \begin{option}{BCOR}
-% \changes{v2.2a}{1995/01/25}{neue Option}
+% \changes{v2.2a}{1995/01/25}{neue Option}^^A
% \changes{v2.95}{2002/12/04}{als \textsf{keyval}-Option
% implementiert}
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
@@ -667,16 +686,17 @@
% Laden des Pakets absolut keinen Sinn ergeben!
% \begin{macrocode}
\KOMA@key{BCOR}{%
- \edef\@tempa{#1}\edef\@tempb{current}\ifx\@tempa\@tempb\else
+ \ifstr{#1}{current}{}{%
\setlength{\ta@bcor}{#1}%
- \fi
+ }%
\FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{BCOR}{#1}%
}
% \end{macrocode}
% Wenn allerdings der Satzspiegel bereits berechnet ist, dann muss er
% hier stattdessen neu berechnet werden.
-% \changes{v3.13}{2014/06/30}{fehlendes \cs{FamilyKeyStateProcessed}
-% ergänzt}%^^A
+% \changes{v3.13}{2014/06/30}{fehlendes \cs{FamilyKeyStateProcessed}^^A
+% ergänzt}^^A
% \begin{macrocode}
\AtEndOfPackage{%
\KOMA@key{BCOR}{\typearea[{#1}]{last}\FamilyKeyStateProcessed}%
@@ -685,7 +705,7 @@
% \end{option}
%
% \begin{option}{DIV}
-% \changes{v2.2a}{1995/01/25}{neue Option}
+% \changes{v2.2a}{1995/01/25}{neue Option}^^A
% \changes{v2.95}{2002/12/04}{als \textsf{keyval}-Option
% implementiert}
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
@@ -708,31 +728,32 @@
\fi
\fi
\FamilyKeyStateProcessed
+ \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{#1}%
}
% \end{macrocode}
% Wenn allerdings der Satzspiegel bereits berechnet ist, dann muss er
% hier stattdessen neu berechnet werden.
-% \changes{v3.13}{2014/06/30}{fehlendes \cs{FamilyKeyStateProcessed}
-% ergänzt}%^^A
+% \changes{v3.13}{2014/06/30}{fehlendes \cs{FamilyKeyStateProcessed}^^A
+% ergänzt}^^A
% \begin{macrocode}
\AtEndOfPackage{%
\KOMA@key{DIV}{\typearea[current]{#1}\FamilyKeyStateProcessed}%
}
% \end{macrocode}
-% \end{option}
+% \end{option}
%
% \begin{option}{DIVcalc}
-% \changes{v2.4g}{1996/11/04}{neue Option}
+% \changes{v2.4g}{1996/11/04}{neue Option}^^A
% \changes{v2.95}{2002/12/04}{über Option \texttt{DIV} reimplementiert}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{DIVclassic}
-% \changes{v2.4n}{1997/05/28}{neue Option}
+% \changes{v2.4n}{1997/05/28}{neue Option}^^A
% \changes{v2.95}{2002/12/04}{über Option \texttt{DIV} reimplementiert}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% Dann gibt es da noch zwei alte Sonderfälle.
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc}
@@ -743,7 +764,7 @@
%
%
% \begin{option}{areasetadvanced}
-% \changes{v3.11}{2012/04/17}{new internal option}
+% \changes{v3.11}{2012/04/17}{new internal option}^^A
% Switch to advanced version of \cs{areaset}. This does calculate margins
% more like \cs{typearea}. Nevertheless, there's still a difference at the top
% margin, because \cs{typerea} doesn't balance differences in calculated
@@ -759,23 +780,29 @@
%
% \begin{option}{oneside}
% \changes{v2.97e}{2007/11/23}{auf vielfachen Wunsch reicht die Klasse die
-% Option an das Paket weiter}%^^A
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A
+% Option an das Paket weiter}^^A
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{twoside}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
-% ersetzt}%^^A
+% ersetzt}^^A
% \changes{v2.97e}{2007/11/23}{auf vielfachen Wunsch reicht die Klasse die
-% Option an das Paket weiter}%^^A
+% Option an das Paket weiter}^^A
% \changes{v3.00}{2008/07/09}{die Option kennt zusätzlich den Wert
-% \texttt{semi}}%^^A
+% \texttt{semi}}^^A
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}%^^A
+% \cs{FamilyKeyState}}^^A
% \changes{v3.13a}{2014/04/09}{Die Klasse setzt signalisiert ebenfalls
-% \cs{FamilyKeyStateProcessed}}%^^A
+% \cs{FamilyKeyStateProcessed}}^^A
+% \changes{v3.17}{2015/03/17}{ab dieser Version werden \cs{flushbottom} und
+% \cs{raggedbottom} automatisch gesetzt}^^A
+% \changes{v3.17}{2015/03/17}{Voreinstellungen werden bereits hier
+% gesetzt}^^A
+% \changes{v3.17}{2015/03/18}{wenn möglich \cs{cleardoubleoddpage}
+% verwenden}^^A
% \begin{macro}{\if@semitwoside}
-% \changes{v3.00}{2008/07/09}{neuer Schalter (intern)}%^^A
+% \changes{v3.00}{2008/07/09}{neuer Schalter (intern)}^^A
% \begin{macro}{\if@twoside}
-% \changes{v3.00}{2008/07/09}{Schalter setzt auch \cs{if@semitwoside}}%^^A
+% \changes{v3.00}{2008/07/09}{Schalter setzt auch \cs{if@semitwoside}}^^A
% Einseitiger oder zweiseitiger Satzspiegel?
% \begin{macrocode}
\newif\if@semitwoside
@@ -789,29 +816,62 @@
\KOMA@key{twoside}[true]{%
%<class> \if@atdocument\else\PassOptionsToPackage{twoside=#1}{typearea}\fi%
%<*package>
- \if@atdocument\if@twoside\cleardoublepage\else\clearpage\fi\fi
+ \if@atdocument\if@twoside
+ \scr@ifundefinedorrelax{cleardoubleoddpage}{%
+ \cleardoublepage
+ }{%
+ \cleardoubleoddpage
+ }%
+ \else\clearpage\fi\fi
+%</package>
\ifstr{#1}{semi}{%
\@twosidetrue
- \@semitwosidetrue
-%</package>
+%<package> \@semitwosidetrue
\FamilyKeyStateProcessed
-%<*package>
}{%
\def\FamilyElseValue{, `semi'}%
- \KOMA@set@ifkey{twoside}{@twoside}{#1}%
+ \KOMA@set@ifkey{twoside}{%
+%<package> @twoside%
+%<class> @tempswa%
+ }{#1}%
}%
- \if@twoside
- \if@semitwoside
- \@mparswitchfalse
- \else
- \@mparswitchtrue
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+%<*class>
+ \expandafter\ifnum\scr@v@is@ge{3.17}%
+%<*!letter>
+ \if@tempswa\flushbottom
+ \else\if@twocolumn\flushbottom\else\raggedbottom\fi\fi
+%</!letter>
+%<letter> \raggedbottom
\fi
- \else
- \@mparswitchfalse
- \fi%
- \csname recalctypearea\endcsname
+%</class>
+ \KOMA@kav@xreplacevalue{.%
+%<class> \KOMAClassFileName
+%<package> typearea.\scr@pkgextension
+ }{twoside}{#1}%
+%<*package>
+ \if@twoside
+ \if@semitwoside
+ \@mparswitchfalse
+ \else
+ \@mparswitchtrue
+ \fi
+ \else
+ \@mparswitchfalse
+ \fi%
+ \csname recalctypearea\endcsname
%</package>
+ \fi
}
+%<*class>
+%<book>\KOMAExecuteOptions{twoside=true}
+%<!book>\KOMAExecuteOptions{twoside=false}
+%</class>
+%<*package>
+\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twoside}{%
+ \if@twoside true\else false\fi
+}
+%</package>
\KOMA@DeclareStandardOption%
%<package> [typearea]%
{oneside}{twoside=false}
@@ -826,18 +886,18 @@
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
% \changes{v2.97e}{2007/11/23}{auf vielfachen Wunsch reicht die Klasse die
-% Option an das Paket weiter}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% Option an das Paket weiter}^^A
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{twocolumn}
% \changes{v2.95}{2002/12/04}{Option in das \textsf{typearea}-Paket
% verlagert}
% \changes{v2.97e}{2007/11/23}{auf vielfachen Wunsch reicht die Klasse die
-% Option an das Paket weiter}
+% Option an das Paket weiter}^^A
% \changes{v2.98a}{2007/01/08}{es wird die richtige Option an das Paket
-% weitergereicht}
+% weitergereicht}^^A
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}
-% \changes{v3.13a}{2014/04/09}{Signallisierung korrigiert}
+% \changes{v3.13a}{2014/04/09}{Signallisierung korrigiert}^^A
% Einspaltiger oder zweispaltiger Satz?
% \begin{macrocode}
%</package>
@@ -845,19 +905,42 @@
%<class> \if@atdocument\else\PassOptionsToPackage{twocolumn=#1}{typearea}\fi%
%<*package>
\if@atdocument\clearpage\fi
- \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}%
- \ifx\FamilyKeyState
%</package>
- \FamilyKeyStateProcessed
-%<*package>
- \csname recalctypearea\endcsname
+ \KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@replacebool{.%
+%<class> \KOMAClassFileName
+%<package> typearea.\scr@pkgextension
+ }{twocolumn}{@twocolumn}%
+%<package> \csname recalctypearea\endcsname
+%<*class>
+ \expandafter\ifnum\scr@v@is@ge{3.17}%
+ \if@twocolumn\twocolumn\sloppy\flushbottom
+ \else\onecolumn\if@twoside\flushbottom\else\raggedbottom\fi\fi
+ \fi
+%</class>
\fi
-%</package>
}
+%<*class>
+\AtEndOfClass{%
+ \expandafter\ifnum\scr@v@is@lt{3.17}%
+%<*!letter>
+ \if@twocolumn\twocolumn\sloppy\flushbottom
+ \else\onecolumn\if@twoside\flushbottom\else\raggedbottom\fi\fi
+%</!letter>
+%<letter> \raggedbottom
+ \fi
+}
+\KOMAExecuteOptions{twocolumn=false}
+%</class>
+%<*package>
+\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twocolumn}{%
+ \if@twocolumn true\else false\fi
+}
+%</package>
\KOMA@DeclareStandardOption%
%<package> [typearea]%
{onecolumn}{twocolumn=false}
-%<*package>
% \end{macrocode}
% \end{option}
% \end{option}
@@ -868,8 +951,8 @@
% Diese Optionen arbeiten in Abhänigkeit des Ausgabeformats.
%
% \begin{option}{pagesize}
-% \changes{v2.7g}{2001/04/17}{neue Option}
-% \changes{v2.95}{2002/08/27}{neu implementiert}
+% \changes{v2.7g}{2001/04/17}{neue Option}^^A
+% \changes{v2.95}{2002/08/27}{neu implementiert}^^A
% \changes{v3.02c}{2009/02/14}{neuer Wert \texttt{false}}
% \changes{v3.05a}{2010/03/18}{neuer Wert \texttt{dvipdfmx}}
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
@@ -895,6 +978,7 @@
% werden gesetzt, falls sie definiert sind.
% \end{labeling}
% \begin{macrocode}
+%<*package>
\KOMA@key{pagesize}[auto]{%
\begingroup
\KOMA@set@ncmdkey{pagesize}{@tempa}{%
@@ -922,6 +1006,7 @@
\endgroup
\set@dvipdfmxpagesize
\fi
+ \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{pagesize}{#1}%
\edef\@pagesizelast{#1}%
\else
\endgroup
@@ -931,22 +1016,22 @@
% \end{macrocode}
%
% \begin{macro}{\set@pdftexpagesize}
-% \changes{v2.95}{2002/08/27}{neu (intern)}
+% \changes{v2.95}{2002/08/27}{neu (intern)}^^A
% \begin{macro}{\set@dvipspagesize}
-% \changes{v2.95}{2002/08/27}{neu (intern)}
+% \changes{v2.95}{2002/08/27}{neu (intern)}^^A
% \changes{v3.02c}{2009/02/13}{\texttt{seascape} wird beachtet}
-% \changes{v3.02c}{2009/02/14}{funktioniert auch im Dokument}
+% \changes{v3.02c}{2009/02/14}{funktioniert auch im Dokument}^^A
% \changes{v3.12}{2012/02/06}{nicht ausgeführtes
% \cs{let}\cs{if@tempswa}\cs{if@dvips} funktioniert auch noch, wenn
% letzteres nicht definiert ist}
% \begin{macro}{\setnot@dvipspagesize}
-% \changes{v2.95}{2002/08/27}{neu (intern)}
+% \changes{v2.95}{2002/08/27}{neu (intern)}^^A
% \begin{macro}{\set@dvipdfmxpagesize}
-% \changes{v3.05a}{2010/03/18}{neu (intern)}
+% \changes{v3.05a}{2010/03/18}{neu (intern)}^^A
% \begin{macro}{\set@vtexpagesize}
-% \changes{v2.95}{2002/08/27}{neu (intern)}
+% \changes{v2.95}{2002/08/27}{neu (intern)}^^A
% \begin{macro}{\scr@updatedvipspagesize}
-% \changes{v3.02c}{2009/02/14}{neu (intern)}
+% \changes{v3.02c}{2009/02/14}{neu (intern)}^^A
% \changes{v3.12}{2013/05/10}{deaktiviert, wenn \cs{XeTeXversion} existiert}
% Damit die Option \texttt{pagesize} überhaupt funktionieren kann,
% werden einige interne Makros benötigt.
@@ -979,7 +1064,7 @@
\if@seascape\special{! TeXDict begin /landplus90{true}store end }\fi
}%
}%
- \ifnum \scr@compatibility>\@nameuse{scr@v@3.02b}\relax
+ \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax
\let\set@dvipspagesize=\@empty
\else
\let\set@dvipspagesize=\setnot@dvipspagesize
@@ -1033,11 +1118,11 @@
\ifnotundefined{pdfpagewidth}{\pdfpagewidth=\paperwidth}{}%
\ifnotundefined{pdfpageheight}{\pdfpageheight=\paperheight}{}%
}%
- \ifnum \scr@compatibility>\@nameuse{scr@v@3.02b}\relax
+ \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax
\renewcommand*{\set@dvipspagesize}{%
% \end{macrocode}
% \changes{v3.12}{2012/11/23}{nur im DVI- und PS-Fall das Papierformatupdate
-% durchführen}
+% durchführen}^^A
% \changes{v3.12}{2012/02/06}{nicht ausgeführtes
% \cs{let}\cs{if@tempswa}\cs{if@dvips} funktioniert auch noch, wenn
% letzteres nicht definiert ist}
@@ -1139,11 +1224,11 @@
%
%
% \begin{option}{dvips}
-% \changes{v2.7g}{2001/04/17}{neue Option}
-% \changes{v2.95}{2002/08/27}{neu implementiert}
-% \changes{v2.98c}{2008/04/09}{Ersatz geändert}
-% \changes{v2.98c}{2008/04/09}{Info statt Warnung}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v2.7g}{2001/04/17}{neue Option}^^A
+% \changes{v2.95}{2002/08/27}{neu implementiert}^^A
+% \changes{v2.98c}{2008/04/09}{Ersatz geändert}^^A
+% \changes{v2.98c}{2008/04/09}{Info statt Warnung}^^A
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% Die Option ist obsolete und wird nun über die Option
% \texttt{pagesize} implementiert. Obwohl die Verwendung von
% \texttt{pagesize=automedia} zu einer Warnung führen kann, wird hier nur
@@ -1153,14 +1238,14 @@
pagesize=automedia%
}
% \end{macrocode}
-% \end{option}
+% \end{option}
%
% \begin{option}{pdftex}
-% \changes{v2.7g}{2001/04/17}{neue Option}
-% \changes{v2.95}{2002/08/27}{neu implementiert}
+% \changes{v2.7g}{2001/04/17}{neue Option}^^A
+% \changes{v2.95}{2002/08/27}{neu implementiert}^^A
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% Die Option ist obsolete und wird nun über die Option
% \texttt{pagesize} implementiert.
% \begin{macrocode}
@@ -1183,35 +1268,35 @@
% \begin{option}{a4paper}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{a5paper}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{b5paper}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{letterpaper}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{legalpaper}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{executivepaper}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{landscape}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% \begin{option}{portrait}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
% ersetzt}
-% \changes{v3.01a}{2008/11/21}{standard statt obsolet}
+% \changes{v3.01a}{2008/11/21}{standard statt obsolet}^^A
% Die Formate, die auch bei den Standardklassen definiert sind, werden
% als Sonderfall explizit definiert. Dadurch ist ein Wechsel der
% Klasse bzw. die Verwendung von \textsf{typearea} mit den
@@ -1238,8 +1323,8 @@
% \end{option}
%
% \begin{option}{paper}
-% \changes{v2.95}{2002/12/03}{neu implementiert}
-% \changes{v3.01b}{2008/12/09}{Höhe und Breite vertauscht}
+% \changes{v2.95}{2002/12/03}{neu implementiert}^^A
+% \changes{v3.01b}{2008/12/09}{Höhe und Breite vertauscht}^^A
% \changes{v3.02c}{2009/02/12}{neuer Wert \texttt{seascape}}
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}
@@ -1288,6 +1373,8 @@
\setlength\paperwidth {8.5in}%
\fi
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{letter}%
}{%
\ifstr{#1}{legal}{%
\if@landscape
@@ -1298,6 +1385,8 @@
\setlength\paperwidth {8.5in}%
\fi
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{legal}%
}{%
\ifstr{#1}{executive}{%
\if@landscape
@@ -1308,14 +1397,18 @@
\setlength\paperwidth {7.25in}%
\fi
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{executive}%
}{%
\iso@paper{#1}%
\if@tempswa
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{#1}%
\else
\expandafter\maybe@pair#1::\@nil
\if@tempswa
- \ifnum \scr@ta@compatibility<\@nameuse{scr@v@3.01b}\relax
+ \expandafter\ifnum \scr@ta@v@is@lt{3.01b}\relax
\PackageWarningNoLine{typearea}{%
You may have to exchange height and width!\MessageBreak
Until KOMA-Script version 3.01b the semantic\MessageBreak
@@ -1330,7 +1423,13 @@
\setlength\paperheight{\@tempb}%
\fi
\FamilyKeyStateProcessed
- \else
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
+ \if@landscape
+ \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempa:\@tempb}%
+ \else
+ \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempb:\@tempa}%
+ \fi
+ \else
\KOMA@unknown@keyval{paper}{#1}{%
`letter', `legal', `executive', `a'<nr>, `b'<nr>,
`c'<nr>, `d'<nr>,\MessageBreak
@@ -1341,17 +1440,28 @@
}%
}%
}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \if@landscape
+ \if@seascape
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{seascape}%
+ \else
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{landscape}%
+ \fi
+ \else
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{portrait}%
+ \fi
+ \fi
}%
}%
}%
}
% \end{macrocode}
% \begin{macro}{\if@seascape}
-% \changes{v3.02c}{2009/02/12}{neu}
+% \changes{v3.02c}{2009/02/12}{neu}^^A
% \begin{macro}{\@seascapetrue}
-% \changes{v3.02c}{2009/02/12}{neu}
+% \changes{v3.02c}{2009/02/12}{neu}^^A
% \begin{macro}{\@seascapefalse}
-% \changes{v3.02c}{2009/02/12}{neu}
+% \changes{v3.02c}{2009/02/12}{neu}^^A
% In diesem Schalter wird nur gespeichert, ob Breitformat ggf. umgekehrt
% verwendet werden soll. Dies macht derzeit nur bei Verwendung von dvips einen
% Unterschied!
@@ -1373,8 +1483,8 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\maybe@pair}
-% \changes{v2.95}{2002/12/03}{neu (intern)}
-% \changes{v2.97e}{2007/11/26}{funktioniert zum ersten Mal}
+% \changes{v2.95}{2002/12/03}{neu (intern)}^^A
+% \changes{v2.97e}{2007/11/26}{funktioniert zum ersten Mal}^^A
% Testet, ob der nachfolgende Parameter die Form
% "`\meta{erstes Argument}:\meta{zweites Argument}"' hat.
% Wenn ja, wird \cs{@tempa} mit dem ersten und \cs{@tempb} mit dem
@@ -1391,6 +1501,17 @@
% \end{macro}
% \end{option}
%
+% \subsubsection{\textsf{geometry} Berücksichtigung]}
+%
+% \begin{option}{usegeometry}
+% \changes{v3.17}{2015/02/07}{neue Option}^^A
+% Mit dieser Option kann eingestellt werden, dass \cs{activateareas} die
+% Einstellungen außerdem an das Paket \textsf{geometry} übergeben soll.
+% \begin{macrocode}
+\KOMA@ifkey{usegeometry}{@ta@usegeometry}
+% \end{macrocode}
+% \end{option}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
@@ -1443,26 +1564,27 @@
% eingestellt. Diese Optionen können selbstverständlich durch
% explizite Angaben überladen werden.
% \changes{v2.3h}{1995/01/19}{\cs{relax} nach \cs{ProcessOptions}
-% ergänzt.}
+% ergänzt.}^^A
% \changes{v2.96}{2006/08/18}{Optionen werden in Reihenfolge der Angabe statt
-% in Reihenfolge der Deklaration abgearbeitet.}
+% in Reihenfolge der Deklaration abgearbeitet.}^^A
% \changes{v2.97c}{2007/04/19}{Verwendung von \cs{KOMAExecuteOptions} an
% Stelle von \cs{KOMAoptions} und \cs{KOMAProcessOptions} an Stelle von
-% \cs{ProcessOptions}}
+% \cs{ProcessOptions}}^^A
% \changes{v2.97c}{2007/04/19}{Optionen, die der Voreinstellung ohnehin
-% entsprechen, werden nicht explizit gesetzt}
+% entsprechen, werden nicht explizit gesetzt}^^A
% \changes{v2.97c}{2007/07/18}{Option \texttt{twoside} wird explizit passend
-% gesetzt}
+% gesetzt}^^A
% \changes{v3.12}{2013/11/11}{die voreingestellte Papiergröße kann via
-% \cs{defaultpagesize} auch in \texttt{typearea.cfg} verändert werden}
+% \cs{defaultpagesize} auch in \texttt{typearea.cfg} verändert werden}^^A
+% \changes{v3.17}{2015/03/02}{Defaulteinstellung \texttt{pagesize}}^^A
% \begin{macro}{\defaultpapersize}
-% \changes{v3.12}{2013/11/11}{Neue Anweisung}
+% \changes{v3.12}{2013/11/11}{Neue Anweisung}^^A
% \begin{macrocode}
\providecommand*{\defaultpapersize}{A4}
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
-\KOMAExecuteOptions{paper=\defaultpapersize}
+\KOMAExecuteOptions{paper=\defaultpapersize,pagesize}
\if@twoside
\if@semitwoside
\KOMAExecuteOptions{twoside=semi}
@@ -1478,24 +1600,24 @@
%
% \subsection{Schriftgrößenabhängige Voreinstellungen für \emph{DIV}}
%
-% \begin{macro}{\ta@divlist}
-% \changes{v2.0e}{1994/10/28}{neu (intern)}
-% \changes{v2.6}{2000/01/04}{die Liste umfasst nun Werte ab 1\,pt
-% statt ab 10\,pt.}
-% \begin{macro}{\ta@divlistelse}
-% \changes{v2.6}{2000/01/04}{neu (intern)}
+% \begin{macro}{\ta@divlist}
+% \changes{v2.0e}{1994/10/28}{neu (intern)}^^A
+% \changes{v2.6}{2000/01/04}{die Liste umfasst nun Werte ab 1\,pt
+% statt ab 10\,pt.}^^A
+% \begin{macro}{\ta@divlistelse}
+% \changes{v2.6}{2000/01/04}{neu (intern)}^^A
% An dieser Stelle muss noch für die Standardeinstellung der
% \textit{DIV}-Liste gesorgt werden, falls eine solche noch nicht
% definiert wurde.
% \begin{macrocode}
\providecommand\ta@divlist{{}{}{}{}{}{}{}{}{}{8}{10}{12}}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
% Wenn kein Defaultwert definiert ist, wird dieser Wert verwendet:
% \begin{macrocode}
\providecommand\ta@divlistelse{1}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
%
% Das waren die Optionen für das Paket oder im ersten Durchlauf der
@@ -1591,9 +1713,9 @@
%
% \subsection{Einige interne Register}
%
-% \begin{Length}{\ta@hblk}
-% \begin{Length}{\ta@vblk}
-% \begin{Length}{\ta@temp}
+% \begin{Length}{\ta@hblk}
+% \begin{Length}{\ta@vblk}
+% \begin{Length}{\ta@temp}
% Diese Größsenparameter und werden intern für verschiedene Befehle
% benötigt. (Die Zähler \cs{ta@bcor} und \cs{ta@div} werden bereits
% bei der Optionenauswertung benötigt und sind deshalb vorgezogen.)
@@ -1602,23 +1724,23 @@
\newlength{\ta@vblk}
\newlength{\ta@temp}
% \end{macrocode}
-% \end{Length}
-% \end{Length}
-% \end{Length}
+% \end{Length}
+% \end{Length}
+% \end{Length}
%
%
% \subsection{Die Berechnung des Satzspiegels}
%
-% \begin{macro}{\typearea}
+% \begin{macro}{\typearea}
% Die Berechnung des Satzspiegels, wie sie in der Anleitung
% beschrieben ist, findet mit Hilfe des Befehls \cs{typearea} statt,
% der hier definiert wird. Die Berechnung selbst benötigt mehreren
% Stufen.
%
-% \begin{macro}{\@typearea}
-% \changes{v2.4n}{1997/05/28}{eigentliche Satzspiegelberechnung in
+% \begin{macro}{\@typearea}
+% \changes{v2.4n}{1997/05/28}{eigentliche Satzspiegelberechnung in
% \cs{@typearea} ausgegliedert}
-% \changes{v2.95}{2002/08/20}{\cs{selectfont} eingefügt}
+% \changes{v2.95}{2002/08/20}{\cs{selectfont} eingefügt}
% Die eigentliche Satzspiegelberechnung geschieht über das Hilfsmakro
% \cs{@typearea}, das dann auch von \cs{typearea} genutzt wird. Dieses
% Hilfsmakro benötigt keine Parameter, da diese bereits zuvor von
@@ -1642,7 +1764,7 @@
% \end{macrocode}
% Die Größe des Bereichs für die Randnotizen ist ebenfalls von der
% Streifenbreite abhängig.
-% \changes{v2.8q}{2002/03/28}{Textbreite berücksichtigt Option
+% \changes{v2.8q}{2002/03/28}{Textbreite berücksichtigt Option
% \texttt{mpinclude}}
% \begin{macrocode}
\if@mincl
@@ -1680,7 +1802,7 @@
% \KOMAScript~3.12 dem inneren Rand zugeschlagen. Bei Kompatibilität zu
% älteren Versionen wird hingegen immer der linke Rand verwendet.
% \begin{macrocode}
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.12}\relax
+ \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax
\evensidemargin=\oddsidemargin
\else
\advance\evensidemargin by1.5\ta@hblk
@@ -1783,9 +1905,9 @@
\do{\advance\textheight by\baselineskip}%
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\ta@modiv}
+% \begin{macro}{\ta@modiv}
% Dieses Hilfsmakro wird weiter unten benötigt. Es dividiert den
% ersten Parameter durch den zweiten und liefert das gerundete
% Ergebnis in \cs{ta@div} zurück. Für die Berechnung werden
@@ -1806,7 +1928,7 @@
\setlength{\@tempdimb}{#1}%
\divide\@tempdimb by\ta@div
% \end{macrocode}
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
+% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
% \begin{macrocode}
\ifdim \@tempdima<\@tempdimb
\advance\ta@div by\m@ne
@@ -1814,20 +1936,20 @@
\fi
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\ta@temp@goodwidth}
+% \begin{macro}{\ta@temp@goodwidth}
% Dieses Makro setzt die Hilfdimension \cs{ta@temp} auf den Wert einer
% optimalen Zeilenbreite in der aktuellen Schrift. Voraussetzung für
% diese Berechnung ist, dass Zeilenbreiten von ca. 66 bis 72 Zeichen
% optimal sind. Zur Vereinfachung wird mit dem Mittelwert 69
% gerechnet. Eine solche Zeile besteht dann aus 66 durchschnittlichen
% Klein- und 3 durchschnittlichen Großbuchstaben.
-% \changes{v2.7i}{2001/05/17}{Berechnung ist robuster gegen
+% \changes{v2.7i}{2001/05/17}{Berechnung ist robuster gegen
% arithmetischen Überlauf bei sehr großen Schriften}
-% \changes{v2.8q}{2002/03/06}{\cs{normalfont} \cs{normalsize}
+% \changes{v2.8q}{2002/03/06}{\cs{normalfont} \cs{normalsize}
% hinzugefügt}
-% \changes{v2.95a}{2006/07/20}{Berechnung für große Schriften korrigiert}
+% \changes{v2.95a}{2006/07/20}{Berechnung für große Schriften korrigiert}^^A
% \begin{macrocode}
\newcommand*\ta@temp@goodwidth{%
\settowidth{\ta@temp}{\normalfont\normalsize
@@ -1848,10 +1970,10 @@
\fi
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\AfterCalculatingTypearea}
-% \changes{v2.96a}{2006/11/29}{neu}
+% \begin{macro}{\AfterCalculatingTypearea}
+% \changes{v2.96a}{2006/11/29}{neu}^^A
% Neuerdings besteht die Möglichkeit, auf Benutzerebene das Verhalten von
% \cs{typearea} zu beeinflussen. In der Sternvariante wird dabei lokal
% gearbeitet.
@@ -1860,20 +1982,20 @@
\@ifstar \l@addto@macro \g@addto@macro \@typearea@end
}
% \end{macrocode}
-% \begin{macro}{\@typearea@end}
-% \changes{v2.96a}{2006/11/29}{wird wieder immer aber mit neuer Bedeutung
-% definiert}
+% \begin{macro}{\@typearea@end}
+% \changes{v2.96a}{2006/11/29}{wird wieder immer aber mit neuer Bedeutung
+% definiert}^^A
% Das Makro \cs{@typearea@end} dient als Hook, um am Ende von \cs{typearea}
% noch irgendwelche Änderungen vornehmen zu können. Dies geschieht ggf. noch
% vor der Aktivierung der Einstellungen innerhalb eines Dokuments.
% \begin{macrocode}
\newcommand*{\@typearea@end}{}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\AfterSettingArea}
-% \changes{v3.11}{2012/04/17}{new}
+% \begin{macro}{\AfterSettingArea}
+% \changes{v3.11}{2012/04/17}{new}^^A
% The user may influence the result of \cs{areaset}. The star version works
% local while the non-star version is global.
% \begin{macrocode}
@@ -1881,19 +2003,20 @@
\@ifstar \l@addto@macro \g@addto@macro \@areaset@end
}
% \end{macrocode}
-% \begin{macro}{\@areaset@end}
-% \changes{v3.11}{2012/04/17}{new}
+% \begin{macro}{\@areaset@end}
+% \changes{v3.11}{2012/04/17}{new}^^A
% Macro \cs{@areaset@end} is a hook to make it possible to add some
% instructions to the end of the \cs{areaset} command. This will be executed
% before the activation of the settings inside a document.
% \begin{macrocode}
\newcommand*{\@areaset@end}{}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\activateareas}
-% \changes{v2.96a}{Neuer Name für alte Anweisung}
+% \begin{macro}{\activateareas}
+% \changes{v2.96a}{2006/11/29}{Neuer Name für alte Anweisung}^^A
+% \changes{v3.17}{2015/02/07}{Beachte Option \texttt{usegeometry}}^^A
% Dieses Makro wird verwendet, um mit einem gewaltigen Hack die Änderung des
% Satzspiegels innerhalb eines Dokuments zu ermöglichen. Es stellt selbst
% sicher, dass es nur innerhalb des Dokuments ausgeführt wird.
@@ -1934,10 +2057,80 @@
\scr@ifundefinedorrelax{@pagesizelast}{}{%
\KOMAoptions{pagesize=\@pagesizelast}%
}%
+% \end{macrocode}
+% \changes{v3.17}{2015/03/18}{Anpassung der \texttt{parskip}-Einstellungen}^^A
+% Ab Version~3.17 wird bei Änderung des Satzspiegels auch Absatzabstand,
+% -Einzug und Endzeilenfreiraum angepasst. Dies geschieht hier, weil es erst
+% nach \cs{begin{document}} notwendig ist. Zuvor erfolgt dies noch automatisch.
+% \begin{macrocode}
+ \expandafter\ifnum\scr@ta@v@is@ge{3.17}%
+ \csname par@updaterelative\endcsname
+ \fi
+ \fi
+% \end{macrocode}
+% \changes{v3.17}{2015/02/07}{neuer Code für Option \texttt{usegeometry}}
+% \begin{macrocode}
+ \edef\scr@geometryargs{%
+ bindingoffset=\the\ta@bcor,
+ lmargin=\the\dimexpr 1in+\oddsidemargin-\ta@bcor\relax,
+ textwidth=\the\textwidth,
+ \if@hincl
+ includehead,%
+ top=\the\dimexpr 1in+\topmargin\relax,
+ \else
+ includehead=false,%
+ top=\the\dimexpr 1in+\topmargin+\headheight+\headsep\relax,
+ \fi
+ headheight=\the\headheight,
+ headsep=\the\headsep,
+ textheight=\the\textheight,
+ \if@fincl
+ includefoot,
+ \else
+ includefoot=false,
+ \fi
+ footskip=\the\footskip,
+ \if@mincl
+ includemp,
+ \else
+ includemp=false,
+ \fi
+ marginparwidth=\the\marginparwidth,
+ marginparsep=\the\marginparsep
+ }%
+ \if@ta@usegeometry
+ \@ifundefined{Gm@save}{%
+ \if@atdocument\else
+ \edef\scr@geometryargs{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
+ \scr@geometryargs
+ }%
+ \PassOptionsToPackage{\scr@geometryargs}{geometry}%
+ \fi
+ }{%
+ \edef\Gm@restore@org{\Gm@restore}%
+ \if@atdocument
+ \expandafter\newgeometry\expandafter{\scr@geometryargs}%
+ \else
+ \edef\scr@geometryargs{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
+ \scr@geometryargs
+ }%
+ \expandafter\geometry\expandafter{\scr@geometryargs}%
+ \fi
+ }%
\fi
}
% \end{macrocode}
-% \end{macro}
+% \begin{macro}{scr@geometryargs}
+% \changes{v3.16}{2015/02/07}{neu (intern)}^^A
+% Dieses Makro nimmt innerhalb von \cs{activateareas} die Optionen für
+% \textsf{geometry} auf. Initialisiert wird es einfach leer.
+% \begin{macrocode}
+\newcommand*{\scr@geometryargs}{}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\storeareas}
% \changes{v3.10}{2011/09/13}{neue Anweisung}%
@@ -1945,7 +2138,7 @@
% werden. Dieses Makro kann anschließend genutzt werden, um die
% Einstellungen wieder her zu stellen.
% \begin{macro}{\scr@grouplevel@test}
-% \changes{v3.10}{2011/09/13}{neu (intern)}
+% \changes{v3.10}{2011/09/13}{neu (intern)}^^A
% \begin{macrocode}
\newcommand*{\scr@grouplevel@test}[1]{%
\ifcase\currentgrouptype\else
@@ -1992,6 +2185,11 @@
\noexpand\def\noexpand\@lastdiv{\@lastdiv}%
\noexpand\marginparsep=\the\marginparsep\space
\noexpand\marginparwidth=\the\marginparwidth\space
+ \noexpand\def
+ \expandafter\noexpand\csname scr@kav@KOMA.typearea.\scr@pkgextension\endcsname{%
+ \unexpanded\expandafter\expandafter\expandafter{%
+ \csname scr@kav@KOMA.typearea.\scr@pkgextension\endcsname}%
+ }%
}%
}%
\reserved@a
@@ -2000,21 +2198,21 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\ta@divfor}
+% \begin{macro}{\ta@divfor}
% Der Standardseitenspiegel ist abhängig von den mit \cs{SetDIVList}
% vorgegebenen Einstellungen. Dazu muss aus einer eventuell
% vorhandenen inneren Liste \cs{ta@divlist} der von der Schriftgröße
% abhängige \textit{DIV}-Wert ausgelesen werden. Dies geschieht mit
% Hilfe des \cs{ta@divfor}-Befehls, der sich wiederum einiger interner
% Befehle zur Listenbearbeitung bedient.
-% \changes{v2.4g}{1996/11/04}{Satzspiegel wird nicht mehr direkt
+% \changes{v2.4g}{1996/11/04}{Satzspiegel wird nicht mehr direkt
% berechnet, sondern nur der \textit{DIV}-Wert aus der
% Defaultliste ermittelt}
-% \changes{v2.6}{2000/01/04}{Berücksichtigung der erweiterten
-% Liste}
-% \changes{v2.8q}{2002/03/28}{Berücksichtigung der Option
-% `mpinclude'}
-% \changes{v2.96}{2006/08/11}{Schriftgröße muss nicht in ganzen pt sein}
+% \changes{v2.6}{2000/01/04}{Berücksichtigung der erweiterten
+% Liste}^^A
+% \changes{v2.8q}{2002/03/28}{Berücksichtigung der Option
+% `mpinclude'}^^A
+% \changes{v2.96}{2006/08/11}{Schriftgröße muss nicht in ganzen pt sein}^^A
% \begin{macrocode}
\newcommand*{\ta@divfor}[1]{%
\if@mincl
@@ -2071,7 +2269,7 @@
% \end{macrocode}
% \end{macro}
%
-% \changes{v2.4g}{1996/11/04}{überflüssigen Kommentar gelöscht}
+% \changes{v2.4g}{1996/11/04}{überflüssigen Kommentar gelöscht}^^A
% \changes{v2.7g}{2001/04/17}{die neuen Werte \texttt{current},
% \texttt{default}, \texttt{calc}, \texttt{classic} werden
% verstanden}
@@ -2080,7 +2278,7 @@
% \changes{v2.96}{2006/08/21}{Warnung, wenn \cs{typearea} innerhalb einer
% Gruppe verwendet wird}
% \changes{v3.10}{2011/09/13}{Verwendung von \cs{scr@grouplevel@test}}
-% \changes{v3.12}{2013/03/26}{konfigurierbare Höhe des Fußes}
+% \changes{v3.12}{2013/03/26}{konfigurierbare Höhe des Fußes}^^A
%
% Die symbolischen Werte für das obligatorische Argument von
% \cs{typearea} haben folgende Bedeutung:
@@ -2125,7 +2323,7 @@
% neue Seite begonnen werden. Außerdem wird sichergestellt, dass die aktuelle
% Schriftgröße die Grundschriftgröße ist und auch mit dem aktuellen
% Durchschuss gerechnet wird.
-% \changes{v2.95a}{2006/07/20}{Grundschriftgröße einstellen}
+% \changes{v2.95a}{2006/07/20}{Grundschriftgröße einstellen}^^A
% \begin{macrocode}
\if@atdocument\newpage\fi
\normalsize
@@ -2135,8 +2333,8 @@
% der Berechnung wird als Höhe für den Kopf das 1,25-Fache des
% Grundzeilenabstandes gewählt. Damit sollte auch noch genug Raum für die
% optionale Trennlinie vorhanden sein.
-% \changes{v2.4n}{1997/05/28}{berechnete Kopfhöhe vom
-% Grundzeilenabstand abhängig}
+% \changes{v2.4n}{1997/05/28}{berechnete Kopfhöhe vom
+% Grundzeilenabstand abhängig}^^A
% \begin{macrocode}
\@ifundefined{ta@hh}{%
\headheight=1.25\baselineskip
@@ -2173,14 +2371,14 @@
\marginparsep=1cc
\marginparpush=0.45\baselineskip
% \end{macrocode}
-% \changes{v2.4g}{1996/11/04}{\textit{DIV}=0 versucht den Wert aus
+% \changes{v2.4g}{1996/11/04}{\textit{DIV}=0 versucht den Wert aus
% der Default-Liste zu verwenden}
% Vor der eigentlichen Berechnung des Satzspiegels wird nun zunächst
% überprüft, ob der übergebene \textit{DIV}-Wert 0 ist. Da Werte von 0
% bis 3 nicht möglich sind (Minimum sind drei Teile Rand und ein Teil
% Text), wird der Wert 0 dafür verwendet, den Defaultwert aus der
% Liste zu ermitteln, falls ein solcher vorhanden ist.
-% \changes{v2.5h}{1999/12/29}{Text der Warnung korrigiert}
+% \changes{v2.5h}{1999/12/29}{Text der Warnung korrigiert}^^A
% \begin{macrocode}
\ifnum\ta@div=\z@
\@ifundefined{@ptsize}{%
@@ -2226,7 +2424,7 @@
% \end{macrocode}
% Wird vertikal mehr Platz benötigt, als vorhanden ist, wird eine
% andere Berechnung versucht, die weiter unten erfolgt.
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
+% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
% \begin{macrocode}
\ifdim \ta@temp >\paperheight
\PackageWarningNoLine{typearea}{%
@@ -2262,7 +2460,7 @@
% Wurde bisher kein Wert gefunden oder ein \textit{DIV}-Wert von 1 bis
% 2 angegeben, so wird nun ein möglichst optimaler \textit{DIV}-Wert
% ermittelt.
-% \changes{v2.4n}{1997/05/28}{optimale \textit{DIV}-Berechnung
+% \changes{v2.4n}{1997/05/28}{optimale \textit{DIV}-Berechnung
% verbessert}
% \begin{macrocode}
\ifnum\ta@div <4
@@ -2280,7 +2478,7 @@
% \end{macrocode}
% Im Zweispaltenmodus besteht jede Zeile aus zwei solchen Spalten
% zuzüglich dem Spaltenabstand:
-% \changes{v2.8q}{2001/12/13}{\texttt{DIVcalc} liefert im
+% \changes{v2.8q}{2001/12/13}{\texttt{DIVcalc} liefert im
% zweispaltigen Satz (wie dokumentiert) breitere Spalten}
% \begin{macrocode}
\if@twocolumn
@@ -2310,7 +2508,7 @@
\fi
% \end{macrocode}
% Nun kann wieder der \textit{DIV}-Wert ermittelt werden.
-% \changes{v2.8q}{2002/03/28}{Berüchsichtigung von Option
+% \changes{v2.8q}{2002/03/28}{Berüchsichtigung von Option
% \texttt{mpinclude} bei der \textit{DIV}-Berechnung}
% Im Falle der Option \texttt{mpinclude} gilt allgemein, dass
% der Nenner mit $\frac{3}{3+m}$ zu multiplizieren ist. Dabei ist $m$
@@ -2338,7 +2536,7 @@
% hier ist wieder eine minimale Streifenbreite vorteilhaft. Die
% Streifenbreite ergibt sich direkt aus dem oberen Rand. Wobei jedoch
% noch das {\TeX}-Offset von 1\,in zu berücksichtigen ist.
-% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
+% \changes{v2.5a}{1997/06/22}{\cs{ifdim} statt \cs{ifnum}}
% \begin{macrocode}
\setlength{\ta@temp}{-1in}%
\addtolength{\ta@temp}{5mm}%
@@ -2347,7 +2545,7 @@
% Ist der Minimalrand nicht eingehalten, so wird für diesen ein neuer
% \textit{DIV}-Wert ermittelt. Dabei muss ebenfalls berücksichtigt
% werden, ob Kopf- und Fußbereich zum Text oder zum Rand gehören.
-% \changes{v2.5b}{1997/06/29}{bei der Mindestrandbetrachtung
+% \changes{v2.5b}{1997/06/29}{bei der Mindestrandbetrachtung
% \texttt{headinclude} und \texttt{footinclude} berücksichtigen}
% \begin{macrocode}
\setlength{\ta@temp}{15mm}%
@@ -2372,21 +2570,21 @@
\@typearea
% \end{macrocode}
% \changes{v2.0e}{1994/10/28}{Seitenaufteilung wird in die log-Datei
-% geschrieben}
+% geschrieben}^^A
% \changes{v2.4i}{1996/11/11}{Seitenaufteilung wird etwas später in
-% die log-Datei geschrieben}
+% die log-Datei geschrieben}^^A
% \changes{v2.4i}{1996/11/11}{am Ende von \cs{typearea} wird noch
% \cs{@typeare@end} ausgeführt}
% \changes{v2.4j}{1996/12/04}{bei der Seitenaufteilung wird
% \cs{textheight} nicht mehr doppelt, dafür zusätzlich
% \cs{baselineskip} ausgegeben}
% \changes{v2.5}{1997/06/17}{"`arithmetic overflow"' bei landscape
-% behoben}
-% \changes{v2.95}{2004/01/30}{Warnung im Zweispaltenmodus korrigiert}
-% \changes{v3.00}{2008/10/08}{Layout-Infos werden per \cs{ta@layoutinfo}
+% behoben}^^A
+% \changes{v2.95}{2004/01/30}{Warnung im Zweispaltenmodus korrigiert}^^A
+% \changes{v3.00}{2008/10/08}{Layout-Infos werden per \cs{ta@layoutinfo}^^A
% in die \texttt{log}-Datei geschrieben}
% \changes{v3.01b}{2008/12/09}{Warnungen vor ungünstigen Einstellungen
-% geändert}
+% geändert}^^A
% Zum Schluss soll die Seitenaufteilung noch in die \texttt{log}-Datei
% geschrieben werden.
% \begin{macrocode}
@@ -2441,6 +2639,10 @@
}
\fi
\ta@layoutinfo{\number\ta@div}{\the\@tempcnta}%
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{DIV}%
+ \KOMA@kav@xadd{.typearea.\scr@pkgextension}{DIV}{\@lastdiv}%
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{BCOR}%
+ \KOMA@kav@xadd{.typearea.\scr@pkgextension}{BCOR}{\the\ta@bcor}%
\@typearea@end
\activateareas
\ifdim \dimexpr 1in+\topmargin
@@ -2458,10 +2660,10 @@
\fi
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
% \begin{macro}{\ta@layoutinfo}
-% \changes{v3.00}{2008/10/08}{neu (intern)}
+% \changes{v3.00}{2008/10/08}{neu (intern)}^^A
% Schreibt die Layout-Information in die \texttt{log}-Datei. Dabei ist das
% erste Argument die Ausgabe für den DIV-Wert und das zweite Argument die
% DIV-Abweichung. Letztere wird nur ausgegeben, wenn das Argument nicht leer
@@ -2505,15 +2707,15 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\recalctypearea}
-% \changes{v2.95}{2002/12/04}{Neu}
+% \begin{macro}{\recalctypearea}
+% \changes{v2.95}{2002/12/04}{Neu}^^A
% Dieses Anweisung dient der Neuberechnung des Satzspiegels mit den
% zuletzt eingestellten Werten. Dieser Befehl existiert erst, nachdem
% das Paket geladen wurde.
% \begin{macrocode}
\AtEndOfPackage{\newcommand*{\recalctypearea}{\typearea[current]{last}}}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
% \begin{macro}{\areaset}
% \changes{v2.1b}{1994/12/31}{\cs{headheight} von \cs{@ptsize}
@@ -2541,12 +2743,16 @@
% \end{macrocode}
% Erst dann folgt die eigentlich Berechnung:
% \changes{v2.96}{2006/09/12}{\cs{topskip} wird gesetzt}
-% \changes{v3.00}{2008/10/08}{Layout-Infos werden per \cs{ta@layoutinfo}
+% \changes{v3.00}{2008/10/08}{Layout-Infos werden per \cs{ta@layoutinfo}^^A
% in die \texttt{log}-Datei geschrieben}
% \begin{macrocode}
\setlength{\textwidth}{#2}%
\setlength{\textheight}{#3}%
\def\@lastdiv{areaset}%
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{DIV}%
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{DIV}{areaset}%
+ \KOMA@kav@removekey{.typearea.\scr@pkgextension}{BCOR}%
+ \KOMA@kav@add{.typearea.\scr@pkgextension}{BCOR}{\the\ta@bcor}%
\ta@hblk=\paperwidth
\advance\ta@hblk by-\ta@bcor
\advance\ta@hblk by-\textwidth
@@ -2577,7 +2783,7 @@
% \KOMAScript~3.12 dem inneren Rand zugeschlagen. Bei Kompatibilität zu
% älteren Versionen wird hingegen immer der linke Rand verwendet.
% \begin{macrocode}
- \ifnum \scr@compatibility<\@nameuse{scr@v@3.12}\relax
+ \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax
\evensidemargin=\oddsidemargin
\else
\advance\evensidemargin by1.5\ta@hblk
@@ -2617,7 +2823,7 @@
\fi
\headsep=1.5\baselineskip
% \end{macrocode}
-% \changes{v3.12}{2013/03/26}{changes for height of foot}
+% \changes{v3.12}{2013/03/26}{changes for height of foot}^^A
% \begin{macrocode}
\@ifundefined{footheight}{\newlength\footheight}{}
\if@areasetadvanced
@@ -2676,7 +2882,9 @@
\marginparpush=0.45\baselineskip
\ta@layoutinfo{areaset}{}%
% \end{macrocode}
-% \changes{v3.11}{2012/04/17}{usage of \cs{@areaset@end}}%
+% \changes{v3.11}{2012/04/17}{using \cs{@areaset@end}}^^A
+% \changes{v3.16a}{2015/02/11}{using \cs{footheight} for calculation of
+% page usage}^^A
% Since version~3.11 we also support \cs{AfterSettingArea} analogous to
% \cs{AfterCalculatingTypearea}:
% \begin{macrocode}
@@ -2685,7 +2893,7 @@
\ifdim \dimexpr 1in+\topmargin
+\headheight+\headsep
+\textheight
- +\footskip+\dp\strutbox\relax
+ +\footskip+\footheight-\ht\strutbox\relax
>\paperheight
\PackageWarningNoLine{typearea}{%
page content and margins higher than paper.\MessageBreak
@@ -2696,7 +2904,7 @@
\fi
}
% \end{macrocode}
-% \end{macro}
+% \end{macro}
%
%
% \subsection{Berechnung des Standardsatzspiegels}