diff options
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.dtx | 124 |
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}% |