summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-typearea.dtx
diff options
context:
space:
mode:
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.dtx124
1 files changed, 107 insertions, 17 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 9c641843a98..3f5d3c5858c 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{2622}
+% \CheckSum{2652}
% \iffalse meta-comment
% ======================================================================
% scrkernel-typearea.dtx
-% Copyright (c) Markus Kohm, 2002-2015
+% Copyright (c) Markus Kohm, 2002-2016
%
% 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-2015
+% Copyright (c) Markus Kohm, 2002-2016
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,13 +55,13 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-typearea.dtx 2166 2015-07-26 08:15:44Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 2429 2016-04-12 12:10:19Z kohm $
%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2015-07-26 10:15:44 +0200 (Sun, 26 Jul 2015) $
+ \filedate$Date: 2016-04-12 14:10:19 +0200 (Tue, 12 Apr 2016) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1872 $
\edef\reserved@a{%
@@ -618,6 +618,34 @@
% \end{option}
% \end{option}
%
+% \begin{option}{headsepline}
+% \changes{v3.20}{2015/12/12}{\textsf{typearea} reagiert selbst auf
+% \texttt{headsepline}}^^A
+% Bis \KOMAScript{} v3.20 konnte \textsf{typearea} nicht korrekt auf beliebige
+% Abfolgen der Optionen \texttt{headsepline} und \texttt{headinclude}
+% reagieren. Bis Version 3.18a gewann Option \texttt{headinclude} innerhalb
+% der globalen Optionen immer über Option \texttt{headsepline}, während das
+% innerhalb von \cs{KOMAoptions} nicht der Fall war. In Version 3.18a wurde
+% ein Bug beseitigt, der dann dazu führte, dass \texttt{headsepline} innerhalb
+% der globalen Optionen immer über \texttt{headinclude} siegte. Tatsächlich
+% soll aber bei \texttt{headinclude=false,headsepline} oder bei
+% \texttt{headinclude=true,headsepline=false} sowohl in den globalen Optionen
+% als auch bei \cs{KOMAoptions} \texttt{headsepline} entscheidend sein,
+% während bei \texttt{headsepline,headinclude=false} und
+% \texttt{headsepline=false,headinclude} natürlich \texttt{headinclude}
+% entscheidend sein soll. Das soll auch dann noch funktionieren, wenn sich die
+% Optionen beliebig oft abwechseln. Damit das geht, muss \textsf{typearea}
+% Option \texttt{headsepline} selbst als \texttt{headinclude} interpretieren.
+% \begin{macrocode}
+\KOMA@key{headsepline}[true]{%
+ \KOMA@set@ifkey{headinclude}{@hincl}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{headinclude}{@hincl}%
+ \fi
+}
+% \end{macrocode}
+% \end{option}^^A headsepline
+%
% \begin{option}{footinclude}
% \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}}
% \begin{option}{footexclude}
@@ -645,6 +673,34 @@
% \end{option}
% \end{option}
%
+% \begin{option}{footsepline}
+% \changes{v3.20}{2015/12/12}{\textsf{typearea} reagiert selbst auf
+% \texttt{footsepline}}^^A
+% Bis \KOMAScript{} v3.20 konnte \textsf{typearea} nicht korrekt auf beliebige
+% Abfolgen der Optionen \texttt{footsepline} und \texttt{footinclude}
+% reagieren. Bis Version 3.18a gewann Option \texttt{footinclude} innerhalb
+% der globalen Optionen immer über Option \texttt{footsepline}, während das
+% innerhalb von \cs{KOMAoptions} nicht der Fall war. In Version 3.18a wurde
+% ein Bug beseitigt, der dann dazu führte, dass \texttt{footsepline} innerhalb
+% der globalen Optionen immer über \texttt{footinclude} siegte. Tatsächlich
+% soll aber bei \texttt{footinclude=false,footsepline} oder bei
+% \texttt{footinclude=true,footsepline=false} sowohl in den globalen Optionen
+% als auch bei \cs{KOMAoptions} \texttt{footsepline} entscheidend sein,
+% während bei \texttt{footsepline,footinclude=false} und
+% \texttt{footsepline=false,footinclude} natürlich \texttt{footinclude}
+% entscheidend sein soll. Das soll auch dann noch funktionieren, wenn sich die
+% Optionen beliebig oft abwechseln. Damit das geht, muss \textsf{typearea}
+% Option \texttt{footsepline} selbst als \texttt{footinclude} interpretieren.
+% \begin{macrocode}
+\KOMA@key{footsepline}[true]{%
+ \KOMA@set@ifkey{footinclude}{@hincl}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{footinclude}{@hincl}%
+ \fi
+}
+% \end{macrocode}
+% \end{option}^^A footsepline
+%
% \begin{option}{mpinclude}
% \changes{v2.8q}{2002/03/28}{neue Option}^^A
% \changes{v2.95}{2002/07/08}{Verwendung von \textsf{scrkeyvl}}
@@ -831,15 +887,26 @@
}{%
\def\FamilyElseValue{, `semi'}%
\KOMA@set@ifkey{twoside}{%
-%<package> @twoside%
-%<class> @tempswa%
+% \end{macrocode}
+% \changes{v3.20}{2015/11/02}{nicht erfüllte Reihenfolgenabhängigkeit von
+% Option \texttt{twocolumn} bevor \texttt{twoside} beseitigt}^^A
+% Von Version~3.17 bis 3.19a wurde hier in den Klassen mit einem lokalen
+% Schalter \cs{if@tempswa} gearbeitet. Dadurch konnte aber Option
+% \texttt{twocolumn} nicht erkennen, dass doppelseitig gearbeitet
+% wird. Deshalb hätte Option \texttt{twocolumn} vor \texttt{twoside}
+% abgearbeitet werden müssen. Durch direkte Verwendung von \cs{if@twoside}
+% auch in den Klassen, wurde die Abhängigkeit beseitigt. Die Alternative wäre
+% gewesen, die Implementierung und Ausführung von \texttt{twocolumn} vor
+% \texttt{twoside} zu verschieben.
+% \begin{macrocode}
+ @twoside%
}{#1}%
}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
%<*class>
\expandafter\ifnum\scr@v@is@ge{3.17}%
%<*!letter>
- \if@tempswa\flushbottom
+ \if@twoside\flushbottom
\else\if@twocolumn\flushbottom\else\raggedbottom\fi\fi
%</!letter>
%<letter> \raggedbottom
@@ -898,6 +965,8 @@
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}
% \changes{v3.13a}{2014/04/09}{Signallisierung korrigiert}^^A
+% \changes{v3.20}{2016/02/16}{\cs{sloppy}, \cs{raggedbottom} und
+% \cs{flushbottom} verzögert}^^A
% Einspaltiger oder zweispaltiger Satz?
% \begin{macrocode}
%</package>
@@ -914,10 +983,13 @@
}{twocolumn}{@twocolumn}%
%<package> \csname recalctypearea\endcsname
%<*class>
- \expandafter\ifnum\scr@v@is@ge{3.17}%
+ \if@atdocument\expandafter\@firstofone
+ \else\@ifpackageloaded{typearea}{\expandafter\@firstofone}
+ {\expandafter\AtEndOfClass}\fi
+ {\expandafter\ifnum\scr@v@is@ge{3.17}%
\if@twocolumn\twocolumn\sloppy\flushbottom
\else\onecolumn\if@twoside\flushbottom\else\raggedbottom\fi\fi
- \fi
+ \fi}%
%</class>
\fi
}
@@ -958,6 +1030,8 @@
% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
% \cs{FamilyKeyState}}^^A
% \changes{v3.17a}{2015/05/03}{Logik komplett neu geschrieben}^^A
+% \changes{v3.20}{2015/07/10}{\texttt{luatex} als Synonym für
+% \texttt{pdftex}}^^A
% Diese Option ist nun das zentrale Element für die Übermittlung der
% Seitengröße an pdf\TeX, \texttt{dvips} oder V\TeX. Sie wird auch von
% den obsoleten Optionen verwendet. Die Werte und ihre Bedeutung:
@@ -983,7 +1057,7 @@
\KOMA@key{pagesize}[auto]{%
\KOMA@set@ncmdkey{pagesize}{@pagesizelast}{%
{off}{-1},{no}{-1},{false}{-1},%
- {auto}{0},{automedia}{1},{dvips}{2},{pdftex}{3},{dvipdfmx}{4}%
+ {auto}{0},{automedia}{1},{dvips}{2},{pdftex}{3},{luatex}{3},{dvipdfmx}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase\number\@pagesizelast\relax
@@ -1036,6 +1110,8 @@
%
% \begin{macro}{\set@pdftexpagesize}
% \changes{v2.95}{2002/08/27}{neu (intern)}^^A
+% \changes{v3.20}{2015/07/10}{falls \cs{pdfpage\dots} nicht existiert wird
+% \cs{page\dots} probiert (angekündigt für lua\TeX{}~0.80.1)}^^A
% \begin{macro}{\set@dvipspagesize}
% \changes{v2.95}{2002/08/27}{neu (intern)}^^A
% \changes{v3.02c}{2009/02/13}{\texttt{seascape} wird beachtet}
@@ -1159,8 +1235,12 @@
% ausgeführt werden:
% \begin{macrocode}
\newcommand{\set@pdftexpagesize}{%
- \ifnotundefined{pdfpagewidth}{\pdfpagewidth=\paperwidth}{}%
- \ifnotundefined{pdfpageheight}{\pdfpageheight=\paperheight}{}%
+ \scr@ifundefinedorrelax{pdfpagewidth}{%
+ \scr@ifundefinedorrelax{pagewidth}{}{pagewidth=\paperwidth}%
+ }{\pdfpagewidth=\paperwidth}%
+ \scr@ifundefinedorrelax{pdfpageheight}{%
+ \scr@ifundefinedorrelax{pageheight}{}{pageheight=\paperheight}%
+ }{\pdfpageheight=\paperheight}%
}
\newcommand{\set@dvipspagesize}{%
\begingroup
@@ -1983,12 +2063,14 @@
%
% \begin{macro}{\AfterCalculatingTypearea}
% \changes{v2.96a}{2006/11/29}{neu}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}^^A
% Neuerdings besteht die Möglichkeit, auf Benutzerebene das Verhalten von
% \cs{typearea} zu beeinflussen. In der Sternvariante wird dabei lokal
% gearbeitet.
% \begin{macrocode}
\newcommand*{\AfterCalculatingTypearea}{%
- \@ifstar \l@addto@macro \g@addto@macro \@typearea@end
+ \kernel@ifstar \l@addto@macro \g@addto@macro \@typearea@end
}
% \end{macrocode}
% \begin{macro}{\@typearea@end}
@@ -2005,11 +2087,13 @@
%
% \begin{macro}{\AfterSettingArea}
% \changes{v3.11}{2012/04/17}{new}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}^^A
% The user may influence the result of \cs{areaset}. The star version works
% local while the non-star version is global.
% \begin{macrocode}
\newcommand*{\AfterSettingArea}{%
- \@ifstar \l@addto@macro \g@addto@macro \@areaset@end
+ \kernel@ifstar \l@addto@macro \g@addto@macro \@areaset@end
}
% \end{macrocode}
% \begin{macro}{\@areaset@end}
@@ -2214,8 +2298,12 @@
% \end{macrocode}
% \begin{macro}{\BeforeRestoreareas}
% \changes{v3.18}{2015/05/20}{neue Anweisung}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}^^A
% \begin{macro}{\AfterRestoreareas}
% \changes{v3.18}{2015/05/20}{neue Anweisung}^^A
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
+% ersetzt}^^A
% \begin{macro}{\scr@storeareashook}
% \changes{v3.18}{2015/05/20}{neue Anweisung (intern)}^^A
% \begin{macro}{\scr@storeareas@before@hook}
@@ -2232,10 +2320,12 @@
% bereits definierte Anweisungen gilt.
% \begin{macrocode}
\newcommand*{\BeforeRestoreareas}{%
- \@ifstar{\scr@storeareashook{before@current}}{\scr@storeareashook{before}}%
+ \kernel@ifstar{\scr@storeareashook{before@current}}%
+ {\scr@storeareashook{before}}%
}
\newcommand*{\AfterRestoreareas}{%
- \@ifstar{\scr@storeareashook{after@current}}{\scr@storeareashook{after}}%
+ \kernel@ifstar{\scr@storeareashook{after@current}}%
+ {\scr@storeareashook{after}}%
}
\newcommand*{\scr@storeareashook}[2]{%
\expandafter\l@addto@macro\csname scr@storeareas@#1@hook\endcsname{#2}%