diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx | 138 |
1 files changed, 107 insertions, 31 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx index d4ef80f7dd6..9892ec260ee 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-sections.dtx @@ -1,4 +1,4 @@ -% \CheckSum{3937} +% \CheckSum{3999} % \iffalse meta-comment % ====================================================================== % scrkernel-sections.dtx @@ -55,7 +55,7 @@ % Right brace \} Tilde \~} % % \iffalse -%%% From File: $Id: scrkernel-sections.dtx 2655 2017-06-23 07:35:45Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 2954 2018-03-10 21:15:16Z kohm $ % The runs of run-time file generation: %<preidentify>%%% (run: preidentify) % - everything that is needed before selfidentification of resulting files @@ -78,9 +78,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2017-06-23 09:35:45 +0200 (Fri, 23 Jun 2017) $ + \filedate$Date: 2018-03-10 22:15:16 +0100 (Sat, 10 Mar 2018) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 2655 $ + \filerevision$Revision: 2954 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-sections.dtx}% @@ -2172,26 +2172,54 @@ % \end{macro}^^A \DeclareSectionCommand % % \begin{macro}{\DeclareNewSectionCommand} -% \changes{v3.15}{2014/11/21}{neue Anweisung}^^A +% \changes{v3.15}{2014/11/21}{neue Anweisung}^^A +% \changes{v3.25}{2018/03/10}{zusätzliche Tests und Fehlermeldungen bei +% \cs{the\dots}, \cs{\dots mark}, \cs{\dots format}, +% \cs{\dots markformat}}^^A % Basierend auf |\DeclareSectionCommand| wird eine Gliederungsanweisung % definiert, die zuvor noch nicht existierte. Wichtig zu bemerken ist, dass % die ganzen Hilfsanweisungen bereits existieren dürfen. % \begin{macrocode} \newcommand*{\DeclareNewSectionCommand}[2][]{% \@ifundefined{#2}{% - \DeclareSectionCommand[{#1}]{#2}% + \@tempswatrue + \let\reserved@b\@empty + \@for \reserved@a:=the#2,#2mark,#2format,#2markformat\do{% + \expandafter\scr@ifundefinedorrelax\expandafter{\reserved@a}{}{% + \@tempswafalse + \edef\reserved@b{\expandafter\string\csname \reserved@a\endcsname}% + } + } + \if@tempswa + \DeclareSectionCommand[{#1}]{#2}% + \else + \ClassError{\KOMAClassName}{% + command `\reserved@b` already defined% + }{% + You've tried to define the section command `\expandafter\string\csname + #2\endcsname` newly.\MessageBreak + Such a section command needs an additional new command + `\reserved@b`,\MessageBreak + but this already exists. So you cannot define + `\expandafter\string\csname #2\endcsname` newly.\MessageBreak + Maybe you should use one of \string\DeclareSectionCommand, + \string\RedeclareSectionCommand,\MessageBreak + or \string\ProvideSectionCommand.\MessageBreak + If you'll continue, the command will be ignored.% + }% + \fi }{% \ClassError{\KOMAClassName}{% - command `\expandafter\string\csname #1\endcsname` already defined% + command `\expandafter\string\csname #2\endcsname` already defined% }{% You've tried to define the section command `\expandafter\string\csname - #1\endcsname` newly,\MessageBreak - but a command, token, box or length with this name already + #2\endcsname` newly,\MessageBreak + but a command or something else with this name already exists.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\RedeclareSectionCommand,\MessageBreak or \string\ProvideSectionCommand.\MessageBreak - If you'll continue, the command will be irgnored.% + If you'll continue, the command will be ignored.% }% }% } @@ -2207,10 +2235,10 @@ \newcommand*{\RedeclareSectionCommand}[2][]{% \@ifundefined{#2}{% \ClassError{\KOMAClassName}{% - command `\expandafter\string\csname #1\endcsname` not defined% + command `\expandafter\string\csname #2\endcsname` not defined% }{% You've tried to re-define the section command `\expandafter\string\csname - #1\endcsname`,\MessageBreak + #2\endcsname`,\MessageBreak but a command with this name does not exists.\MessageBreak Maybe you should use one of \string\DeclareSectionCommand, \string\DeclareNewSectionCommand,\MessageBreak @@ -3073,29 +3101,42 @@ % \changes{v3.18}{2015/05/23}{\cs{size@\dots} durch \cs{usekomafont} % ersetzt}^^A % \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}^^A +% \changes{v3.25}{2017/09/07}{\cs{IfUseNumber} definiert}^^A +% \changes{v3.25}{2017/09/07}{\cs{sectfont} durch \cs{usekomafont} +% ersetzt}^^A +% \changes{v3.25}{2017/09/07}{Umstellung auf +% \cs{partlineswithprefixformat}}^^A +% \changes{v3.25}{2018/02/12}{Verwendung des korrekten Font-Elements}^^A % \begin{macrocode} \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \def\IfUseNumber{\ifnumbered{#1}}% \raggedpart - \interlinepenalty \@M - \normalfont\sectfont\nobreak - \ifnumbered{#1}{% - \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}% -%<book|report> \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}% - \partheadmidvskip - }{}% - \usekomafont{part}{\nobreak #3}\strut + \normalfont\usekomafont{disposition}{\nobreak + \IfUseNumber{% + \partlineswithprefixformat{#1}{% + \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}% +%<book|report> \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}% + \partheadmidvskip + }{% + \usekomafont{#1}{\nobreak\interlinepenalty \@M#3\strut\@@par}% + }% + }{% + \partlineswithprefixformat{#1}{}{% + \usekomafont{#1}{\nobreak\interlinepenalty \@M#3\strut\@@par}% + } + }% % \end{macrocode} % \changes{v3.10}{2011/08/30}{Wenn \cs{partmark} \cs{@gobble} ist, wird % stattdessen \cs{@mkboth}{}{} aufgerufen.}^^A % Und noch den Kolumnentitel setzen. % \begin{macrocode} - \expandafter\ifx\csname #1mark\endcsname\@gobble - \@mkboth{}{}% - \else - \csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}% - \fi - \par + \expandafter\ifx\csname #1mark\endcsname\@gobble + \@mkboth{}{}% + \else + \csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}% + \fi + }% \endgroup % \end{macrocode} % Ganz zum Schluss muss noch einmal ein Abstand eingefügt werden. @@ -3147,13 +3188,23 @@ % \end{macrocode} % Erst dann erfolgt die tatsächliche Ausgabe der Überschrift. % \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}^^A +% \changes{v3.25}{2017/09/07}{\cs{IfUseNumber} definiert}^^A +% \changes{v3.25}{2017/09/07}{\cs{sectfont} durch \cs{usekomafont} +% ersetzt}^^A +% \changes{v3.25}{2017/09/07}{Umstellung auf +% \cs{partlineswithprefixformat}}^^A % \begin{macrocode} \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \let\IfUseNumber\@secondoftwo \raggedpart - \interlinepenalty \@M - \normalfont - \sectfont\nobreak\usekomafont{#1}{\nobreak #2}\strut\@mkboth{}{}\par + \normalfont\usekomafont{disposition}{% + \nobreak + \partlineswithprefixformat{#1}{}{% + \usekomafont{#1}{\nobreak\interlinepenalty \@M#2\strut\@@par}% + }% + \@mkboth{}{}% + }% \endgroup %<*article> \nobreak @@ -3167,6 +3218,30 @@ % \end{macrocode} % \end{macro}^^A \scr@@startspart % +% \begin{macro}{\partlineswithprefixformat} +% \changes{v3.25}{2017/09/07}{neu} +% Diese Anweisung definiert das Format der eigentlichen Überschriften im Stil +% \texttt{part}. Fonteinstellungen sind zu diesem Zeitpunkt bereits erfolgt +% order Teil der Argumente. Die Argumente sind: +% \begin{description} +% \item[\meta{Befehlsname} --] der Name der Gliederungsebene, normalerweise +% \texttt{chapter}. +% \item[\meta{Gliederungsnummer} --] die bereits fertig formatierte +% Gliederungsnummer einschließlich des nachfolgenden vertikalen Abstands +% oder leer, falls keine Gliederungsnummer auszugeben ist. +% \item[\meta{Text} --] der Text der Überschrift. +% \end{description} +% Der Anwender ist selbst verantwortlich, dass innerhalb der Überschrift kein +% Seitenumbruch erfolgen kann. Nach der Überschrift wird jedoch zwangsweise +% ein \cs{@@par} ausgeführt, so dass sichergestellt ist, dass mit einem +% internen Absatz abgeschlossen wird. +% \begin{macrocode} +\newcommand{\partlineswithprefixformat}[3]{% + #2#3% +} +% \end{macrocode} +% \end{macro}^^A \partlineswithprefixformat +% % \begin{macro}{\scr@@endpart} % \changes{v3.18}{2015/05/23}{neue Anweisung (intern)}^^A % Diese Anweisung ist von der ursprünglichen Definition von \cs{@spart} @@ -4079,6 +4154,7 @@ % 1fil} gesetzt}^^A % \changes{v3.22}{2016/12/21}{\cs{@afterindentrue} wird bei positivem % \texttt{beforeskip} gesetzt}^^A +% \changes{v3.25}{2017/09/07}{\cs{IfUseNumber} korrigiert}^^A % \begin{macrocode} \newcommand*{\scr@@makeschapterhead}[2]{% \@tempskipa=\glueexpr \csname scr@#1@beforeskip\endcsname\relax\relax @@ -4088,7 +4164,7 @@ \chapterheadstartvskip {% \setlength{\parindent}{\z@}\setlength{\parfillskip}{\z@ plus 1fil}% - \let\IfUseNumber\secondoftwo + \let\IfUseNumber\@secondoftwo \if@chapterprefix \let\IfUsePrefixLine\@firstoftwo \else @@ -4122,7 +4198,7 @@ % \begin{macro}{\chapterlineswithprefixformat} % \changes{v3.19}{2015/08/02}{neue Anweisung} % Diese Anweisung definiert das Format der eigentlichen Überschriften im Stil -% \texttt{section}, wenn mit Überschriftenzeilen gearbeitet +% \texttt{chapter}, wenn mit Überschriftenzeilen gearbeitet % wird. Fonteinstellungen sind zu diesem Zeitpunkt bereits erfolgt. Die % Argumente sind: % \begin{description} |