diff options
author | Karl Berry <karl@freefriends.org> | 2015-04-24 23:19:31 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-04-24 23:19:31 +0000 |
commit | 0a00b3b492fd27dc12cddae602b2c43206a17d74 (patch) | |
tree | 40a09bf2208cc13bcd727626e1ee058e2caa68b1 /Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx | |
parent | 77b150bbd42aa48ba71627e09763785b26adfcfd (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.dtx | 196 |
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'}% |