summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.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/scrlayer-scrpage.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/scrlayer-scrpage.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx196
1 files changed, 137 insertions, 59 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
index d936c10b64c..713e1ee11c0 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{2398}
+% \CheckSum{2440}
% \iffalse^^A meta-comment
% ======================================================================
% scrlayer-scrpage.dtx
-% Copyright (c) Markus Kohm, 2012-2014
+% Copyright (c) Markus Kohm, 2012-2015
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ----------------------------------------------------------------------
% scrlayer-scrpage.dtx
-% Copyright (c) Markus Kohm, 2012-2014
+% Copyright (c) Markus Kohm, 2012-2015
%
% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung.
%
@@ -57,17 +57,17 @@
% Right brace \} Tilde \~}
%
% \iffalse^^A meta-comment
-%<identify>%%% From File: $Id: scrlayer-scrpage.dtx 1899 2015-01-08 08:57:02Z kohm $ (identify)
-%<init>%%% From File: $Id: scrlayer-scrpage.dtx 1899 2015-01-08 08:57:02Z kohm $ (init)
-%<options>%%% From File: $Id: scrlayer-scrpage.dtx 1899 2015-01-08 08:57:02Z kohm $ (options)
-%<body>%%% From File: $Id: scrlayer-scrpage.dtx 1899 2015-01-08 08:57:02Z kohm $ (body)
+%<identify>%%% From File: $Id: scrlayer-scrpage.dtx 2070 2015-04-08 09:02:19Z kohm $ (identify)
+%<init>%%% From File: $Id: scrlayer-scrpage.dtx 2070 2015-04-08 09:02:19Z kohm $ (init)
+%<options>%%% From File: $Id: scrlayer-scrpage.dtx 2070 2015-04-08 09:02:19Z kohm $ (options)
+%<body>%%% From File: $Id: scrlayer-scrpage.dtx 2070 2015-04-08 09:02:19Z kohm $ (body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2015-01-08 09:57:02 +0100 (Thu, 08 Jan 2015) $
+ \filedate$Date: 2015-04-08 11:02:19 +0200 (Wed, 08 Apr 2015) $
\def\filerevision$#1: #2 ${\gdef\filerevision{#2}}
- \filerevision$Revision: 1899 $
+ \filerevision$Revision: 2070 $
\endgroup
\ProvidesFile{scrlayer-scrpage.dtx}[\filedate\space r\filerevision\space
%</dtx>
@@ -263,10 +263,12 @@
%
% \begin{option}{headwidth}
% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}^^A
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{option}{footwidth}
% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}^^A
% \changes{v3.15}{2014/12/28}{fix: missing colon in call of
-% \cs{sls@split@at@iicolons}}^^A
+% \cs{sls@split@at@iicolons}}^^A
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{description}
% \item[\texttt{=\meta{special dimensional expression}:\meta{special
% dimensional expression}}:] see \Macro{sls@settowidthof} for information
@@ -290,9 +292,12 @@
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\sls@set@hf@width{head}{\reserved@b}{\reserved@c}{\reserved@a}%
+ \noexpand\FamilyKeyStateProcessed
+ \noexpand\KOMA@kav@replacevalue{.scrlayer-scrpage.sty}{headwidth}{%
+ \reserved@a:\reserved@b:\reserved@c
+ }%
}%
\reserved@a
- \FamilyKeyStateProcessed
}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth@default}
@@ -303,9 +308,12 @@
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\sls@set@hf@width{foot}{\reserved@b}{\reserved@c}{\reserved@a}%
+ \noexpand\FamilyKeyStateProcessed
+ \noexpand\KOMA@kav@replacevalue{.scrlayer-scrpage.sty}{footwidth}{%
+ \reserved@a:\reserved@b:\reserved@c
+ }%
}%
\reserved@a
- \FamilyKeyStateProcessed
}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth@default}
@@ -423,21 +431,25 @@
\scrlayerAddToInterface\sls@headwidth{%
\scr@ifundefinedorrelax{@headwidth}{%
\newcommand*{\sls@headwidth}{\textwidth}%
+ \KOMA@kav@add{.scrlayer-scrpage.sty}{headwidth}{\textwidth:0pt:0pt}%
}{%
\newcommand*{\sls@headwidth}{\@headwidth}%
+ \KOMA@kav@xadd{.scrlayer-scrpage.sty}{headwidth}{\@headwidth:0pt:0pt}%
}%
}
-\scrlayerAddToInterface\sls@oddheadshift{\newcommand*{\sls@oddheadshift}{\z@}}
-\scrlayerAddToInterface\sls@evenheadshift{\newcommand*{\sls@evenheadshift}{\z@}}
+\scrlayerAddToInterface\sls@oddheadshift{\newcommand*{\sls@oddheadshift}{0pt}}
+\scrlayerAddToInterface\sls@evenheadshift{\newcommand*{\sls@evenheadshift}{0pt}}
\scrlayerAddToInterface\sls@footwidth{%
\scr@ifundefinedorrelax{@footwidth}{%
\newcommand*{\sls@footwidth}{\textwidth}%
+ \KOMA@kav@add{.scrlayer-scrpage.sty}{footwidth}{\textwidth:0pt:0pt}
}{%
\newcommand*{\sls@footwidth}{\@footwidth}%
+ \KOMA@kav@xadd{.scrlayer-scrpage.sty}{footwidth}{\@footwidth:0pt:0pt}
}%
}
-\scrlayerAddToInterface\sls@oddfootshift{\newcommand*{\sls@oddfootshift}{\z@}}
-\scrlayerAddToInterface\sls@evenfootshift{\newcommand*{\sls@evenfootshift}{\z@}}
+\scrlayerAddToInterface\sls@oddfootshift{\newcommand*{\sls@oddfootshift}{0pt}}
+\scrlayerAddToInterface\sls@evenfootshift{\newcommand*{\sls@evenfootshift}{0pt}}
% \end{macrocode}
% \end{macro}^^A \sls@headwidth
% \end{macro}^^A \sls@oddheadshift
@@ -567,9 +579,13 @@
% values.
%
% \begin{option}{headtopline}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{option}{headsepline}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{option}{footsepline}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{option}{footbotline}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{description}
% \item[{\texttt{=\meta{dimensional expression}:\meta{dimensional
% expression}}:}]
@@ -586,78 +602,97 @@
% argument, the length, has been omitted the \texttt{:} may also be omitted.
% \begin{macrocode}
%<*options>
-\KOMA@key{headtopline}[:]{\sls@set@values{head}{above}{#1}}
+\KOMA@key{headtopline}[:]{%
+ \sls@set@values[headtopline]{head}{above}{#1}%
+}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headtopline}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headtopline@default}
-\KOMA@key{headsepline}[:]{\sls@set@values{head}{below}{#1}}
+\KOMA@key{headsepline}[:]{%
+ \sls@set@values[headsepline]{head}{below}{#1}%
+}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headsepline}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headsepline@default}
-\KOMA@key{footsepline}[:]{\sls@set@values{foot}{above}{#1}}
+\KOMA@key{footsepline}[:]{%
+ \sls@set@values[footsepline]{foot}{above}{#1}%
+}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footsepline}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footsepline@default}
-\KOMA@key{footbotline}[:]{\sls@set@values{foot}{below}{#1}}
+\KOMA@key{footbotline}[:]{%
+ \sls@set@values[footbotline]{foot}{below}{#1}%
+}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footbotline}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footbotline@default}
% \end{macrocode}
% \begin{macro}{\sls@set@values}
% \begin{description}
-% \item[\Parameter{head or foot}:] either \texttt{head} or \texttt{foot}
-% \item[\Parameter{above or below}:] either \texttt{above} or \texttt{below}
+% \item[\OParameter{option name}:] either empty or the name of the option
+% that sets the line,
+% \item[\Parameter{head or foot}:] either \texttt{head} or \texttt{foot},
+% \item[\Parameter{above or below}:] either \texttt{above} or
+% \texttt{below},
% \item[\Parameter{dimension expression}\texttt{:}\Parameter{dimension
-% expression}] length an thickness of a line (both are optional)
+% expression}] length an thickness of a line (both are optional).
% \end{description}
% Helper macros for the options to set two macros by two values of one
% option. The two values are separated by a colon.
% \begin{macrocode}
\scrlayerAddToInterface\sls@set@values{%
- \newcommand*{\sls@set@values}[3]{%
+ \newcommand*{\sls@set@values}[4][]{%
\begingroup
- \let\reserved@a\@empty
- \let\reserved@b\@empty
- \ifstr{#3}{true}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{%
- \ifstr{#3}{yes}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{%
- \ifstr{#3}{on}{\def\reserved@a{.4pt}\def\reserved@b{sls@#1width}}{%
- \ifstr{#3}{false}{\def\reserved@a{\z@}\def\reserved@b{z@}}{%
- \ifstr{#3}{no}{\def\reserved@a{\z@}\def\reserved@b{z@}}{%
- \ifstr{#3}{off}{\def\reserved@a{\z@}\def\reserved@b{z@}}{%
- }%
- }%
+ \ifstr{#1}{}{%
+ \FamilyKeyStateUnknown
+ }{%
+ \KOMA@set@ifkey{#1}{@tempswa}{#4}%
+ }%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \if@tempswa
+ \edef\reserved@b{%
+ \noexpand\endgroup
+ \noexpand\@namedef{sls@#2#3@linethickness}{.4pt}%
+ \noexpand\@namedef{sls@#2#3@linelength}{%
+ \expandafter\noexpand\csname sls@#2width\endcsname
}%
}%
- }%
- }%
- \ifx\reserved@a\@empty
- \sls@split@at@colon#3::\@nil
+ \else
+ \def\reserved@b{%
+ \endgroup
+ \@namedef{sls@#2#3@linethickness}{0pt}%
+ \@namedef{sls@#2#3@linelength}{0pt}%
+ }%
+ \fi
+ \else
+ \let\reserved@a\@empty
+ \let\reserved@b\@empty
+ \sls@split@at@colon#4::\@nil
\ifx\reserved@a\@empty
- \def\reserved@a{\endgroup\@namedef{sls@#1#2@linethickness}{.4pt}}%
+ \def\reserved@a{\endgroup\@namedef{sls@#2#3@linethickness}{.4pt}}%
\else
\setlength{\@tempdima}{\dimexpr\reserved@a\relax}%
\edef\reserved@a{%
\noexpand\endgroup
- \noexpand\@namedef{sls@#1#2@linethickness}{\the\@tempdima}%
+ \noexpand\@namedef{sls@#2#3@linethickness}{\the\@tempdima}%
}%
\fi
\ifx\reserved@b\@empty
\def\reserved@b{%
\reserved@a
- \@namedef{sls@#1#2@linelength}{\@nameuse{sls@#1width}}%
+ \@namedef{sls@#2#3@linelength}{\@nameuse{sls@#2width}}%
}%
\else
\edef\reserved@b{%
\noexpand\reserved@a
- \noexpand\sls@deftowidthof{sls@#1#2@linelength}{\reserved@b}%
+ \noexpand\sls@deftowidthof{sls@#2#3@linelength}{\reserved@b}%
}%
\fi
- \else
- \edef\reserved@b{%
- \noexpand\endgroup
- \noexpand\@namedef{sls@#1#2@linethickness}{\reserved@a}%
- \noexpand\@namedef{sls@#1#2@linelength}{%
- \expandafter\noexpand\csname \reserved@b\endcsname
- }%
- }%
\fi
\reserved@b
+ \FamilyKeyStateProcessed
+ \ifstr{#1}{}{}{%
+ \KOMA@kav@xreplacevalue{.scrlayer-scrpage.sty}{#1}{%
+ \csname sls@#2#3@linethickness\endcsname
+ :\csname sls@#2#3@linelength\endcsname
+ }%
+ }%
}%
}
% \end{macrocode}
@@ -706,26 +741,38 @@
\newcommand*{\sls@headabove@linelength}{\sls@headwidth}%
}
\scrlayerAddToInterface\sls@headabove{%
- \newcommand*{\sls@headabove@linethickness}{\z@}%
+ \newcommand*{\sls@headabove@linethickness}{0pt}%
}
+\KOMA@kav@xadd{.scrlayer-scrpage.sty}{headtopline}{%
+ \expandafter\noexpand\sls@headabove@linethickness:%
+ \expandafter\noexpand\sls@headabove@linelength}
\scrlayerAddToInterface\sls@headbelow@linelength{%
\newcommand*{\sls@headbelow@linelength}{\sls@headwidth}%
}
\scrlayerAddToInterface\sls@headbelow@linethickness{%
- \newcommand*{\sls@headbelow@linethickness}{\z@}%
+ \newcommand*{\sls@headbelow@linethickness}{0pt}%
}
+\KOMA@kav@xadd{.scrlayer-scrpage.sty}{headsepline}{%
+ \expandafter\noexpand\sls@headbelow@linethickness:%
+ \expandafter\noexpand\sls@headbelow@linelength}
\scrlayerAddToInterface\sls@footabove@linelength{%
\newcommand*{\sls@footabove@linelength}{\sls@footwidth}%
}
\scrlayerAddToInterface\sls@footabove@linethickness{%
- \newcommand*{\sls@footabove@linethickness}{\z@}%
+ \newcommand*{\sls@footabove@linethickness}{0pt}%
}
+\KOMA@kav@xadd{.scrlayer-scrpage.sty}{footsepline}{%
+ \expandafter\noexpand\sls@footabove@linethickness:%
+ \expandafter\noexpand\sls@footabove@linelength}
\scrlayerAddToInterface\sls@footbelow@linelength{%
\newcommand*{\sls@footbelow@linelength}{\sls@footwidth}%
}
\scrlayerAddToInterface\sls@footbelow@linethickness{%
- \newcommand*{\sls@footbelow@linethickness}{\z@}%
+ \newcommand*{\sls@footbelow@linethickness}{0pt}%
}
+\KOMA@kav@xadd{.scrlayer-scrpage.sty}{footbotline}{%
+ \expandafter\noexpand\sls@footbelow@linethickness:%
+ \expandafter\noexpand\sls@footbelow@linelength}
%</options>
% \end{macrocode}
% \end{macro}^^A \sls@footbelow@linethickness
@@ -799,8 +846,11 @@
% \end{option}^^A plainheadtopline
%
% \begin{option}{ilines}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{option}{clines}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{option}{olines}
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{macro}{\sls@hfline@adjust}
% Maybe it would be more useful to be able to adjust each line on its own or
% at most to define an offset. But \Package{scrpage2} supports only these
@@ -811,10 +861,15 @@
\scrlayerAddToInterface\sls@hfline@adjust{%
\newcommand*{\sls@hfline@adjust}{0}%
}
+\KOMA@kav@add{.scrlayer-scrpage.sty}{ilines}{}
\KOMA@key{ilines}[]{%
\ifx\relax#1\relax
\renewcommand*{\sls@hfline@adjust}{0}%
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{ilines}%
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{clines}%
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{olines}%
+ \KOMA@kav@add{.scrlayer-scrpage.sty}{ilines}{}%
\else
\def\FamilyKeyStateProcessed{unexpected value}%
\fi
@@ -825,6 +880,10 @@
\ifx\relax#1\relax
\renewcommand*{\sls@hfline@adjust}{1}%
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{ilines}%
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{clines}%
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{olines}%
+ \KOMA@kav@add{.scrlayer-scrpage.sty}{clines}{}%
\else
\def\FamilyKeyStateProcessed{unexpected value}%
\fi
@@ -835,6 +894,10 @@
\ifx\relax#1\relax
\renewcommand*{\sls@hfline@adjust}{2}%
\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{ilines}%
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{clines}%
+ \KOMA@kav@removekey{.scrlayer-scrpage.sty}{olines}%
+ \KOMA@kav@add{.scrlayer-scrpage.sty}{olines}{}%
\else
\def\FamilyKeyStateProcessed{unexpected value}%
\fi
@@ -879,6 +942,7 @@
% \begin{macro}{\sls@setline}
% \begin{macro}{\sls@@setline}
% \begin{macro}{\sls@@@setline}
+% \changes{v3.17}[2015/02/27]{internal use of the corresponding options}^^A
% \begin{macro}{\sls@@@@setline}
% Helper to set up the line attributes processing the parameters of the
% commands above.
@@ -901,12 +965,24 @@
}
\scrlayerAddToInterface\sls@@@setline{%
\def\sls@@@setline#1#2{%
- \edef\@tempa{#2}\edef\@tempb{current}
+ \edef\@tempa{#2}\edef\@tempb{current}%
\ifstr{#2}{}{}{%
\ifstr{#2}{current}{}{%
\setlength{\@tempdima}{#2}%
- \expandafter\edef\csname sls@#1@linethickness\endcsname%
- {\the\@tempdima}%
+ \ifstr{#1}{headabove}{%
+ \KOMAExecuteOptions[.scrlayer-scrpage.sty]{headtopline=\@tempdima}%
+ }{\ifstr{#1}{headbelow}{%
+ \KOMAExecuteOptions[.scrlayer-scrpage.sty]{headsepline=\@tempdima}%
+ }{%
+ \ifstr{#1}{footabove}{%
+ \KOMAExecuteOptions[.scrlayer-scrpage.sty]%
+ {footsepline=\@tempdima}%
+ }{%
+ \KOMAExecuteOptions[.scrlayer-scrpage.sty]%
+ {footbotline=\@tempdima}%
+ }%
+ }%
+ }%
}%
}%
\PackageWarning{scrlayer-scrpage}{%
@@ -1065,6 +1141,7 @@
%</init>
% \end{macrocode}
% \end{macro}%^^A \sls@auto@pagestyleset
+% \changes{v3.17}{2015/02/25}{new: store the values}^^A
% \begin{macrocode}
%<*options>
\KOMA@key{pagestyleset}{%
@@ -1074,6 +1151,7 @@
\let\sls@auto@pagestyleset\relax
\@nameuse{sls@ps@style@#1}%
\FamilyKeyStateProcessed
+ \KOMA@kav@replacevalue{.scrlayer-scrpage.sty}{pagestyleset}{#1}%
}%
}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@pagestyleset}
@@ -1583,7 +1661,7 @@
\newcommand*{\headfont}{\normalcolor\slshape}%
}{}
}{}
-\scr@ifundefinedorrelax{scr@wrn@pagehead}{}{%
+\scr@ifundefinedorrelax{scr@fnt@wrn@pagehead}{}{%
%<trace> \PackageInfo{scrlayer-scrpage}{%
%<trace> deactivating warning for font element\MessageBreak
%<trace> `pagehead'}%
@@ -1610,7 +1688,7 @@
\scrlayer@AddCsToInterface{footfont}%
}{}%
}{}
-\scr@ifundefinedorrelax{scr@fnt@pagefoot}{}{%
+\scr@ifundefinedorrelax{scr@fnt@wrn@pagefoot}{}{%
%<trace> \PackageInfo{scrlayer-scrpage}{%
%<trace> deactivating warning for font element\MessageBreak
%<trace> `pagefoot'}%