diff options
author | Norbert Preining <norbert@preining.info> | 2022-05-08 03:00:48 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-05-08 03:00:48 +0000 |
commit | ce1c001f7db86ff8f09c1203b965ed9f44531d7a (patch) | |
tree | 06490451baa1d21c2340a765b3239d9888d9ff5f /macros | |
parent | 689536ecd7f688909820f27ed2938273c2e3ae44 (diff) |
CTAN sync 202205080300
Diffstat (limited to 'macros')
149 files changed, 19501 insertions, 21749 deletions
diff --git a/macros/latex/contrib/begingreek/README.txt b/macros/latex/contrib/begingreek/README.txt index b9264dedd4..c90d927860 100644 --- a/macros/latex/contrib/begingreek/README.txt +++ b/macros/latex/contrib/begingreek/README.txt @@ -1,4 +1,4 @@ -Package: begingreek version 1.6 of 2022/05/06 +Package: begingreek version 1.7 of 2022/05/06 Copyright 2015-2022 Claudio Beccari Licence: LaTeX Project Public Licence LPPL v.1.3 (or later) diff --git a/macros/latex/contrib/begingreek/begingreek.dtx b/macros/latex/contrib/begingreek/begingreek.dtx index c5a084de0d..86e3ae46ff 100644 --- a/macros/latex/contrib/begingreek/begingreek.dtx +++ b/macros/latex/contrib/begingreek/begingreek.dtx @@ -39,10 +39,10 @@ etc. %\fi % \iffalse %<*dtx> -\ProvidesFile{begingreek.dtx}[2022/05/06 v.1.6 Dedescribes environment greek] +\ProvidesFile{begingreek.dtx}[2022/05/06 v.1.7 Describes environment greek] %</dtx> %<package>\NeedsTeXFormat{LaTeX2e}[2018/01/01] -%<package>\ProvidesPackage{begingreek}[2022/05/06 v.1.6 Defines environment greek] +%<package>\ProvidesPackage{begingreek}[2022/05/06 v.1.7 Defines environment greek] % %<*driver> \documentclass{ltxdoc} @@ -78,7 +78,7 @@ etc. \end{document} %</driver> % \fi -%\CheckSum{86} +%\CheckSum{77} %\begin{multicols}{2}\tableofcontents\end{multicols} % % \begin{abstract} @@ -424,15 +424,21 @@ Type X to quit}{\@ehd} % we reset it to the default, either the overall default or the package % defined default (saved in |\greekfontfamily|) so we can proceed without % further problems. +% +% Let us define the message to be issued from the environment or the command if the |fd| file relative to the chosen font is not found and to select it or the default one: % \begin{macrocode} -\newenvironment{greek}[1][\greekfontfamily]{\begin{otherlanguage}{greek}% -\edef\Greekfontfamily{#1}% -\IfFileExists{lgr\Greekfontfamily.fd}{}% +\def\CBverifyandselectfont{\IfFileExists{lgr\Greekfontfamily.fd}{}% {\PackageWarning{begingreek}{\MessageBreak Font family lgr\Greekfontfamily.fd does not exist\MessageBreak Default fonts used\MessageBreak}% \def\Greekfontfamily{\greekfontfamily}}% -\fontfamily{\Greekfontfamily}\selectfont +\fontfamily{\Greekfontfamily}\selectfont} +% \end{macrocode} + +% \begin{macrocode} +\newenvironment{greek}[1][\greekfontfamily]{\begin{otherlanguage}{greek}% +\edef\Greekfontfamily{#1}% +\CBverifyandselectfont }{\end{otherlanguage}} % \end{macrocode} @@ -442,12 +448,7 @@ Type X to quit}{\@ehd} % \begin{macrocode} \newcommand*\greektxt[2][\greekfontfamily]{% \edef\Greekfontfamily{#1}% -\IfFileExists{lgr\Greekfontfamily.fd}{}% - {\PackageWarning{begingreek}{\MessageBreak - Font family lgr\Greekfontfamily.fd does not exist\MessageBreak - Default fonts used\MessageBreak}% -\def\Greekfontfamily{\greekfontfamily}}% -\fontfamily{\Greekfontfamily}\selectfont +\CBverifyandselectfont \foreignlanguage{greek}{#2}} % \end{macrocode} diff --git a/macros/latex/contrib/begingreek/begingreek.pdf b/macros/latex/contrib/begingreek/begingreek.pdf Binary files differindex c7295a786d..e51936d7f2 100644 --- a/macros/latex/contrib/begingreek/begingreek.pdf +++ b/macros/latex/contrib/begingreek/begingreek.pdf diff --git a/macros/latex/contrib/koma-script/README b/macros/latex/contrib/koma-script/README index e446ec030a..552ce2a260 100644 --- a/macros/latex/contrib/koma-script/README +++ b/macros/latex/contrib/koma-script/README @@ -1,6 +1,6 @@ -KOMA-Script 2021/11/13 v3.35 -Copyright (c) Markus Kohm <komascript(at)gmx.info>, 1994-2021 +KOMA-Script 2022/05/01 v3.36 +Copyright (c) Markus Kohm <komascript(at)gmx.info>, 1994-2022 This material is subject to the LaTeX Project Public License. See lppl.txt (english) or lppl-de.txt (german) for the details of that @@ -36,7 +36,7 @@ Abstract: scraddr is a LaTeX package of the KOMA-Script bundle. Requires: License: LPPL 1.3c or later State: Author maintained -Version: 2013/09/30 v1.1c +Version: 2022/01/24 v1.1d ============================================================================== scrartcl - versatile class may be used as a drop-in replacement of article ------------------------------------------------------------------------------ @@ -58,7 +58,7 @@ Requires: scrkbase - internal KOMA-Script package Recommended: scrlayer-scrpage - KOMA-Script package License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrarticle - wrapper class to scrartcl ------------------------------------------------------------------------------ @@ -73,7 +73,7 @@ Abstract: scrreport is a very simple wrapper class to scrartcl. Is has Requires: scrartcl.cls - KOMA-Script class License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrbase - basic features for KOMA-Script, e.g. conditionals and key=value ------------------------------------------------------------------------------ @@ -112,7 +112,7 @@ Requires: keyval - key=value package from the graphics bundle manipulation License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrbook - versatile class may be used as a drop-in replacement of book ------------------------------------------------------------------------------ @@ -132,7 +132,7 @@ Requires: scrkbase - internal KOMA-Script package typearea - KOMA-Script package License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrdate - calender date operations, e.g. calculation of the day of the week ------------------------------------------------------------------------------ @@ -151,7 +151,7 @@ Requires: scrkbase - KOMA-Script package for some basic features. manipulation License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrdoc - internal source documentation class of KOMA-Script ------------------------------------------------------------------------------ @@ -167,7 +167,7 @@ Requires: ltxdoc - the LaTeX2e source documentation class scrartcl - the KOMA-Script article class License: LPPL 1.3c or later State: Author maintained -Version: 2016/04/12 v0.1e +Version: 2022/02/09 v0.1i ============================================================================== scrextend - make some features of the KOMA-Script classes available for others ------------------------------------------------------------------------------ @@ -180,7 +180,7 @@ Requires: scrkbase - internal package with some basics of KOMA-Script etoolbox - tool-box for LaTeX programming using e-TeX License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrfontsizes - package to generate a KOMA-Script font size file ------------------------------------------------------------------------------ @@ -192,7 +192,7 @@ Abstract: scrfontsizes is a LaTeX package of the KOMA-Script bundle. Requires: scrextend - some KOMA-Script features for other classes License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrhack - patch some isues with other packages ------------------------------------------------------------------------------ @@ -210,7 +210,7 @@ Requires: scrkbase - internal KOMA-Script package with basics xpatch - extending etoolbox patching commands License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrjura - contract environment for advocates and scholary persons in law ------------------------------------------------------------------------------ @@ -226,7 +226,7 @@ Requires: scrkbase - internal KOMA-Script package with basics tocbasic - features for helper files and float environments License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrkbase - internal basic features for KOMA-Script classes and packages ------------------------------------------------------------------------------ @@ -241,7 +241,7 @@ Requires: scrbase - KOMA-Script package for some basic features. manipulation License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlayer-notecolumn - control note columns parallel to the main text ------------------------------------------------------------------------------ @@ -262,7 +262,7 @@ Abstract: scrlayer-notecolumn is a LaTeX package of the KOMA-Script Requires: scrlayer.sty License: LPPL 1.3c or later State: Author maintained, proof of concept -Version: 2021/05/30 v0.3.3601 +Version: 2022/02/10 v0.3.3694 ============================================================================== scrlayer-scrpage - controlling page headers and footers ------------------------------------------------------------------------------ @@ -282,7 +282,7 @@ Abstract: scrlayer-scrpage is a LaTeX package of the KOMA-Script Requires: scrlayer.sty License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlayer - defining layers and controlling page headers and footers ------------------------------------------------------------------------------ @@ -307,7 +307,7 @@ Abstract: scrlayer is a LaTeX package of the KOMA-Script bundle. Requires: scrkbase.sty License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrletter - wrapper class to scrlttr2 ------------------------------------------------------------------------------ @@ -322,7 +322,7 @@ Abstract: scrreport is a very simple wrapper class to scrlttr2. Is has Requires: scrlttr2.cls - KOMA-Script class License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrletter - letter extention to KOMA-Script classes ------------------------------------------------------------------------------ @@ -337,7 +337,7 @@ Requires: scrkbase - internal KOMA-Script package Recommended: marvosym - package by Martin Vogel providing symbols License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlfile-hook - internal subpackage of scrlfile ------------------------------------------------------------------------------ @@ -348,7 +348,7 @@ Abstract: scrlfile-hook is an internal subpackage of scrlfile to be Requires: scrlogo.sty License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlfile-pacholdlatex - internal subpackage of scrlfile ------------------------------------------------------------------------------ @@ -359,7 +359,7 @@ Abstract: scrlfile-patcholdlatex is an internal subpackage of scrlfile Requires: scrlogo.sty License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlfile - control of package dependencies ------------------------------------------------------------------------------ @@ -377,7 +377,7 @@ Abstract: scrlfile is a LaTeX package of the KOMA-Script bundle. It Requires: scrlfile-hook.sty, scrlfile-patcholdlatex.sty, scrlogo.sty License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlogo - print the KOMA-Script logo ------------------------------------------------------------------------------ @@ -389,7 +389,7 @@ Abstract: scrlogo is a LaTeX package of the KOMA-Script bundle. It Requires: License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrlttr2 - versatile letter class with separation of text area and note paper ------------------------------------------------------------------------------ @@ -422,7 +422,7 @@ Requires: scrkbase - internal KOMA-Script package Recommended: marvosym - package by Martin Vogel providing symbols License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrreport - wrapper class to scrreprt ------------------------------------------------------------------------------ @@ -437,7 +437,7 @@ Abstract: scrreport is a very simple wrapper class to scrreprt. Is has Requires: scrreprt.cls - KOMA-Script class License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrreprt - versatile class may be used as a drop-in replacement of report ------------------------------------------------------------------------------ @@ -457,7 +457,7 @@ Requires: scrkbase - internal KOMA-Script package typearea - KOMA-Script package License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrtime - show the time of the LaTeX run ------------------------------------------------------------------------------ @@ -469,7 +469,7 @@ Abstract: scrtime is a LaTeX package of the KOMA-Script bundle. It Requires: scrkbase - internal package with some basics of KOMA-Script License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== scrwfile - Spare write handles for helper files to avoid `No room' messages ------------------------------------------------------------------------------ @@ -498,7 +498,7 @@ Requires: scrbase - some basic features for class and package scrlfile - control of package dependencies License: LPPL 1.3c or later State: Author maintained -Version: 2021/05/30 v0.1.9-alpha +Version: 2021/05/30 v0.1.10 ============================================================================== tocbasic - Management of tables and lists of contents using helper files ------------------------------------------------------------------------------ @@ -523,7 +523,7 @@ Abstract: tocbasic is a LaTeX package of the KOMA-Script bundle. The Requires: scrbase - KOMA-Script package for some basic features. License: LPPL 1.3c or later State: Author maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== typearea - Calculating typeing area and margins depending on typographic rules ------------------------------------------------------------------------------ @@ -544,5 +544,5 @@ Abstract: Many LaTeX classes, including the standard classes, present Requires: scrkbase - internal basic features for KOMA-Script packages License: LPPL 1.3c or later State: Autor maintained -Version: 2021/11/13 v3.35 +Version: 2022/05/01 v3.36 ============================================================================== diff --git a/macros/latex/contrib/koma-script/doc/manifest.txt b/macros/latex/contrib/koma-script/doc/manifest.txt index f912856347..e6da434d29 100644 --- a/macros/latex/contrib/koma-script/doc/manifest.txt +++ b/macros/latex/contrib/koma-script/doc/manifest.txt @@ -1,6 +1,6 @@ % ====================================================================== % manifest.txt -% Copyright (c) Markus Kohm, 2005-2021 +% Copyright (c) Markus Kohm, 2005-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % manifest.txt -% Copyright (c) Markus Kohm, 2005-2021 +% Copyright (c) Markus Kohm, 2005-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -35,7 +35,7 @@ % Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % -% CONTENTS OF THE KOMA-SCRIPT RELEASE 2021/11/13 v3.35 +% CONTENTS OF THE KOMA-SCRIPT RELEASE 2022/05/01 v3.36 % ------------------------------------------------------ % % @@ -245,6 +245,8 @@ % Makefile.cfg - Optional configuration file for make % % scrdoc.dtx - Class used by the KOMA-Script dtx files +% koma-script-source-doc.dtx +% - Successor of scrdoc.dtx % scrkernel-basics.dtx % - KOMA-Script kernel basics for all packages and classes % scrkernel-bibliography.dtx @@ -280,8 +282,8 @@ % - KOMA-Script typearea part of the classes and package % scrkernel-version.dtx % - KOMA-Script version part of the classes and packages -% scrkernel-circularletters.dtx -% - KOMA-Script circular letter part +% scrkernel-addressfiles.dtx +% - KOMA-Script classes and packages address file part % scrkernel-compatibility.dtx % - KOMA-Script compatibility modes of the classes % scrkernel-letterclassoptions.dtx @@ -474,6 +476,7 @@ Makefile.baseinit Makefile.baserules scrdoc.dtx +koma-script-source-doc.dtx scrkernel-basics.dtx scrkernel-bibliography.dtx scrkernel-floats.dtx @@ -491,7 +494,7 @@ scrkernel-title.dtx scrkernel-tocstyle.dtx scrkernel-typearea.dtx scrkernel-version.dtx -scrkernel-circularletters.dtx +scrkernel-addressfiles.dtx scrkernel-compatibility.dtx scrkernel-letterclassoptions.dtx japanlco.dtx diff --git a/macros/latex/contrib/koma-script/doc/scrguide.html b/macros/latex/contrib/koma-script/doc/scrguide.html index 8c1a0b7b82..ccd2abc1ac 100644 --- a/macros/latex/contrib/koma-script/doc/scrguide.html +++ b/macros/latex/contrib/koma-script/doc/scrguide.html @@ -19,78 +19,78 @@ </ul> <h2><a name="option">Optionen</a></h2> <ul> - <li><a name="option.12h"></a><a href="#option.12h">12h</a> → <a href="scrguide.pdf#desc:scrtime.option.12h">300</a></li> + <li><a name="option.12h"></a><a href="#option.12h">12h</a> → <a href="scrguide.pdf#desc:scrtime.option.12h">301</a></li> <li><a name="option.BCOR"></a><a href="#option.BCOR">BCOR</a> → <a href="scrguide.pdf#desc:typearea.option.BCOR">34</a></li> <li><a name="option.DIV"></a><a href="#option.DIV">DIV</a> → <a href="scrguide.pdf#desc:typearea.option.DIV">35</a></li> <li><a name="option.abstract"></a><a href="#option.abstract">abstract</a> → <a href="scrguide.pdf#desc:maincls.option.abstract">74</a></li> - <li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> → <a href="scrguide.pdf#desc:scrlttr2.option.addrfield">214</a></li> - <li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVempty">304</a></li> - <li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVshow">304</a></li> - <li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVstop">304</a></li> - <li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVwarn">304</a></li> - <li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> → <a href="scrguide.pdf#desc:maincls.option.appendixprefix">101</a></li> + <li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> → <a href="scrguide.pdf#desc:scrlttr2.option.addrfield">215</a></li> + <li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVempty">305</a></li> + <li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVshow">305</a></li> + <li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVstop">305</a></li> + <li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> → <a href="scrguide.pdf#desc:scraddr.option.adrFreeIVwarn">305</a></li> + <li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> → <a href="scrguide.pdf#desc:maincls.option.appendixprefix">100</a></li> <li><a name="option.areasetadvanced"></a><a href="#option.areasetadvanced">areasetadvanced</a> → <a href="scrguide.pdf#desc:typearea-experts.option.areasetadvanced">505</a></li> <li><a name="option.autoclearnotecolumns"></a><a href="#option.autoclearnotecolumns">autoclearnotecolumns</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.option.autoclearnotecolumns">502</a></li> - <li><a name="option.autoenlargeheadfoot"></a><a href="#option.autoenlargeheadfoot">autoenlargeheadfoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.autoenlargeheadfoot">267</a></li> - <li><a name="option.automark"></a><a href="#option.automark">automark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.automark">284</a>, <a href="scrguide.pdf#desc:scrlayer.option.automark">472</a></li> - <li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.autooneside">284</a>, <a href="scrguide.pdf#desc:scrlayer.option.autooneside">472</a></li> - <li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.option.backaddress">214</a></li> - <li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> → <a href="scrguide.pdf#desc:maincls.option.bibliography">156</a></li> + <li><a name="option.autoenlargeheadfoot"></a><a href="#option.autoenlargeheadfoot">autoenlargeheadfoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.autoenlargeheadfoot">268</a></li> + <li><a name="option.automark"></a><a href="#option.automark">automark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.automark">285</a>, <a href="scrguide.pdf#desc:scrlayer.option.automark">472</a></li> + <li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.autooneside">285</a>, <a href="scrguide.pdf#desc:scrlayer.option.autooneside">472</a></li> + <li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.option.backaddress">215</a></li> + <li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> → <a href="scrguide.pdf#desc:maincls.option.bibliography">157</a></li> <li><a name="option.captions"></a><a href="#option.captions">captions</a> → <a href="scrguide.pdf#desc:maincls.option.captions">136</a></li> - <li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> → <a href="scrguide.pdf#desc:maincls.option.chapteratlists">105</a></li> + <li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> → <a href="scrguide.pdf#desc:maincls.option.chapteratlists">106</a></li> <li><a name="option.chapterentrydots"></a><a href="#option.chapterentrydots">chapterentrydots</a> → <a href="scrguide.pdf#desc:maincls.option.chapterentrydots">78</a></li> - <li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> → <a href="scrguide.pdf#desc:maincls.option.chapterprefix">101</a></li> - <li><a name="option.clausemark"></a><a href="#option.clausemark">clausemark</a> → <a href="scrguide.pdf#desc:scrjura.option.clausemark">334</a></li> - <li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> → <a href="scrguide.pdf#desc:scrlttr2.option.cleardoublepage">244</a>, <a href="scrguide.pdf#desc:scrextend.option.cleardoublepage">317</a>, <a href="scrguide.pdf#desc:maincls.option.cleardoublepage">91</a></li> - <li><a name="option.clines"></a><a href="#option.clines">clines</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.clines">293</a></li> - <li><a name="option.contract"></a><a href="#option.contract">contract</a> → <a href="scrguide.pdf#desc:scrjura.option.contract">331</a></li> + <li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> → <a href="scrguide.pdf#desc:maincls.option.chapterprefix">100</a></li> + <li><a name="option.clausemark"></a><a href="#option.clausemark">clausemark</a> → <a href="scrguide.pdf#desc:scrjura.option.clausemark">335</a></li> + <li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> → <a href="scrguide.pdf#desc:scrlttr2.option.cleardoublepage">245</a>, <a href="scrguide.pdf#desc:scrextend.option.cleardoublepage">318</a>, <a href="scrguide.pdf#desc:maincls.option.cleardoublepage">91</a></li> + <li><a name="option.clines"></a><a href="#option.clines">clines</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.clines">294</a></li> + <li><a name="option.contract"></a><a href="#option.contract">contract</a> → <a href="scrguide.pdf#desc:scrjura.option.contract">332</a></li> <li><a name="option.deactivatepagestylelayers"></a><a href="#option.deactivatepagestylelayers">deactivatepagestylelayers</a> → <a href="scrguide.pdf#desc:scrlayer.option.deactivatepagestylelayers">467</a></li> - <li><a name="option.draft"></a><a href="#option.draft">draft</a> → <a href="scrguide.pdf#desc:scrlttr2.option.draft">165</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.option.draft">285</a>, <a href="scrguide.pdf#desc:scrextend.option.draft">309</a>, <a href="scrguide.pdf#desc:scrlayer.option.draft">460</a>, <a href="scrguide.pdf#desc:maincls.option.draft">58</a></li> - <li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> → <a href="scrguide.pdf#desc:scrlttr2.option.enlargefirstpage">234</a></li> - <li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> → <a href="scrguide.pdf#desc:scrextend.option.extendedfeature">309</a></li> - <li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> → <a href="scrguide.pdf#desc:scrlttr2.option.firstfoot">234</a></li> - <li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> → <a href="scrguide.pdf#desc:scrlttr2.option.firsthead">201</a></li> + <li><a name="option.draft"></a><a href="#option.draft">draft</a> → <a href="scrguide.pdf#desc:scrlttr2.option.draft">166</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.option.draft">286</a>, <a href="scrguide.pdf#desc:scrextend.option.draft">310</a>, <a href="scrguide.pdf#desc:scrlayer.option.draft">460</a>, <a href="scrguide.pdf#desc:maincls.option.draft">58</a></li> + <li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> → <a href="scrguide.pdf#desc:scrlttr2.option.enlargefirstpage">235</a></li> + <li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> → <a href="scrguide.pdf#desc:scrextend.option.extendedfeature">310</a></li> + <li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> → <a href="scrguide.pdf#desc:scrlttr2.option.firstfoot">235</a></li> + <li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> → <a href="scrguide.pdf#desc:scrlttr2.option.firsthead">202</a></li> <li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> → <a href="scrguide.pdf#desc:maincls.option.fleqn">135</a></li> - <li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> → <a href="scrguide.pdf#desc:scrlttr2.option.foldmarks">197</a></li> - <li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fontsize">189</a>, <a href="scrguide.pdf#desc:scrextend.option.fontsize">310</a>, <a href="scrguide.pdf#desc:maincls.option.fontsize">60</a></li> - <li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.footbotline">292</a></li> + <li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> → <a href="scrguide.pdf#desc:scrlttr2.option.foldmarks">198</a></li> + <li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fontsize">190</a>, <a href="scrguide.pdf#desc:scrextend.option.fontsize">311</a>, <a href="scrguide.pdf#desc:maincls.option.fontsize">60</a></li> + <li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.footbotline">293</a></li> <li><a name="option.footheight"></a><a href="#option.footheight">footheight</a> → <a href="scrguide.pdf#desc:typearea.option.footheight">46</a></li> <li><a name="option.footinclude"></a><a href="#option.footinclude">footinclude</a> → <a href="scrguide.pdf#desc:typearea.option.footinclude">43</a></li> <li><a name="option.footlines"></a><a href="#option.footlines">footlines</a> → <a href="scrguide.pdf#desc:typearea.option.footlines">46</a></li> - <li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> → <a href="scrguide.pdf#desc:scrlttr2.option.footnotes">245</a>, <a href="scrguide.pdf#desc:scrextend.option.footnotes">319</a>, <a href="scrguide.pdf#desc:maincls.option.footnotes">94</a></li> - <li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> → <a href="scrguide.pdf#desc:scrlttr2.option.footsepline">239</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.option.footsepline">292</a>, <a href="scrguide.pdf#desc:maincls.option.footsepline">84</a></li> - <li><a name="option.footwidth"></a><a href="#option.footwidth">footwidth</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.footwidth">290</a></li> - <li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromalign">201</a></li> - <li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromemail">207</a></li> - <li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromfax">207</a></li> - <li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromlogo">211</a></li> - <li><a name="option.frommobilephone"></a><a href="#option.frommobilephone">frommobilephone</a> → <a href="scrguide.pdf#desc:scrlttr2.option.frommobilephone">207</a></li> - <li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromphone">207</a></li> - <li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromrule">203</a></li> - <li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromurl">207</a></li> + <li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> → <a href="scrguide.pdf#desc:scrlttr2.option.footnotes">246</a>, <a href="scrguide.pdf#desc:scrextend.option.footnotes">320</a>, <a href="scrguide.pdf#desc:maincls.option.footnotes">94</a></li> + <li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> → <a href="scrguide.pdf#desc:scrlttr2.option.footsepline">240</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.option.footsepline">293</a>, <a href="scrguide.pdf#desc:maincls.option.footsepline">84</a></li> + <li><a name="option.footwidth"></a><a href="#option.footwidth">footwidth</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.footwidth">291</a></li> + <li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromalign">202</a></li> + <li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromemail">208</a></li> + <li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromfax">208</a></li> + <li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromlogo">212</a></li> + <li><a name="option.frommobilephone"></a><a href="#option.frommobilephone">frommobilephone</a> → <a href="scrguide.pdf#desc:scrlttr2.option.frommobilephone">208</a></li> + <li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromphone">208</a></li> + <li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromrule">204</a></li> + <li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> → <a href="scrguide.pdf#desc:scrlttr2.option.fromurl">208</a></li> <li><a name="option.headheight"></a><a href="#option.headheight">headheight</a> → <a href="scrguide.pdf#desc:typearea.option.headheight">45</a></li> <li><a name="option.headinclude"></a><a href="#option.headinclude">headinclude</a> → <a href="scrguide.pdf#desc:typearea.option.headinclude">43</a></li> - <li><a name="option.headings"></a><a href="#option.headings">headings</a> → <a href="scrguide.pdf#desc:maincls.option.headings">101</a></li> + <li><a name="option.headings"></a><a href="#option.headings">headings</a> → <a href="scrguide.pdf#desc:maincls.option.headings">102</a></li> <li><a name="option.headlines"></a><a href="#option.headlines">headlines</a> → <a href="scrguide.pdf#desc:typearea.option.headlines">45</a></li> - <li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> → <a href="scrguide.pdf#desc:scrlttr2.option.headsepline">239</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.option.headsepline">292</a>, <a href="scrguide.pdf#desc:maincls.option.headsepline">84</a></li> - <li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.headtopline">292</a></li> - <li><a name="option.headwidth"></a><a href="#option.headwidth">headwidth</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.headwidth">290</a></li> + <li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> → <a href="scrguide.pdf#desc:scrlttr2.option.headsepline">240</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.option.headsepline">293</a>, <a href="scrguide.pdf#desc:maincls.option.headsepline">84</a></li> + <li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.headtopline">293</a></li> + <li><a name="option.headwidth"></a><a href="#option.headwidth">headwidth</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.headwidth">291</a></li> <li><a name="option.hmode"></a><a href="#option.hmode">hmode</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.option.hmode">487</a></li> - <li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.ilines">293</a></li> + <li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.ilines">294</a></li> <li><a name="option.index"></a><a href="#option.index">index</a> → <a href="scrguide.pdf#desc:maincls.option.index">160</a></li> - <li><a name="option.juratitlepagebreak"></a><a href="#option.juratitlepagebreak">juratitlepagebreak</a> → <a href="scrguide.pdf#desc:scrjura.option.juratitlepagebreak">333</a></li> - <li><a name="option.juratocindent"></a><a href="#option.juratocindent">juratocindent</a> → <a href="scrguide.pdf#desc:scrjura.option.juratocindent">330</a></li> - <li><a name="option.juratocnumberwidth"></a><a href="#option.juratocnumberwidth">juratocnumberwidth</a> → <a href="scrguide.pdf#desc:scrjura.option.juratocnumberwidth">330</a></li> - <li><a name="option.juratotoc"></a><a href="#option.juratotoc">juratotoc</a> → <a href="scrguide.pdf#desc:scrjura.option.juratotoc">329</a></li> + <li><a name="option.juratitlepagebreak"></a><a href="#option.juratitlepagebreak">juratitlepagebreak</a> → <a href="scrguide.pdf#desc:scrjura.option.juratitlepagebreak">334</a></li> + <li><a name="option.juratocindent"></a><a href="#option.juratocindent">juratocindent</a> → <a href="scrguide.pdf#desc:scrjura.option.juratocindent">331</a></li> + <li><a name="option.juratocnumberwidth"></a><a href="#option.juratocnumberwidth">juratocnumberwidth</a> → <a href="scrguide.pdf#desc:scrjura.option.juratocnumberwidth">331</a></li> + <li><a name="option.juratotoc"></a><a href="#option.juratotoc">juratotoc</a> → <a href="scrguide.pdf#desc:scrjura.option.juratotoc">330</a></li> <li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> → <a href="scrguide.pdf#desc:maincls.option.leqno">135</a></li> - <li><a name="option.listof"></a><a href="#option.listof">listof</a> → <a href="scrguide.pdf#desc:maincls.option.listof">151</a></li> - <li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> → <a href="scrguide.pdf#desc:scrlttr2.option.locfield">220</a></li> - <li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.manualmark">284</a>, <a href="scrguide.pdf#desc:scrlayer.option.manualmark">472</a></li> - <li><a name="option.markcase"></a><a href="#option.markcase">markcase</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.markcase">285</a>, <a href="scrguide.pdf#desc:scrlayer.option.markcase">473</a></li> + <li><a name="option.listof"></a><a href="#option.listof">listof</a> → <a href="scrguide.pdf#desc:maincls.option.listof">152</a></li> + <li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> → <a href="scrguide.pdf#desc:scrlttr2.option.locfield">221</a></li> + <li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.manualmark">285</a>, <a href="scrguide.pdf#desc:scrlayer.option.manualmark">472</a></li> + <li><a name="option.markcase"></a><a href="#option.markcase">markcase</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.markcase">286</a>, <a href="scrguide.pdf#desc:scrlayer.option.markcase">473</a></li> <li><a name="option.mpinclude"></a><a href="#option.mpinclude">mpinclude</a> → <a href="scrguide.pdf#desc:typearea.option.mpinclude">44</a></li> <li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> → <a href="scrguide.pdf#desc:maincls.option.numbers">104</a></li> - <li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> → <a href="scrguide.pdf#desc:scrlttr2.option.numericaldate">222</a></li> - <li><a name="option.olines"></a><a href="#option.olines">olines</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.olines">293</a></li> + <li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> → <a href="scrguide.pdf#desc:scrlttr2.option.numericaldate">223</a></li> + <li><a name="option.olines"></a><a href="#option.olines">olines</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.olines">294</a></li> <li><a name="option.onpsbackground"></a><a href="#option.onpsbackground">onpsbackground</a> → <a href="scrguide.pdf#desc:scrlayer.option.onpsbackground">467</a></li> <li><a name="option.onpsevenpage"></a><a href="#option.onpsevenpage">onpsevenpage</a> → <a href="scrguide.pdf#desc:scrlayer.option.onpsevenpage">467</a></li> <li><a name="option.onpsfloatpage"></a><a href="#option.onpsfloatpage">onpsfloatpage</a> → <a href="scrguide.pdf#desc:scrlayer.option.onpsfloatpage">467</a></li> @@ -103,30 +103,30 @@ <li><a name="option.onpstwoside"></a><a href="#option.onpstwoside">onpstwoside</a> → <a href="scrguide.pdf#desc:scrlayer.option.onpstwoside">467</a></li> <li><a name="option.open"></a><a href="#option.open">open</a> → <a href="scrguide.pdf#desc:maincls.option.open">100</a></li> <li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> → <a href="scrguide.pdf#desc:maincls.option.origlongtable">151</a></li> - <li><a name="option.overfullrule"></a><a href="#option.overfullrule">overfullrule</a> → <a href="scrguide.pdf#desc:scrlttr2.option.overfullrule">165</a>, <a href="scrguide.pdf#desc:scrextend.option.overfullrule">309</a>, <a href="scrguide.pdf#desc:maincls.option.overfullrule">58</a></li> - <li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> → <a href="scrguide.pdf#desc:scrlttr2.option.pagenumber">240</a></li> + <li><a name="option.overfullrule"></a><a href="#option.overfullrule">overfullrule</a> → <a href="scrguide.pdf#desc:scrlttr2.option.overfullrule">166</a>, <a href="scrguide.pdf#desc:scrextend.option.overfullrule">310</a>, <a href="scrguide.pdf#desc:maincls.option.overfullrule">58</a></li> + <li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> → <a href="scrguide.pdf#desc:scrlttr2.option.pagenumber">241</a></li> <li><a name="option.pagesize"></a><a href="#option.pagesize">pagesize</a> → <a href="scrguide.pdf#desc:typearea.option.pagesize">50</a></li> - <li><a name="option.pagestyleset"></a><a href="#option.pagestyleset">pagestyleset</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.pagestyleset">281</a></li> + <li><a name="option.pagestyleset"></a><a href="#option.pagestyleset">pagestyleset</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.pagestyleset">282</a></li> <li><a name="option.paper"></a><a href="#option.paper">paper</a> → <a href="scrguide.pdf#desc:typearea.option.paper">49</a></li> - <li><a name="option.parnumber"></a><a href="#option.parnumber">parnumber</a> → <a href="scrguide.pdf#desc:scrjura.option.parnumber">335</a></li> - <li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> → <a href="scrguide.pdf#desc:scrlttr2.option.parskip">237</a>, <a href="scrguide.pdf#desc:maincls.option.parskip">81</a></li> - <li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainfootbotline">292</a></li> - <li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainfootsepline">292</a></li> - <li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainheadsepline">292</a></li> - <li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainheadtopline">292</a></li> - <li><a name="option.priority"></a><a href="#option.priority">priority</a> → <a href="scrguide.pdf#desc:scrlttr2.option.priority">214</a></li> - <li><a name="option.ref"></a><a href="#option.ref">ref</a> → <a href="scrguide.pdf#desc:scrjura.option.ref">340</a></li> - <li><a name="option.refline"></a><a href="#option.refline">refline</a> → <a href="scrguide.pdf#desc:scrlttr2.option.refline">223</a></li> + <li><a name="option.parnumber"></a><a href="#option.parnumber">parnumber</a> → <a href="scrguide.pdf#desc:scrjura.option.parnumber">336</a></li> + <li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> → <a href="scrguide.pdf#desc:scrlttr2.option.parskip">238</a>, <a href="scrguide.pdf#desc:maincls.option.parskip">81</a></li> + <li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainfootbotline">293</a></li> + <li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainfootsepline">293</a></li> + <li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainheadsepline">293</a></li> + <li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.option.plainheadtopline">293</a></li> + <li><a name="option.priority"></a><a href="#option.priority">priority</a> → <a href="scrguide.pdf#desc:scrlttr2.option.priority">215</a></li> + <li><a name="option.ref"></a><a href="#option.ref">ref</a> → <a href="scrguide.pdf#desc:scrjura.option.ref">341</a></li> + <li><a name="option.refline"></a><a href="#option.refline">refline</a> → <a href="scrguide.pdf#desc:scrlttr2.option.refline">224</a></li> <li><a name="option.sectionentrydots"></a><a href="#option.sectionentrydots">sectionentrydots</a> → <a href="scrguide.pdf#desc:maincls.option.sectionentrydots">78</a></li> <li><a name="option.singlespacing"></a><a href="#option.singlespacing">singlespacing</a> → <a href="scrguide.pdf#desc:scrlayer.option.singlespacing">467</a></li> - <li><a name="option.subject"></a><a href="#option.subject">subject</a> → <a href="scrguide.pdf#desc:scrlttr2.option.subject">227</a></li> - <li><a name="option.symbolicnames"></a><a href="#option.symbolicnames">symbolicnames</a> → <a href="scrguide.pdf#desc:scrlttr2.option.symbolicnames">207</a></li> - <li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> → <a href="scrguide.pdf#desc:scrextend.option.titlepage">312</a>, <a href="scrguide.pdf#desc:maincls.option.titlepage">67</a></li> + <li><a name="option.subject"></a><a href="#option.subject">subject</a> → <a href="scrguide.pdf#desc:scrlttr2.option.subject">228</a></li> + <li><a name="option.symbolicnames"></a><a href="#option.symbolicnames">symbolicnames</a> → <a href="scrguide.pdf#desc:scrlttr2.option.symbolicnames">208</a></li> + <li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> → <a href="scrguide.pdf#desc:scrextend.option.titlepage">313</a>, <a href="scrguide.pdf#desc:maincls.option.titlepage">67</a></li> <li><a name="option.toc"></a><a href="#option.toc">toc</a> → <a href="scrguide.pdf#desc:maincls.option.toc">75</a></li> <li><a name="option.twocolumn"></a><a href="#option.twocolumn">twocolumn</a> → <a href="scrguide.pdf#desc:typearea.option.twocolumn">42</a></li> <li><a name="option.twoside"></a><a href="#option.twoside">twoside</a> → <a href="scrguide.pdf#desc:typearea.option.twoside">41</a></li> <li><a name="option.usegeometry"></a><a href="#option.usegeometry">usegeometry</a> → <a href="scrguide.pdf#desc:typearea-experts.option.usegeometry">504</a></li> - <li><a name="option.version"></a><a href="#option.version">version</a> → <a href="scrguide.pdf#desc:scrlttr2.option.version">164</a>, <a href="scrguide.pdf#desc:scrextend.option.version">308</a>, <a href="scrguide.pdf#desc:typearea.option.version">33</a>, <a href="scrguide.pdf#desc:maincls.option.version">57</a></li> + <li><a name="option.version"></a><a href="#option.version">version</a> → <a href="scrguide.pdf#desc:scrlttr2.option.version">165</a>, <a href="scrguide.pdf#desc:scrextend.option.version">309</a>, <a href="scrguide.pdf#desc:typearea.option.version">33</a>, <a href="scrguide.pdf#desc:maincls.option.version">57</a></li> </ul> <h2><a name="macro">Anweisungen</a></h2> <ul> @@ -141,14 +141,14 @@ <li><a name="cmd.AddLayersToPageStyleAfterLayer"></a><a href="#cmd.AddLayersToPageStyleAfterLayer">\AddLayersToPageStyleAfterLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.AddLayersToPageStyleAfterLayer">469</a></li> <li><a name="cmd.AddLayersToPageStyleBeforeLayer"></a><a href="#cmd.AddLayersToPageStyleBeforeLayer">\AddLayersToPageStyleBeforeLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.AddLayersToPageStyleBeforeLayer">469</a></li> <li><a name="cmd.AddToLayerPageStyleOptions"></a><a href="#cmd.AddToLayerPageStyleOptions">\AddToLayerPageStyleOptions</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.AddToLayerPageStyleOptions">469</a></li> - <li><a name="cmd.Address"></a><a href="#cmd.Address">\Address</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Address">302</a></li> - <li><a name="cmd.AddtoDoHook"></a><a href="#cmd.AddtoDoHook">\AddtoDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AddtoDoHook">379</a></li> - <li><a name="cmd.AddtoOneTimeDoHook"></a><a href="#cmd.AddtoOneTimeDoHook">\AddtoOneTimeDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AddtoOneTimeDoHook">379</a></li> + <li><a name="cmd.Address"></a><a href="#cmd.Address">\Address</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Address">303</a></li> + <li><a name="cmd.AddtoDoHook"></a><a href="#cmd.AddtoDoHook">\AddtoDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AddtoDoHook">380</a></li> + <li><a name="cmd.AddtoOneTimeDoHook"></a><a href="#cmd.AddtoOneTimeDoHook">\AddtoOneTimeDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AddtoOneTimeDoHook">380</a></li> <li><a name="cmd.AfterAtEndOfClass*"></a><a href="#cmd.AfterAtEndOfClass*">\AfterAtEndOfClass*</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.AfterAtEndOfClass*">385</a></li> <li><a name="cmd.AfterAtEndOfClass"></a><a href="#cmd.AfterAtEndOfClass">\AfterAtEndOfClass</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.AfterAtEndOfClass">385</a></li> <li><a name="cmd.AfterAtEndOfPackage*"></a><a href="#cmd.AfterAtEndOfPackage*">\AfterAtEndOfPackage*</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.AfterAtEndOfPackage*">385</a></li> <li><a name="cmd.AfterAtEndOfPackage"></a><a href="#cmd.AfterAtEndOfPackage">\AfterAtEndOfPackage</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.AfterAtEndOfPackage">385</a></li> - <li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.AfterBibliographyPreamble">159</a></li> + <li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.AfterBibliographyPreamble">160</a></li> <li><a name="cmd.AfterCalculatingTypearea*"></a><a href="#cmd.AfterCalculatingTypearea*">\AfterCalculatingTypearea*</a> → <a href="scrguide.pdf#desc:typearea-experts.cmd.AfterCalculatingTypearea*">507</a></li> <li><a name="cmd.AfterCalculatingTypearea"></a><a href="#cmd.AfterCalculatingTypearea">\AfterCalculatingTypearea</a> → <a href="scrguide.pdf#desc:typearea-experts.cmd.AfterCalculatingTypearea">507</a></li> <li><a name="cmd.AfterClass*"></a><a href="#cmd.AfterClass*">\AfterClass*</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.AfterClass*">385</a></li> @@ -164,18 +164,18 @@ <li><a name="cmd.AfterSettingArea"></a><a href="#cmd.AfterSettingArea">\AfterSettingArea</a> → <a href="scrguide.pdf#desc:typearea-experts.cmd.AfterSettingArea">507</a></li> <li><a name="cmd.AfterStartingTOC"></a><a href="#cmd.AfterStartingTOC">\AfterStartingTOC</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.AfterStartingTOC">406</a></li> <li><a name="cmd.AfterTOCHead"></a><a href="#cmd.AfterTOCHead">\AfterTOCHead</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.AfterTOCHead">406</a></li> - <li><a name="cmd.At@startsection"></a><a href="#cmd.At@startsection">\At@startsection</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.At@startsection">535</a></li> + <li><a name="cmd.At@startsection"></a><a href="#cmd.At@startsection">\At@startsection</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.At@startsection">536</a></li> <li><a name="cmd.AtAddToTocList"></a><a href="#cmd.AtAddToTocList">\AtAddToTocList</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.AtAddToTocList">401</a></li> - <li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.AtBeginLetter">181</a></li> - <li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> → <a href="scrguide.pdf#desc:maincls.cmd.AtEndBibliography">159</a></li> - <li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.AtEndLetter">181</a></li> - <li><a name="cmd.AtEndOfFamilyOptions*"></a><a href="#cmd.AtEndOfFamilyOptions*">\AtEndOfFamilyOptions*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AtEndOfFamilyOptions*">360</a></li> - <li><a name="cmd.AtEndOfFamilyOptions"></a><a href="#cmd.AtEndOfFamilyOptions">\AtEndOfFamilyOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AtEndOfFamilyOptions">360</a></li> - <li><a name="cmd.Before@sect"></a><a href="#cmd.Before@sect">\Before@sect</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.Before@sect">535</a></li> - <li><a name="cmd.Before@ssect"></a><a href="#cmd.Before@ssect">\Before@ssect</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.Before@ssect">535</a></li> + <li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.AtBeginLetter">182</a></li> + <li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> → <a href="scrguide.pdf#desc:maincls.cmd.AtEndBibliography">160</a></li> + <li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.AtEndLetter">182</a></li> + <li><a name="cmd.AtEndOfFamilyOptions*"></a><a href="#cmd.AtEndOfFamilyOptions*">\AtEndOfFamilyOptions*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AtEndOfFamilyOptions*">361</a></li> + <li><a name="cmd.AtEndOfFamilyOptions"></a><a href="#cmd.AtEndOfFamilyOptions">\AtEndOfFamilyOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.AtEndOfFamilyOptions">361</a></li> + <li><a name="cmd.Before@sect"></a><a href="#cmd.Before@sect">\Before@sect</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.Before@sect">536</a></li> + <li><a name="cmd.Before@ssect"></a><a href="#cmd.Before@ssect">\Before@ssect</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.Before@ssect">536</a></li> <li><a name="cmd.BeforeClass"></a><a href="#cmd.BeforeClass">\BeforeClass</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.BeforeClass">385</a></li> <li><a name="cmd.BeforeClosingMainAux"></a><a href="#cmd.BeforeClosingMainAux">\BeforeClosingMainAux</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.BeforeClosingMainAux">388</a></li> - <li><a name="cmd.BeforeFamilyProcessOptions"></a><a href="#cmd.BeforeFamilyProcessOptions">\BeforeFamilyProcessOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.BeforeFamilyProcessOptions">356</a></li> + <li><a name="cmd.BeforeFamilyProcessOptions"></a><a href="#cmd.BeforeFamilyProcessOptions">\BeforeFamilyProcessOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.BeforeFamilyProcessOptions">357</a></li> <li><a name="cmd.BeforeFile"></a><a href="#cmd.BeforeFile">\BeforeFile</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.BeforeFile">384</a></li> <li><a name="cmd.BeforePackage"></a><a href="#cmd.BeforePackage">\BeforePackage</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.BeforePackage">385</a></li> <li><a name="cmd.BeforeRestoreareas*"></a><a href="#cmd.BeforeRestoreareas*">\BeforeRestoreareas*</a> → <a href="scrguide.pdf#desc:typearea-experts.cmd.BeforeRestoreareas*">506</a></li> @@ -184,38 +184,38 @@ <li><a name="cmd.BeforeStartingTOC"></a><a href="#cmd.BeforeStartingTOC">\BeforeStartingTOC</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.BeforeStartingTOC">406</a></li> <li><a name="cmd.BeforeTOCHead"></a><a href="#cmd.BeforeTOCHead">\BeforeTOCHead</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.BeforeTOCHead">406</a></li> <li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> → <a href="scrguide.pdf#desc:maincls.cmd.BreakBibliography">159</a></li> - <li><a name="cmd.CenturyPart"></a><a href="#cmd.CenturyPart">\CenturyPart</a> → <a href="scrguide.pdf#desc:scrdate.cmd.CenturyPart">294</a></li> + <li><a name="cmd.CenturyPart"></a><a href="#cmd.CenturyPart">\CenturyPart</a> → <a href="scrguide.pdf#desc:scrdate.cmd.CenturyPart">295</a></li> <li><a name="cmd.ClassInfoNoLine"></a><a href="#cmd.ClassInfoNoLine">\ClassInfoNoLine</a> → <a href="scrguide.pdf#desc:scrbase.cmd.ClassInfoNoLine">377</a></li> - <li><a name="cmd.ClassName"></a><a href="#cmd.ClassName">\ClassName</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.ClassName">508</a></li> - <li><a name="cmd.Clause"></a><a href="#cmd.Clause">\Clause</a> → <a href="scrguide.pdf#desc:scrjura.cmd.Clause">331</a></li> - <li><a name="cmd.Clauseformat"></a><a href="#cmd.Clauseformat">\Clauseformat</a> → <a href="scrguide.pdf#desc:scrjura.cmd.Clauseformat">333</a></li> + <li><a name="cmd.ClassName"></a><a href="#cmd.ClassName">\ClassName</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.ClassName">509</a></li> + <li><a name="cmd.Clause"></a><a href="#cmd.Clause">\Clause</a> → <a href="scrguide.pdf#desc:scrjura.cmd.Clause">332</a></li> + <li><a name="cmd.Clauseformat"></a><a href="#cmd.Clauseformat">\Clauseformat</a> → <a href="scrguide.pdf#desc:scrjura.cmd.Clauseformat">334</a></li> <li><a name="cmd.CloneTOCEntryStyle"></a><a href="#cmd.CloneTOCEntryStyle">\CloneTOCEntryStyle</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.CloneTOCEntryStyle">424</a></li> - <li><a name="cmd.Comment"></a><a href="#cmd.Comment">\Comment</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Comment">302</a></li> - <li><a name="cmd.DayName"></a><a href="#cmd.DayName">\DayName</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DayName">295</a></li> - <li><a name="cmd.DayNameByNumber"></a><a href="#cmd.DayNameByNumber">\DayNameByNumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DayNameByNumber">295</a></li> - <li><a name="cmd.DayNumber"></a><a href="#cmd.DayNumber">\DayNumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DayNumber">294</a></li> - <li><a name="cmd.DecadePart"></a><a href="#cmd.DecadePart">\DecadePart</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DecadePart">294</a></li> + <li><a name="cmd.Comment"></a><a href="#cmd.Comment">\Comment</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Comment">303</a></li> + <li><a name="cmd.DayName"></a><a href="#cmd.DayName">\DayName</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DayName">296</a></li> + <li><a name="cmd.DayNameByNumber"></a><a href="#cmd.DayNameByNumber">\DayNameByNumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DayNameByNumber">296</a></li> + <li><a name="cmd.DayNumber"></a><a href="#cmd.DayNumber">\DayNumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DayNumber">295</a></li> + <li><a name="cmd.DecadePart"></a><a href="#cmd.DecadePart">\DecadePart</a> → <a href="scrguide.pdf#desc:scrdate.cmd.DecadePart">295</a></li> <li><a name="cmd.DeclareLayer"></a><a href="#cmd.DeclareLayer">\DeclareLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclareLayer">450</a></li> - <li><a name="cmd.DeclareNewJuraEnvironment"></a><a href="#cmd.DeclareNewJuraEnvironment">\DeclareNewJuraEnvironment</a> → <a href="scrguide.pdf#desc:scrjura.cmd.DeclareNewJuraEnvironment">341</a></li> + <li><a name="cmd.DeclareNewJuraEnvironment"></a><a href="#cmd.DeclareNewJuraEnvironment">\DeclareNewJuraEnvironment</a> → <a href="scrguide.pdf#desc:scrjura.cmd.DeclareNewJuraEnvironment">342</a></li> <li><a name="cmd.DeclareNewLayer"></a><a href="#cmd.DeclareNewLayer">\DeclareNewLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclareNewLayer">450</a></li> <li><a name="cmd.DeclareNewNoteColumn"></a><a href="#cmd.DeclareNewNoteColumn">\DeclareNewNoteColumn</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.DeclareNewNoteColumn">493</a></li> <li><a name="cmd.DeclareNewPageStyleAlias"></a><a href="#cmd.DeclareNewPageStyleAlias">\DeclareNewPageStyleAlias</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclareNewPageStyleAlias">462</a></li> <li><a name="cmd.DeclareNewPageStyleByLayers"></a><a href="#cmd.DeclareNewPageStyleByLayers">\DeclareNewPageStyleByLayers</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclareNewPageStyleByLayers">463</a></li> <li><a name="cmd.DeclareNewSectionCommand"></a><a href="#cmd.DeclareNewSectionCommand">\DeclareNewSectionCommand</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.DeclareNewSectionCommand">514</a></li> - <li><a name="cmd.DeclareNewSectionCommands"></a><a href="#cmd.DeclareNewSectionCommands">\DeclareNewSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.DeclareNewSectionCommands">525</a></li> + <li><a name="cmd.DeclareNewSectionCommands"></a><a href="#cmd.DeclareNewSectionCommands">\DeclareNewSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.DeclareNewSectionCommands">526</a></li> <li><a name="cmd.DeclareNewTOC"></a><a href="#cmd.DeclareNewTOC">\DeclareNewTOC</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DeclareNewTOC">432</a></li> <li><a name="cmd.DeclareNoteColumn"></a><a href="#cmd.DeclareNoteColumn">\DeclareNoteColumn</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.DeclareNoteColumn">493</a></li> <li><a name="cmd.DeclarePageStyleAlias"></a><a href="#cmd.DeclarePageStyleAlias">\DeclarePageStyleAlias</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclarePageStyleAlias">462</a></li> <li><a name="cmd.DeclarePageStyleByLayers"></a><a href="#cmd.DeclarePageStyleByLayers">\DeclarePageStyleByLayers</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclarePageStyleByLayers">463</a></li> <li><a name="cmd.DeclareSectionCommand"></a><a href="#cmd.DeclareSectionCommand">\DeclareSectionCommand</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.DeclareSectionCommand">514</a></li> - <li><a name="cmd.DeclareSectionCommands"></a><a href="#cmd.DeclareSectionCommands">\DeclareSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.DeclareSectionCommands">525</a></li> + <li><a name="cmd.DeclareSectionCommands"></a><a href="#cmd.DeclareSectionCommands">\DeclareSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.DeclareSectionCommands">526</a></li> <li><a name="cmd.DeclareSectionNumberDepth"></a><a href="#cmd.DeclareSectionNumberDepth">\DeclareSectionNumberDepth</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DeclareSectionNumberDepth">448</a></li> <li><a name="cmd.DeclareTOCEntryStyle"></a><a href="#cmd.DeclareTOCEntryStyle">\DeclareTOCEntryStyle</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DeclareTOCEntryStyle">422</a></li> <li><a name="cmd.DeclareTOCStyleEntries"></a><a href="#cmd.DeclareTOCStyleEntries">\DeclareTOCStyleEntries</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DeclareTOCStyleEntries">411</a></li> <li><a name="cmd.DeclareTOCStyleEntry"></a><a href="#cmd.DeclareTOCStyleEntry">\DeclareTOCStyleEntry</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DeclareTOCStyleEntry">411</a></li> - <li><a name="cmd.DefineFamily"></a><a href="#cmd.DefineFamily">\DefineFamily</a> → <a href="scrguide.pdf#desc:scrbase.cmd.DefineFamily">352</a></li> - <li><a name="cmd.DefineFamilyKey"></a><a href="#cmd.DefineFamilyKey">\DefineFamilyKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.DefineFamilyKey">353</a></li> - <li><a name="cmd.DefineFamilyMember"></a><a href="#cmd.DefineFamilyMember">\DefineFamilyMember</a> → <a href="scrguide.pdf#desc:scrbase.cmd.DefineFamilyMember">352</a></li> + <li><a name="cmd.DefineFamily"></a><a href="#cmd.DefineFamily">\DefineFamily</a> → <a href="scrguide.pdf#desc:scrbase.cmd.DefineFamily">353</a></li> + <li><a name="cmd.DefineFamilyKey"></a><a href="#cmd.DefineFamilyKey">\DefineFamilyKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.DefineFamilyKey">354</a></li> + <li><a name="cmd.DefineFamilyMember"></a><a href="#cmd.DefineFamilyMember">\DefineFamilyMember</a> → <a href="scrguide.pdf#desc:scrbase.cmd.DefineFamilyMember">353</a></li> <li><a name="cmd.DefineTOCEntryBooleanOption"></a><a href="#cmd.DefineTOCEntryBooleanOption">\DefineTOCEntryBooleanOption</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DefineTOCEntryBooleanOption">422</a></li> <li><a name="cmd.DefineTOCEntryCommandOption"></a><a href="#cmd.DefineTOCEntryCommandOption">\DefineTOCEntryCommandOption</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DefineTOCEntryCommandOption">422</a></li> <li><a name="cmd.DefineTOCEntryIfOption"></a><a href="#cmd.DefineTOCEntryIfOption">\DefineTOCEntryIfOption</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.DefineTOCEntryIfOption">422</a></li> @@ -225,54 +225,54 @@ <li><a name="cmd.DestroyLayer"></a><a href="#cmd.DestroyLayer">\DestroyLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DestroyLayer">460</a></li> <li><a name="cmd.DestroyPageStyleAlias"></a><a href="#cmd.DestroyPageStyleAlias">\DestroyPageStyleAlias</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DestroyPageStyleAlias">463</a></li> <li><a name="cmd.DestroyRealLayerPageStyle"></a><a href="#cmd.DestroyRealLayerPageStyle">\DestroyRealLayerPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.DestroyRealLayerPageStyle">470</a></li> - <li><a name="cmd.ExecuteDoHook"></a><a href="#cmd.ExecuteDoHook">\ExecuteDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.ExecuteDoHook">378</a></li> - <li><a name="cmd.FamilyBoolKey"></a><a href="#cmd.FamilyBoolKey">\FamilyBoolKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyBoolKey">361</a></li> - <li><a name="cmd.FamilyCSKey"></a><a href="#cmd.FamilyCSKey">\FamilyCSKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyCSKey">365</a></li> - <li><a name="cmd.FamilyCounterKey"></a><a href="#cmd.FamilyCounterKey">\FamilyCounterKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyCounterKey">364</a></li> - <li><a name="cmd.FamilyCounterMacroKey"></a><a href="#cmd.FamilyCounterMacroKey">\FamilyCounterMacroKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyCounterMacroKey">365</a></li> - <li><a name="cmd.FamilyExecuteOptions"></a><a href="#cmd.FamilyExecuteOptions">\FamilyExecuteOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyExecuteOptions">357</a></li> - <li><a name="cmd.FamilyInverseBoolKey"></a><a href="#cmd.FamilyInverseBoolKey">\FamilyInverseBoolKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyInverseBoolKey">362</a></li> - <li><a name="cmd.FamilyKeyState"></a><a href="#cmd.FamilyKeyState">\FamilyKeyState</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyState">353</a></li> - <li><a name="cmd.FamilyKeyStateNeedValue"></a><a href="#cmd.FamilyKeyStateNeedValue">\FamilyKeyStateNeedValue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateNeedValue">353</a></li> - <li><a name="cmd.FamilyKeyStateProcessed"></a><a href="#cmd.FamilyKeyStateProcessed">\FamilyKeyStateProcessed</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateProcessed">353</a></li> - <li><a name="cmd.FamilyKeyStateUnknown"></a><a href="#cmd.FamilyKeyStateUnknown">\FamilyKeyStateUnknown</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateUnknown">353</a></li> - <li><a name="cmd.FamilyKeyStateUnknownValue"></a><a href="#cmd.FamilyKeyStateUnknownValue">\FamilyKeyStateUnknownValue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateUnknownValue">353</a></li> - <li><a name="cmd.FamilyLengthKey"></a><a href="#cmd.FamilyLengthKey">\FamilyLengthKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyLengthKey">365</a></li> - <li><a name="cmd.FamilyLengthMacroKey"></a><a href="#cmd.FamilyLengthMacroKey">\FamilyLengthMacroKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyLengthMacroKey">365</a></li> - <li><a name="cmd.FamilyNumericalKey"></a><a href="#cmd.FamilyNumericalKey">\FamilyNumericalKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyNumericalKey">363</a></li> - <li><a name="cmd.FamilyOption"></a><a href="#cmd.FamilyOption">\FamilyOption</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyOption">359</a></li> - <li><a name="cmd.FamilyOptions"></a><a href="#cmd.FamilyOptions">\FamilyOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyOptions">358</a></li> - <li><a name="cmd.FamilyProcessOptions"></a><a href="#cmd.FamilyProcessOptions">\FamilyProcessOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyProcessOptions">355</a></li> - <li><a name="cmd.FamilySetBool"></a><a href="#cmd.FamilySetBool">\FamilySetBool</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetBool">361</a></li> - <li><a name="cmd.FamilySetCounter"></a><a href="#cmd.FamilySetCounter">\FamilySetCounter</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetCounter">364</a></li> - <li><a name="cmd.FamilySetCounterMacro"></a><a href="#cmd.FamilySetCounterMacro">\FamilySetCounterMacro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetCounterMacro">365</a></li> - <li><a name="cmd.FamilySetInverseBool"></a><a href="#cmd.FamilySetInverseBool">\FamilySetInverseBool</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetInverseBool">362</a></li> - <li><a name="cmd.FamilySetLength"></a><a href="#cmd.FamilySetLength">\FamilySetLength</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetLength">365</a></li> - <li><a name="cmd.FamilySetLengthMacro"></a><a href="#cmd.FamilySetLengthMacro">\FamilySetLengthMacro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetLengthMacro">365</a></li> - <li><a name="cmd.FamilySetNumerical"></a><a href="#cmd.FamilySetNumerical">\FamilySetNumerical</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetNumerical">363</a></li> - <li><a name="cmd.FamilySetUseLengthMacro"></a><a href="#cmd.FamilySetUseLengthMacro">\FamilySetUseLengthMacro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetUseLengthMacro">365</a></li> - <li><a name="cmd.FamilyStringKey"></a><a href="#cmd.FamilyStringKey">\FamilyStringKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyStringKey">365</a></li> - <li><a name="cmd.FamilyUnknownKeyValue"></a><a href="#cmd.FamilyUnknownKeyValue">\FamilyUnknownKeyValue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyUnknownKeyValue">366</a></li> - <li><a name="cmd.FamilyUseLengthMacroKey"></a><a href="#cmd.FamilyUseLengthMacroKey">\FamilyUseLengthMacroKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyUseLengthMacroKey">365</a></li> - <li><a name="cmd.FirstName"></a><a href="#cmd.FirstName">\FirstName</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FirstName">302</a></li> - <li><a name="cmd.ForDoHook"></a><a href="#cmd.ForDoHook">\ForDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.ForDoHook">380</a></li> + <li><a name="cmd.ExecuteDoHook"></a><a href="#cmd.ExecuteDoHook">\ExecuteDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.ExecuteDoHook">379</a></li> + <li><a name="cmd.FamilyBoolKey"></a><a href="#cmd.FamilyBoolKey">\FamilyBoolKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyBoolKey">362</a></li> + <li><a name="cmd.FamilyCSKey"></a><a href="#cmd.FamilyCSKey">\FamilyCSKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyCSKey">366</a></li> + <li><a name="cmd.FamilyCounterKey"></a><a href="#cmd.FamilyCounterKey">\FamilyCounterKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyCounterKey">365</a></li> + <li><a name="cmd.FamilyCounterMacroKey"></a><a href="#cmd.FamilyCounterMacroKey">\FamilyCounterMacroKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyCounterMacroKey">366</a></li> + <li><a name="cmd.FamilyExecuteOptions"></a><a href="#cmd.FamilyExecuteOptions">\FamilyExecuteOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyExecuteOptions">358</a></li> + <li><a name="cmd.FamilyInverseBoolKey"></a><a href="#cmd.FamilyInverseBoolKey">\FamilyInverseBoolKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyInverseBoolKey">363</a></li> + <li><a name="cmd.FamilyKeyState"></a><a href="#cmd.FamilyKeyState">\FamilyKeyState</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyState">354</a></li> + <li><a name="cmd.FamilyKeyStateNeedValue"></a><a href="#cmd.FamilyKeyStateNeedValue">\FamilyKeyStateNeedValue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateNeedValue">354</a></li> + <li><a name="cmd.FamilyKeyStateProcessed"></a><a href="#cmd.FamilyKeyStateProcessed">\FamilyKeyStateProcessed</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateProcessed">354</a></li> + <li><a name="cmd.FamilyKeyStateUnknown"></a><a href="#cmd.FamilyKeyStateUnknown">\FamilyKeyStateUnknown</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateUnknown">354</a></li> + <li><a name="cmd.FamilyKeyStateUnknownValue"></a><a href="#cmd.FamilyKeyStateUnknownValue">\FamilyKeyStateUnknownValue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyKeyStateUnknownValue">354</a></li> + <li><a name="cmd.FamilyLengthKey"></a><a href="#cmd.FamilyLengthKey">\FamilyLengthKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyLengthKey">366</a></li> + <li><a name="cmd.FamilyLengthMacroKey"></a><a href="#cmd.FamilyLengthMacroKey">\FamilyLengthMacroKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyLengthMacroKey">366</a></li> + <li><a name="cmd.FamilyNumericalKey"></a><a href="#cmd.FamilyNumericalKey">\FamilyNumericalKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyNumericalKey">364</a></li> + <li><a name="cmd.FamilyOption"></a><a href="#cmd.FamilyOption">\FamilyOption</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyOption">360</a></li> + <li><a name="cmd.FamilyOptions"></a><a href="#cmd.FamilyOptions">\FamilyOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyOptions">359</a></li> + <li><a name="cmd.FamilyProcessOptions"></a><a href="#cmd.FamilyProcessOptions">\FamilyProcessOptions</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyProcessOptions">356</a></li> + <li><a name="cmd.FamilySetBool"></a><a href="#cmd.FamilySetBool">\FamilySetBool</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetBool">362</a></li> + <li><a name="cmd.FamilySetCounter"></a><a href="#cmd.FamilySetCounter">\FamilySetCounter</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetCounter">365</a></li> + <li><a name="cmd.FamilySetCounterMacro"></a><a href="#cmd.FamilySetCounterMacro">\FamilySetCounterMacro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetCounterMacro">366</a></li> + <li><a name="cmd.FamilySetInverseBool"></a><a href="#cmd.FamilySetInverseBool">\FamilySetInverseBool</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetInverseBool">363</a></li> + <li><a name="cmd.FamilySetLength"></a><a href="#cmd.FamilySetLength">\FamilySetLength</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetLength">366</a></li> + <li><a name="cmd.FamilySetLengthMacro"></a><a href="#cmd.FamilySetLengthMacro">\FamilySetLengthMacro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetLengthMacro">366</a></li> + <li><a name="cmd.FamilySetNumerical"></a><a href="#cmd.FamilySetNumerical">\FamilySetNumerical</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetNumerical">364</a></li> + <li><a name="cmd.FamilySetUseLengthMacro"></a><a href="#cmd.FamilySetUseLengthMacro">\FamilySetUseLengthMacro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilySetUseLengthMacro">366</a></li> + <li><a name="cmd.FamilyStringKey"></a><a href="#cmd.FamilyStringKey">\FamilyStringKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyStringKey">366</a></li> + <li><a name="cmd.FamilyUnknownKeyValue"></a><a href="#cmd.FamilyUnknownKeyValue">\FamilyUnknownKeyValue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyUnknownKeyValue">367</a></li> + <li><a name="cmd.FamilyUseLengthMacroKey"></a><a href="#cmd.FamilyUseLengthMacroKey">\FamilyUseLengthMacroKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.FamilyUseLengthMacroKey">366</a></li> + <li><a name="cmd.FirstName"></a><a href="#cmd.FirstName">\FirstName</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FirstName">303</a></li> + <li><a name="cmd.ForDoHook"></a><a href="#cmd.ForDoHook">\ForDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.ForDoHook">381</a></li> <li><a name="cmd.ForEachLayerOfPageStyle*"></a><a href="#cmd.ForEachLayerOfPageStyle*">\ForEachLayerOfPageStyle*</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ForEachLayerOfPageStyle*">467</a></li> <li><a name="cmd.ForEachLayerOfPageStyle"></a><a href="#cmd.ForEachLayerOfPageStyle">\ForEachLayerOfPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ForEachLayerOfPageStyle">467</a></li> - <li><a name="cmd.FreeI"></a><a href="#cmd.FreeI">\FreeI</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeI">302</a></li> - <li><a name="cmd.FreeII"></a><a href="#cmd.FreeII">\FreeII</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeII">302</a></li> - <li><a name="cmd.FreeIII"></a><a href="#cmd.FreeIII">\FreeIII</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeIII">302</a></li> - <li><a name="cmd.FreeIV"></a><a href="#cmd.FreeIV">\FreeIV</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeIV">302</a></li> + <li><a name="cmd.FreeI"></a><a href="#cmd.FreeI">\FreeI</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeI">303</a></li> + <li><a name="cmd.FreeII"></a><a href="#cmd.FreeII">\FreeII</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeII">303</a></li> + <li><a name="cmd.FreeIII"></a><a href="#cmd.FreeIII">\FreeIII</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeIII">303</a></li> + <li><a name="cmd.FreeIV"></a><a href="#cmd.FreeIV">\FreeIV</a> → <a href="scrguide.pdf#desc:scraddr.cmd.FreeIV">303</a></li> <li><a name="cmd.GenericMarkFormat"></a><a href="#cmd.GenericMarkFormat">\GenericMarkFormat</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.GenericMarkFormat">476</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.GenericMarkFormat">479</a></li> <li><a name="cmd.GetLayerContents"></a><a href="#cmd.GetLayerContents">\GetLayerContents</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.GetLayerContents">460</a></li> <li><a name="cmd.GetRealPageStyle"></a><a href="#cmd.GetRealPageStyle">\GetRealPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.GetRealPageStyle">463</a></li> - <li><a name="cmd.ISODayName"></a><a href="#cmd.ISODayName">\ISODayName</a> → <a href="scrguide.pdf#desc:scrdate.cmd.ISODayName">295</a></li> - <li><a name="cmd.ISODayNumber"></a><a href="#cmd.ISODayNumber">\ISODayNumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.ISODayNumber">294</a></li> - <li><a name="cmd.ISOToday"></a><a href="#cmd.ISOToday">\ISOToday</a> → <a href="scrguide.pdf#desc:scrdate.cmd.ISOToday">296</a></li> - <li><a name="cmd.IfActiveMkBoth"></a><a href="#cmd.IfActiveMkBoth">\IfActiveMkBoth</a> → <a href="scrguide.pdf#desc:scrbase.cmd.IfActiveMkBoth">371</a></li> - <li><a name="cmd.IfArgIsEmpty"></a><a href="#cmd.IfArgIsEmpty">\IfArgIsEmpty</a> → <a href="scrguide.pdf#desc:scrbase.cmd.IfArgIsEmpty">368</a></li> - <li><a name="cmd.IfChapterUsesPrefixLine"></a><a href="#cmd.IfChapterUsesPrefixLine">\IfChapterUsesPrefixLine</a> → <a href="scrguide.pdf#desc:maincls.cmd.IfChapterUsesPrefixLine">101</a></li> - <li><a name="cmd.IfExistskomafont"></a><a href="#cmd.IfExistskomafont">\IfExistskomafont</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfExistskomafont">512</a></li> - <li><a name="cmd.IfIsAliaskomafont"></a><a href="#cmd.IfIsAliaskomafont">\IfIsAliaskomafont</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfIsAliaskomafont">512</a></li> + <li><a name="cmd.ISODayName"></a><a href="#cmd.ISODayName">\ISODayName</a> → <a href="scrguide.pdf#desc:scrdate.cmd.ISODayName">296</a></li> + <li><a name="cmd.ISODayNumber"></a><a href="#cmd.ISODayNumber">\ISODayNumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.ISODayNumber">295</a></li> + <li><a name="cmd.ISOToday"></a><a href="#cmd.ISOToday">\ISOToday</a> → <a href="scrguide.pdf#desc:scrdate.cmd.ISOToday">297</a></li> + <li><a name="cmd.IfActiveMkBoth"></a><a href="#cmd.IfActiveMkBoth">\IfActiveMkBoth</a> → <a href="scrguide.pdf#desc:scrbase.cmd.IfActiveMkBoth">372</a></li> + <li><a name="cmd.IfArgIsEmpty"></a><a href="#cmd.IfArgIsEmpty">\IfArgIsEmpty</a> → <a href="scrguide.pdf#desc:scrbase.cmd.IfArgIsEmpty">369</a></li> + <li><a name="cmd.IfChapterUsesPrefixLine"></a><a href="#cmd.IfChapterUsesPrefixLine">\IfChapterUsesPrefixLine</a> → <a href="scrguide.pdf#desc:maincls.cmd.IfChapterUsesPrefixLine">100</a></li> + <li><a name="cmd.IfExistskomafont"></a><a href="#cmd.IfExistskomafont">\IfExistskomafont</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfExistskomafont">513</a></li> + <li><a name="cmd.IfIsAliaskomafont"></a><a href="#cmd.IfIsAliaskomafont">\IfIsAliaskomafont</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfIsAliaskomafont">513</a></li> <li><a name="cmd.IfLayerAtPageStyle"></a><a href="#cmd.IfLayerAtPageStyle">\IfLayerAtPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.IfLayerAtPageStyle">470</a></li> <li><a name="cmd.IfLayerExists"></a><a href="#cmd.IfLayerExists">\IfLayerExists</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.IfLayerExists">460</a></li> <li><a name="cmd.IfLayerPageStyleExists"></a><a href="#cmd.IfLayerPageStyleExists">\IfLayerPageStyleExists</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.IfLayerPageStyleExists">470</a></li> @@ -280,53 +280,52 @@ <li><a name="cmd.IfRealLayerPageStyleExists"></a><a href="#cmd.IfRealLayerPageStyleExists">\IfRealLayerPageStyleExists</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.IfRealLayerPageStyleExists">470</a></li> <li><a name="cmd.IfSectionCommandStyleIs"></a><a href="#cmd.IfSectionCommandStyleIs">\IfSectionCommandStyleIs</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfSectionCommandStyleIs">526</a></li> <li><a name="cmd.IfSomeLayersAtPageStyle"></a><a href="#cmd.IfSomeLayersAtPageStyle">\IfSomeLayersAtPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.IfSomeLayersAtPageStyle">470</a></li> - <li><a name="cmd.IfUseNumber"></a><a href="#cmd.IfUseNumber">\IfUseNumber</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfUseNumber">534</a></li> + <li><a name="cmd.IfUseNumber"></a><a href="#cmd.IfUseNumber">\IfUseNumber</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.IfUseNumber">535</a></li> <li><a name="cmd.IfUsePrefixLine"></a><a href="#cmd.IfUsePrefixLine">\IfUsePrefixLine</a> → <a href="scrguide.pdf#desc:maincls.cmd.IfUsePrefixLine">116</a></li> <li><a name="cmd.Ifattoclist"></a><a href="#cmd.Ifattoclist">\Ifattoclist</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.Ifattoclist">398</a></li> - <li><a name="cmd.Ifdimen"></a><a href="#cmd.Ifdimen">\Ifdimen</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifdimen">369</a></li> - <li><a name="cmd.Ifdvioutput"></a><a href="#cmd.Ifdvioutput">\Ifdvioutput</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifdvioutput">369</a></li> - <li><a name="cmd.Ifiscount"></a><a href="#cmd.Ifiscount">\Ifiscount</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifiscount">370</a></li> - <li><a name="cmd.Ifiscounter"></a><a href="#cmd.Ifiscounter">\Ifiscounter</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifiscounter">370</a></li> - <li><a name="cmd.Ifisdimen"></a><a href="#cmd.Ifisdimen">\Ifisdimen</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisdimen">369</a></li> - <li><a name="cmd.Ifisdimension"></a><a href="#cmd.Ifisdimension">\Ifisdimension</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisdimension">369</a></li> - <li><a name="cmd.Ifisdimexpr"></a><a href="#cmd.Ifisdimexpr">\Ifisdimexpr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisdimexpr">369</a></li> - <li><a name="cmd.Ifisglue"></a><a href="#cmd.Ifisglue">\Ifisglue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisglue">370</a></li> - <li><a name="cmd.Ifisglueexpr"></a><a href="#cmd.Ifisglueexpr">\Ifisglueexpr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisglueexpr">370</a></li> - <li><a name="cmd.Ifisinteger"></a><a href="#cmd.Ifisinteger">\Ifisinteger</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisinteger">370</a></li> - <li><a name="cmd.Ifisnumexpr"></a><a href="#cmd.Ifisnumexpr">\Ifisnumexpr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisnumexpr">371</a></li> - <li><a name="cmd.Ifisskip"></a><a href="#cmd.Ifisskip">\Ifisskip</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisskip">370</a></li> - <li><a name="cmd.Ifkomavar"></a><a href="#cmd.Ifkomavar">\Ifkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifkomavar">171</a></li> - <li><a name="cmd.Ifkomavarempty*"></a><a href="#cmd.Ifkomavarempty*">\Ifkomavarempty*</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifkomavarempty*">171</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty*">540</a></li> - <li><a name="cmd.Ifkomavarempty"></a><a href="#cmd.Ifkomavarempty">\Ifkomavarempty</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifkomavarempty">171</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty">540</a></li> - <li><a name="cmd.Ifnotundefined"></a><a href="#cmd.Ifnotundefined">\Ifnotundefined</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifnotundefined">368</a></li> - <li><a name="cmd.Ifnumber"></a><a href="#cmd.Ifnumber">\Ifnumber</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifnumber">370</a></li> - <li><a name="cmd.Ifnumbered"></a><a href="#cmd.Ifnumbered">\Ifnumbered</a> → <a href="scrguide.pdf#desc:maincls.cmd.Ifnumbered">120</a></li> - <li><a name="cmd.Ifpdfoutput"></a><a href="#cmd.Ifpdfoutput">\Ifpdfoutput</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifpdfoutput">369</a></li> - <li><a name="cmd.Ifplength"></a><a href="#cmd.Ifplength">\Ifplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifplength">176</a></li> - <li><a name="cmd.Ifpsoutput"></a><a href="#cmd.Ifpsoutput">\Ifpsoutput</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifpsoutput">369</a></li> - <li><a name="cmd.Ifstr"></a><a href="#cmd.Ifstr">\Ifstr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifstr">368</a></li> - <li><a name="cmd.Ifstrstart"></a><a href="#cmd.Ifstrstart">\Ifstrstart</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifstrstart">368</a></li> - <li><a name="cmd.Ifthispageodd"></a><a href="#cmd.Ifthispageodd">\Ifthispageodd</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifthispageodd">238</a>, <a href="scrguide.pdf#desc:scrextend.cmd.Ifthispageodd">317</a>, <a href="scrguide.pdf#desc:maincls.cmd.Ifthispageodd">83</a></li> + <li><a name="cmd.Ifdimen"></a><a href="#cmd.Ifdimen">\Ifdimen</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifdimen">370</a></li> + <li><a name="cmd.Ifdvioutput"></a><a href="#cmd.Ifdvioutput">\Ifdvioutput</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifdvioutput">370</a></li> + <li><a name="cmd.Ifiscount"></a><a href="#cmd.Ifiscount">\Ifiscount</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifiscount">371</a></li> + <li><a name="cmd.Ifiscounter"></a><a href="#cmd.Ifiscounter">\Ifiscounter</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifiscounter">371</a></li> + <li><a name="cmd.Ifisdimen"></a><a href="#cmd.Ifisdimen">\Ifisdimen</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisdimen">370</a></li> + <li><a name="cmd.Ifisdimension"></a><a href="#cmd.Ifisdimension">\Ifisdimension</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisdimension">370</a></li> + <li><a name="cmd.Ifisdimexpr"></a><a href="#cmd.Ifisdimexpr">\Ifisdimexpr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisdimexpr">370</a></li> + <li><a name="cmd.Ifisglue"></a><a href="#cmd.Ifisglue">\Ifisglue</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisglue">371</a></li> + <li><a name="cmd.Ifisglueexpr"></a><a href="#cmd.Ifisglueexpr">\Ifisglueexpr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisglueexpr">371</a></li> + <li><a name="cmd.Ifisinteger"></a><a href="#cmd.Ifisinteger">\Ifisinteger</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisinteger">371</a></li> + <li><a name="cmd.Ifisnumexpr"></a><a href="#cmd.Ifisnumexpr">\Ifisnumexpr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisnumexpr">372</a></li> + <li><a name="cmd.Ifisskip"></a><a href="#cmd.Ifisskip">\Ifisskip</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifisskip">371</a></li> + <li><a name="cmd.Ifkomavar"></a><a href="#cmd.Ifkomavar">\Ifkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifkomavar">172</a></li> + <li><a name="cmd.Ifkomavarempty*"></a><a href="#cmd.Ifkomavarempty*">\Ifkomavarempty*</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifkomavarempty*">172</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty*">541</a></li> + <li><a name="cmd.Ifkomavarempty"></a><a href="#cmd.Ifkomavarempty">\Ifkomavarempty</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifkomavarempty">172</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty">541</a></li> + <li><a name="cmd.Ifnotundefined"></a><a href="#cmd.Ifnotundefined">\Ifnotundefined</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifnotundefined">369</a></li> + <li><a name="cmd.Ifnumber"></a><a href="#cmd.Ifnumber">\Ifnumber</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifnumber">371</a></li> + <li><a name="cmd.Ifnumbered"></a><a href="#cmd.Ifnumbered">\Ifnumbered</a> → <a href="scrguide.pdf#desc:maincls.cmd.Ifnumbered">121</a></li> + <li><a name="cmd.Ifpdfoutput"></a><a href="#cmd.Ifpdfoutput">\Ifpdfoutput</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifpdfoutput">370</a></li> + <li><a name="cmd.Ifplength"></a><a href="#cmd.Ifplength">\Ifplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifplength">177</a></li> + <li><a name="cmd.Ifpsoutput"></a><a href="#cmd.Ifpsoutput">\Ifpsoutput</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifpsoutput">370</a></li> + <li><a name="cmd.Ifstr"></a><a href="#cmd.Ifstr">\Ifstr</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifstr">369</a></li> + <li><a name="cmd.Ifstrstart"></a><a href="#cmd.Ifstrstart">\Ifstrstart</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifstrstart">369</a></li> + <li><a name="cmd.Ifthispageodd"></a><a href="#cmd.Ifthispageodd">\Ifthispageodd</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.Ifthispageodd">239</a>, <a href="scrguide.pdf#desc:scrextend.cmd.Ifthispageodd">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.Ifthispageodd">83</a></li> <li><a name="cmd.Iftocfeature"></a><a href="#cmd.Iftocfeature">\Iftocfeature</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.Iftocfeature">410</a></li> - <li><a name="cmd.Ifundefinedorrelax"></a><a href="#cmd.Ifundefinedorrelax">\Ifundefinedorrelax</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifundefinedorrelax">368</a></li> - <li><a name="cmd.Ifunnumbered"></a><a href="#cmd.Ifunnumbered">\Ifunnumbered</a> → <a href="scrguide.pdf#desc:maincls.cmd.Ifunnumbered">120</a></li> - <li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> → <a href="scrguide.pdf#desc:scraddr.cmd.InputAddressFile">301</a></li> - <li><a name="cmd.IsoToday"></a><a href="#cmd.IsoToday">\IsoToday</a> → <a href="scrguide.pdf#desc:scrdate.cmd.IsoToday">296</a></li> - <li><a name="cmd.KOMAClassName"></a><a href="#cmd.KOMAClassName">\KOMAClassName</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.KOMAClassName">508</a></li> - <li><a name="cmd.KOMAScript"></a><a href="#cmd.KOMAScript">\KOMAScript</a> → <a href="scrguide.pdf#desc:scrbase.cmd.KOMAScript">376</a></li> - <li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> → <a href="scrguide.pdf#desc:scrbase.cmd.KOMAScriptVersion">376</a></li> - <li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.KOMAoption">163</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.KOMAoption">266</a>, <a href="scrguide.pdf#desc:scrextend.cmd.KOMAoption">307</a>, <a href="scrguide.pdf#desc:typearea.cmd.KOMAoption">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.KOMAoption">327</a>, <a href="scrguide.pdf#desc:scrhack.cmd.KOMAoption">440</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.KOMAoption">446</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.KOMAoption">490</a>, <a href="scrguide.pdf#desc:maincls.cmd.KOMAoption">57</a></li> - <li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.KOMAoptions">163</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.KOMAoptions">266</a>, <a href="scrguide.pdf#desc:scrextend.cmd.KOMAoptions">307</a>, <a href="scrguide.pdf#desc:typearea.cmd.KOMAoptions">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.KOMAoptions">327</a>, <a href="scrguide.pdf#desc:scrhack.cmd.KOMAoptions">440</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.KOMAoptions">446</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.KOMAoptions">490</a>, <a href="scrguide.pdf#desc:maincls.cmd.KOMAoptions">57</a></li> - <li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> → <a href="scrguide.pdf#desc:scraddr.cmd.LastName">302</a></li> + <li><a name="cmd.Ifundefinedorrelax"></a><a href="#cmd.Ifundefinedorrelax">\Ifundefinedorrelax</a> → <a href="scrguide.pdf#desc:scrbase.cmd.Ifundefinedorrelax">369</a></li> + <li><a name="cmd.Ifunnumbered"></a><a href="#cmd.Ifunnumbered">\Ifunnumbered</a> → <a href="scrguide.pdf#desc:maincls.cmd.Ifunnumbered">121</a></li> + <li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> → <a href="scrguide.pdf#desc:scraddr.cmd.InputAddressFile">302</a></li> + <li><a name="cmd.IsoToday"></a><a href="#cmd.IsoToday">\IsoToday</a> → <a href="scrguide.pdf#desc:scrdate.cmd.IsoToday">297</a></li> + <li><a name="cmd.KOMAClassName"></a><a href="#cmd.KOMAClassName">\KOMAClassName</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.KOMAClassName">509</a></li> + <li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> → <a href="scrguide.pdf#desc:scrbase.cmd.KOMAScriptVersion">377</a></li> + <li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.KOMAoption">164</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.KOMAoption">267</a>, <a href="scrguide.pdf#desc:scrextend.cmd.KOMAoption">308</a>, <a href="scrguide.pdf#desc:typearea.cmd.KOMAoption">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.KOMAoption">328</a>, <a href="scrguide.pdf#desc:scrhack.cmd.KOMAoption">440</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.KOMAoption">446</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.KOMAoption">490</a>, <a href="scrguide.pdf#desc:maincls.cmd.KOMAoption">57</a></li> + <li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.KOMAoptions">164</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.KOMAoptions">267</a>, <a href="scrguide.pdf#desc:scrextend.cmd.KOMAoptions">308</a>, <a href="scrguide.pdf#desc:typearea.cmd.KOMAoptions">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.KOMAoptions">328</a>, <a href="scrguide.pdf#desc:scrhack.cmd.KOMAoptions">440</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.KOMAoptions">446</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.KOMAoptions">490</a>, <a href="scrguide.pdf#desc:maincls.cmd.KOMAoptions">57</a></li> + <li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> → <a href="scrguide.pdf#desc:scraddr.cmd.LastName">303</a></li> <li><a name="cmd.LastTOCLevelWasHigher"></a><a href="#cmd.LastTOCLevelWasHigher">\LastTOCLevelWasHigher</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.LastTOCLevelWasHigher">425</a></li> <li><a name="cmd.LastTOCLevelWasLower"></a><a href="#cmd.LastTOCLevelWasLower">\LastTOCLevelWasLower</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.LastTOCLevelWasLower">425</a></li> <li><a name="cmd.LastTOCLevelWasSame"></a><a href="#cmd.LastTOCLevelWasSame">\LastTOCLevelWasSame</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.LastTOCLevelWasSame">425</a></li> <li><a name="cmd.LenToUnit"></a><a href="#cmd.LenToUnit">\LenToUnit</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.LenToUnit">458</a></li> - <li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.MakeMarkcase">285</a>, <a href="scrguide.pdf#desc:tocbasic.cmd.MakeMarkcase">406</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.MakeMarkcase">473</a></li> + <li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.MakeMarkcase">286</a>, <a href="scrguide.pdf#desc:tocbasic.cmd.MakeMarkcase">406</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.MakeMarkcase">473</a></li> <li><a name="cmd.ModifyLayer"></a><a href="#cmd.ModifyLayer">\ModifyLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ModifyLayer">450</a></li> <li><a name="cmd.ModifyLayerPageStyleOptions"></a><a href="#cmd.ModifyLayerPageStyleOptions">\ModifyLayerPageStyleOptions</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ModifyLayerPageStyleOptions">469</a></li> <li><a name="cmd.ModifyLayers"></a><a href="#cmd.ModifyLayers">\ModifyLayers</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ModifyLayers">458</a></li> - <li><a name="cmd.Name"></a><a href="#cmd.Name">\Name</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Name">302</a></li> + <li><a name="cmd.Name"></a><a href="#cmd.Name">\Name</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Name">303</a></li> <li><a name="cmd.PackageInfoNoLine"></a><a href="#cmd.PackageInfoNoLine">\PackageInfoNoLine</a> → <a href="scrguide.pdf#desc:scrbase.cmd.PackageInfoNoLine">377</a></li> <li><a name="cmd.PreventPackageFromLoading*"></a><a href="#cmd.PreventPackageFromLoading*">\PreventPackageFromLoading*</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.PreventPackageFromLoading*">391</a></li> <li><a name="cmd.PreventPackageFromLoading"></a><a href="#cmd.PreventPackageFromLoading">\PreventPackageFromLoading</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.PreventPackageFromLoading">391</a></li> @@ -335,259 +334,259 @@ <li><a name="cmd.ProvidePageStyleAlias"></a><a href="#cmd.ProvidePageStyleAlias">\ProvidePageStyleAlias</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ProvidePageStyleAlias">462</a></li> <li><a name="cmd.ProvidePageStyleByLayers"></a><a href="#cmd.ProvidePageStyleByLayers">\ProvidePageStyleByLayers</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.ProvidePageStyleByLayers">463</a></li> <li><a name="cmd.ProvideSectionCommand"></a><a href="#cmd.ProvideSectionCommand">\ProvideSectionCommand</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.ProvideSectionCommand">514</a></li> - <li><a name="cmd.ProvideSectionCommands"></a><a href="#cmd.ProvideSectionCommands">\ProvideSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.ProvideSectionCommands">525</a></li> + <li><a name="cmd.ProvideSectionCommands"></a><a href="#cmd.ProvideSectionCommands">\ProvideSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.ProvideSectionCommands">526</a></li> <li><a name="cmd.RedeclareLayer"></a><a href="#cmd.RedeclareLayer">\RedeclareLayer</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.RedeclareLayer">450</a></li> <li><a name="cmd.RedeclareNoteColumn"></a><a href="#cmd.RedeclareNoteColumn">\RedeclareNoteColumn</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.RedeclareNoteColumn">493</a></li> <li><a name="cmd.RedeclarePageStyleAlias"></a><a href="#cmd.RedeclarePageStyleAlias">\RedeclarePageStyleAlias</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.RedeclarePageStyleAlias">462</a></li> <li><a name="cmd.RedeclarePageStyleByLayers"></a><a href="#cmd.RedeclarePageStyleByLayers">\RedeclarePageStyleByLayers</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.RedeclarePageStyleByLayers">463</a></li> <li><a name="cmd.RedeclareSectionCommand"></a><a href="#cmd.RedeclareSectionCommand">\RedeclareSectionCommand</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.RedeclareSectionCommand">514</a></li> - <li><a name="cmd.RedeclareSectionCommands"></a><a href="#cmd.RedeclareSectionCommands">\RedeclareSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.RedeclareSectionCommands">525</a></li> - <li><a name="cmd.RelaxFamilyKey"></a><a href="#cmd.RelaxFamilyKey">\RelaxFamilyKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.RelaxFamilyKey">355</a></li> + <li><a name="cmd.RedeclareSectionCommands"></a><a href="#cmd.RedeclareSectionCommands">\RedeclareSectionCommands</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.RedeclareSectionCommands">526</a></li> + <li><a name="cmd.RelaxFamilyKey"></a><a href="#cmd.RelaxFamilyKey">\RelaxFamilyKey</a> → <a href="scrguide.pdf#desc:scrbase.cmd.RelaxFamilyKey">356</a></li> <li><a name="cmd.RemoveLayersFromPageStyle"></a><a href="#cmd.RemoveLayersFromPageStyle">\RemoveLayersFromPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.RemoveLayersFromPageStyle">468</a></li> <li><a name="cmd.ReplaceClass"></a><a href="#cmd.ReplaceClass">\ReplaceClass</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.ReplaceClass">390</a></li> <li><a name="cmd.ReplaceInput"></a><a href="#cmd.ReplaceInput">\ReplaceInput</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.ReplaceInput">389</a></li> <li><a name="cmd.ReplacePackage"></a><a href="#cmd.ReplacePackage">\ReplacePackage</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.ReplacePackage">390</a></li> <li><a name="cmd.ResetPreventPackageFromLoading"></a><a href="#cmd.ResetPreventPackageFromLoading">\ResetPreventPackageFromLoading</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.ResetPreventPackageFromLoading">392</a></li> - <li><a name="cmd.SecDef"></a><a href="#cmd.SecDef">\SecDef</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.SecDef">534</a></li> - <li><a name="cmd.Sentence"></a><a href="#cmd.Sentence">\Sentence</a> → <a href="scrguide.pdf#desc:scrjura.cmd.Sentence">337</a></li> + <li><a name="cmd.SecDef"></a><a href="#cmd.SecDef">\SecDef</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.SecDef">535</a></li> + <li><a name="cmd.Sentence"></a><a href="#cmd.Sentence">\Sentence</a> → <a href="scrguide.pdf#desc:scrjura.cmd.Sentence">338</a></li> <li><a name="cmd.SplitDoHook"></a><a href="#cmd.SplitDoHook">\SplitDoHook</a> → <a href="scrguide.pdf#desc:scrbase.cmd.SplitDoHook">381</a></li> <li><a name="cmd.StorePreventPackageFromLoading"></a><a href="#cmd.StorePreventPackageFromLoading">\StorePreventPackageFromLoading</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.StorePreventPackageFromLoading">392</a></li> - <li><a name="cmd.SubClause"></a><a href="#cmd.SubClause">\SubClause</a> → <a href="scrguide.pdf#desc:scrjura.cmd.SubClause">331</a></li> + <li><a name="cmd.SubClause"></a><a href="#cmd.SubClause">\SubClause</a> → <a href="scrguide.pdf#desc:scrjura.cmd.SubClause">332</a></li> <li><a name="cmd.TOCEntryStyleInitCode"></a><a href="#cmd.TOCEntryStyleInitCode">\TOCEntryStyleInitCode</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.TOCEntryStyleInitCode">425</a></li> <li><a name="cmd.TOCEntryStyleStartInitCode"></a><a href="#cmd.TOCEntryStyleStartInitCode">\TOCEntryStyleStartInitCode</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.TOCEntryStyleStartInitCode">425</a></li> <li><a name="cmd.TOCLineLeaderFill"></a><a href="#cmd.TOCLineLeaderFill">\TOCLineLeaderFill</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.TOCLineLeaderFill">426</a></li> <li><a name="cmd.TOCclone"></a><a href="#cmd.TOCclone">\TOCclone</a> → <a href="scrguide.pdf#desc:scrwfile.cmd.TOCclone">396</a></li> - <li><a name="cmd.Telephone"></a><a href="#cmd.Telephone">\Telephone</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Telephone">302</a></li> + <li><a name="cmd.Telephone"></a><a href="#cmd.Telephone">\Telephone</a> → <a href="scrguide.pdf#desc:scraddr.cmd.Telephone">303</a></li> <li><a name="cmd.UnPreventPackageFromLoading*"></a><a href="#cmd.UnPreventPackageFromLoading*">\UnPreventPackageFromLoading*</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.UnPreventPackageFromLoading*">393</a></li> <li><a name="cmd.UnPreventPackageFromLoading"></a><a href="#cmd.UnPreventPackageFromLoading">\UnPreventPackageFromLoading</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.UnPreventPackageFromLoading">393</a></li> <li><a name="cmd.UnReplaceClass"></a><a href="#cmd.UnReplaceClass">\UnReplaceClass</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.UnReplaceClass">391</a></li> <li><a name="cmd.UnReplaceInput"></a><a href="#cmd.UnReplaceInput">\UnReplaceInput</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.UnReplaceInput">391</a></li> <li><a name="cmd.UnReplacePackage"></a><a href="#cmd.UnReplacePackage">\UnReplacePackage</a> → <a href="scrguide.pdf#desc:scrlfile.cmd.UnReplacePackage">391</a></li> <li><a name="cmd.UnifyLayersAtPageStyle"></a><a href="#cmd.UnifyLayersAtPageStyle">\UnifyLayersAtPageStyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.UnifyLayersAtPageStyle">469</a></li> - <li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> → <a href="scrguide.pdf#desc:scrbase.cmd.XdivY">377</a></li> - <li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> → <a href="scrguide.pdf#desc:scrbase.cmd.XmodY">377</a></li> + <li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> → <a href="scrguide.pdf#desc:scrbase.cmd.XdivY">378</a></li> + <li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> → <a href="scrguide.pdf#desc:scrbase.cmd.XmodY">378</a></li> <li><a name="cmd.activateareas"></a><a href="#cmd.activateareas">\activateareas</a> → <a href="scrguide.pdf#desc:typearea-experts.cmd.activateareas">505</a></li> <li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> → <a href="scrguide.pdf#desc:maincls.cmd.addchap*">112</a></li> <li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> → <a href="scrguide.pdf#desc:maincls.cmd.addchap">112</a></li> - <li><a name="cmd.addchapmark"></a><a href="#cmd.addchapmark">\addchapmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.addchapmark">118</a></li> - <li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addchaptertocentry">510</a></li> + <li><a name="cmd.addchapmark"></a><a href="#cmd.addchapmark">\addchapmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.addchapmark">119</a></li> + <li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addchaptertocentry">511</a></li> <li><a name="cmd.addcontentslinetoeachtocfile"></a><a href="#cmd.addcontentslinetoeachtocfile">\addcontentslinetoeachtocfile</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.addcontentslinetoeachtocfile">404</a></li> - <li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addparagraphtocentry">510</a></li> + <li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addparagraphtocentry">511</a></li> <li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> → <a href="scrguide.pdf#desc:maincls.cmd.addpart*">112</a></li> <li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> → <a href="scrguide.pdf#desc:maincls.cmd.addpart">112</a></li> - <li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addparttocentry">510</a></li> - <li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addrchar">263</a>, <a href="scrguide.pdf#desc:scraddr.cmd.addrchar">301</a></li> - <li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addrentry">261</a>, <a href="scrguide.pdf#desc:scraddr.cmd.addrentry">301</a></li> + <li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addparttocentry">511</a></li> + <li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addrchar">264</a>, <a href="scrguide.pdf#desc:scraddr.cmd.addrchar">302</a></li> + <li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addrentry">262</a>, <a href="scrguide.pdf#desc:scraddr.cmd.addrentry">302</a></li> <li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> → <a href="scrguide.pdf#desc:maincls.cmd.addsec*">112</a></li> <li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> → <a href="scrguide.pdf#desc:maincls.cmd.addsec">112</a></li> - <li><a name="cmd.addsecmark"></a><a href="#cmd.addsecmark">\addsecmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.addsecmark">118</a></li> - <li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsectiontocentry">510</a></li> - <li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsubparagraphtocentry">510</a></li> - <li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsubsectiontocentry">510</a></li> - <li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsubsubsectiontocentry">510</a></li> + <li><a name="cmd.addsecmark"></a><a href="#cmd.addsecmark">\addsecmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.addsecmark">119</a></li> + <li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsectiontocentry">511</a></li> + <li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsubparagraphtocentry">511</a></li> + <li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsubsectiontocentry">511</a></li> + <li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addsubsubsectiontocentry">511</a></li> <li><a name="cmd.addtocentrydefault"></a><a href="#cmd.addtocentrydefault">\addtocentrydefault</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtocentrydefault">509</a></li> <li><a name="cmd.addtoeachtocfile"></a><a href="#cmd.addtoeachtocfile">\addtoeachtocfile</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.addtoeachtocfile">403</a></li> - <li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addtokomafont">191</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.addtokomafont">268</a>, <a href="scrguide.pdf#desc:scrextend.cmd.addtokomafont">310</a>, <a href="scrguide.pdf#desc:scrjura.cmd.addtokomafont">327</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.addtokomafont">491</a>, <a href="scrguide.pdf#desc:maincls.cmd.addtokomafont">61</a></li> - <li><a name="cmd.addtokomafontgobblelist"></a><a href="#cmd.addtokomafontgobblelist">\addtokomafontgobblelist</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtokomafontgobblelist">511</a></li> - <li><a name="cmd.addtokomafontonearglist"></a><a href="#cmd.addtokomafontonearglist">\addtokomafontonearglist</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtokomafontonearglist">511</a></li> - <li><a name="cmd.addtokomafontrelaxlist"></a><a href="#cmd.addtokomafontrelaxlist">\addtokomafontrelaxlist</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtokomafontrelaxlist">511</a></li> - <li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addtolengthplength">178</a></li> - <li><a name="cmd.addtoplength"></a><a href="#cmd.addtoplength">\addtoplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addtoplength">178</a></li> - <li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.addtoreffields">539</a></li> + <li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addtokomafont">192</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.addtokomafont">269</a>, <a href="scrguide.pdf#desc:scrextend.cmd.addtokomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.addtokomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.addtokomafont">491</a>, <a href="scrguide.pdf#desc:maincls.cmd.addtokomafont">61</a></li> + <li><a name="cmd.addtokomafontgobblelist"></a><a href="#cmd.addtokomafontgobblelist">\addtokomafontgobblelist</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtokomafontgobblelist">512</a></li> + <li><a name="cmd.addtokomafontonearglist"></a><a href="#cmd.addtokomafontonearglist">\addtokomafontonearglist</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtokomafontonearglist">512</a></li> + <li><a name="cmd.addtokomafontrelaxlist"></a><a href="#cmd.addtokomafontrelaxlist">\addtokomafontrelaxlist</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.addtokomafontrelaxlist">512</a></li> + <li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addtolengthplength">179</a></li> + <li><a name="cmd.addtoplength"></a><a href="#cmd.addtoplength">\addtoplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.addtoplength">179</a></li> + <li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.addtoreffields">540</a></li> <li><a name="cmd.addtotoclist"></a><a href="#cmd.addtotoclist">\addtotoclist</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.addtotoclist">399</a></li> <li><a name="cmd.addxcontentsline"></a><a href="#cmd.addxcontentsline">\addxcontentsline</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.addxcontentsline">403</a></li> <li><a name="cmd.addxcontentslinetoeachtocfile"></a><a href="#cmd.addxcontentslinetoeachtocfile">\addxcontentslinetoeachtocfile</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.addxcontentslinetoeachtocfile">404</a></li> - <li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.adrchar">263</a>, <a href="scrguide.pdf#desc:scraddr.cmd.adrchar">301</a></li> - <li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.adrentry">260</a>, <a href="scrguide.pdf#desc:scraddr.cmd.adrentry">301</a></li> + <li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.adrchar">264</a>, <a href="scrguide.pdf#desc:scraddr.cmd.adrchar">302</a></li> + <li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.adrentry">261</a>, <a href="scrguide.pdf#desc:scraddr.cmd.adrentry">302</a></li> <li><a name="cmd.aliaskomafont"></a><a href="#cmd.aliaskomafont">\aliaskomafont</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.aliaskomafont">511</a></li> - <li><a name="cmd.and"></a><a href="#cmd.and">\and</a> → <a href="scrguide.pdf#desc:scrextend.cmd.and">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.and">70</a></li> - <li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> → <a href="scrguide.pdf#desc:maincls.cmd.appendix">156</a></li> + <li><a name="cmd.and"></a><a href="#cmd.and">\and</a> → <a href="scrguide.pdf#desc:scrextend.cmd.and">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.and">70</a></li> + <li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> → <a href="scrguide.pdf#desc:maincls.cmd.appendix">157</a></li> <li><a name="cmd.appendixmore"></a><a href="#cmd.appendixmore">\appendixmore</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.appendixmore">536</a></li> <li><a name="cmd.areaset"></a><a href="#cmd.areaset">\areaset</a> → <a href="scrguide.pdf#desc:typearea.cmd.areaset">47</a>, <a href="scrguide.pdf#desc:typearea-experts.cmd.areaset">505</a></li> - <li><a name="cmd.author"></a><a href="#cmd.author">\author</a> → <a href="scrguide.pdf#desc:scrextend.cmd.author">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.author">70</a></li> + <li><a name="cmd.author"></a><a href="#cmd.author">\author</a> → <a href="scrguide.pdf#desc:scrextend.cmd.author">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.author">70</a></li> <li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> → <a href="scrguide.pdf#desc:maincls.cmd.autodot">116</a></li> - <li><a name="cmd.automark*"></a><a href="#cmd.automark*">\automark*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.automark*">282</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.automark*">472</a></li> - <li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.automark">282</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.automark">472</a></li> + <li><a name="cmd.automark*"></a><a href="#cmd.automark*">\automark*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.automark*">283</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.automark*">472</a></li> + <li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.automark">283</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.automark">472</a></li> <li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> → <a href="scrguide.pdf#desc:maincls.cmd.backmatter">99</a></li> - <li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.bankname">546</a></li> + <li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.bankname">547</a></li> <li><a name="cmd.bib@beginhook"></a><a href="#cmd.bib@beginhook">\bib@beginhook</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.bib@beginhook">537</a></li> <li><a name="cmd.bib@endhook"></a><a href="#cmd.bib@endhook">\bib@endhook</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.bib@endhook">537</a></li> <li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> → <a href="scrguide.pdf#desc:maincls.cmd.caption">139</a></li> <li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionabove">139</a></li> - <li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionaboveof">140</a></li> + <li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionaboveof">141</a></li> <li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionbelow">139</a></li> - <li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionbelowof">140</a></li> + <li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionbelowof">141</a></li> <li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionformat">146</a></li> - <li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionof">140</a></li> - <li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsUKenglish">547</a></li> - <li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsUSenglish">547</a></li> - <li><a name="cmd.captionsacadian"></a><a href="#cmd.captionsacadian">\captionsacadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsacadian">547</a></li> - <li><a name="cmd.captionsamerican"></a><a href="#cmd.captionsamerican">\captionsamerican</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsamerican">547</a></li> - <li><a name="cmd.captionsaustralien"></a><a href="#cmd.captionsaustralien">\captionsaustralien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsaustralien">547</a></li> - <li><a name="cmd.captionsaustrian"></a><a href="#cmd.captionsaustrian">\captionsaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsaustrian">547</a></li> - <li><a name="cmd.captionsbritish"></a><a href="#cmd.captionsbritish">\captionsbritish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsbritish">547</a></li> - <li><a name="cmd.captionscanadian"></a><a href="#cmd.captionscanadian">\captionscanadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionscanadian">547</a></li> - <li><a name="cmd.captionscanadien"></a><a href="#cmd.captionscanadien">\captionscanadien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionscanadien">547</a></li> - <li><a name="cmd.captionscroatian"></a><a href="#cmd.captionscroatian">\captionscroatian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionscroatian">547</a></li> - <li><a name="cmd.captionsczech"></a><a href="#cmd.captionsczech">\captionsczech</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsczech">547</a></li> - <li><a name="cmd.captionsdutch"></a><a href="#cmd.captionsdutch">\captionsdutch</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsdutch">547</a></li> - <li><a name="cmd.captionsenglish"></a><a href="#cmd.captionsenglish">\captionsenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsenglish">547</a></li> - <li><a name="cmd.captionsfinnish"></a><a href="#cmd.captionsfinnish">\captionsfinnish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsfinnish">547</a></li> - <li><a name="cmd.captionsfrancais"></a><a href="#cmd.captionsfrancais">\captionsfrancais</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsfrancais">547</a></li> - <li><a name="cmd.captionsfrench"></a><a href="#cmd.captionsfrench">\captionsfrench</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsfrench">547</a></li> - <li><a name="cmd.captionsgerman"></a><a href="#cmd.captionsgerman">\captionsgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsgerman">547</a></li> - <li><a name="cmd.captionsitalian"></a><a href="#cmd.captionsitalian">\captionsitalian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsitalian">547</a></li> - <li><a name="cmd.captionsnaustrian"></a><a href="#cmd.captionsnaustrian">\captionsnaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnaustrian">547</a></li> - <li><a name="cmd.captionsnewzealand"></a><a href="#cmd.captionsnewzealand">\captionsnewzealand</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnewzealand">547</a></li> - <li><a name="cmd.captionsngerman"></a><a href="#cmd.captionsngerman">\captionsngerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsngerman">547</a></li> - <li><a name="cmd.captionsnorsk"></a><a href="#cmd.captionsnorsk">\captionsnorsk</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnorsk">547</a></li> - <li><a name="cmd.captionsnswissgerman"></a><a href="#cmd.captionsnswissgerman">\captionsnswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnswissgerman">547</a></li> - <li><a name="cmd.captionspolish"></a><a href="#cmd.captionspolish">\captionspolish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionspolish">547</a></li> - <li><a name="cmd.captionsslovak"></a><a href="#cmd.captionsslovak">\captionsslovak</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsslovak">547</a></li> - <li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsspanish">547</a></li> - <li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsswedish">547</a></li> - <li><a name="cmd.captionsswissgerman"></a><a href="#cmd.captionsswissgerman">\captionsswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsswissgerman">547</a></li> - <li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cc">185</a></li> - <li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.ccname">546</a></li> - <li><a name="cmd.cefoot*"></a><a href="#cmd.cefoot*">\cefoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cefoot*">278</a></li> - <li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cefoot">275</a></li> - <li><a name="cmd.cehead*"></a><a href="#cmd.cehead*">\cehead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cehead*">274</a></li> - <li><a name="cmd.cehead"></a><a href="#cmd.cehead">\cehead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cehead">272</a></li> - <li><a name="cmd.cfoot*"></a><a href="#cmd.cfoot*">\cfoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cfoot*">280</a></li> - <li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cfoot">279</a></li> + <li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> → <a href="scrguide.pdf#desc:maincls.cmd.captionof">141</a></li> + <li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsUKenglish">548</a></li> + <li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsUSenglish">548</a></li> + <li><a name="cmd.captionsacadian"></a><a href="#cmd.captionsacadian">\captionsacadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsacadian">548</a></li> + <li><a name="cmd.captionsamerican"></a><a href="#cmd.captionsamerican">\captionsamerican</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsamerican">548</a></li> + <li><a name="cmd.captionsaustralien"></a><a href="#cmd.captionsaustralien">\captionsaustralien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsaustralien">548</a></li> + <li><a name="cmd.captionsaustrian"></a><a href="#cmd.captionsaustrian">\captionsaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsaustrian">548</a></li> + <li><a name="cmd.captionsbritish"></a><a href="#cmd.captionsbritish">\captionsbritish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsbritish">548</a></li> + <li><a name="cmd.captionscanadian"></a><a href="#cmd.captionscanadian">\captionscanadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionscanadian">548</a></li> + <li><a name="cmd.captionscanadien"></a><a href="#cmd.captionscanadien">\captionscanadien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionscanadien">548</a></li> + <li><a name="cmd.captionscroatian"></a><a href="#cmd.captionscroatian">\captionscroatian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionscroatian">548</a></li> + <li><a name="cmd.captionsczech"></a><a href="#cmd.captionsczech">\captionsczech</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsczech">548</a></li> + <li><a name="cmd.captionsdutch"></a><a href="#cmd.captionsdutch">\captionsdutch</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsdutch">548</a></li> + <li><a name="cmd.captionsenglish"></a><a href="#cmd.captionsenglish">\captionsenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsenglish">548</a></li> + <li><a name="cmd.captionsfinnish"></a><a href="#cmd.captionsfinnish">\captionsfinnish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsfinnish">548</a></li> + <li><a name="cmd.captionsfrancais"></a><a href="#cmd.captionsfrancais">\captionsfrancais</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsfrancais">548</a></li> + <li><a name="cmd.captionsfrench"></a><a href="#cmd.captionsfrench">\captionsfrench</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsfrench">548</a></li> + <li><a name="cmd.captionsgerman"></a><a href="#cmd.captionsgerman">\captionsgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsgerman">548</a></li> + <li><a name="cmd.captionsitalian"></a><a href="#cmd.captionsitalian">\captionsitalian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsitalian">548</a></li> + <li><a name="cmd.captionsnaustrian"></a><a href="#cmd.captionsnaustrian">\captionsnaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnaustrian">548</a></li> + <li><a name="cmd.captionsnewzealand"></a><a href="#cmd.captionsnewzealand">\captionsnewzealand</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnewzealand">548</a></li> + <li><a name="cmd.captionsngerman"></a><a href="#cmd.captionsngerman">\captionsngerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsngerman">548</a></li> + <li><a name="cmd.captionsnorsk"></a><a href="#cmd.captionsnorsk">\captionsnorsk</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnorsk">548</a></li> + <li><a name="cmd.captionsnswissgerman"></a><a href="#cmd.captionsnswissgerman">\captionsnswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsnswissgerman">548</a></li> + <li><a name="cmd.captionspolish"></a><a href="#cmd.captionspolish">\captionspolish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionspolish">548</a></li> + <li><a name="cmd.captionsslovak"></a><a href="#cmd.captionsslovak">\captionsslovak</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsslovak">548</a></li> + <li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsspanish">548</a></li> + <li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsswedish">548</a></li> + <li><a name="cmd.captionsswissgerman"></a><a href="#cmd.captionsswissgerman">\captionsswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.captionsswissgerman">548</a></li> + <li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cc">186</a></li> + <li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.ccname">547</a></li> + <li><a name="cmd.cefoot*"></a><a href="#cmd.cefoot*">\cefoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cefoot*">279</a></li> + <li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cefoot">276</a></li> + <li><a name="cmd.cehead*"></a><a href="#cmd.cehead*">\cehead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cehead*">275</a></li> + <li><a name="cmd.cehead"></a><a href="#cmd.cehead">\cehead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cehead">273</a></li> + <li><a name="cmd.cfoot*"></a><a href="#cmd.cfoot*">\cfoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cfoot*">281</a></li> + <li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cfoot">280</a></li> <li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapapp">118</a></li> <li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapappifchapterprefix">118</a></li> - <li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapter*">111</a></li> + <li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapter*">112</a></li> <li><a name="cmd.chapter"></a><a href="#cmd.chapter">\chapter</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapter">106</a></li> <li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapterformat">116</a></li> - <li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterheadendvskip">526</a></li> - <li><a name="cmd.chapterheadmidvskip"></a><a href="#cmd.chapterheadmidvskip">\chapterheadmidvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterheadmidvskip">526</a></li> - <li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterheadstartvskip">526</a></li> - <li><a name="cmd.chapterlinesformat"></a><a href="#cmd.chapterlinesformat">\chapterlinesformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterlinesformat">529</a></li> - <li><a name="cmd.chapterlineswithprefixformat"></a><a href="#cmd.chapterlineswithprefixformat">\chapterlineswithprefixformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterlineswithprefixformat">529</a></li> - <li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> → <a href="scrguide.pdf#desc:maincls.cmd.chaptermark">118</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chaptermark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.chaptermark">475</a></li> - <li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.chaptermarkformat">118</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chaptermarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.chaptermarkformat">475</a></li> + <li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterheadendvskip">527</a></li> + <li><a name="cmd.chapterheadmidvskip"></a><a href="#cmd.chapterheadmidvskip">\chapterheadmidvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterheadmidvskip">527</a></li> + <li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterheadstartvskip">527</a></li> + <li><a name="cmd.chapterlinesformat"></a><a href="#cmd.chapterlinesformat">\chapterlinesformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterlinesformat">530</a></li> + <li><a name="cmd.chapterlineswithprefixformat"></a><a href="#cmd.chapterlineswithprefixformat">\chapterlineswithprefixformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.chapterlineswithprefixformat">530</a></li> + <li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> → <a href="scrguide.pdf#desc:maincls.cmd.chaptermark">119</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chaptermark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.chaptermark">475</a></li> + <li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.chaptermarkformat">119</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chaptermarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.chaptermarkformat">475</a></li> <li><a name="cmd.chapternumdepth"></a><a href="#cmd.chapternumdepth">\chapternumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapternumdepth">120</a></li> <li><a name="cmd.chapterpagestyle"></a><a href="#cmd.chapterpagestyle">\chapterpagestyle</a> → <a href="scrguide.pdf#desc:maincls.cmd.chapterpagestyle">87</a></li> - <li><a name="cmd.chead*"></a><a href="#cmd.chead*">\chead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chead*">280</a></li> - <li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chead">279</a></li> - <li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleemptypage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleemptypage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleemptypage">92</a></li> - <li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenemptypage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenemptypage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenemptypage">92</a></li> - <li><a name="cmd.cleardoubleevenpage"></a><a href="#cmd.cleardoubleevenpage">\cleardoubleevenpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenpage">92</a></li> - <li><a name="cmd.cleardoubleevenpageusingstyle"></a><a href="#cmd.cleardoubleevenpageusingstyle">\cleardoubleevenpageusingstyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenpageusingstyle">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenpageusingstyle">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenpageusingstyle">92</a></li> - <li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenplainpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenplainpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenplainpage">92</a></li> - <li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenstandardpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenstandardpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenstandardpage">92</a></li> - <li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddemptypage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddemptypage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddemptypage">92</a></li> - <li><a name="cmd.cleardoubleoddpage"></a><a href="#cmd.cleardoubleoddpage">\cleardoubleoddpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddpage">92</a></li> - <li><a name="cmd.cleardoubleoddpageusingstyle"></a><a href="#cmd.cleardoubleoddpageusingstyle">\cleardoubleoddpageusingstyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddpageusingstyle">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddpageusingstyle">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddpageusingstyle">92</a></li> - <li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddplainpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddplainpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddplainpage">92</a></li> - <li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddstandardpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddstandardpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddstandardpage">92</a></li> - <li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoublepage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoublepage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoublepage">92</a></li> - <li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoublepageusingstyle">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoublepageusingstyle">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoublepageusingstyle">92</a></li> - <li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleplainpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleplainpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleplainpage">92</a></li> - <li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoublestandardpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoublestandardpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoublestandardpage">92</a></li> + <li><a name="cmd.chead*"></a><a href="#cmd.chead*">\chead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chead*">281</a></li> + <li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.chead">280</a></li> + <li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleemptypage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleemptypage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleemptypage">92</a></li> + <li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenemptypage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenemptypage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenemptypage">92</a></li> + <li><a name="cmd.cleardoubleevenpage"></a><a href="#cmd.cleardoubleevenpage">\cleardoubleevenpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenpage">92</a></li> + <li><a name="cmd.cleardoubleevenpageusingstyle"></a><a href="#cmd.cleardoubleevenpageusingstyle">\cleardoubleevenpageusingstyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenpageusingstyle">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenpageusingstyle">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenpageusingstyle">92</a></li> + <li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenplainpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenplainpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenplainpage">92</a></li> + <li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleevenstandardpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleevenstandardpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleevenstandardpage">92</a></li> + <li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddemptypage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddemptypage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddemptypage">92</a></li> + <li><a name="cmd.cleardoubleoddpage"></a><a href="#cmd.cleardoubleoddpage">\cleardoubleoddpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddpage">92</a></li> + <li><a name="cmd.cleardoubleoddpageusingstyle"></a><a href="#cmd.cleardoubleoddpageusingstyle">\cleardoubleoddpageusingstyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddpageusingstyle">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddpageusingstyle">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddpageusingstyle">92</a></li> + <li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddplainpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddplainpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddplainpage">92</a></li> + <li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleoddstandardpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleoddstandardpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleoddstandardpage">92</a></li> + <li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoublepage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoublepage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoublepage">92</a></li> + <li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoublepageusingstyle">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoublepageusingstyle">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoublepageusingstyle">92</a></li> + <li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoubleplainpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoubleplainpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoubleplainpage">92</a></li> + <li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.cleardoublestandardpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.cleardoublestandardpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.cleardoublestandardpage">92</a></li> <li><a name="cmd.clearmainofpairofpagestyles"></a><a href="#cmd.clearmainofpairofpagestyles">\clearmainofpairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.clearmainofpairofpagestyles">483</a></li> <li><a name="cmd.clearnotecolumn"></a><a href="#cmd.clearnotecolumn">\clearnotecolumn</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.clearnotecolumn">501</a></li> <li><a name="cmd.clearnotecolumns"></a><a href="#cmd.clearnotecolumns">\clearnotecolumns</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.clearnotecolumns">502</a></li> - <li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.clearpage">244</a>, <a href="scrguide.pdf#desc:scrextend.cmd.clearpage">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.clearpage">92</a></li> + <li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.clearpage">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.clearpage">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.clearpage">92</a></li> <li><a name="cmd.clearpairofpagestyles"></a><a href="#cmd.clearpairofpagestyles">\clearpairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.clearpairofpagestyles">483</a></li> <li><a name="cmd.clearplainofpairofpagestyles"></a><a href="#cmd.clearplainofpairofpagestyles">\clearplainofpairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.clearplainofpairofpagestyles">483</a></li> - <li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.closing">183</a></li> - <li><a name="cmd.cofoot*"></a><a href="#cmd.cofoot*">\cofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cofoot*">278</a></li> - <li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cofoot">275</a></li> - <li><a name="cmd.cohead*"></a><a href="#cmd.cohead*">\cohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cohead*">274</a></li> - <li><a name="cmd.cohead"></a><a href="#cmd.cohead">\cohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cohead">272</a></li> - <li><a name="cmd.coverpagebottommargin"></a><a href="#cmd.coverpagebottommargin">\coverpagebottommargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpagebottommargin">312</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpagebottommargin">67</a></li> - <li><a name="cmd.coverpageleftmargin"></a><a href="#cmd.coverpageleftmargin">\coverpageleftmargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpageleftmargin">312</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpageleftmargin">67</a></li> - <li><a name="cmd.coverpagerightmargin"></a><a href="#cmd.coverpagerightmargin">\coverpagerightmargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpagerightmargin">312</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpagerightmargin">67</a></li> - <li><a name="cmd.coverpagetopmargin"></a><a href="#cmd.coverpagetopmargin">\coverpagetopmargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpagetopmargin">312</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpagetopmargin">67</a></li> + <li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.closing">184</a></li> + <li><a name="cmd.cofoot*"></a><a href="#cmd.cofoot*">\cofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cofoot*">279</a></li> + <li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cofoot">276</a></li> + <li><a name="cmd.cohead*"></a><a href="#cmd.cohead*">\cohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cohead*">275</a></li> + <li><a name="cmd.cohead"></a><a href="#cmd.cohead">\cohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.cohead">273</a></li> + <li><a name="cmd.coverpagebottommargin"></a><a href="#cmd.coverpagebottommargin">\coverpagebottommargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpagebottommargin">313</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpagebottommargin">67</a></li> + <li><a name="cmd.coverpageleftmargin"></a><a href="#cmd.coverpageleftmargin">\coverpageleftmargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpageleftmargin">313</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpageleftmargin">67</a></li> + <li><a name="cmd.coverpagerightmargin"></a><a href="#cmd.coverpagerightmargin">\coverpagerightmargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpagerightmargin">313</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpagerightmargin">67</a></li> + <li><a name="cmd.coverpagetopmargin"></a><a href="#cmd.coverpagetopmargin">\coverpagetopmargin</a> → <a href="scrguide.pdf#desc:scrextend.cmd.coverpagetopmargin">313</a>, <a href="scrguide.pdf#desc:maincls.cmd.coverpagetopmargin">67</a></li> <li><a name="cmd.currentpagestyle"></a><a href="#cmd.currentpagestyle">\currentpagestyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.currentpagestyle">461</a></li> - <li><a name="cmd.customername"></a><a href="#cmd.customername">\customername</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.customername">546</a></li> - <li><a name="cmd.date"></a><a href="#cmd.date">\date</a> → <a href="scrguide.pdf#desc:scrextend.cmd.date">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.date">70</a></li> - <li><a name="cmd.dateUKenglish"></a><a href="#cmd.dateUKenglish">\dateUKenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateUKenglish">548</a></li> - <li><a name="cmd.dateUSenglish"></a><a href="#cmd.dateUSenglish">\dateUSenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateUSenglish">548</a></li> - <li><a name="cmd.dateacadian"></a><a href="#cmd.dateacadian">\dateacadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateacadian">548</a></li> - <li><a name="cmd.dateamerican"></a><a href="#cmd.dateamerican">\dateamerican</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateamerican">548</a></li> - <li><a name="cmd.dateaustralien"></a><a href="#cmd.dateaustralien">\dateaustralien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateaustralien">548</a></li> - <li><a name="cmd.dateaustrian"></a><a href="#cmd.dateaustrian">\dateaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateaustrian">548</a></li> - <li><a name="cmd.datebritish"></a><a href="#cmd.datebritish">\datebritish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datebritish">548</a></li> - <li><a name="cmd.datecanadian"></a><a href="#cmd.datecanadian">\datecanadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datecanadian">548</a></li> - <li><a name="cmd.datecanadien"></a><a href="#cmd.datecanadien">\datecanadien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datecanadien">548</a></li> - <li><a name="cmd.datecroatian"></a><a href="#cmd.datecroatian">\datecroatian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datecroatian">548</a></li> - <li><a name="cmd.dateczech"></a><a href="#cmd.dateczech">\dateczech</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateczech">548</a></li> - <li><a name="cmd.datedutch"></a><a href="#cmd.datedutch">\datedutch</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datedutch">548</a></li> - <li><a name="cmd.dateenglish"></a><a href="#cmd.dateenglish">\dateenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateenglish">548</a></li> - <li><a name="cmd.datefinnish"></a><a href="#cmd.datefinnish">\datefinnish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datefinnish">548</a></li> - <li><a name="cmd.datefrancais"></a><a href="#cmd.datefrancais">\datefrancais</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datefrancais">548</a></li> - <li><a name="cmd.datefrench"></a><a href="#cmd.datefrench">\datefrench</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datefrench">548</a></li> - <li><a name="cmd.dategerman"></a><a href="#cmd.dategerman">\dategerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dategerman">548</a></li> - <li><a name="cmd.dateitalian"></a><a href="#cmd.dateitalian">\dateitalian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateitalian">548</a></li> - <li><a name="cmd.datename"></a><a href="#cmd.datename">\datename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datename">546</a></li> - <li><a name="cmd.datenaustrian"></a><a href="#cmd.datenaustrian">\datenaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenaustrian">548</a></li> - <li><a name="cmd.datenewzealand"></a><a href="#cmd.datenewzealand">\datenewzealand</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenewzealand">548</a></li> - <li><a name="cmd.datengerman"></a><a href="#cmd.datengerman">\datengerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datengerman">548</a></li> - <li><a name="cmd.datenorsk"></a><a href="#cmd.datenorsk">\datenorsk</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenorsk">548</a></li> - <li><a name="cmd.datenswissgerman"></a><a href="#cmd.datenswissgerman">\datenswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenswissgerman">548</a></li> - <li><a name="cmd.datepolish"></a><a href="#cmd.datepolish">\datepolish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datepolish">548</a></li> - <li><a name="cmd.dateslovak"></a><a href="#cmd.dateslovak">\dateslovak</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateslovak">548</a></li> - <li><a name="cmd.datespanish"></a><a href="#cmd.datespanish">\datespanish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datespanish">548</a></li> - <li><a name="cmd.dateswedish"></a><a href="#cmd.dateswedish">\dateswedish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateswedish">548</a></li> - <li><a name="cmd.dateswissgerman"></a><a href="#cmd.dateswissgerman">\dateswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateswissgerman">548</a></li> - <li><a name="cmd.dedication"></a><a href="#cmd.dedication">\dedication</a> → <a href="scrguide.pdf#desc:scrextend.cmd.dedication">316</a>, <a href="scrguide.pdf#desc:maincls.cmd.dedication">73</a></li> - <li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.defaultreffields">539</a></li> - <li><a name="cmd.defcaptionname*"></a><a href="#cmd.defcaptionname*">\defcaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.defcaptionname*">373</a></li> - <li><a name="cmd.defcaptionname"></a><a href="#cmd.defcaptionname">\defcaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.defcaptionname">373</a></li> - <li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.deffootnote">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.deffootnote">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.deffootnote">96</a></li> - <li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.deffootnotemark">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.deffootnotemark">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.deffootnotemark">96</a></li> + <li><a name="cmd.customername"></a><a href="#cmd.customername">\customername</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.customername">547</a></li> + <li><a name="cmd.date"></a><a href="#cmd.date">\date</a> → <a href="scrguide.pdf#desc:scrextend.cmd.date">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.date">70</a></li> + <li><a name="cmd.dateUKenglish"></a><a href="#cmd.dateUKenglish">\dateUKenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateUKenglish">549</a></li> + <li><a name="cmd.dateUSenglish"></a><a href="#cmd.dateUSenglish">\dateUSenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateUSenglish">549</a></li> + <li><a name="cmd.dateacadian"></a><a href="#cmd.dateacadian">\dateacadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateacadian">549</a></li> + <li><a name="cmd.dateamerican"></a><a href="#cmd.dateamerican">\dateamerican</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateamerican">549</a></li> + <li><a name="cmd.dateaustralien"></a><a href="#cmd.dateaustralien">\dateaustralien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateaustralien">549</a></li> + <li><a name="cmd.dateaustrian"></a><a href="#cmd.dateaustrian">\dateaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateaustrian">549</a></li> + <li><a name="cmd.datebritish"></a><a href="#cmd.datebritish">\datebritish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datebritish">549</a></li> + <li><a name="cmd.datecanadian"></a><a href="#cmd.datecanadian">\datecanadian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datecanadian">549</a></li> + <li><a name="cmd.datecanadien"></a><a href="#cmd.datecanadien">\datecanadien</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datecanadien">549</a></li> + <li><a name="cmd.datecroatian"></a><a href="#cmd.datecroatian">\datecroatian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datecroatian">549</a></li> + <li><a name="cmd.dateczech"></a><a href="#cmd.dateczech">\dateczech</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateczech">549</a></li> + <li><a name="cmd.datedutch"></a><a href="#cmd.datedutch">\datedutch</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datedutch">549</a></li> + <li><a name="cmd.dateenglish"></a><a href="#cmd.dateenglish">\dateenglish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateenglish">549</a></li> + <li><a name="cmd.datefinnish"></a><a href="#cmd.datefinnish">\datefinnish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datefinnish">549</a></li> + <li><a name="cmd.datefrancais"></a><a href="#cmd.datefrancais">\datefrancais</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datefrancais">549</a></li> + <li><a name="cmd.datefrench"></a><a href="#cmd.datefrench">\datefrench</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datefrench">549</a></li> + <li><a name="cmd.dategerman"></a><a href="#cmd.dategerman">\dategerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dategerman">549</a></li> + <li><a name="cmd.dateitalian"></a><a href="#cmd.dateitalian">\dateitalian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateitalian">549</a></li> + <li><a name="cmd.datename"></a><a href="#cmd.datename">\datename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datename">547</a></li> + <li><a name="cmd.datenaustrian"></a><a href="#cmd.datenaustrian">\datenaustrian</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenaustrian">549</a></li> + <li><a name="cmd.datenewzealand"></a><a href="#cmd.datenewzealand">\datenewzealand</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenewzealand">549</a></li> + <li><a name="cmd.datengerman"></a><a href="#cmd.datengerman">\datengerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datengerman">549</a></li> + <li><a name="cmd.datenorsk"></a><a href="#cmd.datenorsk">\datenorsk</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenorsk">549</a></li> + <li><a name="cmd.datenswissgerman"></a><a href="#cmd.datenswissgerman">\datenswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datenswissgerman">549</a></li> + <li><a name="cmd.datepolish"></a><a href="#cmd.datepolish">\datepolish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datepolish">549</a></li> + <li><a name="cmd.dateslovak"></a><a href="#cmd.dateslovak">\dateslovak</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateslovak">549</a></li> + <li><a name="cmd.datespanish"></a><a href="#cmd.datespanish">\datespanish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.datespanish">549</a></li> + <li><a name="cmd.dateswedish"></a><a href="#cmd.dateswedish">\dateswedish</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateswedish">549</a></li> + <li><a name="cmd.dateswissgerman"></a><a href="#cmd.dateswissgerman">\dateswissgerman</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.dateswissgerman">549</a></li> + <li><a name="cmd.dedication"></a><a href="#cmd.dedication">\dedication</a> → <a href="scrguide.pdf#desc:scrextend.cmd.dedication">317</a>, <a href="scrguide.pdf#desc:maincls.cmd.dedication">73</a></li> + <li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.defaultreffields">540</a></li> + <li><a name="cmd.defcaptionname*"></a><a href="#cmd.defcaptionname*">\defcaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.defcaptionname*">374</a></li> + <li><a name="cmd.defcaptionname"></a><a href="#cmd.defcaptionname">\defcaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.defcaptionname">374</a></li> + <li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.deffootnote">248</a>, <a href="scrguide.pdf#desc:scrextend.cmd.deffootnote">322</a>, <a href="scrguide.pdf#desc:maincls.cmd.deffootnote">96</a></li> + <li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.deffootnotemark">248</a>, <a href="scrguide.pdf#desc:scrextend.cmd.deffootnotemark">322</a>, <a href="scrguide.pdf#desc:maincls.cmd.deffootnotemark">96</a></li> <li><a name="cmd.defpagestyle"></a><a href="#cmd.defpagestyle">\defpagestyle</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.defpagestyle">484</a></li> <li><a name="cmd.defpairofpagestyles"></a><a href="#cmd.defpairofpagestyles">\defpairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.defpairofpagestyles">482</a></li> <li><a name="cmd.deftocheading"></a><a href="#cmd.deftocheading">\deftocheading</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.deftocheading">407</a></li> - <li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictum">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictum">322</a></li> - <li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictumauthorformat">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictumauthorformat">322</a></li> - <li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictumrule">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictumrule">322</a></li> - <li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictumwidth">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictumwidth">322</a></li> - <li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.documentclass">162</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.documentclass">265</a>, <a href="scrguide.pdf#desc:scrextend.cmd.documentclass">307</a>, <a href="scrguide.pdf#desc:typearea.cmd.documentclass">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.documentclass">326</a>, <a href="scrguide.pdf#desc:scrhack.cmd.documentclass">439</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.documentclass">445</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.documentclass">489</a>, <a href="scrguide.pdf#desc:maincls.cmd.documentclass">56</a></li> + <li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictum">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictum">324</a></li> + <li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictumauthorformat">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictumauthorformat">324</a></li> + <li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictumrule">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictumrule">324</a></li> + <li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> → <a href="scrguide.pdf#desc:maincls.cmd.dictumwidth">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.dictumwidth">324</a></li> + <li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.documentclass">163</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.documentclass">266</a>, <a href="scrguide.pdf#desc:scrextend.cmd.documentclass">308</a>, <a href="scrguide.pdf#desc:typearea.cmd.documentclass">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.documentclass">327</a>, <a href="scrguide.pdf#desc:scrhack.cmd.documentclass">439</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.documentclass">445</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.documentclass">489</a>, <a href="scrguide.pdf#desc:maincls.cmd.documentclass">56</a></li> <li><a name="cmd.doforeachtocfile"></a><a href="#cmd.doforeachtocfile">\doforeachtocfile</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.doforeachtocfile">401</a></li> - <li><a name="cmd.ellipsispar"></a><a href="#cmd.ellipsispar">\ellipsispar</a> → <a href="scrguide.pdf#desc:scrjura.cmd.ellipsispar">336</a></li> - <li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.emailname">546</a></li> - <li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.encl">187</a></li> - <li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.enclname">546</a></li> - <li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.extratitle">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.extratitle">69</a></li> - <li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.faxname">546</a></li> - <li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.figureformat">146</a></li> + <li><a name="cmd.ellipsispar"></a><a href="#cmd.ellipsispar">\ellipsispar</a> → <a href="scrguide.pdf#desc:scrjura.cmd.ellipsispar">337</a></li> + <li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.emailname">547</a></li> + <li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.encl">188</a></li> + <li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.enclname">547</a></li> + <li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.extratitle">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.extratitle">69</a></li> + <li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.faxname">547</a></li> + <li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.figureformat">147</a></li> <li><a name="cmd.flushbottom"></a><a href="#cmd.flushbottom">\flushbottom</a> → <a href="scrguide.pdf#desc:maincls.cmd.flushbottom">59</a></li> - <li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footnote">246</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footnote">320</a>, <a href="scrguide.pdf#desc:maincls.cmd.footnote">94</a></li> - <li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footnotemark">246</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footnotemark">320</a>, <a href="scrguide.pdf#desc:maincls.cmd.footnotemark">94</a></li> - <li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footnotetext">246</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footnotetext">320</a>, <a href="scrguide.pdf#desc:maincls.cmd.footnotetext">94</a></li> - <li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footref">246</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footref">320</a>, <a href="scrguide.pdf#desc:maincls.cmd.footref">96</a></li> - <li><a name="cmd.foreachemptykomavar"></a><a href="#cmd.foreachemptykomavar">\foreachemptykomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachemptykomavar">541</a></li> - <li><a name="cmd.foreachkomavar"></a><a href="#cmd.foreachkomavar">\foreachkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachkomavar">541</a></li> - <li><a name="cmd.foreachkomavarifempty"></a><a href="#cmd.foreachkomavarifempty">\foreachkomavarifempty</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachkomavarifempty">541</a></li> - <li><a name="cmd.foreachnonemptykomavar"></a><a href="#cmd.foreachnonemptykomavar">\foreachnonemptykomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachnonemptykomavar">541</a></li> - <li><a name="cmd.frontispiece"></a><a href="#cmd.frontispiece">\frontispiece</a> → <a href="scrguide.pdf#desc:scrextend.cmd.frontispiece">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.frontispiece">69</a></li> + <li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footnote">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footnote">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.footnote">94</a></li> + <li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footnotemark">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footnotemark">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.footnotemark">94</a></li> + <li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footnotetext">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footnotetext">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.footnotetext">94</a></li> + <li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.footref">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.footref">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.footref">96</a></li> + <li><a name="cmd.foreachemptykomavar"></a><a href="#cmd.foreachemptykomavar">\foreachemptykomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachemptykomavar">542</a></li> + <li><a name="cmd.foreachkomavar"></a><a href="#cmd.foreachkomavar">\foreachkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachkomavar">542</a></li> + <li><a name="cmd.foreachkomavarifempty"></a><a href="#cmd.foreachkomavarifempty">\foreachkomavarifempty</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachkomavarifempty">542</a></li> + <li><a name="cmd.foreachnonemptykomavar"></a><a href="#cmd.foreachnonemptykomavar">\foreachnonemptykomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.foreachnonemptykomavar">542</a></li> + <li><a name="cmd.frontispiece"></a><a href="#cmd.frontispiece">\frontispiece</a> → <a href="scrguide.pdf#desc:scrextend.cmd.frontispiece">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.frontispiece">69</a></li> <li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> → <a href="scrguide.pdf#desc:maincls.cmd.frontmatter">99</a></li> - <li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.headfromname">546</a></li> - <li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.headmark">286</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.headmark">474</a></li> - <li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.headtoname">546</a></li> - <li><a name="cmd.if@atdocument"></a><a href="#cmd.if@atdocument">\if@atdocument</a> → <a href="scrguide.pdf#desc:scrbase.cmd.if@atdocument">372</a></li> + <li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.headfromname">547</a></li> + <li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.headmark">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.headmark">474</a></li> + <li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.headtoname">547</a></li> + <li><a name="cmd.if@atdocument"></a><a href="#cmd.if@atdocument">\if@atdocument</a> → <a href="scrguide.pdf#desc:scrbase.cmd.if@atdocument">373</a></li> <li><a name="cmd.if@chapter"></a><a href="#cmd.if@chapter">\if@chapter</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.if@chapter">447</a></li> <li><a name="cmd.if@mainmatter"></a><a href="#cmd.if@mainmatter">\if@mainmatter</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.if@mainmatter">447</a></li> - <li><a name="cmd.ifoot*"></a><a href="#cmd.ifoot*">\ifoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ifoot*">280</a></li> - <li><a name="cmd.ifoot"></a><a href="#cmd.ifoot">\ifoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ifoot">279</a></li> - <li><a name="cmd.ihead*"></a><a href="#cmd.ihead*">\ihead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ihead*">280</a></li> - <li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ihead">279</a></li> + <li><a name="cmd.ifoot*"></a><a href="#cmd.ifoot*">\ifoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ifoot*">281</a></li> + <li><a name="cmd.ifoot"></a><a href="#cmd.ifoot">\ifoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ifoot">280</a></li> + <li><a name="cmd.ihead*"></a><a href="#cmd.ihead*">\ihead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ihead*">281</a></li> + <li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ihead">280</a></li> <li><a name="cmd.indexpagestyle"></a><a href="#cmd.indexpagestyle">\indexpagestyle</a> → <a href="scrguide.pdf#desc:maincls.cmd.indexpagestyle">87</a></li> - <li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.invoicename">546</a></li> - <li><a name="cmd.item"></a><a href="#cmd.item">\item</a> → <a href="scrguide.pdf#desc:maincls.cmd.item">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.item">249</a></li> - <li><a name="cmd.l@addto@macro"></a><a href="#cmd.l@addto@macro">\l@addto@macro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.l@addto@macro">377</a></li> - <li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumi">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumi">250</a></li> - <li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumii">250</a></li> - <li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumiii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumiii">250</a></li> - <li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumiv">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumiv">250</a></li> - <li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemi">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemi">249</a></li> - <li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemii">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemii">249</a></li> - <li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemiii">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemiii">249</a></li> - <li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemiv">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemiv">249</a></li> + <li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.invoicename">547</a></li> + <li><a name="cmd.item"></a><a href="#cmd.item">\item</a> → <a href="scrguide.pdf#desc:maincls.cmd.item">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.item">250</a></li> + <li><a name="cmd.l@addto@macro"></a><a href="#cmd.l@addto@macro">\l@addto@macro</a> → <a href="scrguide.pdf#desc:scrbase.cmd.l@addto@macro">378</a></li> + <li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumi">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumi">251</a></li> + <li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumii">251</a></li> + <li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumiii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumiii">251</a></li> + <li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelenumiv">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelenumiv">251</a></li> + <li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemi">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemi">250</a></li> + <li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemii">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemii">250</a></li> + <li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemiii">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemiii">250</a></li> + <li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> → <a href="scrguide.pdf#desc:maincls.cmd.labelitemiv">125</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.labelitemiv">250</a></li> <li><a name="cmd.layercontentsmeasure"></a><a href="#cmd.layercontentsmeasure">\layercontentsmeasure</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.layercontentsmeasure">460</a></li> <li><a name="cmd.layerhalign"></a><a href="#cmd.layerhalign">\layerhalign</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.layerhalign">458</a></li> <li><a name="cmd.layerheight"></a><a href="#cmd.layerheight">\layerheight</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.layerheight">458</a></li> @@ -595,232 +594,232 @@ <li><a name="cmd.layerwidth"></a><a href="#cmd.layerwidth">\layerwidth</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.layerwidth">458</a></li> <li><a name="cmd.layerxoffset"></a><a href="#cmd.layerxoffset">\layerxoffset</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.layerxoffset">458</a></li> <li><a name="cmd.layeryoffset"></a><a href="#cmd.layeryoffset">\layeryoffset</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.layeryoffset">458</a></li> - <li><a name="cmd.lefoot*"></a><a href="#cmd.lefoot*">\lefoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lefoot*">278</a></li> - <li><a name="cmd.lefoot"></a><a href="#cmd.lefoot">\lefoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lefoot">275</a></li> + <li><a name="cmd.lefoot*"></a><a href="#cmd.lefoot*">\lefoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lefoot*">279</a></li> + <li><a name="cmd.lefoot"></a><a href="#cmd.lefoot">\lefoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lefoot">276</a></li> <li><a name="cmd.leftbotmark"></a><a href="#cmd.leftbotmark">\leftbotmark</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.leftbotmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.leftbotmark">478</a></li> <li><a name="cmd.leftfirstmark"></a><a href="#cmd.leftfirstmark">\leftfirstmark</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.leftfirstmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.leftfirstmark">478</a></li> - <li><a name="cmd.leftmark"></a><a href="#cmd.leftmark">\leftmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.leftmark">286</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.leftmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.leftmark">478</a></li> + <li><a name="cmd.leftmark"></a><a href="#cmd.leftmark">\leftmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.leftmark">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.leftmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.leftmark">478</a></li> <li><a name="cmd.lefttopmark"></a><a href="#cmd.lefttopmark">\lefttopmark</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.lefttopmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.lefttopmark">478</a></li> - <li><a name="cmd.lehead*"></a><a href="#cmd.lehead*">\lehead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lehead*">274</a></li> - <li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lehead">272</a></li> - <li><a name="cmd.letterlastpage"></a><a href="#cmd.letterlastpage">\letterlastpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.letterlastpage">182</a></li> - <li><a name="cmd.letterpagestyle"></a><a href="#cmd.letterpagestyle">\letterpagestyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.letterpagestyle">239</a></li> + <li><a name="cmd.lehead*"></a><a href="#cmd.lehead*">\lehead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lehead*">275</a></li> + <li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lehead">273</a></li> + <li><a name="cmd.letterlastpage"></a><a href="#cmd.letterlastpage">\letterlastpage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.letterlastpage">183</a></li> + <li><a name="cmd.letterpagestyle"></a><a href="#cmd.letterpagestyle">\letterpagestyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.letterpagestyle">240</a></li> <li><a name="cmd.listof/Dateierweiterung/name"></a><a href="#cmd.listof/Dateierweiterung/name">\listof/Dateierweiterung/name</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.listof/Dateierweiterung/name">404</a></li> <li><a name="cmd.listof/Zielendung/"></a><a href="#cmd.listof/Zielendung/">\listof/Zielendung/</a> → <a href="scrguide.pdf#desc:scrwfile.cmd.listof/Zielendung/">396</a></li> <li><a name="cmd.listofeachtoc"></a><a href="#cmd.listofeachtoc">\listofeachtoc</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.listofeachtoc">404</a></li> - <li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> → <a href="scrguide.pdf#desc:maincls.cmd.listoffigures">154</a></li> - <li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> → <a href="scrguide.pdf#desc:maincls.cmd.listoftables">154</a></li> + <li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> → <a href="scrguide.pdf#desc:maincls.cmd.listoffigures">155</a></li> + <li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> → <a href="scrguide.pdf#desc:maincls.cmd.listoftables">155</a></li> <li><a name="cmd.listoftoc*"></a><a href="#cmd.listoftoc*">\listoftoc*</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.listoftoc*">404</a></li> <li><a name="cmd.listoftoc"></a><a href="#cmd.listoftoc">\listoftoc</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.listoftoc">404</a></li> - <li><a name="cmd.lofoot*"></a><a href="#cmd.lofoot*">\lofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lofoot*">278</a></li> - <li><a name="cmd.lofoot"></a><a href="#cmd.lofoot">\lofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lofoot">275</a></li> - <li><a name="cmd.lohead*"></a><a href="#cmd.lohead*">\lohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lohead*">274</a></li> - <li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lohead">272</a></li> - <li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> → <a href="scrguide.pdf#desc:scrextend.cmd.lowertitleback">316</a>, <a href="scrguide.pdf#desc:maincls.cmd.lowertitleback">73</a></li> + <li><a name="cmd.lofoot*"></a><a href="#cmd.lofoot*">\lofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lofoot*">279</a></li> + <li><a name="cmd.lofoot"></a><a href="#cmd.lofoot">\lofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lofoot">276</a></li> + <li><a name="cmd.lohead*"></a><a href="#cmd.lohead*">\lohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lohead*">275</a></li> + <li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.lohead">273</a></li> + <li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> → <a href="scrguide.pdf#desc:scrextend.cmd.lowertitleback">317</a>, <a href="scrguide.pdf#desc:maincls.cmd.lowertitleback">73</a></li> <li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> → <a href="scrguide.pdf#desc:maincls.cmd.mainmatter">99</a></li> <li><a name="cmd.makenote*"></a><a href="#cmd.makenote*">\makenote*</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.makenote*">497</a></li> <li><a name="cmd.makenote"></a><a href="#cmd.makenote">\makenote</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.makenote">497</a></li> - <li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.maketitle">313</a>, <a href="scrguide.pdf#desc:maincls.cmd.maketitle">68</a></li> - <li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.manualmark">282</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.manualmark">472</a></li> - <li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> → <a href="scrguide.pdf#desc:maincls.cmd.marginline">155</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.marginline">253</a>, <a href="scrguide.pdf#desc:scrextend.cmd.marginline">324</a></li> - <li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> → <a href="scrguide.pdf#desc:maincls.cmd.marginpar">155</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.marginpar">253</a>, <a href="scrguide.pdf#desc:scrextend.cmd.marginpar">324</a></li> - <li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.markboth">243</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markboth">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markboth">476</a>, <a href="scrguide.pdf#desc:maincls.cmd.markboth">87</a></li> - <li><a name="cmd.markdouble"></a><a href="#cmd.markdouble">\markdouble</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markdouble">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markdouble">476</a></li> - <li><a name="cmd.markleft"></a><a href="#cmd.markleft">\markleft</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markleft">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markleft">476</a></li> - <li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.markright">243</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markright">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markright">476</a>, <a href="scrguide.pdf#desc:maincls.cmd.markright">87</a></li> + <li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.maketitle">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.maketitle">68</a></li> + <li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.manualmark">283</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.manualmark">472</a></li> + <li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> → <a href="scrguide.pdf#desc:maincls.cmd.marginline">156</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.marginline">254</a>, <a href="scrguide.pdf#desc:scrextend.cmd.marginline">326</a></li> + <li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> → <a href="scrguide.pdf#desc:maincls.cmd.marginpar">156</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.marginpar">254</a>, <a href="scrguide.pdf#desc:scrextend.cmd.marginpar">326</a></li> + <li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.markboth">244</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markboth">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markboth">476</a>, <a href="scrguide.pdf#desc:maincls.cmd.markboth">87</a></li> + <li><a name="cmd.markdouble"></a><a href="#cmd.markdouble">\markdouble</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markdouble">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markdouble">476</a></li> + <li><a name="cmd.markleft"></a><a href="#cmd.markleft">\markleft</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markleft">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markleft">476</a></li> + <li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.markright">244</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.markright">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.markright">476</a>, <a href="scrguide.pdf#desc:maincls.cmd.markright">87</a></li> <li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> → <a href="scrguide.pdf#desc:maincls.cmd.minisec">113</a></li> - <li><a name="cmd.mobilephonename"></a><a href="#cmd.mobilephonename">\mobilephonename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.mobilephonename">546</a></li> - <li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.multfootsep">245</a>, <a href="scrguide.pdf#desc:scrextend.cmd.multfootsep">319</a>, <a href="scrguide.pdf#desc:maincls.cmd.multfootsep">94</a></li> - <li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.multiplefootnoteseparator">246</a>, <a href="scrguide.pdf#desc:scrextend.cmd.multiplefootnoteseparator">320</a>, <a href="scrguide.pdf#desc:maincls.cmd.multiplefootnoteseparator">94</a></li> - <li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.myrefname">546</a></li> - <li><a name="cmd.nameday"></a><a href="#cmd.nameday">\nameday</a> → <a href="scrguide.pdf#desc:scrdate.cmd.nameday">297</a></li> + <li><a name="cmd.mobilephonename"></a><a href="#cmd.mobilephonename">\mobilephonename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.mobilephonename">547</a></li> + <li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.multfootsep">246</a>, <a href="scrguide.pdf#desc:scrextend.cmd.multfootsep">320</a>, <a href="scrguide.pdf#desc:maincls.cmd.multfootsep">94</a></li> + <li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.multiplefootnoteseparator">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.multiplefootnoteseparator">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.multiplefootnoteseparator">94</a></li> + <li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.myrefname">547</a></li> + <li><a name="cmd.nameday"></a><a href="#cmd.nameday">\nameday</a> → <a href="scrguide.pdf#desc:scrdate.cmd.nameday">298</a></li> <li><a name="cmd.newbibstyle"></a><a href="#cmd.newbibstyle">\newbibstyle</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.newbibstyle">537</a></li> <li><a name="cmd.newblock"></a><a href="#cmd.newblock">\newblock</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.newblock">537</a></li> - <li><a name="cmd.newcaptionname*"></a><a href="#cmd.newcaptionname*">\newcaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.newcaptionname*">373</a></li> - <li><a name="cmd.newcaptionname"></a><a href="#cmd.newcaptionname">\newcaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.newcaptionname">373</a></li> - <li><a name="cmd.newdaylanguage"></a><a href="#cmd.newdaylanguage">\newdaylanguage</a> → <a href="scrguide.pdf#desc:scrdate.cmd.newdaylanguage">297</a></li> + <li><a name="cmd.newcaptionname*"></a><a href="#cmd.newcaptionname*">\newcaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.newcaptionname*">374</a></li> + <li><a name="cmd.newcaptionname"></a><a href="#cmd.newcaptionname">\newcaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.newcaptionname">374</a></li> + <li><a name="cmd.newdaylanguage"></a><a href="#cmd.newdaylanguage">\newdaylanguage</a> → <a href="scrguide.pdf#desc:scrdate.cmd.newdaylanguage">298</a></li> <li><a name="cmd.newkomafont"></a><a href="#cmd.newkomafont">\newkomafont</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.newkomafont">511</a></li> - <li><a name="cmd.newkomavar*"></a><a href="#cmd.newkomavar*">\newkomavar*</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.newkomavar*">539</a></li> - <li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.newkomavar">539</a></li> + <li><a name="cmd.newkomavar*"></a><a href="#cmd.newkomavar*">\newkomavar*</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.newkomavar*">540</a></li> + <li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.newkomavar">540</a></li> <li><a name="cmd.newpagestyle"></a><a href="#cmd.newpagestyle">\newpagestyle</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.newpagestyle">484</a></li> <li><a name="cmd.newpairofpagestyles"></a><a href="#cmd.newpairofpagestyles">\newpairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.newpairofpagestyles">482</a></li> - <li><a name="cmd.newplength"></a><a href="#cmd.newplength">\newplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.newplength">176</a></li> + <li><a name="cmd.newplength"></a><a href="#cmd.newplength">\newplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.newplength">177</a></li> <li><a name="cmd.nonumberline"></a><a href="#cmd.nonumberline">\nonumberline</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.nonumberline">428</a></li> <li><a name="cmd.numberline"></a><a href="#cmd.numberline">\numberline</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.numberline">411</a></li> - <li><a name="cmd.ofoot*"></a><a href="#cmd.ofoot*">\ofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ofoot*">280</a></li> - <li><a name="cmd.ofoot"></a><a href="#cmd.ofoot">\ofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ofoot">279</a></li> - <li><a name="cmd.ohead*"></a><a href="#cmd.ohead*">\ohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ohead*">280</a></li> - <li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ohead">279</a></li> - <li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.opening">182</a></li> + <li><a name="cmd.ofoot*"></a><a href="#cmd.ofoot*">\ofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ofoot*">281</a></li> + <li><a name="cmd.ofoot"></a><a href="#cmd.ofoot">\ofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ofoot">280</a></li> + <li><a name="cmd.ohead*"></a><a href="#cmd.ohead*">\ohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ohead*">281</a></li> + <li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.ohead">280</a></li> + <li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.opening">183</a></li> <li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.othersectionlevelsformat">116</a></li> - <li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.pagemark">286</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.pagemark">474</a></li> - <li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.pagename">546</a></li> + <li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.pagemark">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.pagemark">474</a></li> + <li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.pagename">547</a></li> <li><a name="cmd.pagenumbering"></a><a href="#cmd.pagenumbering">\pagenumbering</a> → <a href="scrguide.pdf#desc:maincls.cmd.pagenumbering">89</a></li> - <li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.pagestyle">240</a>, <a href="scrguide.pdf#desc:maincls.cmd.pagestyle">85</a></li> - <li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> → <a href="scrguide.pdf#desc:maincls.cmd.paragraph*">111</a></li> + <li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.pagestyle">241</a>, <a href="scrguide.pdf#desc:maincls.cmd.pagestyle">85</a></li> + <li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> → <a href="scrguide.pdf#desc:maincls.cmd.paragraph*">112</a></li> <li><a name="cmd.paragraph"></a><a href="#cmd.paragraph">\paragraph</a> → <a href="scrguide.pdf#desc:maincls.cmd.paragraph">106</a></li> <li><a name="cmd.paragraphformat"></a><a href="#cmd.paragraphformat">\paragraphformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.paragraphformat">116</a></li> - <li><a name="cmd.paragraphmark"></a><a href="#cmd.paragraphmark">\paragraphmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.paragraphmark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.paragraphmark">475</a></li> - <li><a name="cmd.paragraphmarkformat"></a><a href="#cmd.paragraphmarkformat">\paragraphmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.paragraphmarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.paragraphmarkformat">475</a></li> + <li><a name="cmd.paragraphmark"></a><a href="#cmd.paragraphmark">\paragraphmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.paragraphmark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.paragraphmark">475</a></li> + <li><a name="cmd.paragraphmarkformat"></a><a href="#cmd.paragraphmarkformat">\paragraphmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.paragraphmarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.paragraphmarkformat">475</a></li> <li><a name="cmd.paragraphnumdepth"></a><a href="#cmd.paragraphnumdepth">\paragraphnumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.paragraphnumdepth">120</a></li> <li><a name="cmd.paragraphtocdepth"></a><a href="#cmd.paragraphtocdepth">\paragraphtocdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.paragraphtocdepth">80</a></li> - <li><a name="cmd.parellipsis"></a><a href="#cmd.parellipsis">\parellipsis</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parellipsis">336</a></li> - <li><a name="cmd.parformat"></a><a href="#cmd.parformat">\parformat</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parformat">335</a></li> - <li><a name="cmd.parformatseparation"></a><a href="#cmd.parformatseparation">\parformatseparation</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parformatseparation">335</a></li> - <li><a name="cmd.parname"></a><a href="#cmd.parname">\parname</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parname">343</a></li> - <li><a name="cmd.parshortname"></a><a href="#cmd.parshortname">\parshortname</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parshortname">343</a></li> - <li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> → <a href="scrguide.pdf#desc:maincls.cmd.part*">111</a></li> + <li><a name="cmd.parellipsis"></a><a href="#cmd.parellipsis">\parellipsis</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parellipsis">337</a></li> + <li><a name="cmd.parformat"></a><a href="#cmd.parformat">\parformat</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parformat">336</a></li> + <li><a name="cmd.parformatseparation"></a><a href="#cmd.parformatseparation">\parformatseparation</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parformatseparation">336</a></li> + <li><a name="cmd.parname"></a><a href="#cmd.parname">\parname</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parname">344</a></li> + <li><a name="cmd.parshortname"></a><a href="#cmd.parshortname">\parshortname</a> → <a href="scrguide.pdf#desc:scrjura.cmd.parshortname">344</a></li> + <li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> → <a href="scrguide.pdf#desc:maincls.cmd.part*">112</a></li> <li><a name="cmd.part"></a><a href="#cmd.part">\part</a> → <a href="scrguide.pdf#desc:maincls.cmd.part">106</a></li> <li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.partformat">116</a></li> - <li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheademptypage">526</a></li> - <li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheadendvskip">526</a></li> - <li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheadmidvskip">526</a></li> - <li><a name="cmd.partheadstartvskip"></a><a href="#cmd.partheadstartvskip">\partheadstartvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheadstartvskip">526</a></li> - <li><a name="cmd.partlineswithprefixformat"></a><a href="#cmd.partlineswithprefixformat">\partlineswithprefixformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partlineswithprefixformat">528</a></li> - <li><a name="cmd.partmark"></a><a href="#cmd.partmark">\partmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.partmark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.partmark">475</a></li> - <li><a name="cmd.partmarkformat"></a><a href="#cmd.partmarkformat">\partmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.partmarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.partmarkformat">475</a></li> + <li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheademptypage">527</a></li> + <li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheadendvskip">527</a></li> + <li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheadmidvskip">527</a></li> + <li><a name="cmd.partheadstartvskip"></a><a href="#cmd.partheadstartvskip">\partheadstartvskip</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partheadstartvskip">527</a></li> + <li><a name="cmd.partlineswithprefixformat"></a><a href="#cmd.partlineswithprefixformat">\partlineswithprefixformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.partlineswithprefixformat">529</a></li> + <li><a name="cmd.partmark"></a><a href="#cmd.partmark">\partmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.partmark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.partmark">475</a></li> + <li><a name="cmd.partmarkformat"></a><a href="#cmd.partmarkformat">\partmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.partmarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.partmarkformat">475</a></li> <li><a name="cmd.partnumdepth"></a><a href="#cmd.partnumdepth">\partnumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.partnumdepth">120</a></li> <li><a name="cmd.partpagestyle"></a><a href="#cmd.partpagestyle">\partpagestyle</a> → <a href="scrguide.pdf#desc:maincls.cmd.partpagestyle">87</a></li> <li><a name="cmd.parttocdepth"></a><a href="#cmd.parttocdepth">\parttocdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.parttocdepth">80</a></li> - <li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.phonename">546</a></li> - <li><a name="cmd.providecaptionname*"></a><a href="#cmd.providecaptionname*">\providecaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.providecaptionname*">373</a></li> - <li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.providecaptionname">373</a></li> + <li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.phonename">547</a></li> + <li><a name="cmd.providecaptionname*"></a><a href="#cmd.providecaptionname*">\providecaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.providecaptionname*">374</a></li> + <li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.providecaptionname">374</a></li> <li><a name="cmd.providepagestyle"></a><a href="#cmd.providepagestyle">\providepagestyle</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.providepagestyle">484</a></li> <li><a name="cmd.providepairofpagestyles"></a><a href="#cmd.providepairofpagestyles">\providepairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.providepairofpagestyles">482</a></li> - <li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.ps">185</a></li> - <li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> → <a href="scrguide.pdf#desc:scrextend.cmd.publishers">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.publishers">70</a></li> + <li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.ps">186</a></li> + <li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> → <a href="scrguide.pdf#desc:scrextend.cmd.publishers">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.publishers">70</a></li> <li><a name="cmd.putC"></a><a href="#cmd.putC">\putC</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.putC">459</a></li> <li><a name="cmd.putLL"></a><a href="#cmd.putLL">\putLL</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.putLL">459</a></li> <li><a name="cmd.putLR"></a><a href="#cmd.putLR">\putLR</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.putLR">459</a></li> <li><a name="cmd.putUL"></a><a href="#cmd.putUL">\putUL</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.putUL">459</a></li> <li><a name="cmd.putUR"></a><a href="#cmd.putUR">\putUR</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.putUR">459</a></li> <li><a name="cmd.raggedbottom"></a><a href="#cmd.raggedbottom">\raggedbottom</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedbottom">59</a></li> - <li><a name="cmd.raggedchapter"></a><a href="#cmd.raggedchapter">\raggedchapter</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedchapter">114</a></li> + <li><a name="cmd.raggedchapter"></a><a href="#cmd.raggedchapter">\raggedchapter</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedchapter">115</a></li> <li><a name="cmd.raggedchapterentry"></a><a href="#cmd.raggedchapterentry">\raggedchapterentry</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.raggedchapterentry">509</a></li> - <li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggeddictum">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggeddictum">322</a></li> - <li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggeddictumauthor">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggeddictumauthor">322</a></li> - <li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggeddictumtext">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggeddictumtext">322</a></li> - <li><a name="cmd.raggedfootnote"></a><a href="#cmd.raggedfootnote">\raggedfootnote</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.raggedfootnote">248</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggedfootnote">322</a>, <a href="scrguide.pdf#desc:maincls.cmd.raggedfootnote">98</a></li> - <li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedpart">114</a></li> - <li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedsection">114</a></li> - <li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.raggedsignature">231</a></li> + <li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggeddictum">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggeddictum">324</a></li> + <li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggeddictumauthor">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggeddictumauthor">324</a></li> + <li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggeddictumtext">123</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggeddictumtext">324</a></li> + <li><a name="cmd.raggedfootnote"></a><a href="#cmd.raggedfootnote">\raggedfootnote</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.raggedfootnote">249</a>, <a href="scrguide.pdf#desc:scrextend.cmd.raggedfootnote">323</a>, <a href="scrguide.pdf#desc:maincls.cmd.raggedfootnote">98</a></li> + <li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedpart">115</a></li> + <li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> → <a href="scrguide.pdf#desc:maincls.cmd.raggedsection">115</a></li> + <li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.raggedsignature">232</a></li> <li><a name="cmd.recalctypearea"></a><a href="#cmd.recalctypearea">\recalctypearea</a> → <a href="scrguide.pdf#desc:typearea.cmd.recalctypearea">41</a></li> - <li><a name="cmd.ref"></a><a href="#cmd.ref">\ref</a> → <a href="scrguide.pdf#desc:scrjura.cmd.ref">338</a></li> - <li><a name="cmd.refClause"></a><a href="#cmd.refClause">\refClause</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refClause">338</a></li> - <li><a name="cmd.refClauseN"></a><a href="#cmd.refClauseN">\refClauseN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refClauseN">338</a></li> - <li><a name="cmd.refL"></a><a href="#cmd.refL">\refL</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refL">338</a></li> - <li><a name="cmd.refN"></a><a href="#cmd.refN">\refN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refN">338</a></li> - <li><a name="cmd.refPar"></a><a href="#cmd.refPar">\refPar</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refPar">338</a></li> - <li><a name="cmd.refParL"></a><a href="#cmd.refParL">\refParL</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refParL">338</a></li> - <li><a name="cmd.refParN"></a><a href="#cmd.refParN">\refParN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refParN">338</a></li> - <li><a name="cmd.refParS"></a><a href="#cmd.refParS">\refParS</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refParS">338</a></li> - <li><a name="cmd.refS"></a><a href="#cmd.refS">\refS</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refS">338</a></li> - <li><a name="cmd.refSentence"></a><a href="#cmd.refSentence">\refSentence</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentence">338</a></li> - <li><a name="cmd.refSentenceL"></a><a href="#cmd.refSentenceL">\refSentenceL</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentenceL">338</a></li> - <li><a name="cmd.refSentenceN"></a><a href="#cmd.refSentenceN">\refSentenceN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentenceN">338</a></li> - <li><a name="cmd.refSentenceS"></a><a href="#cmd.refSentenceS">\refSentenceS</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentenceS">338</a></li> - <li><a name="cmd.refoot*"></a><a href="#cmd.refoot*">\refoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.refoot*">278</a></li> - <li><a name="cmd.refoot"></a><a href="#cmd.refoot">\refoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.refoot">275</a></li> - <li><a name="cmd.rehead*"></a><a href="#cmd.rehead*">\rehead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rehead*">274</a></li> - <li><a name="cmd.rehead"></a><a href="#cmd.rehead">\rehead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rehead">272</a></li> + <li><a name="cmd.ref"></a><a href="#cmd.ref">\ref</a> → <a href="scrguide.pdf#desc:scrjura.cmd.ref">339</a></li> + <li><a name="cmd.refClause"></a><a href="#cmd.refClause">\refClause</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refClause">339</a></li> + <li><a name="cmd.refClauseN"></a><a href="#cmd.refClauseN">\refClauseN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refClauseN">339</a></li> + <li><a name="cmd.refL"></a><a href="#cmd.refL">\refL</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refL">339</a></li> + <li><a name="cmd.refN"></a><a href="#cmd.refN">\refN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refN">339</a></li> + <li><a name="cmd.refPar"></a><a href="#cmd.refPar">\refPar</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refPar">339</a></li> + <li><a name="cmd.refParL"></a><a href="#cmd.refParL">\refParL</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refParL">339</a></li> + <li><a name="cmd.refParN"></a><a href="#cmd.refParN">\refParN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refParN">339</a></li> + <li><a name="cmd.refParS"></a><a href="#cmd.refParS">\refParS</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refParS">339</a></li> + <li><a name="cmd.refS"></a><a href="#cmd.refS">\refS</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refS">339</a></li> + <li><a name="cmd.refSentence"></a><a href="#cmd.refSentence">\refSentence</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentence">339</a></li> + <li><a name="cmd.refSentenceL"></a><a href="#cmd.refSentenceL">\refSentenceL</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentenceL">339</a></li> + <li><a name="cmd.refSentenceN"></a><a href="#cmd.refSentenceN">\refSentenceN</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentenceN">339</a></li> + <li><a name="cmd.refSentenceS"></a><a href="#cmd.refSentenceS">\refSentenceS</a> → <a href="scrguide.pdf#desc:scrjura.cmd.refSentenceS">339</a></li> + <li><a name="cmd.refoot*"></a><a href="#cmd.refoot*">\refoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.refoot*">279</a></li> + <li><a name="cmd.refoot"></a><a href="#cmd.refoot">\refoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.refoot">276</a></li> + <li><a name="cmd.rehead*"></a><a href="#cmd.rehead*">\rehead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rehead*">275</a></li> + <li><a name="cmd.rehead"></a><a href="#cmd.rehead">\rehead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rehead">273</a></li> <li><a name="cmd.removefromtoclist"></a><a href="#cmd.removefromtoclist">\removefromtoclist</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.removefromtoclist">401</a></li> - <li><a name="cmd.removereffields"></a><a href="#cmd.removereffields">\removereffields</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.removereffields">539</a></li> - <li><a name="cmd.renewcaptionname*"></a><a href="#cmd.renewcaptionname*">\renewcaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.renewcaptionname*">373</a></li> - <li><a name="cmd.renewcaptionname"></a><a href="#cmd.renewcaptionname">\renewcaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.renewcaptionname">373</a></li> + <li><a name="cmd.removereffields"></a><a href="#cmd.removereffields">\removereffields</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.removereffields">540</a></li> + <li><a name="cmd.renewcaptionname*"></a><a href="#cmd.renewcaptionname*">\renewcaptionname*</a> → <a href="scrguide.pdf#desc:scrbase.cmd.renewcaptionname*">374</a></li> + <li><a name="cmd.renewcaptionname"></a><a href="#cmd.renewcaptionname">\renewcaptionname</a> → <a href="scrguide.pdf#desc:scrbase.cmd.renewcaptionname">374</a></li> <li><a name="cmd.renewpagestyle"></a><a href="#cmd.renewpagestyle">\renewpagestyle</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.renewpagestyle">484</a></li> <li><a name="cmd.renewpairofpagestyles"></a><a href="#cmd.renewpairofpagestyles">\renewpairofpagestyles</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.renewpairofpagestyles">482</a></li> <li><a name="cmd.rightbotmark"></a><a href="#cmd.rightbotmark">\rightbotmark</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.rightbotmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.rightbotmark">478</a></li> <li><a name="cmd.rightfirstmark"></a><a href="#cmd.rightfirstmark">\rightfirstmark</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.rightfirstmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.rightfirstmark">478</a></li> - <li><a name="cmd.rightmark"></a><a href="#cmd.rightmark">\rightmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rightmark">286</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.rightmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.rightmark">478</a></li> + <li><a name="cmd.rightmark"></a><a href="#cmd.rightmark">\rightmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rightmark">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.rightmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.rightmark">478</a></li> <li><a name="cmd.righttopmark"></a><a href="#cmd.righttopmark">\righttopmark</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.righttopmark">473</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage-experts.cmd.righttopmark">478</a></li> - <li><a name="cmd.rofoot*"></a><a href="#cmd.rofoot*">\rofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rofoot*">278</a></li> - <li><a name="cmd.rofoot"></a><a href="#cmd.rofoot">\rofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rofoot">275</a></li> - <li><a name="cmd.rohead*"></a><a href="#cmd.rohead*">\rohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rohead*">274</a></li> - <li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rohead">272</a></li> - <li><a name="cmd.scr@startsection"></a><a href="#cmd.scr@startsection">\scr@startsection</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.scr@startsection">534</a></li> - <li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> → <a href="scrguide.pdf#desc:maincls.cmd.section*">111</a></li> + <li><a name="cmd.rofoot*"></a><a href="#cmd.rofoot*">\rofoot*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rofoot*">279</a></li> + <li><a name="cmd.rofoot"></a><a href="#cmd.rofoot">\rofoot</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rofoot">276</a></li> + <li><a name="cmd.rohead*"></a><a href="#cmd.rohead*">\rohead*</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rohead*">275</a></li> + <li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.rohead">273</a></li> + <li><a name="cmd.scr@startsection"></a><a href="#cmd.scr@startsection">\scr@startsection</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.scr@startsection">535</a></li> + <li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> → <a href="scrguide.pdf#desc:maincls.cmd.section*">112</a></li> <li><a name="cmd.section"></a><a href="#cmd.section">\section</a> → <a href="scrguide.pdf#desc:maincls.cmd.section">106</a></li> <li><a name="cmd.sectioncatchphraseformat"></a><a href="#cmd.sectioncatchphraseformat">\sectioncatchphraseformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.sectioncatchphraseformat">532</a></li> <li><a name="cmd.sectionformat"></a><a href="#cmd.sectionformat">\sectionformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectionformat">116</a></li> <li><a name="cmd.sectionlinesformat"></a><a href="#cmd.sectionlinesformat">\sectionlinesformat</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.sectionlinesformat">532</a></li> - <li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectionmark">118</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.sectionmark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.sectionmark">475</a></li> - <li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectionmarkformat">118</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.sectionmarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.sectionmarkformat">475</a></li> + <li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectionmark">119</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.sectionmark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.sectionmark">475</a></li> + <li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectionmarkformat">119</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.sectionmarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.sectionmarkformat">475</a></li> <li><a name="cmd.sectionnumdepth"></a><a href="#cmd.sectionnumdepth">\sectionnumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectionnumdepth">120</a></li> <li><a name="cmd.sectiontocdepth"></a><a href="#cmd.sectiontocdepth">\sectiontocdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.sectiontocdepth">80</a></li> - <li><a name="cmd.sentencename"></a><a href="#cmd.sentencename">\sentencename</a> → <a href="scrguide.pdf#desc:scrjura.cmd.sentencename">343</a></li> - <li><a name="cmd.sentencenumberformat"></a><a href="#cmd.sentencenumberformat">\sentencenumberformat</a> → <a href="scrguide.pdf#desc:scrjura.cmd.sentencenumberformat">337</a></li> - <li><a name="cmd.sentenceshortname"></a><a href="#cmd.sentenceshortname">\sentenceshortname</a> → <a href="scrguide.pdf#desc:scrjura.cmd.sentenceshortname">343</a></li> - <li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.setbibpreamble">157</a></li> - <li><a name="cmd.setcapdynwidth"></a><a href="#cmd.setcapdynwidth">\setcapdynwidth</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapdynwidth">148</a></li> + <li><a name="cmd.sentencename"></a><a href="#cmd.sentencename">\sentencename</a> → <a href="scrguide.pdf#desc:scrjura.cmd.sentencename">344</a></li> + <li><a name="cmd.sentencenumberformat"></a><a href="#cmd.sentencenumberformat">\sentencenumberformat</a> → <a href="scrguide.pdf#desc:scrjura.cmd.sentencenumberformat">338</a></li> + <li><a name="cmd.sentenceshortname"></a><a href="#cmd.sentenceshortname">\sentenceshortname</a> → <a href="scrguide.pdf#desc:scrjura.cmd.sentenceshortname">344</a></li> + <li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.setbibpreamble">158</a></li> + <li><a name="cmd.setcapdynwidth"></a><a href="#cmd.setcapdynwidth">\setcapdynwidth</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapdynwidth">149</a></li> <li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcaphanging">147</a></li> <li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapindent*">147</a></li> <li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapindent">147</a></li> - <li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapmargin*">148</a></li> - <li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapmargin">148</a></li> - <li><a name="cmd.setcaptionalignment"></a><a href="#cmd.setcaptionalignment">\setcaptionalignment</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcaptionalignment">149</a></li> - <li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapwidth">148</a></li> + <li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapmargin*">149</a></li> + <li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapmargin">149</a></li> + <li><a name="cmd.setcaptionalignment"></a><a href="#cmd.setcaptionalignment">\setcaptionalignment</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcaptionalignment">150</a></li> + <li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> → <a href="scrguide.pdf#desc:maincls.cmd.setcapwidth">149</a></li> <li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.setchapterpreamble">121</a></li> - <li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setfootnoterule">248</a>, <a href="scrguide.pdf#desc:maincls.cmd.setfootnoterule">98</a></li> + <li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setfootnoterule">249</a>, <a href="scrguide.pdf#desc:maincls.cmd.setfootnoterule">98</a></li> <li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.setindexpreamble">161</a></li> - <li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setkomafont">191</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.setkomafont">268</a>, <a href="scrguide.pdf#desc:scrextend.cmd.setkomafont">310</a>, <a href="scrguide.pdf#desc:scrjura.cmd.setkomafont">327</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.setkomafont">491</a>, <a href="scrguide.pdf#desc:maincls.cmd.setkomafont">61</a></li> - <li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setkomavar*">170</a></li> - <li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setkomavar">170</a></li> - <li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setlengthtoplength">178</a></li> + <li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setkomafont">192</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.setkomafont">269</a>, <a href="scrguide.pdf#desc:scrextend.cmd.setkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.setkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.setkomafont">491</a>, <a href="scrguide.pdf#desc:maincls.cmd.setkomafont">61</a></li> + <li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setkomavar*">171</a></li> + <li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setkomavar">171</a></li> + <li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setlengthtoplength">179</a></li> <li><a name="cmd.setparsizes"></a><a href="#cmd.setparsizes">\setparsizes</a> → <a href="scrguide.pdf#desc:maincls-experts.cmd.setparsizes">513</a></li> <li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> → <a href="scrguide.pdf#desc:maincls.cmd.setpartpreamble">121</a></li> - <li><a name="cmd.setplength"></a><a href="#cmd.setplength">\setplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplength">178</a></li> - <li><a name="cmd.setplengthtodepth"></a><a href="#cmd.setplengthtodepth">\setplengthtodepth</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtodepth">178</a></li> - <li><a name="cmd.setplengthtoheight"></a><a href="#cmd.setplengthtoheight">\setplengthtoheight</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtoheight">178</a></li> - <li><a name="cmd.setplengthtototalheight"></a><a href="#cmd.setplengthtototalheight">\setplengthtototalheight</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtototalheight">178</a></li> - <li><a name="cmd.setplengthtowidth"></a><a href="#cmd.setplengthtowidth">\setplengthtowidth</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtowidth">178</a></li> - <li><a name="cmd.settime"></a><a href="#cmd.settime">\settime</a> → <a href="scrguide.pdf#desc:scrtime.cmd.settime">300</a></li> + <li><a name="cmd.setplength"></a><a href="#cmd.setplength">\setplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplength">179</a></li> + <li><a name="cmd.setplengthtodepth"></a><a href="#cmd.setplengthtodepth">\setplengthtodepth</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtodepth">179</a></li> + <li><a name="cmd.setplengthtoheight"></a><a href="#cmd.setplengthtoheight">\setplengthtoheight</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtoheight">179</a></li> + <li><a name="cmd.setplengthtototalheight"></a><a href="#cmd.setplengthtototalheight">\setplengthtototalheight</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtototalheight">179</a></li> + <li><a name="cmd.setplengthtowidth"></a><a href="#cmd.setplengthtowidth">\setplengthtowidth</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.setplengthtowidth">179</a></li> + <li><a name="cmd.settime"></a><a href="#cmd.settime">\settime</a> → <a href="scrguide.pdf#desc:scrtime.cmd.settime">301</a></li> <li><a name="cmd.setuptoc"></a><a href="#cmd.setuptoc">\setuptoc</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.setuptoc">407</a></li> <li><a name="cmd.storeareas"></a><a href="#cmd.storeareas">\storeareas</a> → <a href="scrguide.pdf#desc:typearea-experts.cmd.storeareas">506</a></li> - <li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> → <a href="scrguide.pdf#desc:scrextend.cmd.subject">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.subject">70</a></li> - <li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.subjectname">546</a></li> - <li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> → <a href="scrguide.pdf#desc:maincls.cmd.subparagraph*">111</a></li> + <li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> → <a href="scrguide.pdf#desc:scrextend.cmd.subject">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.subject">70</a></li> + <li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.subjectname">547</a></li> + <li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> → <a href="scrguide.pdf#desc:maincls.cmd.subparagraph*">112</a></li> <li><a name="cmd.subparagraph"></a><a href="#cmd.subparagraph">\subparagraph</a> → <a href="scrguide.pdf#desc:maincls.cmd.subparagraph">106</a></li> <li><a name="cmd.subparagraphformat"></a><a href="#cmd.subparagraphformat">\subparagraphformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.subparagraphformat">116</a></li> - <li><a name="cmd.subparagraphmark"></a><a href="#cmd.subparagraphmark">\subparagraphmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subparagraphmark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subparagraphmark">475</a></li> - <li><a name="cmd.subparagraphmarkformat"></a><a href="#cmd.subparagraphmarkformat">\subparagraphmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subparagraphmarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subparagraphmarkformat">475</a></li> + <li><a name="cmd.subparagraphmark"></a><a href="#cmd.subparagraphmark">\subparagraphmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subparagraphmark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subparagraphmark">475</a></li> + <li><a name="cmd.subparagraphmarkformat"></a><a href="#cmd.subparagraphmarkformat">\subparagraphmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subparagraphmarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subparagraphmarkformat">475</a></li> <li><a name="cmd.subparagraphnumdepth"></a><a href="#cmd.subparagraphnumdepth">\subparagraphnumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.subparagraphnumdepth">120</a></li> <li><a name="cmd.subparagraphtocdepth"></a><a href="#cmd.subparagraphtocdepth">\subparagraphtocdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.subparagraphtocdepth">80</a></li> - <li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsection*">111</a></li> + <li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsection*">112</a></li> <li><a name="cmd.subsection"></a><a href="#cmd.subsection">\subsection</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsection">106</a></li> <li><a name="cmd.subsectionformat"></a><a href="#cmd.subsectionformat">\subsectionformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectionformat">116</a></li> - <li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectionmark">118</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsectionmark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsectionmark">475</a></li> - <li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectionmarkformat">118</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsectionmarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsectionmarkformat">475</a></li> + <li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectionmark">119</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsectionmark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsectionmark">475</a></li> + <li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectionmarkformat">119</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsectionmarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsectionmarkformat">475</a></li> <li><a name="cmd.subsectionnumdepth"></a><a href="#cmd.subsectionnumdepth">\subsectionnumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectionnumdepth">120</a></li> <li><a name="cmd.subsectiontocdepth"></a><a href="#cmd.subsectiontocdepth">\subsectiontocdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsectiontocdepth">80</a></li> - <li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsubsection*">111</a></li> + <li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsubsection*">112</a></li> <li><a name="cmd.subsubsection"></a><a href="#cmd.subsubsection">\subsubsection</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsubsection">106</a></li> <li><a name="cmd.subsubsectionformat"></a><a href="#cmd.subsubsectionformat">\subsubsectionformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsubsectionformat">116</a></li> - <li><a name="cmd.subsubsectionmark"></a><a href="#cmd.subsubsectionmark">\subsubsectionmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsubsectionmark">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsubsectionmark">475</a></li> - <li><a name="cmd.subsubsectionmarkformat"></a><a href="#cmd.subsubsectionmarkformat">\subsubsectionmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsubsectionmarkformat">287</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsubsectionmarkformat">475</a></li> + <li><a name="cmd.subsubsectionmark"></a><a href="#cmd.subsubsectionmark">\subsubsectionmark</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsubsectionmark">289</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsubsectionmark">475</a></li> + <li><a name="cmd.subsubsectionmarkformat"></a><a href="#cmd.subsubsectionmarkformat">\subsubsectionmarkformat</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.subsubsectionmarkformat">288</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.subsubsectionmarkformat">475</a></li> <li><a name="cmd.subsubsectionnumdepth"></a><a href="#cmd.subsubsectionnumdepth">\subsubsectionnumdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsubsectionnumdepth">120</a></li> <li><a name="cmd.subsubsectiontocdepth"></a><a href="#cmd.subsubsectiontocdepth">\subsubsectiontocdepth</a> → <a href="scrguide.pdf#desc:maincls.cmd.subsubsectiontocdepth">80</a></li> - <li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.subtitle">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.subtitle">70</a></li> + <li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.subtitle">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.subtitle">70</a></li> <li><a name="cmd.syncwithnotecolumn"></a><a href="#cmd.syncwithnotecolumn">\syncwithnotecolumn</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.syncwithnotecolumn">499</a></li> <li><a name="cmd.syncwithnotecolumns"></a><a href="#cmd.syncwithnotecolumns">\syncwithnotecolumns</a> → <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.syncwithnotecolumns">501</a></li> - <li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.tableformat">146</a></li> + <li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> → <a href="scrguide.pdf#desc:maincls.cmd.tableformat">147</a></li> <li><a name="cmd.tableofcontents"></a><a href="#cmd.tableofcontents">\tableofcontents</a> → <a href="scrguide.pdf#desc:maincls.cmd.tableofcontents">79</a></li> <li><a name="cmd.tb@/Dateierweiterung/@after@hook"></a><a href="#cmd.tb@/Dateierweiterung/@after@hook">\tb@/Dateierweiterung/@after@hook</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tb@/Dateierweiterung/@after@hook">427</a></li> <li><a name="cmd.tb@/Dateierweiterung/@before@hook"></a><a href="#cmd.tb@/Dateierweiterung/@before@hook">\tb@/Dateierweiterung/@before@hook</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tb@/Dateierweiterung/@before@hook">427</a></li> - <li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> → <a href="scrguide.pdf#desc:scrextend.cmd.thanks">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.thanks">70</a></li> - <li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumi">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumi">250</a></li> - <li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumii">250</a></li> - <li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumiii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumiii">250</a></li> - <li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumiv">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumiv">250</a></li> - <li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.thefootnotemark">247</a>, <a href="scrguide.pdf#desc:scrextend.cmd.thefootnotemark">321</a>, <a href="scrguide.pdf#desc:maincls.cmd.thefootnotemark">96</a></li> - <li><a name="cmd.thepar"></a><a href="#cmd.thepar">\thepar</a> → <a href="scrguide.pdf#desc:scrjura.cmd.thepar">335</a></li> - <li><a name="cmd.thesentence"></a><a href="#cmd.thesentence">\thesentence</a> → <a href="scrguide.pdf#desc:scrjura.cmd.thesentence">337</a></li> - <li><a name="cmd.thisletter"></a><a href="#cmd.thisletter">\thisletter</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.thisletter">182</a></li> - <li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.thispagestyle">240</a>, <a href="scrguide.pdf#desc:maincls.cmd.thispagestyle">85</a></li> - <li><a name="cmd.thistime*"></a><a href="#cmd.thistime*">\thistime*</a> → <a href="scrguide.pdf#desc:scrtime.cmd.thistime*">299</a></li> - <li><a name="cmd.thistime"></a><a href="#cmd.thistime">\thistime</a> → <a href="scrguide.pdf#desc:scrtime.cmd.thistime">299</a></li> - <li><a name="cmd.title"></a><a href="#cmd.title">\title</a> → <a href="scrguide.pdf#desc:scrextend.cmd.title">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.title">70</a></li> - <li><a name="cmd.titlehead"></a><a href="#cmd.titlehead">\titlehead</a> → <a href="scrguide.pdf#desc:scrextend.cmd.titlehead">314</a>, <a href="scrguide.pdf#desc:maincls.cmd.titlehead">70</a></li> - <li><a name="cmd.titlepagestyle"></a><a href="#cmd.titlepagestyle">\titlepagestyle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.titlepagestyle">317</a>, <a href="scrguide.pdf#desc:maincls.cmd.titlepagestyle">87</a></li> + <li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> → <a href="scrguide.pdf#desc:scrextend.cmd.thanks">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.thanks">70</a></li> + <li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumi">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumi">251</a></li> + <li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumii">251</a></li> + <li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumiii">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumiii">251</a></li> + <li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> → <a href="scrguide.pdf#desc:maincls.cmd.theenumiv">127</a>, <a href="scrguide.pdf#desc:scrlttr2.cmd.theenumiv">251</a></li> + <li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.thefootnotemark">248</a>, <a href="scrguide.pdf#desc:scrextend.cmd.thefootnotemark">322</a>, <a href="scrguide.pdf#desc:maincls.cmd.thefootnotemark">96</a></li> + <li><a name="cmd.thepar"></a><a href="#cmd.thepar">\thepar</a> → <a href="scrguide.pdf#desc:scrjura.cmd.thepar">336</a></li> + <li><a name="cmd.thesentence"></a><a href="#cmd.thesentence">\thesentence</a> → <a href="scrguide.pdf#desc:scrjura.cmd.thesentence">338</a></li> + <li><a name="cmd.thisletter"></a><a href="#cmd.thisletter">\thisletter</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.thisletter">183</a></li> + <li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.thispagestyle">241</a>, <a href="scrguide.pdf#desc:maincls.cmd.thispagestyle">85</a></li> + <li><a name="cmd.thistime*"></a><a href="#cmd.thistime*">\thistime*</a> → <a href="scrguide.pdf#desc:scrtime.cmd.thistime*">300</a></li> + <li><a name="cmd.thistime"></a><a href="#cmd.thistime">\thistime</a> → <a href="scrguide.pdf#desc:scrtime.cmd.thistime">300</a></li> + <li><a name="cmd.title"></a><a href="#cmd.title">\title</a> → <a href="scrguide.pdf#desc:scrextend.cmd.title">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.title">70</a></li> + <li><a name="cmd.titlehead"></a><a href="#cmd.titlehead">\titlehead</a> → <a href="scrguide.pdf#desc:scrextend.cmd.titlehead">315</a>, <a href="scrguide.pdf#desc:maincls.cmd.titlehead">70</a></li> + <li><a name="cmd.titlepagestyle"></a><a href="#cmd.titlepagestyle">\titlepagestyle</a> → <a href="scrguide.pdf#desc:scrextend.cmd.titlepagestyle">318</a>, <a href="scrguide.pdf#desc:maincls.cmd.titlepagestyle">87</a></li> <li><a name="cmd.tocbasic@@after@hook"></a><a href="#cmd.tocbasic@@after@hook">\tocbasic@@after@hook</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tocbasic@@after@hook">427</a></li> <li><a name="cmd.tocbasic@@before@hook"></a><a href="#cmd.tocbasic@@before@hook">\tocbasic@@before@hook</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tocbasic@@before@hook">427</a></li> <li><a name="cmd.tocbasic@DependOnPenaltyAndTOCLevel"></a><a href="#cmd.tocbasic@DependOnPenaltyAndTOCLevel">\tocbasic@DependOnPenaltyAndTOCLevel</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tocbasic@DependOnPenaltyAndTOCLevel">428</a></li> @@ -831,161 +830,161 @@ <li><a name="cmd.tocbasic@listhead@/Dateierweiterung/"></a><a href="#cmd.tocbasic@listhead@/Dateierweiterung/">\tocbasic@listhead@/Dateierweiterung/</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tocbasic@listhead@/Dateierweiterung/">428</a></li> <li><a name="cmd.tocbasic@starttoc"></a><a href="#cmd.tocbasic@starttoc">\tocbasic@starttoc</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tocbasic@starttoc">426</a></li> <li><a name="cmd.tocbasicautomode"></a><a href="#cmd.tocbasicautomode">\tocbasicautomode</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.tocbasicautomode">402</a></li> - <li><a name="cmd.todaysname"></a><a href="#cmd.todaysname">\todaysname</a> → <a href="scrguide.pdf#desc:scrdate.cmd.todaysname">296</a></li> - <li><a name="cmd.todaysnumber"></a><a href="#cmd.todaysnumber">\todaysnumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.todaysnumber">296</a></li> + <li><a name="cmd.todaysname"></a><a href="#cmd.todaysname">\todaysname</a> → <a href="scrguide.pdf#desc:scrdate.cmd.todaysname">297</a></li> + <li><a name="cmd.todaysnumber"></a><a href="#cmd.todaysnumber">\todaysnumber</a> → <a href="scrguide.pdf#desc:scrdate.cmd.todaysnumber">297</a></li> <li><a name="cmd.toplevelpagestyle"></a><a href="#cmd.toplevelpagestyle">\toplevelpagestyle</a> → <a href="scrguide.pdf#desc:scrlayer.cmd.toplevelpagestyle">461</a></li> <li><a name="cmd.typearea"></a><a href="#cmd.typearea">\typearea</a> → <a href="scrguide.pdf#desc:typearea.cmd.typearea">41</a></li> <li><a name="cmd.unsettoc"></a><a href="#cmd.unsettoc">\unsettoc</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.unsettoc">407</a></li> - <li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> → <a href="scrguide.pdf#desc:scrextend.cmd.uppertitleback">316</a>, <a href="scrguide.pdf#desc:maincls.cmd.uppertitleback">73</a></li> - <li><a name="cmd.useencodingofkomafont"></a><a href="#cmd.useencodingofkomafont">\useencodingofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useencodingofkomafont">195</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.useencodingofkomafont">270</a>, <a href="scrguide.pdf#desc:scrextend.cmd.useencodingofkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.useencodingofkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.useencodingofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.useencodingofkomafont">66</a></li> - <li><a name="cmd.usefamilyofkomafont"></a><a href="#cmd.usefamilyofkomafont">\usefamilyofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usefamilyofkomafont">195</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usefamilyofkomafont">270</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usefamilyofkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usefamilyofkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usefamilyofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.usefamilyofkomafont">66</a></li> - <li><a name="cmd.usefontofkomafont"></a><a href="#cmd.usefontofkomafont">\usefontofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usefontofkomafont">195</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usefontofkomafont">270</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usefontofkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usefontofkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usefontofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.usefontofkomafont">66</a></li> - <li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usekomafont">191</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usekomafont">268</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usekomafont">310</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usekomafont">327</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usekomafont">491</a>, <a href="scrguide.pdf#desc:maincls.cmd.usekomafont">61</a></li> - <li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usekomavar*">171</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.usekomavar*">540</a></li> - <li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usekomavar">171</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.usekomavar">540</a></li> - <li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usepackage">162</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usepackage">265</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usepackage">307</a>, <a href="scrguide.pdf#desc:typearea.cmd.usepackage">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usepackage">326</a>, <a href="scrguide.pdf#desc:scrhack.cmd.usepackage">439</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.usepackage">445</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usepackage">489</a>, <a href="scrguide.pdf#desc:maincls.cmd.usepackage">56</a></li> - <li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useplength">176</a></li> - <li><a name="cmd.useseriesofkomafont"></a><a href="#cmd.useseriesofkomafont">\useseriesofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useseriesofkomafont">195</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.useseriesofkomafont">270</a>, <a href="scrguide.pdf#desc:scrextend.cmd.useseriesofkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.useseriesofkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.useseriesofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.useseriesofkomafont">66</a></li> - <li><a name="cmd.useshapeofkomafont"></a><a href="#cmd.useshapeofkomafont">\useshapeofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useshapeofkomafont">195</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.useshapeofkomafont">270</a>, <a href="scrguide.pdf#desc:scrextend.cmd.useshapeofkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.useshapeofkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.useshapeofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.useshapeofkomafont">66</a></li> - <li><a name="cmd.usesizeofkomafont"></a><a href="#cmd.usesizeofkomafont">\usesizeofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usesizeofkomafont">195</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usesizeofkomafont">270</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usesizeofkomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usesizeofkomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usesizeofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.usesizeofkomafont">66</a></li> + <li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> → <a href="scrguide.pdf#desc:scrextend.cmd.uppertitleback">317</a>, <a href="scrguide.pdf#desc:maincls.cmd.uppertitleback">73</a></li> + <li><a name="cmd.useencodingofkomafont"></a><a href="#cmd.useencodingofkomafont">\useencodingofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useencodingofkomafont">196</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.useencodingofkomafont">271</a>, <a href="scrguide.pdf#desc:scrextend.cmd.useencodingofkomafont">312</a>, <a href="scrguide.pdf#desc:scrjura.cmd.useencodingofkomafont">329</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.useencodingofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.useencodingofkomafont">66</a></li> + <li><a name="cmd.usefamilyofkomafont"></a><a href="#cmd.usefamilyofkomafont">\usefamilyofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usefamilyofkomafont">196</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usefamilyofkomafont">271</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usefamilyofkomafont">312</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usefamilyofkomafont">329</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usefamilyofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.usefamilyofkomafont">66</a></li> + <li><a name="cmd.usefontofkomafont"></a><a href="#cmd.usefontofkomafont">\usefontofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usefontofkomafont">196</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usefontofkomafont">271</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usefontofkomafont">312</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usefontofkomafont">329</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usefontofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.usefontofkomafont">66</a></li> + <li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usekomafont">192</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usekomafont">269</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usekomafont">311</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usekomafont">328</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usekomafont">491</a>, <a href="scrguide.pdf#desc:maincls.cmd.usekomafont">61</a></li> + <li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usekomavar*">172</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.usekomavar*">541</a></li> + <li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usekomavar">172</a>, <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.usekomavar">541</a></li> + <li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usepackage">163</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usepackage">266</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usepackage">308</a>, <a href="scrguide.pdf#desc:typearea.cmd.usepackage">32</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usepackage">327</a>, <a href="scrguide.pdf#desc:scrhack.cmd.usepackage">439</a>, <a href="scrguide.pdf#desc:scrlayer.cmd.usepackage">445</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usepackage">489</a>, <a href="scrguide.pdf#desc:maincls.cmd.usepackage">56</a></li> + <li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useplength">177</a></li> + <li><a name="cmd.useseriesofkomafont"></a><a href="#cmd.useseriesofkomafont">\useseriesofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useseriesofkomafont">196</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.useseriesofkomafont">271</a>, <a href="scrguide.pdf#desc:scrextend.cmd.useseriesofkomafont">312</a>, <a href="scrguide.pdf#desc:scrjura.cmd.useseriesofkomafont">329</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.useseriesofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.useseriesofkomafont">66</a></li> + <li><a name="cmd.useshapeofkomafont"></a><a href="#cmd.useshapeofkomafont">\useshapeofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.useshapeofkomafont">196</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.useshapeofkomafont">271</a>, <a href="scrguide.pdf#desc:scrextend.cmd.useshapeofkomafont">312</a>, <a href="scrguide.pdf#desc:scrjura.cmd.useshapeofkomafont">329</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.useshapeofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.useshapeofkomafont">66</a></li> + <li><a name="cmd.usesizeofkomafont"></a><a href="#cmd.usesizeofkomafont">\usesizeofkomafont</a> → <a href="scrguide.pdf#desc:scrlttr2.cmd.usesizeofkomafont">196</a>, <a href="scrguide.pdf#desc:scrlayer-scrpage.cmd.usesizeofkomafont">271</a>, <a href="scrguide.pdf#desc:scrextend.cmd.usesizeofkomafont">312</a>, <a href="scrguide.pdf#desc:scrjura.cmd.usesizeofkomafont">329</a>, <a href="scrguide.pdf#desc:scrlayer-notecolumn.cmd.usesizeofkomafont">492</a>, <a href="scrguide.pdf#desc:maincls.cmd.usesizeofkomafont">66</a></li> <li><a name="cmd.usetocbasicnumberline"></a><a href="#cmd.usetocbasicnumberline">\usetocbasicnumberline</a> → <a href="scrguide.pdf#desc:tocbasic.cmd.usetocbasicnumberline">411</a></li> - <li><a name="cmd.withoutparnumber"></a><a href="#cmd.withoutparnumber">\withoutparnumber</a> → <a href="scrguide.pdf#desc:scrjura.cmd.withoutparnumber">336</a></li> - <li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.wwwname">546</a></li> - <li><a name="cmd.yourmailname"></a><a href="#cmd.yourmailname">\yourmailname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.yourmailname">546</a></li> - <li><a name="cmd.yourrefname"></a><a href="#cmd.yourrefname">\yourrefname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.yourrefname">546</a></li> + <li><a name="cmd.withoutparnumber"></a><a href="#cmd.withoutparnumber">\withoutparnumber</a> → <a href="scrguide.pdf#desc:scrjura.cmd.withoutparnumber">337</a></li> + <li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.wwwname">547</a></li> + <li><a name="cmd.yourmailname"></a><a href="#cmd.yourmailname">\yourmailname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.yourmailname">547</a></li> + <li><a name="cmd.yourrefname"></a><a href="#cmd.yourrefname">\yourrefname</a> → <a href="scrguide.pdf#desc:scrlttr2-experts.cmd.yourrefname">547</a></li> </ul> <h2><a name="environment">Umgebungen</a></h2> <ul> <li><a name="env.abstract"></a><a href="#env.abstract">abstract</a> → <a href="scrguide.pdf#desc:maincls.env.abstract">74</a></li> - <li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> → <a href="scrguide.pdf#desc:maincls.env.addmargin*">133</a>, <a href="scrguide.pdf#desc:scrlttr2.env.addmargin*">251</a>, <a href="scrguide.pdf#desc:scrextend.env.addmargin*">324</a></li> - <li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> → <a href="scrguide.pdf#desc:maincls.env.addmargin">133</a>, <a href="scrguide.pdf#desc:scrlttr2.env.addmargin">251</a>, <a href="scrguide.pdf#desc:scrextend.env.addmargin">324</a></li> - <li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> → <a href="scrguide.pdf#desc:maincls.env.captionbeside">142</a></li> - <li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> → <a href="scrguide.pdf#desc:maincls.env.captionofbeside">145</a></li> - <li><a name="env.contract"></a><a href="#env.contract">contract</a> → <a href="scrguide.pdf#desc:scrjura.env.contract">330</a></li> - <li><a name="env.description"></a><a href="#env.description">description</a> → <a href="scrguide.pdf#desc:maincls.env.description">128</a>, <a href="scrguide.pdf#desc:scrlttr2.env.description">250</a></li> - <li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> → <a href="scrguide.pdf#desc:maincls.env.enumerate">127</a>, <a href="scrguide.pdf#desc:scrlttr2.env.enumerate">250</a></li> - <li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> → <a href="scrguide.pdf#desc:maincls.env.itemize">125</a>, <a href="scrguide.pdf#desc:scrlttr2.env.itemize">249</a></li> - <li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> → <a href="scrguide.pdf#desc:maincls.env.labeling">129</a>, <a href="scrguide.pdf#desc:scrlttr2.env.labeling">250</a>, <a href="scrguide.pdf#desc:scrextend.env.labeling">323</a></li> - <li><a name="env.letter"></a><a href="#env.letter">letter</a> → <a href="scrguide.pdf#desc:scrlttr2.env.letter">180</a></li> - <li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> → <a href="scrguide.pdf#desc:maincls.env.quotation">131</a>, <a href="scrguide.pdf#desc:scrlttr2.env.quotation">251</a></li> - <li><a name="env.quote"></a><a href="#env.quote">quote</a> → <a href="scrguide.pdf#desc:maincls.env.quote">131</a>, <a href="scrguide.pdf#desc:scrlttr2.env.quote">251</a></li> - <li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> → <a href="scrguide.pdf#desc:scrextend.env.titlepage">313</a>, <a href="scrguide.pdf#desc:maincls.env.titlepage">68</a></li> - <li><a name="env.verse"></a><a href="#env.verse">verse</a> → <a href="scrguide.pdf#desc:maincls.env.verse">130</a>, <a href="scrguide.pdf#desc:scrlttr2.env.verse">251</a></li> + <li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> → <a href="scrguide.pdf#desc:maincls.env.addmargin*">133</a>, <a href="scrguide.pdf#desc:scrlttr2.env.addmargin*">252</a>, <a href="scrguide.pdf#desc:scrextend.env.addmargin*">325</a></li> + <li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> → <a href="scrguide.pdf#desc:maincls.env.addmargin">133</a>, <a href="scrguide.pdf#desc:scrlttr2.env.addmargin">252</a>, <a href="scrguide.pdf#desc:scrextend.env.addmargin">325</a></li> + <li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> → <a href="scrguide.pdf#desc:maincls.env.captionbeside">143</a></li> + <li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> → <a href="scrguide.pdf#desc:maincls.env.captionofbeside">146</a></li> + <li><a name="env.contract"></a><a href="#env.contract">contract</a> → <a href="scrguide.pdf#desc:scrjura.env.contract">331</a></li> + <li><a name="env.description"></a><a href="#env.description">description</a> → <a href="scrguide.pdf#desc:maincls.env.description">128</a>, <a href="scrguide.pdf#desc:scrlttr2.env.description">251</a></li> + <li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> → <a href="scrguide.pdf#desc:maincls.env.enumerate">127</a>, <a href="scrguide.pdf#desc:scrlttr2.env.enumerate">251</a></li> + <li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> → <a href="scrguide.pdf#desc:maincls.env.itemize">125</a>, <a href="scrguide.pdf#desc:scrlttr2.env.itemize">250</a></li> + <li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> → <a href="scrguide.pdf#desc:maincls.env.labeling">129</a>, <a href="scrguide.pdf#desc:scrlttr2.env.labeling">251</a>, <a href="scrguide.pdf#desc:scrextend.env.labeling">325</a></li> + <li><a name="env.letter"></a><a href="#env.letter">letter</a> → <a href="scrguide.pdf#desc:scrlttr2.env.letter">181</a></li> + <li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> → <a href="scrguide.pdf#desc:maincls.env.quotation">132</a>, <a href="scrguide.pdf#desc:scrlttr2.env.quotation">252</a></li> + <li><a name="env.quote"></a><a href="#env.quote">quote</a> → <a href="scrguide.pdf#desc:maincls.env.quote">132</a>, <a href="scrguide.pdf#desc:scrlttr2.env.quote">252</a></li> + <li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> → <a href="scrguide.pdf#desc:scrextend.env.titlepage">314</a>, <a href="scrguide.pdf#desc:maincls.env.titlepage">68</a></li> + <li><a name="env.verse"></a><a href="#env.verse">verse</a> → <a href="scrguide.pdf#desc:maincls.env.verse">130</a>, <a href="scrguide.pdf#desc:scrlttr2.env.verse">252</a></li> </ul> <h2><a name="length">Längen</a></h2> <ul> - <li><a name="length.footheight"></a><a href="#length.footheight">footheight</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.length.footheight">267</a>, <a href="scrguide.pdf#desc:typearea.length.footheight">46</a>, <a href="scrguide.pdf#desc:scrlayer.length.footheight">471</a></li> - <li><a name="length.headheight"></a><a href="#length.headheight">headheight</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.length.headheight">267</a>, <a href="scrguide.pdf#desc:scrlayer.length.headheight">471</a></li> + <li><a name="length.footheight"></a><a href="#length.footheight">footheight</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.length.footheight">268</a>, <a href="scrguide.pdf#desc:typearea.length.footheight">46</a>, <a href="scrguide.pdf#desc:scrlayer.length.footheight">471</a></li> + <li><a name="length.headheight"></a><a href="#length.headheight">headheight</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.length.headheight">268</a>, <a href="scrguide.pdf#desc:scrlayer.length.headheight">471</a></li> </ul> <h2><a name="plength">Pseudolängen</a></h2> <ul> - <li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.PPdatamatrixvskip">220</a></li> - <li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.PPheadheight">219</a></li> - <li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.PPheadwidth">219</a></li> - <li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.backaddrheight">219</a></li> - <li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.bfoldmarklength">200</a></li> - <li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.bfoldmarkvpos">198</a></li> - <li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstfoothpos">236</a></li> - <li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstfootvpos">236</a></li> - <li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstfootwidth">236</a></li> - <li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstheadhpos">201</a></li> - <li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstheadvpos">201</a></li> - <li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstheadwidth">202</a></li> - <li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.foldmarkhpos">200</a></li> - <li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.foldmarkthickness">201</a></li> - <li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.foldmarkvpos">200</a></li> - <li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.fromrulethickness">206</a></li> - <li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.fromrulewidth">206</a></li> - <li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.lfoldmarkhpos">200</a></li> - <li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.lfoldmarklength">200</a></li> - <li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.locheight">221</a></li> - <li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.lochpos">221</a></li> - <li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.locvpos">221</a></li> - <li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.locwidth">221</a></li> - <li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.mfoldmarklength">200</a></li> - <li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.mfoldmarkvpos">198</a></li> - <li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.pfoldmarklength">200</a></li> - <li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refaftervskip">227</a></li> - <li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refhpos">226</a></li> - <li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refvpos">225</a></li> - <li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refwidth">226</a></li> - <li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.sigbeforevskip">233</a></li> - <li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.sigindent">233</a></li> - <li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.specialmailindent">219</a></li> - <li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.specialmailrightindent">219</a></li> - <li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.subjectaftervskip">231</a></li> - <li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.subjectbeforevskip">231</a></li> - <li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.subjectvpos">230</a></li> - <li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.tfoldmarklength">200</a></li> - <li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.tfoldmarkvpos">198</a></li> - <li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrheight">218</a></li> - <li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrhpos">217</a></li> - <li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrindent">218</a></li> - <li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrvpos">217</a></li> - <li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrwidth">218</a></li> + <li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.PPdatamatrixvskip">221</a></li> + <li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.PPheadheight">220</a></li> + <li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.PPheadwidth">220</a></li> + <li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.backaddrheight">220</a></li> + <li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.bfoldmarklength">201</a></li> + <li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.bfoldmarkvpos">199</a></li> + <li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstfoothpos">237</a></li> + <li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstfootvpos">237</a></li> + <li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstfootwidth">237</a></li> + <li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstheadhpos">202</a></li> + <li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstheadvpos">202</a></li> + <li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.firstheadwidth">203</a></li> + <li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.foldmarkhpos">201</a></li> + <li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.foldmarkthickness">202</a></li> + <li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.foldmarkvpos">201</a></li> + <li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.fromrulethickness">207</a></li> + <li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.fromrulewidth">207</a></li> + <li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.lfoldmarkhpos">201</a></li> + <li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.lfoldmarklength">201</a></li> + <li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.locheight">222</a></li> + <li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.lochpos">222</a></li> + <li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.locvpos">222</a></li> + <li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.locwidth">222</a></li> + <li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.mfoldmarklength">201</a></li> + <li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.mfoldmarkvpos">199</a></li> + <li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.pfoldmarklength">201</a></li> + <li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refaftervskip">228</a></li> + <li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refhpos">227</a></li> + <li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refvpos">226</a></li> + <li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.refwidth">227</a></li> + <li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.sigbeforevskip">234</a></li> + <li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.sigindent">234</a></li> + <li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.specialmailindent">220</a></li> + <li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.specialmailrightindent">220</a></li> + <li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.subjectaftervskip">232</a></li> + <li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.subjectbeforevskip">232</a></li> + <li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.subjectvpos">231</a></li> + <li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.tfoldmarklength">201</a></li> + <li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.tfoldmarkvpos">199</a></li> + <li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrheight">219</a></li> + <li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrhpos">218</a></li> + <li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrindent">219</a></li> + <li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrvpos">218</a></li> + <li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> → <a href="scrguide.pdf#desc:scrlttr2.plength.toaddrwidth">219</a></li> </ul> <h2><a name="variable">Variablen</a></h2> <ul> - <li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.PPcode">214</a></li> - <li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.PPdatamatrix">214</a></li> - <li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.addresseeimage">214</a></li> - <li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.backaddress">214</a></li> - <li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.backaddressseparator">214</a></li> - <li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.ccseparator">185</a></li> - <li><a name="variable.customer"></a><a href="#variable.customer">customer</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.customer">223</a></li> - <li><a name="variable.date"></a><a href="#variable.date">date</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.date">223</a></li> - <li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.emailseparator">207</a></li> - <li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.enclseparator">187</a></li> - <li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.faxseparator">207</a></li> - <li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.firstfoot">234</a></li> - <li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.firsthead">212</a></li> - <li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromaddress">203</a></li> - <li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.frombank">235</a></li> - <li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromemail">207</a></li> - <li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromfax">207</a></li> - <li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromlogo">211</a></li> - <li><a name="variable.frommobilephone"></a><a href="#variable.frommobilephone">frommobilephone</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.frommobilephone">207</a></li> - <li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromname">203</a></li> - <li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromphone">207</a></li> - <li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromurl">207</a></li> - <li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromzipcode">214</a></li> - <li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.invoice">223</a></li> - <li><a name="variable.location"></a><a href="#variable.location">location</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.location">220</a></li> - <li><a name="variable.mobilephoneseparator"></a><a href="#variable.mobilephoneseparator">mobilephoneseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.mobilephoneseparator">207</a></li> - <li><a name="variable.myref"></a><a href="#variable.myref">myref</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.myref">223</a></li> - <li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.nextfoot">243</a></li> - <li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.nexthead">243</a></li> - <li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.phoneseparator">207</a></li> - <li><a name="variable.place"></a><a href="#variable.place">place</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.place">214</a></li> - <li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.placeseparator">224</a></li> - <li><a name="variable.signature"></a><a href="#variable.signature">signature</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.signature">231</a></li> - <li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.specialmail">214</a></li> - <li><a name="variable.subject"></a><a href="#variable.subject">subject</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.subject">227</a></li> - <li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.subjectseparator">227</a></li> - <li><a name="variable.title"></a><a href="#variable.title">title</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.title">227</a></li> - <li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.toaddress">214</a></li> - <li><a name="variable.toname"></a><a href="#variable.toname">toname</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.toname">214</a></li> - <li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.urlseparator">207</a></li> - <li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.yourmail">223</a></li> - <li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.yourref">223</a></li> - <li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.zipcodeseparator">214</a></li> + <li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.PPcode">215</a></li> + <li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.PPdatamatrix">215</a></li> + <li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.addresseeimage">215</a></li> + <li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.backaddress">215</a></li> + <li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.backaddressseparator">215</a></li> + <li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.ccseparator">186</a></li> + <li><a name="variable.customer"></a><a href="#variable.customer">customer</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.customer">224</a></li> + <li><a name="variable.date"></a><a href="#variable.date">date</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.date">224</a></li> + <li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.emailseparator">208</a></li> + <li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.enclseparator">188</a></li> + <li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.faxseparator">208</a></li> + <li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.firstfoot">235</a></li> + <li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.firsthead">213</a></li> + <li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromaddress">204</a></li> + <li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.frombank">236</a></li> + <li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromemail">208</a></li> + <li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromfax">208</a></li> + <li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromlogo">212</a></li> + <li><a name="variable.frommobilephone"></a><a href="#variable.frommobilephone">frommobilephone</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.frommobilephone">208</a></li> + <li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromname">204</a></li> + <li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromphone">208</a></li> + <li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromurl">208</a></li> + <li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.fromzipcode">215</a></li> + <li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.invoice">224</a></li> + <li><a name="variable.location"></a><a href="#variable.location">location</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.location">221</a></li> + <li><a name="variable.mobilephoneseparator"></a><a href="#variable.mobilephoneseparator">mobilephoneseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.mobilephoneseparator">208</a></li> + <li><a name="variable.myref"></a><a href="#variable.myref">myref</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.myref">224</a></li> + <li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.nextfoot">244</a></li> + <li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.nexthead">244</a></li> + <li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.phoneseparator">208</a></li> + <li><a name="variable.place"></a><a href="#variable.place">place</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.place">215</a></li> + <li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.placeseparator">225</a></li> + <li><a name="variable.signature"></a><a href="#variable.signature">signature</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.signature">232</a></li> + <li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.specialmail">215</a></li> + <li><a name="variable.subject"></a><a href="#variable.subject">subject</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.subject">228</a></li> + <li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.subjectseparator">228</a></li> + <li><a name="variable.title"></a><a href="#variable.title">title</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.title">228</a></li> + <li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.toaddress">215</a></li> + <li><a name="variable.toname"></a><a href="#variable.toname">toname</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.toname">215</a></li> + <li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.urlseparator">208</a></li> + <li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.yourmail">224</a></li> + <li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.yourref">224</a></li> + <li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> → <a href="scrguide.pdf#desc:scrlttr2.variable.zipcodeseparator">215</a></li> </ul> <h2><a name="pagestyle">Seitenstile</a></h2> <ul> <li><a name="pagestyle.@everystyle@"></a><a href="#pagestyle.@everystyle@">@everystyle@</a> → <a href="scrguide.pdf#desc:scrlayer.pagestyle.@everystyle@">466</a></li> - <li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.empty">240</a>, <a href="scrguide.pdf#desc:scrlayer.pagestyle.empty">466</a></li> - <li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.headings">240</a></li> - <li><a name="pagestyle.letter"></a><a href="#pagestyle.letter">letter</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.letter">242</a></li> - <li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.myheadings">242</a></li> - <li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.plain">242</a></li> - <li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.pagestyle.scrheadings">271</a></li> + <li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.empty">241</a>, <a href="scrguide.pdf#desc:scrlayer.pagestyle.empty">466</a></li> + <li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.headings">241</a></li> + <li><a name="pagestyle.letter"></a><a href="#pagestyle.letter">letter</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.letter">243</a></li> + <li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.myheadings">243</a></li> + <li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> → <a href="scrguide.pdf#desc:scrlttr2.pagestyle.plain">243</a></li> + <li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> → <a href="scrguide.pdf#desc:scrlayer-scrpage.pagestyle.scrheadings">272</a></li> </ul> <h2><a name="counter">Zähler</a></h2> <ul> - <li><a name="counter.letter"></a><a href="#counter.letter">letter</a> → <a href="scrguide.pdf#desc:scrlttr2.counter.letter">182</a></li> - <li><a name="counter.par"></a><a href="#counter.par">par</a> → <a href="scrguide.pdf#desc:scrjura.counter.par">335</a></li> + <li><a name="counter.letter"></a><a href="#counter.letter">letter</a> → <a href="scrguide.pdf#desc:scrlttr2.counter.letter">183</a></li> + <li><a name="counter.par"></a><a href="#counter.par">par</a> → <a href="scrguide.pdf#desc:scrjura.counter.par">336</a></li> <li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> → <a href="scrguide.pdf#desc:maincls.counter.secnumdepth">120</a></li> - <li><a name="counter.sentence"></a><a href="#counter.sentence">sentence</a> → <a href="scrguide.pdf#desc:scrjura.counter.sentence">337</a></li> + <li><a name="counter.sentence"></a><a href="#counter.sentence">sentence</a> → <a href="scrguide.pdf#desc:scrjura.counter.sentence">338</a></li> <li><a name="counter.tocdepth"></a><a href="#counter.tocdepth">tocdepth</a> → <a href="scrguide.pdf#desc:tocbasic.counter.tocdepth">411</a>, <a href="scrguide.pdf#desc:maincls.counter.tocdepth">80</a></li> </ul> <h2><a name="floatstyle">Stile für das float-Paket</a></h2> diff --git a/macros/latex/contrib/koma-script/doc/scrguide.pdf b/macros/latex/contrib/koma-script/doc/scrguide.pdf Binary files differindex 1600763c61..7ef0df9add 100644 --- a/macros/latex/contrib/koma-script/doc/scrguide.pdf +++ b/macros/latex/contrib/koma-script/doc/scrguide.pdf diff --git a/macros/latex/contrib/koma-script/doc/scrguien.html b/macros/latex/contrib/koma-script/doc/scrguien.html index a954b2e63d..44c64b7cae 100644 --- a/macros/latex/contrib/koma-script/doc/scrguien.html +++ b/macros/latex/contrib/koma-script/doc/scrguien.html @@ -23,74 +23,74 @@ <li><a name="option.BCOR"></a><a href="#option.BCOR">BCOR</a> → <a href="scrguien.pdf#desc:typearea.option.BCOR">34</a></li> <li><a name="option.DIV"></a><a href="#option.DIV">DIV</a> → <a href="scrguien.pdf#desc:typearea.option.DIV">35</a></li> <li><a name="option.abstract"></a><a href="#option.abstract">abstract</a> → <a href="scrguien.pdf#desc:maincls.option.abstract">72</a></li> - <li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> → <a href="scrguien.pdf#desc:scrlttr2.option.addrfield">204</a></li> + <li><a name="option.addrfield"></a><a href="#option.addrfield">addrfield</a> → <a href="scrguien.pdf#desc:scrlttr2.option.addrfield">205</a></li> <li><a name="option.adrFreeIVempty"></a><a href="#option.adrFreeIVempty">adrFreeIVempty</a> → <a href="scrguien.pdf#desc:scraddr.option.adrFreeIVempty">289</a></li> <li><a name="option.adrFreeIVshow"></a><a href="#option.adrFreeIVshow">adrFreeIVshow</a> → <a href="scrguien.pdf#desc:scraddr.option.adrFreeIVshow">289</a></li> <li><a name="option.adrFreeIVstop"></a><a href="#option.adrFreeIVstop">adrFreeIVstop</a> → <a href="scrguien.pdf#desc:scraddr.option.adrFreeIVstop">289</a></li> <li><a name="option.adrFreeIVwarn"></a><a href="#option.adrFreeIVwarn">adrFreeIVwarn</a> → <a href="scrguien.pdf#desc:scraddr.option.adrFreeIVwarn">289</a></li> - <li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> → <a href="scrguien.pdf#desc:maincls.option.appendixprefix">96</a></li> + <li><a name="option.appendixprefix"></a><a href="#option.appendixprefix">appendixprefix</a> → <a href="scrguien.pdf#desc:maincls.option.appendixprefix">97</a></li> <li><a name="option.areasetadvanced"></a><a href="#option.areasetadvanced">areasetadvanced</a> → <a href="scrguien.pdf#desc:typearea-experts.option.areasetadvanced">473</a></li> <li><a name="option.autoclearnotecolumns"></a><a href="#option.autoclearnotecolumns">autoclearnotecolumns</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.option.autoclearnotecolumns">470</a></li> <li><a name="option.autoenlargeheadfoot"></a><a href="#option.autoenlargeheadfoot">autoenlargeheadfoot</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.autoenlargeheadfoot">256</a></li> <li><a name="option.automark"></a><a href="#option.automark">automark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.automark">271</a>, <a href="scrguien.pdf#desc:scrlayer.option.automark">443</a></li> <li><a name="option.autooneside"></a><a href="#option.autooneside">autooneside</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.autooneside">271</a>, <a href="scrguien.pdf#desc:scrlayer.option.autooneside">443</a></li> - <li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.option.backaddress">204</a></li> - <li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> → <a href="scrguien.pdf#desc:maincls.option.bibliography">147</a></li> - <li><a name="option.captions"></a><a href="#option.captions">captions</a> → <a href="scrguien.pdf#desc:maincls.option.captions">128</a></li> + <li><a name="option.backaddress"></a><a href="#option.backaddress">backaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.option.backaddress">205</a></li> + <li><a name="option.bibliography"></a><a href="#option.bibliography">bibliography</a> → <a href="scrguien.pdf#desc:maincls.option.bibliography">148</a></li> + <li><a name="option.captions"></a><a href="#option.captions">captions</a> → <a href="scrguien.pdf#desc:maincls.option.captions">129</a></li> <li><a name="option.chapteratlists"></a><a href="#option.chapteratlists">chapteratlists</a> → <a href="scrguien.pdf#desc:maincls.option.chapteratlists">100</a></li> <li><a name="option.chapterentrydots"></a><a href="#option.chapterentrydots">chapterentrydots</a> → <a href="scrguien.pdf#desc:maincls.option.chapterentrydots">75</a></li> - <li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> → <a href="scrguien.pdf#desc:maincls.option.chapterprefix">96</a></li> + <li><a name="option.chapterprefix"></a><a href="#option.chapterprefix">chapterprefix</a> → <a href="scrguien.pdf#desc:maincls.option.chapterprefix">97</a></li> <li><a name="option.clausemark"></a><a href="#option.clausemark">clausemark</a> → <a href="scrguien.pdf#desc:scrjura.option.clausemark">316</a></li> - <li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> → <a href="scrguien.pdf#desc:scrlttr2.option.cleardoublepage">233</a>, <a href="scrguien.pdf#desc:scrextend.option.cleardoublepage">302</a>, <a href="scrguien.pdf#desc:maincls.option.cleardoublepage">87</a></li> + <li><a name="option.cleardoublepage"></a><a href="#option.cleardoublepage">cleardoublepage</a> → <a href="scrguien.pdf#desc:scrlttr2.option.cleardoublepage">234</a>, <a href="scrguien.pdf#desc:scrextend.option.cleardoublepage">302</a>, <a href="scrguien.pdf#desc:maincls.option.cleardoublepage">87</a></li> <li><a name="option.clines"></a><a href="#option.clines">clines</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.clines">278</a></li> <li><a name="option.contract"></a><a href="#option.contract">contract</a> → <a href="scrguien.pdf#desc:scrjura.option.contract">314</a></li> <li><a name="option.deactivatepagestylelayers"></a><a href="#option.deactivatepagestylelayers">deactivatepagestylelayers</a> → <a href="scrguien.pdf#desc:scrlayer.option.deactivatepagestylelayers">438</a></li> - <li><a name="option.draft"></a><a href="#option.draft">draft</a> → <a href="scrguien.pdf#desc:scrlttr2.option.draft">155</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.option.draft">272</a>, <a href="scrguien.pdf#desc:scrextend.option.draft">294</a>, <a href="scrguien.pdf#desc:scrlayer.option.draft">432</a>, <a href="scrguien.pdf#desc:maincls.option.draft">57</a></li> - <li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> → <a href="scrguien.pdf#desc:scrlttr2.option.enlargefirstpage">224</a></li> + <li><a name="option.draft"></a><a href="#option.draft">draft</a> → <a href="scrguien.pdf#desc:scrlttr2.option.draft">156</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.option.draft">272</a>, <a href="scrguien.pdf#desc:scrextend.option.draft">294</a>, <a href="scrguien.pdf#desc:scrlayer.option.draft">432</a>, <a href="scrguien.pdf#desc:maincls.option.draft">57</a></li> + <li><a name="option.enlargefirstpage"></a><a href="#option.enlargefirstpage">enlargefirstpage</a> → <a href="scrguien.pdf#desc:scrlttr2.option.enlargefirstpage">225</a></li> <li><a name="option.extendedfeature"></a><a href="#option.extendedfeature">extendedfeature</a> → <a href="scrguien.pdf#desc:scrextend.option.extendedfeature">293</a></li> - <li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> → <a href="scrguien.pdf#desc:scrlttr2.option.firstfoot">224</a></li> - <li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> → <a href="scrguien.pdf#desc:scrlttr2.option.firsthead">190</a></li> - <li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> → <a href="scrguien.pdf#desc:maincls.option.fleqn">127</a></li> - <li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> → <a href="scrguien.pdf#desc:scrlttr2.option.foldmarks">185</a></li> - <li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fontsize">178</a>, <a href="scrguien.pdf#desc:scrextend.option.fontsize">294</a>, <a href="scrguien.pdf#desc:maincls.option.fontsize">58</a></li> + <li><a name="option.firstfoot"></a><a href="#option.firstfoot">firstfoot</a> → <a href="scrguien.pdf#desc:scrlttr2.option.firstfoot">225</a></li> + <li><a name="option.firsthead"></a><a href="#option.firsthead">firsthead</a> → <a href="scrguien.pdf#desc:scrlttr2.option.firsthead">191</a></li> + <li><a name="option.fleqn"></a><a href="#option.fleqn">fleqn</a> → <a href="scrguien.pdf#desc:maincls.option.fleqn">128</a></li> + <li><a name="option.foldmarks"></a><a href="#option.foldmarks">foldmarks</a> → <a href="scrguien.pdf#desc:scrlttr2.option.foldmarks">186</a></li> + <li><a name="option.fontsize"></a><a href="#option.fontsize">fontsize</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fontsize">179</a>, <a href="scrguien.pdf#desc:scrextend.option.fontsize">294</a>, <a href="scrguien.pdf#desc:maincls.option.fontsize">58</a></li> <li><a name="option.footbotline"></a><a href="#option.footbotline">footbotline</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.footbotline">278</a></li> <li><a name="option.footheight"></a><a href="#option.footheight">footheight</a> → <a href="scrguien.pdf#desc:typearea.option.footheight">46</a></li> <li><a name="option.footinclude"></a><a href="#option.footinclude">footinclude</a> → <a href="scrguien.pdf#desc:typearea.option.footinclude">43</a></li> <li><a name="option.footlines"></a><a href="#option.footlines">footlines</a> → <a href="scrguien.pdf#desc:typearea.option.footlines">46</a></li> - <li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> → <a href="scrguien.pdf#desc:scrlttr2.option.footnotes">235</a>, <a href="scrguien.pdf#desc:scrextend.option.footnotes">303</a>, <a href="scrguien.pdf#desc:maincls.option.footnotes">90</a></li> - <li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> → <a href="scrguien.pdf#desc:scrlttr2.option.footsepline">229</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.option.footsepline">278</a>, <a href="scrguien.pdf#desc:maincls.option.footsepline">81</a></li> + <li><a name="option.footnotes"></a><a href="#option.footnotes">footnotes</a> → <a href="scrguien.pdf#desc:scrlttr2.option.footnotes">236</a>, <a href="scrguien.pdf#desc:scrextend.option.footnotes">303</a>, <a href="scrguien.pdf#desc:maincls.option.footnotes">90</a></li> + <li><a name="option.footsepline"></a><a href="#option.footsepline">footsepline</a> → <a href="scrguien.pdf#desc:scrlttr2.option.footsepline">230</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.option.footsepline">278</a>, <a href="scrguien.pdf#desc:maincls.option.footsepline">81</a></li> <li><a name="option.footwidth"></a><a href="#option.footwidth">footwidth</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.footwidth">276</a></li> - <li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromalign">191</a></li> - <li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromemail">197</a></li> - <li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromfax">197</a></li> - <li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromlogo">201</a></li> - <li><a name="option.frommobilephone"></a><a href="#option.frommobilephone">frommobilephone</a> → <a href="scrguien.pdf#desc:scrlttr2.option.frommobilephone">197</a></li> - <li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromphone">197</a></li> - <li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromrule">191</a></li> - <li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromurl">197</a></li> + <li><a name="option.fromalign"></a><a href="#option.fromalign">fromalign</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromalign">192</a></li> + <li><a name="option.fromemail"></a><a href="#option.fromemail">fromemail</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromemail">198</a></li> + <li><a name="option.fromfax"></a><a href="#option.fromfax">fromfax</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromfax">198</a></li> + <li><a name="option.fromlogo"></a><a href="#option.fromlogo">fromlogo</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromlogo">202</a></li> + <li><a name="option.frommobilephone"></a><a href="#option.frommobilephone">frommobilephone</a> → <a href="scrguien.pdf#desc:scrlttr2.option.frommobilephone">198</a></li> + <li><a name="option.fromphone"></a><a href="#option.fromphone">fromphone</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromphone">198</a></li> + <li><a name="option.fromrule"></a><a href="#option.fromrule">fromrule</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromrule">192</a></li> + <li><a name="option.fromurl"></a><a href="#option.fromurl">fromurl</a> → <a href="scrguien.pdf#desc:scrlttr2.option.fromurl">198</a></li> <li><a name="option.headheight"></a><a href="#option.headheight">headheight</a> → <a href="scrguien.pdf#desc:typearea.option.headheight">45</a></li> <li><a name="option.headinclude"></a><a href="#option.headinclude">headinclude</a> → <a href="scrguien.pdf#desc:typearea.option.headinclude">43</a></li> <li><a name="option.headings"></a><a href="#option.headings">headings</a> → <a href="scrguien.pdf#desc:maincls.option.headings">97</a></li> <li><a name="option.headlines"></a><a href="#option.headlines">headlines</a> → <a href="scrguien.pdf#desc:typearea.option.headlines">45</a></li> - <li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> → <a href="scrguien.pdf#desc:scrlttr2.option.headsepline">229</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.option.headsepline">278</a>, <a href="scrguien.pdf#desc:maincls.option.headsepline">81</a></li> + <li><a name="option.headsepline"></a><a href="#option.headsepline">headsepline</a> → <a href="scrguien.pdf#desc:scrlttr2.option.headsepline">230</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.option.headsepline">278</a>, <a href="scrguien.pdf#desc:maincls.option.headsepline">81</a></li> <li><a name="option.headtopline"></a><a href="#option.headtopline">headtopline</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.headtopline">278</a></li> <li><a name="option.headwidth"></a><a href="#option.headwidth">headwidth</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.headwidth">276</a></li> <li><a name="option.hmode"></a><a href="#option.hmode">hmode</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.option.hmode">457</a></li> <li><a name="option.ilines"></a><a href="#option.ilines">ilines</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.ilines">278</a></li> - <li><a name="option.index"></a><a href="#option.index">index</a> → <a href="scrguien.pdf#desc:maincls.option.index">150</a></li> + <li><a name="option.index"></a><a href="#option.index">index</a> → <a href="scrguien.pdf#desc:maincls.option.index">151</a></li> <li><a name="option.internalonly"></a><a href="#option.internalonly">internalonly</a> → <a href="scrguien.pdf#desc:scrbase.option.internalonly">360</a></li> <li><a name="option.juratitlepagebreak"></a><a href="#option.juratitlepagebreak">juratitlepagebreak</a> → <a href="scrguien.pdf#desc:scrjura.option.juratitlepagebreak">316</a></li> <li><a name="option.juratocindent"></a><a href="#option.juratocindent">juratocindent</a> → <a href="scrguien.pdf#desc:scrjura.option.juratocindent">313</a></li> <li><a name="option.juratocnumberwidth"></a><a href="#option.juratocnumberwidth">juratocnumberwidth</a> → <a href="scrguien.pdf#desc:scrjura.option.juratocnumberwidth">313</a></li> <li><a name="option.juratotoc"></a><a href="#option.juratotoc">juratotoc</a> → <a href="scrguien.pdf#desc:scrjura.option.juratotoc">313</a></li> - <li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> → <a href="scrguien.pdf#desc:maincls.option.leqno">127</a></li> - <li><a name="option.listof"></a><a href="#option.listof">listof</a> → <a href="scrguien.pdf#desc:maincls.option.listof">142</a></li> - <li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> → <a href="scrguien.pdf#desc:scrlttr2.option.locfield">210</a></li> + <li><a name="option.leqno"></a><a href="#option.leqno">leqno</a> → <a href="scrguien.pdf#desc:maincls.option.leqno">128</a></li> + <li><a name="option.listof"></a><a href="#option.listof">listof</a> → <a href="scrguien.pdf#desc:maincls.option.listof">143</a></li> + <li><a name="option.locfield"></a><a href="#option.locfield">locfield</a> → <a href="scrguien.pdf#desc:scrlttr2.option.locfield">211</a></li> <li><a name="option.manualmark"></a><a href="#option.manualmark">manualmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.manualmark">271</a>, <a href="scrguien.pdf#desc:scrlayer.option.manualmark">443</a></li> <li><a name="option.markcase"></a><a href="#option.markcase">markcase</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.markcase">272</a>, <a href="scrguien.pdf#desc:scrlayer.option.markcase">444</a></li> <li><a name="option.mpinclude"></a><a href="#option.mpinclude">mpinclude</a> → <a href="scrguien.pdf#desc:typearea.option.mpinclude">44</a></li> - <li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> → <a href="scrguien.pdf#desc:maincls.option.numbers">99</a></li> - <li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> → <a href="scrguien.pdf#desc:scrlttr2.option.numericaldate">212</a></li> + <li><a name="option.numbers"></a><a href="#option.numbers">numbers</a> → <a href="scrguien.pdf#desc:maincls.option.numbers">100</a></li> + <li><a name="option.numericaldate"></a><a href="#option.numericaldate">numericaldate</a> → <a href="scrguien.pdf#desc:scrlttr2.option.numericaldate">213</a></li> <li><a name="option.olines"></a><a href="#option.olines">olines</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.olines">278</a></li> <li><a name="option.onpsbackground"></a><a href="#option.onpsbackground">onpsbackground</a> → <a href="scrguien.pdf#desc:scrlayer.option.onpsbackground">438</a></li> <li><a name="option.onpsevenpage"></a><a href="#option.onpsevenpage">onpsevenpage</a> → <a href="scrguien.pdf#desc:scrlayer.option.onpsevenpage">438</a></li> @@ -102,32 +102,32 @@ <li><a name="option.onpsoneside"></a><a href="#option.onpsoneside">onpsoneside</a> → <a href="scrguien.pdf#desc:scrlayer.option.onpsoneside">438</a></li> <li><a name="option.onpsselect"></a><a href="#option.onpsselect">onpsselect</a> → <a href="scrguien.pdf#desc:scrlayer.option.onpsselect">438</a></li> <li><a name="option.onpstwoside"></a><a href="#option.onpstwoside">onpstwoside</a> → <a href="scrguien.pdf#desc:scrlayer.option.onpstwoside">438</a></li> - <li><a name="option.open"></a><a href="#option.open">open</a> → <a href="scrguien.pdf#desc:maincls.option.open">95</a></li> - <li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> → <a href="scrguien.pdf#desc:maincls.option.origlongtable">142</a></li> - <li><a name="option.overfullrule"></a><a href="#option.overfullrule">overfullrule</a> → <a href="scrguien.pdf#desc:scrlttr2.option.overfullrule">155</a>, <a href="scrguien.pdf#desc:scrextend.option.overfullrule">294</a>, <a href="scrguien.pdf#desc:maincls.option.overfullrule">57</a></li> - <li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> → <a href="scrguien.pdf#desc:scrlttr2.option.pagenumber">230</a></li> + <li><a name="option.open"></a><a href="#option.open">open</a> → <a href="scrguien.pdf#desc:maincls.option.open">96</a></li> + <li><a name="option.origlongtable"></a><a href="#option.origlongtable">origlongtable</a> → <a href="scrguien.pdf#desc:maincls.option.origlongtable">143</a></li> + <li><a name="option.overfullrule"></a><a href="#option.overfullrule">overfullrule</a> → <a href="scrguien.pdf#desc:scrlttr2.option.overfullrule">156</a>, <a href="scrguien.pdf#desc:scrextend.option.overfullrule">294</a>, <a href="scrguien.pdf#desc:maincls.option.overfullrule">57</a></li> + <li><a name="option.pagenumber"></a><a href="#option.pagenumber">pagenumber</a> → <a href="scrguien.pdf#desc:scrlttr2.option.pagenumber">231</a></li> <li><a name="option.pagesize"></a><a href="#option.pagesize">pagesize</a> → <a href="scrguien.pdf#desc:typearea.option.pagesize">50</a></li> <li><a name="option.pagestyleset"></a><a href="#option.pagestyleset">pagestyleset</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.pagestyleset">268</a></li> <li><a name="option.paper"></a><a href="#option.paper">paper</a> → <a href="scrguien.pdf#desc:typearea.option.paper">48</a></li> <li><a name="option.parnumber"></a><a href="#option.parnumber">parnumber</a> → <a href="scrguien.pdf#desc:scrjura.option.parnumber">317</a></li> - <li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> → <a href="scrguien.pdf#desc:scrlttr2.option.parskip">227</a>, <a href="scrguien.pdf#desc:maincls.option.parskip">78</a></li> + <li><a name="option.parskip"></a><a href="#option.parskip">parskip</a> → <a href="scrguien.pdf#desc:scrlttr2.option.parskip">228</a>, <a href="scrguien.pdf#desc:maincls.option.parskip">78</a></li> <li><a name="option.plainfootbotline"></a><a href="#option.plainfootbotline">plainfootbotline</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.plainfootbotline">278</a></li> <li><a name="option.plainfootsepline"></a><a href="#option.plainfootsepline">plainfootsepline</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.plainfootsepline">278</a></li> <li><a name="option.plainheadsepline"></a><a href="#option.plainheadsepline">plainheadsepline</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.plainheadsepline">278</a></li> <li><a name="option.plainheadtopline"></a><a href="#option.plainheadtopline">plainheadtopline</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.option.plainheadtopline">278</a></li> - <li><a name="option.priority"></a><a href="#option.priority">priority</a> → <a href="scrguien.pdf#desc:scrlttr2.option.priority">204</a></li> + <li><a name="option.priority"></a><a href="#option.priority">priority</a> → <a href="scrguien.pdf#desc:scrlttr2.option.priority">205</a></li> <li><a name="option.ref"></a><a href="#option.ref">ref</a> → <a href="scrguien.pdf#desc:scrjura.option.ref">321</a></li> - <li><a name="option.refline"></a><a href="#option.refline">refline</a> → <a href="scrguien.pdf#desc:scrlttr2.option.refline">213</a></li> + <li><a name="option.refline"></a><a href="#option.refline">refline</a> → <a href="scrguien.pdf#desc:scrlttr2.option.refline">214</a></li> <li><a name="option.sectionentrydots"></a><a href="#option.sectionentrydots">sectionentrydots</a> → <a href="scrguien.pdf#desc:maincls.option.sectionentrydots">75</a></li> <li><a name="option.singlespacing"></a><a href="#option.singlespacing">singlespacing</a> → <a href="scrguien.pdf#desc:scrlayer.option.singlespacing">438</a></li> - <li><a name="option.subject"></a><a href="#option.subject">subject</a> → <a href="scrguien.pdf#desc:scrlttr2.option.subject">218</a></li> - <li><a name="option.symbolicnames"></a><a href="#option.symbolicnames">symbolicnames</a> → <a href="scrguien.pdf#desc:scrlttr2.option.symbolicnames">197</a></li> + <li><a name="option.subject"></a><a href="#option.subject">subject</a> → <a href="scrguien.pdf#desc:scrlttr2.option.subject">219</a></li> + <li><a name="option.symbolicnames"></a><a href="#option.symbolicnames">symbolicnames</a> → <a href="scrguien.pdf#desc:scrlttr2.option.symbolicnames">198</a></li> <li><a name="option.titlepage"></a><a href="#option.titlepage">titlepage</a> → <a href="scrguien.pdf#desc:scrextend.option.titlepage">297</a>, <a href="scrguien.pdf#desc:maincls.option.titlepage">65</a></li> <li><a name="option.toc"></a><a href="#option.toc">toc</a> → <a href="scrguien.pdf#desc:maincls.option.toc">73</a></li> <li><a name="option.twocolumn"></a><a href="#option.twocolumn">twocolumn</a> → <a href="scrguien.pdf#desc:typearea.option.twocolumn">42</a></li> <li><a name="option.twoside"></a><a href="#option.twoside">twoside</a> → <a href="scrguien.pdf#desc:typearea.option.twoside">41</a></li> <li><a name="option.usegeometry"></a><a href="#option.usegeometry">usegeometry</a> → <a href="scrguien.pdf#desc:typearea-experts.option.usegeometry">472</a></li> - <li><a name="option.version"></a><a href="#option.version">version</a> → <a href="scrguien.pdf#desc:scrlttr2.option.version">154</a>, <a href="scrguien.pdf#desc:scrextend.option.version">293</a>, <a href="scrguien.pdf#desc:typearea.option.version">33</a>, <a href="scrguien.pdf#desc:maincls.option.version">56</a></li> + <li><a name="option.version"></a><a href="#option.version">version</a> → <a href="scrguien.pdf#desc:scrlttr2.option.version">155</a>, <a href="scrguien.pdf#desc:scrextend.option.version">293</a>, <a href="scrguien.pdf#desc:typearea.option.version">33</a>, <a href="scrguien.pdf#desc:maincls.option.version">56</a></li> <li><a name="option.withdeprecated"></a><a href="#option.withdeprecated">withdeprecated</a> → <a href="scrguien.pdf#desc:scrlfile.option.withdeprecated">362</a></li> </ul> <h2><a name="macro">Commands</a></h2> @@ -151,7 +151,7 @@ <li><a name="cmd.AfterAtEndOfClass"></a><a href="#cmd.AfterAtEndOfClass">\AfterAtEndOfClass</a> → <a href="scrguien.pdf#desc:scrlfile.cmd.AfterAtEndOfClass">363</a></li> <li><a name="cmd.AfterAtEndOfPackage*"></a><a href="#cmd.AfterAtEndOfPackage*">\AfterAtEndOfPackage*</a> → <a href="scrguien.pdf#desc:scrlfile.cmd.AfterAtEndOfPackage*">363</a></li> <li><a name="cmd.AfterAtEndOfPackage"></a><a href="#cmd.AfterAtEndOfPackage">\AfterAtEndOfPackage</a> → <a href="scrguien.pdf#desc:scrlfile.cmd.AfterAtEndOfPackage">363</a></li> - <li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.AfterBibliographyPreamble">149</a></li> + <li><a name="cmd.AfterBibliographyPreamble"></a><a href="#cmd.AfterBibliographyPreamble">\AfterBibliographyPreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.AfterBibliographyPreamble">150</a></li> <li><a name="cmd.AfterCalculatingTypearea*"></a><a href="#cmd.AfterCalculatingTypearea*">\AfterCalculatingTypearea*</a> → <a href="scrguien.pdf#desc:typearea-experts.cmd.AfterCalculatingTypearea*">475</a></li> <li><a name="cmd.AfterCalculatingTypearea"></a><a href="#cmd.AfterCalculatingTypearea">\AfterCalculatingTypearea</a> → <a href="scrguien.pdf#desc:typearea-experts.cmd.AfterCalculatingTypearea">475</a></li> <li><a name="cmd.AfterClass*"></a><a href="#cmd.AfterClass*">\AfterClass*</a> → <a href="scrguien.pdf#desc:scrlfile.cmd.AfterClass*">363</a></li> @@ -169,9 +169,9 @@ <li><a name="cmd.AfterTOCHead"></a><a href="#cmd.AfterTOCHead">\AfterTOCHead</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.AfterTOCHead">383</a></li> <li><a name="cmd.At@startsection"></a><a href="#cmd.At@startsection">\At@startsection</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.At@startsection">501</a></li> <li><a name="cmd.AtAddToTocList"></a><a href="#cmd.AtAddToTocList">\AtAddToTocList</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.AtAddToTocList">378</a></li> - <li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.AtBeginLetter">170</a></li> - <li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> → <a href="scrguien.pdf#desc:maincls.cmd.AtEndBibliography">149</a></li> - <li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.AtEndLetter">170</a></li> + <li><a name="cmd.AtBeginLetter"></a><a href="#cmd.AtBeginLetter">\AtBeginLetter</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.AtBeginLetter">171</a></li> + <li><a name="cmd.AtEndBibliography"></a><a href="#cmd.AtEndBibliography">\AtEndBibliography</a> → <a href="scrguien.pdf#desc:maincls.cmd.AtEndBibliography">150</a></li> + <li><a name="cmd.AtEndLetter"></a><a href="#cmd.AtEndLetter">\AtEndLetter</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.AtEndLetter">171</a></li> <li><a name="cmd.AtEndOfFamilyOptions*"></a><a href="#cmd.AtEndOfFamilyOptions*">\AtEndOfFamilyOptions*</a> → <a href="scrguien.pdf#desc:scrbase.cmd.AtEndOfFamilyOptions*">340</a></li> <li><a name="cmd.AtEndOfFamilyOptions"></a><a href="#cmd.AtEndOfFamilyOptions">\AtEndOfFamilyOptions</a> → <a href="scrguien.pdf#desc:scrbase.cmd.AtEndOfFamilyOptions">340</a></li> <li><a name="cmd.Before@sect"></a><a href="#cmd.Before@sect">\Before@sect</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.Before@sect">501</a></li> @@ -186,7 +186,7 @@ <li><a name="cmd.BeforeSelectAnyPageStyle"></a><a href="#cmd.BeforeSelectAnyPageStyle">\BeforeSelectAnyPageStyle</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.BeforeSelectAnyPageStyle">434</a></li> <li><a name="cmd.BeforeStartingTOC"></a><a href="#cmd.BeforeStartingTOC">\BeforeStartingTOC</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.BeforeStartingTOC">383</a></li> <li><a name="cmd.BeforeTOCHead"></a><a href="#cmd.BeforeTOCHead">\BeforeTOCHead</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.BeforeTOCHead">383</a></li> - <li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> → <a href="scrguien.pdf#desc:maincls.cmd.BreakBibliography">149</a></li> + <li><a name="cmd.BreakBibliography"></a><a href="#cmd.BreakBibliography">\BreakBibliography</a> → <a href="scrguien.pdf#desc:maincls.cmd.BreakBibliography">150</a></li> <li><a name="cmd.CenturyPart"></a><a href="#cmd.CenturyPart">\CenturyPart</a> → <a href="scrguien.pdf#desc:scrdate.cmd.CenturyPart">279</a></li> <li><a name="cmd.Clause"></a><a href="#cmd.Clause">\Clause</a> → <a href="scrguien.pdf#desc:scrjura.cmd.Clause">314</a></li> <li><a name="cmd.Clauseformat"></a><a href="#cmd.Clauseformat">\Clauseformat</a> → <a href="scrguien.pdf#desc:scrjura.cmd.Clauseformat">316</a></li> @@ -272,9 +272,9 @@ <li><a name="cmd.ISOToday"></a><a href="#cmd.ISOToday">\ISOToday</a> → <a href="scrguien.pdf#desc:scrdate.cmd.ISOToday">281</a></li> <li><a name="cmd.IfActiveMkBoth"></a><a href="#cmd.IfActiveMkBoth">\IfActiveMkBoth</a> → <a href="scrguien.pdf#desc:scrbase.cmd.IfActiveMkBoth">350</a></li> <li><a name="cmd.IfArgIsEmpty"></a><a href="#cmd.IfArgIsEmpty">\IfArgIsEmpty</a> → <a href="scrguien.pdf#desc:scrbase.cmd.IfArgIsEmpty">348</a></li> - <li><a name="cmd.IfChapterUsesPrefixLine"></a><a href="#cmd.IfChapterUsesPrefixLine">\IfChapterUsesPrefixLine</a> → <a href="scrguien.pdf#desc:maincls.cmd.IfChapterUsesPrefixLine">96</a></li> - <li><a name="cmd.IfExistskomafont"></a><a href="#cmd.IfExistskomafont">\IfExistskomafont</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.IfExistskomafont">480</a></li> - <li><a name="cmd.IfIsAliaskomafont"></a><a href="#cmd.IfIsAliaskomafont">\IfIsAliaskomafont</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.IfIsAliaskomafont">480</a></li> + <li><a name="cmd.IfChapterUsesPrefixLine"></a><a href="#cmd.IfChapterUsesPrefixLine">\IfChapterUsesPrefixLine</a> → <a href="scrguien.pdf#desc:maincls.cmd.IfChapterUsesPrefixLine">97</a></li> + <li><a name="cmd.IfExistskomafont"></a><a href="#cmd.IfExistskomafont">\IfExistskomafont</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.IfExistskomafont">481</a></li> + <li><a name="cmd.IfIsAliaskomafont"></a><a href="#cmd.IfIsAliaskomafont">\IfIsAliaskomafont</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.IfIsAliaskomafont">481</a></li> <li><a name="cmd.IfLayerAtPageStyle"></a><a href="#cmd.IfLayerAtPageStyle">\IfLayerAtPageStyle</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.IfLayerAtPageStyle">441</a></li> <li><a name="cmd.IfLayerExists"></a><a href="#cmd.IfLayerExists">\IfLayerExists</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.IfLayerExists">432</a></li> <li><a name="cmd.IfLayerPageStyleExists"></a><a href="#cmd.IfLayerPageStyleExists">\IfLayerPageStyleExists</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.IfLayerPageStyleExists">441</a></li> @@ -283,7 +283,7 @@ <li><a name="cmd.IfSectionCommandStyleIs"></a><a href="#cmd.IfSectionCommandStyleIs">\IfSectionCommandStyleIs</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.IfSectionCommandStyleIs">493</a></li> <li><a name="cmd.IfSomeLayerAtPageStyle"></a><a href="#cmd.IfSomeLayerAtPageStyle">\IfSomeLayerAtPageStyle</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.IfSomeLayerAtPageStyle">441</a></li> <li><a name="cmd.IfUseNumber"></a><a href="#cmd.IfUseNumber">\IfUseNumber</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.IfUseNumber">500</a></li> - <li><a name="cmd.IfUsePrefixLine"></a><a href="#cmd.IfUsePrefixLine">\IfUsePrefixLine</a> → <a href="scrguien.pdf#desc:maincls.cmd.IfUsePrefixLine">109</a></li> + <li><a name="cmd.IfUsePrefixLine"></a><a href="#cmd.IfUsePrefixLine">\IfUsePrefixLine</a> → <a href="scrguien.pdf#desc:maincls.cmd.IfUsePrefixLine">110</a></li> <li><a name="cmd.Ifattoclist"></a><a href="#cmd.Ifattoclist">\Ifattoclist</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.Ifattoclist">376</a></li> <li><a name="cmd.Ifdimen"></a><a href="#cmd.Ifdimen">\Ifdimen</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifdimen">348</a></li> <li><a name="cmd.Ifdvioutput"></a><a href="#cmd.Ifdvioutput">\Ifdvioutput</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifdvioutput">348</a></li> @@ -297,34 +297,33 @@ <li><a name="cmd.Ifisinteger"></a><a href="#cmd.Ifisinteger">\Ifisinteger</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifisinteger">350</a></li> <li><a name="cmd.Ifisnumexpr"></a><a href="#cmd.Ifisnumexpr">\Ifisnumexpr</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifisnumexpr">350</a></li> <li><a name="cmd.Ifisskip"></a><a href="#cmd.Ifisskip">\Ifisskip</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifisskip">349</a></li> - <li><a name="cmd.Ifkomavar"></a><a href="#cmd.Ifkomavar">\Ifkomavar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifkomavar">160</a></li> - <li><a name="cmd.Ifkomavarempty*"></a><a href="#cmd.Ifkomavarempty*">\Ifkomavarempty*</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifkomavarempty*">160</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty*">506</a></li> - <li><a name="cmd.Ifkomavarempty"></a><a href="#cmd.Ifkomavarempty">\Ifkomavarempty</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifkomavarempty">160</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty">506</a></li> + <li><a name="cmd.Ifkomavar"></a><a href="#cmd.Ifkomavar">\Ifkomavar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifkomavar">161</a></li> + <li><a name="cmd.Ifkomavarempty*"></a><a href="#cmd.Ifkomavarempty*">\Ifkomavarempty*</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifkomavarempty*">161</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty*">506</a></li> + <li><a name="cmd.Ifkomavarempty"></a><a href="#cmd.Ifkomavarempty">\Ifkomavarempty</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifkomavarempty">161</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.Ifkomavarempty">506</a></li> <li><a name="cmd.Ifnotundefined"></a><a href="#cmd.Ifnotundefined">\Ifnotundefined</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifnotundefined">347</a></li> <li><a name="cmd.Ifnumber"></a><a href="#cmd.Ifnumber">\Ifnumber</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifnumber">350</a></li> - <li><a name="cmd.Ifnumbered"></a><a href="#cmd.Ifnumbered">\Ifnumbered</a> → <a href="scrguien.pdf#desc:maincls.cmd.Ifnumbered">113</a></li> + <li><a name="cmd.Ifnumbered"></a><a href="#cmd.Ifnumbered">\Ifnumbered</a> → <a href="scrguien.pdf#desc:maincls.cmd.Ifnumbered">114</a></li> <li><a name="cmd.Ifpdfoutput"></a><a href="#cmd.Ifpdfoutput">\Ifpdfoutput</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifpdfoutput">348</a></li> - <li><a name="cmd.Ifplength"></a><a href="#cmd.Ifplength">\Ifplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifplength">167</a></li> + <li><a name="cmd.Ifplength"></a><a href="#cmd.Ifplength">\Ifplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifplength">168</a></li> <li><a name="cmd.Ifpsoutput"></a><a href="#cmd.Ifpsoutput">\Ifpsoutput</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifpsoutput">348</a></li> <li><a name="cmd.Ifstr"></a><a href="#cmd.Ifstr">\Ifstr</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifstr">347</a></li> <li><a name="cmd.Ifstrstart"></a><a href="#cmd.Ifstrstart">\Ifstrstart</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifstrstart">347</a></li> - <li><a name="cmd.Ifthispageodd"></a><a href="#cmd.Ifthispageodd">\Ifthispageodd</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifthispageodd">228</a>, <a href="scrguien.pdf#desc:scrextend.cmd.Ifthispageodd">301</a>, <a href="scrguien.pdf#desc:maincls.cmd.Ifthispageodd">80</a></li> + <li><a name="cmd.Ifthispageodd"></a><a href="#cmd.Ifthispageodd">\Ifthispageodd</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.Ifthispageodd">229</a>, <a href="scrguien.pdf#desc:scrextend.cmd.Ifthispageodd">301</a>, <a href="scrguien.pdf#desc:maincls.cmd.Ifthispageodd">80</a></li> <li><a name="cmd.Iftocfeature"></a><a href="#cmd.Iftocfeature">\Iftocfeature</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.Iftocfeature">387</a></li> <li><a name="cmd.Ifundefinedorrelax"></a><a href="#cmd.Ifundefinedorrelax">\Ifundefinedorrelax</a> → <a href="scrguien.pdf#desc:scrbase.cmd.Ifundefinedorrelax">347</a></li> - <li><a name="cmd.Ifunnumbered"></a><a href="#cmd.Ifunnumbered">\Ifunnumbered</a> → <a href="scrguien.pdf#desc:maincls.cmd.Ifunnumbered">113</a></li> + <li><a name="cmd.Ifunnumbered"></a><a href="#cmd.Ifunnumbered">\Ifunnumbered</a> → <a href="scrguien.pdf#desc:maincls.cmd.Ifunnumbered">114</a></li> <li><a name="cmd.InputAddressFile"></a><a href="#cmd.InputAddressFile">\InputAddressFile</a> → <a href="scrguien.pdf#desc:scraddr.cmd.InputAddressFile">286</a></li> <li><a name="cmd.IsoToday"></a><a href="#cmd.IsoToday">\IsoToday</a> → <a href="scrguien.pdf#desc:scrdate.cmd.IsoToday">281</a></li> - <li><a name="cmd.KOMAScript"></a><a href="#cmd.KOMAScript">\KOMAScript</a> → <a href="scrguien.pdf#desc:scrbase.cmd.KOMAScript">355</a></li> <li><a name="cmd.KOMAScriptVersion"></a><a href="#cmd.KOMAScriptVersion">\KOMAScriptVersion</a> → <a href="scrguien.pdf#desc:scrbase.cmd.KOMAScriptVersion">355</a></li> - <li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.KOMAoption">153</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.KOMAoption">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.KOMAoption">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.KOMAoption">311</a>, <a href="scrguien.pdf#desc:typearea.cmd.KOMAoption">33</a>, <a href="scrguien.pdf#desc:scrhack.cmd.KOMAoption">415</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.KOMAoption">420</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.KOMAoption">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.KOMAoption">55</a></li> - <li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.KOMAoptions">153</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.KOMAoptions">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.KOMAoptions">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.KOMAoptions">311</a>, <a href="scrguien.pdf#desc:typearea.cmd.KOMAoptions">33</a>, <a href="scrguien.pdf#desc:scrhack.cmd.KOMAoptions">415</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.KOMAoptions">420</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.KOMAoptions">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.KOMAoptions">55</a></li> + <li><a name="cmd.KOMAoption"></a><a href="#cmd.KOMAoption">\KOMAoption</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.KOMAoption">154</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.KOMAoption">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.KOMAoption">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.KOMAoption">311</a>, <a href="scrguien.pdf#desc:typearea.cmd.KOMAoption">33</a>, <a href="scrguien.pdf#desc:scrhack.cmd.KOMAoption">415</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.KOMAoption">420</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.KOMAoption">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.KOMAoption">55</a></li> + <li><a name="cmd.KOMAoptions"></a><a href="#cmd.KOMAoptions">\KOMAoptions</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.KOMAoptions">154</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.KOMAoptions">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.KOMAoptions">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.KOMAoptions">311</a>, <a href="scrguien.pdf#desc:typearea.cmd.KOMAoptions">33</a>, <a href="scrguien.pdf#desc:scrhack.cmd.KOMAoptions">415</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.KOMAoptions">420</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.KOMAoptions">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.KOMAoptions">55</a></li> <li><a name="cmd.LastName"></a><a href="#cmd.LastName">\LastName</a> → <a href="scrguien.pdf#desc:scraddr.cmd.LastName">287</a></li> <li><a name="cmd.LastTOCLevelWasHigher"></a><a href="#cmd.LastTOCLevelWasHigher">\LastTOCLevelWasHigher</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.LastTOCLevelWasHigher">401</a></li> <li><a name="cmd.LastTOCLevelWasLower"></a><a href="#cmd.LastTOCLevelWasLower">\LastTOCLevelWasLower</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.LastTOCLevelWasLower">401</a></li> <li><a name="cmd.LastTOCLevelWasSame"></a><a href="#cmd.LastTOCLevelWasSame">\LastTOCLevelWasSame</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.LastTOCLevelWasSame">401</a></li> <li><a name="cmd.LenToUnit"></a><a href="#cmd.LenToUnit">\LenToUnit</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.LenToUnit">431</a></li> - <li><a name="cmd.LoadLetterOption"></a><a href="#cmd.LoadLetterOption">\LoadLetterOption</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.LoadLetterOption">243</a></li> - <li><a name="cmd.LoadLetterOptions"></a><a href="#cmd.LoadLetterOptions">\LoadLetterOptions</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.LoadLetterOptions">243</a></li> + <li><a name="cmd.LoadLetterOption"></a><a href="#cmd.LoadLetterOption">\LoadLetterOption</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.LoadLetterOption">244</a></li> + <li><a name="cmd.LoadLetterOptions"></a><a href="#cmd.LoadLetterOptions">\LoadLetterOptions</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.LoadLetterOptions">244</a></li> <li><a name="cmd.MakeMarkcase"></a><a href="#cmd.MakeMarkcase">\MakeMarkcase</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.MakeMarkcase">272</a>, <a href="scrguien.pdf#desc:tocbasic.cmd.MakeMarkcase">384</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.MakeMarkcase">444</a></li> <li><a name="cmd.ModifyLayer"></a><a href="#cmd.ModifyLayer">\ModifyLayer</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.ModifyLayer">423</a></li> <li><a name="cmd.ModifyLayerPageStyleOptions"></a><a href="#cmd.ModifyLayerPageStyleOptions">\ModifyLayerPageStyleOptions</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.ModifyLayerPageStyleOptions">440</a></li> @@ -369,58 +368,58 @@ <li><a name="cmd.XdivY"></a><a href="#cmd.XdivY">\XdivY</a> → <a href="scrguien.pdf#desc:scrbase.cmd.XdivY">356</a></li> <li><a name="cmd.XmodY"></a><a href="#cmd.XmodY">\XmodY</a> → <a href="scrguien.pdf#desc:scrbase.cmd.XmodY">356</a></li> <li><a name="cmd.activateareas"></a><a href="#cmd.activateareas">\activateareas</a> → <a href="scrguien.pdf#desc:typearea-experts.cmd.activateareas">473</a></li> - <li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> → <a href="scrguien.pdf#desc:maincls.cmd.addchap*">106</a></li> - <li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> → <a href="scrguien.pdf#desc:maincls.cmd.addchap">106</a></li> - <li><a name="cmd.addchapmark"></a><a href="#cmd.addchapmark">\addchapmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.addchapmark">112</a></li> + <li><a name="cmd.addchap*"></a><a href="#cmd.addchap*">\addchap*</a> → <a href="scrguien.pdf#desc:maincls.cmd.addchap*">107</a></li> + <li><a name="cmd.addchap"></a><a href="#cmd.addchap">\addchap</a> → <a href="scrguien.pdf#desc:maincls.cmd.addchap">107</a></li> + <li><a name="cmd.addchapmark"></a><a href="#cmd.addchapmark">\addchapmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.addchapmark">113</a></li> <li><a name="cmd.addchaptertocentry"></a><a href="#cmd.addchaptertocentry">\addchaptertocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addchaptertocentry">478</a></li> <li><a name="cmd.addcontentslinetoeachtocfile"></a><a href="#cmd.addcontentslinetoeachtocfile">\addcontentslinetoeachtocfile</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.addcontentslinetoeachtocfile">381</a></li> <li><a name="cmd.addparagraphtocentry"></a><a href="#cmd.addparagraphtocentry">\addparagraphtocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addparagraphtocentry">478</a></li> - <li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> → <a href="scrguien.pdf#desc:maincls.cmd.addpart*">106</a></li> - <li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> → <a href="scrguien.pdf#desc:maincls.cmd.addpart">106</a></li> + <li><a name="cmd.addpart*"></a><a href="#cmd.addpart*">\addpart*</a> → <a href="scrguien.pdf#desc:maincls.cmd.addpart*">107</a></li> + <li><a name="cmd.addpart"></a><a href="#cmd.addpart">\addpart</a> → <a href="scrguien.pdf#desc:maincls.cmd.addpart">107</a></li> <li><a name="cmd.addparttocentry"></a><a href="#cmd.addparttocentry">\addparttocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addparttocentry">478</a></li> - <li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addrchar">251</a>, <a href="scrguien.pdf#desc:scraddr.cmd.addrchar">286</a></li> + <li><a name="cmd.addrchar"></a><a href="#cmd.addrchar">\addrchar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addrchar">252</a>, <a href="scrguien.pdf#desc:scraddr.cmd.addrchar">286</a></li> <li><a name="cmd.addrentry"></a><a href="#cmd.addrentry">\addrentry</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addrentry">250</a>, <a href="scrguien.pdf#desc:scraddr.cmd.addrentry">286</a></li> - <li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> → <a href="scrguien.pdf#desc:maincls.cmd.addsec*">106</a></li> - <li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> → <a href="scrguien.pdf#desc:maincls.cmd.addsec">106</a></li> - <li><a name="cmd.addsecmark"></a><a href="#cmd.addsecmark">\addsecmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.addsecmark">112</a></li> + <li><a name="cmd.addsec*"></a><a href="#cmd.addsec*">\addsec*</a> → <a href="scrguien.pdf#desc:maincls.cmd.addsec*">107</a></li> + <li><a name="cmd.addsec"></a><a href="#cmd.addsec">\addsec</a> → <a href="scrguien.pdf#desc:maincls.cmd.addsec">107</a></li> + <li><a name="cmd.addsecmark"></a><a href="#cmd.addsecmark">\addsecmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.addsecmark">113</a></li> <li><a name="cmd.addsectiontocentry"></a><a href="#cmd.addsectiontocentry">\addsectiontocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addsectiontocentry">478</a></li> <li><a name="cmd.addsubparagraphtocentry"></a><a href="#cmd.addsubparagraphtocentry">\addsubparagraphtocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addsubparagraphtocentry">478</a></li> <li><a name="cmd.addsubsectiontocentry"></a><a href="#cmd.addsubsectiontocentry">\addsubsectiontocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addsubsectiontocentry">478</a></li> <li><a name="cmd.addsubsubsectiontocentry"></a><a href="#cmd.addsubsubsectiontocentry">\addsubsubsectiontocentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addsubsubsectiontocentry">478</a></li> <li><a name="cmd.addtocentrydefault"></a><a href="#cmd.addtocentrydefault">\addtocentrydefault</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtocentrydefault">477</a></li> <li><a name="cmd.addtoeachtocfile"></a><a href="#cmd.addtoeachtocfile">\addtoeachtocfile</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.addtoeachtocfile">380</a></li> - <li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addtokomafont">180</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.addtokomafont">257</a>, <a href="scrguien.pdf#desc:scrextend.cmd.addtokomafont">295</a>, <a href="scrguien.pdf#desc:scrjura.cmd.addtokomafont">311</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.addtokomafont">460</a>, <a href="scrguien.pdf#desc:maincls.cmd.addtokomafont">59</a></li> - <li><a name="cmd.addtokomafontgobblelist"></a><a href="#cmd.addtokomafontgobblelist">\addtokomafontgobblelist</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtokomafontgobblelist">479</a></li> - <li><a name="cmd.addtokomafontonearglist"></a><a href="#cmd.addtokomafontonearglist">\addtokomafontonearglist</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtokomafontonearglist">479</a></li> - <li><a name="cmd.addtokomafontrelaxlist"></a><a href="#cmd.addtokomafontrelaxlist">\addtokomafontrelaxlist</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtokomafontrelaxlist">479</a></li> - <li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addtolengthplength">168</a></li> - <li><a name="cmd.addtoplength"></a><a href="#cmd.addtoplength">\addtoplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addtoplength">167</a></li> + <li><a name="cmd.addtokomafont"></a><a href="#cmd.addtokomafont">\addtokomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addtokomafont">181</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.addtokomafont">257</a>, <a href="scrguien.pdf#desc:scrextend.cmd.addtokomafont">295</a>, <a href="scrguien.pdf#desc:scrjura.cmd.addtokomafont">311</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.addtokomafont">460</a>, <a href="scrguien.pdf#desc:maincls.cmd.addtokomafont">59</a></li> + <li><a name="cmd.addtokomafontgobblelist"></a><a href="#cmd.addtokomafontgobblelist">\addtokomafontgobblelist</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtokomafontgobblelist">480</a></li> + <li><a name="cmd.addtokomafontonearglist"></a><a href="#cmd.addtokomafontonearglist">\addtokomafontonearglist</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtokomafontonearglist">480</a></li> + <li><a name="cmd.addtokomafontrelaxlist"></a><a href="#cmd.addtokomafontrelaxlist">\addtokomafontrelaxlist</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.addtokomafontrelaxlist">480</a></li> + <li><a name="cmd.addtolengthplength"></a><a href="#cmd.addtolengthplength">\addtolengthplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addtolengthplength">169</a></li> + <li><a name="cmd.addtoplength"></a><a href="#cmd.addtoplength">\addtoplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.addtoplength">168</a></li> <li><a name="cmd.addtoreffields"></a><a href="#cmd.addtoreffields">\addtoreffields</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.addtoreffields">505</a></li> <li><a name="cmd.addtotoclist"></a><a href="#cmd.addtotoclist">\addtotoclist</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.addtotoclist">377</a></li> <li><a name="cmd.addxcontentsline"></a><a href="#cmd.addxcontentsline">\addxcontentsline</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.addxcontentsline">380</a></li> <li><a name="cmd.addxcontentslinetoeachtocfile"></a><a href="#cmd.addxcontentslinetoeachtocfile">\addxcontentslinetoeachtocfile</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.addxcontentslinetoeachtocfile">381</a></li> - <li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.adrchar">251</a>, <a href="scrguien.pdf#desc:scraddr.cmd.adrchar">286</a></li> + <li><a name="cmd.adrchar"></a><a href="#cmd.adrchar">\adrchar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.adrchar">252</a>, <a href="scrguien.pdf#desc:scraddr.cmd.adrchar">286</a></li> <li><a name="cmd.adrentry"></a><a href="#cmd.adrentry">\adrentry</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.adrentry">249</a>, <a href="scrguien.pdf#desc:scraddr.cmd.adrentry">286</a></li> <li><a name="cmd.aliaskomafont"></a><a href="#cmd.aliaskomafont">\aliaskomafont</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.aliaskomafont">479</a></li> <li><a name="cmd.and"></a><a href="#cmd.and">\and</a> → <a href="scrguien.pdf#desc:scrextend.cmd.and">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.and">68</a></li> - <li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> → <a href="scrguien.pdf#desc:maincls.cmd.appendix">147</a></li> + <li><a name="cmd.appendix"></a><a href="#cmd.appendix">\appendix</a> → <a href="scrguien.pdf#desc:maincls.cmd.appendix">148</a></li> <li><a name="cmd.appendixmore"></a><a href="#cmd.appendixmore">\appendixmore</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.appendixmore">501</a></li> <li><a name="cmd.areaset"></a><a href="#cmd.areaset">\areaset</a> → <a href="scrguien.pdf#desc:typearea.cmd.areaset">47</a>, <a href="scrguien.pdf#desc:typearea-experts.cmd.areaset">473</a></li> <li><a name="cmd.author"></a><a href="#cmd.author">\author</a> → <a href="scrguien.pdf#desc:scrextend.cmd.author">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.author">68</a></li> - <li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> → <a href="scrguien.pdf#desc:maincls.cmd.autodot">109</a></li> + <li><a name="cmd.autodot"></a><a href="#cmd.autodot">\autodot</a> → <a href="scrguien.pdf#desc:maincls.cmd.autodot">110</a></li> <li><a name="cmd.automark*"></a><a href="#cmd.automark*">\automark*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.automark*">269</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.automark*">443</a></li> <li><a name="cmd.automark"></a><a href="#cmd.automark">\automark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.automark">269</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.automark">443</a></li> - <li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> → <a href="scrguien.pdf#desc:maincls.cmd.backmatter">94</a></li> + <li><a name="cmd.backmatter"></a><a href="#cmd.backmatter">\backmatter</a> → <a href="scrguien.pdf#desc:maincls.cmd.backmatter">95</a></li> <li><a name="cmd.bankname"></a><a href="#cmd.bankname">\bankname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.bankname">512</a></li> <li><a name="cmd.bib@beginhook"></a><a href="#cmd.bib@beginhook">\bib@beginhook</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.bib@beginhook">503</a></li> <li><a name="cmd.bib@endhook"></a><a href="#cmd.bib@endhook">\bib@endhook</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.bib@endhook">503</a></li> - <li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> → <a href="scrguien.pdf#desc:maincls.cmd.caption">130</a></li> - <li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionabove">130</a></li> - <li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionaboveof">132</a></li> - <li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionbelow">130</a></li> - <li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionbelowof">132</a></li> - <li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionformat">137</a></li> - <li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionof">132</a></li> + <li><a name="cmd.caption"></a><a href="#cmd.caption">\caption</a> → <a href="scrguien.pdf#desc:maincls.cmd.caption">131</a></li> + <li><a name="cmd.captionabove"></a><a href="#cmd.captionabove">\captionabove</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionabove">131</a></li> + <li><a name="cmd.captionaboveof"></a><a href="#cmd.captionaboveof">\captionaboveof</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionaboveof">133</a></li> + <li><a name="cmd.captionbelow"></a><a href="#cmd.captionbelow">\captionbelow</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionbelow">131</a></li> + <li><a name="cmd.captionbelowof"></a><a href="#cmd.captionbelowof">\captionbelowof</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionbelowof">133</a></li> + <li><a name="cmd.captionformat"></a><a href="#cmd.captionformat">\captionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionformat">138</a></li> + <li><a name="cmd.captionof"></a><a href="#cmd.captionof">\captionof</a> → <a href="scrguien.pdf#desc:maincls.cmd.captionof">133</a></li> <li><a name="cmd.captionsUKenglish"></a><a href="#cmd.captionsUKenglish">\captionsUKenglish</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.captionsUKenglish">513</a></li> <li><a name="cmd.captionsUSenglish"></a><a href="#cmd.captionsUSenglish">\captionsUSenglish</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.captionsUSenglish">513</a></li> <li><a name="cmd.captionsacadian"></a><a href="#cmd.captionsacadian">\captionsacadian</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.captionsacadian">513</a></li> @@ -449,7 +448,7 @@ <li><a name="cmd.captionsspanish"></a><a href="#cmd.captionsspanish">\captionsspanish</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.captionsspanish">513</a></li> <li><a name="cmd.captionsswedish"></a><a href="#cmd.captionsswedish">\captionsswedish</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.captionsswedish">513</a></li> <li><a name="cmd.captionsswissgerman"></a><a href="#cmd.captionsswissgerman">\captionsswissgerman</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.captionsswissgerman">513</a></li> - <li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cc">176</a></li> + <li><a name="cmd.cc"></a><a href="#cmd.cc">\cc</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cc">177</a></li> <li><a name="cmd.ccname"></a><a href="#cmd.ccname">\ccname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.ccname">512</a></li> <li><a name="cmd.cefoot*"></a><a href="#cmd.cefoot*">\cefoot*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cefoot*">265</a></li> <li><a name="cmd.cefoot"></a><a href="#cmd.cefoot">\cefoot</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cefoot">263</a></li> @@ -458,44 +457,44 @@ <li><a name="cmd.cfoot*"></a><a href="#cmd.cfoot*">\cfoot*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cfoot*">267</a></li> <li><a name="cmd.cfoot"></a><a href="#cmd.cfoot">\cfoot</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cfoot">266</a></li> <li><a name="cmd.changefontsizes"></a><a href="#cmd.changefontsizes">\changefontsizes</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.changefontsizes">479</a></li> - <li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapapp">111</a></li> - <li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapappifchapterprefix">111</a></li> - <li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapter*">105</a></li> + <li><a name="cmd.chapapp"></a><a href="#cmd.chapapp">\chapapp</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapapp">112</a></li> + <li><a name="cmd.chapappifchapterprefix"></a><a href="#cmd.chapappifchapterprefix">\chapappifchapterprefix</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapappifchapterprefix">112</a></li> + <li><a name="cmd.chapter*"></a><a href="#cmd.chapter*">\chapter*</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapter*">106</a></li> <li><a name="cmd.chapter"></a><a href="#cmd.chapter">\chapter</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapter">101</a></li> - <li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapterformat">109</a></li> + <li><a name="cmd.chapterformat"></a><a href="#cmd.chapterformat">\chapterformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapterformat">110</a></li> <li><a name="cmd.chapterheadendvskip"></a><a href="#cmd.chapterheadendvskip">\chapterheadendvskip</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.chapterheadendvskip">493</a></li> <li><a name="cmd.chapterheadmidvskip"></a><a href="#cmd.chapterheadmidvskip">\chapterheadmidvskip</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.chapterheadmidvskip">493</a></li> <li><a name="cmd.chapterheadstartvskip"></a><a href="#cmd.chapterheadstartvskip">\chapterheadstartvskip</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.chapterheadstartvskip">493</a></li> <li><a name="cmd.chapterlinesformat"></a><a href="#cmd.chapterlinesformat">\chapterlinesformat</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.chapterlinesformat">496</a></li> <li><a name="cmd.chapterlineswithprefixformat"></a><a href="#cmd.chapterlineswithprefixformat">\chapterlineswithprefixformat</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.chapterlineswithprefixformat">496</a></li> - <li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> → <a href="scrguien.pdf#desc:maincls.cmd.chaptermark">112</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.chaptermark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.chaptermark">446</a></li> - <li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.chaptermarkformat">112</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.chaptermarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.chaptermarkformat">446</a></li> - <li><a name="cmd.chapternumdepth"></a><a href="#cmd.chapternumdepth">\chapternumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapternumdepth">113</a></li> + <li><a name="cmd.chaptermark"></a><a href="#cmd.chaptermark">\chaptermark</a> → <a href="scrguien.pdf#desc:maincls.cmd.chaptermark">113</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.chaptermark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.chaptermark">446</a></li> + <li><a name="cmd.chaptermarkformat"></a><a href="#cmd.chaptermarkformat">\chaptermarkformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.chaptermarkformat">113</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.chaptermarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.chaptermarkformat">446</a></li> + <li><a name="cmd.chapternumdepth"></a><a href="#cmd.chapternumdepth">\chapternumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapternumdepth">114</a></li> <li><a name="cmd.chapterpagestyle"></a><a href="#cmd.chapterpagestyle">\chapterpagestyle</a> → <a href="scrguien.pdf#desc:maincls.cmd.chapterpagestyle">84</a></li> <li><a name="cmd.chead*"></a><a href="#cmd.chead*">\chead*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.chead*">267</a></li> <li><a name="cmd.chead"></a><a href="#cmd.chead">\chead</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.chead">266</a></li> - <li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleemptypage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleemptypage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleemptypage">88</a></li> - <li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenemptypage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenemptypage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenemptypage">88</a></li> - <li><a name="cmd.cleardoubleevenpage"></a><a href="#cmd.cleardoubleevenpage">\cleardoubleevenpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenpage">88</a></li> - <li><a name="cmd.cleardoubleevenpageusingstyle"></a><a href="#cmd.cleardoubleevenpageusingstyle">\cleardoubleevenpageusingstyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenpageusingstyle">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenpageusingstyle">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenpageusingstyle">88</a></li> - <li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenplainpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenplainpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenplainpage">88</a></li> - <li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenstandardpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenstandardpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenstandardpage">88</a></li> - <li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddemptypage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddemptypage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddemptypage">88</a></li> - <li><a name="cmd.cleardoubleoddpage"></a><a href="#cmd.cleardoubleoddpage">\cleardoubleoddpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddpage">88</a></li> - <li><a name="cmd.cleardoubleoddpageusingstyle"></a><a href="#cmd.cleardoubleoddpageusingstyle">\cleardoubleoddpageusingstyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddpageusingstyle">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddpageusingstyle">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddpageusingstyle">88</a></li> - <li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddplainpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddplainpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddplainpage">88</a></li> - <li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddstandardpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddstandardpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddstandardpage">88</a></li> - <li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoublepage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoublepage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoublepage">88</a></li> - <li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoublepageusingstyle">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoublepageusingstyle">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoublepageusingstyle">88</a></li> - <li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleplainpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleplainpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleplainpage">88</a></li> - <li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoublestandardpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoublestandardpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoublestandardpage">88</a></li> + <li><a name="cmd.cleardoubleemptypage"></a><a href="#cmd.cleardoubleemptypage">\cleardoubleemptypage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleemptypage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleemptypage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleemptypage">88</a></li> + <li><a name="cmd.cleardoubleevenemptypage"></a><a href="#cmd.cleardoubleevenemptypage">\cleardoubleevenemptypage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenemptypage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenemptypage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenemptypage">88</a></li> + <li><a name="cmd.cleardoubleevenpage"></a><a href="#cmd.cleardoubleevenpage">\cleardoubleevenpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenpage">88</a></li> + <li><a name="cmd.cleardoubleevenpageusingstyle"></a><a href="#cmd.cleardoubleevenpageusingstyle">\cleardoubleevenpageusingstyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenpageusingstyle">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenpageusingstyle">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenpageusingstyle">88</a></li> + <li><a name="cmd.cleardoubleevenplainpage"></a><a href="#cmd.cleardoubleevenplainpage">\cleardoubleevenplainpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenplainpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenplainpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenplainpage">88</a></li> + <li><a name="cmd.cleardoubleevenstandardpage"></a><a href="#cmd.cleardoubleevenstandardpage">\cleardoubleevenstandardpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleevenstandardpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleevenstandardpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleevenstandardpage">88</a></li> + <li><a name="cmd.cleardoubleoddemptypage"></a><a href="#cmd.cleardoubleoddemptypage">\cleardoubleoddemptypage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddemptypage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddemptypage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddemptypage">88</a></li> + <li><a name="cmd.cleardoubleoddpage"></a><a href="#cmd.cleardoubleoddpage">\cleardoubleoddpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddpage">88</a></li> + <li><a name="cmd.cleardoubleoddpageusingstyle"></a><a href="#cmd.cleardoubleoddpageusingstyle">\cleardoubleoddpageusingstyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddpageusingstyle">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddpageusingstyle">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddpageusingstyle">88</a></li> + <li><a name="cmd.cleardoubleoddplainpage"></a><a href="#cmd.cleardoubleoddplainpage">\cleardoubleoddplainpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddplainpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddplainpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddplainpage">88</a></li> + <li><a name="cmd.cleardoubleoddstandardpage"></a><a href="#cmd.cleardoubleoddstandardpage">\cleardoubleoddstandardpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleoddstandardpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleoddstandardpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleoddstandardpage">88</a></li> + <li><a name="cmd.cleardoublepage"></a><a href="#cmd.cleardoublepage">\cleardoublepage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoublepage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoublepage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoublepage">88</a></li> + <li><a name="cmd.cleardoublepageusingstyle"></a><a href="#cmd.cleardoublepageusingstyle">\cleardoublepageusingstyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoublepageusingstyle">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoublepageusingstyle">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoublepageusingstyle">88</a></li> + <li><a name="cmd.cleardoubleplainpage"></a><a href="#cmd.cleardoubleplainpage">\cleardoubleplainpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoubleplainpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoubleplainpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoubleplainpage">88</a></li> + <li><a name="cmd.cleardoublestandardpage"></a><a href="#cmd.cleardoublestandardpage">\cleardoublestandardpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.cleardoublestandardpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.cleardoublestandardpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.cleardoublestandardpage">88</a></li> <li><a name="cmd.clearmainofpairofpagestyles"></a><a href="#cmd.clearmainofpairofpagestyles">\clearmainofpairofpagestyles</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.clearmainofpairofpagestyles">454</a></li> <li><a name="cmd.clearnotecolumn"></a><a href="#cmd.clearnotecolumn">\clearnotecolumn</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.clearnotecolumn">469</a></li> <li><a name="cmd.clearnotecolumns"></a><a href="#cmd.clearnotecolumns">\clearnotecolumns</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.clearnotecolumns">470</a></li> - <li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.clearpage">234</a>, <a href="scrguien.pdf#desc:scrextend.cmd.clearpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.clearpage">88</a></li> + <li><a name="cmd.clearpage"></a><a href="#cmd.clearpage">\clearpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.clearpage">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.clearpage">302</a>, <a href="scrguien.pdf#desc:maincls.cmd.clearpage">88</a></li> <li><a name="cmd.clearpairofpagestyles"></a><a href="#cmd.clearpairofpagestyles">\clearpairofpagestyles</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.clearpairofpagestyles">454</a></li> <li><a name="cmd.clearplainofpairofpagestyles"></a><a href="#cmd.clearplainofpairofpagestyles">\clearplainofpairofpagestyles</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.clearplainofpairofpagestyles">454</a></li> - <li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.closing">173</a></li> + <li><a name="cmd.closing"></a><a href="#cmd.closing">\closing</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.closing">174</a></li> <li><a name="cmd.cofoot*"></a><a href="#cmd.cofoot*">\cofoot*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cofoot*">265</a></li> <li><a name="cmd.cofoot"></a><a href="#cmd.cofoot">\cofoot</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cofoot">263</a></li> <li><a name="cmd.cohead*"></a><a href="#cmd.cohead*">\cohead*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.cohead*">262</a></li> @@ -540,35 +539,35 @@ <li><a name="cmd.defaultreffields"></a><a href="#cmd.defaultreffields">\defaultreffields</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.defaultreffields">505</a></li> <li><a name="cmd.defcaptionname*"></a><a href="#cmd.defcaptionname*">\defcaptionname*</a> → <a href="scrguien.pdf#desc:scrbase.cmd.defcaptionname*">352</a></li> <li><a name="cmd.defcaptionname"></a><a href="#cmd.defcaptionname">\defcaptionname</a> → <a href="scrguien.pdf#desc:scrbase.cmd.defcaptionname">352</a></li> - <li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.deffootnote">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.deffootnote">305</a>, <a href="scrguien.pdf#desc:maincls.cmd.deffootnote">92</a></li> - <li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.deffootnotemark">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.deffootnotemark">305</a>, <a href="scrguien.pdf#desc:maincls.cmd.deffootnotemark">92</a></li> + <li><a name="cmd.deffootnote"></a><a href="#cmd.deffootnote">\deffootnote</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.deffootnote">237</a>, <a href="scrguien.pdf#desc:scrextend.cmd.deffootnote">305</a>, <a href="scrguien.pdf#desc:maincls.cmd.deffootnote">92</a></li> + <li><a name="cmd.deffootnotemark"></a><a href="#cmd.deffootnotemark">\deffootnotemark</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.deffootnotemark">237</a>, <a href="scrguien.pdf#desc:scrextend.cmd.deffootnotemark">305</a>, <a href="scrguien.pdf#desc:maincls.cmd.deffootnotemark">92</a></li> <li><a name="cmd.defpagestyle"></a><a href="#cmd.defpagestyle">\defpagestyle</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.defpagestyle">454</a></li> <li><a name="cmd.defpairofpagestyles"></a><a href="#cmd.defpairofpagestyles">\defpairofpagestyles</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.defpairofpagestyles">453</a></li> <li><a name="cmd.deftocheading"></a><a href="#cmd.deftocheading">\deftocheading</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.deftocheading">384</a></li> - <li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictum">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictum">306</a></li> - <li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictumauthorformat">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictumauthorformat">306</a></li> - <li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictumrule">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictumrule">306</a></li> - <li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictumwidth">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictumwidth">306</a></li> - <li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.documentclass">152</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.documentclass">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.documentclass">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.documentclass">310</a>, <a href="scrguien.pdf#desc:typearea.cmd.documentclass">32</a>, <a href="scrguien.pdf#desc:scrhack.cmd.documentclass">414</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.documentclass">419</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.documentclass">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.documentclass">55</a></li> + <li><a name="cmd.dictum"></a><a href="#cmd.dictum">\dictum</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictum">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictum">307</a></li> + <li><a name="cmd.dictumauthorformat"></a><a href="#cmd.dictumauthorformat">\dictumauthorformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictumauthorformat">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictumauthorformat">307</a></li> + <li><a name="cmd.dictumrule"></a><a href="#cmd.dictumrule">\dictumrule</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictumrule">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictumrule">307</a></li> + <li><a name="cmd.dictumwidth"></a><a href="#cmd.dictumwidth">\dictumwidth</a> → <a href="scrguien.pdf#desc:maincls.cmd.dictumwidth">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.dictumwidth">307</a></li> + <li><a name="cmd.documentclass"></a><a href="#cmd.documentclass">\documentclass</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.documentclass">153</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.documentclass">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.documentclass">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.documentclass">310</a>, <a href="scrguien.pdf#desc:typearea.cmd.documentclass">32</a>, <a href="scrguien.pdf#desc:scrhack.cmd.documentclass">414</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.documentclass">419</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.documentclass">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.documentclass">55</a></li> <li><a name="cmd.doforeachtocfile"></a><a href="#cmd.doforeachtocfile">\doforeachtocfile</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.doforeachtocfile">379</a></li> <li><a name="cmd.ellipsispar"></a><a href="#cmd.ellipsispar">\ellipsispar</a> → <a href="scrguien.pdf#desc:scrjura.cmd.ellipsispar">318</a></li> <li><a name="cmd.emailname"></a><a href="#cmd.emailname">\emailname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.emailname">512</a></li> - <li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.encl">176</a></li> + <li><a name="cmd.encl"></a><a href="#cmd.encl">\encl</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.encl">177</a></li> <li><a name="cmd.enclname"></a><a href="#cmd.enclname">\enclname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.enclname">512</a></li> <li><a name="cmd.extratitle"></a><a href="#cmd.extratitle">\extratitle</a> → <a href="scrguien.pdf#desc:scrextend.cmd.extratitle">298</a>, <a href="scrguien.pdf#desc:maincls.cmd.extratitle">67</a></li> <li><a name="cmd.faxname"></a><a href="#cmd.faxname">\faxname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.faxname">512</a></li> - <li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.figureformat">138</a></li> + <li><a name="cmd.figureformat"></a><a href="#cmd.figureformat">\figureformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.figureformat">139</a></li> <li><a name="cmd.flushbottom"></a><a href="#cmd.flushbottom">\flushbottom</a> → <a href="scrguien.pdf#desc:maincls.cmd.flushbottom">58</a></li> - <li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footnote">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footnote">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footnote">90</a></li> - <li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footnotemark">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footnotemark">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footnotemark">90</a></li> - <li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footnotetext">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footnotetext">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footnotetext">90</a></li> - <li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footref">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footref">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footref">91</a></li> + <li><a name="cmd.footnote"></a><a href="#cmd.footnote">\footnote</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footnote">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footnote">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footnote">90</a></li> + <li><a name="cmd.footnotemark"></a><a href="#cmd.footnotemark">\footnotemark</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footnotemark">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footnotemark">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footnotemark">90</a></li> + <li><a name="cmd.footnotetext"></a><a href="#cmd.footnotetext">\footnotetext</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footnotetext">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footnotetext">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footnotetext">90</a></li> + <li><a name="cmd.footref"></a><a href="#cmd.footref">\footref</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.footref">237</a>, <a href="scrguien.pdf#desc:scrextend.cmd.footref">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.footref">91</a></li> <li><a name="cmd.foreachemptykomavar"></a><a href="#cmd.foreachemptykomavar">\foreachemptykomavar</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.foreachemptykomavar">507</a></li> <li><a name="cmd.foreachkomavar"></a><a href="#cmd.foreachkomavar">\foreachkomavar</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.foreachkomavar">507</a></li> <li><a name="cmd.foreachkomavarifempty"></a><a href="#cmd.foreachkomavarifempty">\foreachkomavarifempty</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.foreachkomavarifempty">507</a></li> <li><a name="cmd.foreachnonemptykomavar"></a><a href="#cmd.foreachnonemptykomavar">\foreachnonemptykomavar</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.foreachnonemptykomavar">507</a></li> <li><a name="cmd.frontispiece"></a><a href="#cmd.frontispiece">\frontispiece</a> → <a href="scrguien.pdf#desc:scrextend.cmd.frontispiece">298</a>, <a href="scrguien.pdf#desc:maincls.cmd.frontispiece">67</a></li> - <li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> → <a href="scrguien.pdf#desc:maincls.cmd.frontmatter">94</a></li> + <li><a name="cmd.frontmatter"></a><a href="#cmd.frontmatter">\frontmatter</a> → <a href="scrguien.pdf#desc:maincls.cmd.frontmatter">95</a></li> <li><a name="cmd.headfromname"></a><a href="#cmd.headfromname">\headfromname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.headfromname">512</a></li> <li><a name="cmd.headmark"></a><a href="#cmd.headmark">\headmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.headmark">272</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.headmark">445</a></li> <li><a name="cmd.headtoname"></a><a href="#cmd.headtoname">\headtoname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.headtoname">512</a></li> @@ -581,15 +580,15 @@ <li><a name="cmd.ihead"></a><a href="#cmd.ihead">\ihead</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.ihead">266</a></li> <li><a name="cmd.indexpagestyle"></a><a href="#cmd.indexpagestyle">\indexpagestyle</a> → <a href="scrguien.pdf#desc:maincls.cmd.indexpagestyle">84</a></li> <li><a name="cmd.invoicename"></a><a href="#cmd.invoicename">\invoicename</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.invoicename">512</a></li> - <li><a name="cmd.item"></a><a href="#cmd.item">\item</a> → <a href="scrguien.pdf#desc:maincls.cmd.item">118</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.item">238</a></li> - <li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumi">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumi">239</a></li> - <li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumii">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumii">239</a></li> - <li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumiii">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumiii">239</a></li> - <li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumiv">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumiv">239</a></li> - <li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemi">118</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemi">238</a></li> - <li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemii">118</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemii">238</a></li> - <li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemiii">118</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemiii">238</a></li> - <li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemiv">118</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemiv">238</a></li> + <li><a name="cmd.item"></a><a href="#cmd.item">\item</a> → <a href="scrguien.pdf#desc:maincls.cmd.item">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.item">239</a></li> + <li><a name="cmd.labelenumi"></a><a href="#cmd.labelenumi">\labelenumi</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumi">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumi">240</a></li> + <li><a name="cmd.labelenumii"></a><a href="#cmd.labelenumii">\labelenumii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumii">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumii">240</a></li> + <li><a name="cmd.labelenumiii"></a><a href="#cmd.labelenumiii">\labelenumiii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumiii">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumiii">240</a></li> + <li><a name="cmd.labelenumiv"></a><a href="#cmd.labelenumiv">\labelenumiv</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelenumiv">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelenumiv">240</a></li> + <li><a name="cmd.labelitemi"></a><a href="#cmd.labelitemi">\labelitemi</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemi">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemi">239</a></li> + <li><a name="cmd.labelitemii"></a><a href="#cmd.labelitemii">\labelitemii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemii">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemii">239</a></li> + <li><a name="cmd.labelitemiii"></a><a href="#cmd.labelitemiii">\labelitemiii</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemiii">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemiii">239</a></li> + <li><a name="cmd.labelitemiv"></a><a href="#cmd.labelitemiv">\labelitemiv</a> → <a href="scrguien.pdf#desc:maincls.cmd.labelitemiv">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.labelitemiv">239</a></li> <li><a name="cmd.layercontentsmeasure"></a><a href="#cmd.layercontentsmeasure">\layercontentsmeasure</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.layercontentsmeasure">432</a></li> <li><a name="cmd.layerhalign"></a><a href="#cmd.layerhalign">\layerhalign</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.layerhalign">430</a></li> <li><a name="cmd.layerheight"></a><a href="#cmd.layerheight">\layerheight</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.layerheight">430</a></li> @@ -605,12 +604,12 @@ <li><a name="cmd.lefttopmark"></a><a href="#cmd.lefttopmark">\lefttopmark</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.lefttopmark">444</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.lefttopmark">449</a></li> <li><a name="cmd.lehead*"></a><a href="#cmd.lehead*">\lehead*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.lehead*">262</a></li> <li><a name="cmd.lehead"></a><a href="#cmd.lehead">\lehead</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.lehead">260</a></li> - <li><a name="cmd.letterlastpage"></a><a href="#cmd.letterlastpage">\letterlastpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.letterlastpage">171</a></li> - <li><a name="cmd.letterpagestyle"></a><a href="#cmd.letterpagestyle">\letterpagestyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.letterpagestyle">228</a></li> + <li><a name="cmd.letterlastpage"></a><a href="#cmd.letterlastpage">\letterlastpage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.letterlastpage">172</a></li> + <li><a name="cmd.letterpagestyle"></a><a href="#cmd.letterpagestyle">\letterpagestyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.letterpagestyle">229</a></li> <li><a name="cmd.listof/extension/name"></a><a href="#cmd.listof/extension/name">\listof/extension/name</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.listof/extension/name">382</a></li> <li><a name="cmd.listofeachtoc"></a><a href="#cmd.listofeachtoc">\listofeachtoc</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.listofeachtoc">382</a></li> - <li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> → <a href="scrguien.pdf#desc:maincls.cmd.listoffigures">145</a></li> - <li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> → <a href="scrguien.pdf#desc:maincls.cmd.listoftables">145</a></li> + <li><a name="cmd.listoffigures"></a><a href="#cmd.listoffigures">\listoffigures</a> → <a href="scrguien.pdf#desc:maincls.cmd.listoffigures">146</a></li> + <li><a name="cmd.listoftables"></a><a href="#cmd.listoftables">\listoftables</a> → <a href="scrguien.pdf#desc:maincls.cmd.listoftables">146</a></li> <li><a name="cmd.listoftoc*"></a><a href="#cmd.listoftoc*">\listoftoc*</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.listoftoc*">382</a></li> <li><a name="cmd.listoftoc"></a><a href="#cmd.listoftoc">\listoftoc</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.listoftoc">382</a></li> <li><a name="cmd.lofoot*"></a><a href="#cmd.lofoot*">\lofoot*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.lofoot*">265</a></li> @@ -618,21 +617,21 @@ <li><a name="cmd.lohead*"></a><a href="#cmd.lohead*">\lohead*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.lohead*">262</a></li> <li><a name="cmd.lohead"></a><a href="#cmd.lohead">\lohead</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.lohead">260</a></li> <li><a name="cmd.lowertitleback"></a><a href="#cmd.lowertitleback">\lowertitleback</a> → <a href="scrguien.pdf#desc:scrextend.cmd.lowertitleback">300</a>, <a href="scrguien.pdf#desc:maincls.cmd.lowertitleback">71</a></li> - <li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> → <a href="scrguien.pdf#desc:maincls.cmd.mainmatter">94</a></li> + <li><a name="cmd.mainmatter"></a><a href="#cmd.mainmatter">\mainmatter</a> → <a href="scrguien.pdf#desc:maincls.cmd.mainmatter">95</a></li> <li><a name="cmd.makenote*"></a><a href="#cmd.makenote*">\makenote*</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.makenote*">466</a></li> <li><a name="cmd.makenote"></a><a href="#cmd.makenote">\makenote</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.makenote">466</a></li> <li><a name="cmd.maketitle"></a><a href="#cmd.maketitle">\maketitle</a> → <a href="scrguien.pdf#desc:scrextend.cmd.maketitle">298</a>, <a href="scrguien.pdf#desc:maincls.cmd.maketitle">67</a></li> <li><a name="cmd.manualmark"></a><a href="#cmd.manualmark">\manualmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.manualmark">269</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.manualmark">443</a></li> - <li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> → <a href="scrguien.pdf#desc:maincls.cmd.marginline">146</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.marginline">242</a>, <a href="scrguien.pdf#desc:scrextend.cmd.marginline">309</a></li> - <li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> → <a href="scrguien.pdf#desc:maincls.cmd.marginpar">146</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.marginpar">242</a>, <a href="scrguien.pdf#desc:scrextend.cmd.marginpar">309</a></li> - <li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.markboth">232</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.markboth">275</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.markboth">447</a>, <a href="scrguien.pdf#desc:maincls.cmd.markboth">83</a></li> + <li><a name="cmd.marginline"></a><a href="#cmd.marginline">\marginline</a> → <a href="scrguien.pdf#desc:maincls.cmd.marginline">147</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.marginline">243</a>, <a href="scrguien.pdf#desc:scrextend.cmd.marginline">309</a></li> + <li><a name="cmd.marginpar"></a><a href="#cmd.marginpar">\marginpar</a> → <a href="scrguien.pdf#desc:maincls.cmd.marginpar">147</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.marginpar">243</a>, <a href="scrguien.pdf#desc:scrextend.cmd.marginpar">309</a></li> + <li><a name="cmd.markboth"></a><a href="#cmd.markboth">\markboth</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.markboth">233</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.markboth">275</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.markboth">447</a>, <a href="scrguien.pdf#desc:maincls.cmd.markboth">83</a></li> <li><a name="cmd.markdouble"></a><a href="#cmd.markdouble">\markdouble</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.markdouble">275</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.markdouble">447</a></li> <li><a name="cmd.markleft"></a><a href="#cmd.markleft">\markleft</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.markleft">275</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.markleft">447</a></li> - <li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.markright">232</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.markright">275</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.markright">447</a>, <a href="scrguien.pdf#desc:maincls.cmd.markright">83</a></li> - <li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> → <a href="scrguien.pdf#desc:maincls.cmd.minisec">106</a></li> + <li><a name="cmd.markright"></a><a href="#cmd.markright">\markright</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.markright">233</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.markright">275</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.markright">447</a>, <a href="scrguien.pdf#desc:maincls.cmd.markright">83</a></li> + <li><a name="cmd.minisec"></a><a href="#cmd.minisec">\minisec</a> → <a href="scrguien.pdf#desc:maincls.cmd.minisec">107</a></li> <li><a name="cmd.mobilephonename"></a><a href="#cmd.mobilephonename">\mobilephonename</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.mobilephonename">512</a></li> - <li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.multfootsep">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.multfootsep">303</a>, <a href="scrguien.pdf#desc:maincls.cmd.multfootsep">90</a></li> - <li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.multiplefootnoteseparator">235</a>, <a href="scrguien.pdf#desc:scrextend.cmd.multiplefootnoteseparator">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.multiplefootnoteseparator">90</a></li> + <li><a name="cmd.multfootsep"></a><a href="#cmd.multfootsep">\multfootsep</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.multfootsep">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.multfootsep">303</a>, <a href="scrguien.pdf#desc:maincls.cmd.multfootsep">90</a></li> + <li><a name="cmd.multiplefootnoteseparator"></a><a href="#cmd.multiplefootnoteseparator">\multiplefootnoteseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.multiplefootnoteseparator">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.multiplefootnoteseparator">304</a>, <a href="scrguien.pdf#desc:maincls.cmd.multiplefootnoteseparator">90</a></li> <li><a name="cmd.myrefname"></a><a href="#cmd.myrefname">\myrefname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.myrefname">512</a></li> <li><a name="cmd.nameday"></a><a href="#cmd.nameday">\nameday</a> → <a href="scrguien.pdf#desc:scrdate.cmd.nameday">282</a></li> <li><a name="cmd.newbibstyle"></a><a href="#cmd.newbibstyle">\newbibstyle</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.newbibstyle">503</a></li> @@ -645,34 +644,34 @@ <li><a name="cmd.newkomavar"></a><a href="#cmd.newkomavar">\newkomavar</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.newkomavar">505</a></li> <li><a name="cmd.newpagestyle"></a><a href="#cmd.newpagestyle">\newpagestyle</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.newpagestyle">454</a></li> <li><a name="cmd.newpairofpagestyles"></a><a href="#cmd.newpairofpagestyles">\newpairofpagestyles</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.newpairofpagestyles">453</a></li> - <li><a name="cmd.newplength"></a><a href="#cmd.newplength">\newplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.newplength">165</a></li> + <li><a name="cmd.newplength"></a><a href="#cmd.newplength">\newplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.newplength">166</a></li> <li><a name="cmd.nonumberline"></a><a href="#cmd.nonumberline">\nonumberline</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.nonumberline">404</a></li> <li><a name="cmd.numberline"></a><a href="#cmd.numberline">\numberline</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.numberline">388</a></li> <li><a name="cmd.ofoot*"></a><a href="#cmd.ofoot*">\ofoot*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.ofoot*">267</a></li> <li><a name="cmd.ofoot"></a><a href="#cmd.ofoot">\ofoot</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.ofoot">266</a></li> <li><a name="cmd.ohead*"></a><a href="#cmd.ohead*">\ohead*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.ohead*">267</a></li> <li><a name="cmd.ohead"></a><a href="#cmd.ohead">\ohead</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.ohead">266</a></li> - <li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.opening">172</a></li> - <li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.othersectionlevelsformat">109</a></li> + <li><a name="cmd.opening"></a><a href="#cmd.opening">\opening</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.opening">173</a></li> + <li><a name="cmd.othersectionlevelsformat"></a><a href="#cmd.othersectionlevelsformat">\othersectionlevelsformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.othersectionlevelsformat">110</a></li> <li><a name="cmd.pagemark"></a><a href="#cmd.pagemark">\pagemark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.pagemark">272</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.pagemark">445</a></li> <li><a name="cmd.pagename"></a><a href="#cmd.pagename">\pagename</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.pagename">512</a></li> <li><a name="cmd.pagenumbering"></a><a href="#cmd.pagenumbering">\pagenumbering</a> → <a href="scrguien.pdf#desc:maincls.cmd.pagenumbering">85</a></li> - <li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.pagestyle">231</a>, <a href="scrguien.pdf#desc:maincls.cmd.pagestyle">81</a></li> - <li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraph*">105</a></li> + <li><a name="cmd.pagestyle"></a><a href="#cmd.pagestyle">\pagestyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.pagestyle">232</a>, <a href="scrguien.pdf#desc:maincls.cmd.pagestyle">81</a></li> + <li><a name="cmd.paragraph*"></a><a href="#cmd.paragraph*">\paragraph*</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraph*">106</a></li> <li><a name="cmd.paragraph"></a><a href="#cmd.paragraph">\paragraph</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraph">101</a></li> - <li><a name="cmd.paragraphformat"></a><a href="#cmd.paragraphformat">\paragraphformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraphformat">109</a></li> + <li><a name="cmd.paragraphformat"></a><a href="#cmd.paragraphformat">\paragraphformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraphformat">110</a></li> <li><a name="cmd.paragraphmark"></a><a href="#cmd.paragraphmark">\paragraphmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.paragraphmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.paragraphmark">446</a></li> <li><a name="cmd.paragraphmarkformat"></a><a href="#cmd.paragraphmarkformat">\paragraphmarkformat</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.paragraphmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.paragraphmarkformat">446</a></li> - <li><a name="cmd.paragraphnumdepth"></a><a href="#cmd.paragraphnumdepth">\paragraphnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraphnumdepth">113</a></li> + <li><a name="cmd.paragraphnumdepth"></a><a href="#cmd.paragraphnumdepth">\paragraphnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraphnumdepth">114</a></li> <li><a name="cmd.paragraphtocdepth"></a><a href="#cmd.paragraphtocdepth">\paragraphtocdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.paragraphtocdepth">77</a></li> <li><a name="cmd.parellipsis"></a><a href="#cmd.parellipsis">\parellipsis</a> → <a href="scrguien.pdf#desc:scrjura.cmd.parellipsis">318</a></li> <li><a name="cmd.parformat"></a><a href="#cmd.parformat">\parformat</a> → <a href="scrguien.pdf#desc:scrjura.cmd.parformat">318</a></li> <li><a name="cmd.parformatseparation"></a><a href="#cmd.parformatseparation">\parformatseparation</a> → <a href="scrguien.pdf#desc:scrjura.cmd.parformatseparation">318</a></li> <li><a name="cmd.parname"></a><a href="#cmd.parname">\parname</a> → <a href="scrguien.pdf#desc:scrjura.cmd.parname">325</a></li> <li><a name="cmd.parshortname"></a><a href="#cmd.parshortname">\parshortname</a> → <a href="scrguien.pdf#desc:scrjura.cmd.parshortname">325</a></li> - <li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> → <a href="scrguien.pdf#desc:maincls.cmd.part*">105</a></li> + <li><a name="cmd.part*"></a><a href="#cmd.part*">\part*</a> → <a href="scrguien.pdf#desc:maincls.cmd.part*">106</a></li> <li><a name="cmd.part"></a><a href="#cmd.part">\part</a> → <a href="scrguien.pdf#desc:maincls.cmd.part">101</a></li> - <li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.partformat">109</a></li> + <li><a name="cmd.partformat"></a><a href="#cmd.partformat">\partformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.partformat">110</a></li> <li><a name="cmd.partheademptypage"></a><a href="#cmd.partheademptypage">\partheademptypage</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.partheademptypage">493</a></li> <li><a name="cmd.partheadendvskip"></a><a href="#cmd.partheadendvskip">\partheadendvskip</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.partheadendvskip">493</a></li> <li><a name="cmd.partheadmidvskip"></a><a href="#cmd.partheadmidvskip">\partheadmidvskip</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.partheadmidvskip">493</a></li> @@ -680,7 +679,7 @@ <li><a name="cmd.partlineswithprefixformat"></a><a href="#cmd.partlineswithprefixformat">\partlineswithprefixformat</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.partlineswithprefixformat">494</a></li> <li><a name="cmd.partmark"></a><a href="#cmd.partmark">\partmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.partmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.partmark">446</a></li> <li><a name="cmd.partmarkformat"></a><a href="#cmd.partmarkformat">\partmarkformat</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.partmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.partmarkformat">446</a></li> - <li><a name="cmd.partnumdepth"></a><a href="#cmd.partnumdepth">\partnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.partnumdepth">113</a></li> + <li><a name="cmd.partnumdepth"></a><a href="#cmd.partnumdepth">\partnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.partnumdepth">114</a></li> <li><a name="cmd.partpagestyle"></a><a href="#cmd.partpagestyle">\partpagestyle</a> → <a href="scrguien.pdf#desc:maincls.cmd.partpagestyle">84</a></li> <li><a name="cmd.parttocdepth"></a><a href="#cmd.parttocdepth">\parttocdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.parttocdepth">77</a></li> <li><a name="cmd.phonename"></a><a href="#cmd.phonename">\phonename</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.phonename">512</a></li> @@ -688,7 +687,7 @@ <li><a name="cmd.providecaptionname"></a><a href="#cmd.providecaptionname">\providecaptionname</a> → <a href="scrguien.pdf#desc:scrbase.cmd.providecaptionname">352</a></li> <li><a name="cmd.providepagestyle"></a><a href="#cmd.providepagestyle">\providepagestyle</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.providepagestyle">454</a></li> <li><a name="cmd.providepairofpagestyles"></a><a href="#cmd.providepairofpagestyles">\providepairofpagestyles</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage-experts.cmd.providepairofpagestyles">453</a></li> - <li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.ps">174</a></li> + <li><a name="cmd.ps"></a><a href="#cmd.ps">\ps</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.ps">175</a></li> <li><a name="cmd.publishers"></a><a href="#cmd.publishers">\publishers</a> → <a href="scrguien.pdf#desc:scrextend.cmd.publishers">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.publishers">68</a></li> <li><a name="cmd.putC"></a><a href="#cmd.putC">\putC</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.putC">431</a></li> <li><a name="cmd.putLL"></a><a href="#cmd.putLL">\putLL</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.putLL">431</a></li> @@ -696,15 +695,15 @@ <li><a name="cmd.putUL"></a><a href="#cmd.putUL">\putUL</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.putUL">431</a></li> <li><a name="cmd.putUR"></a><a href="#cmd.putUR">\putUR</a> → <a href="scrguien.pdf#desc:scrlayer.cmd.putUR">431</a></li> <li><a name="cmd.raggedbottom"></a><a href="#cmd.raggedbottom">\raggedbottom</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedbottom">58</a></li> - <li><a name="cmd.raggedchapter"></a><a href="#cmd.raggedchapter">\raggedchapter</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedchapter">108</a></li> + <li><a name="cmd.raggedchapter"></a><a href="#cmd.raggedchapter">\raggedchapter</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedchapter">109</a></li> <li><a name="cmd.raggedchapterentry"></a><a href="#cmd.raggedchapterentry">\raggedchapterentry</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.raggedchapterentry">477</a></li> - <li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggeddictum">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggeddictum">306</a></li> - <li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggeddictumauthor">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggeddictumauthor">306</a></li> - <li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggeddictumtext">116</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggeddictumtext">306</a></li> - <li><a name="cmd.raggedfootnote"></a><a href="#cmd.raggedfootnote">\raggedfootnote</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.raggedfootnote">237</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggedfootnote">306</a>, <a href="scrguien.pdf#desc:maincls.cmd.raggedfootnote">94</a></li> - <li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedpart">108</a></li> - <li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedsection">108</a></li> - <li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.raggedsignature">221</a></li> + <li><a name="cmd.raggeddictum"></a><a href="#cmd.raggeddictum">\raggeddictum</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggeddictum">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggeddictum">307</a></li> + <li><a name="cmd.raggeddictumauthor"></a><a href="#cmd.raggeddictumauthor">\raggeddictumauthor</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggeddictumauthor">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggeddictumauthor">307</a></li> + <li><a name="cmd.raggeddictumtext"></a><a href="#cmd.raggeddictumtext">\raggeddictumtext</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggeddictumtext">117</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggeddictumtext">307</a></li> + <li><a name="cmd.raggedfootnote"></a><a href="#cmd.raggedfootnote">\raggedfootnote</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.raggedfootnote">238</a>, <a href="scrguien.pdf#desc:scrextend.cmd.raggedfootnote">306</a>, <a href="scrguien.pdf#desc:maincls.cmd.raggedfootnote">94</a></li> + <li><a name="cmd.raggedpart"></a><a href="#cmd.raggedpart">\raggedpart</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedpart">109</a></li> + <li><a name="cmd.raggedsection"></a><a href="#cmd.raggedsection">\raggedsection</a> → <a href="scrguien.pdf#desc:maincls.cmd.raggedsection">109</a></li> + <li><a name="cmd.raggedsignature"></a><a href="#cmd.raggedsignature">\raggedsignature</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.raggedsignature">222</a></li> <li><a name="cmd.recalctypearea"></a><a href="#cmd.recalctypearea">\recalctypearea</a> → <a href="scrguien.pdf#desc:typearea.cmd.recalctypearea">40</a></li> <li><a name="cmd.ref"></a><a href="#cmd.ref">\ref</a> → <a href="scrguien.pdf#desc:scrjura.cmd.ref">320</a></li> <li><a name="cmd.refClause"></a><a href="#cmd.refClause">\refClause</a> → <a href="scrguien.pdf#desc:scrjura.cmd.refClause">320</a></li> @@ -739,82 +738,82 @@ <li><a name="cmd.rohead*"></a><a href="#cmd.rohead*">\rohead*</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.rohead*">262</a></li> <li><a name="cmd.rohead"></a><a href="#cmd.rohead">\rohead</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.rohead">260</a></li> <li><a name="cmd.scr@startsection"></a><a href="#cmd.scr@startsection">\scr@startsection</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.scr@startsection">500</a></li> - <li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> → <a href="scrguien.pdf#desc:maincls.cmd.section*">105</a></li> + <li><a name="cmd.section*"></a><a href="#cmd.section*">\section*</a> → <a href="scrguien.pdf#desc:maincls.cmd.section*">106</a></li> <li><a name="cmd.section"></a><a href="#cmd.section">\section</a> → <a href="scrguien.pdf#desc:maincls.cmd.section">101</a></li> <li><a name="cmd.sectioncatchphraseformat"></a><a href="#cmd.sectioncatchphraseformat">\sectioncatchphraseformat</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.sectioncatchphraseformat">498</a></li> - <li><a name="cmd.sectionformat"></a><a href="#cmd.sectionformat">\sectionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionformat">109</a></li> + <li><a name="cmd.sectionformat"></a><a href="#cmd.sectionformat">\sectionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionformat">110</a></li> <li><a name="cmd.sectionlinesformat"></a><a href="#cmd.sectionlinesformat">\sectionlinesformat</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.sectionlinesformat">498</a></li> - <li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionmark">112</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.sectionmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.sectionmark">446</a></li> - <li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionmarkformat">112</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.sectionmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.sectionmarkformat">446</a></li> - <li><a name="cmd.sectionnumdepth"></a><a href="#cmd.sectionnumdepth">\sectionnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionnumdepth">113</a></li> + <li><a name="cmd.sectionmark"></a><a href="#cmd.sectionmark">\sectionmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionmark">113</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.sectionmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.sectionmark">446</a></li> + <li><a name="cmd.sectionmarkformat"></a><a href="#cmd.sectionmarkformat">\sectionmarkformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionmarkformat">113</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.sectionmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.sectionmarkformat">446</a></li> + <li><a name="cmd.sectionnumdepth"></a><a href="#cmd.sectionnumdepth">\sectionnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectionnumdepth">114</a></li> <li><a name="cmd.sectiontocdepth"></a><a href="#cmd.sectiontocdepth">\sectiontocdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.sectiontocdepth">77</a></li> <li><a name="cmd.sentencename"></a><a href="#cmd.sentencename">\sentencename</a> → <a href="scrguien.pdf#desc:scrjura.cmd.sentencename">325</a></li> <li><a name="cmd.sentencenumberformat"></a><a href="#cmd.sentencenumberformat">\sentencenumberformat</a> → <a href="scrguien.pdf#desc:scrjura.cmd.sentencenumberformat">319</a></li> <li><a name="cmd.sentenceshortname"></a><a href="#cmd.sentenceshortname">\sentenceshortname</a> → <a href="scrguien.pdf#desc:scrjura.cmd.sentenceshortname">325</a></li> - <li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setbibpreamble">149</a></li> - <li><a name="cmd.setcapdynwidth"></a><a href="#cmd.setcapdynwidth">\setcapdynwidth</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapdynwidth">140</a></li> - <li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcaphanging">138</a></li> - <li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapindent*">138</a></li> - <li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapindent">138</a></li> - <li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapmargin*">140</a></li> - <li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapmargin">140</a></li> - <li><a name="cmd.setcaptionalignment"></a><a href="#cmd.setcaptionalignment">\setcaptionalignment</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcaptionalignment">141</a></li> - <li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapwidth">140</a></li> - <li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setchapterpreamble">114</a></li> - <li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setfootnoterule">237</a>, <a href="scrguien.pdf#desc:maincls.cmd.setfootnoterule">94</a></li> - <li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setindexpreamble">151</a></li> - <li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setkomafont">180</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.setkomafont">257</a>, <a href="scrguien.pdf#desc:scrextend.cmd.setkomafont">295</a>, <a href="scrguien.pdf#desc:scrjura.cmd.setkomafont">311</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.setkomafont">460</a>, <a href="scrguien.pdf#desc:maincls.cmd.setkomafont">59</a></li> - <li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setkomavar*">159</a></li> - <li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setkomavar">159</a></li> - <li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setlengthtoplength">168</a></li> + <li><a name="cmd.setbibpreamble"></a><a href="#cmd.setbibpreamble">\setbibpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setbibpreamble">150</a></li> + <li><a name="cmd.setcapdynwidth"></a><a href="#cmd.setcapdynwidth">\setcapdynwidth</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapdynwidth">141</a></li> + <li><a name="cmd.setcaphanging"></a><a href="#cmd.setcaphanging">\setcaphanging</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcaphanging">139</a></li> + <li><a name="cmd.setcapindent*"></a><a href="#cmd.setcapindent*">\setcapindent*</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapindent*">139</a></li> + <li><a name="cmd.setcapindent"></a><a href="#cmd.setcapindent">\setcapindent</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapindent">139</a></li> + <li><a name="cmd.setcapmargin*"></a><a href="#cmd.setcapmargin*">\setcapmargin*</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapmargin*">141</a></li> + <li><a name="cmd.setcapmargin"></a><a href="#cmd.setcapmargin">\setcapmargin</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapmargin">141</a></li> + <li><a name="cmd.setcaptionalignment"></a><a href="#cmd.setcaptionalignment">\setcaptionalignment</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcaptionalignment">142</a></li> + <li><a name="cmd.setcapwidth"></a><a href="#cmd.setcapwidth">\setcapwidth</a> → <a href="scrguien.pdf#desc:maincls.cmd.setcapwidth">141</a></li> + <li><a name="cmd.setchapterpreamble"></a><a href="#cmd.setchapterpreamble">\setchapterpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setchapterpreamble">115</a></li> + <li><a name="cmd.setfootnoterule"></a><a href="#cmd.setfootnoterule">\setfootnoterule</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setfootnoterule">238</a>, <a href="scrguien.pdf#desc:maincls.cmd.setfootnoterule">94</a></li> + <li><a name="cmd.setindexpreamble"></a><a href="#cmd.setindexpreamble">\setindexpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setindexpreamble">152</a></li> + <li><a name="cmd.setkomafont"></a><a href="#cmd.setkomafont">\setkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setkomafont">181</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.setkomafont">257</a>, <a href="scrguien.pdf#desc:scrextend.cmd.setkomafont">295</a>, <a href="scrguien.pdf#desc:scrjura.cmd.setkomafont">311</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.setkomafont">460</a>, <a href="scrguien.pdf#desc:maincls.cmd.setkomafont">59</a></li> + <li><a name="cmd.setkomavar*"></a><a href="#cmd.setkomavar*">\setkomavar*</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setkomavar*">160</a></li> + <li><a name="cmd.setkomavar"></a><a href="#cmd.setkomavar">\setkomavar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setkomavar">160</a></li> + <li><a name="cmd.setlengthtoplength"></a><a href="#cmd.setlengthtoplength">\setlengthtoplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setlengthtoplength">169</a></li> <li><a name="cmd.setparsizes"></a><a href="#cmd.setparsizes">\setparsizes</a> → <a href="scrguien.pdf#desc:maincls-experts.cmd.setparsizes">481</a></li> - <li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setpartpreamble">114</a></li> - <li><a name="cmd.setplength"></a><a href="#cmd.setplength">\setplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplength">167</a></li> - <li><a name="cmd.setplengthtodepth"></a><a href="#cmd.setplengthtodepth">\setplengthtodepth</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtodepth">167</a></li> - <li><a name="cmd.setplengthtoheight"></a><a href="#cmd.setplengthtoheight">\setplengthtoheight</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtoheight">167</a></li> - <li><a name="cmd.setplengthtototalheight"></a><a href="#cmd.setplengthtototalheight">\setplengthtototalheight</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtototalheight">167</a></li> - <li><a name="cmd.setplengthtowidth"></a><a href="#cmd.setplengthtowidth">\setplengthtowidth</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtowidth">167</a></li> + <li><a name="cmd.setpartpreamble"></a><a href="#cmd.setpartpreamble">\setpartpreamble</a> → <a href="scrguien.pdf#desc:maincls.cmd.setpartpreamble">115</a></li> + <li><a name="cmd.setplength"></a><a href="#cmd.setplength">\setplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplength">168</a></li> + <li><a name="cmd.setplengthtodepth"></a><a href="#cmd.setplengthtodepth">\setplengthtodepth</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtodepth">168</a></li> + <li><a name="cmd.setplengthtoheight"></a><a href="#cmd.setplengthtoheight">\setplengthtoheight</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtoheight">168</a></li> + <li><a name="cmd.setplengthtototalheight"></a><a href="#cmd.setplengthtototalheight">\setplengthtototalheight</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtototalheight">168</a></li> + <li><a name="cmd.setplengthtowidth"></a><a href="#cmd.setplengthtowidth">\setplengthtowidth</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.setplengthtowidth">168</a></li> <li><a name="cmd.settime"></a><a href="#cmd.settime">\settime</a> → <a href="scrguien.pdf#desc:scrtime.cmd.settime">285</a></li> <li><a name="cmd.setuptoc"></a><a href="#cmd.setuptoc">\setuptoc</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.setuptoc">385</a></li> <li><a name="cmd.storeareas"></a><a href="#cmd.storeareas">\storeareas</a> → <a href="scrguien.pdf#desc:typearea-experts.cmd.storeareas">473</a></li> <li><a name="cmd.subject"></a><a href="#cmd.subject">\subject</a> → <a href="scrguien.pdf#desc:scrextend.cmd.subject">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.subject">68</a></li> <li><a name="cmd.subjectname"></a><a href="#cmd.subjectname">\subjectname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.subjectname">512</a></li> - <li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraph*">105</a></li> + <li><a name="cmd.subparagraph*"></a><a href="#cmd.subparagraph*">\subparagraph*</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraph*">106</a></li> <li><a name="cmd.subparagraph"></a><a href="#cmd.subparagraph">\subparagraph</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraph">101</a></li> - <li><a name="cmd.subparagraphformat"></a><a href="#cmd.subparagraphformat">\subparagraphformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraphformat">109</a></li> + <li><a name="cmd.subparagraphformat"></a><a href="#cmd.subparagraphformat">\subparagraphformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraphformat">110</a></li> <li><a name="cmd.subparagraphmark"></a><a href="#cmd.subparagraphmark">\subparagraphmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subparagraphmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subparagraphmark">446</a></li> <li><a name="cmd.subparagraphmarkformat"></a><a href="#cmd.subparagraphmarkformat">\subparagraphmarkformat</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subparagraphmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subparagraphmarkformat">446</a></li> - <li><a name="cmd.subparagraphnumdepth"></a><a href="#cmd.subparagraphnumdepth">\subparagraphnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraphnumdepth">113</a></li> + <li><a name="cmd.subparagraphnumdepth"></a><a href="#cmd.subparagraphnumdepth">\subparagraphnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraphnumdepth">114</a></li> <li><a name="cmd.subparagraphtocdepth"></a><a href="#cmd.subparagraphtocdepth">\subparagraphtocdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subparagraphtocdepth">77</a></li> - <li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsection*">105</a></li> + <li><a name="cmd.subsection*"></a><a href="#cmd.subsection*">\subsection*</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsection*">106</a></li> <li><a name="cmd.subsection"></a><a href="#cmd.subsection">\subsection</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsection">101</a></li> - <li><a name="cmd.subsectionformat"></a><a href="#cmd.subsectionformat">\subsectionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionformat">109</a></li> - <li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionmark">112</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subsectionmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subsectionmark">446</a></li> - <li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionmarkformat">112</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subsectionmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subsectionmarkformat">446</a></li> - <li><a name="cmd.subsectionnumdepth"></a><a href="#cmd.subsectionnumdepth">\subsectionnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionnumdepth">113</a></li> + <li><a name="cmd.subsectionformat"></a><a href="#cmd.subsectionformat">\subsectionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionformat">110</a></li> + <li><a name="cmd.subsectionmark"></a><a href="#cmd.subsectionmark">\subsectionmark</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionmark">113</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subsectionmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subsectionmark">446</a></li> + <li><a name="cmd.subsectionmarkformat"></a><a href="#cmd.subsectionmarkformat">\subsectionmarkformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionmarkformat">113</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subsectionmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subsectionmarkformat">446</a></li> + <li><a name="cmd.subsectionnumdepth"></a><a href="#cmd.subsectionnumdepth">\subsectionnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectionnumdepth">114</a></li> <li><a name="cmd.subsectiontocdepth"></a><a href="#cmd.subsectiontocdepth">\subsectiontocdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsectiontocdepth">77</a></li> - <li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsection*">105</a></li> + <li><a name="cmd.subsubsection*"></a><a href="#cmd.subsubsection*">\subsubsection*</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsection*">106</a></li> <li><a name="cmd.subsubsection"></a><a href="#cmd.subsubsection">\subsubsection</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsection">101</a></li> - <li><a name="cmd.subsubsectionformat"></a><a href="#cmd.subsubsectionformat">\subsubsectionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsectionformat">109</a></li> + <li><a name="cmd.subsubsectionformat"></a><a href="#cmd.subsubsectionformat">\subsubsectionformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsectionformat">110</a></li> <li><a name="cmd.subsubsectionmark"></a><a href="#cmd.subsubsectionmark">\subsubsectionmark</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subsubsectionmark">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subsubsectionmark">446</a></li> <li><a name="cmd.subsubsectionmarkformat"></a><a href="#cmd.subsubsectionmarkformat">\subsubsectionmarkformat</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.subsubsectionmarkformat">274</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.subsubsectionmarkformat">446</a></li> - <li><a name="cmd.subsubsectionnumdepth"></a><a href="#cmd.subsubsectionnumdepth">\subsubsectionnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsectionnumdepth">113</a></li> + <li><a name="cmd.subsubsectionnumdepth"></a><a href="#cmd.subsubsectionnumdepth">\subsubsectionnumdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsectionnumdepth">114</a></li> <li><a name="cmd.subsubsectiontocdepth"></a><a href="#cmd.subsubsectiontocdepth">\subsubsectiontocdepth</a> → <a href="scrguien.pdf#desc:maincls.cmd.subsubsectiontocdepth">77</a></li> <li><a name="cmd.subtitle"></a><a href="#cmd.subtitle">\subtitle</a> → <a href="scrguien.pdf#desc:scrextend.cmd.subtitle">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.subtitle">68</a></li> <li><a name="cmd.syncwithnotecolumn"></a><a href="#cmd.syncwithnotecolumn">\syncwithnotecolumn</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.syncwithnotecolumn">467</a></li> <li><a name="cmd.syncwithnotecolumns"></a><a href="#cmd.syncwithnotecolumns">\syncwithnotecolumns</a> → <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.syncwithnotecolumns">469</a></li> - <li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.tableformat">138</a></li> + <li><a name="cmd.tableformat"></a><a href="#cmd.tableformat">\tableformat</a> → <a href="scrguien.pdf#desc:maincls.cmd.tableformat">139</a></li> <li><a name="cmd.tableofcontents"></a><a href="#cmd.tableofcontents">\tableofcontents</a> → <a href="scrguien.pdf#desc:maincls.cmd.tableofcontents">76</a></li> <li><a name="cmd.thanks"></a><a href="#cmd.thanks">\thanks</a> → <a href="scrguien.pdf#desc:scrextend.cmd.thanks">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.thanks">68</a></li> - <li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumi">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumi">239</a></li> - <li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumii">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumii">239</a></li> - <li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumiii">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumiii">239</a></li> - <li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumiv">119</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumiv">239</a></li> - <li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.thefootnotemark">236</a>, <a href="scrguien.pdf#desc:scrextend.cmd.thefootnotemark">305</a>, <a href="scrguien.pdf#desc:maincls.cmd.thefootnotemark">92</a></li> + <li><a name="cmd.theenumi"></a><a href="#cmd.theenumi">\theenumi</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumi">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumi">240</a></li> + <li><a name="cmd.theenumii"></a><a href="#cmd.theenumii">\theenumii</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumii">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumii">240</a></li> + <li><a name="cmd.theenumiii"></a><a href="#cmd.theenumiii">\theenumiii</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumiii">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumiii">240</a></li> + <li><a name="cmd.theenumiv"></a><a href="#cmd.theenumiv">\theenumiv</a> → <a href="scrguien.pdf#desc:maincls.cmd.theenumiv">120</a>, <a href="scrguien.pdf#desc:scrlttr2.cmd.theenumiv">240</a></li> + <li><a name="cmd.thefootnotemark"></a><a href="#cmd.thefootnotemark">\thefootnotemark</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.thefootnotemark">237</a>, <a href="scrguien.pdf#desc:scrextend.cmd.thefootnotemark">305</a>, <a href="scrguien.pdf#desc:maincls.cmd.thefootnotemark">92</a></li> <li><a name="cmd.thepar"></a><a href="#cmd.thepar">\thepar</a> → <a href="scrguien.pdf#desc:scrjura.cmd.thepar">318</a></li> <li><a name="cmd.thesentence"></a><a href="#cmd.thesentence">\thesentence</a> → <a href="scrguien.pdf#desc:scrjura.cmd.thesentence">319</a></li> - <li><a name="cmd.thisletter"></a><a href="#cmd.thisletter">\thisletter</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.thisletter">171</a></li> - <li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.thispagestyle">231</a>, <a href="scrguien.pdf#desc:maincls.cmd.thispagestyle">81</a></li> + <li><a name="cmd.thisletter"></a><a href="#cmd.thisletter">\thisletter</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.thisletter">172</a></li> + <li><a name="cmd.thispagestyle"></a><a href="#cmd.thispagestyle">\thispagestyle</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.thispagestyle">232</a>, <a href="scrguien.pdf#desc:maincls.cmd.thispagestyle">81</a></li> <li><a name="cmd.thistime*"></a><a href="#cmd.thistime*">\thistime*</a> → <a href="scrguien.pdf#desc:scrtime.cmd.thistime*">284</a></li> <li><a name="cmd.thistime"></a><a href="#cmd.thistime">\thistime</a> → <a href="scrguien.pdf#desc:scrtime.cmd.thistime">284</a></li> <li><a name="cmd.title"></a><a href="#cmd.title">\title</a> → <a href="scrguien.pdf#desc:scrextend.cmd.title">299</a>, <a href="scrguien.pdf#desc:maincls.cmd.title">68</a></li> @@ -838,17 +837,17 @@ <li><a name="cmd.typearea"></a><a href="#cmd.typearea">\typearea</a> → <a href="scrguien.pdf#desc:typearea.cmd.typearea">40</a></li> <li><a name="cmd.unsettoc"></a><a href="#cmd.unsettoc">\unsettoc</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.unsettoc">385</a></li> <li><a name="cmd.uppertitleback"></a><a href="#cmd.uppertitleback">\uppertitleback</a> → <a href="scrguien.pdf#desc:scrextend.cmd.uppertitleback">300</a>, <a href="scrguien.pdf#desc:maincls.cmd.uppertitleback">71</a></li> - <li><a name="cmd.useencodingofkomafont"></a><a href="#cmd.useencodingofkomafont">\useencodingofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useencodingofkomafont">184</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.useencodingofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.useencodingofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.useencodingofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.useencodingofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.useencodingofkomafont">65</a></li> - <li><a name="cmd.usefamilyofkomafont"></a><a href="#cmd.usefamilyofkomafont">\usefamilyofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usefamilyofkomafont">184</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usefamilyofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usefamilyofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usefamilyofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usefamilyofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.usefamilyofkomafont">65</a></li> - <li><a name="cmd.usefontofkomafont"></a><a href="#cmd.usefontofkomafont">\usefontofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usefontofkomafont">184</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usefontofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usefontofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usefontofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usefontofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.usefontofkomafont">65</a></li> - <li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usekomafont">180</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usekomafont">257</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usekomafont">295</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usekomafont">311</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usekomafont">460</a>, <a href="scrguien.pdf#desc:maincls.cmd.usekomafont">59</a></li> - <li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usekomavar*">160</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.usekomavar*">506</a></li> - <li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usekomavar">160</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.usekomavar">506</a></li> - <li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usepackage">152</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usepackage">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usepackage">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usepackage">310</a>, <a href="scrguien.pdf#desc:typearea.cmd.usepackage">32</a>, <a href="scrguien.pdf#desc:scrhack.cmd.usepackage">414</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.usepackage">419</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usepackage">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.usepackage">55</a></li> - <li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useplength">167</a></li> - <li><a name="cmd.useseriesofkomafont"></a><a href="#cmd.useseriesofkomafont">\useseriesofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useseriesofkomafont">184</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.useseriesofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.useseriesofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.useseriesofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.useseriesofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.useseriesofkomafont">65</a></li> - <li><a name="cmd.useshapeofkomafont"></a><a href="#cmd.useshapeofkomafont">\useshapeofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useshapeofkomafont">184</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.useshapeofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.useshapeofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.useshapeofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.useshapeofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.useshapeofkomafont">65</a></li> - <li><a name="cmd.usesizeofkomafont"></a><a href="#cmd.usesizeofkomafont">\usesizeofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usesizeofkomafont">184</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usesizeofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usesizeofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usesizeofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usesizeofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.usesizeofkomafont">65</a></li> + <li><a name="cmd.useencodingofkomafont"></a><a href="#cmd.useencodingofkomafont">\useencodingofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useencodingofkomafont">185</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.useencodingofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.useencodingofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.useencodingofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.useencodingofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.useencodingofkomafont">65</a></li> + <li><a name="cmd.usefamilyofkomafont"></a><a href="#cmd.usefamilyofkomafont">\usefamilyofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usefamilyofkomafont">185</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usefamilyofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usefamilyofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usefamilyofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usefamilyofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.usefamilyofkomafont">65</a></li> + <li><a name="cmd.usefontofkomafont"></a><a href="#cmd.usefontofkomafont">\usefontofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usefontofkomafont">185</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usefontofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usefontofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usefontofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usefontofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.usefontofkomafont">65</a></li> + <li><a name="cmd.usekomafont"></a><a href="#cmd.usekomafont">\usekomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usekomafont">181</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usekomafont">257</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usekomafont">295</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usekomafont">311</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usekomafont">460</a>, <a href="scrguien.pdf#desc:maincls.cmd.usekomafont">59</a></li> + <li><a name="cmd.usekomavar*"></a><a href="#cmd.usekomavar*">\usekomavar*</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usekomavar*">161</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.usekomavar*">506</a></li> + <li><a name="cmd.usekomavar"></a><a href="#cmd.usekomavar">\usekomavar</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usekomavar">161</a>, <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.usekomavar">506</a></li> + <li><a name="cmd.usepackage"></a><a href="#cmd.usepackage">\usepackage</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usepackage">153</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usepackage">255</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usepackage">292</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usepackage">310</a>, <a href="scrguien.pdf#desc:typearea.cmd.usepackage">32</a>, <a href="scrguien.pdf#desc:scrhack.cmd.usepackage">414</a>, <a href="scrguien.pdf#desc:scrlayer.cmd.usepackage">419</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usepackage">459</a>, <a href="scrguien.pdf#desc:maincls.cmd.usepackage">55</a></li> + <li><a name="cmd.useplength"></a><a href="#cmd.useplength">\useplength</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useplength">168</a></li> + <li><a name="cmd.useseriesofkomafont"></a><a href="#cmd.useseriesofkomafont">\useseriesofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useseriesofkomafont">185</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.useseriesofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.useseriesofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.useseriesofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.useseriesofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.useseriesofkomafont">65</a></li> + <li><a name="cmd.useshapeofkomafont"></a><a href="#cmd.useshapeofkomafont">\useshapeofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.useshapeofkomafont">185</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.useshapeofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.useshapeofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.useshapeofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.useshapeofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.useshapeofkomafont">65</a></li> + <li><a name="cmd.usesizeofkomafont"></a><a href="#cmd.usesizeofkomafont">\usesizeofkomafont</a> → <a href="scrguien.pdf#desc:scrlttr2.cmd.usesizeofkomafont">185</a>, <a href="scrguien.pdf#desc:scrlayer-scrpage.cmd.usesizeofkomafont">259</a>, <a href="scrguien.pdf#desc:scrextend.cmd.usesizeofkomafont">296</a>, <a href="scrguien.pdf#desc:scrjura.cmd.usesizeofkomafont">312</a>, <a href="scrguien.pdf#desc:scrlayer-notecolumn.cmd.usesizeofkomafont">461</a>, <a href="scrguien.pdf#desc:maincls.cmd.usesizeofkomafont">65</a></li> <li><a name="cmd.usetocbasicnumberline"></a><a href="#cmd.usetocbasicnumberline">\usetocbasicnumberline</a> → <a href="scrguien.pdf#desc:tocbasic.cmd.usetocbasicnumberline">388</a></li> <li><a name="cmd.withoutparnumber"></a><a href="#cmd.withoutparnumber">\withoutparnumber</a> → <a href="scrguien.pdf#desc:scrjura.cmd.withoutparnumber">318</a></li> <li><a name="cmd.wwwname"></a><a href="#cmd.wwwname">\wwwname</a> → <a href="scrguien.pdf#desc:scrlttr2-experts.cmd.wwwname">512</a></li> @@ -858,20 +857,20 @@ <h2><a name="environment">Environments</a></h2> <ul> <li><a name="env.abstract"></a><a href="#env.abstract">abstract</a> → <a href="scrguien.pdf#desc:maincls.env.abstract">72</a></li> - <li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> → <a href="scrguien.pdf#desc:maincls.env.addmargin*">125</a>, <a href="scrguien.pdf#desc:scrlttr2.env.addmargin*">240</a>, <a href="scrguien.pdf#desc:scrextend.env.addmargin*">308</a></li> - <li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> → <a href="scrguien.pdf#desc:maincls.env.addmargin">125</a>, <a href="scrguien.pdf#desc:scrlttr2.env.addmargin">240</a>, <a href="scrguien.pdf#desc:scrextend.env.addmargin">308</a></li> - <li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> → <a href="scrguien.pdf#desc:maincls.env.captionbeside">134</a></li> - <li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> → <a href="scrguien.pdf#desc:maincls.env.captionofbeside">137</a></li> + <li><a name="env.addmargin*"></a><a href="#env.addmargin*">addmargin*</a> → <a href="scrguien.pdf#desc:maincls.env.addmargin*">126</a>, <a href="scrguien.pdf#desc:scrlttr2.env.addmargin*">242</a>, <a href="scrguien.pdf#desc:scrextend.env.addmargin*">308</a></li> + <li><a name="env.addmargin"></a><a href="#env.addmargin">addmargin</a> → <a href="scrguien.pdf#desc:maincls.env.addmargin">126</a>, <a href="scrguien.pdf#desc:scrlttr2.env.addmargin">242</a>, <a href="scrguien.pdf#desc:scrextend.env.addmargin">308</a></li> + <li><a name="env.captionbeside"></a><a href="#env.captionbeside">captionbeside</a> → <a href="scrguien.pdf#desc:maincls.env.captionbeside">135</a></li> + <li><a name="env.captionofbeside"></a><a href="#env.captionofbeside">captionofbeside</a> → <a href="scrguien.pdf#desc:maincls.env.captionofbeside">138</a></li> <li><a name="env.contract"></a><a href="#env.contract">contract</a> → <a href="scrguien.pdf#desc:scrjura.env.contract">314</a></li> - <li><a name="env.description"></a><a href="#env.description">description</a> → <a href="scrguien.pdf#desc:maincls.env.description">120</a>, <a href="scrguien.pdf#desc:scrlttr2.env.description">239</a></li> - <li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> → <a href="scrguien.pdf#desc:maincls.env.enumerate">119</a>, <a href="scrguien.pdf#desc:scrlttr2.env.enumerate">239</a></li> - <li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> → <a href="scrguien.pdf#desc:maincls.env.itemize">118</a>, <a href="scrguien.pdf#desc:scrlttr2.env.itemize">238</a></li> - <li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> → <a href="scrguien.pdf#desc:maincls.env.labeling">121</a>, <a href="scrguien.pdf#desc:scrlttr2.env.labeling">239</a>, <a href="scrguien.pdf#desc:scrextend.env.labeling">307</a></li> - <li><a name="env.letter"></a><a href="#env.letter">letter</a> → <a href="scrguien.pdf#desc:scrlttr2.env.letter">170</a></li> - <li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> → <a href="scrguien.pdf#desc:maincls.env.quotation">124</a>, <a href="scrguien.pdf#desc:scrlttr2.env.quotation">240</a></li> - <li><a name="env.quote"></a><a href="#env.quote">quote</a> → <a href="scrguien.pdf#desc:maincls.env.quote">124</a>, <a href="scrguien.pdf#desc:scrlttr2.env.quote">240</a></li> + <li><a name="env.description"></a><a href="#env.description">description</a> → <a href="scrguien.pdf#desc:maincls.env.description">121</a>, <a href="scrguien.pdf#desc:scrlttr2.env.description">240</a></li> + <li><a name="env.enumerate"></a><a href="#env.enumerate">enumerate</a> → <a href="scrguien.pdf#desc:maincls.env.enumerate">120</a>, <a href="scrguien.pdf#desc:scrlttr2.env.enumerate">240</a></li> + <li><a name="env.itemize"></a><a href="#env.itemize">itemize</a> → <a href="scrguien.pdf#desc:maincls.env.itemize">119</a>, <a href="scrguien.pdf#desc:scrlttr2.env.itemize">239</a></li> + <li><a name="env.labeling"></a><a href="#env.labeling">labeling</a> → <a href="scrguien.pdf#desc:maincls.env.labeling">122</a>, <a href="scrguien.pdf#desc:scrlttr2.env.labeling">241</a>, <a href="scrguien.pdf#desc:scrextend.env.labeling">308</a></li> + <li><a name="env.letter"></a><a href="#env.letter">letter</a> → <a href="scrguien.pdf#desc:scrlttr2.env.letter">171</a></li> + <li><a name="env.quotation"></a><a href="#env.quotation">quotation</a> → <a href="scrguien.pdf#desc:maincls.env.quotation">125</a>, <a href="scrguien.pdf#desc:scrlttr2.env.quotation">241</a></li> + <li><a name="env.quote"></a><a href="#env.quote">quote</a> → <a href="scrguien.pdf#desc:maincls.env.quote">125</a>, <a href="scrguien.pdf#desc:scrlttr2.env.quote">241</a></li> <li><a name="env.titlepage"></a><a href="#env.titlepage">titlepage</a> → <a href="scrguien.pdf#desc:scrextend.env.titlepage">297</a>, <a href="scrguien.pdf#desc:maincls.env.titlepage">66</a></li> - <li><a name="env.verse"></a><a href="#env.verse">verse</a> → <a href="scrguien.pdf#desc:maincls.env.verse">122</a>, <a href="scrguien.pdf#desc:scrlttr2.env.verse">240</a></li> + <li><a name="env.verse"></a><a href="#env.verse">verse</a> → <a href="scrguien.pdf#desc:maincls.env.verse">123</a>, <a href="scrguien.pdf#desc:scrlttr2.env.verse">241</a></li> </ul> <h2><a name="length">Lengths</a></h2> <ul> @@ -880,119 +879,119 @@ </ul> <h2><a name="plength">Pseudolengths</a></h2> <ul> - <li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.PPdatamatrixvskip">209</a></li> - <li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.PPheadheight">209</a></li> - <li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.PPheadwidth">209</a></li> - <li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.backaddrheight">209</a></li> - <li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.bfoldmarklength">189</a></li> - <li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.bfoldmarkvpos">188</a></li> - <li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstfoothpos">226</a></li> - <li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstfootvpos">226</a></li> - <li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstfootwidth">226</a></li> - <li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstheadhpos">191</a></li> - <li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstheadvpos">191</a></li> - <li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstheadwidth">191</a></li> - <li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.foldmarkhpos">189</a></li> - <li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.foldmarkthickness">190</a></li> - <li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.foldmarkvpos">190</a></li> - <li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.fromrulethickness">195</a></li> - <li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.fromrulewidth">195</a></li> - <li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.lfoldmarkhpos">189</a></li> - <li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.lfoldmarklength">190</a></li> - <li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.locheight">211</a></li> - <li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.lochpos">211</a></li> - <li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.locvpos">211</a></li> - <li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.locwidth">211</a></li> - <li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.mfoldmarklength">189</a></li> - <li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.mfoldmarkvpos">188</a></li> - <li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.pfoldmarklength">189</a></li> - <li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refaftervskip">217</a></li> - <li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refhpos">216</a></li> - <li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refvpos">216</a></li> - <li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refwidth">216</a></li> - <li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.sigbeforevskip">223</a></li> - <li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.sigindent">223</a></li> - <li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.specialmailindent">209</a></li> - <li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.specialmailrightindent">209</a></li> - <li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.subjectaftervskip">221</a></li> - <li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.subjectbeforevskip">221</a></li> - <li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.subjectvpos">220</a></li> - <li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.tfoldmarklength">189</a></li> - <li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.tfoldmarkvpos">188</a></li> - <li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrheight">208</a></li> - <li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrhpos">207</a></li> - <li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrindent">208</a></li> - <li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrvpos">207</a></li> - <li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrwidth">208</a></li> + <li><a name="plength.PPdatamatrixvskip"></a><a href="#plength.PPdatamatrixvskip">PPdatamatrixvskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.PPdatamatrixvskip">210</a></li> + <li><a name="plength.PPheadheight"></a><a href="#plength.PPheadheight">PPheadheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.PPheadheight">210</a></li> + <li><a name="plength.PPheadwidth"></a><a href="#plength.PPheadwidth">PPheadwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.PPheadwidth">210</a></li> + <li><a name="plength.backaddrheight"></a><a href="#plength.backaddrheight">backaddrheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.backaddrheight">210</a></li> + <li><a name="plength.bfoldmarklength"></a><a href="#plength.bfoldmarklength">bfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.bfoldmarklength">190</a></li> + <li><a name="plength.bfoldmarkvpos"></a><a href="#plength.bfoldmarkvpos">bfoldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.bfoldmarkvpos">189</a></li> + <li><a name="plength.firstfoothpos"></a><a href="#plength.firstfoothpos">firstfoothpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstfoothpos">227</a></li> + <li><a name="plength.firstfootvpos"></a><a href="#plength.firstfootvpos">firstfootvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstfootvpos">227</a></li> + <li><a name="plength.firstfootwidth"></a><a href="#plength.firstfootwidth">firstfootwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstfootwidth">227</a></li> + <li><a name="plength.firstheadhpos"></a><a href="#plength.firstheadhpos">firstheadhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstheadhpos">192</a></li> + <li><a name="plength.firstheadvpos"></a><a href="#plength.firstheadvpos">firstheadvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstheadvpos">192</a></li> + <li><a name="plength.firstheadwidth"></a><a href="#plength.firstheadwidth">firstheadwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.firstheadwidth">192</a></li> + <li><a name="plength.foldmarkhpos"></a><a href="#plength.foldmarkhpos">foldmarkhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.foldmarkhpos">190</a></li> + <li><a name="plength.foldmarkthickness"></a><a href="#plength.foldmarkthickness">foldmarkthickness</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.foldmarkthickness">191</a></li> + <li><a name="plength.foldmarkvpos"></a><a href="#plength.foldmarkvpos">foldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.foldmarkvpos">191</a></li> + <li><a name="plength.fromrulethickness"></a><a href="#plength.fromrulethickness">fromrulethickness</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.fromrulethickness">196</a></li> + <li><a name="plength.fromrulewidth"></a><a href="#plength.fromrulewidth">fromrulewidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.fromrulewidth">196</a></li> + <li><a name="plength.lfoldmarkhpos"></a><a href="#plength.lfoldmarkhpos">lfoldmarkhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.lfoldmarkhpos">190</a></li> + <li><a name="plength.lfoldmarklength"></a><a href="#plength.lfoldmarklength">lfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.lfoldmarklength">191</a></li> + <li><a name="plength.locheight"></a><a href="#plength.locheight">locheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.locheight">212</a></li> + <li><a name="plength.lochpos"></a><a href="#plength.lochpos">lochpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.lochpos">212</a></li> + <li><a name="plength.locvpos"></a><a href="#plength.locvpos">locvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.locvpos">212</a></li> + <li><a name="plength.locwidth"></a><a href="#plength.locwidth">locwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.locwidth">212</a></li> + <li><a name="plength.mfoldmarklength"></a><a href="#plength.mfoldmarklength">mfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.mfoldmarklength">190</a></li> + <li><a name="plength.mfoldmarkvpos"></a><a href="#plength.mfoldmarkvpos">mfoldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.mfoldmarkvpos">189</a></li> + <li><a name="plength.pfoldmarklength"></a><a href="#plength.pfoldmarklength">pfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.pfoldmarklength">190</a></li> + <li><a name="plength.refaftervskip"></a><a href="#plength.refaftervskip">refaftervskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refaftervskip">218</a></li> + <li><a name="plength.refhpos"></a><a href="#plength.refhpos">refhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refhpos">217</a></li> + <li><a name="plength.refvpos"></a><a href="#plength.refvpos">refvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refvpos">217</a></li> + <li><a name="plength.refwidth"></a><a href="#plength.refwidth">refwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.refwidth">217</a></li> + <li><a name="plength.sigbeforevskip"></a><a href="#plength.sigbeforevskip">sigbeforevskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.sigbeforevskip">224</a></li> + <li><a name="plength.sigindent"></a><a href="#plength.sigindent">sigindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.sigindent">224</a></li> + <li><a name="plength.specialmailindent"></a><a href="#plength.specialmailindent">specialmailindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.specialmailindent">210</a></li> + <li><a name="plength.specialmailrightindent"></a><a href="#plength.specialmailrightindent">specialmailrightindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.specialmailrightindent">210</a></li> + <li><a name="plength.subjectaftervskip"></a><a href="#plength.subjectaftervskip">subjectaftervskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.subjectaftervskip">222</a></li> + <li><a name="plength.subjectbeforevskip"></a><a href="#plength.subjectbeforevskip">subjectbeforevskip</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.subjectbeforevskip">222</a></li> + <li><a name="plength.subjectvpos"></a><a href="#plength.subjectvpos">subjectvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.subjectvpos">221</a></li> + <li><a name="plength.tfoldmarklength"></a><a href="#plength.tfoldmarklength">tfoldmarklength</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.tfoldmarklength">190</a></li> + <li><a name="plength.tfoldmarkvpos"></a><a href="#plength.tfoldmarkvpos">tfoldmarkvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.tfoldmarkvpos">189</a></li> + <li><a name="plength.toaddrheight"></a><a href="#plength.toaddrheight">toaddrheight</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrheight">209</a></li> + <li><a name="plength.toaddrhpos"></a><a href="#plength.toaddrhpos">toaddrhpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrhpos">208</a></li> + <li><a name="plength.toaddrindent"></a><a href="#plength.toaddrindent">toaddrindent</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrindent">209</a></li> + <li><a name="plength.toaddrvpos"></a><a href="#plength.toaddrvpos">toaddrvpos</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrvpos">208</a></li> + <li><a name="plength.toaddrwidth"></a><a href="#plength.toaddrwidth">toaddrwidth</a> → <a href="scrguien.pdf#desc:scrlttr2.plength.toaddrwidth">209</a></li> </ul> <h2><a name="variable">Variables</a></h2> <ul> - <li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.PPcode">204</a></li> - <li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.PPdatamatrix">204</a></li> - <li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.addresseeimage">204</a></li> - <li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.backaddress">204</a></li> - <li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.backaddressseparator">204</a></li> - <li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.ccseparator">176</a></li> - <li><a name="variable.customer"></a><a href="#variable.customer">customer</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.customer">214</a></li> - <li><a name="variable.date"></a><a href="#variable.date">date</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.date">213</a></li> - <li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.emailseparator">197</a></li> - <li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.enclseparator">176</a></li> - <li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.faxseparator">197</a></li> - <li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.firstfoot">224</a></li> - <li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.firsthead">202</a></li> - <li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromaddress">191</a></li> - <li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.frombank">225</a></li> - <li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromemail">197</a></li> - <li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromfax">197</a></li> - <li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromlogo">201</a></li> - <li><a name="variable.frommobilephone"></a><a href="#variable.frommobilephone">frommobilephone</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.frommobilephone">197</a></li> - <li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromname">191</a></li> - <li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromphone">197</a></li> - <li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromurl">197</a></li> - <li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromzipcode">204</a></li> - <li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.invoice">214</a></li> - <li><a name="variable.location"></a><a href="#variable.location">location</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.location">210</a></li> - <li><a name="variable.mobilephoneseparator"></a><a href="#variable.mobilephoneseparator">mobilephoneseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.mobilephoneseparator">197</a></li> - <li><a name="variable.myref"></a><a href="#variable.myref">myref</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.myref">214</a></li> - <li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.nextfoot">232</a></li> - <li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.nexthead">232</a></li> - <li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.phoneseparator">197</a></li> - <li><a name="variable.place"></a><a href="#variable.place">place</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.place">204</a></li> - <li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.placeseparator">214</a></li> - <li><a name="variable.signature"></a><a href="#variable.signature">signature</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.signature">221</a></li> - <li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.specialmail">204</a></li> - <li><a name="variable.subject"></a><a href="#variable.subject">subject</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.subject">218</a></li> - <li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.subjectseparator">218</a></li> - <li><a name="variable.title"></a><a href="#variable.title">title</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.title">217</a></li> - <li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.toaddress">204</a></li> - <li><a name="variable.toname"></a><a href="#variable.toname">toname</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.toname">204</a></li> - <li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.urlseparator">197</a></li> - <li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.yourmail">214</a></li> - <li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.yourref">214</a></li> - <li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.zipcodeseparator">204</a></li> + <li><a name="variable.PPcode"></a><a href="#variable.PPcode">PPcode</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.PPcode">205</a></li> + <li><a name="variable.PPdatamatrix"></a><a href="#variable.PPdatamatrix">PPdatamatrix</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.PPdatamatrix">205</a></li> + <li><a name="variable.addresseeimage"></a><a href="#variable.addresseeimage">addresseeimage</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.addresseeimage">205</a></li> + <li><a name="variable.backaddress"></a><a href="#variable.backaddress">backaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.backaddress">205</a></li> + <li><a name="variable.backaddressseparator"></a><a href="#variable.backaddressseparator">backaddressseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.backaddressseparator">205</a></li> + <li><a name="variable.ccseparator"></a><a href="#variable.ccseparator">ccseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.ccseparator">177</a></li> + <li><a name="variable.customer"></a><a href="#variable.customer">customer</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.customer">215</a></li> + <li><a name="variable.date"></a><a href="#variable.date">date</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.date">214</a></li> + <li><a name="variable.emailseparator"></a><a href="#variable.emailseparator">emailseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.emailseparator">198</a></li> + <li><a name="variable.enclseparator"></a><a href="#variable.enclseparator">enclseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.enclseparator">177</a></li> + <li><a name="variable.faxseparator"></a><a href="#variable.faxseparator">faxseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.faxseparator">198</a></li> + <li><a name="variable.firstfoot"></a><a href="#variable.firstfoot">firstfoot</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.firstfoot">225</a></li> + <li><a name="variable.firsthead"></a><a href="#variable.firsthead">firsthead</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.firsthead">203</a></li> + <li><a name="variable.fromaddress"></a><a href="#variable.fromaddress">fromaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromaddress">192</a></li> + <li><a name="variable.frombank"></a><a href="#variable.frombank">frombank</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.frombank">226</a></li> + <li><a name="variable.fromemail"></a><a href="#variable.fromemail">fromemail</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromemail">198</a></li> + <li><a name="variable.fromfax"></a><a href="#variable.fromfax">fromfax</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromfax">198</a></li> + <li><a name="variable.fromlogo"></a><a href="#variable.fromlogo">fromlogo</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromlogo">202</a></li> + <li><a name="variable.frommobilephone"></a><a href="#variable.frommobilephone">frommobilephone</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.frommobilephone">198</a></li> + <li><a name="variable.fromname"></a><a href="#variable.fromname">fromname</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromname">192</a></li> + <li><a name="variable.fromphone"></a><a href="#variable.fromphone">fromphone</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromphone">198</a></li> + <li><a name="variable.fromurl"></a><a href="#variable.fromurl">fromurl</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromurl">198</a></li> + <li><a name="variable.fromzipcode"></a><a href="#variable.fromzipcode">fromzipcode</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.fromzipcode">205</a></li> + <li><a name="variable.invoice"></a><a href="#variable.invoice">invoice</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.invoice">215</a></li> + <li><a name="variable.location"></a><a href="#variable.location">location</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.location">211</a></li> + <li><a name="variable.mobilephoneseparator"></a><a href="#variable.mobilephoneseparator">mobilephoneseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.mobilephoneseparator">198</a></li> + <li><a name="variable.myref"></a><a href="#variable.myref">myref</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.myref">215</a></li> + <li><a name="variable.nextfoot"></a><a href="#variable.nextfoot">nextfoot</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.nextfoot">233</a></li> + <li><a name="variable.nexthead"></a><a href="#variable.nexthead">nexthead</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.nexthead">233</a></li> + <li><a name="variable.phoneseparator"></a><a href="#variable.phoneseparator">phoneseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.phoneseparator">198</a></li> + <li><a name="variable.place"></a><a href="#variable.place">place</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.place">205</a></li> + <li><a name="variable.placeseparator"></a><a href="#variable.placeseparator">placeseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.placeseparator">215</a></li> + <li><a name="variable.signature"></a><a href="#variable.signature">signature</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.signature">222</a></li> + <li><a name="variable.specialmail"></a><a href="#variable.specialmail">specialmail</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.specialmail">205</a></li> + <li><a name="variable.subject"></a><a href="#variable.subject">subject</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.subject">219</a></li> + <li><a name="variable.subjectseparator"></a><a href="#variable.subjectseparator">subjectseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.subjectseparator">219</a></li> + <li><a name="variable.title"></a><a href="#variable.title">title</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.title">218</a></li> + <li><a name="variable.toaddress"></a><a href="#variable.toaddress">toaddress</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.toaddress">205</a></li> + <li><a name="variable.toname"></a><a href="#variable.toname">toname</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.toname">205</a></li> + <li><a name="variable.urlseparator"></a><a href="#variable.urlseparator">urlseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.urlseparator">198</a></li> + <li><a name="variable.yourmail"></a><a href="#variable.yourmail">yourmail</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.yourmail">215</a></li> + <li><a name="variable.yourref"></a><a href="#variable.yourref">yourref</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.yourref">215</a></li> + <li><a name="variable.zipcodeseparator"></a><a href="#variable.zipcodeseparator">zipcodeseparator</a> → <a href="scrguien.pdf#desc:scrlttr2.variable.zipcodeseparator">205</a></li> </ul> <h2><a name="pagestyle">Page Styles</a></h2> <ul> <li><a name="pagestyle.@everystyle@"></a><a href="#pagestyle.@everystyle@">@everystyle@</a> → <a href="scrguien.pdf#desc:scrlayer.pagestyle.@everystyle@">437</a></li> - <li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.empty">231</a>, <a href="scrguien.pdf#desc:scrlayer.pagestyle.empty">437</a></li> - <li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.headings">231</a></li> - <li><a name="pagestyle.letter"></a><a href="#pagestyle.letter">letter</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.letter">231</a></li> - <li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.myheadings">231</a></li> - <li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.plain">231</a></li> + <li><a name="pagestyle.empty"></a><a href="#pagestyle.empty">empty</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.empty">232</a>, <a href="scrguien.pdf#desc:scrlayer.pagestyle.empty">437</a></li> + <li><a name="pagestyle.headings"></a><a href="#pagestyle.headings">headings</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.headings">232</a></li> + <li><a name="pagestyle.letter"></a><a href="#pagestyle.letter">letter</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.letter">232</a></li> + <li><a name="pagestyle.myheadings"></a><a href="#pagestyle.myheadings">myheadings</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.myheadings">232</a></li> + <li><a name="pagestyle.plain"></a><a href="#pagestyle.plain">plain</a> → <a href="scrguien.pdf#desc:scrlttr2.pagestyle.plain">232</a></li> <li><a name="pagestyle.scrheadings"></a><a href="#pagestyle.scrheadings">scrheadings</a> → <a href="scrguien.pdf#desc:scrlayer-scrpage.pagestyle.scrheadings">259</a></li> </ul> <h2><a name="counter">Counter</a></h2> <ul> - <li><a name="counter.letter"></a><a href="#counter.letter">letter</a> → <a href="scrguien.pdf#desc:scrlttr2.counter.letter">171</a></li> + <li><a name="counter.letter"></a><a href="#counter.letter">letter</a> → <a href="scrguien.pdf#desc:scrlttr2.counter.letter">172</a></li> <li><a name="counter.par"></a><a href="#counter.par">par</a> → <a href="scrguien.pdf#desc:scrjura.counter.par">318</a></li> - <li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> → <a href="scrguien.pdf#desc:maincls.counter.secnumdepth">113</a></li> + <li><a name="counter.secnumdepth"></a><a href="#counter.secnumdepth">secnumdepth</a> → <a href="scrguien.pdf#desc:maincls.counter.secnumdepth">114</a></li> <li><a name="counter.sentence"></a><a href="#counter.sentence">sentence</a> → <a href="scrguien.pdf#desc:scrjura.counter.sentence">319</a></li> <li><a name="counter.tocdepth"></a><a href="#counter.tocdepth">tocdepth</a> → <a href="scrguien.pdf#desc:tocbasic.counter.tocdepth">388</a>, <a href="scrguien.pdf#desc:maincls.counter.tocdepth">77</a></li> </ul> <h2><a name="floatstyle">Styles for the float Package</a></h2> <ul> - <li><a name="floatstyle.komaabove"></a><a href="#floatstyle.komaabove">komaabove</a> → <a href="scrguien.pdf#desc:maincls.floatstyle.komaabove">137</a></li> - <li><a name="floatstyle.komabelow"></a><a href="#floatstyle.komabelow">komabelow</a> → <a href="scrguien.pdf#desc:maincls.floatstyle.komabelow">137</a></li> + <li><a name="floatstyle.komaabove"></a><a href="#floatstyle.komaabove">komaabove</a> → <a href="scrguien.pdf#desc:maincls.floatstyle.komaabove">138</a></li> + <li><a name="floatstyle.komabelow"></a><a href="#floatstyle.komabelow">komabelow</a> → <a href="scrguien.pdf#desc:maincls.floatstyle.komabelow">138</a></li> </ul> <p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-html40" diff --git a/macros/latex/contrib/koma-script/doc/scrguien.pdf b/macros/latex/contrib/koma-script/doc/scrguien.pdf Binary files differindex d45b6acfd6..2b6719bbbe 100644 --- a/macros/latex/contrib/koma-script/doc/scrguien.pdf +++ b/macros/latex/contrib/koma-script/doc/scrguien.pdf diff --git a/macros/latex/contrib/koma-script/source-doc/Makefile.guide b/macros/latex/contrib/koma-script/source-doc/Makefile.guide index 84345fd1f7..8e10721663 100644 --- a/macros/latex/contrib/koma-script/source-doc/Makefile.guide +++ b/macros/latex/contrib/koma-script/source-doc/Makefile.guide @@ -92,6 +92,7 @@ TEX_MISC = ../guide.tex ../linkalias.tex \ common-oddorevenpage.tex \ common-interleafpage.tex \ common-footnotes.tex \ + common-footnotes-experts.tex \ common-lists.tex \ common-marginpar.tex \ common-titles.tex \ diff --git a/macros/latex/contrib/koma-script/source-doc/english/adrconvnote.tex b/macros/latex/contrib/koma-script/source-doc/english/adrconvnote.tex index deb207aa32..62b212b3d4 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/adrconvnote.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/adrconvnote.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{adrconvnote.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-10 09:50:23 +0200 (Do, 10. Okt 2019) $ KOMA-Script guide (chapter: adrconv)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex b/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex index b630401b71..27bdc04910 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-compatibility.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-compatibility.tex} - [$Date: 2019-10-31 08:38:01 +0100 (Thu, 31 Oct 2019) $ + [$Date: 2019-10-31 08:38:01 +0100 (Do, 31. Okt 2019) $ KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex b/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex index 969ee9d1b7..e59a2b41b0 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-dictum.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-dictum.tex} - [$Date: 2019-11-20 08:38:35 +0100 (Wed, 20 Nov 2019) $ + [$Date: 2019-11-20 08:38:35 +0100 (Mi, 20. Nov 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex b/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex index bee227da2f..5edbb4b2c4 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-draftmode.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-draftmode.tex} - [$Date: 2019-10-31 08:46:30 +0100 (Thu, 31 Oct 2019) $ + [$Date: 2019-10-31 08:46:30 +0100 (Do, 31. Okt 2019) $ KOMA-Script guide (common paragraphs)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex b/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex index 99424b6eea..56235e612b 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-fontsize.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-fontsize.tex} - [$Date: 2019-12-06 10:52:05 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 10:52:05 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (common paragraphs: fontsize)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-footnotes-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/common-footnotes-experts.tex new file mode 100644 index 0000000000..142ec880f2 --- /dev/null +++ b/macros/latex/contrib/koma-script/source-doc/english/common-footnotes-experts.tex @@ -0,0 +1,54 @@ +% ====================================================================== +% common-footnotes-experts.tex +% Copyright (c) Markus Kohm, 2022 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ====================================================================== +% +% Paragraphs that are common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ====================================================================== + +\KOMAProvidesFile{common-footnotes-experts.tex} + [$Date: 2022-02-16 10:57:02 +0100 (Mi, 16. Feb 2022) $ + KOMA-Script guide (common paragraphs: Footnotes)] +\translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} + +% Date of the translated German file: 2022-02-16 + +\begin{Declaration} + \DoHook{footnote/text/begin}% + \DoHook{footnote/text/end}% +\end{Declaration} +\BeginIndex{}{hook}% +For\ChangedAt{v3.36}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} experts there are also two hooks +of type \emph{do-hook} (see \autoref{sec:scrbase.hooks} from +\autopageref{sec:scrbase.hooks}). The first of these is used at the very +beginning of \Macro{@makefntext} before +\DescRef{maincls.cmd.raggedfootnote} is executed. The second one at the end +before the paragraph is finished. Currently neither hook is used by +\KOMAScript{} itself.% +\EndIndexGroup + +%%% Local Variables: +%%% mode: latex +%%% coding: utf-8 +%%% ispell-local-dictionary: "en_US" +%%% eval: (flyspell-mode 1) +%%% TeX-master: "../guide" +%%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex b/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex index 05f3555233..fbf2d311db 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-footnotes.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-footnotes.tex -% Copyright (c) Markus Kohm, 2001-2021 +% Copyright (c) Markus Kohm, 2001-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,41 +16,19 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% common-footnotes.tex -% Copyright (c) Markus Kohm, 2001-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % % Paragraphs that are common for several chapters of the KOMA-Script guide % Maintained by Markus Kohm % -% ---------------------------------------------------------------------- -% -% Absaetze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind -% Verwaltet von Markus Kohm -% % ====================================================================== \KOMAProvidesFile{common-footnotes.tex} - [$Date: 2021-02-25 09:21:33 +0100 (Thu, 25 Feb 2021) $ + [$Date: 2022-02-16 10:57:02 +0100 (Mi, 16. Feb 2022) $ KOMA-Script guide (common paragraphs: Footnotes)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} -% Date of the translated German file: 2021-05-25 +% Date of the translated German file: 2022-02-16 \section{Footnotes} \seclabel{footnotes}% @@ -630,12 +608,29 @@ empty definition, which is the default. The alignment commands of the \end{Example}% \fi \EndIndexGroup + +\begin{Declaration} + \DoHook{footnote/text/begin}% + \DoHook{footnote/text/end}% +\end{Declaration} +\BeginIndex{}{hook}% +For\ChangedAt{v3.36}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} experts there are also two hooks +of type \emph{do-hook} (see \autoref{sec:scrbase.hooks} from +\autopageref{sec:scrbase.hook}). The first of these is used at the very +beginning of \Macro{@makefntext} before +\DescRef{\LabelBase.cmd.raggedfootnote} is executed. The second one at the end +before the paragraph is finished. Currently neither hook is used by +\KOMAScript{} itself.% +\EndIndexGroup % \EndIndexGroup %%% Local Variables: %%% mode: latex -%%% coding: us-ascii +%%% coding: utf-8 +%%% ispell-local-dictionary: "en_US" +%%% eval: (flyspell-mode 1) %%% TeX-master: "../guide" %%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex b/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex index 1caea9ba29..b80e43e7fb 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-headfootheight.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{common-headfootheight.tex} - [$Date: 2019-11-13 12:33:18 +0100 (Wed, 13 Nov 2019) $ + [$Date: 2019-11-13 12:33:18 +0100 (Mi, 13. Nov 2019) $ KOMA-Script guide (common paragraph: Head and Foot Height)] \translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex b/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex index 24842ac25b..8281b370f9 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-interleafpage.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-interleafpage.tex}% - [$Date: 2019-11-11 08:22:00 +0100 (Mon, 11 Nov 2019) $ + [$Date: 2019-11-11 08:22:00 +0100 (Mo, 11. Nov 2019) $ KOMA-Script guide (common paragraphs: Interleaf Pages)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex b/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex index a01c311f98..5f048c5ed6 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-lists.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-lists.tex} - [$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $ + [$Date: 2021-02-15 19:40:44 +0100 (Mo, 15. Feb 2021) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex b/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex index e47490f2cd..2300fa625d 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-marginpar.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-marginpar.tex} - [$Date: 2019-11-04 08:19:23 +0100 (Mon, 04 Nov 2019) $ + [$Date: 2019-11-04 08:19:23 +0100 (Mo, 04. Nov 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex b/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex index 431d9f964b..2c3926698f 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-oddorevenpage.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-oddorevenpage.tex} - [$Date: 2019-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $ + [$Date: 2019-11-19 12:56:28 +0100 (Di, 19. Nov 2019) $ KOMA-Script guide (common paragraph: Detection of Odd and Even Pages)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex b/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex index 5ca141c094..125af2a056 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-parmarkup.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-parmarkup.tex} - [$Date: 2020-03-12 08:27:32 +0100 (Thu, 12 Mar 2020) $ + [$Date: 2020-03-12 08:27:32 +0100 (Do, 12. Mär 2020) $ KOMA-Script guide (common paragraph: Paragraph Markup)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex b/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex index f49f8e968e..7092a65ce4 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-textmarkup.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-textmarkup.tex} - [$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $ + [$Date: 2021-02-15 19:40:44 +0100 (Mo, 15. Feb 2021) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex b/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex index 95b1914268..b13637fb67 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-titles.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-titles.tex} - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Di, 03. Dez 2019) $ KOMA-Script guide (common paragraphs)] \translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and diff --git a/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex b/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex index 1a3e62c495..935a24dfe1 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/common-typearea.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-typearea.tex} - [$Date: 2019-10-28 10:05:40 +0100 (Mon, 28 Oct 2019) $ + [$Date: 2019-10-28 10:05:40 +0100 (Mo, 28. Okt 2019) $ KOMA-Script guide (common paragraphs: typearea)] \translator{Markus Kohm\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/expertpart.tex b/macros/latex/contrib/koma-script/source-doc/english/expertpart.tex index 60dd17e9b3..7e7458a0ca 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/expertpart.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/expertpart.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{expertpart.tex} - [$Date: 2018-02-28 13:23:23 +0100 (Wed, 28 Feb 2018) $ + [$Date: 2018-02-28 13:23:23 +0100 (Mi, 28. Feb 2018) $ Part KOMA-Script for Experts] \translator{Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex b/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex index a0e14c2099..5e24e1d8f7 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/guide-english.tex @@ -46,7 +46,7 @@ % ====================================================================== % \KOMAProvidesFile{guide-english.tex} - [$Date: 2019-12-01 13:41:51 +0100 (Sun, 01 Dec 2019) $ + [$Date: 2019-12-01 13:41:51 +0100 (So, 01. Dez 2019) $ KOMA-Script guide language dependencies] % % \section{Extra Packages} diff --git a/macros/latex/contrib/koma-script/source-doc/english/introduction.tex b/macros/latex/contrib/koma-script/source-doc/english/introduction.tex index 2b62215a77..6fb46de0f4 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/introduction.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/introduction.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{introduction.tex} - [$Date: 2019-10-21 10:41:13 +0200 (Mon, 21 Oct 2019) $ + [$Date: 2019-10-21 10:41:13 +0200 (Mo, 21. Okt 2019) $ KOMA-Script guide introduction] \translator{Kevin Pfeiffer\and Gernot Hassenpflug\and Krickette Murabayashi\and Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/japanlco.tex b/macros/latex/contrib/koma-script/source-doc/english/japanlco.tex index 0a7bdcb757..fd6b2becad 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/japanlco.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/japanlco.tex @@ -50,7 +50,7 @@ % \KOMAProvidesFile{japanlco.tex} - [$Date: 2019-10-10 09:50:23 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-10 09:50:23 +0200 (Do, 10. Okt 2019) $ KOMA-Script guide (appendix: japanlco)] \appendix diff --git a/macros/latex/contrib/koma-script/source-doc/english/preface.tex b/macros/latex/contrib/koma-script/source-doc/english/preface.tex index 42bd174a63..00eaba8cd2 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/preface.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/preface.tex @@ -36,7 +36,7 @@ % ====================================================================== \KOMAProvidesFile{preface.tex} - [$Date: 2019-12-19 10:20:31 +0100 (Thu, 19 Dec 2019) $ + [$Date: 2019-12-19 10:20:31 +0100 (Do, 19. Dez 2019) $ Preface to version 3.25] \translator{Markus Kohm\and Karl Hagen\and DeepL} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex b/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex index dc522feb91..4404230796 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scraddr.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scraddr.tex} - [$Date: 2019-10-30 09:32:39 +0100 (Wed, 30 Oct 2019) $ + [$Date: 2019-10-30 09:32:39 +0100 (Mi, 30. Okt 2019) $ KOMA-Script guide (chapter: scraddr)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex index f457b2af65..72742d9792 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrbase.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,41 +16,19 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrbase.tex -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % % Package scrbase for Package and Class Authors % Maintained by Markus Kohm % -% ---------------------------------------------------------------------- -% -% Paket scrbase fuer Paket- und Klassenautoren -% Verwaltet von Markus Kohm -% % ====================================================================== \KOMAProvidesFile{scrbase.tex} - [$Date: 2021-10-16 12:22:12 +0200 (Sat, 16 Oct 2021) $ + [$Date: 2022-02-02 12:07:57 +0100 (Mi, 02. Feb 2022) $ KOMA-Script package scrbase] \translator{Markus Kohm\and Melvin Hendrix\and Karl Hagen} -% Date of the translated German file: 2021-10-16 +% Date of the translated German file: 2022-02-02 \chapter{Basic Functions in the \Package{scrbase} Package} \labelbase{scrbase} @@ -1594,22 +1572,10 @@ packages are described in \autoref{tab:scrbase.commonNames}. Although\,---\,or especially because\,---\,\Package{scrbase} is generally designed as a package for authors of classes and packages, it is of course used by the \KOMAScript{} classes and most \KOMAScript{} packages. It -therefore contains two commands that are present in all \KOMAScript{} classes +therefore contains a that is present in all \KOMAScript{} classes and all basic \KOMAScript{} packages. \begin{Declaration} - \Macro{KOMAScript} -\end{Declaration} -This command simply sets the word ``\KOMAScript'' in sans-serif font and with -a slight tracking for the capitals. By the way, all \KOMAScript{} classes and -packages define this command as required. The definition is robust using -\Macro{DeclareRobustCommand}. Since packages that do not belong to -\KOMAScript{} can also define this command, its existence should not be -interpreted as an indication that a \KOMAScript{} package is in use.% -\EndIndexGroup - - -\begin{Declaration} \Macro{KOMAScriptVersion} \end{Declaration} \KOMAScript{} defines the major version of \KOMAScript{} in this command. It diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex index 93188d4de2..10616f7167 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2021 +% Copyright (c) Markus Kohm, 2001-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,45 +16,22 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== % % Chapter about scrbook, scrreprt, and scrartcl of the KOMA-Script guide % expert part % Maintained by Markus Kohm % -% ---------------------------------------------------------------------- -% -% Kapitel ueber scrbook, scrreprt und scrartcl im Experten-Teil der -% KOMA-Script-Anleitung -% Verwaltet von Markus Kohm -% % ============================================================================ \KOMAProvidesFile{scrbookreportarticle-experts.tex} - [$Date: 2021-10-15 12:26:30 +0200 (Fri, 15 Oct 2021) $ + [$Date: 2022-02-16 11:28:04 +0100 (Mi, 16. Feb 2022) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for experts)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2021-06-25 +% Date of the translated German file: 2022-02-02 \chapter[{Additional Information about the Main Classes and \Package{scrextend}}]{Additional Information about the Main Classes @@ -91,6 +68,7 @@ sake of compatibility with the standard classes or earlier versions of \LoadNonFree{scrbookreportarticle-experts}{1} +\iffree{\LoadCommonFile{footnotes-experts}}{} \section{\KOMAScript's Interaction with Other Packages} \seclabel{coexistence} @@ -117,7 +95,7 @@ test for this command. In contrast, \Macro{ClassName} indicates which standard class has been replaced by this \KOMAScript{} class. Note\textnote{Attention!} in this context, however, that the existence of -\DescRef{scrbase.cmd.KOMAScript}\IndexCmd{KOMAScript} cannot guarantee that a +\DescRef{scrlogo.cmd.KOMAScript}\IndexCmd{KOMAScript} cannot guarantee that a \KOMAScript{} class is in use. For one thing, all \KOMAScript{} packages define this command. For another, other packages may find it useful to define the \KOMAScript{} label using this name.% diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex index 9136fba827..286d2b035f 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle.tex} - [$Date: 2020-07-16 10:09:01 +0200 (Thu, 16 Jul 2020) $ + [$Date: 2020-07-16 10:09:01 +0200 (Do, 16. Jul 2020) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] \translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex b/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex index 864c97a2af..356f07cb06 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrdatetime.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrdatetime.tex} - [$Date: 2019-11-15 08:07:56 +0100 (Fri, 15 Nov 2019) $ + [$Date: 2019-11-15 08:07:56 +0100 (Fr, 15. Nov 2019) $ KOMA-Script guide (chapter: scrdate, scrtime)] \translator{Markus Kohm\and Gernot Hassenpflug\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex b/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex index 77f6781fe2..7fbaa31696 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrextend.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scrextend.tex} - [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $ + [$Date: 2019-11-18 10:57:08 +0100 (Mo, 18. Nov 2019) $ KOMA-Script package scrextend] \translator{Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex b/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex index 6e31224faf..9642786ef9 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrhack.tex} - [$Date: 2021-06-03 19:56:49 +0200 (Thu, 03 Jun 2021) $ + [$Date: 2021-06-03 19:56:49 +0200 (Do, 03. Jun 2021) $ KOMA-Script guide (chapter: scrhack)] \translator{Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex b/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex index f43d00b9f3..3a8e60b877 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrjura.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scrjura.tex}% - [$Date: 2021-02-25 13:15:44 +0100 (Thu, 25 Feb 2021) $ + [$Date: 2021-02-25 13:15:44 +0100 (Do, 25. Feb 2021) $ KOMA-Script guide (chapter: scrjura)] \translator{Alexander Willand\and Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex index 6e69eb5019..62988c9513 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage-experts.tex @@ -44,7 +44,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-scrpage-experts.tex}% - [$Date: 2019-12-06 10:44:53 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 10:44:53 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (chapter: scrlayer-scrpage-experts)] \translator{Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex index 266fb29065..586b3312ca 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer-scrpage.tex @@ -44,7 +44,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-scrpage.tex}% - [$Date: 2019-12-06 11:44:37 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 11:44:37 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (chapter: scrlayer-scrpage)] \translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex index e21205f8b7..48418d7193 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlayer.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer.tex} - [$Date: 2019-12-06 12:04:10 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 12:04:10 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (chapter:scrlayer)] \translator{Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex index b51bc090cc..cdcf20657e 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlfile.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlfile.tex} - [$Date: 2021-11-01 13:25:07 +0100 (Mon, 01 Nov 2021) $ + [$Date: 2021-11-01 13:25:07 +0100 (Mo, 01. Nov 2021) $ KOMA-Script guide (chapter: scrlfile)] \translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex index 23039e48b5..69daaf7e6e 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2-experts.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlttr2-experts.tex} - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Di, 03. Dez 2019) $ KOMA-Script guide (chapter: scrlttr2 for experts)] \translator{Harald Bongartz\and Georg Grandke\and Raimund Kohl\and Jens-Uwe diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex index fd0e2999db..2642275d0c 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrlttr2.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,14 +46,14 @@ % ============================================================================ \KOMAProvidesFile{scrlttr2.tex}% - [$Date: 2021-02-25 09:27:06 +0100 (Thu, 25 Feb 2021) $ + [$Date: 2022-03-07 10:51:27 +0100 (Mo, 07. Mär 2022) $ KOMA-Script guide (chapter: scrlttr2)] \translator{Harald Bongartz\and Georg Grandke\and Raimund Kohl\and Jens-Uwe Morawski\and Stephan Hennig\and Gernot Hassenpflug\and Markus Kohm\and Karl Hagen} -% Date of the translated German file: 2021-05-25 +% Date of the translated German file: 2022-03-07 \chapter{Letters with the \Class{scrlttr2} Class or the \Package{scrletter} Package} diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex b/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex index 144386a23b..585befe470 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrwfile.tex}% - [$Date: 2021-05-30 19:31:59 +0200 (Sun, 30 May 2021) $ + [$Date: 2021-05-30 19:31:59 +0200 (So, 30. Mai 2021) $ KOMA-Script guide (chapter: scrwfile)] % Date of the translated German file: 2020-05-30 diff --git a/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex b/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex index 2f4d6a4d19..fb93218c80 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/tocbasic.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{tocbasic.tex} - [$Date: 2021-10-15 13:47:06 +0200 (Fri, 15 Oct 2021) $ + [$Date: 2021-10-15 13:47:06 +0200 (Fr, 15. Okt 2021) $ KOMA-Script guide (package tocbasic)] % Date of the translated German file: 2021-10-15 diff --git a/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex index 093b3f7a74..e20074b24b 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/typearea-experts.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{typearea-experts.tex} - [$Date: 2021-11-09 09:58:01 +0100 (Tue, 09 Nov 2021) $ + [$Date: 2021-11-09 09:58:01 +0100 (Di, 09. Nov 2021) $ KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/english/typearea.tex b/macros/latex/contrib/koma-script/source-doc/english/typearea.tex index 616ae28d39..1393f4bf38 100644 --- a/macros/latex/contrib/koma-script/source-doc/english/typearea.tex +++ b/macros/latex/contrib/koma-script/source-doc/english/typearea.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{typearea.tex}% - [$Date: 2021-11-09 09:33:36 +0100 (Tue, 09 Nov 2021) $ + [$Date: 2021-11-09 09:33:36 +0100 (Di, 09. Nov 2021) $ KOMA-Script guide (chapter: typearea)] \translator{Markus Kohm\and Gernot Hassenpflug\and Krickette Murabayashi\and Karl Hagen} diff --git a/macros/latex/contrib/koma-script/source-doc/guide.tex b/macros/latex/contrib/koma-script/source-doc/guide.tex index 85c0617f26..8d775c8428 100644 --- a/macros/latex/contrib/koma-script/source-doc/guide.tex +++ b/macros/latex/contrib/koma-script/source-doc/guide.tex @@ -1,6 +1,6 @@ % ====================================================================== % guide.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % guide.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -48,7 +48,7 @@ \documentclass{scrguide} \KOMAProvidesFile{guide.tex} - [$Date: 2021-01-02 15:55:38 +0100 (Sat, 02 Jan 2021) $ + [$Date: 2022-02-02 12:07:57 +0100 (Mi, 02. Feb 2022) $ KOMA-Script (guide main file)] \begin{document} @@ -101,6 +101,7 @@ \include{adrconvnote} \include{scrextend} \include{scrjura} +\include{scrlogo} \include{expertpart} \include{scrbase} diff --git a/macros/latex/contrib/koma-script/source-doc/linkalias.tex b/macros/latex/contrib/koma-script/source-doc/linkalias.tex index f8fc76dab4..f6fa2fad43 100644 --- a/macros/latex/contrib/koma-script/source-doc/linkalias.tex +++ b/macros/latex/contrib/koma-script/source-doc/linkalias.tex @@ -39,7 +39,7 @@ % \KOMAProvidesFile{linkalias.tex} - [$Date: 2019-12-06 10:36:13 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 10:36:13 +0100 (Fr, 06. Dez 2019) $ link aliases for the free version] \makeatletter diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/adrconvnote.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/adrconvnote.tex index 7748638243..ae00117c5d 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/adrconvnote.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/adrconvnote.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{adrconvnote.tex} - [$Date: 2019-10-10 10:04:30 +0200 (Thu, 10 Oct 2019) $ + [$Date: 2019-10-10 10:04:30 +0200 (Do, 10. Okt 2019) $ KOMA-Script guide (chapter: adrconv)] \chapter{Adressdateien aus Adressdatenbanken}% diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-compatibility.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-compatibility.tex index 36876176ef..e5fb366a32 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-compatibility.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-compatibility.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-compatibility.tex} - [$Date: 2019-10-31 08:38:01 +0100 (Thu, 31 Oct 2019) $ + [$Date: 2019-10-31 08:38:01 +0100 (Do, 31. Okt 2019) $ KOMA-Script guide (common paragraphs)] \section{Kompatibilität zu früheren Versionen von \KOMAScript} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-dictum.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-dictum.tex index a4b6fa0017..7abb9c90a1 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-dictum.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-dictum.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-dictum.tex} - [$Date: 2019-11-20 08:38:35 +0100 (Wed, 20 Nov 2019) $ + [$Date: 2019-11-20 08:38:35 +0100 (Mi, 20. Nov 2019) $ KOMA-Script guide (common paragraphs)] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-draftmode.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-draftmode.tex index b8962e18b8..0f0f73b955 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-draftmode.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-draftmode.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-draftmode.tex} - [$Date: 2019-10-31 08:46:30 +0100 (Thu, 31 Oct 2019) $ + [$Date: 2019-10-31 08:46:30 +0100 (Do, 31. Okt 2019) $ KOMA-Script guide (common paragraphs: draft)] \section{Entwurfsmodus} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-fontsize.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-fontsize.tex index aa551f9022..deaafca598 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-fontsize.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-fontsize.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-fontsize.tex} - [$Date: 2019-12-06 10:52:05 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 10:52:05 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (common paragraphs: fontsize)] \section{Wahl der Schriftgröße für das Dokument} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes-experts.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes-experts.tex new file mode 100644 index 0000000000..2f8e220946 --- /dev/null +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes-experts.tex @@ -0,0 +1,76 @@ +% ====================================================================== +% common-footnotes-experts.tex +% Copyright (c) Markus Kohm, 2022 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% common-footnotes.tex +% Copyright (c) Markus Kohm, 2001-2022 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Paragraphs that are common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absätze, die mehreren Kapiteln der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ====================================================================== + +\KOMAProvidesFile{common-footnotes-experts.tex}% + [$Date: 2022-02-16 10:57:02 +0100 (Mi, 16. Feb 2022) $ + KOMA-Script guide (common paragraphs)] + +\begin{Declaration} + \DoHook{footnote/text/begin}% + \DoHook{footnote/text/end}% +\end{Declaration} +\BeginIndex{}{Haken}% +Für\ChangedAt{v3.36}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} Experten gibt es außerdem zwei +Haken vom Typ \emph{do-hook} (siehe \autoref{sec:scrbase.hooks} ab +\autopageref{sec:scrbase.hooks}). Der erste davon wird ganz zu Beginn von +\Macro{@makefntext} noch vor \DescRef{maincls.cmd.raggedfootnote} +ausgeführt. Der zweite am Ende noch bevor der Absatz beendet ist. Derzeit +werden beide Haken von \KOMAScript{} selbst nicht verwendet.% +\EndIndexGroup + +%%% Local Variables: +%%% mode: latex +%%% coding: utf-8 +%%% ispell-local-dictionary: "de_DE" +%%% eval: (flyspell-mode 1) +%%% TeX-master: "../guide" +%%% End: + +% LocalWords: Fußnotennummern Fußnotenmarkierung Satzspiegels +% LocalWords: Standardklassen Fußnotenformatierungen Dokumentpräambel +% LocalWords: Fußnotenmöglichkeiten diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes.tex index d1ffab0cbe..b97c85c732 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-footnotes.tex @@ -1,6 +1,6 @@ % ====================================================================== % common-footnotes.tex -% Copyright (c) Markus Kohm, 2001-2021 +% Copyright (c) Markus Kohm, 2001-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % common-footnotes.tex -% Copyright (c) Markus Kohm, 2001-2021 +% Copyright (c) Markus Kohm, 2001-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-footnotes.tex}% - [$Date: 2021-02-25 09:21:33 +0100 (Thu, 25 Feb 2021) $ + [$Date: 2022-02-16 10:57:02 +0100 (Mi, 16. Feb 2022) $ KOMA-Script guide (common paragraphs)] \section{Fußnoten} @@ -748,15 +748,29 @@ zulässig (siehe \cite{package:ragged2e}). \vskip -1\ht\strutbox plus .75\ht\strutbox% Beispiel am Ende der Erklärung \fi \EndIndexGroup + +\begin{Declaration} + \DoHook{footnote/text/begin}% + \DoHook{footnote/text/end}% +\end{Declaration} +\BeginIndex{}{Haken}% +Für\ChangedAt{v3.36}{\Class{scrbook}\and \Class{scrreprt}\and + \Class{scrartcl}\and \Package{scrextend}} Experten gibt es außerdem zwei +Haken vom Typ \emph{do-hook} (siehe \autoref{sec:scrbase.hooks} ab +\autopageref{sec:scrbase.hook}). Der erste davon wird ganz zu Beginn von +\Macro{@makefntext} noch vor \DescRef{\LabelBase.cmd.raggedfootnote} +ausgeführt. Der zweite am Ende noch bevor der Absatz beendet ist. Derzeit +werden beide Haken von \KOMAScript{} selbst nicht verwendet.% +\EndIndexGroup % \EndIndexGroup %%% Local Variables: %%% mode: latex -%%% mode: flyspell %%% coding: utf-8 %%% ispell-local-dictionary: "de_DE" +%%% eval: (flyspell-mode 1) %%% TeX-master: "../guide" %%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-headfootheight.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-headfootheight.tex index 59505b4038..7da5b9b90b 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-headfootheight.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-headfootheight.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{common-headfootheight.tex} - [$Date: 2019-11-13 12:33:18 +0100 (Wed, 13 Nov 2019) $ + [$Date: 2019-11-13 12:33:18 +0100 (Mi, 13. Nov 2019) $ KOMA-Script guide (common paragraph: Head and Foot Height)] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-interleafpage.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-interleafpage.tex index b1fffb5776..05ada41e6b 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-interleafpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-interleafpage.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-interleafpage.tex} - [$Date: 2019-11-11 08:22:00 +0100 (Mon, 11 Nov 2019) $ + [$Date: 2019-11-11 08:22:00 +0100 (Mo, 11. Nov 2019) $ KOMA-Script guide (common paragraphs)] \section{Vakatseiten} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-lists.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-lists.tex index cb6abd1da6..e41f97fea3 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-lists.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-lists.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-lists.tex}% - [$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $ + [$Date: 2021-02-15 19:40:44 +0100 (Mo, 15. Feb 2021) $ KOMA-Script guide (common paragraphs)] \section{Listen} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-marginpar.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-marginpar.tex index 169a77403a..f30edc5e5e 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-marginpar.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-marginpar.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-marginpar.tex} - [$Date: 2019-11-04 08:19:23 +0100 (Mon, 04 Nov 2019) $ + [$Date: 2019-11-04 08:19:23 +0100 (Mo, 04. Nov 2019) $ KOMA-Script guide (common paragraphs)] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-oddorevenpage.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-oddorevenpage.tex index 544af3a50a..d6736a5e28 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-oddorevenpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-oddorevenpage.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-oddorevenpage.tex} - [$Date: 2019-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $ + [$Date: 2019-11-19 12:56:28 +0100 (Di, 19. Nov 2019) $ KOMA-Script guide (common paragraphs)] \section{Erkennung von rechten und linken Seiten} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-options.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-options.tex index 8dc2d89048..e53aaff070 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-options.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-options.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-options.tex} - [$Date: 2019-10-29 09:18:21 +0100 (Tue, 29 Oct 2019) $ + [$Date: 2019-10-29 09:18:21 +0100 (Di, 29. Okt 2019) $ KOMA-Script guide (common paragraphs)] \section{Frühe oder späte Optionenwahl} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-pagestylemanipulation.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-pagestylemanipulation.tex index b1338f5c47..870c5987fd 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-pagestylemanipulation.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-pagestylemanipulation.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{common-pagestylemanipulation.tex} - [$Date: 2019-12-06 11:43:30 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 11:43:30 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (common paragraph: Setting up defined page styles)] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-parmarkup.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-parmarkup.tex index c9d02206d0..92cdef654d 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-parmarkup.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-parmarkup.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-parmarkup.tex} - [$Date: 2020-03-12 08:27:32 +0100 (Thu, 12 Mar 2020) $ + [$Date: 2020-03-12 08:27:32 +0100 (Do, 12. Mär 2020) $ KOMA-Script guide (common paragraphs)] \section{Absatzauszeichnung} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-textmarkup.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-textmarkup.tex index 1ffb67d699..c227d3b7b4 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-textmarkup.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-textmarkup.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-textmarkup.tex} - [$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $ + [$Date: 2021-02-15 19:40:44 +0100 (Mo, 15. Feb 2021) $ KOMA-Script guide (common paragraphs)] \section{Textauszeichnungen} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-titles.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-titles.tex index e6ddc580fb..e8f01d1571 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-titles.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-titles.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-titles.tex} - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Di, 03. Dez 2019) $ KOMA-Script guide (common paragraphs)] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/common-typearea.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/common-typearea.tex index a5863e3fdc..ef2bf8f2d1 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/common-typearea.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/common-typearea.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{common-typearea.tex} - [$Date: 2019-10-28 10:05:40 +0100 (Mon, 28 Oct 2019) $ + [$Date: 2019-10-28 10:05:40 +0100 (Mo, 28. Okt 2019) $ KOMA-Script guide (common paragraphs: typearea)] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/guide-ngerman.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/guide-ngerman.tex index a58803663c..8a0f3acfa2 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/guide-ngerman.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/guide-ngerman.tex @@ -46,7 +46,7 @@ % ====================================================================== % \KOMAProvidesFile{guide-ngerman.tex} - [$Date: 2019-12-01 13:41:51 +0100 (Sun, 01 Dec 2019) $ + [$Date: 2019-12-01 13:41:51 +0100 (So, 01. Dez 2019) $ KOMA-Script guide language dependencies] % % \section{Title} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/introduction.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/introduction.tex index 21259e88bc..70eb715c63 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/introduction.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/introduction.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{introduction.tex} - [$Date: 2019-10-21 10:41:13 +0200 (Mon, 21 Oct 2019) $ + [$Date: 2019-10-21 10:41:13 +0200 (Mo, 21. Okt 2019) $ KOMA-Script guide introduction] \chapter{Einleitung} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/preface.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/preface.tex index 94a192f254..24a2796643 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/preface.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/preface.tex @@ -36,7 +36,7 @@ % ====================================================================== \KOMAProvidesFile{typearea.tex} - [$Date: 2019-12-19 10:20:31 +0100 (Thu, 19 Dec 2019) $ + [$Date: 2019-12-19 10:20:31 +0100 (Do, 19. Dez 2019) $ Vorwort zu Version 3.25] \addchap{Vorwort zu \KOMAScript~3.28} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scraddr.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scraddr.tex index a37a0d478a..d5ebb1fd0f 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scraddr.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scraddr.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scraddr.tex} - [$Date: 2019-10-30 09:32:39 +0100 (Wed, 30 Oct 2019) $ + [$Date: 2019-10-30 09:32:39 +0100 (Mi, 30. Okt 2019) $ KOMA-Script guide (chapter: scraddr)] \chapter{Adressdateien mit \Package{scraddr} erschließen}% diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbase.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbase.tex index f95f6bbf5b..b93c6fdace 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbase.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbase.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbase.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scrbase.tex} - [$Date: 2021-10-16 12:22:12 +0200 (Sat, 16 Oct 2021) $ + [$Date: 2022-02-02 12:07:57 +0100 (Mi, 02. Feb 2022) $ KOMA-Script package scrbase] \chapter{Grundlegende Funktionen im Paket \Package{scrbase}} @@ -1807,21 +1807,8 @@ finden.\iffree{}{ \KOMAScript{} selbst definiert noch einige weitere Obwohl -- oder gerade weil -- \Package{scrbase} ganz allgemein als Paket für Klassen- und Paketautoren konzipiert ist, wird es natürlich von den \KOMAScript-Klassen und den meisten \KOMAScript-Paketen verwendet. Es enthält -daher auch zwei Anweisungen, die in allen \KOMAScript-Klassen und allen -grundlegenden \KOMAScript-Paketen vorhanden sind. - - -\begin{Declaration} - \Macro{KOMAScript} -\end{Declaration} -Diese Anweisung gibt die Wortmarke »\KOMAScript« in serifenloser -Schrift und mit leichter Sperrung des in Versalien gesetzten -Teils aus. \Macro{KOMAScript} wird übrigens bei Bedarf von allen -\KOMAScript-Klassen und "~Paketen definiert. Die Definition erfolgt mit -\Macro{DeclareRobustCommand}. Da auch Pakete, die nicht zu \KOMAScript{} -gehören, diese Wortmarke definieren können, sollte man die Anweisung jedoch -nicht als Indiz für die Verwendung eines \KOMAScript-Pakets verstehen.% -\EndIndexGroup +daher auch eine Anweisung, die in allen \KOMAScript-Klassen und allen +grundlegenden \KOMAScript-Paketen vorhanden ist. \begin{Declaration} @@ -2175,8 +2162,8 @@ werden. %%% Local Variables: %%% mode: latex -%%% mode: flyspell %%% coding: utf-8 +%%% eval: (flyspell-mode 1) %%% ispell-local-dictionary: "de_DE" %%% TeX-master: "../guide.tex" %%% End: diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex index 51c3359e34..a53f9bd223 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2021 +% Copyright (c) Markus Kohm, 2001-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrbookreportarticle-experts.tex -% Copyright (c) Markus Kohm, 2001-2021 +% Copyright (c) Markus Kohm, 2001-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -48,7 +48,7 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle-experts.tex}% - [$Date: 2021-06-25 10:07:17 +0200 (Fri, 25 Jun 2021) $ + [$Date: 2022-02-16 11:28:04 +0100 (Mi, 16. Feb 2022) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for experts)] @@ -89,6 +89,7 @@ Standardklassen\iffree{ oder früheren Versionen von \KOMAScript}{}.\iffree{}{ \LoadNonFree{scrbookreportarticle-experts}{1} +\iffree{\LoadCommonFile{footnotes-experts}}{} \section{Zusammenspiel von \KOMAScript{} und anderen Paketen} \seclabel{coexistence} @@ -120,7 +121,7 @@ mit \DescRef{scrbase.cmd.Ifstr}, sind ebenfalls möglich. Demgegenüber gibt \par Es\textnote{Achtung!} sei in diesem Zusammenhang darauf hingewiesen, dass dagegen die Existenz von -\DescRef{scrbase.cmd.KOMAScript}\IndexCmd{KOMAScript} nicht als Indiz für die +\DescRef{scrlogo.cmd.KOMAScript}\IndexCmd{KOMAScript} nicht als Indiz für die Verwendung einer \KOMAScript-Klasse dienen kann. Zum einen definieren alle \KOMAScript-Pakete diese Anweisung, zum anderen können auch andere Pakete es für sinnvoll erachten, das \KOMAScript-Piktogramm unter diesem Namen zu diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle.tex index 4f1d16802a..7481c82a19 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrbookreportarticle.tex} - [$Date: 2019-12-06 10:38:10 +0100 (Fri, 06 Dec 2019) $ + [$Date: 2019-12-06 10:38:10 +0100 (Fr, 06. Dez 2019) $ KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)] \chapter{Die Hauptklassen \Class{scrbook}, \Class{scrreprt}, \Class{scrartcl}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex index 3143fad658..53a099b0d5 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrdatetime.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scrdatetime.tex} - [$Date: 2019-11-15 08:07:56 +0100 (Fri, 15 Nov 2019) $ + [$Date: 2019-11-15 08:07:56 +0100 (Fr, 15. Nov 2019) $ KOMA-Script guide (chapter: scrdate, scrtime)] \chapter{Der Wochentag mit \Package{scrdate}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrextend.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrextend.tex index ac4b8a298f..3a4c552c46 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrextend.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrextend.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scrextend.tex} - [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $ + [$Date: 2019-11-18 10:57:08 +0100 (Mo, 18. Nov 2019) $ KOMA-Script package scrextend] \chapter[tocentry={Grundlegende Fähigkeiten der diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex index 942858109b..1d87988660 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrhack.tex} - [$Date: 2021-06-03 19:56:49 +0200 (Thu, 03 Jun 2021) $ + [$Date: 2021-06-03 19:56:49 +0200 (Do, 03. Jun 2021) $ KOMA-Script guide (chapter: scrhack)] \chapter{Fremdpakete verbessern mit \Package{scrhack}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrjura.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrjura.tex index a7647187f0..762124c190 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrjura.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrjura.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{scrjura.tex}% - [$Date: 2021-02-25 13:15:44 +0100 (Thu, 25 Feb 2021) $ + [$Date: 2021-02-25 13:15:44 +0100 (Do, 25. Feb 2021) $ KOMA-Script guide (chapter: scrjura)] \chapter{Unterstützung für die Anwaltspraxis durch \Package{scrjura}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-notecolumn.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-notecolumn.tex index 2388c238b8..d4f5f7d416 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-notecolumn.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-notecolumn.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-notecolumn.tex} - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Di, 03. Dez 2019) $ KOMA-Script guide (chapter:scrlayer-notecolumn)] \chapter{Notizspalten mit \Package{scrlayer-notecolumn}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage-experts.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage-experts.tex index 741f98daad..37e8f84607 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage-experts.tex @@ -44,7 +44,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-scrpage-experts.tex}% - [$Date: 2019-11-29 09:11:10 +0100 (Fri, 29 Nov 2019) $ + [$Date: 2019-11-29 09:11:10 +0100 (Fr, 29. Nov 2019) $ KOMA-Script guide (chapter: scrlayer-scrpage for experts)] \chapter[{Zusätzliche Möglichkeiten von \Package{scrlayer-scrpage}}] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage.tex index 12b822affe..a04e23557d 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer-scrpage.tex @@ -44,7 +44,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer-scrpage.tex}% - [$Date: 2019-11-29 08:38:59 +0100 (Fri, 29 Nov 2019) $ + [$Date: 2019-11-29 08:38:59 +0100 (Fr, 29. Nov 2019) $ KOMA-Script guide (chapter:scrlayer-scrpage)] \chapter[{Kopf- und Fußzeilen mit \Package{scrlayer-scrpage}}] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer.tex index f887b84b5d..18a8e449e4 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlayer.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlayer.tex}% - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Di, 03. Dez 2019) $ KOMA-Script guide (chapter:scrlayer)] \chapter[{Definition von Ebenen und Seitenstilen mit \Package{scrlayer}}] diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlfile.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlfile.tex index 2cf55bc73d..557e98bf86 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlfile.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlfile.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlfile.tex}% - [$Date: 2021-11-01 12:28:35 +0100 (Mon, 01 Nov 2021) $ + [$Date: 2021-11-01 12:28:35 +0100 (Mo, 01. Nov 2021) $ KOMA-Script guide (chapter: scrlfile)] \chapter{Paketabhängigkeiten mit \Package{scrlfile} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2-experts.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2-experts.tex index 988360e8bc..a2dc85b86c 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2-experts.tex @@ -48,7 +48,7 @@ % ============================================================================ \KOMAProvidesFile{scrlttr2-experts.tex}% - [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $ + [$Date: 2019-12-03 09:41:21 +0100 (Di, 03. Dez 2019) $ KOMA-Script guide (chapter: scrlttr2 for experts)] \chapter{Zusätzliche Informationen zur diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2.tex index 307ee14ed7..332c032ab2 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrlttr2.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrlttr2.tex -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrlttr2.tex}% - [$Date: 2021-02-25 09:27:06 +0100 (Thu, 25 Feb 2021) $ + [$Date: 2022-03-07 10:51:27 +0100 (Mo, 07. Mär 2022) $ KOMA-Script guide (chapter: scrlttr2)] \chapter{Briefe mit Klasse \Class{scrlttr2} oder Paket \Package{scrletter}} @@ -1843,7 +1843,7 @@ ohne Wirkung. Mögliche Werte für \Option{fromalign} sind \DescRef{\LabelBase.option.fromemail}, \DescRef{\LabelBase.option.fromurl} und \DescRef{\LabelBase.option.fromlogo} werden - wirkungslose.}\\[-1.7ex] + wirkungslos.}\\[-1.7ex] \entry{\PValue{left}}{% Der Absender steht linksbündig im Briefkopf; ein Logo wird gegebenenfalls rechtsbündig platziert; die Erweiterungen der diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex index e8e9774ad7..bef64fe052 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex @@ -46,7 +46,7 @@ % ============================================================================ \KOMAProvidesFile{scrwfile.tex} - [$Date: 2021-05-30 19:31:59 +0200 (Sun, 30 May 2021) $ + [$Date: 2021-05-30 19:31:59 +0200 (So, 30. Mai 2021) $ KOMA-Script guide (chapter: scrwfile)] \chapter{Dateien mit \Package{scrwfile} sparen und ersetzen} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/tocbasic.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/tocbasic.tex index 35a9538014..e52bda0a3e 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/tocbasic.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/tocbasic.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{tocbasic.tex} - [$Date: 2021-10-15 13:47:06 +0200 (Fri, 15 Oct 2021) $ + [$Date: 2021-10-15 13:47:06 +0200 (Fr, 15. Okt 2021) $ KOMA-Script guide (package tocbasic)] \chapter{Verzeichnisse verwalten mit Hilfe von \Package{tocbasic}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/typearea-experts.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/typearea-experts.tex index 352f2526a3..b51daf4908 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/typearea-experts.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/typearea-experts.tex @@ -46,7 +46,7 @@ % ====================================================================== \KOMAProvidesFile{typearea-experts.tex} - [$Date: 2021-07-11 17:14:57 +0200 (Sun, 11 Jul 2021) $ + [$Date: 2021-07-11 17:14:57 +0200 (So, 11. Jul 2021) $ KOMA-Script guide (chapter: typearea for experts)] \chapter{Zusätzliche Informationen zum Paket \Package{typearea.sty}} diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/typearea.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/typearea.tex index a9e9780ae0..3eb75d22c8 100644 --- a/macros/latex/contrib/koma-script/source-doc/ngerman/typearea.tex +++ b/macros/latex/contrib/koma-script/source-doc/ngerman/typearea.tex @@ -47,7 +47,7 @@ \KOMAProvidesFile{typearea.tex} - [$Date: 2021-11-09 09:33:36 +0100 (Tue, 09 Nov 2021) $ + [$Date: 2021-11-09 09:33:36 +0100 (Di, 09. Nov 2021) $ KOMA-Script guide (chapter: typearea)] \chapter{Satzspiegelberechnung mit \Package{typearea.sty}} \labelbase{typearea} diff --git a/macros/latex/contrib/koma-script/source-doc/scrguide.cls b/macros/latex/contrib/koma-script/source-doc/scrguide.cls index a8d5e63c2a..585bed0e69 100644 --- a/macros/latex/contrib/koma-script/source-doc/scrguide.cls +++ b/macros/latex/contrib/koma-script/source-doc/scrguide.cls @@ -1,6 +1,6 @@ % ====================================================================== % scrguide.cls -% Copyright (c) Markus Kohm, 2005-2021 +% Copyright (c) Markus Kohm, 2005-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrguide.cls -% Copyright (c) Markus Kohm, 2005-2021 +% Copyright (c) Markus Kohm, 2005-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -38,7 +38,7 @@ % \section{Identification} % % \begin{macrocode} -\ProvidesClass{scrguide}[2021/02/11 v1.25 internal KOMA-Script guide class] +\ProvidesClass{scrguide}[2022/03/22 v1.26 internal KOMA-Script guide class] % \end{macrocode} % % @@ -238,7 +238,7 @@ \renewcommand*{\chapterpagestyle}{scrheadings}% \setlength{\@tempdimc}{\oddsidemargin}% \addtolength{\@tempdimc}{1in}% - \setheadwidth[-\@tempdimc]{paper}% + \KOMAoptions{headwidth=paper:-\@tempdimc}% % Entweder: \hypersetup{colorlinks,citecolor=Green,linkcolor=Crimson,urlcolor=Blue}% % oder: diff --git a/macros/latex/contrib/koma-script/source/Makefile b/macros/latex/contrib/koma-script/source/Makefile index 4834e309db..d62b078a5d 100644 --- a/macros/latex/contrib/koma-script/source/Makefile +++ b/macros/latex/contrib/koma-script/source/Makefile @@ -1,6 +1,6 @@ # ====================================================================== # Makefile -# Copyright (c) Markus Kohm, 2002-2021 +# Copyright (c) Markus Kohm, 2002-2022 # # This file is part of the LaTeX2e KOMA-Script bundle. # @@ -16,23 +16,6 @@ # The Current Maintainer and author of this work is Markus Kohm. # # This work consists of all files listed in manifest.txt. -# ---------------------------------------------------------------------- -# Makefile -# Copyright (c) Markus Kohm, 2002-2021 -# -# Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -# Version 1.3c, verteilt und/oder veraendert werden. -# Die neuste Version dieser Lizenz ist -# http://www.latex-project.org/lppl.txt -# und Version 1.3c ist Teil aller Verteilungen von LaTeX -# Version 2005/12/01 oder spaeter und dieses Werks. -# -# Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -# (allein durch den Autor verwaltet). -# -# Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -# -# Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. # ====================================================================== NOCHANGELOG = 1 # We do not longer make or package the ChangeLog @@ -71,7 +54,7 @@ define makepdffromdtx $(RM) -v $@; \ exit 1; \ fi; \ - $(GREP) Rerun $(basename $<).log || oncemore=false; \ + $(GREP) "Rerun to" $(basename $<).log || oncemore=false; \ newchecksum=`$(CKSUM) $(basename $<).aux`; \ [ "$$newchecksum"="$$checksum" ] || oncemore=true; \ checksum="$$newchecksum"; \ @@ -143,7 +126,7 @@ CLS_MAIN = scrbook.cls \ CLS_MAIN_DTX = scrkernel-basics.dtx \ scrkernel-bibliography.dtx \ - scrkernel-circularletters.dtx \ + scrkernel-addressfiles.dtx \ scrkernel-compatibility.dtx \ scrkernel-floats.dtx \ scrkernel-fonts.dtx \ @@ -216,15 +199,18 @@ $(CLS_MAIN): $(CLS_MAIN_DVI) $(CLS_MAIN_INS) $(MAKE_FILES) scrsource.pdf: scrsource.tex $(CLS_MAIN_DTX) $(MAKE_FILES) scrdoc.cls $(makepdffromdtx) -scrdoc.cls: scrdoc.dtx +scrdoc.cls: scrdoc.dtx koma-script-source-doc.cls $(SSYMLINK) scrdoc.dtx scrdoc.cls +koma-script-source-doc.cls: koma-script-source-doc.dtx scrlogo.dtx + $(TEXUNPACK) koma-script-source-doc.dtx + # ---------------------------------------------------------------------- -CLS_FILES = scrdoc.cls $(CLS_MAIN) +CLS_FILES = scrdoc.cls koma-script-source-doc.cls $(CLS_MAIN) CLS_DVIS = $(CLS_MAIN_DVI) -CLS_SRC = $(CLS_MAIN_SRC) +CLS_SRC = $(CLS_MAIN_SRC) koma-script-source-doc.dtx NODIST_GENERATED = $(CLS_DVIS) $(CLS_FILES) $(ALPHA_DOC) @@ -256,6 +242,9 @@ tdsdist:dist # extract dist and make all $(UNTARGZ) $(DISTDIR).tar.gz chmod -R a+w $(DISTDIR) + # If we use a local Makefile.cfg this should be copied too, + # but it should not become part of the tds distribution. + $(CP) Makefile.cfg $(DISTDIR)/Makefile.cfg ifdef PREPARERELEASE developer/scripts/preparerelease.sh 2 $(notdir $(DISTDIR)) endif diff --git a/macros/latex/contrib/koma-script/source/japanlco.dtx b/macros/latex/contrib/koma-script/source/japanlco.dtx index 1703f901da..c794644aef 100644 --- a/macros/latex/contrib/koma-script/source/japanlco.dtx +++ b/macros/latex/contrib/koma-script/source/japanlco.dtx @@ -1,8 +1,7 @@ -% \CheckSum{77} % \iffalse meta-comment % ====================================================================== % japanlco.dtx -% Copyright (c) Markus Kohm, 2008-2019 +% Copyright (c) Markus Kohm, 2008-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% japanlco.dtx -% Copyright (c) Markus Kohm, 2008-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: japanlco.dtx 3256 2019-10-10 07:06:49Z kohm $ +%%% From File: $Id: japanlco.dtx 3690 2022-02-10 09:59:31Z kohm $ %<Ni&EARLY&LOW&head>%%% (run: Ni,EARLY,LOW,head) %<Ni&EARLY&LOW&body>%%% (run: Ni,EARLY,LOW,body) %<Ni&EARLY&HIGH&head>%%% (run: Ni,EARLY,HIGH,head) @@ -69,57 +32,96 @@ %<Kaku&LATE&LOW&head>%%% (run: Kaku,LATE,LOW,head) %<Kaku&LATE&LOW&body>%%% (run: Kaku,LATE,LOW,body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-10-10 09:06:49 +0200 (Thu, 10 Oct 2019) $ + \filedate$Date: 2022-02-10 10:59:31 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1962 $ + \filerevision$Revision: 3690 $ \endgroup \ProvidesFile{japanlco.dtx}[\filedate\space\filerevision\space KOMA-Script (letter class options)] -% \iffalse -\documentclass{scrdoc} -\usepackage[english]{babel} +\ifx\documentclass\undefined + \ifx\ifTopLevel\undefined + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2007} + \generate{\usepreamble\defaultpreamble + \file{NipponEL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,EARLY,LOW,head}% + \from{japanlco.dtx}{lco,Ni,EARLY,LOW,body}% + }% + \file{NipponEH.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,head}% + \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,body}% + }% + \file{NipponLL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,LATE,LOW,head}% + \from{japanlco.dtx}{lco,Ni,LATE,LOW,body}% + }% + \file{NipponLH.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,LATE,HIGH,head}% + \from{japanlco.dtx}{lco,Ni,LATE,HIGH,body}% + }% + \file{NipponRL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,head}% + \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,body}% + }% + \file{KakuLL.lco}{% + \from{scrkernel-version.dtx}{trace}% + \from{japanlco.dtx}{lco,Kaku,LATE,LOW,head}% + \from{japanlco.dtx}{lco,Kaku,LATE,LOW,body}% + }% + }% + \@@input scrstrop.inc + \fi +\else + \let\endbatchfile\relax +\fi +\endbatchfile +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} \usepackage{graphicx} -\CodelineIndex -\RecordChanges -\GetFileInfo{japanlco.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{This is \fileversion\ of file \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} + \DocInput{japanlco.dtx} \end{document} %</dtx> % \fi % % \changes{v2.98}{2007/11/13}{first version based on lco files from Gernot -% Hassenplfug} +% Hassenpflug} +% \changes{v3.36}{2022/01/21}{switch over to \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/01/21}{using \cs{setplength} and \cs{addtoplength} +% instead of \cs{@setplength} and \cs{@addtoplength}} +% \changes{v3.36}{2022/02/02}{self-extracting} +% \changes{v3.36}{2022/02/02}{extended documentation} +% +% \GetFileInfo{japanlco.dtx} +% \title{\href{https://komascript.de}{\KOMAScript} \partname\ +% \texttt{\filename}} +% \date{Version \fileversion{} of \filedate} +% \author{Markus Kohm} +% \maketitle +% \tableofcontents % % \section{Option Files for Japanese Letters} % -% Gernot Hassenpflug wrote a lot of lco files for use of Japanese envelope -% formats. Markus Kohm, the author of \KOMAScript, addapted them to an -% extended version of \textsf{scrlttr2} and wrote a dtx file with the moste -% recent lco files. Table~\ref{tab:japan.envelopes} shows all lco files of the -% supported envelopes with their datas. +% Gernot Hassenpflug wrote a lot of \file{lco}-files for use of Japanese +% envelope formats. Markus Kohm, the author of \KOMAScript, adapted them to +% an extended version of \cls*{scrlttr2} and wrote a \file{dtx}-file with the +% moste recent \file{lco}-files. Table~\ref{tab:japan.envelopes} shows all +% \file{lco}-files of the supported envelopes with their datas. % % \begin{table} -%^^A x=22, w=90, y=12, h=45 NipponEL -%^^A x=22, w=90, y=12, h=55 NipponEH -%^^A x=25, w=90, y=12, h=45 NipponLL -%^^A x=25, w=90, y=12, h=55 NipponLH -%^^A x=98, w=90, y=28, h=45 NipponRL -%^^A x=25, w=90, y=24, h=45 KakuLL % \begin{tabular}{@{}llllllll@{}} % \hline -% lco file & \multicolumn3{l}{Envelope} & \multicolumn4{l@{}}{Window} \\ +% \file{lco}-file & \multicolumn3{l}{Envelope} & \multicolumn4{l@{}}{Window} \\ % & Name & Length & Width & H-pos & V-pos & Width & Height\\ % \cline{1-3}\cline{4-8} % \texttt{NipponEL} & @@ -148,7 +150,10 @@ % \label{tab:japan.envelopes} % \end{table} % -%\iftrue +% \iftrue +% The following pages show images of example envelopes. For more information +% see the English \file{scrguien.pdf} or the German \file{scrguide.pdf}. +% % \newcommand\japanenvelope[7]{% % \begingroup % \setlength{\unitlength}{1mm}%^^A @@ -202,20 +207,18 @@ % \fi %\fi % -% \StopEventually{\PrintIndex\PrintChanges} +% \StopEventually{\PrintIndex} % -% \iffalse +% \section{Implementation} +% \begin{macrocode} %<*lco> -% \fi -% -% \subsubsection{The File Header} +% \end{macrocode} % -% \iffalse -%<*head> -% \fi +% \subsection{The File Header} % % Declaration of the file. % \begin{macrocode} +%<*head> \ProvidesFile{% %<Ni> Nippon% %<Kaku> Kaku% @@ -224,13 +227,16 @@ %<RIGHT> R% %<LOW> L% %<HIGH> H% -}[\KOMAScriptVersion\space Japanese letter-class-option] +}[% +%!KOMAScriptVersion +Japanese letter-class-option] % \end{macrocode} % -% \begin{macro}{\LCOWarningNoLine} -% \begin{macro}{\LCOWarning} +% \begin{command}{\LCOWarningNoLine} +% \begin{command}{\LCOWarning} % We need macros that are similar to |\ClassWarningNoLine| or % |\PackageWarningNoLine| and |\ClassWarning| or |\PackageWarning| +% \begin{macrocode} \providecommand*\LCOWarningNoLine[2]{% \LCOWarning{#1}{#2\@gobble}% } @@ -241,20 +247,19 @@ Letter class option #1 Warning: #2% }% } -% \end{macro} -% \end{macro} -% -% \iffalse %</head> -%<*body> -% \fi +% \end{macrocode} +% \end{command} +% \end{command} +% % -% \subsubsection{Main-Part} +% \subsection{Main-Part} % % Check the class. -% \changes{v3.25a}{2018/04/17}{check not only for \textsf{scrlttr2} but also -% for \textsf{scrletter}}%^^A +% \changes{v3.25a}{2018/04/17}{check not only for \cls*{scrlttr2} but also +% for \pkg*{scrletter}}%^^A % \begin{macrocode} +%<*body> \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% %<Ni> Nippon% @@ -288,62 +293,128 @@ % \end{macrocode} % % All the values -% \changes{v3.03}{2009/03/04}{set term of variablen \texttt{fromzipcode}} +% \begin{variable}{fromzipcode} +% \changes{v3.03}{2009/03/04}{set term of variable \texttt{fromzipcode}} % \begin{macrocode} \setkomavar*{fromzipcode}{J} % \end{macrocode} -%^^A x=22, w=90, y=12, h=45 NipponEL -%^^A x=22, w=90, y=12, h=55 NipponEH -%^^A x=25, w=90, y=12, h=45 NipponLL -%^^A x=25, w=90, y=12, h=55 NipponLH -%^^A x=98, w=90, y=28, h=45 NipponRL -%^^A x=25, w=90, y=24, h=45 KakuLL +% \end{variable} +% \begin{pseudolength}{foldmarkhpos, +% tfoldmarkvpos,tfoldmarklength, +% mfoldmarkvpos,mfoldmarklength, +% bfoldmarkvpos,bfoldmarklength, +% foldmarkvpos,lfoldmarkhpos} +% The fold marks. All of them are universal for Japanese \file{lco}-files. +% \begin{macrocode} +\setplength{foldmarkhpos}{3.5mm} +\setplength{tfoldmarkvpos}{83mm} +\setplength{tfoldmarklength}{4mm} +\setplength{mfoldmarkvpos}{116mm} +\setplength{mfoldmarklength}{2mm} +\setplength{bfoldmarkvpos}{232mm} +\setplength{bfoldmarklength}{2mm} +\setplength{foldmarkvpos}{3.5mm} +\setplength{lfoldmarkhpos}{202mm} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{toaddrhpos,toaddrvpos,toaddrwidth,toaddrheight} +% The size and position of the address window. These values are the main +% difference of the envelopes. The original values (all in cm) by Gernot: +% \begin{center} +% \begin{tabular}{lcccc} +% \hline +% Type & x & w & y & h \\ +% \hline +% NipponEL & 22 & 90 & 12 & 45 \\ +% NipponEH & 22 & 90 & 12 & 55 \\ +% NipponLL & 25 & 90 & 12 & 45 \\ +% NipponLH & 25 & 90 & 12 & 55 \\ +% NipponRL & 98 & 90 & 28 & 45 \\ +% KakuLL & 25 & 90 & 24 & 45 \\ +% \hline +% \end{tabular} +% \end{center} +% \begin{macrocode} +%<EARLY>\setplength{toaddrhpos}{22mm} +%<LATE>\setplength{toaddrhpos}{25mm} +%<RIGHT>\setplength{toaddrhpos}{-22mm} +\setplength{toaddrwidth}{90mm} +%<Ni&!RIGHT>\setplength{toaddrvpos}{12mm} +%<Ni&RIGHT>\setplength{toaddrvpos}{28mm} +%<Kaku>\setplength{toaddrvpos}{24mm} +%<LOW>\setplength{toaddrheight}{40mm} +%<HIGH>\setplength{toaddrheight}{50mm} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{toaddrindent,backaddrheight, +% specialmailindent,specialmailrightindent} +% These are also inside the address window and same for all Japanese +% envelopes. +% \begin{macrocode} +\setplength{toaddrindent}{\z@} +\setplength{backaddrheight}{5mm} +\setplength{specialmailindent}{\fill} +\setplength{specialmailrightindent}{1em} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{locwidth,locheight} +% The location field also depends on the address field. % \begin{macrocode} -\@setplength{foldmarkhpos}{3.5mm} -\@setplength{tfoldmarkvpos}{83mm} -\@setplength{tfoldmarklength}{4mm} -\@setplength{mfoldmarkvpos}{116mm} -\@setplength{mfoldmarklength}{2mm} -\@setplength{bfoldmarkvpos}{232mm} -\@setplength{bfoldmarklength}{2mm} -\@setplength{foldmarkvpos}{3.5mm} -\@setplength{lfoldmarkhpos}{202mm} -%<!Ni|!RIGHT>\@setplength{refvpos}{69mm} -%<Ni&RIGHT>\@setplength{refvpos}{84mm} -\@setplength{refaftervskip}{\baselineskip} -%<EARLY>\@setplength{toaddrhpos}{22mm} -%<LATE>\@setplength{toaddrhpos}{25mm} -%<RIGHT>\@setplength{toaddrhpos}{-22mm} -\@setplength{toaddrwidth}{90mm} -%<Ni&!RIGHT>\@setplength{toaddrvpos}{12mm} -%<Ni&RIGHT>\@setplength{toaddrvpos}{28mm} -%<Kaku>\@setplength{toaddrvpos}{24mm} -%<LOW>\@setplength{toaddrheight}{40mm} -%<HIGH>\@setplength{toaddrheight}{50mm} -\@setplength{toaddrindent}{\z@} -\@setplength{backaddrheight}{5mm} -\@setplength{specialmailindent}{\fill} -\@setplength{specialmailrightindent}{1em} -\@setplength{locwidth}{\z@} -%<Ni>\@setplength{locheight}{55mm}% -%<Kaku>\@setplength{locheight}{45mm}% -\@setplength{firstheadvpos}{8mm} -\@setplength{firstheadwidth}{\paperwidth} +\setplength{locwidth}{\z@} +%<Ni>\setplength{locheight}{55mm}% +%<Kaku>\setplength{locheight}{45mm}% +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{refvpos,refwidth,refaftervskip} +% While the position of the reference line also depends on the address field, +% the space below it is fix. The zero of \plen{revwidth} is a magic. See +% \file{scrkernel-notepaper.dtx} for more information. +% \begin{macrocode} +%<!Ni|!RIGHT>\setplength{refvpos}{69mm} +%<Ni&RIGHT>\setplength{refvpos}{84mm} +\setplength{refaftervskip}{\baselineskip} +\setplength{refwidth}{\z@} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{firstheadvpos,firstheadwidth} +% The header also depends on the address field. This is the reason we have +% not defined it first, despite it is the first field. +% \begin{macrocode} +\setplength{firstheadvpos}{8mm} +\setplength{firstheadwidth}{\paperwidth} \ifdim \useplength{toaddrhpos}>\z@ - \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} + \addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} \else - \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} + \addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} \fi -\@setplength{firstfootwidth}{\useplength{firstheadwidth}} -\@setplength{firstfootvpos}{\paperheight} -\@addtoplength{firstfootvpos}{-16mm} -\@setplength{refwidth}{\z@} -\@setplength{sigindent}{\z@} -\@setplength{sigbeforevskip}{2\baselineskip} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{firstfootwidth,firstfootvpos} +% The width of the footer depends on the width of the header. The position +% depends on the paper height. +% \begin{macrocode} +\setplength{firstfootwidth}{\useplength{firstheadwidth}} +\setplength{firstfootvpos}{\paperheight} +\addtoplength{firstfootvpos}{-16mm} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{sigindent,sigbeforevskip} +% Values of the signature +% \begin{macrocode} +\setplength{sigindent}{\z@} +\setplength{sigbeforevskip}{2\baselineskip} +% \end{macrocode} +% \end{pseudolength} +% \begin{command}{\raggedsignature} +% The signature is centered, but maybe this should be changed to +% \cs{raggedright}? +% \begin{macrocode} \let\raggedsignature=\centering % \end{macrocode} +% \end{command} % -% Additional settings: +% \begin{option}{fromalign} +% The default alignment of the sender is in the location field. % \begin{macrocode} \ifcase\@alignfrom \KOMAoptions{fromalign=locationright}% @@ -353,18 +424,22 @@ \KOMAoptions{fromalign=locationright}% \fi % \end{macrocode} +% \end{option} % -% \iffalse +% \begin{macrocode} %</body> %</lco> -% \fi +% \end{macrocode} % % \Finale +% \PrintChanges % \endinput -% -% end of file `japanlco.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/koma-script-source-doc.dtx b/macros/latex/contrib/koma-script/source/koma-script-source-doc.dtx new file mode 100644 index 0000000000..d1ce7326c5 --- /dev/null +++ b/macros/latex/contrib/koma-script/source/koma-script-source-doc.dtx @@ -0,0 +1,785 @@ +% \iffalse meta-comment +% ========================================================================== +% komascript-source.doc.dtx +% Copyright (c) Markus Kohm, 2022 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% -------------------------------------------------------------------------- +% Note: This is a self unpacking dtx-file, so you have to run: +% tex koma-script-source-doc.dtx +% to unpack the file(s), but +% lualatex-dev koma-script-source-doc.dtx +% mkindex koma-script-source-doc +% lualatex-dev koma-script-source-doc.dtx +% mkindex koma-script-source-doc +% lualatex-dev koma-script-source-doc.dtx +% to generate the manual. Before generation of the manual it is +% recommended to install or at least unpack KOMA-Script. +% ========================================================================== +%% +%<+drv>\ProvidesFile{koma-script-source-doc.drv} +%<+class>\ProvidesClass{koma-script-source-doc} +%<*ins> +\expandafter\expandafter\expandafter\ifx\csname ProvidesFile\endcsname\relax + \def\ProvidesFile#1[#2]{} +\fi +%</ins> +%<*dtx> +\ProvidesFile{koma-script-source-doc.dtx} +%</dtx> +%<+ins>\ProvidesFile{koma-script-source-doc.ins} +[2022-03-10 v0.91 KOMA-Script source documentation] +%<*dtx> +\ifx\documentclass\undefined +%</dtx> +%<*ins> + \input docstrip.tex + \ifToplevel{\keepsilent\askforoverwritefalse} + \generate{% +% \file{koma-script-source-doc.drv}{% +% \from{koma-script-source-doc.dtx}{drv}% +% } +% \file{koma-script-source-doc.ins}{% +% \from{koma-script-source-doc.dtx}{ins}% +% } + \file{koma-script-source-doc.cls}{% + \from{koma-script-source-doc.dtx}{class}% + \from{scrlogo.dtx}{logo,forcedefine}% + }% + } +%</ins> +%<*dtx> +\else + \let\endbatchfile\relax +\fi +%</dtx> +%<*dtx|ins> +\endbatchfile +%</dtx|ins> +%<*drv> +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{libertinus} +\usepackage{babel} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{d.\,i.}, + idxgroup = Documentation items, + printtype = \textit{d.\,i.}, +]{DocItem}{docitem} +\begin{document} +\DocInput{koma-script-source-doc.dtx} +\end{document} +%</drv> +% \fi^^A meta-comment +% +% \changes{v0.0}{2022/01/15}{start of the new class} +% \changes{v0.1}{2022/01/15}{first self documenting test} +% \changes{v0.6}{2022/02/02}{force definition of \KOMAScript{} logo} +% \changes{v0.6}{2022/02/02}{\pkg{hyperref} hook for \KOMAScript{} logo moved +% to \file{scrlogo.dtx}} +% +% \DoNotIndex{\actualchar} +% +% \GetFileInfo{\jobname.dtx} +% \title{\href{https://komascript.de}{\KOMAScript} Source Documentation\\ +% Using\\ +% \cls*{koma-script-source-doc}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Version \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% From 2002 up to end of 2021 \cls*{scrdoc} was the class, that has been used +% for the sources of \KOMAScript{} and several other packages of the +% \KOMAScript{} author. This class was more or less a ugly hack to use a +% modified and extended version of \cls{ltxdoc}, the source documentation +% class of The \LaTeX{} Team. There has been advisement to redesign this +% class for years, but as changing the source documentation class is more a +% work of month than of days, I've always put it on the back burner. +% +% In January 2022, The \LaTeX{} Team switched over from \pkg{doc} version 2 to +% version 3. The new version is compatible on user interface level, but as +% expected not on implementation level. So the extensions made in \cls*{scrdoc} +% result in several error messages. For such cases The \LaTeX{} Team has the +% fallback solution to use an old \pkg{doc}. But this can only be used, if you +% load \pkg{doc} yourself using either |\usepackage| or +% |\RequirePackage|. If class \cls{ltxdoc} is used, the fallback does not +% exist. +% +% A first workaround for \cls*{scrdoc} was a typical hacker solution, that +% forces \cls{ltxdoc} to use an old version of \pkg{doc} and to fix the +% resulting issues after loading \cls{ltxdoc}. But this does only work as long +% as new releases of \cls{ltxdoc} are compatible with the \pkg{doc} release of +% 2021. +% +% So in January 2022, it was really time for a new \KOMAScript{} source +% documentation class. This new class does not use internal commands of +% \cls{ltxdoc} any longer but uses the extended interface of \pkg{doc} version +% 3 to define further documentation items. +% \end{abstract} +% +% \tableofcontents +% +% \section{Prerequisites} +% \label{sec:prerequisites} +% +% Class \cls*{koma-script-source-doc} needs at least class \cls{ltxdoc} version +% 2.1d which depends on package \pkg{doc} version 3, because it used several +% of the new features of that \pkg{doc} release. This is part of +% \texttt{latex-base-dev} 2022-06-01 pre-release~1 distributed on +% \href{https://www.ctan.org}{CTAN} on 14th January 2022 and therefore will be +% part of \LaTeX{} 2022-06-01. If you still use an older \LaTeX{} you cannot +% use class \cls*{koma-script-source-doc}. +% +% +% \section{Basic Settings} +% \label{sec:basicsettings} +% +% For \KOMAScript{} we use some basic settings: +% \begin{itemize} +% \item Generation of the indexing of new commands is generally enabled by +% \pkg{doc}. We do not use \cs{EnableCrossrefs}, because this would not +% allow to disable this feature using \cs{DisableCrossrefs}. It is also +% recommended not to generally use \cs{EnableCrossrefs} in the +% \file{dtx}-file. +% \item We use \cs{CodeLineIndex} to have code line numbers for the +% indexing. This could be problematic sometimes. In this case, you should +% use \cs{PageIndex} and \cs{CodelineNumbered} to use page numbers in the +% index but nevertheless add line numbers to the code. +% \item For \KOMAScript{} code we usually record the changes. So we use +% \cs{RecordChanges} and option \opt{reportchangedates} This is the only +% real changelog we do. However, if your \file{dtx}-file contains the user +% manual, it would be recommended to list the main changes like new features +% and incompatibilities as a section either at the very beginning or the end +% of the user manual. +% \item \DescribeOption{indexlatex} For \KOMAScript{} sources I do not like to +% index all the \LaTeX{} interface commands and internal +% commands\footnote{This does only work for those \LaTeX{} macros, already +% internally listed. The list should be generated automatically after each +% \LaTeX{} release. Unfortunately, currently it is build step by step with +% every new \KOMAScript{} release instead.}. You can changes this, using +% option \opt{indexlatex}. You can also use explicit \opt{indexlatex=false} +% to again not index the \LaTeX{} kernel macros. +% \item You also should use \cs{GetFileInfo}\marg{dtx-filename} to get +% information like \cs{filedate} and \cs{fileversion} from the +% \cs{ProvidesFile} command of the \file{dtx}-file. Sometimes it may even be +% better to use the generated package or class as argument. +% \end{itemize} +% +% +% \section{Simple Formatting Commands} +% \label{sec:simpleformatting} +% +% \DescribeCommand{\file} +% \DescribeCommand{\opt} +% \DescribeCommand{\optvalue} +% \DescribeCommand{\env} +% \DescribeCommand{\cnt} +% \DescribeCommand{\fnt} +% \DescribeCommand{\len} +% \DescribeCommand{\var} +% \DescribeCommand{\plen} +% \DescribeCommand{\pstyle} +% \DescribeCommand{\dhook} +% There are some very simple formatting commands. They all expect one +% mandatory argument \meta{object name}. The default formatting is to use +% \cs{texttt}. The commands are mentioned for the name of a file, option, +% value of an option, environment, \LaTeX{} counter, font, length (either +% dimension or skip), variable (usually \KOMAScript{} variables used by +% \cls*{scrlttr2} or \pkg*{scrletter}), pseudo-length (of \cls*{scrlttr2} or +% \pkg*{scrletter}), page style, or do hook. +% +% \DescribeCommand{\cls} +% \DescribeCommand{\pkg} +% The commands: +% \begin{quote} +% \cs{cls}\oarg{hyper link}\marg{package name}\hfill and\hfill +% \cs{pkg}\oarg{hyper link}\marg{class name} +% \end{quote} +% do not only print the name of a class or package, but also generate a hyper +% link. For this the commands have a first optional argument. If this is +% empty, no link will be generated. If it is not empty, it has to be the +% link. If it is not used an automatic package link to the +% \href{https://www.ctan.org/pkg}{CTAN} package with the same name will be +% generated. There are also star variants \cs{cls*} and \cs{pkg*}, that do not +% produce any link. For links with special characters like \texttt{\char`\#} +% it is recommended to use \cs{href} and the star variant. +% \begin{center} +% Examples:\hspace{0pt plus 1filll}\null\\[-\baselineskip] +% \cs{cls}|{scrbook}| \textrightarrow{} \cls{scrbook}\\ +% \cs{cls*}|{scrbook}| \textrightarrow{} \cls*{scrbook}\\ +% \cs{cls}|[https://koma-script.de]{koma-script-source-doc}| +% \textrightarrow{} \cls[https://koma-script.de]{koma-script-source-doc}\\ +% \cs{pkg}|[]{scrlayer}| \textrightarrow{} \pkg[]{scrlayer} \\ +% \cs{href}|{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguien.pdf#cha:typearea}{\pkg*{typearea}}| +% \textrightarrow{} +% \href{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguien.pdf#chapter.2}{\pkg*{typearea}} +% \end{center} +% +% \MaybeStop{\PrintIndex} +% +% \section{Implementation} +% +% \begin{macrocode} +%<*class> +% \end{macrocode} +% +% \subsection{Class Options} +% +% We use \pkg{l3keys2e} for the options. Using \pkg*{scrkbase} would be nice +% too, but it cannot be used until \KOMAScript{} is available, to the +% emergency fallback to using the standard class \cls*{article} wouldn't make +% sense in this case. +% \begin{macrocode} +\RequirePackage{l3keys2e} +\ExplSyntaxOn +% \end{macrocode} +% \begin{option}{indexlatex} +% \changes{v0.3}{2022/01/17}{new option} +% The option to switch on/off the indexing of \LaTeX{} interface and internal +% macros (and also \TeX{} primitives). The pre-setting is \texttt{false}. The +% default of the option is \texttt{true}. +% \begin{macrocode} +\newif \ifkdoc@indexlatex \kdoc@indexlatexfalse +\keys_define:nn {kdoc} + { + indexlatex .choice:, + indexlatex / true .code:n = { \legacy_if_set_true:n { kdoc@indexlatex } }, + indexlatex / false .code:n = { \legacy_if_set_false:n { kdoc@indexlatex } }, + indexlatex .default:n = { true }, + } +% \end{macrocode} +% \end{option} +% \begin{macrocode} +\ExplSyntaxOff +\ProcessKeysOptions {kdoc} +% \end{macrocode} +% +% +% \subsection{Base Class and Packages} +% +% \changes{v0.2}{2022/01/16}{emergency fallback to \cls*{article}} +% \changes{v0.3}{2022/01/17}{new basic defaults} +% \changes{v0.3}{2022/01/17}{\cs{DoNotIndex} of several \LaTeX{} kernel +% macros} +% \changes{v0.3a}{2022/01/21}{using an old \pkg{doc} is fatal} +% Currently we use base class \cls{ltxdoc} at least version 2021/12/07 +% v2.1d. In future this could change. In this case we would need to load +% package \pkg{doc} at least version 2022/06/01 v3.0g. However, we also want +% \cls{ltxdoc} to use \KOMAScript{} class \cls*{scrartcl} instead of standard +% class \cls*{article}. But if \KOMAScript{} has not been made, we cannot use +% a \KOMAScript{} class or package to compile the source. So in this case +% we use an emergency fallback. +% \begin{macrocode} +\IfFileExists{scrartcl.cls}{% + \declare@file@substitution{article.cls}{scrartcl.cls} + \PassOptionsToClass{fontsize=10pt}{scrartcl} +}{% + \ClassWarningNoLine{koma-script-source-doc}{% + Usually this class should be used with KOMA-Script\MessageBreak + scrartcl. But as that class is not available we use\MessageBreak + standard class article as emergency fallback.\MessageBreak + It is recommended to repeat this LaTeX run after\MessageBreak + build/installation of a complete KOMA-Script% + }% +} +\LoadClassWithOptions{ltxdoc}[2021/12/07] +\IfPackageAtLeastTF{doc}{2022/06/01}{}{% + \ClassError{koma-script-source-doc}{old package `doc' detected}{% + This class needs `doc' v3. It cannot be used with\MessageBreak + `doc' v2. `doc' v3 is available at LaTeX developer\MessageBreak + release from at least January 2022}% + \csname fi\endcsname\csname @@end\endcsname\end\endinput +} +\SetupDoc{reportchangedates} +\CodelineIndex +\RecordChanges +\ifkdoc@indexlatex\else + \DoNotIndex{\.,\\,\ ,\@,\@Alph,\@M} + \DoNotIndex{\@abstrtfalse,\@abstrttrue,\@addtoreset,\@afterheading} + \DoNotIndex{\@afterindentfalse,\@alph,\@arabic} + \DoNotIndex{\@beginparpenalty} + \DoNotIndex{\@car,\@cdr,\@centercr} + \DoNotIndex{\@dblfloat,\@dotsep} + \DoNotIndex{\@dottedtocline,\@empty,\@endparpenalty} + \DoNotIndex{\@float,\@fontswitch} + \DoNotIndex{\@gobbletwo} + \DoNotIndex{\@hangfrom,\@highpenalty} + \DoNotIndex{\@ifnextchar,\@ifundefined,\@itempenalty} + \DoNotIndex{\@latex@warning} + \DoNotIndex{\@m,\@medpenalty,\@minus,\@mkboth,\@mparswitchfalse} + \DoNotIndex{\@mparswitchtrue} + \DoNotIndex{\@ne,\@nil,\@nobreakfalse,\@nobreaktrue,\@nomath} + \DoNotIndex{\@plus} + \DoNotIndex{\@Roman,\@roman} + \DoNotIndex{\@tempa,\@tempcnta,\@tempdima,\@tempskipka} + \DoNotIndex{\@tempswafalse,\@tempswatrue} + \DoNotIndex{\@tempb,\@tempcntb,\@tempdimb,\@tempskipkb} + \DoNotIndex{\@tempswbfalse,\@tempswbtrue} + \DoNotIndex{\@tempc,\@tempcntc,\@tempdimc,\@tempskipkc} + \DoNotIndex{\@tocrmarg,\@topnewpage,\@topnum,\@twocolumnfalse} + \DoNotIndex{\@twocolumntrue,\@twosidefalse,\@twosidetrue} + \DoNotIndex{\@whiledim,\@whilenum} + \DoNotIndex{\addcontentsline,\addpenalty,\addtocontents,\addtolength} + \DoNotIndex{\addvspace,\advance,\AtBeginDocument} + \DoNotIndex{\begin,\begingroup,\bfseries,\box,\bullet} + \DoNotIndex{\c@figure,\c@page,\c@secnumdepth,\c@table,\c@tocdepth} + \DoNotIndex{\cdot,\centering,\changes,\cleardoublepage,\clearpage} + \DoNotIndex{\cmd,\col@number,\CurrentOption,\CodelineIndex,\cs} + \DoNotIndex{\day,\dblfloatpagefraction,\dbltopfraction} + \DoNotIndex{\declare@file@substitution} + \DoNotIndex{\DeclareOldFontCommand,\DeclareOption,\def,\DisableCrossrefs} + \DoNotIndex{\divide,\DoNotIndex} + \DoNotIndex{\ifdim,\else,\fi,\empty,\em,\EnableCrossrefs,\end} + \DoNotIndex{\end@dblfloat} + \DoNotIndex{\end@float,\endgroup,\endlist,\endquotation,\endtitlepage} + \DoNotIndex{\everypar,\ExecuteOptions,\expandafter} + \DoNotIndex{\fboxrule,\fboxsep} + \DoNotIndex{\g@addto@macro,\gdef,\global} + \DoNotIndex{\hangindent,\hbox,\hfil,\hrule,\hsize,\hskip,\hspace,\hss} + \DoNotIndex{\if@tempswa,\ifcase,\or,\fi,\fi} + \DoNotIndex{\ifnum,\ifodd,\ifx,\fi,\fi,\fi} + \DoNotIndex{\include,\input,\InputIfFileExists,\item,\itshape} + \DoNotIndex{\kern,\kernel@ifnextchar} + \DoNotIndex{\leavevmode,\leftmark,\leftskip,\let,\lineskip} + \DoNotIndex{\list,\long,\LoadClass,\LoadClassWithOptions} + \DoNotIndex{\m@ne,\m@th,\marginpar,\markboth,\markright,\mathbf,\mathcal} + \DoNotIndex{\mathit,\mathnormal,\mathrm,\mathsf,\mathtt,\MessageBreak} + \DoNotIndex{\month} + \DoNotIndex{\newblock,\newcommand,\newcount,\newcounter,\newdimen} + \DoNotIndex{\newenvironment,\newlength,\newpage,\nobreak,\noindent} + \DoNotIndex{\normalfont,\normallineskip,\normalsize,\null,\number} + \DoNotIndex{\numberline,\normalcolor} + \DoNotIndex{\OldMakeindex,\OnlyDescription,\overfullrule} + \DoNotIndex{\p@,\PackageError,\PackageInfo,\PackageWarningNoLine} + \DoNotIndex{\pagenumbering,\pagestyle,\par,\paragraph,\parbox} + \DoNotIndex{\PassOptionsToPackage,\pcal,\penalty,\pmit,\PrintChanges} + \DoNotIndex{\PrintIndex,\ProcessOptions,\protect,\providecommand} + \DoNotIndex{\ProvidesClass} + \DoNotIndex{\raggedbottom,\raggedleft,\raggedright,\refstepcounter,\relax} + \DoNotIndex{\renewcommand,\RenewDocElement,\RequirePackage} + \DoNotIndex{\reserved@a,\reserved@b,\reserved@c,\reset@font} + \DoNotIndex{\rightmargin,\rightmark,\rightskip,\rmfamily} + \DoNotIndex{\scshape,\secdef,\setbox,\setcounter,\setlength} + \DoNotIndex{\settowidth,\sfcode,\sffamily,\skip,\sloppy,\slshape,\space} + \DoNotIndex{\string} + \DoNotIndex{\TeX,\textbf,\textit,\textrm,\textsf,\texttt,\textup} + \DoNotIndex{\the,\thispagestyle,\triangleright,\ttfamily} + \DoNotIndex{\twocolumn,\typeout} + \DoNotIndex{\undefined,\usecounter} + \DoNotIndex{\vfil,\vfill,\vspace} + \DoNotIndex{\wd,\xdef,\year,\z@} +\fi +% \end{macrocode} +% +% \changes{v0.2}{2022/01/16}{do not fail if \pkg*{typearea} has not been +% loaded} +% The left margin is highly used, but the right margin is not. So it is a kind +% of \opt{mpinclude} but with the left instead of the right margin. A simple +% solution for this is to move the whole page content to the right. But we do +% so only, if \cls*{koma-script-source-doc} is used with \cls*{scrartcl}. +% \begin{macrocode} +\ifdefined\AfterCalculatingTypearea + \AfterCalculatingTypearea{% + \addtolength{\oddsidemargin} + {.5\dimexpr\oddsidemargin+1in\relax}% + \setlength{\marginparwidth} + {\dimexpr \oddsidemargin+1in-2\marginparsep\relax}% + \setlength{\marginparpush}{0pt}% + } + \KOMAoption{DIV}{9} +\fi +% \end{macrocode} +% +% Because \pkg{doc} uses a late hook to load \pkg{hyperref} there may be a +% problem with package \pkg{auxhook} used by \pkg{hyperref}. So we load it +% early to avoid such problems. +% \begin{macrocode} +\RequirePackage{auxhook} +% \end{macrocode} +% +% +% \begin{macro}{\index@prologue,\glossary@prologue} +% \changes{v0.5}{2022/01/31}{generating ToC entry} +% \begin{macro}{\kssd@section@hack} +% \changes{v0.5}{2022/01/31}{new} +% We want to have an entry to the table of contents for the index and the +% glossary. So we patch the default prologues. This is not a perfect solution, +% but it works and makes it possible to still define a complete new prologue +% using \cs{IndexPrologue} resp. \cs{GlossaryPrologue} as documented for +% \pkg{doc}. +% \begin{macrocode} +\expandafter\def\expandafter\index@prologue\expandafter{% + \expandafter\kssd@section@hack\index@prologue} +\expandafter\def\expandafter\glossary@prologue\expandafter{% + \expandafter\kssd@section@hack\glossary@prologue} +\newcommand*{\kssd@section@hack}{% + \let\ksdd@markboth\markboth + \def\markboth##1##2{% + \@ifundefined{addsectiontocentry}{% + \@ifundefined{addxcontentsline}{% + \addcontentsline{toc}{section}{\numberline{}##1}% + }{% + \addxcontentsline{toc}{section}{##1}% + }% + }{% + \addsectiontocentry{}{##1}% + }% + \let\markboth\ksdd@markboth + \markboth{##1}{##2}% + }% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \subsection{Simple Formatting Macros} +% +% These are very simply defined macros for names of +% \begin{command}{\file} +% files, +% \begin{macrocode} +\newcommand*{\file}{\texttt} +% \end{macrocode} +% \begin{command}{\cls} +% \changes{v0.8}{2022/02/08}{using \cs{textsf}} +% \changes{v0.9}{2022/02/09}{using \cs{pkg} for automatic link generation} +% classes, +% \begin{macrocode} +\newcommand*{\cls}{\pkg} +% \end{macrocode} +% \begin{command}{\pkg} +% \changes{v0.8}{2022/02/08}{using \cs{textsf}} +% \changes{v0.9}{2022/02/09}{automatic link generation} +% packages (note: we cannot use \cs{ExplSyntaxOn}/\cs{ExplSyntaxOff}, because +% \cs{href} would generate a file link), +% \begin{macrocode} +\NewDocumentCommand{\pkg}{sO{https://www.ctan.org/pkg/#3}m}{% + \IfBooleanTF{#1}{\@gobble}{% + \csname tl_if_blank:nTF\endcsname{#2}{\@gobble}{\href}% + }% + {#2}{\textsf{#3}}% +} +% \end{macrocode} +% \begin{command}{\opt} +% options, +% \begin{macrocode} +\newcommand*{\opt}{\texttt} +% \end{macrocode} +% \begin{command}{\optvalue} +% option values, +% \begin{macrocode} +\newcommand*{\optvalue}{\texttt} +% \end{macrocode} +% \begin{command}{\env} +% environments, +% \begin{macrocode} +\newcommand*{\env}{\texttt} +% \end{macrocode} +% \begin{command}{\len} +% \changes{v0.6}{2022/02/02}{added} +% lengths, +% \begin{macrocode} +\newcommand*{\len}{\cs} +% \end{macrocode} +% \begin{command}{\cnt} +% counters, +% \begin{macrocode} +\newcommand*{\cnt}{\texttt} +% \end{macrocode} +% \begin{command}{\fnt} +% fonts, +% \begin{macrocode} +\newcommand*{\fnt}{\texttt} +% \end{macrocode} +% \begin{command}{\var} +% \changes{v0.6}{2022/02/02}{added} +% variables, +% \begin{macrocode} +\newcommand*{\var}{\texttt} +% \end{macrocode} +% \begin{command}{\plen} +% \changes{v0.6}{2022/02/02}{added} +% pseudo-lengths, +% \begin{macrocode} +\newcommand*{\plen}{\texttt} +% \end{macrocode} +% \begin{command}{\pstyle} +% \changes{v0.8}{2022/02/08}{added} +% page styles, +% \begin{macrocode} +\newcommand*{\pstyle}{\texttt} +% \end{macrocode} +% \begin{command}{\dhook} +% \changes{v0.91}{2022/03/10}{added} +% do hooks. +% \begin{macrocode} +\newcommand*{\dhook}{\texttt} +% \end{macrocode} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% +% +% \subsection{Documentation Items} +% \label{sec:documentationitems} +% +% \KOMAScript{} has several additional items beside macros and environments. +% The old \cls*{scrdoc} class provides macros, environments, options, lengths, +% counters, variables and fonts. But now we also distinguish internal macros +% vs. users commands and internal lengths vs. user lengths. In this +% documentation we additionally provide documentation items. +% +% \begin{docitem}{Macro} +% \begin{command}{\DescribeMacro} +% \begin{environment}{macro} +% An internal macro. +% \begin{macrocode} +\RenewDocElement[% + macrolike = true, + toplevel = false, + idxtype = , + idxgroup = TeX macros (internal)\actualchar\TeX{} macros (internal), + printtype = \textit{intern} +]{Macro}{macro} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{Command} +% \begin{command}{\DescribeCommand} +% \begin{environment}{command} +% User command. +% \begin{macrocode} +\NewDocElement[% + macrolike = true, + toplevel = true, + idxtype = , + idxgroup = Commands, + printtype = , +]{Command}{command} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{Env} +% \begin{command}{\DescribeEnv} +% \begin{environment}{environment} +% Environments. +% \begin{macrocode} +\RenewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{env.} , + idxgroup = Environments, + printtype = \textit{env.} +]{Env}{environment} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{Option} +% \begin{command}{\DescribeOption} +% \begin{environment}{option} +% Options. +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{opt.}, + idxgroup = Options, + printtype = \textit{opt.} +]{Option}{option} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{ILength} +% \begin{command}{\DescribeILength} +% \begin{environment}{ilength} +% An internal length. +% \begin{macrocode} +\NewDocElement[% + macrolike = true, + toplevel = false, + idxtype = , + idxgroup = Lengths (internal), + printtype = \textit{ilen.} +]{ILength}{ilength} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{Length} +% \begin{command}{\DescribeLength} +% \begin{environment}{length} +% User length. +% \begin{macrocode} +\NewDocElement[% + macrolike = true, + toplevel = true, + idxtype = \textit{len.}, + idxgroup = Lengths (user), + printtype = \textit{len.}, +]{Length}{length} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{Counter} +% \begin{command}{\DescribeCounter} +% \begin{environment}{counter} +% User counter. +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{cnt.}, + idxgroup = Counters, + printtype = \textit{cnt.}, +]{Counter}{counter} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{KOMAfont} +% \begin{command}{\DescribeKOMAfont} +% \begin{environment}{fontelement} +% \KOMAScript{} font element +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{font}, + idxgroup = KOMA-Script font elements\actualchar\KOMAScript{} font elements, + printtype = \textit{font}, +]{KOMAfont}{fontelement} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{KOMAvar} +% \begin{command}{\DescribeKOMAvar} +% \begin{environment}{variable} +% \KOMAScript{} variable (used by \cls*{scrlttr2} and \pkg*{scrletter}). +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{var.}, + idxgroup = KOMA-Script variables\actualchar\KOMAScript{} variables, + printtype = \textit{var.}, +]{KOMAvar}{variable} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{PLength} +% \changes{v0.6}{2022/02/02}{added} +% \begin{command}{\DescribePLength} +% \changes{v0.6}{2022/02/02}{added} +% \begin{environment}{peudolength} +% \changes{v0.6}{2022/02/02}{added} +% \KOMAScript{} pseudo-lengths (used by \cls*{scrlttr2} and \pkg*{scrletter}). +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{plen.}, + idxgroup = KOMA-Script pseudo-lengths\actualchar\KOMAScript{} pseudo-lengths, + printtype = \textit{plen.}, +]{PLength}{pseudolength} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{PageStyle} +% \changes{v0.8}{2022/02/08}{added} +% \begin{command}{\DescribePageStyle} +% \changes{v0.8}{2022/02/08}{added} +% \begin{environment}{pgstyle} +% \changes{v0.8}{2022/02/08}{added} +% Page style. +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{pgstyle}, + idxgroup = page styles, + printtype = \textit{style} +]{PageStyle}{pgstyle} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{docitem}{DoHook} +% \changes{v0.91}{2022/03/10}{added} +% \begin{command}{\DescribeDoHook} +% \changes{v0.91}{2022/03/10}{added} +% \begin{environment}{dohook} +% \changes{v0.91}{2022/03/10}{added} +% Page style. +% \begin{macrocode} +\NewDocElement[% + macrolike = false, + toplevel = true, + idxtype = \textit{do hook}, + idxgroup = do hooks, + printtype = \textit{dohook} +]{DoHook}{dohook} +% \end{macrocode} +% \end{environment} +% \end{command} +% \end{docitem} +% +% \begin{macrocode} +%</class> +% \end{macrocode} +% +% \Finale +% \PrintChanges +% +\endinput +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scraddr.dtx b/macros/latex/contrib/koma-script/source/scraddr.dtx index e1c03e46d8..f01483bf59 100644 --- a/macros/latex/contrib/koma-script/source/scraddr.dtx +++ b/macros/latex/contrib/koma-script/source/scraddr.dtx @@ -1,8 +1,7 @@ -% \CheckSum{146} % \iffalse meta-comment % ====================================================================== % scraddr.dtx -% Copyright (c) Markus Kohm, 2006-2019 +% Copyright (c) Markus Kohm, 2006-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scraddr.dtx -% Copyright (c) Markus Kohm, 2006-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scraddr.dtx 3262 2019-10-10 08:25:29Z kohm $ +%%% From File: $Id: scraddr.dtx 3688 2022-02-10 08:26:37Z kohm $ %<*dtx> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{scraddr.dtx} @@ -64,7 +27,7 @@ %<driver>\ProvidesFile{scraddr.drv} %<scraddr>\ProvidesPackage{scraddr} %<*dtx|scraddr|driver> - [2013/09/30 v1.1c KOMA-Script + [2022/01/24 v1.1d KOMA-Script %</dtx|scraddr|driver> %<scraddr> package] %<*dtx|driver> @@ -72,8 +35,8 @@ %</dtx|driver> %<*dtx> \ifx\documentclass\undefined - \input docstrip.tex - \@@input scrdocstrip.tex + \input scrdocstrip.tex + \@@input scrkernel-version.dtx \@@input scrstrip.inc \KOMAdefVariable{COPYRIGHTFROM}{2006} \generate{\usepreamble\defaultpreamble @@ -89,54 +52,44 @@ \endbatchfile %</dtx> %<*driver> -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scraddr.dtx} -\title{Das scraddr\thanks{Diese Datei hat die Versionsnummer - \fileversion, letzte Änderung vom \filedate.}-Paket zur - Auswertung von Adressdateien} -\author{Markus Kohm \and Jens-Uwe Morawski} -\date{\filedate} - +\documentclass{koma-script-source-doc} +\usepackage[USenglish]{babel} \begin{document} - \maketitle - \tableofcontents \DocInput{scraddr.dtx} \end{document} %</driver> % \fi % -% \changes{v1.1a}{2002/05/19}{Erste Version, die von \texttt{scrlettr} -% losgelöst ist.} -% -% \section{Anleitung} -% -% \subsection{Rechtliches} -% Es wird keinerlei Haftung übernommen für irgendwelche Schäden, -% die aus der Benutzung der Programme und Dateien des hier -% beschriebenen Paketes folgen. -% -% \subsection{Das \textsf{KOMA-Script} Paket} -% -% Das gesamte \textsf{KOMA-Script} Paket besteht aus mehreren Teilen. -% Der Teil |scrclass.dtx| beinhaltet die Haupt-classes |scrartcl.cls|, -% |scrreprt.cls| und |scrbook.cls| und |scrlttr2.cls| sowie das von -% diesen benötigte package |typearea.sty|. -% -% Das ursprünglich in |scrlettr.dtx| enthaltene -% \texttt{scraddr}-Paket liegt nun hier als |scraddr.dtx| separat -% vor. Dies wurde erforderlich, das ansonsten in |scrlettr.dtx| nur -% noch obsolete Teile enthalten sind. -% -% Die Anleitung zu diesem Paket ist in der Anleitung zu -% \textsf{KOMA-Script} zu finden. Diese liegt in Deutsch und in -% Englisch vor. -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \section{Implementierung} +% \changes{v1.1a}{2002/05/19}{first version, separated from \cls{scrlettr}} +% \changes{v1.1d}{2022/01/24}{switched from \cls{scrdoc} to +% \cls{koma-script-source-doc}} +% \changes{v1.1d}{2022/01/24}{whole implementation documentation in English} +% +% \GetFileInfo{scraddr.dtx} +% \title{Parsing Address Files \\ +% Using Package \pkg*{scraddr}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm} +% \and Jens-Uwe Morawski} +% \date{Version \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% Address files are not only of interest for letters using the \KOMAScript{} +% class \cls*{scrlttr2} or the \KOMAScript{} package \pkg*{scrletter}. Other +% applications such as the creation of address books or telephone directories +% are also quite common. In addition, it can also be useful to access not only +% the addressee's record in a letter, but also other records in an address +% file. This is exactly the task of the \pkg*{scraddr} package. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user manual of \pkg*{scraddr} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% \section{Implementation} % %\iffalse % \begin{macrocode} @@ -151,40 +104,34 @@ %</scraddr> %\fi % +% \changes{v1.0}{1996/01/22}{New package \pkg*{scraddr}} % -% \changes{v1.0}{1996/01/22}{Neues Package scraddr.} % \begin{macrocode} %<*scraddr> % \end{macrocode} -% Dieses Paket liest beliebige - auch mehrere - Adressdateien im oben -% beschriebenen Format ein und legt für jeden Eintrag eine Reihe von -% Markos an. Bedingung dafür ist, dass das achte Element jedes -% |\adrentry|-Eintrags - der Kürzeleintrag - nichtleer ist. -% Dies gilt in gleicher Weise auch für das neunte Element neuerer -% |\addrentry|-Einträge. -% Im Falle von -% identischen Kürzeleinträgen überschreiben spätere Einträge -% frühere. Die Inhalte können dann über spezielle Befehle ermittelt -% werden. -% -% \subsection{Optionen} % -% \begin{option}{adrFreeIVempty} -% \changes{v1.1a}{2002/05/19}{Neue Option} -% \begin{option}{adrFreeIVshow} -% \changes{v1.1a}{2002/05/19}{Neue Option} -% \begin{option}{adrFreeIVwarn} -% \changes{v1.1a}{2002/05/19}{Neue Option} -% \begin{option}{adrFreeIVstop} -% \changes{v1.1a}{2002/05/19}{Neue Option} -% \begin{macro}{\@adrFIVerror} -% \changes{v1.1a}{2002/05/19}{Neue (intern)} -% Die neuen Optionen dienen der Wahl, ob die Verwendung von -% \verb|\FreeIV| für einen Eintrag, der mit \verb|\adrentry| -% definiert wurde, ignoriert wird, durch eine Ausgabe im Text -% angezeigt wird, zu einer Warnung oder einem Fehler führt. Im Makro -% wird die Einstellung gespeichert. Voreingestellt ist -% \texttt{adrFreeIVshow}. +% \subsection{Options} +% +% Preliminary note: \pkg*{scraddr} is a very, very old package from the early +% days of \KOMAScript. Therefore it does not support \emph{key=value} options +% as other \KOMAScript{} packages do. +% +% \begin{option}{adrFreeIVempty} +% \changes{v1.1a}{2002/05/19}{new} +% \begin{option}{adrFreeIVshow} +% \changes{v1.1a}{2002/05/19}{new} +% \begin{option}{adrFreeIVwarn} +% \changes{v1.1a}{2002/05/19}{new} +% \begin{option}{adrFreeIVstop} +% \changes{v1.1a}{2002/05/19}{new} +% \begin{macro}{\@adrFIVerror} +% \changes{v1.1a}{2002/05/19}{new} +% The options allow the choice whether \cs{FreeIV}, defined by \cs{adrentry}, +% should be ignored, output, result in a warning or an error message. Default +% is \opt{adrFreeIVshow}. The selected choice is stored as a number in +% \cs{@adrFIVerror} (0 = \opt{adrFreeIVempty}, 1 = \opt{adrFreeIVshow}, +% 2 = \opt{adrFreewarn}, 3 = \opt{adrFreeIVstop}). Unknown values should +% be handled as \opt{adrFreeIVstop} too, but are not recommended. % \begin{macrocode} \newcommand*{\@adrFIVerror}{} \DeclareOption{adrFreeIVempty}{\renewcommand*{\@adrFIVerror}{0}} @@ -198,25 +145,21 @@ % \end{option} % \end{option} % -% \changes{v1.0a}{2001/08/07}{\cs{ExecuteOption}\cs{relax} korrigiert} -% \changes{v1.1a}{2002/05/19}{Option \texttt{adrFreeIVshow} ist -% Voreinstellung} +% \changes{v1.0a}{2001/08/07}{\cs{ExecuteOption}\cs{relax} fixed} +% \changes{v1.1a}{2002/05/19}{\texttt{adrFreeIVshow} is default} % \begin{macrocode} \ExecuteOptions{adrFreeIVshow} \ProcessOptions\relax % \end{macrocode} % -% \subsection{Adressdatei einlesen} -% \begin{macro}{\InputAdressFile} -% Mit Hilfe des Befehls |\InputAddressFile| wird die angegebene -% Adressdatei eingelesen und in Adressmakros gewandelt, die dann beliebig -% verwendet werden können. Die Adressmakros werden global generiert. -% Andere Makros insbesondere die Definitionen von |\adrentry| und -% |\addrentry| bleiben erhalten. -% \changes{v1.1}{2002/05/18}{Erweitert auf \cs{addrentry} -% Einträge} -% \changes{v1.1b}{2002/06/02}{Falls erforderlich werden auch -% \cs{addrchar} und \cs{adrchar} definiert} +% \subsection{Reading address files} +% \begin{command}{\InputAdressFile} +% This command reads the address file given as mandatory argument. While +% reading global internal macros are generated for every \cs{adrentry} or +% \cs{addrentry}. To do so, these two macros are redefined locally only. +% \changes{v1.1}{2002/05/18}{extended by \cs{addrentry} handling} +% \changes{v1.1b}{2002/06/02}{\cs{addrchar} and \cs{adrchar} are defined also +% if undefined} % \begin{macrocode} \newcommand{\InputAddressFile}[1]{\begingroup \ifcase\@adrFIVerror @@ -255,8 +198,7 @@ \expandafter\gdef\csname ##9.FIV\endcsname{##8} \fi} % \end{macrocode} -% Existiert die Datei nicht, so wird ein Fehler ausgegeben, ansonsten -% wird die Ladeaktion angezeigt. +% Not existing files result in an error message. Found files are only noted. % \begin{macrocode} \InputIfFileExists{#1.adr} {\typeout{Load addressfile: #1.adr.}} @@ -266,120 +208,89 @@ available}} \endgroup} % \end{macrocode} -% \end{macro} +% \end{command} % -% \subsection{Zugriff auf die Elemente der eingelesenen Adressdatei} +% \subsection{Using an element of an address file} % -% Da keine Vorschriften existieren, wie genau das Kürzel aufgebaut sein -% muss, können innerhalb des Kürzels theoretisch auch solche Zeichen -% enthalten sein, die für Makronamen normalerweise ungeeignet sind. -% Deshalb existiert ein Satz von Befehlen, über den auf die zu einem -% Kürzel gehörenden Elemente zugegriffen werden kann. Dabei wird davon -% ausgegangen, dass die Adressdatei dem zuvor vorgeschlagenen Aufbau -% entspricht. +% Selecting the elements by names instead of cryptic macros, could be +% easier. So we use well named macros for the selection. All these macros have +% exactly one mandatory argument: the \meta{shortcut} which is argument 8 of +% \cs{adrentry} resp. argument 9 of \cs{addrentry} in the address file. % -% \begin{macro}{\Name} -% Der Name wird aus dem Vornamen (Firstname) und Nachnamen (Lastname) -% zusammengesetzt, wobei einfach ein Leerzeichen dazwischen geklemmt -% wird. +% \begin{command}{\Name} +% The \cs{Name} is a combination of \cs{Firstname} and \cs{Lastname} with a +% normal word separator space in between. % \begin{macrocode} \newcommand*{\Name}[1]{\FirstName{#1}\ \LastName{#1}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\FirstName} -% Der Vorname (Firstname) ist mit \emph{Kürzel}|.FN| codiert. +% \end{command} +% \begin{command}{\FirstName} +% Firstname or given from internal macro \cs{\meta{shortcut}.FN}. % \begin{macrocode} \newcommand*{\FirstName}[1]{\csname #1.FN\endcsname} % \end{macrocode} -% \end{macro} -% \begin{macro}{\LastName} -% Der Nachname (Lastname) ist mit \emph{Kürzel}|.LN| codiert. +% \end{command} +% \begin{command}{\LastName} +% Lastname from internal macro \cs{\meta{shortcut}.LN}. % \begin{macrocode} \newcommand*{\LastName}[1]{\csname #1.LN\endcsname} % \end{macrocode} -% \end{macro} -% \begin{macro}{\Address} -% Die Adresse (Address) ist mit \emph{Kürzel}|.A| codiert. +% \end{command} +% \begin{command}{\Address} +% Address from internal macro \cs{\meta{shortcut}.A}. % \begin{macrocode} \newcommand*{\Address}[1]{\csname #1.A\endcsname} % \end{macrocode} -% \end{macro} -% \begin{macro}{\Telephone} -% Die Telephonnummer (Telephone/Phone) ist mit \emph{Kürzel}|.P| -% codiert. +% \end{command} +% \begin{command}{\Telephone} +% Telephone number from internal macro \cs{\meta{shortcut}.P}. % \begin{macrocode} \newcommand*{\Telephone}[1]{\csname #1.P\endcsname} % \end{macrocode} -% \end{macro} -% \begin{macro}{\FreeI} -% \begin{macro}{\FreeII} -% Es existieren zwei freie Einträge, die mit \emph{Kürzel}|.FI| und -% \emph{Kürzel}.|FII| codiert sind. +% \end{command} +% \begin{command}{\FreeI,\FreeII} +% Two free entries from internal macros \cs{\meta{shortcut}.FI} and +% \cs{\meta{shortcut}.FII}. % \begin{macrocode} \newcommand*{\FreeI}[1]{\csname #1.FI\endcsname} \newcommand*{\FreeII}[1]{\csname #1.FII\endcsname} % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\Comment} -% \begin{macro}{\FreeIII} -% Das dritte freie Element ist über zwei Makros erreichbar. -% Das Makro |\Comment| dient zur Kompatibilität mit älteren -% |\adrentry|-Einträgen, da hier der vorletzte Parameter als -% Kommentar gekennzeichnet war. -% Das Makro |\FreeIII| ist passend zur Definition des Makros -% |\addrentry| benannt. -% Die Daten sind im Makro mit \emph{Kürzel}|.FIII| kodiert. -% \changes{v1.1}{2002/05/18}{Erweitert auf addrentry Einträge} +% \end{command} +% \begin{command}{\Comment,\FreeIII} +% The third free element is available by two commands, because originally it +% was specified as \meta{comment}. It is stored in the internal macro +% \cs{\meta{shortcut}.FIII}. +% \changes{v1.1}{2002/05/18}{extended to \cs{addrentry}} % \begin{macrocode} \newcommand*{\Comment}{} \newcommand*{\FreeIII}[1]{\csname #1.FIII\endcsname} \let\Comment\FreeIII % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\FreeIV} -% Das letzte Makro gibt ebenfalls Zugriff auf ein freies Element, das mit -% \emph{Kürzel}|.FIV| codiert ist. Dies wurde ebenfalls für -% neue |\addrentry| Einträgen eingeführt. Bei älteren |\adrentry| -% Einträgen, führt die Benutzung dieses Macros zu einer Warnung im Text. -% \changes{v1.1}{2002/05/18}{Erweitert auf addrentry Einträge} +% \end{command} +% \begin{command}{\FreeIV} +% Forth free entry from internal macro \cs{\meta{shortcut}.FIV} only available +% with \cs{addrentry} but not woth \cs{adreentry}. +% \changes{v1.1}{2002/05/18}{extended to \cs{addrentry}} % \begin{macrocode} \newcommand*{\FreeIV}[1]{\csname #1.FIV\endcsname} % \end{macrocode} -% \end{macro} +% \end{command} % -% \subsection{Ende des Pakets} +% \subsection{Ende of package} % \begin{macrocode} %</scraddr> % \end{macrocode} % -% \IndexPrologue{\clearpage -% \section*{Index} -% \markboth{Index}{Index} -% Die kursiven Zahlen geben die Seiten an, auf denen -% der entsprechende Eintrag beschrieben ist. -% Die unterstrichenden Zahlen geben die Stelle der -% Definition des Eintrags an. -% Alle anderen Zahlen benennen Stellen, an denen der -% entsprechende Eintrag verwendet ist. -% \vspace{1em}\noindent} -% -% \GlossaryPrologue{\section*{Änderungsverzeichnis} -% \markboth{Änderungsverzeichnis}{Änderungsverzeichnis} -% \addcontentsline{toc}{section}{Änderungsverzeichnis} -% Die erste Version des \textsf{KOMA-Script} Pakets -% stammt vom 7.\,Juli~1994. Es werden nur die -% Änderungen ab diesem Zeitpunkt dokumentiert.\par% -% \vspace{1em}\noindent} -% % \Finale +% \PrintChanges % \endinput -% -% Ende der Datei `scraddr.dtx' +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: diff --git a/macros/latex/contrib/koma-script/source/scrdoc.dtx b/macros/latex/contrib/koma-script/source/scrdoc.dtx index ccb4e42cc7..99096df899 100644 --- a/macros/latex/contrib/koma-script/source/scrdoc.dtx +++ b/macros/latex/contrib/koma-script/source/scrdoc.dtx @@ -1,6 +1,6 @@ % ====================================================================== % scrdoc.dtx -% Copyright (c) Markus Kohm, 2002-2017 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,7 +18,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrdoc.dtx -% Copyright (c) Markus Kohm, 2002-2017 +% Copyright (c) Markus Kohm, 2002-2022 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -39,10 +39,66 @@ % Do not use this class for anything because it may change % incompatible from distribution to distribution % +\newcommand*{\UseOldscrdoc}{% + \def\reserved@a{scrsource}\edef\reserved@b{\jobname}% + \@onelevel@sanitize\reserved@a + \@onelevel@sanitize\reserved@b + \ifx\reserved@a\reserved@b + \AtBeginDocument{% + \ClassWarning{scrdoc}{% + Using emergency fallback definitions to make\MessageBreak + several new commands and environments of\MessageBreak + `koma-script-source-doc' available with\MessageBreak + deprecated `scrdoc'}% + \newcommand*{\cls}{\@ifstar\Class\Class}% + \newcommand*{\pkg}{\@ifstar\Package\Package}% + \newcommand*{\file}{\File}% + \newcommand*{\opt}{\Option}% + \newcommand*{\optvalue}{\texttt}% + \newcommand*{\fnt}{\texttt}% + \newenvironment{length}{\Length}{\endLength}% + \newenvironment{counter}{\Counter}{\endCounter}% + \newenvironment{fontelement}{\KOMAfont}{\endKOMAfont}% + \newenvironment{variable}{\KOMAvar}{\endKOMAvar}% + \newenvironment{command}{\macro}{\endmacro}% + \newcommand*{\MaybeStop}{\StopEventually}% + \newcommand*{\href}[2]{##2}% + }% + \fi +} +\ifdefined\IfFormatAtLeastTF + \IfFormatAtLeastTF{2022/06/01}{% + \IfFileExists{doc-2021-06-01.sty}{% + \renewcommand*{\UseOldscrdoc}{% + \ProvidesClass{scrdoc}[2022/01/16 v0.1zz + emulating deprecated class scrdoc using koma-script-source-doc] + \LoadClassWithOptions{koma-script-source-doc} + \RequirePackage{hologo} + \DeclareRobustCommand*{\eTeX}{\hologo{eTeX}}% + \NewCommandCopy\Class\cls + \NewCommandCopy\Package\pkg + \NewCommandCopy\Option\opt + \NewCommandCopy\File\file + \NewCommandCopy\Macro\cs + \NewCommandCopy\endLength\endlength + \NewCommandCopy\Length\length + \NewCommandCopy\endCounter\endcounter + \NewCommandCopy\Counter\counter + \NewCommandCopy\endKOMAfont\endfontelement + \NewCommandCopy\KOMAfont\fontelement + \NewCommandCopy\endKOMAvar\endvariable + \NewCommandCopy\KOMAvar\variable + \setcounter{IndexColumns}{2}% + \endinput + }% + }{}% + }{}% +\fi +\UseOldscrdoc \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesClass{scrdoc}[% - 2016/04/12 v0.1e KOMA-Script source documentation class] + 2022/02/09 v0.1i KOMA-Script source documentation class] % Load standard LaTeX documentation class, passing all options to it % but use scrartcl instead of article. @@ -90,7 +146,16 @@ }% \newcommand*{\marginline}{\marginpar}% } +% scrdoc is incompatible with ltxdoc v3 and doc v3. Several changes will +% be needed to improve this. However, currently a kind of emergency +% workaround can be used. +\IfFileExists{doc-2021-06-01.sty}{% + \RequirePackage{scrlfile}% + \ReplaceInput{doc.sty}{doc-2021-06-01.sty}% + \PassOptionsToClass{nocfg}{ltxdoc}% +}{} \LoadClassWithOptions{ltxdoc} +\@ifundefined{cs}{\DeclareRobustCommand\cs[1]{\texttt{\bslash #1}}}{} % Use two columns at index \setcounter{IndexColumns}{2} diff --git a/macros/latex/contrib/koma-script/source/scrdocstrip.tex b/macros/latex/contrib/koma-script/source/scrdocstrip.tex index 0c96d0f00d..c0f1078361 100644 --- a/macros/latex/contrib/koma-script/source/scrdocstrip.tex +++ b/macros/latex/contrib/koma-script/source/scrdocstrip.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrdocstrip.tex -% Copyright (c) Markus Kohm, 2013-2018 +% Copyright (c) Markus Kohm, 2013-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,24 +16,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrdocstrip.tex -% Copyright (c) Markus Kohm, 2013-2018 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== +% $Id: scrdocstrip.tex 3725 2022-02-26 12:17:09Z kohm $ \expandafter\ifx\csname scrdocstripversion\endcsname\relax \let\KOMAbatchfile\batchfile @@ -276,7 +260,10 @@ \def\KNL{^\empty^J\perCent^^J} \def\XKNL{^\empty^J\perCent|^^J} \def\genericWarning#1#2{% - \string\immediate\string\write17{\KNL + \string\expandafter\string\ifx\string\csname\space scrWMSG\string\endcsname\string\relax^^J% + \space\space\string\def\string\scrWMSG{\string\immediate\string\write17}^^J% + \string\fi^^J% + \string\scrWMSG{\KNL +----------------------------------------------------------------------\KNL | WARNING (`#1'):\XKNL +----------------------------------------------------------------------\KNL diff --git a/macros/latex/contrib/koma-script/source/scrextend.dtx b/macros/latex/contrib/koma-script/source/scrextend.dtx index 63718bf10e..0be97835df 100644 --- a/macros/latex/contrib/koma-script/source/scrextend.dtx +++ b/macros/latex/contrib/koma-script/source/scrextend.dtx @@ -1,8 +1,7 @@ -% \CheckSum{74} % \iffalse meta-comment % ====================================================================== % scrextend.dtx -% Copyright (c) Markus Kohm, 2002-2020 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrextend.dtx -% Copyright (c) Markus Kohm, 2002-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrextend.dtx 3453 2020-02-25 07:33:30Z kohm $ +%%% From File: $Id: scrextend.dtx 3773 2022-03-29 06:27:55Z kohm $ %<preidentify>%%% (run: preidentify) %<prepare>%%% (run: prepare) %<option>%%% (run: option) @@ -63,57 +26,66 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1962 $ + \filerevision$Revision: 3773 $ \endgroup \ProvidesFile{scrextend.dtx}[\filedate\space\filerevision\space KOMA-Script package source (extend other classes)] -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrextend.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass{koma-script-source-doc} +\usepackage[USenglish]{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} + \DocInput{scrextend.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v3.00}{2008/05/01}{new package} +% \changes{v3.36}{2022/01/31}{switched from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/01/31}{whole implementation documentation in English} % -% \changes{v3.00}{2008/05/01}{neues Paket} +% \GetFileInfo{scrextend.dtx} +% \title{Extending Non-\href{https://komascript.de}{\KOMAScript} Classes by +% some \href{https://komascript.de}{\KOMAScript} Class Features using +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrextend}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The purpose of this package is to provide \KOMAScript{} class features to +% other classes, i.\,e., the standard classes too. On the other hand it does +% not make sense to nor should you load this package, if you are using a +% \KOMAScript{} class. +% \end{abstract} % -% \section{Erweiterungen für andere Klassen} +% \tableofcontents % -% Dieses Paket dient dazu, einige Möglichkeiten von \KOMAScript{} auch anderen -% Klassen zur Verfügung zustellen. Dafür darf dieses Paket nicht mit einer -% \KOMAScript-Klasse verwendet werden. +% \section{User Manual} % -% \StopEventually{\PrintIndex\PrintChanges} +% You can find the user manual of \pkg{scrextend} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. % -% \subsection{Vorbereitung noch vor der Identifizierung des Pakets} +% \MaybeStop{\PrintIndex} % -% Die Vorbereitung ist einfach. Es wird nur getestet, ob bereits eine -% \KOMAScript-Klasse geladen ist. Falls dem so ist, wird eine Warnung -% ausgegeben und dafür gesorgt, dass das Paket nicht weiter abgearbeitet wird. +% \section{Implementation} % -% \iffalse -%<*preidentify> -% \fi +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \subsection{Before the identification of the package} % -% \changes{v3.30}{2020/02/25}{\cs{PackageWarningNoLine} statt -% \cs{PackageWarning} mit angehängtem \cs{@gobble}}%^^A +% Just before the identification of the package, we have to take care, that it +% is not loaded with a \KOMAScript{} class. If so, we output a warning an +% terminate. +% +% \changes{v3.30}{2020/02/25}{Using \cs{PackageWarningNoLine} instead of +% \cs{PackageWarning} with final \cs{@gobble}} % \begin{macrocode} +%<*preidentify> \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname KOMAClassName\endcsname\relax\else \PackageWarningNoLine{scrextend}{% @@ -125,44 +97,76 @@ }% \expandafter\endinput \fi +%</preidentify> % \end{macrocode} % -% \iffalse -%</preidentify> -%<*identify> -% \fi % -% \subsection{Identifizierung des Pakets} +% \subsection{Package identification} +% +% We use the major \KOMAScript{} version for this package, because it uses +% several main parts of the classes of the same version. % % \begin{macrocode} +%<*identify> \ProvidesPackage{scrextend}[% %!KOMAScriptVersion package (extend other classes with features of KOMA-Script classes)% ] +%</identify> % \end{macrocode} % -% \iffalse -%</identify> -%<*prepare> -% \fi % -% \subsection{Vorbereitung vor den Optionen} -% -% \begin{macro}{\scr@ext@activate} -% \begin{macro}{\scr@ext@activateable} -% \begin{macro}{\scr@ext@addto@activateable} -% \begin{sloppypar} -% Einige Dinge werden nur dann definiert, wenn dies gefordert ist. Dazu werden -% die entsprechenden Definitionen in das zweite Argument von -% \cs{scr@ext@activateable}\marg{Kürzel} gepackt, wodurch sie als -% \cs{scr@ext@activate@}\meta{Kürzel} definiert werden, und anschließend -% \cs{csname}~\texttt{scr@ext@immediate@}\meta{Kürzel}\cs{endcsname} -% ausgeführt. Um das dann zu aktivieren wird -% \cs{scr@ext@activate}\marg{Kürzel} aufgerufen (beispielsweise innerhalb -% einer Option). Mit \cs{scr@ext@addto@activateable} können Aktivierungen -% entsprechend um weitere Definitionen erweitert werden. -% \end{sloppypar} +% \subsection{Preparation of options} +% +% The preparation state is used before the option handling. To allow +% definition of optional features. Such definitions are used in other parts of +% the \KOMAScript{} classes. For example \file{scrkernel-title.dtx} defines +% the \optvalue{title} \opt{feature}. +% +% Note: The method used here is very fragile, i.\,e., the definition of +% feature code with arguments needs to be adapted for \pkg{scrextend}. So +% there is a big fat +% \begin{description} +% \item[ToDo:] Reimplementation of the optional features should simplify the +% definition of such features a lot in other files. Best would be to have a +% kind of start command and a kind of end command without the need to change +% anything in between, if the package instead of a class is defined. But +% this is hard to reach, because of usage of \cs{ClassError} +% vs. \cs{PackageError}, \cs{ClassWarning} vs. \cs{PackageWarning}. So at +% least these commands have to be dependent. Nevertheless the need to +% change, e.g., |#1| into |##1|, |#2| into |##2| etc. for \pkg{scrextend} is +% annoying. Moreover the whole usage of \cs{scr@extend@activate@\dots} and +% \cs{sr@extend@immediate@\dots} is very complicated and currently I'm even +% not sure, that is always works as expected. Maybe a less complicated +% feature implementation could be found. +% \end{description} +% +% \begin{macro}{\scr@ext@activate,\scr@ext@activateable, +% \scr@ext@addto@activateable} +% One special feature of this package is, to provide some \KOMAScript{} +% features only, if they have been activated explicitly. To do so +% \begin{quote} +% \cs{scr@ext@activateable}\marg{feature}\marg{definition} +% \end{quote} +% is used. This macro defines \cs{scr@ext@activate@\meta{feature}}. There is +% also a +% \begin{quote} +% \cs{scr@ext@addto@activateable}\marg{feature}\marg{definition} +% \end{quote} +% that does append \meta{definition} to the already existing code of +% \cs{scr@act@activate@\meta{feature}}, if it already exists, or define it +% new, if is does not exist already. +% \begin{quote} +% \cs{scr@ext@activate}\marg{feature} +% \end{quote} +% is used to \emph{activate} a \meta{feature}. That means: If there is a +% \cs{scr@ext@activate@\meta{feature}} it is executed and afterwards +% \cs{scr@ext@activate@\meta{feature}} is destroyed making it \cs{relax}. But +% if there is not yet a \cs{scr@ext@activate@\meta{feature}} a +% \cs{scr@ext@immediate@\meta{feature}} is defined. The definition of this +% is, to redefine itself to be \cs{scr@ext@activate@\meta{feature}}. % \begin{macrocode} +%<*prepare> \newcommand*{\scr@ext@activate}[1]{% \scr@ifundefinedorrelax{scr@ext@activate@#1}{% \@namedef{scr@ext@immediate@#1}{% @@ -184,28 +188,22 @@ \expandafter\g@addto@macro\csname scr@ext@activate@#1\endcsname }% } +%</prepare> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \iffalse -%</prepare> -%<*option> -% \fi % -% \subsection{Optionen} +% \subsection{Options} % -% Das Paket kennt eine universelle Option, um aktivierbare Möglichkeiten zu -% aktivieren. Diese Option steht aber nur während dem Laden des Pakets zur -% Verfügung! +% Now, after the preparation, the universal option that enables optional +% features can defined. This option can be used while loading the package +% only. Later activation of features is currently not supported. % % \begin{option}{extendedfeature} -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/09}{Speicherung des Werts in der internen -% Liste}%^^A +% \changes{v3.12}{2013/03/05}{using state signaling with \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/09}{internal value storage} % \begin{macrocode} +%<*option> \KOMA@key{extendedfeature}{% \scr@ext@activate{#1}% \AtEndOfPackage{% @@ -228,19 +226,24 @@ \def\FamilyKeyState{Option `extendedfeature' too late}% }% } +%</option> % \end{macrocode} % \end{option} % -% \iffalse -%</option> -% \fi +% \begin{macrocode} +%</package> +% \end{macrocode} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrextend.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: + diff --git a/macros/latex/contrib/koma-script/source/scrhack.dtx b/macros/latex/contrib/koma-script/source/scrhack.dtx index 1a75956680..dc1ea8b087 100644 --- a/macros/latex/contrib/koma-script/source/scrhack.dtx +++ b/macros/latex/contrib/koma-script/source/scrhack.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrhack.dtx -% Copyright (c) Markus Kohm, 2008-2021 +% Copyright (c) Markus Kohm, 2008-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,48 +20,8 @@ % % To create `scrhack.sty' run `tex scrhack.dtx'. Using LaTeX instead % of TeX would generate the implementation documentation. -% ---------------------------------------------------------------------- -% scrhack.dtx -% Copyright (c) Markus Kohm, 2008-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. -% -% `scrhack.sty' kann durch den Aufruf `tex scrhack.dtx' erzeugt -% werden. Bei Verwendung von LaTeX statt TeX wird hingegen die -% Implementierungsdokumentation erzeugt. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrhack.dtx 3602 2021-06-03 17:24:02Z kohm $ +%%% From File: $Id: scrhack.dtx 3690 2022-02-10 09:59:31Z kohm $ %<package&identify>%%% using: package,identify %<package&option>%%% using: package,option %<package&body>%%% using: package,body @@ -70,9 +30,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-06-03 19:24:02 +0200 (Thu, 03 Jun 2021) $ + \filedate$Date: 2022-02-10 10:59:31 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1962 $ + \filerevision$Revision: 3690 $ \endgroup \ProvidesFile{scrhack.dtx}[\filedate\space\filerevision\space %</dtx> @@ -168,83 +128,79 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\newcommand*{\Environment}[1]{\texttt{\mbox{#1}}} -\CodelineIndex -\RecordChanges +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} -\GetFileInfo{scrhack.dtx} -\DocInput{scrhack.dtx} + \DocInput{scrhack.dtx} \end{document} %</dtx> %\fi % -% \selectlanguage{english} -% -% \let\PName\meta -% \let\Parameter\marg -% \providecommand*{\PParameter}[1]{\texttt{\{#1\}}} -% \providecommand*{\Counter}[1]{\texttt{\mbox{#1}}} -% \providecommand*{\Option}[1]{\texttt{#1}} -% \providecommand*{\OptionValue}[2]{\texttt{\mbox{#1=}\linebreak[3]\mbox{#2}}} -% \let\PValue\texttt -% -% \title{\KOMAScript{} \partname\ \texttt{\filename}% -% \thanks{This file is version \fileversion\ of \texttt{\filename}.}} -% \date{\filedate} -% \author{Markus Kohm\thanks{mailto:komascript(at)gmx.info}} +% \changes{v3.03}{2009/03/12}{first version ever} +% \changes{v3.36}{2022/02/08}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/08}{require package \pkg*{scrlogo} instead of +% defining \cs{KOMAScript}} +% \changes{v3.36}{2022/02/08}{whole implementation documentation in English} +% +% \GetFileInfo{scrhack.dtx} +% \title{Patching Third-Party Packages using +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrhack}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} % \maketitle % \begin{abstract} -% Some packages from other authors may have problems with \KOMAScript{}. In +% Some packages from other authors may have problems with \KOMAScript{}. In % my opinion some packages could be improved. With some packages this makes % only sense, if \KOMAScript{} was used. With some other packages the % package author has another opinion. Sometimes proposals was never -% answered. Package \Package{scrhack} contains all those improvement -% proposals for other packages. This means, \Package{scrhack} redefines -% macros of packages from other authors! The redefinitions are only -% activated, if those packages were loaded. Users may prevent -% \Package{scrhack} from redefining macros of individual packages. +% answered. Package \pkg*{scrhack} contains all those improvement proposals +% for other packages. This means, \pkg*{scrhack} redefines macros of packages +% from other authors! The redefinitions are only activated, if those +% packages were loaded. Users may prevent \pkg*{scrhack} from redefining +% macros of individual packages. % \end{abstract} % \tableofcontents % -% \selectlanguage{ngerman} -% \StopEventually{\PrintIndex\PrintChanges} -% \changes{v3.03}{2009/03/12}{erste Version des Pakets}%^^A +% \section{User Manual} % -% \section{Implementation of \Package{scrhack}} +% You can find the user manuals of \pkg*{scrhack} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. % -% \changes{v3.04b}{2009/08/05}{Die Reihenfolge von Anweisungen und Optionen -% grundlegend geändert, um das Paket \textsf{scrhack} unabhängiger von der -% Reihenfolge beim Laden von Paketen zu machen.}%^^A +% \MaybeStop{\PrintIndex} % -% \subsection{Optionen} +% \section{Implementation of \pkg*{scrhack}} % -% \iffalse -%<*package&option> -% \fi +% \changes{v3.04b}{2009/08/05}{order of commands/macros and options changed} % -% Das Paket bedient sich \cs{KOMAoptions} etc. aus \textsf{scrkbase} (dieses -% wird übrigens direkt per \texttt{scrkbase.dtx} geladen). +% \subsection{Optionen} % -% Per Option kann gewählt werden, welche Manipulationen geladen werden -% sollen. Alle diese Optionen können jedoch nur bis zum Laden des -% entsprechenden Pakets oder dem Laden von \textsf{scrhack} gesetzt -% werden (es zählt, was später kommt). Anschließend sind sie wirkungslos. +% The package uses \cs{KOMAoptions} of \pkg*{scrkbase}, which is loaded by +% (virtual) \file{scrkbase.ins}. % -% \subsection{Verwendete Anweisungen} +% The options allow the selection of the used manipulations of other +% packages. But all these options are valid only until both \pkg*{scrhack} and +% the other package has been loaded. Later settings are invalid. % -% \iffalse -%</package&option> +% +% \subsection{Used Macros and Commands} +% \label{sec:macros} +% \begin{macrocode} %<*package&body> -% \fi +% \end{macrocode} % % \begin{macro}{\scr@ifexpected} -% Wenn die im ersten Argument angegebene Anweisung nach Ausführung der im -% zweiten Argument angegebenen Anweisungen unverändert ist, dann soll das -% dritte Argument ausgeführt werden, sonst das vierte. +% Mentioned to do (re)definitions only, if local execution of code does not +% change a command. Concrete, if (local) execution of \marg{test code} of +% \begin{quote} +% \cs{scr@ifexpected}\marg{command}\marg{test code}\marg{then +% code}\marg{else code} +% \end{quote} +% would not result in a change of \cs{\meta{command}}, the \marg{then code} +% will be executed, otherwise the \marg{else code}. +% \begin{description}\item[Note:] \meta{test code} must not have any global +% side effect!\end{description} % \begin{macrocode} \newcommand{\scr@ifexpected}[2]{% \begingroup @@ -261,16 +217,29 @@ % \end{macro} % % \begin{macro}{\scr@hack@load} -% Wenn die Datei mit dem Namen des zweiten Arguments und der Endung des ersten -% Arguments so geladen wurde, dass \LaTeX{} eine Versionsinfo dazu gespeichert -% hat, dann soll zusätzlich der entsprechende Hack geladen werden. +% Conditionally loading of a hack file. +% \begin{quote} +% \cs{scr@hack@load}\marg{extension}\marg{basename}\marg{hack}% +% \marg{true code}\marg{false code} +% \end{quote} +% The first two arguments \marg{} and \marg{extension} and \marg{basename} are +% same to the internal\LaTeX{} kernel command \cs{@ifl@aded}. With \LaTeX{} +% from 2021/11/15 we even could use \cs{@ifl@aded} for the test, because it is +% not restricted to the preamble any more. But because it is restricted with +% older \LaTeX{} kernels, we test the definition of +% \cs{ver@}\meta{basename}\texttt{.}\meta{extension}. If it is defined, we +% also test the definition of \cs{ver@}\meta{basename}\texttt{.hak}. If this +% is not defined, \file{\meta{hack}.hak} is loaded and \meta{true code} is +% executed. Otherwise \meta{false code} is executed. This means: A hack file +% is only loaded, if a class or package (or other file with version) has +% already been loaded, but the hack file has not already been loaded. % \begin{macrocode} \newcommand*{\scr@hack@load}[2]{% \expandafter\ifx\csname ver@#2.#1\endcsname\relax \expandafter\@secondoftwo \else % \end{macrocode} -% Allerdings wird jeder Hack nur genau einmal geladen: +% Load a hack only once. % \begin{macrocode} \expandafter\ifx\csname ver@#2.hak\endcsname\relax \expandafter\expandafter\expandafter\@firstoftwo @@ -291,45 +260,42 @@ % \end{macrocode} % \end{macro} % -% \iffalse +% \begin{macrocode} %</package&body> -% \fi -% -% \subsection{Der \textsf{hyperref}-Hack} +% \end{macrocode} +% +% \subsection{The \pkg*{hyperref} hack} % -% \textsf{hyperref} setzt den Anker zu der Stern-Variante einer Ãœberschrift -% hinter die Ãœberschrift, während es bei der nicht Stern-Variante den Anker -% auch dann vor die Ãœberschrift setzt, wenn die Ãœberschrift aufgrund von -% \texttt{secnumdepth} nicht nummeriert wird. Der Hack setzt den Anker -% einheitlich vor die Ãœberschrift. +% Package \pkg{hyperref} places the anchor of the star variant of a heading +% after the heading, but the anchor of the normal variant before the heading +% even if the heading is not numbered because of the value of +% \cnt{secnumdepth}. The hack changes this to more consistent placing always +% before the heading. % % \begin{option}{hyperref} -% \changes{v3.12}{2013/03/05}{Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.17}{2015/03/09}{Defaulteinstellung mit -% \cs{KOMAExecuteOptions}}%^^A +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}} +% \changes{v3.17}{2015/03/09}{defaults by \cs{KOMAExecuteOptions}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{hyperref}{@scrhack@hyperref}% \KOMAExecuteOptions{hyperref=true}% %</package&option> -%<*package&body> % \end{macrocode} -% \changes{v3.04b}{2009/11/09}{\textsf{hyperref}-Hack wird früher geladen}%^^A -% \changes{v3.17}{2015/03/09}{Neuere \textsf{hyperref}-Version deaktiviert -% ggf. Option \texttt{hyperref}}%^^A -% \changes{v3.18}{2015/05/22}{Neuere \KOMAScript-Versionen deaktivieren -% ggf. Option \texttt{hyperref}}%^^A -% Hier muss ein wenig trickreicher gearbeitet werden, weil \textsf{hyperref} -% die Treiberdatei per \cs{AtEndOfPackage} lädt und der Hack erst danach -% installiert werden darf. Mit \cs{AfterPackage*} alleine, würde der Hack aber -% vor dem Laden der Treiberdatei installiert. Dafür können wir aber sicher -% sein, dass ein innerhalb von \cs{AfterPackage*} aufgerufenes -% \cs{AtEndOfPackage} garantiert nach dem Laden der Treiberdatei ausgeführt -% wird. Das funktioniert auch noch, wenn \textsf{hyperref} bereits geladen -% wurde. In dem Fall wird der Code einfach nach dem Ende von \textsf{scrhack} -% statt nach dem Ende von \textsf{hyperref} ausgeführt. +% \changes{v3.04b}{2009/11/09}{loading \pkg{hyperref} hack earlier} +% \changes{v3.17}{2015/03/09}{auto deactivation for newer versions of +% \pkg{hyperref}} +% \changes{v3.18}{2015/05/22}{newer versions of \KOMAScript{} classes also +% deactivate the the hack} +% This is a little bit tricky, because \pkg{hyperref} loads the driver file +% via \cs{AtEndOfPackage} and the hack cannot be loaded before loading the +% driver file. Using \cs{AfterPackage*} would not be good enough therefore, +% because it would load the hack before the driver file. But using +% \cs{AtEndOfPackage} inside \cs{AfterPackage*} should delay the loading +% enough. This also works, if \pkg{hyperref} has already been loaded. In this +% case the code will be executed at the end of \pkg*{scrhack} instead of +% \pkg{hyperref}. This is no problem. % \begin{macrocode} +%<*package&body> \BeforePackage{hyperref}{% \scr@ifundefinedorrelax{hy@insteadofrefstepcounter}{}{% \PackageInfo{scrhack}{hyperref hack deactivated because of\MessageBreak @@ -361,16 +327,13 @@ % \end{option} % % -% \begin{macro}{\@schapter} -% \begin{macro}{\@spart} -% \begin{macro}{\@ssect} -% Eigentlich wird hier gar nicht \texttt{hyperref.sty} verändert, sondern -% diverse Treiberdateien. Sobald das Paket \textsf{hyperref} geladen ist, ist -% auch die passende Treiberdatei geladen und außerdem sind alle -% Treiberdateien, die entsprechende Definitionen vornehmen, gleichermaßen -% betroffen. Also kann der entsprechende Patch einfach erfolgen, wenn hyperref -% geladen ist (was bereits von \cs{scr@hack@load} getestet wurde). Es muss -% also nur noch sichergestellt werden, dass die umzudefinierenden Macros +% \begin{macro}{\@schapter,\@spart,\@ssect} +% We do not hack \pkg{hyperref} itself, but the driver files. After loading +% \pkg{hyperref} the driver file is also loaded. Moreover, all driver files +% that re-define these commands have to be patched also. So the patch is +% related to the loading of \pkg{hyperref} instead of every single driver +% file. This have already been tested by \cs{scr@hack@load}. So we just have +% to test, whether the definition of these commands are the expected one. % derzeit den erwarteten Inhalt haben. % \begin{macrocode} %<*hyperref&body> @@ -477,26 +440,24 @@ %</hyperref&body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % % -% \subsection{Der \textsf{floatrow}-Hack} +% \subsection{The \pkg*{floatrow} hack} % -% Das \textsf{floatrow}-Paket verwendet das Makro \cs{float@listhead} zum -% Setzen der Ãœberschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen -% und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird -% empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist -% sehr gering und wird mit vielen neuen Möglichkeiten belohnt. +% Package \pkg{floatrow} insists in using \cs{float@listhead} for the setting +% of the headings. This is not recommended any longer since \KOMAScript~2.95 +% from July 2006! The \KOMAScript{} classes will remove the support for +% this very limited approach. Recommended is the usage of \pkg*{tocbasic}. The +% effort to do so, it very small and I do not understand, why package authors +% are not willing to use it. Because the benefit would be a lot. % -% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{floatrow} -% nach. +% This hack adds \pkg*{tocbasic} usage to \pkg{floatrow}. Nevertheless it is +% more complicated than adding \pkg*{tocbasic} support into \pkg{floatrow}. % % \begin{option}{floatrow} -% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}} -% \changes{v3.17}{2015/03/09}{Defaulteinstellung mit -% \cs{KOMAExecuteOptions}} -% \changes{v3.34}{2021/06/03}{Deaktivierung des \textsf{float}-Hacks} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}} +% \changes{v3.17}{2015/03/09}{using \cs{KOMAExecuteOptions}} +% \changes{v3.34}{2021/06/03}{deactivation of the \pkg{float} hack} % \begin{macrocode} %<*package&option> \KOMA@ifkey{floatrow}{@scrhack@floatrow} @@ -517,17 +478,16 @@ % \end{option} % % -% \begin{macro}{\DeclareNewFloatType} -% Ãœber die Anweisung \cs{DeclareNewFloatType} wird eine neue Gleitumgebung -% definiert. Hier muss die neue Erweiterung aus dem dritten Argument -% \textsf{tocbasic} bekannt gemacht werden. -% \begin{macro}{\listof} -% Ãœber die Anweisung \cs{listof} wird ein Verzeichnis für Gleitumgebungen -% ausgegeben. Hier muss schlicht die entsprechende Anweisung von -% \textsf{tocbasic} verwendet werden. +% \begin{command}{\DeclareNewFloatType,\listof} +% \changes{v3.25}{2018/03/16}{using \cs{DeclareTOCStyleEntry}} +% Command \cs{DeclareNewFloatType} is used to define a new float +% environment. We have to add registration of the file extension (third +% argument) with \pkg*{tocbasic}. +% Command \cs{listof} outputs the list of the float environments. Here we +% just use the corresponding macro of \pkg*{tocbasic}. % \begin{macro}{\float@addtolists} -% Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche -% Definition zurückgesetzt. +% The deprecated macro \cs{float@addtolists} is not needed any longer an will +% be reset to the original definition. % \begin{macrocode} %<*floatrow&body> \scr@ifexpected{\DeclareNewFloatType}{% @@ -557,14 +517,11 @@ \RequirePackage{tocbasic}% \PackageInfo{scrhack}{redefining \string\DeclareNewFloatType}% % \end{macrocode} -% Eigentlich wäre es besser, wie im \textsf{float}-Hack einen Test -% vorzuschalten, ob die Dateiendung bereits in Gebrauch ist. Aber das würde -% voraussetzen, dass die Reihenfolge der Anweisungen geändert wird. Dazu -% stecke ich aber im Code von \textsf{floatrow} zu wenig -% drin. (\emph{\foreignlanguage{english}{Note: It would be better to first -% test, if the new extension is already in use like done at the -% \textsf{float} hack. But I don't know the \textsf{floatrow} code good -% enough to make such a change!}}) +% \begin{description} +% \item[Note:] It would be better to first test, if the new extension is +% already in use like done at the \pkg{float} hack. But I don't know the +% \pkg{floatrow} code good enough to make such a change! +% \end{description} % \begin{macrocode} \renewcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}% \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}% @@ -574,16 +531,6 @@ {\expandafter\noexpand\csname #1name\endcsname\nobreakspace \expandafter\noexpand\csname the#1\endcsname}% \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}% -% \end{macrocode} -% \changes{v3.25}{2018/03/16}{Verwendung von \cs{DeclareTOCStyleEntry}}%^^A -% Bis Version 3.24 wurde hier nun wie üblich |\l@#1| unter Verwendung von -% \cs{@dottedtocline} definiert: -% \begin{verbatim} -% \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}% -% \end{verbatim} -% Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die -% Verzeichniseinträge bietet, verwenden wir die hier nun auch: -% \begin{macrocode} \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}% \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% @@ -598,9 +545,6 @@ \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{% \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure \@ifundefined{l@#1}{% -% \end{macrocode} -% Siehe die Anmerkung zur Verwendung von \cs{DeclareTOCStyleEntry} oben. -% \begin{macrocode} \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em] {default}{#1}% }{}% @@ -632,26 +576,24 @@ %</floatrow&body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % % -% \subsection{Der \textsf{float}-Hack} +% \subsection{The \pkg*{float} hack} % -% Das \textsf{float}-Paket verwendet das Makro \cs{float@listhead} zum -% Setzen der Ãœberschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen -% und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird -% empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist -% sehr gering und wird mit vielen neuen Möglichkeiten belohnt. +% Package \pkg{float} insists in using \cs{float@listhead} for the setting +% of the headings. This is not recommended any longer since \KOMAScript~2.95 +% from July 2006! The \KOMAScript{} classes will remove the support for +% this very limited approach. Recommended is the usage of \pkg*{tocbasic}. The +% effort to do so, it very small and I do not understand, why package authors +% are not willing to use it. Because the benefit would be a lot. % -% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{float} -% nach. +% This hack adds \pkg*{tocbasic} usage to \pkg{float}. Nevertheless it is +% more complicated than adding \pkg*{tocbasic} support into \pkg{float}. % % \begin{option}{float} -% \changes{v3.12}{2013/03/05}{Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.17}{2015/03/09}{Defaulteinstellung mit -% \cs{KOMAExecuteOptions}}%^^A +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}} +% \changes{v3.17}{2015/03/09}{using \cs{KOMAExecuteOptions}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{float}{@scrhack@float}% @@ -670,19 +612,18 @@ % \end{option} % % -% \begin{macro}{\newfloat} +% \begin{command}{\newfloat} % \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by -% \cs{Ifattoclist}}%^^A -% Ãœber die Anweisung \cs{newfloat} wird eine neue Gleitumgebung -% definiert. Hier muss die neue Erweiterung aus dem dritten Argument -% \textsf{tocbasic} bekannt gemacht werden. -% \begin{macro}{\listof} -% Ãœber die Anweisung \cs{listof} wird ein Verzeichnis für Gleitumgebungen -% ausgegeben. Hier muss schlicht die entsprechende Anweisung von -% \textsf{tocbasic} verwendet werden. +% \cs{Ifattoclist}} +% \changes{v3.25}{2018/03/16}{using \cs{DeclareTOCStyleEntry}} +% We have to add registration of the file extension (third argument of +% \cs{newfloat}) with \pkg*{tocbasic}. +% \begin{command}{\listof} +% Command \cs{listof} outputs the list of the float environments. Here we +% just use the corresponding macro of \pkg*{tocbasic}. % \begin{macro}{\float@addtolists} -% Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche -% Definition zurückgesetzt. +% The deprecated macro \cs{float@addtolists} is not needed any longer an will +% be reset to the original definition. % \begin{macrocode} %<*float&body> \scr@ifexpected{\newfloat}{% @@ -746,16 +687,6 @@ \@ifundefined{ext@#1}{\float@error{#1}}{% \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure \@ifundefined{l@#1}{% -% \end{macrocode} -% \changes{v3.25}{2018/03/16}{Verwendung von \cs{DeclareTOCStyleEntry}}%^^A -% Bis Version 3.24 wurde hier nun wie üblich |\l@#1| unter Verwendung von -% \cs{@dottedtocline} definiert: -% \begin{verbatim} -% \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}% -% \end{verbatim} -% Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die -% Verzeichniseinträge bietet, verwenden wir die hier nun auch: -% \begin{macrocode} \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em] {default}{#1}% }{}% @@ -787,26 +718,25 @@ %</float&body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % % -% \subsection{Der \textsf{listings}-Hack} +% \subsection{The \pkg*{listings} hack} % -% Das \textsf{listings}-Paket verwendet das Makro \cs{float@listhead} zum -% Setzen der Ãœberschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen -% und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird -% empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist -% sehr gering und wird mit vielen neuen Möglichkeiten belohnt. +% Package \pkg{listing} insists in using \cs{float@listhead} for the setting +% of the headings. This is not recommended any longer since \KOMAScript~2.95 +% from July 2006! The \KOMAScript{} classes will remove the support for +% this very limited approach. Recommended is the usage of \pkg*{tocbasic}. The +% effort to do so, it very small and I do not understand, why package authors +% are not willing to use it. Because the benefit would be a lot. % -% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{listings} -% nach. +% This hack adds \pkg*{tocbasic} usage to \pkg{listings}. Nevertheless it is +% more complicated than adding \pkg*{tocbasic} support into \pkg{listings}. % % \begin{option}{listings} -% \changes{v3.12}{2013/03/05}{Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.17}{2015/03/09}{Defaulteinstellung mit -% \cs{KOMAExecuteOptions}}%^^A +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}} +% \changes{v3.17}{2015/03/09}{using \cs{KOMAExecuteOptions}} % \begin{macrocode} %<*package&option> \KOMA@ifkey{listings}{@scrhack@listings} @@ -826,13 +756,14 @@ % % % \begin{macro}{\scr@do@hack@listings} -% \begin{macro}{\lstlistoflistings} -% Ãœber dieses Macro wird das Verzeichnis der Listings gesetzt. Die gesamte -% Funktionalität dafür kann \Package{tocbasic} überlassen werden. +% \begin{command}{\lstlistoflistings} +% \cs{scr@do@hack@listings} patches \pkg{listings} to use \pkg*{tocbasic} for +% the whole output of the list of listings. This adds several new features to +% \pkg{listings}. % \begin{macro}{\float@addtolists} -% Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche -% Definition zurückgesetzt. Da \Package{listings} ihre Definition mit -% \Macro{AtBeginDocument} verzögert, muss dies hier ebenfalls geschehen. +% The deprecated macro \cs{float@addtolists} is not needed any longer an will +% be reset to the original definition. But, because \pkg{listings} delays the +% redefinition with \cs{AtBeginDocument} we have to do the same here. % \begin{macrocode} %<*listings&body> \newcommand*{\scr@do@hack@listings}{% @@ -863,13 +794,13 @@ }% }% % \end{macrocode} -% \changes{v3.30}{2020/04/01}{setzen von \cs{@captype} ergänzt}%^^A -% Ab Version~3.30 wird zusätzlich \cs{lst@makecaption} um das Setzen von -% \cs{@captype} auf \texttt{lstlisting} ergänzt. Dadurch wird auch die -% Verwendung von \cs{raggedlstlistingcaption} ermöglicht, falls dieses -% definiert wird. Die Umdefinierung erfolgt in Form einer Erweiterung der -% Definition aus \textsf{listings}. Das sollte so lange funktionieren, solange -% die Anweisung in \textsf{listings} keine Argumente hat. +% \begin{macro}{\lst@makecaption} +% \changes{v3.30}{2020/04/01}{setting of \cs{@captype} added} +% From version~3.30 setting of \cs{@captype} to \texttt{lstlisting} is added +% to \cs{lst@makecaption}. This adds support for usage of +% \cs{raggedlstlistingcaption} (if the user or a package author defines +% it). The change is a little bit dangerous, because it will break, if +% \pkg{listings} would add an argument to \cs{lst@makecaption}. % \begin{macrocode} \expandafter\def\expandafter\lst@makecaption\expandafter{% \expandafter\def\expandafter\@captype\expandafter{% @@ -917,22 +848,28 @@ % \end{macrocode} % \end{macro} % \end{macro} +% \end{command} % \end{macro} % % % -% \subsection{Der \textsf{nomencl}-Hack} +% \subsection{The \pkg*{nomencl} hack} % -% Das \textsf{nomencl}-Paket harmoniert eigentlich nur in einer Kleinigkeit -% bezüglich des Eintrags in das Inhaltsverzeichnis nicht sehr gut mit -% \KOMAScript-Klassen bzw. Paket \textsf{tocbasic}. Allerdings kann es von den -% Vorteilen von \textsf{tocbasic} auch in weiterer Hinsicht profitieren. +% With package \pkg{nomencl} and the \KOMAScript{} classes there is only a +% small disharmony between relating the ToC entry. Nevertheless the package +% can benefit from using \pkg*{tocbasic}. % -% Dieser Hack rüstet weitgehende \textsf{tocbasic}-Unterstützung für -% \textsf{nomencl} nach. Dafür wird Paket \textsf{xpatch} verwendet. +% This hack adds \pkg*{tocbasic} usage to \pkg{nomencl}. This is done using +% \pkg{xpatch} Nevertheless it is much more complicated than adding real +% \pkg*{tocbasic} support into \pkg{nomencl}. The mess is, that every new +% release of \pkg{nomencl} changes the kind of ``support'' of +% \pkg*{tocbasic}. For some versions there isn't any such support. Other +% versions use \pkg*{tocbasic} if it has been loaded. Other versions need an +% option to activate usage of \pkg*{tocbasic}. So don't expect that the +% following hack does the correct thing for every version of \pkg{nomencl}! % % \begin{option}{nomencl} -% \changes{v3.23}{2017/03/31}{neue Option für neuen Hack}%^^A +% \changes{v3.23}{2017/03/31}{added} % \begin{macrocode} %<*package&option> \RequirePackage{xpatch}% @@ -949,19 +886,22 @@ } %</package&body> % \end{macrocode} -% \end{option}%^^A nomencl -% -% \begin{macro}{\thenomenclature} -% \changes{v3.23}{2017/03/31}{Umgebung \texttt{thenomenclature} wird -% gepatcht}%^^A -% Statt die Fallunterscheidung aus der Originaldefinition direkt hier -% nachzubilden, patchen wir diese komplett heraus und ersetzen sie durch eine -% neue Anweisung. +% \end{option}^^A nomencl +% +% \begin{command}{\thenomenclature} +% \changes{v3.23}{2017/03/31}{added} +% Instead of using the several definitions by cases of the several versions of +% \pkg{nomencl} we use a patch, that should remove all such cases and use +% \pkg*{tocbasic} always. % \begin{macrocode} %<*nomencl&body> \RequirePackage{tocbasic} % \end{macrocode} -% With \Package{nomencl} > 5.0 this should be all. +% With \pkg{nomencl} > 5.0 this should be all. +% Unfortunately is isn't, because newer versions of \pkg{nomencl} need option +% \opt{tocbasic} to be set. Good luck: It is the default. So the chances +% are good, that with new versions of \pkg{nomencl} usage of \pkg*{tocbasic} is +% the default. % \begin{macrocode} \@ifpackagelater{nomencl}{2019/01/01}{% \PackageInfo{scrhack}{only `tocbasic' loaded for `nomencl'}% @@ -988,8 +928,8 @@ \PackageInfo{scrhack}{\string\thenomenclature\space successfully patched}% }{% % \end{macrocode} -% \changes{v3.26b}{2019/01/23}{new \textsf{nomencl} 5.0}%^^A -% From \textsf{nomencl} 5.0 another code is used if the nomenclature is a +% \changes{v3.26b}{2019/01/23}{new \pkg{nomencl} 5.0} +% From \pkg{nomencl} 5.0 another code is used if the nomenclature is a % chapter. So we need another patch: % \begin{macrocode} \xpatchcmd{\thenomenclature}{% @@ -1009,7 +949,7 @@ \PackageInfo{scrhack}{\string\thenomenclature\space successfully patched}% }{% % \end{macrocode} -% \changes{v3.26b}{2019/01/23}{prepared for hoply comming \textsf{nomencl}}%^^A +% \changes{v3.26b}{2019/01/23}{prepared for hoply comming \pkg{nomencl}} % But this code is also wrong, because it breaks manual running heads, e.g., % of page style \texttt{myheadings}. So I hope, there will be another code, % that needs a somehow different patch: @@ -1031,8 +971,8 @@ \PackageInfo{scrhack}{\string\thenomenclature\space successfully patched}% }{% % \end{macrocode} -% \changes{v3.25}{2019/01/23}{emergency patch added}%^^A -% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A +% \changes{v3.25}{2019/01/23}{emergency patch added} +% \changes{v3.30}{2020/02/25}{spurious space in warning message removed} % If this also does not work, we try an emergency patch, that could break % things. % \begin{macrocode} @@ -1062,14 +1002,14 @@ } %</nomencl&body> % \end{macrocode} -% \end{macro}%^^A \thenomenclature +% \end{command}^^A \thenomenclature % % \begin{macro}{\scr@hack@nomencl@head} -% \changes{v3.23}{2017/03/31}{Ãœberschrift für \texttt{thenomenclature} unter -% Verwendung von \textsf{tocbasic}}%^^A -% \changes{v3.31}{2020/07/08}{internal \cs{list@fname} eliminated}%^^A -% Im Gegensatz zu Gleitumgebungen benötigen wir hier keine Gruppe, weil -% \texttt{thenomenclature} bereits die Gruppe bereitstellt. +% \changes{v3.23}{2017/03/31}{heading of \env{thenomenclature} by +% \pkg*{tocbasic}} +% \changes{v3.31}{2020/07/08}{internal \cs{list@fname} eliminated} +% We don't need an extra group, because \env{thenomenclature} already adds the +% group. % \begin{macrocode} %<*nomencl&body> \newcommand*{\scr@hack@nomencl@head}{% @@ -1079,20 +1019,19 @@ } %</nomencl&body> % \end{macrocode} -% Es ist ggf. noch zu beachten, dass von den ganzen Haken, die -% \textsf{tocbasic} bereitstellt, für dieses Verzeichnis natürlich nur die -% Ãœberschriftenhaken zum Einsatz kommen. Verzeichnishaken können zwar -% definiert werden, kommen aber nie zur Anwendung. -% \end{macro}%^^A \scr@hack@nomencl@head +% \begin{description} +% \item[Note:] Only the heading hooks of \pkg*{tocbasic} are used. The other +% hooks can be set, but would never be used! +% \end{description} +% \end{macro}^^A \scr@hack@nomencl@head % % \begin{macro}{\if@intoc} -% \changes{3.23}{2017/03/31}{Reaktion auf \cs{if@intoc}} -% Natürlich muss jetzt noch auf \textsf{nomencl}'s Option \texttt{intoc} -% reagiert werden, also entsprechend der Option das \textsf{tocbasic} -% Feature \texttt{totoc} passend gesetzt werden. Etwaige Änderungen des -% Features sind also erst nach dem Laden von \textsf{nomencl} und -% \textsf{scrhack} möglich. Spätere Änderungen von \cs{if@intoc} werden -% außerdem nicht berücksichtigt. +% \changes{3.23}{2017/03/31}{support of \cs{if@intoc}} +% Generally we have to support \pkg{nomencl}'s option \opt{intoc} and the +% switch \cs{if@intoc}. This is done by (un-)setting \pkg*{tocbasic} feature +% \texttt{totoc}. So additional changes of the feature can be done at first +% after loading both, \pkg{nomencl} and \pkg*{scrhack}. Moreover, later changes +% of \cs{if@intoc} are not recognized. % \begin{macrocode} %<*nomencl&body> \if@intoc @@ -1103,19 +1042,18 @@ % \end{macro} % % -% \subsection{Der \textsf{setspace}-Hack} +% \subsection{The \pkg*{setspace} hack} % -% Das \textsf{setspace}-Paket verwendet \cs{@ptsize} auf ungünstige Art, indem -% es davon ausgeht, dass es immer eine ganze Zahl enthält. Das ist aber bei -% \KOMAScript{} keineswegs zwingend. Außerdem ist der Wert für \texttt{11pt} -% falsch, weil \LaTeX{} in diesem Fall tatsächlich eine 10,95\,pt-Schrift mit -% einem Zeilenabstand von 13,6\,pt einstellt. Damit wäre der korrekte Wert für -% \cs{onehalfspacing} beispielsweise: +% Package \pkg{setspace} internally uses \cs{@ptsize} in a way, that only +% works as long as \cs{@ptsize} is an integer. But because \KOMAScript{} +% supports non integer font sizes, \cs{@ptsize} can also contain non-integer +% values. Moreover for \opt{11pt}, \LaTeX{} does not use a 11\,pt font but +% a 10.95\,pt font with a \len{baselineskip} of 13.6\,pt, the correct factor +% for, e.g., \cs{onehalfspacing} would be: % \[ 10{,}95\,\mathrm{pt} \dot 1{,5} / 13{,}6\,\mathrm{pt} \equiv 1{,}208 \] -% Tatsächlich stellt \textsf{setspace} aber einen Wert von 1,213 ein, was -% einer effektiven Schriftgröße von 11\,pt entsprechen würde. Ebenso stellt es -% den aktuellen Abstand bei \cs{onehalfspacing} nicht relativ zur aktuellen -% Schriftgröße ein, sondern zur Grundschriftgröße. Damit erhält man bei +% But \pkg{setspace} uses 1.213, which would be correct for 11\,pt. Moreover +% the factor is always relative to the base font size and not the current font +% size. Because of this % \begin{verbatim} % \documentclass[10pt]{article} % \usepackage{setspace} @@ -1126,7 +1064,7 @@ % baselineskip: \the\baselineskip % \end{document} % \end{verbatim} -% einen anderen Abstand als bei +% results in another \len{baselineskip} than: % \begin{verbatim} % \documentclass[11pt]{article} % \usepackage{setspace} @@ -1137,15 +1075,14 @@ % baselineskip: \the\baselineskip % \end{document} % \end{verbatim} -% obwohl beide Male dieselbe Schriftgröße verwendet wird. Streng genommen -% müsste also bei jeder Änderung der Schriftgröße der Wert Abstand angepasst -% werden. So weit geht dieser Hack nicht. Stattdessen wird der Wert abhängig -% von der tatsächlichen Schriftgröße und dem tatsächlichen Basisabstand beim -% Aufruf der Anweisungen eingestellt. Das ergibt immerhin in den obigen -% Beispielen gleiche Ergebnisse. +% despite both examples use the same font size. So, to make it absolutely +% correct, the factor would have to change with every change of the font +% size. But the hack also does not do so. It just calculates the factor +% depending on the base font size an the current font size. This is enough to +% have the same \len{baselineskip} with both of the examples above. % % \begin{option}{setspace} -% \changes{v3.17}{2015/04/16}{Neu}%^^A +% \changes{v3.17}{2015/04/16}{added} % \begin{macrocode} %<*package&option> \KOMA@ifkey{setspace}{@scrhack@setspace} @@ -1164,10 +1101,10 @@ % \end{option} % % -% \begin{macro}{\onehalfspacing} -% \changes{v3.17}{2015/04/16}{Neu}%^^A -% Ãœber diese Anweisung wird der eineinhalbzeilige Satz eingestellt. Ein auf -% drei Nachkommastellen genauer Wert erscheint mir ausreichend genau. +% \begin{command}{\onehalfspacing} +% \changes{v3.17}{2015/04/16}{added} +% This selects the one half line spacing. I think, a factor with three digits +% for the decimals should be enough. % \begin{macrocode} %<*setspace&body> \scr@ifexpected{\onehalfspacing}{% @@ -1193,11 +1130,11 @@ Maybe you are using a unsupported setpace version}% } % \end{macrocode} -% \end{macro} -% \begin{macro}{\doublespacing} -% \changes{v3.17}{2015/04/16}{Neu}%^^A -% Ãœber diese Anweisung wird der zweizeilige Satz eingestellt. Ein auf -% drei Nachkommastellen genauer Wert erscheint mir ausreichend genau. +% \end{command} +% \begin{command}{\doublespacing} +% \changes{v3.17}{2015/04/16}{new} +% This selects the double line spacing. I think, a factor with three digits +% for the decimals should be enough. % \begin{macrocode} \scr@ifexpected{\doublespacing}{% \long\def\doublespacing{% @@ -1223,28 +1160,26 @@ } %</setspace&body> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \subsection{Der \textsf{lscape}-Hack} -% \changes{v3.18a}{2015/07/07}{Neuer \textsf{lscape}-Hack}%^^A +% \subsection{The \pkg*{lscape} hack} +% \changes{v3.18a}{2015/07/07}{\pkg{lscape} hack added} +% +% The package does change \len{textheight} inside \env{landscape} to the prior +% value of \len{textwidth}, nevertheless is does not change \len{textwidth} to +% the prior value of \len{textheight}. This is at least inconsistent. After +% asking him, David~Carlisle answered, that he does not change +% \len{textwidth}, because this could result in problems. Therefore it is very +% strange, that he does change \cs{textheight}, despite this also to problems, +% e.g., with packages \pkg{showframe} or \pkg*{scrlayer}. So the patch here +% also keeps \len{textheight} unchanged. This also has to take care for +% \pkg{pdflscape}. The patches are done using \pkg{xpatch}. % -% Das \textsf{lscape}-Paket setzt innerhalb der -% \texttt{landscape}-Umgebung die Länge \cs{textheight} auf den Wert -% von \cs{textwidth} obwohl es auf der anderen Seite \cs{textwidth} -% nicht auf den Wert von \cs{textheight} setzt. Das ist inkonsequent. Da -% David~Carlisle außerdem angibt, dass \cs{textwidth} nicht verändert wird, -% weil das zu Problemen führen konnte, ist es unverständlich, dass -% \cs{textheight} verändert wird, obwohl das ebenfalls zu Problemen führen -% kann, beispielsweise für \textsf{showframe} oder \textsf{scrpage}. Daher -% verändere ich die Definition so, dass auch \cs{textheight} unverändert -% bleibt. Dabei muss allerdings auch \textsf{pdflscape} berücksichtigt -% werden. Das ist am einfachsten mit \textsf{xpatch}. % % \begin{option}{lscape} -% \changes{v3.18a}{2015/07/07}{Neue Option für neuen Hack}%^^A -% \changes{v3.20}{2016/05/07}{\textsf{xpatch} wird bereits im Optionenteil -% geladen}%^^A +% \changes{v3.18a}{2015/07/07}{added} +% \changes{v3.20}{2016/05/07}{loading \pkg{xpatch} in option part already} % \begin{macrocode} %<*package&option> \RequirePackage{xpatch}% @@ -1264,25 +1199,25 @@ % \end{macrocode} % \end{option} % -% \begin{macro}{\landscape} -% \changes{v3.18a}{2015/07/07}{Neu}%^^A -% \changes{v3.20}{2016/05/07}{\textsf{xpatch} wird bereits im Optionenteil -% geladen}%^^A -% Ãœber diese Anweisung wird die \texttt{landscape}-Umgebung von -% \textsf{lscape} gestartet. Genau diese muss gepatcht werden. Dafür wird das -% Paket \textsf{xpatch} benötigt. Da der Patch nur geladen wird, wenn die -% Option dafür gesetzt ist, kann die Option daher nur ein- und ausgeschaltet -% werden, wenn sie bis zum Laden des Pakets aktiviert wurde. +% \begin{command}{\landscape} +% \changes{v3.18a}{2015/07/07}{added} +% \changes{v3.20}{2016/05/07}{loading \pkg{xpatch} in option part already} +% This command is the beginning of environment \env{landscape}. This has to be +% patched using \pkg{xpatch}. +% \begin{description} +% \item[Note:] This is a load time option and cannot be changed after loading +% the package! +% \end{description} % \begin{macrocode} %<*lscape&body> \xpatchcmd{\landscape}{\textheight=\vsize}{% \if@scrhack@lscape % \end{macrocode} -% \changes{v3.18a}{2015/08/11}{Patchen von \cs{@outputpage}}%^^A -% Es gibt allerdings in der Tat eine Stelle, an der ein verändertet Wert von -% \cs{textheight} benötigt wird. Das ist wenn innerhalb von \cs{@outputpage} -% der Wert von \cs{@colht} reinitialisiert wird. Also wird das entsprechend -% auch noch hinein gepatcht. +% \begin{macro}{\@outputpage} +% \changes{v3.18a}{2015/08/11}{added} +% Here the changed value of \len{textheight} is needed for initialization of +% \cs{@colht}. So we patch it to use the new internal \len{scr@LT@textheight} +% instead of \len{textheight}. % \begin{macrocode} \scrh@LT@textheight=\vsize \let\scrh@LT@outputpage\@outputpage @@ -1299,17 +1234,17 @@ \@scrhack@lscapefalse } % \end{macrocode} -% \begin{Length}{\scrh@LT@textheight} -% \changes{v3.18a}{2015/08/11}{neue Länge (intern)}%^^A +% \begin{ilength}{\scrh@LT@textheight} +% \changes{v3.18a}{2015/08/11}{new} % \begin{macrocode} \newlength{\scrh@LT@textheight} %</lscape&body> % \end{macrocode} -% \end{Length}%^^A \scrh@LT@textheight -% \end{macro}%^^A \landscape +% \end{ilength}^^A \scrh@LT@textheight +% \end{macro}^^A \@outputpage +% \end{command}^^A \landscape % % -% \selectlanguage{english} % \subsection{The standard classes sections hack} % \label{sec:standardsections} % The \emph{standard classes sections hack} differs from each other @@ -1337,15 +1272,11 @@ } %</package&body> % \end{macrocode} -% \end{option}%^^A standardsections -% -% \begin{macro}{\part} -% \begin{macro}{\chapter} -% \begin{macro}{\section} -% \begin{macro}{\subsection} -% \begin{macro}{\subsubsection} -% \begin{macro}{\paragraph} -% \begin{macro}{\subparagraph} +% \end{option}^^A standardsections +% +% \begin{command}{\part,\chapter, +% \section,\subsection,\subsubsection, +% \paragraph,\subparagraph} % The hack redefines all these commands to a definition copied from the % standard \LaTeX{} classes version v1.4i. Copyright of this code is by the % \LaTeX3{} Project. The complete, unmodified code can be found on @@ -1379,7 +1310,8 @@ }{} \scr@ifundefinedorrelax{chapter}{% % \end{macrocode} -% It seems to be an article class, so we use the code from \textsf{article}. +% It seems to be an article class, so we use the code from +% \href{http://mirrors.ctan.org/macros/latex/base/classes.dtx}{\cls*{article}}. % \begin{macrocode} \scr@ifundefinedorrelax{c@part}{\newcounter{part}}{}% \scr@ifundefinedorrelax{c@section}{\newcounter{section}}{}% @@ -1737,13 +1669,7 @@ }% }% End of the derived code. % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % % \begin{macro}{\@startsection} % \KOMAScript{} classes redefine this internal \LaTeX{} kernel macro. In this @@ -1762,11 +1688,9 @@ \fi } % \end{macrocode} -% \end{macro}%^^A \@startsection +% \end{macro}^^A \@startsection % -% \begin{macro}{\@sect} -% \begin{macro}{\@ssect} -% \begin{macro}{\@xsect} +% \begin{macro}{\@sect,\@ssect,\@xsect} % All these should be resetted to their original definitions stored in % \cs{scr@latex@\dots}. % \begin{macrocode} @@ -1798,18 +1722,12 @@ \fi } % \end{macrocode} -% \end{macro}%^^A \@xsect -% \end{macro}%^^A \@ssect -% \end{macro}%^^A \@sect -% -% \begin{macro}{\DeclareSectionCommand} -% \begin{macro}{\RedeclareSectionCommand} -% \begin{macro}{\DeclareNewSectionCommand} -% \begin{macro}{\ProvideSectionCommand} -% \begin{macro}{\DeclareSectionCommands} -% \begin{macro}{\RedeclareSectionCommands} -% \begin{macro}{\DeclareNewSectionCommands} -% \begin{macro}{\ProvideSectionCommands} +% \end{macro}^^A \@xsect,\@ssect,\@sect +% +% \begin{command}{\DeclareSectionCommand,\RedeclareSectionCommand, +% \DeclareNewSectionCommand,\ProvideSectionCommand, +% \DeclareSectionCommands,\RedeclareSectionCommands, +% \DeclareNewSectionCommands,\ProvideSectionCommands} % These \KOMAScript{} commands do not make sense any longer after forced % redefinition of \cs{part} \dots{} \cs{subparagraph}. They even would not % work correctly after resetting, e.g., \cs{@startsection}. So best reaction @@ -1831,25 +1749,17 @@ \let\ProvideSectionCommands\undefined } % \end{macrocode} -% \begin{macro}{\scr@chapter@before@hyperref@patch} -% \begin{macro}{\scr@chapter@after@hyperref@patch} -% Now, definitions without respecting \textsf{hyperref} are used, so -% \textsf{hyperref} should again be able to patch them. So the hack should +% \begin{macro}{\scr@chapter@before@hyperref@patch, +% \scr@chapter@after@hyperref@patch} +% Now, definitions without respecting \pkg{hyperref} are used, so +% \pkg{hyperref} should again be able to patch them. So the hack should % deactivate the patch deactivation of the \KOMAScript{} classes. % \begin{macrocode} \let\scr@chapter@before@hyperref@patch\relax \let\scr@chapter@after@hyperref@patch\relax % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro}%^^A \DeclareSectionCommand +% \end{command} % % \begin{macro}{\scr@osectarg} % The \KOMAScript{} classes use this macro to store how to use the optional @@ -1887,11 +1797,10 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@activate@xsection -% \end{macro}%^^A \scr@osectarg +% \end{macro}^^A \scr@activate@xsection +% \end{macro}^^A \scr@osectarg % -% \begin{macro}{\partformat} -% \begin{macro}{\chapterformat} +% \begin{command}{\partformat,\chapterformat} % Most \cs{\dots format} macros of \KOMAScript{} are still used, because of % the redefinition of \cs{@seccntformat}. But \cs{part} and \cs{chapter} are % defined without using them. @@ -1911,14 +1820,10 @@ }% } % \end{macrocode} -% \end{macro}%^^A \chapterformat -% \end{macro}%^^A \partformat -% -% \begin{macro}{\sectionformat} -% \begin{macro}{\subsectionformat} -% \begin{macro}{\subsubsectionformat} -% \begin{macro}{\paragraphformat} -% \begin{macro}{\subparagraphformat} +% \end{command}^^A \chapterformat,\partformat +% +% \begin{command}{\sectionformat,\subsectionformat,\subsubsectionformat, +% \paragraphformat,\subparagraphformat} % All these commands have to be resetted to not use the automatic dot and to % add a \cs{quad} instead of an \cs{enskip}. % \begin{macrocode} @@ -1963,17 +1868,11 @@ \renewcommand*{\subparagraphformat}{\thesubparagraph\quad}% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\partlineswithprefixformat} -% \begin{macro}{\chapterlineswithprefixformat} -% \begin{macro}{\chapterlinesformat} -% \begin{macro}{\sectionlinesformat} -% \begin{macro}{\sectioncatchphraseformat} +% \begin{command}{\partlineswithprefixformat, +% \chapterlineswithprefixformat,\chapterlinesformat, +% \sectionlinesformat,\sectioncatchphraseformat} % These \KOMAScript{} commands are not used any longer. % \begin{macrocode} \scr@ifundefinedorrelax{partlineswithprefixformat}{}{% @@ -1997,11 +1896,7 @@ }% } % \end{macrocode} -% \end{macro}%^^A \sectioncatchphraseformat -% \end{macro}%^^A \sectionlinesformat -% \end{macro}%^^A \chapterlinesformat -% \end{macro}%^^A \chapterlineswithprefixformat -% \end{macro}%^^A \partlineswithprefixformat +% \end{command}^^A \partlineswithprefixformat … % % \begin{option}{headings} % The \KOMAScript{} option does not make sense any longer. So it is @@ -2016,10 +1911,10 @@ \KOMA@kav@removekey{.\KOMAClassFileName}{headings}% } % \end{macrocode} -% \end{option}%^^A headings +% \end{option}^^A headings % % \begin{macro}{\scr@class@titlesec@warning} -% The warning about loading \textsf{titlesec} has to be changes, because we do +% The warning about loading \pkg{titlesec} has to be changes, because we do % not expect errors any longer. % \begin{macrocode} \def\scr@class@titlesec@warning{% @@ -2033,32 +1928,27 @@ } %</standardsections&body> % \end{macrocode} -% \end{macro}%^^A \scr@class@titlesec@warning -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \scr@class@titlesec@warning % -% \subsection{Optionen ausführen} +% \subsection{Executing options} % -% Zum Schluss noch die Optionen ausführen. Im Paket wird diese Anweisung -% allerdings vor den Anweisungen der Hacks und den Anweisungen aus dem -% Abschnitt »Verwendete Anweisungen« stehen. +% Last but not least the options have to be processed. In the generated +% package this will be done before the commands of \autoref{sec:macros}. % \begin{macrocode} %<*package&option> \KOMAProcessOptions\relax %</package&option> % \end{macrocode} % -% % \Finale +% \PrintChanges % \endinput -% -% end of file `scrhack.dtx' -%%% Local Variables: -%%% mode: doctex -%%% mode: flyspell -%%% coding: utf-8 -%%% ispell-local-dictionary: "en_GB" -%%% TeX-master: t -%%% End: - -% LocalWords: eineinhalbzeilige +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrjura.dtx b/macros/latex/contrib/koma-script/source/scrjura.dtx index 9b9d1b3032..8fe4bc4532 100644 --- a/macros/latex/contrib/koma-script/source/scrjura.dtx +++ b/macros/latex/contrib/koma-script/source/scrjura.dtx @@ -1,8 +1,7 @@ -% \CheckSum{1932} % \iffalse meta-comment % ====================================================================== % scrjura.dtx -% Copyright (c) Markus Kohm, 2007-2019 +% Copyright (c) Markus Kohm, 2007-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,49 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % The KOMA-Script bundle consists of all files listed in manifest.txt. -% This work `scrjura' consists of the files `scrjura.dtx' and -% `scrlogo.dtx'. -% ---------------------------------------------------------------------- -% scrjura.dtx -% Copyright (c) Markus Kohm, 2007-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Das KOMA-Script-Paket besteht aus allen Dateien, die in manifest.txt -% genannt sind. -% Das Werk `scrjura' besteht aus den Dateien `scrjura.dtx' und -% `scrlogo.dtx'. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse^^A meta-comment -%%% From File: $Id: scrjura.dtx 3390 2019-11-18 17:09:35Z kohm $ +%%% From File: $Id: scrjura.dtx 3773 2022-03-29 06:27:55Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<options>%%% (run: options) @@ -70,12 +28,13 @@ %<*dtx> \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1962 $ + \filerevision$Revision: 3773 $ \endgroup -\def\LaTeXformat{LaTeX2e} -\ifx\fmtname\LaTeXformat\def\MainBodyWork{% +\expandafter\ifx\csname ProvidesFile\endcsname\relax +\def\ProvidesFile#1[#2]{} +\fi \ProvidesFile{scrjura.dtx}[\filedate\space\filerevision\space %</dtx> %<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01] @@ -90,102 +49,94 @@ ] %</dtx|(package&identify)> %<*dtx> -\IfFileExists{scrdoc.cls}{% - \documentclass[parskip=half-]{scrdoc} -}{% - \documentclass{ltxdoc} -} -\providecommand*{\DescribeOption}{\DescribeMacro} -\providecommand*{\DescribeCounter}{\DescribeMacro} -\usepackage[ngerman]{babel} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\IfFileExists{scrjura.sty}{% - \usepackage{scrjura} -}{} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrjura.dtx} -\DocInput{\filename} -\end{document} +\ifx\documentclass\undefined %</dtx> +%<*ins> + \input scrdocstrip.tex + \@@input scrkernel-version.dtx + \@@input scrstrip.inc + \KOMAdefVariable{COPYRIGHTFROM}{2007} + \generate{\usepreamble\defaultpreamble + \file{scrjura.ins}{% + \from{scrjura.dtx}{ins}% + }% + \file{scrjura.sty}{% + \from{scrjura.dtx}{package,identify}% + \from{scrjura.dtx}{package,init}% + \from{scrjura.dtx}{package,options}% + \from{scrjura.dtx}{package,postoptions}% + \from{scrjura.dtx}{package,body}% + \from{scrjura.dtx}{package,final}% + \from{scrlogo.dtx}{logo}% + }% + }% + \@@input scrstrop.inc +%</ins> %<*dtx> -}\else\let\MainBodyWork\relax\fi - -\MainBodyWork - -\def\batchfile{scrjura.dtx} +\else + \let\endbatchfile\relax +\fi +%</dtx> +%<*ins> +\endbatchfile +%</ins> +%<*dtx> +\documentclass{koma-script-source-doc} +\usepackage[USenglish]{babel} +\setcounter{StandardModuleDepth}{2} +\begin{document} + \DocInput{scrjura.dtx} +\end{document} %</dtx> -%<ins>\def\batchfile{scrjura.ins} -%<*dtx|ins> -\input scrdocstrip.tex -\@@input scrkernel-version.dtx -\@@input scrstrip.inc -\KOMAdefVariable{COPYRIGHTFROM}{2007} - -% ---------- File generation ------------------------------------------- - -\generate{\usepreamble\defaultpreamble - \file{scrjura.ins}{% - \from{scrjura.dtx}{ins}% - }% - \file{scrjura.sty}{% - \from{scrjura.dtx}{package,identify}% - \from{scrjura.dtx}{package,init}% - \from{scrjura.dtx}{package,options}% - \from{scrjura.dtx}{package,postoptions}% - \from{scrjura.dtx}{package,body}% - \from{scrjura.dtx}{package,final}% - \from{scrlogo.dtx}{logo}% - }% -}% - -% ---------- end of docstrip process ----------------------------------- - -\@@input scrstrop.inc - -\let\byebye\endinput -\ifToplevel{\expandafter\let\expandafter\byebye\csname bye\endcsname} -\byebye - -%</dtx|ins> % \fi % -% \title{\KOMAScript{} \partname\ \texttt{\filename}% -% \thanks{Diese Datei ist Version \fileversion\ von \texttt{\filename}.}} -% \date{\filedate} -% \author{Markus Kohm\thanks{Paketautor, mailto:komascript(at)gmx.info}\and -% Dr.\,Alexander -% Willand\thanks{Autor der Anleitung, mailto:alexander.willand(klammeraffe)t-online.de}} -% \begin{document} +% \changes{v3.36}{2022/01/25}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% +% \GetFileInfo{scrjura.dtx} +% \title{\KOMAScript{} in the Law Office\\ +% with Package \pkg*{scrjura}} +% \date{Version \fileversion{} of \filedate} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} % \maketitle % \begin{abstract} -% Das scrjura-Paket ist für die Kautelarjurisprudenz gedacht. Es soll für -% Anwälte und Notare eine flexible Hilfe bei der Abfassung von Verträgen, -% Satzungen und juristischen Kommentaren bieten. Es ist in Zusammenarbeit -% mit Dr.\,Alexander Willand entstanden, bzw. noch immer in Entstehung -% begriffen. +% The \pkg*{scrjura} package is intended for cautelar jurisprudence. It is +% intended to provide flexible help for lawyers and notaries in drafting +% contracts, statutes and legal commentaries. It has been developed in +% cooperation with Dr.\,Alexander Willand, and is still in the process of +% development. % \end{abstract} % +% \tableofcontents % -% \StopEventually{\PrintIndex\PrintChanges} +% \section{User Manual} % -% \section{Implementierung} +% You can find the user manual of \pkg*{scrjura} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. % -% \iffalse +% \MaybeStop{\PrintIndex} +% +% \section{Implementation} +% +% \begin{macrocode} %<*package> -% \fi +% \end{macrocode} +% +% \changes{v0.7b}{2014/11/11}{General renaming of ``Paragraph'' into +% ``Clause''} % -% \changes{v0.7b}{2014/11/11}{Generelle Umbenennung von "`Paragraph"' in -% "`Clause"' für alle Befehle, Zähler und Optionen}%^^A +% \subsection{Cooperation with \pkg*{hyperref}} % +% If \pkg{hyperref} has already loaded before \pkg*{scrjura} the package cannot +% work correctly. So we throw an error. Maybe it would be a good idea to make +% this error fatal. But currently it is only an error. % \begin{macrocode} %<*init> \@ifpackageloaded{hyperref}{% \PackageError{scrjura}{Package hyperref already loaded}{% - If you want to use package scrjura with package hyperref, you have to - use\MessageBreak - package scrjura before package hyperref.\MessageBreak + If you want to use package scrjura with package hyperref, you have + to\MessageBreak + load package scrjura before package hyperref.\MessageBreak To solve the problem, you just should move the loading of package hyperref\MessageBreak behind the loading of package scrjura.}% @@ -193,50 +144,68 @@ %</init> % \end{macrocode} % -% Es wird das Paket \textsf{scrkbase} benötigt, weil alles weitere darauf -% aufbaut. +% \subsection{Prerequisites} +% +% We need package \pkg*{scrkbase}. We could load this also together with +% \pkg*{tocbasic}, which is loaded later. But loading it on its own, we can +% require a minimum version. % \begin{macrocode} %<*init> \RequirePackage{scrkbase}[2013/03/26] %</init> % \end{macrocode} % -% Außerdem wird \textsf{tocbasic} benötigt, weil einige wenige Befehle davon -% verwendet werden. +% And now, \pkg*{tocbasic}. % \begin{macrocode} %<*init> \RequirePackage{tocbasic} %</init> % \end{macrocode} % +% \subsection{Options} +% % \begin{option}{contract} -% Mit der Option |contract| wird das gesamte Dokument zu einem Vertrag. Man -% darf dann keine der von diesem Paket bereit gestellten Umgebungen mehr -% innerhalb des Dokuments verwenden! Realisiert wird dies, indem ganz am -% Ende von |\begin{document}| noch |\contract| ausgeführt wird. +% \begin{macro}{\if@documentcontract, +% \@documentcontractfalse,\@documentcontracttrue} +% \changes{v3.36}{2022/01/25}{switched to a \KOMAScript{} option} +% Option \opt{contract} can be used to make the whole document to be a +% contract. But in this case you are not allowed to reuse the \env{contract} +% environment in the document. Now it is allowed to stop or restart the +% contract. With older \LaTeX{} this is done by adding \cs{contract} to the +% end of \cs{document}. With an up to date \LaTeX{} we us a hook. % \begin{macrocode} %<*options> -\DeclareOption{contract}{% - \g@addto@macro\document\contract% +\KOMA@ifkey{contract}{@documentcontract} +\IfLTXAtLeastTF{2020/10/01}{% + \AddToHook{begindocument/end}{% + \RelaxFamilyKey[.scrjura.sty]{KOMA}{contract}% + \if@documentcontract\expandafter\contract\fi + }% +}{% + \g@addto@macro\document{% + \RelaxFamilyKey[.scrjura.sty]{KOMA}{contract}% + \if@documentcontract\expandafter\contract\fi + }% } %</options> % \end{macrocode} +% \end{macro} % \end{option} % % \begin{option}{juratotoc} -% Mit dieser Option wird die Verzeichnisebene für Inhaltsverzeichniseinträge -% auf einen gewünschten Wert oder 2 oder 10000 gesetzt. -% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit -% \cs{FamilyKeyState}}%^^A -% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A +% Allow to set the toc level of the entries. Value \optvalue{true} is the same +% like \optvalue{2}, value \optvalue{false} is the same like \cs{maxdimen}. +% \changes{v0.7}{2013/11/04}{usage of renewed interface with +% \cs{FamilyKeyState}} +% \changes{v0.9a}{2015/03/09}{internal value storage} % \begin{macro}{\if@juratotoc} -% \changes{v0.6}{2011/09/29}{Schalter durch Zähler überflüssig} -% \begin{Counter}{juratoclevel} -% \changes{v0.6}{2011/09/29}{Zählerdefinition verschoben}%^^A -% \changes{v3.27}{2019/02/25}{Zähler entfernt}%^^A +% \changes{v0.6}{2011/09/29}{replaced by counter} +% \begin{counter}{juratoclevel} +% \changes{v0.6}{2011/09/29}{definition moved} +% \changes{v3.27}{2019/02/25}{removed} % \begin{macro}{\toclevel@cpar} -% \changes{v0.7}{2013/06/09}{neue für \textsf{hyperref}}%^^A -% \changes{v3.27}{2019/02/25}{wird von \textsf{tocbasic} erledigt}%^^A +% \changes{v0.7}{2013/06/09}{new, because of \pkg{hyperref}} +% \changes{v3.27}{2019/02/25}{handled by \pkg*{tocbasic}} % \begin{macrocode} %<*options> \KOMA@key{juratotoc}[true]{% @@ -256,30 +225,19 @@ %</options> % \end{macrocode} % \end{macro} -% \end{Counter} +% \end{counter} % \end{macro} % \end{option} % -% \begin{option}{juratocnumberwidth} -% \changes{v0.6}{2011/09/29}{neu}%^^A -% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A -% \begin{option}{juratocindent} -% \changes{v0.6}{2011/09/29}{neu}%^^A -% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A -% \begin{macro}{\cpar@numberwidth} -% \changes{v0.6}{2011/09/29}{neu (intern)}%^^A -% \changes{v3.27}{2019/02/25}{ersetzt durch Verwendung von -% \cs{DeclareTOCStyleEntry}}%^^A -% \begin{macro}{\cpar@indent} -% \changes{v0.6}{2011/09/29}{neu (intern)} -% \changes{v3.27}{2019/02/25}{ersetzt durch Verwendung von -% \cs{DeclareTOCStyleEntry}}%^^A -% Der Einzug und die Breite der Nummer für Inhaltsverzeichniseinträge kann -% über diese beiden Optionen bestimmt werden. +% \begin{option}{juratocnumberwidth,juratocindent} +% \changes{v0.6}{2011/09/29}{new} +% \changes{v0.7}{2013/11/04}{usage of renewed interface with +% \cs{FamilyKeyState}} +% \changes{v0.9a}{2015/03/09}{internal value storage} +% \begin{ilength}{\cpar@numberwidth,\cpar@indent} +% \changes{v0.6}{2011/09/29}{new} +% \changes{v3.27}{2019/02/25}{replaced by usage of \cs{DeclareTOCStyleEntry}} +% Indent and number width of the toc entries. % \begin{macrocode} %<*options> \KOMA@key{juratocnumberwidth}{% @@ -296,18 +254,16 @@ \KOMA@kav@add{.scrjura.sty}{juratocindent}{1.5em}% %</options> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{option} +% \end{ilength} % \end{option} % % \begin{option}{juratitlepagebreak} -% \changes{v0.5b}{2010/04/05}{neue Option} -% Mit dieser Option wird der Schalter |\if@juratitlepagebreak| auf |\iftrue| -% gesetzt. -% \begin{macro}{\if@juratitlepagebreak} -% Mit diesem Schalter wiederum wird erreicht, dass in den Ãœberschriften von -% Paragraphen ein Seitenumbruch erlaubt wird. +% \changes{v0.5b}{2010/04/05}{new} +% The options sets the boolean \cs{if@juratitlepagebreak}. +% \begin{macro}{\if@juratitlepagebreak, +% \@juratitlepagebreaktrue,\@juratitlepagebreakfalse} +% If the boolean is \cs{iftrue} page breaks inside clause headings are +% allowed (which is not recommended). % \begin{macrocode} %<*options> \KOMA@ifkey{juratitlepagebreak}{@juratitlepagebreak} @@ -317,14 +273,13 @@ % \end{option} % % \begin{option}{parnumber} -% \changes{v0.6}{2011/09/29}{neue Option}%^^A -% \changes{v0.6a}{2012/10/15}{Meldung bei falschen Werten korrigiert}%^^A -% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Die (automatische) Absatznummerierung lässt sich nun auch per Option ein- -% und ausschalten. +% \changes{v0.6}{2011/09/29}{new} +% \changes{v0.6a}{2012/10/15}{value mistake message changed} +% \changes{v0.7}{2013/11/04}{usage of renewed interface with +% \cs{FamilyKeyState}} +% \changes{v0.9a}{2015/03/09}{internal value storage} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}} +% The options switches the (automatic) paragraph numbering. % \begin{macrocode} %<*options> \newif\ifparnumber @@ -354,21 +309,19 @@ % \end{macrocode} % \end{option} % -% \begin{option}{clausemark} -% \changes{v0.9h}{2016/04/11}{\texttt{paragraphmark} umbenannt in -% \texttt{clausemark}}%^^A -% \begin{option}{paragraphmark} -% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A -% \begin{option}{markright} -% \begin{option}{markboth} -% \begin{macro}{\Clausemark} -% \changes{v0.5e}{2011/08/31}{Beachtung von \cs{MakeMarkcase}} -% Mit diesen Optionen wird |\Clausemark| so umdefiniert, dass es entweder -% ein |\markright| oder ein |\markboth| ausführt. Im Gegensatz zu -% |\chaptermark| etc. erwartet |\Clausemark| neben dem Titel auch noch -% die zu verwendende Nummer (das könnte bei Bedarf noch geändert werden!) +% \begin{option}{paragraphmark,clausemark} +% \changes{v0.9h}{2016/04/11}{\opt{paragraphmark} renamed to \opt{clausemark}} +% \changes{v0.7}{2013/11/04}{usage of renewed interface with +% \cs{FamilyKeyState}} +% \changes{v0.9a}{2015/03/09}{internal value storage} +% \begin{option}{markright,markboth} +% \changes{v0.7}{2013/11/04}{deprecated} +% \begin{command}{\Clausemark} +% \changes{v0.5e}{2011/08/31}{support for \cs{MakeMarkcase}} +% The options are used to activate either \cs{markright} or \cs{markboth} for +% clauses. \cs{Clausemark} expects not only the title but also the +% number. So it differs from, e.g., \cs{chaptermark}, which uses the counter +% automatically. But maybe I will change this some time. % \begin{macrocode} %<*options> \newcommand*{\Clausemark}[1]{} @@ -431,36 +384,30 @@ } %</options> % \end{macrocode} -% \end{macro} -% \end{option} -% \end{option} +% \end{command} % \end{option} % \end{option} % % \begin{option}{ref} -% \changes{v0.5d}{2010/06/07}{neue Einstellungen \texttt{nopar}, -% \texttt{nosentence}, \texttt{OnlyParagraph}}%^^A -% \changes{v0.7}{2013/11/04}{Verwendung der renovierten Schnittstelle mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v0.9a}{2015/03/09}{Wert wird in der internen Liste erfasst}%^^A -% \begin{option}{parcitename} -% \begin{option}{sentencecitename} -% Die Form, in der Absätze und Sätze referenziert werden. Es gibt eine lange, -% eine abgekürzte und eine nummerische Form. -% -% \begin{macro}{\parcite@fromat} -% \begin{macro}{\sentencecite@fromat} -% In der Voreinstellung wird das lange Format verwendet. Es gilt: -% 0 = lang, 1 = kurz, 2 = numerisch, -1 = gar nicht +% \changes{v0.5d}{2010/06/07}{new values \optvalue{nopar}, +% \optvalue{nosentence}, \optvalue{OnlyParagraph}} +% \changes{v0.7}{2013/11/04}{usage of renewed interface with +% \cs{FamilyKeyState}} +% \changes{v0.9a}{2015/03/09}{internal value storage} +% \begin{option}{parcitename,sentencecitename} +% \changes{v0.5d}{2010/06/07}{deprecated} +% The formatting of the references of paragraphs and sentences. There are a +% long a short and a numeric form. +% \begin{macro}{\parcite@format,\sentencecite@format} +% Default is the long form. Corresponding values of the two helper macros are: +% 0 = long, 1 = short, 2 = numerical, -1 = nothing. % \begin{macrocode} %<*options> \newcommand*{\parcite@format}{0} \newcommand*{\sentencecite@format}{0} % \end{macrocode} % \end{macro} -% \end{macro} -% -% Per Option kann die Voreinstellung verändert werden. +% The options can be used to change the default. % \begin{macrocode} \KOMA@key{ref}{% \begingroup @@ -549,32 +496,22 @@ % \end{macrocode} % \end{option} % \end{option} -% \end{option} % -% Optionen ausführen. +% Execute the options. % \begin{macrocode} %<*postoptions> \KOMAProcessOptions\relax %</postoptions> % \end{macrocode} % -% \begin{macro}{\Paragraph} -% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler -% melden}%^^A -% \begin{macro}{\SubParagraph} -% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler -% melden}%^^A -% \begin{macro}{\refParagraph} -% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler -% melden}%^^A -% \begin{macro}{\refParagraphN} -% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler -% melden}%^^A -% \begin{macro}{\DeprecatedParagraph} -% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen einen Fehler -% melden}%^^A -% \begin{macro}{\ParagraphCompatibilityHacks} -% \changes{1.0}{2014/11/22}{wird noch ein paar Versionen verbleiben}%^^A +% \subsection{Deprecated paragraph commands} +% +% All these commands are deprecated and now generate error messages instead of +% code. +% +% \begin{command}{\Paragraph,\SubParagraph,\refParagraph,\refParagraphN, +% \DeprecatedParagraph,\ParagraphCompatibilityHacks} +% \changes{1.0}{2014/11/22}{throw error for deprecated commands but only once} % \begin{macrocode} %<*body> \providecommand*{\DeprecatedParagraph}{% @@ -626,18 +563,16 @@ \providecommand*{\refParagraphN}{\DeprecatedParagraph\refParagraphN} %</body> % \end{macrocode} -% \end{macro}%^^A \ParagraphCompatibilityHacks -% \end{macro}%^^A \DeprecatedParagraph -% \end{macro}%^^A \refParagraphN -% \end{macro}%^^A \refParagraph -% \end{macro}%^^A \SubParagraph -% \end{macro}%^^A \Paragraph +% \end{command} +% +% +% \subsection{Contracts, clauses, paragraphs and sentences} +% % % \begin{macro}{\scrjura@env@type} -% \changes{v0.5d}{2010/04/28}{neu (intern)}%^^A -% \changes{v0.7b}{2014/11/03}{\cs{jura@env@type} umbenannt}%^^A -% Dieses Makro wird in Abhängigkeit der gerade aktiven -% \textsf{scrjura}-Umgebung definiert. +% \changes{v0.5d}{2010/04/28}{new} +% \changes{v0.7b}{2014/11/03}{renamed} +% This macro shows the currently active \pkg*{scrjura} environment. % \begin{macrocode} %<*body> \newcommand*{\scrjura@env@type}{} @@ -645,15 +580,18 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\ellipsispar} -% \changes{v0.7}{2013/05/02}{neu}%^^A -% \changes{v0.7b}{2014/11/03}{\cs{thecontractAbsoluteClause} -% flexibilisiert}%^^A -% \begin{macro}{\parellipsis} -% \changes{v0.7}{2013/05/02}{neu}%^^A -% \changes{v0.9g}{2016/03/25}{in die \texttt{aux}-Datei nur bei -% \cs{if@filesw} schreiben}%^^A -% Paragraphen auslassen aber mit zählen. +% +% \begin{command}{\ellipsispar} +% \changes{v0.7}{2013/05/02}{new} +% \changes{v0.7b}{2014/11/03}{\cs{thecontractAbsoluteClause} made more +% flexible} +% \changes{v0.9g}{2016/03/25}{write to \file{aux}-file only \cs{if@filesw}} +% \begin{command}{\parellipsis} +% \changes{v0.7}{2013/05/02}{new} +% Count one or more paragraphs given by the optional argument but print +% \cs{parellipsis} instead of a real paragraph. The default is either +% \cs{dots} or \cs{textellipsis} if available. +% \changes{v0.7}{2013/05/02}{new} % \begin{macrocode} %<*body> \newcommand*{\ellipsispar}[1][1]{% @@ -677,39 +615,34 @@ } %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % % \begin{environment}{contract} -% \begin{macro}{\contract} -% \changes{v0.5d}{2010/04/28}{fehlende Fehlermeldung ergänzt}%^^A -% \changes{v0.5d}{2010/04/28}{Umgebung definiert sich nicht mehr selbst -% um}%^^A -% \changes{v0.5d}{2010/04/28}{\cs{jura@env@type} wird gesetzt}%^^A -% \begin{Counter}{contractClause} -% \begin{macro}{\thecontractClause} -% \changes{v0.9b}{2015/05/01}{muss unbedingt den Zähler \texttt{Clause} -% statt \texttt{contractClause} verwenden}%^^A +% \changes{v0.5d}{2010/04/28}{missing error message added} +% \changes{v0.5d}{2010/04/28}{not self-redefining any more} +% \changes{v0.5d}{2010/04/28}{defining \cs{jura@env@type}} +% \changes{v3.36}{2022/01/25}{defining an environment (because of hooks)} +% \begin{counter}{contractClause} +% \begin{command}{\thecontractClause} +% \changes{v0.9b}{2015/05/01}{must use counter \cnt{Clause} instead of +% \cnt{contractClause}} % \begin{macro}{\contract@Clauseformat} -% \begin{macro}{\Clauseformat} -% \changes{v0.6b}{2013/04/16}{\cs{paragraphformat} umdefiniert}%^^A -% \begin{Counter}{contractSubClause} -% \changes{v0.9b}{2015/05/01}{muss unbedingt den Zähler \texttt{SubClause} -% statt \texttt{contractSubClause} verwenden}%^^A -% \begin{macro}{\thecontractSubClause} -% \begin{Counter}{contractAbsoluteClause} -% \changes{v0.7}{2013/04/18}{neuer (interner) Zähler über alle Paragraphen, -% um ggf. die Zählung neu beginnen zu können}%^^A -% Die Umgebung \texttt{contract} wird als Anweisung \cs{contract} -% definiert. Nichts desto trotz handelt es sich dabei um eine Umgebung und -% sollte sie immer als Umgebung verwendet werden! -% Die Umgebung kann nicht geschachtelt werden. Sie darf aber enden und dann -% erneut verwendet werden. Die Paragraphen werden jedoch über alle Verträge -% hinweg nummeriert. Das Ende eines Vertrags ist also genau genommen nur eine -% Unterbrechung. +% \begin{command}{\Clauseformat,\paragraphformat} +% \changes{v0.6b}{2013/04/16}{redefinition of \cs{paragraphformat}} +% \begin{counter}{contractSubClause} +% \changes{v0.9b}{2015/05/01}{must use counter \cnt{SubClause} instead of +% \cnt{contractSubClause}} +% \begin{command}{\thecontractSubClause} +% \begin{counter}{contractAbsoluteClause} +% \changes{v0.7}{2013/04/18}{new (internal) counter for all clauses to make +% it possible to reset the users clause counter} +% It is not allowed to nest the \env{contract} environments, but you can end +% them and start them new. But this would not end the contract and start a new +% contract but only delay it for some other code. % \begin{macrocode} %<*body> -\newcommand*{\contract}{% +\newenvironment{contract}{% \ifx\scrjura@env@type\@empty \let\@doendpe\scrjura@doendpe \let\Clause\contract@paragraph @@ -727,7 +660,7 @@ a `\scrjura@env@type' environment or after loading\MessageBreak package `scrjura' with option `\scrjura@env@type'!}% \fi -} +}{} \let\if@scrjura@skiphyperref\iftrue \let\cl@Clause\@empty \let\cl@SubClause\@empty @@ -743,22 +676,21 @@ \newcounter{contractAbsoluteClause} %</body> % \end{macrocode} -% \end{Counter} -% \end{macro} -% \end{Counter} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{Counter} +% \end{counter} +% \end{command} +% \end{counter} +% \end{command} % \end{macro} +% \end{command} +% \end{counter} % \end{environment} % -% \begin{macro}{\DeclareNewJuraEnvironment} -% \changes{v0.9}{2014/11/12}{Neue Anweisung} +% \begin{command}{\DeclareNewJuraEnvironment} +% \changes{v0.9}{2014/11/12}{new} % \changes{v0.9h}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Verwendet \cs{@defjuraenvironment} um eine neue juristische Umgebung zu -% definieren. +% \cs{kernel@ifnextchar}} +% Using \cs{@defjuraenvironment} to define a new juristic environment. This +% can be done only in document preamble. % \begin{macrocode} %<*body> \newcommand*{\DeclareNewJuraEnvironment}[1]{% @@ -781,14 +713,14 @@ \@onlypreamble\DeclareNewJuraEnvironment % \end{macrocode} % \begin{macro}{\@defjuraenvironment} -% \changes{v0.9}{2014/11/04}{Neue (interne) Anweisung}%^^A -% \changes{v3.25}{2017/12/08}{neue Option \texttt{ClauseFont}}%^^A -% \changes{v3.25}{2017/12/08}{\cs{reserved@defjuraenvironment} wird wieder -% \cs{relax}}%^^A -% \changes{v3.25}{2017/12/08}{Umstellung von globalen auf lokale Optionen}%^^A -% Diese Anweisung dient dazu, weitere Umgebungen einfach definieren zu können. -% Dabei werden optional diverse Optionen unterstützt. Näheres ist der -% Anleitung zu entnehmen. +% \changes{v0.9}{2014/11/04}{new} +% \changes{v3.25}{2017/12/08}{new command options \opt{ClauseFont}} +% \changes{v3.25}{2017/12/08}{\cs{reserved@defjuraenvironment} set back to +% \cs{relax}} +% \changes{v3.25}{2017/12/08}{using local instead of global command options} +% This command is used to define a new \pkg*{scrjura} environment like +% \env{contract}. Several options are provided (see the user manual for +% details). % \begin{macrocode} \DefineFamily{KOMAarg} \DefineFamilyMember{KOMAarg} @@ -796,7 +728,7 @@ \long\def\@defjuraenvironment#1[#2]#3#4{% \let\reserved@defjuraenvironment\relax % \end{macrocode} -% Die Zähler definieren: +% The counters: % \begin{macrocode} \newcounter{#1Clause}% \newcounter{#1AbsoluteClause}% @@ -832,14 +764,14 @@ \csname #1@Clauseformat\endcsname[1]{\Clauseformat{##1}}% }{}% % \end{macrocode} -% \changes{v0.9c}{2015/05/13}{\cs{the\dots Clause} definiert}%^^A -% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} statt -% \cs{csname}\dots\cs{endcsname}}%^^A +% \changes{v0.9c}{2015/05/13}{defining \cs{the\dots Clause}} +% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} instead of +% \cs{csname}\dots\cs{endcsname}} % \begin{macrocode} \expandafter\renewcommand\expandafter*\csname the#1Clause\endcsname{% \protect\@nameuse{#1@Clauseformat}{\arabic{#1Clause}}}% % \end{macrocode} -% Umgebung: +% Environment: % \begin{macrocode} \newenvironment{#1}{% \par @@ -875,10 +807,9 @@ \contract@everypar }{}% % \end{macrocode} -% Jetzt wird noch ein Font-Alias für \texttt{Clause} gesetzt. Ist kein Font -% und kein Alias-Font für die neue Umgebung definiert, so wird -% \texttt{contract.Clause} verwendet. -% \changes{v3.25}{2017/12/08}{Fontalias korrigiert}%^^A +% Font alias for \fnt{Clause}. If neither a font not an alias is defined for +% the new environment \fnt{contract.Clause} is used. +% \changes{v3.25}{2017/12/08}{Font alias fixed} % \begin{macrocode} \IfExistskomafont{#1.Clause}{% \IfIsAliaskomafont{#1.Clause}{% @@ -904,28 +835,21 @@ %</body> % \end{macrocode} % \end{macro}%^^A \@dewjuraenvironment -% \end{macro}%^^A \DeclareNewJuraEnvironment +% \end{command}%^^A \DeclareNewJuraEnvironment % % \begin{macro}{\contract@paragraph} -% Das ist das Macro, das in Verträgen |\Clause| zur Verfügung stellt. -% Ein Vertrag besteht aus mehreren Paragraphen. Jeder Paragraph hat einige -% optionale Elemente, die (auf dem Umweg über scrkbase) über das -% keyval-Paket geregelt werden. -% \begin{option}{title} -% \begin{option}{head} -% \begin{option}{entry} -% \changes{v0.6}{2011/09/30}{Option veraltet} -% \begin{option}{tocentry} -% \changes{v0.6}{2011/09/30}{neue Option} -% \begin{option}{nohead} -% \begin{option}{noentry} -% \changes{v0.6}{2011/09/30}{Option veraltet} -% \begin{option}{notocentry} -% \changes{v0.6}{2011/09/30}{neue Option} -% Der Titel, der Kolumnentitel und der Verzeichniseintrag des -% Paragraphen. Der Titel setzt dabei zunächst auch die anderen beiden. Man -% kann die beiden aber auf leer setzen. Insbesondere aber kann man sie mit -% den |no|-Optionen auch abschalten. +% This is the \cs{Clause} used by contracts. A contract consists (usually) of +% several clauses. Each clause has optional elements managed by +% \meta{key}=\meta{value} pairs handled by \pkg*{scrkbase} and last but not +% least by \pkg{keyval}. +% \begin{option}{title,head,nohead} +% \begin{option}{entry,noentry} +% \changes{v0.6}{2011/09/30}{deprecated} +% \begin{option}{tocentry,notocentry} +% \changes{v0.6}{2011/09/30}{new} +% Title, running head and toc entry of the clause. The title is the default +% for running head and toc entry. But you can also use an empty value for +% each of them or use the \opt{no\dots} options to switch them off. % \begin{macrocode} %<*body> \define@key{contract}{title}{% @@ -953,26 +877,18 @@ % \end{option} % \end{option} % \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} % \begin{option}{number} -% Die Nummer kann mit dieser Option frei gestaltet werden. Es sind jedoch -% keine Paragraphen ohne Nummer erlaubt. Wird keine Nummer angegeben, so -% wird die Nummer automatisch gesetzt. +% The number can be changed manually. But clauses without numbers are not +% allowed. So if you use an empty value, the number is automatically set. % \begin{macrocode} \define@key{contract}{number}{\def\contract@number{#1}} % \end{macrocode} % \end{option} -% \begin{macro}{\contract@preskip} -% \begin{macro}{\contract@postskip} -% \begin{option}{preskip} -% \begin{option}{postskip} -% Ãœber diese beiden Optionen kann der Abstand vor und nach einem Pragraphen -% gesetzt werden. Wird nichts angegeben, so wird die globale Voreinstellung -% verwendet, die übrigens mit |\setkeys{contract}{...}| gesetzt werden -% kann. +% \begin{macro}{\contract@preskip,\contract@postskip} +% \begin{option}{preskip,postskip} +% The options are used to specify the distance before and after the +% clause. The preset value of these options are the global settings done by +% |\setkeys{contract}{…}|. % \begin{macrocode} \newcommand*{\contract@preskip}{2\baselineskip} \newcommand*{\contract@postskip}{\baselineskip} @@ -980,59 +896,54 @@ \define@key{contract}{postskip}{\def\contract@postskip{#1}} % \end{macrocode} % \end{option} -% \end{option} -% \end{macro} % \end{macro} % \begin{option}{dummy} -% Ãœber dies Option wird der Schalter |\ifcontract@dummy| auf |\iftrue| -% gesetzt. +% The option switches the boolean \cs{ifcontract@dummy}. % \begin{macro}{\ifcontract@dummy} -% Ist der Schalter |\iftrue|, dann wird der Paragraph nicht gesetzt. Es ist -% jedoch darauf zu achten, dass Absätze und Sätze des Paragraphen auf diese -% Weise nicht entfernt werden können. Werden jedoch Paragraphen gelöscht, so -% kann man damit das Loch in der Nummerierung erzeugen. +% If the boolean is \cs{iftrue} the clause will not be printed. But note: you +% cannot use this to remove the paragraphs or sentences of the clause. But you +% can use this option to generate holes in the numbering without manually +% manipulating the counters. % \begin{macrocode} \newif\ifcontract@dummy \define@key{contract}{dummy}[true]{\csname contract@dummy#1\endcsname} % \end{macrocode} % \end{macro} % \end{option} +% \begin{fontelement}{contract.Clause} % \begin{macro}{\contract@paragraph@font} -% \changes{v3.25}{2017/12/08}{Es wird Element \texttt{Clause} statt -% \texttt{contract.Clause} verwendet}%^^A -% Eigentlich müsste die Anweisung \cs{contract@paragraph@format} heißen. Da -% sie jedoch für irgendwelche Tricks verwendet wurde. will ich das ungern -% ändern. Ebenso müsste die Anweisung eigentlich je nach Vertragsumgebung -% neu definiert und dann jene Defintion verwendet werden. +% \changes{v3.25}{2017/12/08}{using element \fnt{Clause} instead of +% \fnt{contract.Clause}} +% Correctly this macro should be named \cs{contract@paragraph@format}. But it +% is already used by some users for ugly tricks. So I will not rename it to +% avoid problems for existing documents. Additionally it would be better to +% use a new macro per environment. However the same reason not to change this. % \begin{macrocode} \newkomafont{contract.Clause}{\sffamily\bfseries\large} \newcommand*{\contract@paragraph@font}{\usekomafont{Clause}% \@hangfrom} % \end{macrocode} % \end{macro} -% \begin{Counter}{@AbsClause} +% \end{fontelement} +% \begin{counter}{@AbsClause} % \begin{macro}{\theH@AbsClause} -% \begin{macro}{\theHClause} -% \begin{macro}{\theHSubClause} +% \begin{command}{\theHClause,\theHSubClause} % \begin{macrocode} -% \textsf{hyperref}-Code, der noch nicht getestet ist! +% Here we have some not good tested code for \pkg{hyperref}. \newcounter{@AbsClause} \newcommand*{\theH@AbsClause}{P-\arabic{@AbsClause}} \newcommand*{\theHClause}{\theH@AbsClause} \newcommand*{\theHSubClause}{\theH@AbsClause} % \end{macrocode} +% \end{command} % \end{macro} -% \end{macro} -% \end{macro} -% \end{Counter} -% Zunächst wird vorübergehend auf manuelle Absatznummern umgeschaltet, weil -% natürlich innerhalb der Ãœberschrift keine Nummer gesetzt werden -% soll. Trotzdem werden generell die Absatznummern eingeschaltet. Dann werden -% die Optionen initialisiert und ausgeführt. -% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteClause} wird -% erhöht}%^^A -% \changes{v0.7b}{2014/11/03}{\texttt{contractAbsoluteClause} -% flexibilisiert}%^^A +% \end{counter} +% For the headings we use manual paragraph numbering, because we don't want +% any paragraph numbering inside the heading. After initializing the options +% they are processed. +% \changes{v0.7}{2013/04/18}{increase counter \cnt{contractAbsoluteClause}} +% \changes{v0.7b}{2014/11/03}{more flexible +% \cnt{\meta{environment}AbsoluteClause}} % \begin{macrocode} \newcommand*{\contract@paragraph}[1]{% \stepcounter{\scrjura@env@type AbsoluteClause}% @@ -1044,9 +955,9 @@ \contract@dummyfalse \ifx\relax#1\relax\else\setkeys{contract}{#1}\fi % \end{macrocode} -% Wenn es kein Blindparagraph ist, werden Vorbereitung für nach der -% Ãœberschrift getroffen und der vertikale Abstand eingefügt. -% \changes{v0.6a}{2012/10/08}{fehlendes \cs{par} ergänzt} +% Unless this is a dummy clause, the headings will be initialized and vertical +% skips will be done. +% \changes{v0.6a}{2012/10/08}{missing \cs{par} added} % \begin{macrocode} \ifcontract@dummy\else \par @@ -1054,13 +965,13 @@ \addvspace{\contract@preskip}% \fi % \end{macrocode} -% Wenn die Nummer nicht manuell gesetzt wurde, wird die nächste Nummer -% verwendet. Im anderen Fall muss die Nummer gesetzt und auch dafür gesorgt -% werden, dass sowohl ein Label als auch hyperref diese Nummer verwenden. -% \changes{v0.6b}{2013/04/16}{Verwendung von \cs{contract@Clauseformat} -% auch bei manueller Nummerierung der Paragraphen.}%^^A -% \changes{v0.9c}{2015/05/13}{\cs{thecontractClause} durch -% umgebungsabhängiges Macro ersetzt.}%^^A +% If there isn't a manual number, we use the next number. If there is a manual +% number, this number is printed and we take care that labels and +% \pkg{hyperref} also use the manual number. +% \changes{v0.6b}{2013/04/16}{using \cs{contract@Clauseformat} for manual +% numbers too} +% \changes{v0.9c}{2015/05/13}{\cs{thecontractClause} replaced by +% environment-dependent macro} % \begin{macrocode} \ifx\contract@number\relax \let\p@Clause\@empty @@ -1073,8 +984,8 @@ \cl@Clause \endgroup % \end{macrocode} -% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} statt -% \cs{csname}\dots\cs{endcsname}}%^^A +% \changes{v0.9f}{2016/02/24}{\cs{protect}\cs{\@nameuse} instead of +% \cs{csname}\dots\cs{endcsname}} % \begin{macrocode} \protected@edef\theClause{% \protect\@nameuse{\scrjura@env@type @Clauseformat}{\contract@number}% @@ -1093,15 +1004,14 @@ \typeout{absolute Nummer: \the@AbsClause^^JLabel: `\@currentHref'}% \fi % \end{macrocode} -% Zwecks Vereinfachung wird ab hier so getan, als wäre es ein Unterabschnitt. +% For simplification we use the code of clauses for sub-clauses. % \begin{macrocode} \let\theSubClause\theClause % \end{macrocode} -% Außer für Blindparagraphen wird dann die Ãœberschrift gesetzt, die -% Verzeichniseinträge vorgenommen und der Kolumnentitel angepasst. -% \changes{v0.7}{2013/04/28}{Abstand nach der Nummer als Bestandteil der -% Nummer setzen}%^^A -% \changes{v0.9i}{2017/02/23}{Verwendung von \cs{ext@toc}}%^^A +% Unless for dummy clauses, the heading is printed, the toc entry is done +% and also the running head. +% \changes{v0.7}{2013/04/28}{distance behind the number is part of the number} +% \changes{v0.9i}{2017/02/23}{usage of \cs{ext@toc}} % \begin{macrocode} \ifcontract@dummy\else \begingroup @@ -1121,8 +1031,7 @@ \par \endgroup\nobreak\vskip\contract@postskip % \end{macrocode} -% Zum Schluss wird noch dafür gesorgt, dass auch die Absätze korrekt -% nummeriert werden können etc. +% Last but not least paragraph numbering is initialized. % \begin{macrocode} \scrjura@afterheading \fi @@ -1204,9 +1113,9 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\AutoPar} -% \begin{macro}{\ManualPar} -% Automatische oder manuelle Absatznummern für alle Umgebungen aktivieren. +% \begin{command}{\AutoPar,\ManualPar} +% Switching between automatic or manual paragraph numbers for all +% \pkg*{scrjura} environments. % \begin{macrocode} %<*body> \newcommand*{\AutoPar}{% @@ -1218,15 +1127,17 @@ } %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\scrjura@afterheading} -% \changes{v0.7b}{2014/11/03}{\cs{jura@afterheading} umbenannt}%^^A -% \changes{v0.7b}{2014/11/03}{benötigt kein Argument mehr}%^^A -% \changes{v3.27}{2019/02/25}{\cs{CheckCommand} für \cs{@afterheading}}%^^A -% Entspricht |\afterheading| mit Erweiterungen für automatischen -% Absatznummern. +% \begin{macro}{\scrjura@afterheading,\jura@afterheading} +% \changes{v0.7b}{2014/11/03}{\cs{jura@afterheading} renamed} +% \changes{v0.7b}{2014/11/03}{no argument} +% \changes{v3.27}{2019/02/25}{\cs{CheckCommand} for \cs{@afterheading}} +% Similar to \cs{afterheading} but with automatic paragraph numbers. +% \begin{description} +% \item[ToDo:] Test if this can be done using \LaTeX{} hooks, depending on the +% \LaTeX{} release. +% \end{description} % \begin{macrocode} %<*body> \CheckCommand*{\@afterheading}{% @@ -1263,33 +1174,30 @@ \AutoPar } % \end{macrocode} -% \begin{macro}{\scrjura@everypar} -% \changes{v0.7b}{2014/11/03}{\cs{jura@everypar} umbenannt}%^^A -% Die Anweisung, die am Anfang von jedem Absatz auszuführen ist, um die -% Nummer zu setzen. Außerhalb der Umgebungen ist das nichts. +% \begin{macro}{\scrjura@everypar,\jura@everypar} +% \changes{v0.7b}{2014/11/03}{\cs{jura@everypar} renamed} +% The macro to be used at the very beginning of every paragraph to add the +% number. To be used only inside \pkg*{scrjura} environments, so empty outside. % \begin{macrocode} \newcommand*{\scrjura@everypar}{} % \end{macrocode} % \end{macro} % \begin{macro}{\@doendpe} -% Diese Anweisung wird von \LaTeX{} verwendet, um am Ende von Umgebungen die -% kurz-, mittel- und langwirkenden Absatzaktionen zurückzusetzen. Damit hier -% nicht die automatische Absatznummerierung abgeschaltet wird, wird sie neu -% eingefügt. +% \LaTeX{} used this macro, to reset all paragraph actions at the end of +% environments. To avoid unwanted switching-off of the paragraph number it +% will be reinitialized. % \begin{macro}{\scrjura@doendpe} % \begin{macro}{\IncludeInRelease} -% \changes{v0.9e}{2015/11/03}{wird temporär benötigt}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v0.9e}{2015/11/03}{used temporary} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}} % \begin{macro}{\@gobble@IncludeInRelease} -% \changes{v0.9e}{2015/11/03}{wird temporär benötigt}%^^A +% \changes{v0.9e}{2015/11/03}{used temporary} % \begin{macro}{\EndIncludeInRelease} -% \changes{v0.9e}{2015/11/03}{wird temporär benötigt}%^^A -% Seit \LaTeX{} 2015/01/01 ist \cs{@doendpe} abhängig von -% \textsf{latexrelease} etwas anders definiert. Das wird hier -% berücksichtigt. Damit das auch noch mit älteren Versionen von \LaTeX{} -% funktioniert, ohne dass man extra \textsf{latexrelease} nachinstalliert, -% wird hier ein wenig getrickst. Die Änderungen werden aber so temporär wie -% möglich gehalten. +% \changes{v0.9e}{2015/11/03}{used temporary} +% From \LaTeX{} 2015/01/01 a different definition of \cs{@doendpe} is used. So +% we also have to use different versions depending on the release. We do so +% with some tricks. Maybe this should be replaced by usage of +% \cs{IfLTXAtLeastTF} from already loaded \pkg*{scrbase}. % \begin{macrocode} \providecommand*{\IncludeInRelease}[3]{% \PackageInfo{scrjura}{temporary definition of \string\IncludeInRelease}% @@ -1355,17 +1263,16 @@ % \end{macro}%^^A \@gobble@IncludeInRelease % \end{macro}%^^A \IncludeInRelease % \end{macro}%^^A \scrjura@doendpe -% \end{macro}%^^A \doendpe +% \end{macro}%^^A \@doendpe % \end{macro}%^^A \scrjura@everypar % +% \subsection{Entry to table of contents} % \begin{macro}{\l@cpar} -% Verzeichnis-Eintrag für einen Vertrags-Paragraphen. -% \changes{v3.27}{2019/02/25}{Verwendung von \textsf{tocbasic}}%^^A -% Da der Zähler \texttt{juratoclevel} bisher nicht dokumentiert war und auch -% bisher syntaktisch falsche Werte zu Fehlermeldungen geführt haben, können -% wir uns voll auf \textsf{tocbasic} stützen. -% Die Definition muss in den init-Teil, damit die Optionen die Einstellungen -% ändern können: +% Toc entry of contract clauses. +% \changes{v3.27}{2019/02/25}{usage of \pkg*{tocbasic}} +% This is done using \pkg*{tocbasic}. The definition has to be part of the +% initialization of the package, otherwise package options wouldn't be able to +% change the setting. % \begin{macrocode} %<*init> \DeclareTOCStyleEntry[% @@ -1377,9 +1284,11 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\scrjura@separator} -% \changes{v0.7b}{2014/11/03}{\cs{jura@separator} umbenannt}%^^A -% Wird verwendet, damit Leerzeichen am Anfang oder Ende entfernt werden können. +% \subsection{Numbering of paragraphs and sentences} +% +% \begin{macro}{\scrjura@separator,\jura@separator} +% \changes{v0.7b}{2014/11/03}{\cs{jura@separator} renamed} +% Used to make it possible to remove white spaces at the beginning or end. % \begin{macrocode} %<*body> \DeclareRobustCommand*{\scrjura@separator}[1]{#1} @@ -1387,17 +1296,16 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\scrjura@usetype} -% \changes{v0.5d}{2010/04/28}{neu (intern)}%^^A -% \changes{v0.7b}{2014/11/03}{\cs{jura@usetype} umbenannt}%^^A -% In der Voreinstellung macht das erst einmal gar nichts, außer dass es robust -% ist und \cs{jura@@usetype} aufruft. -% \begin{macro}{\scrjura@@usetype} -% \changes{v0.5d}{2010/04/28}{neu (intern)}%^^A -% \changes{v0.7b}{2014/11/03}{\cs{jura@@usetype} umbenannt}%^^A -% Das wiederum ist nicht robust und kann dadurch einfacher umdefiniert -% werden. In der Voreinstellung macht das dann wirklich nichts, außer das -% Argument zu fressen. +% \begin{macro}{\scrjura@usetype,\jura@usetype} +% \changes{v0.5d}{2010/04/28}{new} +% \changes{v0.7b}{2014/11/03}{\cs{jura@usetype} renamed} +% By default it is robust but does only call \cs{scrjura@@usetype} with the +% only argument. +% \begin{macro}{\scrjura@@usetype,\jura@@usetype} +% \changes{v0.5d}{2010/04/28}{new} +% \changes{v0.7b}{2014/11/03}{\cs{jura@@usetype} renamed} +% This second command is not robust and can easily be redefined. But by +% default it also does nothing but eating the argument. % \begin{macrocode} %<*body> \DeclareRobustCommand*{\scrjura@usetype}[1]{\scrjura@@usetype{#1}} @@ -1408,29 +1316,26 @@ % \end{macro} % % \begin{macro}{\contract@everypar} -% |\scrjura@everpar| für Verträge. -% \begin{macro}{\ifparnumber} -% \changes{v0.6}{2011/09/29}{Definition des Schalters in die Definition der -% Option verschoben}%^^A -% \begin{Counter}{par} -% \begin{macro}{\thepar} -% \begin{macro}{\theHpar} -% \begin{macro}{\parformat} -% \changes{v0.7}{2013/06/07}{neues Font-Element \texttt{parnumber}}%^^A -% \begin{macro}{\parformatseparation} -% \changes{v0.9f}{2016/02/06}{neue Anweisung}%^^A +% The \cs{scrjura@everpar} used by contracts. +% \begin{macro}{\ifparnumber,\parnumbertrue,\parnumberfalse} +% \changes{v0.6}{2011/09/29}{moved the definition into the definition of the +% option} +% \begin{counter}{par} +% \begin{command}{\thepar,\theHpar} +% \begin{command}{\parformat} +% \changes{v0.7}{2013/06/07}{new font element \fnt{parnumber}} +% \begin{command}{\parformatseparation} +% \changes{v0.9f}{2016/02/06}{new} % \begin{macro}{\p@par} -% \changes{v0.5d}{2010/04/28}{\cs{jura@usetype} mit Argument -% \cs{jura@env@type} eingefügt}%^^A -% \begin{macro}{\withoutparnumber} -% \changes{v3.25}{2017/12/19}{neu}%^^A -% Der Schalter gibt an, ob überhaupt mit Absatznummern gearbeitet werden -% soll. Sind Absatznummern deaktiviert, werden auch keine manuellen -% Absatznummern gesetzt. Die Absätze werden dann auch nicht gezählt. Ansonsten -% werden die Absätze mit |\thepar| nummeriert. Wichtig ist, dass der -% Absatzzähler mit den Paragraphen und den Unterparagraphen zurückgesetzt -% wird. Außerdem muss beim Zitieren als Elternobjekt der Paragraph mit -% ausgegeben werden. +% \changes{v0.5d}{2010/04/28}{added \cs{jura@usetype} with argument +% \cs{jura@env@type}} +% \begin{command}{\withoutparnumber} +% \changes{v3.25}{2017/12/19}{new} +% The boolean defines if paragraph numbers have to be used. If they are +% deactivated also manual paragraph numbers are deactivated and the paragraphs +% are not counted. Otherwise the paragraphs are numbered using \cs{thepar}. It +% is important to reset the paragraph counter with every clause and +% sub-clause. And for labels the parent object the clause has to be used. % \begin{macrocode} %<*body> \newcounter{par} @@ -1445,33 +1350,29 @@ \newcommand*{\withoutparnumber}{} %</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{Counter} -% \end{macro} -% \changes{v0.5c}{2010/04/26}{erstes Argument von \cs{newmaxpar} und zweites -% Argument von \cs{getmaxpar} ist \texttt{contract} nicht -% \texttt{contractpars}} -% \changes{v0.5c}{2010/04/26}{\cs{contract@Clauseformat} expandiert beim -% Schreiben zu seinem Argument} -% \changes{v0.7}{2013/04/18}{Zähler \texttt{contractAbsoluteClause} wird -% verwendet} -% \changes{v0.7}{2013/05/23}{Satznummer bei manuell nummerierten Absätzen -% auf 0 statt 1 initialisiert, weil \cs{Sentence} die Nummer als erstes -% hochzählt.} -% \changes{v0.7}{2013/05/23}{Absatznummer von \cs{thisparnumber} beachtet} -% \changes{v0.7}{2013/06/06}{Im Fall von nicht rein nummerischen -% Absatznummern die Absätze auf jeden Fall nummerieren} -% \changes{v0.7b}{2014/11/03}{\texttt{contractAbsoluteClause} -% flexibilisiert}%^^A -% \changes{v0.9f}{2016/02/06}{\cs{nobreakspace} durch -% \cs{parformatseparation} ersetzt}%^^A -% \changes{v0.9g}{2016/03/25}{in die \texttt{aux}-Datei nur bei -% \cs{if@filesw} schreiben}%^^A +% \end{command} +% \end{macro} +% \end{command} +% \end{command} +% \end{command} +% \end{counter} +% \end{macro} +% \changes{v0.5c}{2010/04/26}{first argument of \cs{newmaxpar} and second +% argument of \cs{getmaxpar} is \meta{contract} not \meta{contractpars}} +% \changes{v0.5c}{2010/04/26}{\cs{contract@Clauseformat} expands while writing +% to its own argument} +% \changes{v0.7}{2013/04/18}{using counter \cnt{contractAbsoluteClause}} +% \changes{v0.7}{2013/05/23}{initializing sentence number for manually +% numbered paragraphs to 0 instead of 1, because first action of +% \cs{Sentence} is increasing the number} +% \changes{v0.7}{2013/05/23}{recognize paragraph number of \cs{thisparnumber}} +% \changes{v0.7}{2013/06/06}{if paragraph numbers are not completely numerical +% always set the number} +% \changes{v0.7b}{2014/11/03}{more flexible replacement of +% \cnt{contractAbsoluteClause}} +% \changes{v0.9f}{2016/02/06}{\cs{nobreakspace} replaced by +% \cs{parformatseparation}} +% \changes{v0.9g}{2016/03/25}{writing to \file{aux}-file \cs{if@filesw}} % \begin{macrocode} %<*body> \newcommand*{\contract@everypar}{% @@ -1528,14 +1429,12 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\thisparnumber} -% \changes{v0.7}{2013/05/23}{neue Anweisung} -% \begin{macro}{\scrjura@special@par} -% \changes{v0.7}{2013/05/23}{neue Anweisung (intern)} -% \begin{macro}{\scrjura@special@reset@par} -% \changes{v0.7}{2013/05/23}{neue Anweisung (intern)} -% Mit dieser Anweisung kann man eine Absatznummer manuell vergeben. Allerdings -% muss die Nummer voll expandierbar sein! +% \begin{command}{\thisparnumber} +% \changes{v0.7}{2013/05/23}{new} +% \begin{macro}{\scrjura@special@par,\scrjura@special@reset@par} +% \changes{v0.7}{2013/05/23}{new} +% You can use this for manual paragraph numbering. But the number has to be +% fully expandable! % \begin{macrocode} %<*body> \newcommand*{\thisparnumber}[1]{% @@ -1547,16 +1446,16 @@ \let\scrjura@special@reset@par\relax %</body> % \end{macrocode} -% \end{macro}%^^A \scrjura@special@reset@par % \end{macro}%^^A \scrjura@special@par -% \end{macro}%^^A\thisparnumber +% \end{command}%^^A\thisparnumber % % -% \begin{macro}{\refL} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \subsection{Referencing} +% +% \begin{command}{\refL} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@L} -% Das gleiche wie |\ref| aber zwingend mit der Langform. +% Similar to \cs{ref} but always the long form. % \begin{macrocode} %<*body> \newcommand*{\refL}{\kernel@ifstar {\ref@L*}{\ref@L{}}} @@ -1569,13 +1468,12 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refS} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refS} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@S} -% Das gleiche wie |\ref| aber zwingend mit der Kurzform. +% Similar to \cs{ref} but always the short form. % \begin{macrocode} \newcommand*{\refS}{\kernel@ifstar {\ref@S*}{\ref@S{}}} \newcommand*{\ref@S}[2]{% @@ -1587,13 +1485,12 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refN} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refN} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@N} -% Das gleiche wie |\ref| aber zwingend mit der numerischen Form. +% Similar to \cs{ref} but always the numerical form. % \begin{macrocode} \newcommand*{\refN}{\kernel@ifstar {\ref@N*}{\ref@N{}}} \newcommand*{\ref@N}[2]{% @@ -1605,15 +1502,14 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refClause} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refClause} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@Clause} -% Zitiert nur den Paragraphen eines Paragraphen, eines Absatzes oder eines -% Satzes. Für mehr Kompatibilität mit hyperref gibt es mit hyperref auch eine -% Sternform. Ohne hyperref produziert diese nur Unsinn. +% Reference only the clause of a clause, paragraph or sentence. For better +% compatibility with \pkg{hyperref} there is also a star version if +% \pkg{hyperref} is used. Without \pkg{hyperref} the star version is nonsense. % \begin{macrocode} \newcommand*{\refClause}{% \kernel@ifstar {\ref@Clause*}{\ref@Clause{}} @@ -1624,7 +1520,7 @@ \else \begingroup % \end{macrocode} -% Alle Teile der Referenz bis auf den ersten in |\@tempb| ablegen. +% Copy all parts of the reference but the first one to \cs{@tempb}. % \begin{macrocode} \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\def @@ -1634,14 +1530,14 @@ \expandafter\expandafter\expandafter{% \expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}% % \end{macrocode} -% Den ersten Teil der Referenz in |\@tempa| ablegen. +% Copy the first part of the reference to \cs{@tempa}. % \begin{macrocode} \def\@tempc##1##2\@nil{##1}% \let\scrjura@separator\@gobble \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc \csname r@#2\endcsname\noexpand\@nil}% % \end{macrocode} -% Den ersten Teil von |\@tempa| in |\@tempa| ablegen. +% Copy the first part of \cs{@tempa} to \cs{@tempb}. % \begin{macrocode} \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc \@tempa\@nil}% @@ -1655,16 +1551,16 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refClauseN} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refClauseN} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@ClauseN} -% Zitiert nur den Paragraphen eines Paragraphen, eines Absatzes oder eines -% Satzes. Für mehr Kompatibilität mit hyperref gibt es mit hyperref auch eine -% Sternform. Ohne hyperref produziert diese nur Unsinn. -% \begin{macrocode} +% Reference only the clause number of a clause, a paragraph or a sentence. +% For improved compatibility with \pkg{hyperref} there is also a star version +% if \pkg{hyperref} is used. Without \pkg{hyperref} the star version is +% nonsense. +% \begin{macrocode} \newcommand*{\refClauseN}{% \kernel@ifstar {\ref@ClauseN*}{\ref@ClauseN{}} } @@ -1676,15 +1572,15 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refPar} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refPar} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@Par} -% Zitiert nur den Absatz eines Absatzes oder eines Satzes. Für mehr -% Kompatibilität mit hyperref gibt es mit hyperref auch eine Sternform. Ohne -% hyperref produziert diese nur Unsinn. +% References only the paragraph of a paragraph or sentence. +% For improved compatibility with \pkg{hyperref} there is also a star version +% if \pkg{hyperref} is used. Without \pkg{hyperref} the star version is +% nonsense. % \begin{macrocode} \newcommand*{\refPar}{% \kernel@ifstar {\ref@Par*}{\ref@Par{}} @@ -1695,7 +1591,7 @@ \else \begingroup % \end{macrocode} -% Alle Teile der Referenz bis auf den ersten in |\@tempb| ablegen. +% Copy all parts of the reference but the first one to \cs{@tempb}. % \begin{macrocode} \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\def @@ -1705,14 +1601,14 @@ \expandafter\expandafter\expandafter{% \expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}% % \end{macrocode} -% Den ersten Teil der Referenz in |\@tempa| ablegen. +% Copy the first part of the reference to \cs{@tempa}. % \begin{macrocode} \def\@tempc##1##2\@nil{##1}% \let\scrjura@separator\@gobble \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc \csname r@#2\endcsname\noexpand\@nil}% % \end{macrocode} -% Den zweiten Teil von |\@tempa| in |\@tempa| ablegen. +% Copy the second part of \cs{@tempa} to \cs{@tempa} ablegen. % \begin{macrocode} \def\@tempc##1##2##3\@nil{##2}% \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc @@ -1732,14 +1628,13 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refParL} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refParL} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@ParX} +% The same but long. % \begin{macrocode} -% Das Gleiche zwingend lang. \newcommand*{\refParL}{% \kernel@ifstar {\ref@ParX0*}{\ref@ParX0{}} } @@ -1752,27 +1647,25 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refParS} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Das Gleiche zwingend kurz. +% \begin{command}{\refParS} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% The same but short. % \begin{macrocode} \newcommand*{\refParS}{% \kernel@ifstar {\ref@ParX1*}{\ref@ParX1{}} } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\refParN} +% \begin{command}{\refParN} % \begin{macro}{\ref@ParN} % \changes{v0.9h}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \cs{kernel@ifnextchar}} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@@ParN} -% Das Gleiche zwingend nummerisch. +% The same but numerical. % \begin{macrocode} \newcommand*{\refParN}{% \kernel@ifstar {\ref@ParN2*}{\ref@ParN2{}} @@ -1794,15 +1687,15 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refSentence} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refSentence} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@Sentence} -% Zitiert nur den Satz eines Satzes. Für mehr -% Kompatibilität mit hyperref gibt es mit hyperref auch eine Sternform. Ohne -% hyperref produziert diese nur Unsinn. +% Reference only the sentence of a sentence. +% For improved compatibility with \pkg{hyperref} there is also a star version +% if \pkg{hyperref} is used. Without \pkg{hyperref} the star version is +% nonsense. % \begin{macrocode} \newcommand*{\refSentence}{% \kernel@ifstar {\ref@Sentence*}{\ref@Sentence{}} @@ -1813,7 +1706,7 @@ \else \begingroup % \end{macrocode} -% Alle Teile der Referenz bis auf den ersten in |\@tempb| ablegen. +% Copy all parts of the reference to \cs{@tempb}. % \begin{macrocode} \expandafter\expandafter\expandafter\expandafter \expandafter\expandafter\expandafter\def @@ -1823,14 +1716,14 @@ \expandafter\expandafter\expandafter{% \expandafter\expandafter\expandafter\@gobble\csname r@#2\endcsname}% % \end{macrocode} -% Den ersten Teil der Referenz in |\@tempa| ablegen. +% Copy the first part of the reference to \cs{@tempa}. % \begin{macrocode} \def\@tempc##1##2\@nil{##1}% \let\scrjura@separator\@gobble \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc \csname r@#2\endcsname\noexpand\@nil}% % \end{macrocode} -% Den dritten Teil von |\@tempa| in |\@tempa| ablegen. +% Copy the third part of \cs{@tempa} to \cs{@tempa}. % \begin{macrocode} \def\@tempc##1##2##3##4\@nil{##3}% \protected@edef\@tempa{\expandafter\expandafter\expandafter\@tempc @@ -1850,14 +1743,13 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refSentenceL} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\refSentenceL} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\ref@SentenceX} +% The same but long. % \begin{macrocode} -% Das Gleiche zwingend lang. \newcommand*{\refSentenceL}{% \kernel@ifstar {\ref@SentenceX0*}{\ref@SentenceX0{}} } @@ -1870,51 +1762,47 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\refSentenceS} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Das Gleiche zwingend kurz. +% \begin{command}{\refSentenceS} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% The same but short. % \begin{macrocode} \newcommand*{\refSentenceS}{% \kernel@ifstar {\ref@SentenceX1*}{\ref@SentenceX1{}} } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\refSentenceN} -% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Das Gleiche zwingend nummerisch. +% \begin{command}{\refSentenceN} +% \changes{v0.9h}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% The same but numeric. % \begin{macrocode} \newcommand*{\refSentenceN}{% \kernel@ifstar {\ref@SentenceX2*}{\ref@SentenceX2{}} } %</body> % \end{macrocode} -% \end{macro} +% \end{command} % % \begin{macro}{\contract@sentence} -% \changes{v0.7a}{2014/01/28}{auf \cs{textsuperscript} umgestellt}%^^A -% \changes{v0.7a}{2014/01/28}{\cs{nobreak}\cs{hskip}\cs{z@} eingefügt, um -% die Trennung des ersten Worts nach der Satzmarkierung zu ermöglichen}%^^A -% Sätze nummerieren. -% \begin{Counter}{sentence} -% \begin{macro}{\thesentence} -% \begin{macro}{\theHsentence} +% \changes{v0.7a}{2014/01/28}{using \cs{textsuperscript}} +% \changes{v0.7a}{2014/01/28}{\cs{nobreak}\cs{hskip}\cs{z@} added to allow +% hyphenation of the first word after the sentence mark} +% Numbering of sentences. +% \begin{counter}{sentence} +% \begin{command}{\thesentence,\theHsentence} % \begin{macro}{\p@sentence} -% \changes{v3.27}{2019/10/09}{Anpassung an \LaTeX{} 2019-10-01}%^^A -% Der Zähler wird für die Nummerierung der Sätze verwendet. Dabei ist wichtig, -% dass beim Zitieren der Sätze als Elternobjekt der Absatz mit ausgegeben -% wird. Die Methode, mit der ursprünglich dafür gesorgt wurde, dass -% \cs{thesentence} als Argument von \cs{p@sentence} verwendet werden konnte, -% funktioniert leider seit \LaTeX{} 2019-10-01 nicht mehr und führt seither zu -% einer Fehlermeldung. Daher musste der Code an der Stelle an die -% Neudefinition von \cs{refstepcounter} in \LaTeX{} 2019-10-01 angepasst -% werden und verwendet ab dieser \LaTeX-Version \cs{labelformat}. Wie ich dazu -% stehe, dass neuerdings \LaTeX{} kein Problem damit hat, existierende Pakete -% zu beschädigen, lassen wir dabei besser unausgeprochen. +% \changes{v3.27}{2019/10/09}{adaption for \LaTeX{} 2019-10-01} +% The counter is used for numbering the sentences. It is important to add the +% paragraph as parent object to labels. The original method to make it +% possible to use \cs{thesentence} as an argument of \cs{p@sentence} does not +% work any longer using \LaTeX{} 2019-10-01 or newer. It would result in an +% error message. So the code has to be adapted to the new definition of +% \cs{refstepcounter} in \LaTeX{} 2019-10-01. From this version it uses +% \cs{labelformat}. Don't ask me, what I think about the fact, that every new +% versions of \LaTeX{} can break existing packages and package authors have to +% find out such incompatibilities on their own. % \begin{macrocode} %<*body> \newcounter{sentence}[par] @@ -1930,16 +1818,14 @@ } \newcommand*{\contract@sentence}{% % \end{macrocode} -% \changes{v0.9e}{2015/11/04}{erst den Absatz beginnen, dann die Nummer -% setzen}%^^A -% \changes{v3.26}{2018/07/20}{neues Element \texttt{sentencenumber}}%^^A -% \changes{v3.26}{2018/07/20}{neue Formatierung \cs{sentencenumberformat}}%^^A -% Bei der Nummerierung ist wichtig, dass am Anfang des Absatzes die -% Satznummer nicht erhöht wird, weil das der Absatz bereits erledigt. Damit -% das funktioniert muss aber vor der Ausgabe erst einmal der Absatz begonnen -% werden. Befinden wir uns allerdings unmittelbar hinter einer -% \texttt{minipage}, einer Liste oder einer \cs{parbox} tun wir so, als wären -% wir nicht am Anfang des Absatzes. +% \changes{v0.9e}{2015/11/04}{first start the paragraph then print the number} +% \changes{v3.26}{2018/07/20}{new font element \fnt{sentencenumber}} +% \changes{v3.26}{2018/07/20}{new formatting \cs{sentencenumberformat}} +% For the numbering it is important not to increase the paragraph number at +% the very beginning, because the paragraph already does so. To make this +% work, the paragraph has to start before we print the number. But immediately +% after a \env{minipage}, a list or a \cs{parbox} we should behave as not +% being at the beginning of a paragraph. % \begin{macrocode} \ifvmode \if@endpe @@ -1954,26 +1840,28 @@ \nobreak\hskip\z@ } % \end{macrocode} -% \begin{macro}{\sentencenumberformat} -% \changes{v3.26}{2018/07/20}{neu}%^^A -% Formatierung und Schrift können über \cs{sentencenumberformat} und Element -% \texttt{sentencenumber} geändert werden. Voreinstellung für -% \cs{sentenceformat} ist \cs{textsuperscript}. +% \begin{fontelement}{sentencenumber} +% \begin{command}{\sentencenumberformat} +% \changes{v3.26}{2018/07/20}{new} +% Formatting an font can be changed using font element \fnt{sentencenumber} +% and command \cs{sentencenumberformat}. The last has the preset +% \cs{textsuperscript}. % \begin{macrocode} \newkomafont{sentencenumber}{} \newcommand*{\sentencenumberformat}{\textsuperscript{\thesentence}} %</body> % \end{macrocode} +% \end{command} +% \end{fontelement} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{Counter} +% \end{command} +% \end{counter} % \end{macro} % -% \begin{macro}{\parciteformat} -% \changes{v0.5d}{2010/04/28}{Argument verschoben} -% Zitierstil für Absätze. +% \begin{macro}{\par@cite} +% \begin{command}{\parciteformat} +% \changes{v0.5d}{2010/04/28}{argument moved} +% Reference style for paragraphs. % \begin{macrocode} %<*body> \DeclareRobustCommand*{\par@cite}[1]{\parciteformat{#1}} @@ -1990,11 +1878,13 @@ {#1}% } % \end{macrocode} +% \end{command} % \end{macro} % -% \begin{macro}{\sentenceciteformat} -% \changes{v0.5d}{2010/04/28}{Argument verschoben} -% Zitierstil für Sätze. In der Voreinstellung ist das |\@arabic|. +% \begin{macro}{\sentence@cite} +% \begin{command}{\sentenceciteformat} +% \changes{v0.5d}{2010/04/28}{argument moved} +% Reference style for sentences. Preset is \cs{@arabic}. % \begin{macrocode} \DeclareRobustCommand*{\sentence@cite}[1]{\sentenceciteformat{#1}} \newcommand*{\sentenceciteformat}[1]{% @@ -2010,15 +1900,13 @@ {#1}% } % \end{macrocode} +% \end{command} % \end{macro} % -% \begin{macro}{\parlongformat} -% \begin{macro}{\parshortformat} -% \begin{macro}{\parnumericformat} -% \begin{macro}{\sentencelongformat} -% \begin{macro}{\sentenceshortformat} -% \begin{macro}{\sentencenumericformat} -% Formatierung in den sechs Formen. +% \begin{command}{\parlongformat,\parshortformat,\parnumericformat, +% \sentencelongformat,\sentenceshortformat, +% \sentencenumericformat} +% The six formattings. % \begin{macrocode} \newcommand*{\parlongformat}[1]{\parname~#1} \newcommand*{\parshortformat}[1]{\parshortname~#1} @@ -2028,25 +1916,18 @@ \newcommand*{\sentencenumericformat}[1]{\@arabic{\number #1\relax}.} %</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% +% \subsection{Language dependent names} % -% \begin{macro}{\parname} -% \begin{macro}{\parshortname} -% \begin{macro}{\sentencename} -% \begin{macro}{\sentenceshortname} +% \begin{command}{\parname,\parshortname,\sentencename,\sentenceshortname} % \begin{macro}{\scrjura@lang@error} -% \changes{v0.7}{2013/09/19}{Verwendung von \cs{PackageError} an Stelle von -% \cs{PackageErrorNoLine}}%^^A -% \changes{v3.24}{2017/05/29}{Anpassung an Sprachänderung -% (\texttt{usenglish} und \texttt{ukenglish} statt \texttt{USenglish} und -% \texttt{UKenglish}) in \textsf{babel}~3.10}%^^A -% Der Name eines Absatzes und eines Satzes. Die englischen Namen wurden von -% »m.eik« beigesteuert. +% \changes{v0.7}{2013/09/19}{Usage of \cs{PackageError} instead of +% \cs{PackageErrorNoLine}} +% \changes{v3.24}{2017/05/29}{adaption for language name bug in +% \pkg{babel}~3.10} +% The names of paragraphs and sentences and their short versions. The English +% names are donated by ``m.eik''. % \begin{macrocode} %<*body> \newcommand*{\parname}{Paragraph} @@ -2088,23 +1969,19 @@ %</body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% +% \subsection{Using values from last \LaTeX{} run} % -% \begin{macro}{\newmaxpar} -% \changes{v0.6b}{2013/04/16}{\cs{\#1@Clauseformat} expandiert zu seinem -% Argument}%^^A -% \begin{macro}{\getmaxpar} -% \changes{v0.6}{2011/09/30}{Argument 3 muss mit \cs{protected@edef} -% expandiert werden}%^^A -% \changes{v0.5c}{2010/04/26}{\cs{protected@edef} durch \cs{edef} -% ersetzt}%^^A -% \changes{v0.5c}{2010/04/26}{\cs{\#2@Clauseformat} expandiert zu seinem -% Argument}%^^A -% Noch zwei Hilfsmakros, um Zähler in der aux-Datei zwischenzuspeichern und -% auch dann Werte zu holen, wenn sie nicht in der aux-Datei stehen. +% \begin{command}{\newmaxpar} +% \changes{v0.6b}{2013/04/16}{\cs{\#1@Clauseformat} expands to its argument} +% \begin{command}{\getmaxpar} +% \changes{v0.6}{2011/09/30}{argument no 3 is expanded using +% \cs{protected@edef}} +% \changes{v0.5c}{2010/04/26}{\cs{protected@edef} replaced by \cs{edef}} +% \changes{v0.5c}{2010/04/26}{\cs{\#2@Clauseformat} expands to its argument} +% Two helper macros, to save a counter in a \file{aux}-file and get the value +% back or another value of it is not in the \file{aux}-file. % \begin{macrocode} %<*body> \newcommand*{\newmaxpar}[3]{% @@ -2128,12 +2005,12 @@ \@tempa } % \end{macrocode} -% \changes{v0.7b}{2014/11/10}{Notfallcode in die \texttt{aux}-Datei}%^^A -% \changes{v0.9g}{2015/03/25}{in die \texttt{aux}-Datei nur bei -% \cs{if@filesw} schreiben}%^^A -% Da manche Anwender \texttt{scrjura} aus einem Dokument entfernen, ohne die -% \texttt{aux}-Dateien zu löschen, sehen wir eine Notlösung vor, um -% Fehlermeldungen wegen nicht definiertem \cs{newmaxpar} zu vermeiden. +% \changes{v0.7b}{2014/11/10}{added fallback code to \file{aux}-file} +% \changes{v0.9g}{2015/03/25}{write to \file{aux}-file \cs{if@filesw}} +% Because some users remove \pkg*{scrjura} from their documents without +% deleting the \file{aux}-file, we add a fallback definition of \cs{newmaxpar} +% to the \file{aux}-file. This avoids error messages because of undefined +% \cs{newmaxpar}. % \begin{macrocode} \AtBeginDocument{% \if@filesw @@ -2144,20 +2021,22 @@ } %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % % \iffalse %</package> % \fi % % \Finale +% \PrintChanges % \endinput -% -% end of file `scrjura.dtx' -%%% Local Variables: -%%% mode: doctex -%%% coding: utf-8 -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-addressfiles.dtx b/macros/latex/contrib/koma-script/source/scrkernel-addressfiles.dtx new file mode 100644 index 0000000000..8cdaa70be6 --- /dev/null +++ b/macros/latex/contrib/koma-script/source/scrkernel-addressfiles.dtx @@ -0,0 +1,164 @@ +% \iffalse meta-comment +% ====================================================================== +% scrkernel-addressfiles.dtx +% Copyright (c) Markus Kohm, 2006-2022 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ====================================================================== +%%% From File: $Id: scrkernel-addressfiles.dtx 3697 2022-02-11 09:48:02Z kohm $ +%<option>%%% (run: option) +%<body>%%% (run: 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: 2022-02-11 10:48:02 +0100 (Fr, 11. Feb 2022) $ + \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} + \filerevision$Revision: 3697 $ + \edef\reserved@a{% + \noexpand\endgroup + \noexpand\ProvidesFile{scrkernel-addressfiles.dtx}% + [\filedate\space\filerevision\space + KOMA-Script source + (circular letters)]% + }% +\reserved@a +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} +\begin{document} +\DocInput{scrkernel-addressfiles.dtx} +\end{document} +%</dtx> +% \fi +% +% \changes{v2.95}{2006/03/22}{first version by splitting of \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/11}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/11}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-addressfiles.dtx} +% \title{Circular Letters and Address Files as Part of +% \href{https://komascript.de}{\KOMAScript} Class \cls*{scrlttr2} and +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrletter}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \filename{} is used to generate \cls*{scrlttr2} and \pkg*{scrletter}. It +% provides features for handling address files with well defined address +% data. This can be used to print circular letters from one master document. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation of the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% \section{Implementation of the Address File Feature} +% +% \begin{macrocode} +%<*letter> +% \end{macrocode} +% +% \subsection{Options} +% We do not have any options for this feature +% +% +% \subsection{Macros and commands for address files} +% +% \begin{command}{\adrentry} +% \changes{v2.8q}{2002/05/19}{\cs{adrentry} uses new \cs{addrentry}} +% \changes{v3.36}{2022/02/11}{deprecated} +% \begin{command}{\addrentry} +% \changes{v2.8n}{2001/09/06}{added} +% The basic feature of \cs{addrentry} is to read nine arguments. The first +% argument is interpreted as family name, the second as first name. The first +% name is optional, the family name should be given. Alternatively the first +% argument can be a company name or similar (and the second can be +% empty). The third argument should be the postal address. Then a command with +% the name of the ninth argument is defines, containing name and address as +% expected by \cls*{scrlttr2}'s or \pkg*{scrletter}'s \env{letter} +% environment. To be able to do so, only character sequence characters should +% be used for argument number 9. For more information about the recommended +% meaning of the other arguments, see one of the \KOMAScript{} manuals. +% \cs{adrentry} is the former version of \cs{addrentry}. It does only have eight +% argument. So it sets an empty argument number 8. This implementation does +% read only seven arguments immediately. The last argument is read by +% \cs{addrentry}. +% \begin{macrocode} +%<*body> +\newcommand*{\adrentry}[7]{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrletter}{% + command `\string\adrentry' is deprecated.\MessageBreak + You should use `\string\addrentry' with additional\MessageBreak + empty 8th argument}% + \addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}} +\newcommand*{\addrentry}[9]{\def\@tempa{#1}\ifx \@tempa\@empty \else + \def\@tempa{#2}\ifx \@tempa\@empty + \expandafter\def\csname #9\endcsname{#1\\#3}% + \else + \expandafter\def\csname #9\endcsname{#2 #1\\#3}% + \fi \fi} +% \end{macrocode} +% \end{command} +% \end{command} +% +% \begin{command}{\adrchar} +% \changes{v2.8q}{2002/05/19}{\cs{adrchar} used new \cs{addrchar}} +% \changes{v3.36}{2022/02/11}{deprecated} +% \begin{command}{\addrchar} +% \changes{v2.8n}{2001/09/06}{added} +% Address files should be organized in alphabetic order. To be able to +% generate dictionaries or lists of the addresses, it is useful mark the +% beginning of a new letter. We have \cs{addrchar} to do so. The argument is +% the new letter, but ignored by the default implementation. The default of +% deprecated \cs{adrchar} is to use \cs{addrchar}. +% \begin{macrocode} +\newcommand*{\adrchar}{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrletter}{% + command `\string\adrchar' is deprecated.\MessageBreak + You should use `\string\addrchar'} + \addrchar} +\newcommand*{\addrchar}[1]{} +%</body> +% \end{macrocode} +% \end{command} +% \end{command} +% +% +% \begin{macrocode} +%</letter> +% \end{macrocode} +% +% \Finale +% \PrintChanges +% +\endinput +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx b/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx index 9c8358b466..6c9a8c0302 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-basics.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,26 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-basics.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% -%%% From File: $Id: scrkernel-basics.dtx 3606 2021-06-08 08:28:35Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 3773 2022-03-29 06:27:55Z kohm $ %<prepare>%%% (run: prepare) %<option>%%% (run: option) %<body>%%% (run: body) @@ -46,14 +28,14 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}} - \filedate$Date: 2021-06-08 10:28:35 +0200 (Tue, 08 Jun 2021) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\def\filerevision{r#2}} - \filerevision$Revision: 1638 $ - \xdef\fileinfo{\filedate\space\filerevision\space} + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup - \noexpand\ProvidesFile{scrkernel_basics.dtx}% + \noexpand\ProvidesFile{scrkernel-basics.dtx}% [\filedate\space\filerevision\space + KOMA-Script } \reserved@a %</dtx> @@ -94,83 +76,103 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-basics.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Revision \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-basics.dtx} \end{document} %</dtx> -% \fi -% -% \selectlanguage{ngerman} -% -% \changes{v1.0}{2002/07/06}{Beginn der ersten Version} -% \changes{v3.12}{203/03/05}{Verwendung von \cs{@tempa}, \cs{@tempb}, -% \cs{@tempc} eliminiert} -% \changes{v3.32}{2020/09/11}{\textsf{scrlfile} wird nicht mehr geladen} -% -% \section{Grundlegenden \KOMAScript-Erweiterungen} -% -% Neue Versionen von \KOMAScript{} machen zunehmend Gebrauch vom -% \textsf{keyval}-Paket. Das \textsf{keyval}-Paket ist Bestandteil des -% \textsf{graphics}-Pakets und muss als solches auf allen -% \TeX-Systemen mit \LaTeX{} enthalten sein. Es genügt jedoch in -% einigen Punkten nicht den Anforderungen von \KOMAScript{}. Deshalb -% werden hier Erweiterungen vorgenommen, die von \KOMAScript-Klassen -% und \KOMAScript-Paketen verwendet werden können. -% -% Darüber hinaus werden immer mehr Teile von \KOMAScript{} von mehr als einem -% Paket oder von Paketen und Klassen verwendet. Diese grundlegenden Dinge -% wurden daher in zwei Pakete, \textsf{scrbase} (für Dinge, die auch von -% anderen Klassen und Paketen genutzt werden können) und \textsf{scrkbase} -% (für Dinge, die \KOMAScript vorbehalten bleiben), ausgegliedert. Dadurch -% werden die Pakete und Klassen selbst kleiner und die können trotzdem -% unabhängig voneinander verwendet werden. Selbstverständlich kann man dieses -% Paket auch ohne den Rest von \KOMAScript{} zum Einsatz bringen. -% -% \selectlanguage{english} +% \fi^^A meta-comment +% +% \changes{v1.0}{2002/07/06}{starting implementation} +% \changes{v3.12}{203/03/05}{usage of \cs{@tempa}, \cs{@tempb}, \cs{@tempc} +% eliminated} +% \changes{v3.36}{2022/02/16}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/21}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-basics.dtx} +% \title{Basic Funktionality Used by Almost all +% \href{https://komascript.de}{\KOMAScript} Classes and Packages} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% New versions of \KOMAScript{} make increasing use of the \pkg{keyval} +% package. The \pkg{keyval} package is part of the \pkg{graphics} package +% and as such must be included on all \TeX{} systems with \LaTeX{}. However, +% it does not meet the requirements of \KOMAScript{} in some +% respects. Therefore, extensions are made here which can be used by +% \KOMAScript classes and \KOMAScript packages. +% +% In addition, more and more parts of \KOMAScript{} are used by more than +% one package or by packages and classes. These basic things have therefore +% been split into two packages, \pkg*{scrbase} (for things that can also be +% used by other classes and packages) and \pkg*{scrkbase} (for things that +% are reserved for \pkg*{scrkbase}). This makes the packages and classes +% themselves smaller and they can still be used independently. Of course you +% can also use this package without the rest of \KOMAScript{}. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation of package \pkg*{scrbase} and the +% commands implemented in \file{scrkernel-basics.dtx} in the \KOMAScript{} +% manual, either the German \file{scrguide} or the English \file{scrguien}. +% +% % \subsection{Functions not yet in the Manual} % -% \DescribeMacro\IfLTXAtLeastTF -% \marginpar{\raggedleft\tiny New: 2021-01-31}% +% Some user commands are not documented in the \KOMAScript{} manuals, e.g., +% because they are not stable enough to be used by average users or more or +% less for internal usage only. Some are only not documented in the +% \KOMAScript{} manual, because nobody has done it yet. +% +% \DescribeCommand\IfLTXAtLeastTF +% \marginpar{\raggedleft\tiny Added: 2021-01-31}% % This is the same like \cs{IfFormatAtLeast} of \LaTeX{} from 2020/10/01, but % works also with older \LaTeX{} kernels. % -% \selectlanguage{ngerman} -% \StopEventually{\PrintIndex\PrintChanges} +% \DescribeCommand\Ifislengthprimitive +% \marginpar{\raggedleft\tiny Added: 2015/10/19\\Renamed: 2022/02/17}% +% \cs{Ifislengthprimitive}\marg{macro}\marg{then code}\marg{else code} +% expands the \meta{macro} and tests if the result can be used as a length +% primitive. If this is the case the \meta{then code} is executed, otherwise +% the \meta{else code}. Note, that this command can be false negative, +% because, i.e., with \LuaLaTeX{} there can be primitives, that are like length, +% but that are not known by \cs{Ifislengthprimitive}. +% +% \DescribeCommand\Ifisdefchar +% \marginpar{\raggedleft\tiny Added: 2015/10/19\\Renamed: 2022/02/17}% +% \cs{Ifislengthprimitive}\marg{macro}\marg{then code}\marg{else code} +% expands the \meta{macro} and tests if the result is a \cs{char}. If this is +% the case the \meta{then code} is executed, otherwise the \meta{else code}. +% Note, that this command can be false positive, if the \cs{char} value is +% incorrect. % -% \iffalse -%<*load> -% \fi % -% \subsection{Laden des Pakets} -% Wer das Paket lädt, tut das allerdings in der Regel sogar bereits -% vor der Definition der Optionen mit: +% \MaybeStop{\PrintIndex} +% +% \section{Implementation of \pkg*{scrbase} and \pkg*{scrkbase}} +% +% \subsection{Loading \pkg*{scrkbase}} +% Who ever loads ths package, always wants the same version of the already +% used \KOMAScript version. % \begin{macrocode} +%<*load> \RequirePackage{scrkbase}[\KOMAScriptVersion] +%</load> % \end{macrocode} % -% \iffalse -%</load> -%<*prepare> -% \fi % -% \subsection{\eTeX-Test} -% \changes{v3.02c}{2009/02/19}{Fehlermeldung, wenn nicht \eTeX{} verwendet -% wird} +% \subsection{\eTeX{} test} +% \changes{v3.02c}{2009/02/19}{error message without \eTeX} % % \begin{macrocode} +%<*prepare> %<*base> \begingroup \def\reserved@b{}% @@ -200,59 +202,56 @@ % \end{macrocode} % % -% \subsection{Der abhängige Teil lädt den unabhängigen Teil} +% \subsection{The \KOMAScript-only package loads the universal package} % +% Once again the same version is wanted. % \begin{macrocode} %<koma>\RequirePackage{scrbase}[\KOMAScriptVersion] % \end{macrocode} % -% \subsection{Laden von \textsf{scrlfile}} +% \subsection{Package \pkg*{scrlfile}} % -% \textsf{scrlfile} wird benötigt, um auf das Laden anderer Pakete reagieren -% zu können. Dazu gehört beispielsweise \textsf{polyglossia} wegen dessen -% unzureichender Behandlung unterschiedlicher Sprachvarianten. Welche Version -% davon geladen wird, ist allerdings ziemlich egal. +% We need to react on the loading other packages like \pkg{polyglossia}. For +% this we use \pkg*{scrlfile}. But we can use any version. % % \begin{macrocode} %<base>\RequirePackage{scrlfile} % \end{macrocode} % -% \subsection{Laden von \textsf{keyval}} +% \subsection{Package \pkg*{keyval}} % -% Hier wird nicht nur das Paket geladen, was ruckzuck mit: +% The \KOMAScript{} key handling bases on package \pkg{keyval}. % \begin{macrocode} %<base>\RequirePackage{keyval} % \end{macrocode} -% erledigt ist. % -% \subsection{Schutz vor Umdefinierung von -% \LaTeX-Kern-Anweisungen durch -% andere Pakete} -% Einige Pakete wie \textsf{amsgen} definieren \LaTeX-Kern-Anweisungen so um, -% dass sie nicht mehr korrekt funktionieren. Ich muss dann leider dafür -% sorgen, dass \KOMAScript{} damit keine Probleme hat. Die Klassen sind dabei -% in der günstigen Situation, dass sie ggf. einfach die vorhandene Definition -% testen und übernehmen können. Die Pakete müssen hingegen dummer Weise selbst -% dafür sorgen, dass es irgendwie funktioniert. +% +% \subsection{Using protected kernel macros} +% Some package like \pkg{amsgen} redefine internal \LaTeX{} kernel macros, but +% break them for other purposes than the own. So I have to make them work +% again. The \KOMAScript{} classes have less problems with this, because most +% of these packages cannot be loaded before a class. So the classes can simply +% copy the original macro, before it is redefined. But I do not know, when a +% package is loaded. So I have to implement the whole macro again with another +% name (and can only hope, that such packages do not damage them also). % % \begin{macro}{\kernel@ifstar} -% \changes{v3.20}{2016/04/12}{neu (intern)} -% Ich hoffe ja, dass der \LaTeX-Kern zukünftig diese Anweisung definiert und -% das dann auch funktioniert. Damit es aber auch mit älteren \LaTeX-Versionen -% geht, sorge ich hier vor. +% \changes{v3.20}{2016/04/12}{added} +% I hope, the \LaTeX{} kernel will define this in future and other packages do +% not redefine like they do with \cs{@ifstar}. So I use \cs{providecommand} to +% not redefine the kernel macro, if it does exist. % \begin{macrocode} %<base>\providecommand*\kernel@ifstar[1]{\kernel@ifnextchar*{\@firstoftwo{#1}}} % \end{macrocode} -% \end{macro}%^^A \kernel@ifstar +% \end{macro}^^A \kernel@ifstar % -% \selectlanguage{english} % % \subsection{Improved \LaTeX{} kernel commands} % The \LaTeX{} kernel already provides some useful commands, but some can be % improved. % -% \begin{macro}{\rloop} -% \changes{v3.30}{2020/03/07}{new} +% \begin{command}{\rloop} +% \changes{v3.30}{2020/03/07}{added} % The \cs{loop} \dots \cs{repeat} of the \LaTeX{} kernel cannot be used inside % a \cs{loop} \dots \cs{repeat} without extra code for preserving % \cs{iterate}. So here is a re-entrant version that is also long. This @@ -273,9 +272,9 @@ } %</base> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\IfLTXAtLeastTF} +% \begin{command}{\IfLTXAtLeastTF} % \changes{v3.33}{2021/01/21}{new} % This is the same like \cs{IfFormatAtLeastTF} of the current \LaTeX{} kernel, % but does also work, if \cs{IfFormatAtLeastTF} is not defined because of @@ -289,21 +288,20 @@ \@onlypreamble\IfLTXAtLeastTF %</base> % \end{macrocode} -% \end{macro} -% \selectlanguage{ngerman} +% \end{command} % % -% \subsection{Test von Anweisungen} +% \subsection{Testing macros} % % \begin{macro}{\scr@ifundefinedorrelax} -% \changes{v2.95c}{2006/08/12}{neu (intern)}%^^A -% \changes{v2.97b}{2007/03/08}{vermurkste Logik korrigiert}%^^A -% \changes{v2.97c}{2007/04/18}{vermurkste Funktion korrigiert}%^^A -% \changes{v2.97c}{2007/04/18}{von \cs{scr@ifundefined} umbenannt} -% \changes{v3.02c}{2009/02/19}{Sonderbehandlung für nicht \eTeX entfernt}%^^A -% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber -% ein undefiniertes Makro nicht als \cs{relax}. Es muss bereits hier definiert -% werden, weil es gleich verwendet wird. +% \changes{v2.95c}{2006/08/12}{added} +% \changes{v2.97b}{2007/03/08}{broken logic fixed} +% \changes{v2.97c}{2007/04/18}{broken functionality fixed} +% \changes{v2.97c}{2007/04/18}{\cs{scr@ifundefined} renamed} +% \changes{v3.02c}{2009/02/19}{special treatment of \eTeX{} removed} +% This macro is like \cs{@ifundefined}, but does not define the test macro +% \cs{relax} if it was undefined before. Note: With up-to-date \LaTeX{} this +% is the same with the original \cs{@ifundefined}. % \begin{macrocode} %<*base> \newcommand{\scr@ifundefinedorrelax}[1]{% @@ -319,51 +317,44 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifundefinedorrelax +% \end{macro}^^A \scr@ifundefinedorrelax % % -% \subsection{Erweiterung von Meldungen} +% \subsection{Extending messages} % -% \begin{macro}{\PackageErrorNoLine} -% \changes{v3.12}{2013/09/19}{neu}%^^A -% \changes{v3.28}{2019/11/23}{unsinnige Anweisung entfernt}%^^A -% Wie Falk richtig angemerkt hat, ist die Anweisung sinnlos, weil -% \cs{PackageError} gar keine Zeilennummer anhängt. Verwendet wurde die -% Anweisung nur in einem veralteten Paket. -% \end{macro} +% \begin{command}{\PackageErrorNoLine} +% \changes{v3.12}{2013/09/19}{added} +% \changes{v3.28}{2019/11/23}{nonsense command removed} +% Falk correctly stated, that \cs{PackageError} already does not show a line +% number. So we do not need this command. +% \end{command} % % -% \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Basis)} +% \subsection{Definition of the \KOMAScript{} \pkg*{keyval} basis} % -% Ãœblicherweise verwendet \KOMAScript{} für alle -% \textsf{keyval}-Schlüssel die gleiche Bereichskennung -% "`\texttt{KOMA}"'. Dadurch ist es möglich, dass Pakete die Schlüssel -% der Klassen umdefinieren und dass jeder Teil von \KOMAScript{} die -% Schlüssel jedes anderen Teils ausführen kann -- sobald sie definiert -% sind. +% \KOMAScript{} could use \pkg{keyval} keys with the same set of keywords +% ``\texttt{KOMA}'' to make it possible, that packages can redefine keys of +% classes and other packages. However this would be dangerous and can easily +% break. So we split the set of keywords in an family of keywords and family +% member of keywords and define commands to process the keywords either of a +% member or a whole family. % -% \begin{macro}{\DefineFamily} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\DefineFamilyMember} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \begin{macro}{\DefineFamilyKey} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \changes{v3.12}{2013/03/04}{Setzen von \cs{FamilyKeyState}} +% \begin{command}{\DefineFamily,\DefineFamilyMember,\DefineFamilyKey} +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}} % \begin{macro}{\scr@if@family} -% \changes{v3.00}{2008/04/30}{Neu (intern)}%^^A +% \changes{v3.00}{2008/04/30}{added} % \begin{macro}{\scr@if@familymember} -% \changes{v3.00}{2008/04/30}{Neu (intern)}%^^A -% \changes{v3.27}{2019/07/19}{das leere Mitglied existiert immer}%^^A +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.27}{2019/07/19}{the empty member exists by default} % \begin{macro}{\scr@define@family@key} -% \changes{v3.00}{2008/04/30}{Neu (intern)}%^^A +% \changes{v3.00}{2008/04/30}{added} % \begin{macro}{\scr@define@family@key@nodefault} -% \changes{v3.00}{2008/04/30}{Neu (intern)}%^^A -% \changes{v3.18a}{2015/07/03}{fehlendes \% ergänzt}%^^A -% Familie, Familienmitglied und \textsf{keyval}-Schlüssel für ein -% Familienmitglied definieren. Dabei wird als Familienmitglied per Default der -% (Datei-)Name des aktuellen Pakets bzw. der aktuellen Klasse verwendet. +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.18a}{2015/07/03}{missing \% added} +% Family, member of a family and \pkg{keyval} key for a member of a +% family. The default of the member of a family is always the file name of a +% class or package (while reading the file). % \begin{macrocode} %<*base> \newcommand*{\DefineFamily}[1]{% @@ -455,20 +446,18 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@define@family@key@nodefault -% \end{macro}%^^A \scr@define@family@key -% \end{macro}%^^A \scr@if@familymember -% \end{macro}%^^A \scr@if@family -% \end{macro}%^^A \DefineFamilyKey -% \end{macro}%^^A \DefineFamilyMember -% \end{macro}%^^A \DefineFamily -% -% \begin{macro}{\RelaxFamilyKey} -% \changes{v3.15}{2014/12/03}{neue Anweisung}%^^A -% Undefiniert einen Schlüssel. Irgendwelche Hilfsmakros werden dabei nicht -% angetastet. Stattdessen wird nur der Schlüssel selbst und ggf. ein -% Defaultwert als \cs{relax} definiert, so dass er nicht mehr verwendet werden -% kann. +% \end{macro}^^A \scr@define@family@key@nodefault +% \end{macro}^^A \scr@define@family@key +% \end{macro}^^A \scr@if@familymember +% \end{macro}^^A \scr@if@family +% \end{command}^^A \DefineFamily,\DefineFamilyMember,\DefineFamilyKey +% +% +% \begin{command}{\RelaxFamilyKey} +% \changes{v3.15}{2014/12/03}{added} +% Sometimes it is useful to be able to \emph{un-define} a key. This will not +% un-define all helper macros but only the key and a default value will become +% \cs{relax}. % \begin{macrocode} %<*base> \newcommand*{\RelaxFamilyKey}[3][.\@currname.\@currext]{% @@ -481,28 +470,20 @@ } %</base> % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\FamilyKeyState} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}%^^A -% \begin{macro}{\FamilyKeyStateProcessed} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}%^^A -% \begin{macro}{\FamilyKeyStateUnknown} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}% -% \begin{macro}{\FamilyKeyStateUnknownValue} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}% -% \begin{macro}{\FamilyKeyStateNeedValue} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}% -% \cs{FamilyKeyState} gibt den Status der Verarbeitung eines Schlüssels -% an. In der Voreinstellung wird der Status beim Aufruf des Schlüssels auf -% \cs{FamilyKeyStateUnknown} gesetzt, was anzeigt, dass der Zustand -% unbekannnt ist, der Schlüssel aber möglicherweise verarbeitet -% wurde. Daneben gibt es den Zustand \cs{FamilyKeyStateProcessed}, der -% anzeigt, dass der Schlüssel komplett verarbeitet wurde. Alternativ kann -% das Makro einen Text enthalten, der ggf. Teil einer Fehlermeldung, einer -% Warnung oder einer Information über Probleme bei der Verarbeitung wird. Es -% ist zu beachten, dass \cs{FamilyKeyState} nur unmittelbar nach der -% Verarbeitung gültig ist. +% \end{command}^^A \RelaxFamilyKey +% +% \begin{command}{\FamilyKeyState,\FamilyKeyStateProcessed,\FamilyKeyStateUnknown, +% \FamilyKeyStateUnknownValue,\FamilyKeyStateNeedValue} +% \changes{v3.12}{2013/03/04}{added} +% \cs{FamilyKeyState} is the state of processing a key. The initial state is +% \cs{FamilyKeyStateUnknown}, so the state is indeed unknown. If a key has +% been processed by the definition code and everything is OK, you should run +% \cs{FamilyKeyStateProcessed}. This will set \cs{FamilyKeyState} also to +% \cs{FamilyKeyStateProcessed} to indicate, the key has been processed +% successfully. If the value assigned to the key is unknown, you should run +% \cs{FamilyKeyStateUnknownValue}. And if the value is needed but no value has +% been assigned, \cs{FamilyKeyStateNeedValue} is the correct choice. Note: +% \cs{FamilyKeyState} is valid only immediately after processing a key. % \begin{macrocode} %<*base> \newcommand*{\FamilyKeyState}{} @@ -521,35 +502,25 @@ \let\FamilyKeyState\FamilyKeyStateUnknown %</base> % \end{macrocode} -% \end{macro}%^^A \FamilyKeyStateNeedValue -% \end{macro}%^^A \FamilyKeyStateUnknownValue -% \end{macro}%^^A \FamilyKeyStateUnknown -% \end{macro}%^^A \FamilyKeyStateProcessed -% \end{macro}%^^A \FamilyKeyState +% \end{command}^^A \FamilyKeyState … \FamilyKeyStateNeedValue % -% \begin{macro}{\FamilyOfKey} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}%^^A -% \begin{macro}{\FamilyMemberOfKey} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}%^^A -% Geben innerhalb der Verarbeitung eines Schlüssels dessen Familie bzw. das -% zugehörige Familienmitglied an. +% \begin{command}{\FamilyOfKey,\FamilyMemberOfKey} +% \changes{v3.12}{2013/03/04}{added} +% While processing a key, this is the family and the member of family. % \begin{macrocode} %<*base> \newcommand*{\FamilyOfKey}{} \newcommand*{\FamilyMemberOfKey}{} %</base> % \end{macrocode} -% \end{macro}%^^A \FamilyMemberOfKey -% \end{macro}%^^A \FamilyOfKey +% \end{command}^^A \FamilyOfKey,\FamilyMemberOfKey % % \begin{macro}{\KOMA@key} -% \changes{v2.97c}{2007/04/19}{neues optionales Argument}%^^A -% \changes{v3.17}{2015/02/24}{rudimentäre Funktionalität zur Speicherung von -% Optionen}%^^A -% \begin{macro}{\KOMA@key@familylist} -% \textsf{keyval}-Schlüssel für \KOMAScript{} werden mit \cs{KOMAkey} -% definiert, damit auch die Familie korrekt gesetzt und ggf. der Liste der -% Familien (\cs{KOMA@key@familylist}) hinzugefügt wird. +% \changes{v2.97c}{2007/04/19}{optional argument added} +% \changes{v3.17}{2015/02/24}{rudimentary value storage} +% \pkg{keyval} keys of \KOMAScript{} are defined with \cs{KOMAkey} to setup +% the family to ``\texttt{KOMA}'' automatically. Additionally the value +% storage is initialized. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@key}[1][.\@currname.\@currext]{% @@ -560,12 +531,12 @@ %</koma> % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\KOMA@kav@add} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Dieses Makro speichert ein \texttt{key=value}-Paar in der internen Liste. -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/24}{added} +% This macro stores a \texttt{\meta{key}=\meta{value}} pair in a internal +% list. The first argument is the family member, the second the \meta{key} and +% the third the \meta{value}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@add}[3]{% @@ -580,10 +551,11 @@ % \end{macro} % % \begin{macro}{\KOMA@kav@xadd} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Dieses Makro speichert ein zuvor expandiertes \texttt{key=value}-Paar in der -% internen Liste. -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/24}{added} +% This macro stores a \texttt{\meta{key}=\meta{value}} pair in a internal +% list after expanding both, the \meta{key} and the \meta{value}. The first +% argument is the family member, the second the \meta{key} and the third the +% \meta{value}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@xadd}[3]{% @@ -600,10 +572,10 @@ % \end{macro} % % \begin{macro}{\KOMA@kav@remove} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Dieses Makro entfernt ein ganz bestimmtes \texttt{key=value}-Paar aus der -% internen Liste. -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/24}{added} +% This macro removes a \texttt{\meta{key}=\meta{value}} pair from the internal +% list. The first argument is the family member, the second the \meta{key} and +% the third the \meta{value}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@remove}[3]{% @@ -632,10 +604,10 @@ % \end{macro} % % \begin{macro}{\KOMA@kav@removekey} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Dieses Makro entfernt alle \texttt{key=value}-Paar mit einem gegebenen -% \texttt{key} aus der internen Liste. -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/24}{added} +% This macro removes all \texttt{\meta{key}=\meta{value}} pairs of a given +% \meta{key} from the internal list. The first argument is the family member, +% the second the \meta{key}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@removekey}[2]{% @@ -664,14 +636,13 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\KOMA@kav@replacevalue} -% \begin{macro}{\KOMA@kav@xreplacevalue} -% \changes{v3.17}{2015/02/25}{neu (\KOMAScript intern)}%^^A -% Diese Makros dienen dazu, den Wert Schlüssels in der internen Liste -% auszutauschen. Das erste (optionale) Argument ist das Mitglied, das zweite -% ist der Name des Schlüssels, das dritte der neue Wert. Es setzt den Status -% \cs{FamilyKeyStateProcessed} voraus. Anderenfalls tut es nichts! -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \begin{macro}{\KOMA@kav@replacevalue,\KOMA@kav@xreplacevalue} +% \changes{v3.17}{2015/02/25}{added} +% If \cs{FamilyKeyState} is \cs{FamilyKeyStateProcessed}, +% these macros replace a \texttt{\meta{key}=\meta{value}} pair in the internal list. +% The first argument is the family member, the second the \meta{key} and the +% third is the new \meta{value}. \cs{KOMA@kav@xreplacevalue} expands both, the +% \meta{key} and the \meta{value}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@replacevalue}[3]{% @@ -697,15 +668,13 @@ %</koma> % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\KOMA@kav@replacebool} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Dieses Makro dient dazu, den Wert eines if-Schlüssels in der internen Liste -% auszutauschen. Das erste (optionale) Argument ist das Mitglied, das zweite -% ist der Name des Schlüssels, das dritte der Name des Schalters. Es setzt den -% Status \cs{FamilyKeyStateProcessed} voraus. Anderenfalls tut es nichts! -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/24}{added} +% If \cs{FamilyKeyState} is \cs{FamilyKeyStateProcessed}, +% this macro replaces the value of a if key in the internal list. +% The first argument is the family member, the second the \meta{key} and the +% third is the boolean switch (\cs{if\dots} statement) representing the new value. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@replacebool}[3]{% @@ -729,11 +698,10 @@ % \end{macro} % % \begin{macro}{\KOMA@kav@defall} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Dieses Makro liefert eine \texttt{key=value}-Liste aller gespeicherten Paare. -% Das erste Argument ist die zu definierende Anweisung, das zweite ist das -% Mitglied. -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/24}{added} +% This macro defines a macro/command with the \texttt{\meta{key}=\meta{value}} +% list of all stored pairs. The first argument is the macro/command to be +% defined with the list. The second is the family member. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@defall}[2]{% @@ -762,14 +730,12 @@ % \end{macro} % % \begin{macro}{\KOMA@kav@defone} -% \changes{v3.17}{2015/02/25}{neu (\KOMAScript intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Dieses Makro liefert alle aktuellen Werte eine Schlüssels aus der -% \texttt{key=value}-Liste aller gespeicherten Paare. Falls es mehr als einen -% Wert gibt, so werden diese \cs{KOMAoption}-tauglich verknüpft. Das erste -% Argument ist die zu definierende Anweisung, das zweite ist das Mitglied -% und das dritte der Schlüssel. -% Es ist ausschließlich für den \KOMAScript-internen Gebrauch bestimmt. +% \changes{v3.17}{2015/02/25}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% This macro defines a macro/command with all stored values of a \meta{key} +% from the internal list of \texttt{\meta{key}=\meta{value}} pairs. +% The first argument is the macro/command to be defined. The second is the +% family member and the third is the \meta{key}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@defone}[3]{% @@ -800,9 +766,8 @@ % \end{macro} % % \begin{macro}{\KOMA@internal@error} -% \changes{v3.17}{2015/02/24}{neu (\KOMAScript intern)}%^^A -% Einfach nur eine Meldung über einen internen Fehler mit der Bitte um einen -% entsprechenden Bug-Report. +% \changes{v3.17}{2015/02/24}{added} +% General internal error message with the recommendation to report a bug. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@internal@error}[2]{% @@ -821,29 +786,25 @@ % \end{macrocode} % \end{macro} % -% \subsection{Optionen} +% \subsection{Options} % -% Ab Version 2.97c sollen sowohl globale KOMA-Optionen als auch die -% KOMA-Optionen der jeweiligen Datei als auch die normalen Optionen in der -% Reihenfolge ausgeführt werden, in der sie angegeben wurden -- zuerst die -% globalen Optionen, dann die lokalen. Dabei werden nur die Optionen -% verwendet, die auch für das jeweilige Paket bzw. die jeweilige Klasse -% definiert wurden. +% From version 2.97c \KOMAScript{} processes all options in the order they +% have been set and no longer in the order they have been defined. This is +% much more intuitive for users. Packages first process the global options +% then the local options. % % \begin{macro}{\@globaloptionslist} -% \changes{v2.96}{2006/11/26}{new}%^^A -% \changes{v2.96}{2006/11/26}{Klassenoptionen durchsuchen}%^^A -% \changes{v3.20}{2016/02/06}{Entscheidung später treffen}%^^A -% Die Liste der globalen Optionen wird teilweise benötigt. Weil -% \textsl{xkeyval} dämlicherweise glaubt, es müsse alle Optionen mit -% Gleichheitszeichen aus der Liste der Klassenoptionen entfernen -% (seltsamerweise aber nicht die (x)keyval-Optionen, die ohne Wert aufgerufen -% werden, weil ihr Defaultwert verwendet werden soll), wird hier ein eigenes -% Makro definiert. Bis \KOMAScript{} 3.19a wurde auch genau hier die Zuweisung -% durchgeführt. Wenn aber \textsf{scrbase} noch vor \cs{documentclass} geladen -% wird, dann ist \cs{@classoptionslist} natürlich noch nicht gültig. Deshalb -% wird die Zuweisung, seit \KOMAScript{} 3.20 in \cs{FamilyProcessOptions} -% durchgeführt. +% \changes{v2.96}{2006/11/26}{added} +% \changes{v2.96}{2006/11/26}{process class options} +% \changes{v3.20}{2016/02/06}{delay decisions} +% The lost of global options is sometimes needed. But because \pkg{xkeyval} +% has the opinion it should remove all options with equal char from the list +% of class options, we define out own macro with a copy of the class +% options. Until \KOMAScript{} 3.19a the copy has been done here. But if +% \pkg*{scrbase} is loaded before \cs{documentclass} this is too early. From +% \KOMAScript{} 3.20 the assignment has been moved to +% \cs{FamilyProcessOptions}. And from \KOMAScript{} 3.33 the normal class +% option list is only used if the raw option list is not available. % \begin{macrocode} %<*base> \newcommand*{\@globaloptionslist}{} @@ -851,38 +812,27 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\scr@removeunused} -% \changes{v3.10}{2011/09/12}{neu (intern)}% -% \changes{v3.12}{2013/03/04}{entfernt}%^^A -% \end{macro}%^^A \scr@removeunused -% \begin{macro}{\scr@optiontest} -% \changes{v2.97c}{2007/04/18}{neu (intern)}% -% \changes{v3.12}{2013/03/04}{entfernt}% -% \begin{macro}{\scr@pti@ntest} -% \changes{v2.97c}{2007/04/18}{neu (intern)}% -% \changes{v3.12}{2013/03/04}{entfernt}% -% \end{macro}%^^A \scr@pti@ntest -% \end{macro}%^^A \scr@optiontest -% -% \begin{macro}{\FamilyProcessOptions} -% \changes{v3.00}{2008/04/30}{Neue Anweisung} -% \changes{v3.11a}{2012/06/11}{Klassen melden falsche Werte nicht -% selbst als Fehler, sondern informieren nur darüber} -% \changes{v3.12}{2013/03/04}{Fehlerbehandlung} -% Es ist zu beachten, dass falsche Werte für Optionen grundsätzlich nicht in -% der Verarbeitung der Optionen per Info, Warnung oder Fehler gemeldet werden -% sollten, sondern über setzen von \cs{FamilyKeyState}. Erst, wenn auch andere -% Familienmitglieder den Wert nicht verarbeiten können, ergibt sich daraus -% ggf. eine Meldung, die dann von der Verarbeitung hier erzeugt wird. -% Es wird darauf hingewiesen, dass diese Anweisung nicht reentrant ist. Das -% bedeutet, dass man es innerhalb der eigenen Ausführung nicht erneut aufrufen -% darf. -% \selectlanguage{english}% +% \begin{macro}{\scr@removeunused,\scr@optiontest,\scr@pti@ntest} +% \changes{v2.97c}{2007/04/18}{added} +% \changes{v3.12}{2013/03/04}{removed} +% \end{macro}^^A \scr@removeunused,\scr@optiontest,\scr@pti@ntest +% +% \begin{command}{\FamilyProcessOptions} +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.11a}{2012/06/11}{classes do not report errors for unknown values} +% \changes{v3.12}{2013/03/04}{error handling} % \changes{v3.33}{2021/03/02}{new version using raw options lists of \LaTeX{} -% 2021/05/01} -% Note, we use 2021/05/01 instead of the official \LaTeX{} release date, -% because there were relevant earlier \LaTeX{} developer releases with that -% date. +% 2021/05/01} +% Note: Wrong values should not result in errors or warnings and only seldom +% in information. The best is to signal all kind of errors via +% \cs{FamilyKeyState}. Only values, that cannot be handled by any family +% member have to be reported. This is done inside \cs{FamilyProcessOptions} +% depending on \cs{FamilyKeyState} of each member. +% Note also: This command is not re-entrant. So it cannot be used while +% processing another option. +% Note also: We use 2021/05/01 instead of the official \LaTeX{} release date, +% to detect a \LaTeX{} kernel version with raw option lists, because there +% were relevant earlier \LaTeX{} developer releases with that date. % \begin{macrocode} %<*base> \IncludeInRelease{2021/05/01}{\FamilyProcessOptions}% @@ -948,7 +898,7 @@ % If this is not a class, we first have to process all raw class options. % \changes{v3.33}{2021/03/12}{switched to fast test like \LaTeX{} 2021/06/01} % \changes{v3.34}{2021/05/30}{use \cs{@raw@classoptionslist} only, if defined} -% Note, if \Package{scrbase} or a depending package is loaded before the class, +% Note, if \pkg*{scrbase} or a depending package is loaded before the class, % \cs{@raw@classoptionslist} should not be processed. % \begin{macrocode} \ifx\@currext\@clsextension\else @@ -1044,7 +994,6 @@ \EndIncludeInRelease % \end{macrocode} % And here the old version for old \LaTeX{} kernel version: -% \selectlanguage{ngerman}% % \begin{macrocode} \IncludeInRelease{0000/00/00}{\FamilyProcessOptions}% {Usage of raw or classic option list} @@ -1061,11 +1010,10 @@ }% \fi % \end{macrocode} -% \changes{v3.18}{2015/06/17}{new hooks before processing the options}%^^A -% Ab Version~3.18 werden hier außerdem zwei Haken ausgeführt. Der erste gilt -% dabei für alle Klassen und Pakete einer Familie und löscht sich nicht -% selbst. Der zweite dagegen gilt nur ein einziges Mal für dieses eine -% Mitglied. +% \changes{v3.18}{2015/06/17}{new hooks before processing the options} +% From version 3.18 we execute two hooks. The first one is valid for all +% classes and packages of a family. This is multi-time hook, not deleting +% itself. The second one is valid only one time for one member. % \begin{macrocode} \scr@ifundefinedorrelax{scr@before@process@options@#2@hook}{}{% \@nameuse{scr@before@process@options@#2@hook}% @@ -1076,22 +1024,21 @@ \relax }% % \end{macrocode} -% \changes{v3.23}{2017/02/16}{Korrektur: Haken danach verwendet die Familie -% statt des Mitglieds}%^^A -% Jetzt \cs{AtEndOfFamilyOptions} samt Haken initialisieren. +% \changes{v3.23}{2017/02/16}{fix: the after hook uses the family instead of +% the member} +% Initialization of \cs{AtEndOfFamilyOptions} inclusive hook. % \begin{macrocode} \scr@ifundefinedorrelax{scr@after@options@#2@hook}{% \@namedef{scr@after@options@#2@hook}{% % \end{macrocode} -% Die erste Aktion im Haken wird sein, den Haken selbst zu löschen. +% The first hook action is to delete the hook. % \begin{macrocode} \@namedef{scr@after@options@#2@hook}{}% }% }{% \expandafter\edef\csname scr@after@options@#2@hook\endcsname{% % \end{macrocode} -% Die erste Aktion im Haken wird sein, die jetzige Form des Hakens wieder -% herzustellen. +% The first action in the hook is to reactivate the current hook. % \begin{macrocode} \noexpand\@namedef{scr@after@options@#2@hook}{% \unexpanded\expandafter\expandafter\expandafter @@ -1100,52 +1047,47 @@ }% }% % \end{macrocode} -% \changes{v3.23}{2017/02/16}{neuer Haken für \cs{AtEndOfFamilyOptions*}}%^^A -% Seit Version 3.23 wird hier auch der neuen Haken vor -% \cs{AtEndOfFamilyOptions*} initialisiert und ausgeführt. Erkannt wird die -% oberste Ebene hier einfach an der Definition von \cs{AtEndOfFamilyOptions}, -% weil das schneller geht als die Erkennung über die Definition des Hakens -% selbst (wie sie in \cs{FamilyOptions} verwendet werden muss). +% \changes{v3.23}{2017/02/16}{new hook added for \cs{AtEndOfFamilyOptions*}} +% From version 3.23 there is one more hook before \cs{AtEndOfFamilyOptions*} +% to be initialized and executed. We can detect the topmost level comparing +% the definition of \cs{AtEndOfFamilyOptions}. This is faster than by the +% definition of the hook itself (we have to do so in \cs{FamilyOptions}). % \begin{macrocode} \ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions@immediate \@namedef{scr@after@options@#2@hook@topmost}{% % \end{macrocode} -% Auch dieser Haken wird so definiert, dass er sich bei seiner Ausführung als -% erstes selbst löscht. Das ist auch für rekursive Aufrufe wichtig, um tiefere -% Ebenen eindeutig von der höchsten Ebene unterscheiden zu können. +% The hook definitions also contains the hook deletion. This is important for +% recursive calls, to distinguish lower levels from the topmost level. % \begin{macrocode} \@namedef{scr@after@options@#2@hook@topmost}{}% }% % \end{macrocode} -% Der Top-Haken wird außerdem zusammen mit dem Zurücksetzen der Definition von -% \cs{AtEndOfFamilyOptions} in den Haken der (obersten) Ebene -% eingefügt. +% The top hook is added to the hook of the (topmost) level, while resetting +% the definition of \cs{AtEndOfFamilyOptions}. % \begin{macrocode} \expandafter\l@addto@macro\csname scr@after@options@#2@hook\endcsname{% \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions@immediate \@nameuse{scr@after@options@#2@hook@topmost}% }% % \end{macrocode} -% Natürlich darf nicht vergessen werden, den Befehl für das Befüllen der -% beiden Haken nun von der direkten Ausführung eben auf das Befüllen der Haken -% umzustellen. +% Don't forget to change the command to fill one of the hooks from immediate +% execution to adding code to the corresponding hook. % \begin{macrocode} \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions \fi % \end{macrocode} -% Jetzt geht es weiter mit der Adaption des Codes aus \cs{ProcessOptions}. +% Continue the adaption of code from \cs{ProcessOptions}. % \begin{macrocode} \let\ds@\@empty \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% \ifx\@currext\@clsextension\else % \end{macrocode} -% Bei Klassen ist die aktuelle Optionenliste gleichzeitig die globale -% Optionenliste. Daher dürften Klassen nicht auch noch die globale Optionliste -% verarbeiten. Paket verarbeiten jedoch auch die globale Optionenliste, geben -% dazu jedoch keine Fehler oder Warnungen aus. -% \changes{v3.18}{2015/06/17}{Behandlung von undefiniertem -% \cs{@globaloptionslist}}%^^A -% \changes{v3.20}{2016/02/06}{\cs{@globaloptionslist} immer neu zuweisen}%^^A +% Within classes the current option list is same like the global option +% list. So classes are not allowed to process the global option list +% additionally to the local one. But packages do process the global option +% list, but do not report errors or warnings about these options. +% \changes{v3.18}{2015/06/17}{handling of not defined \cs{@globaloptionslist}} +% \changes{v3.20}{2016/02/06}{\cs{@globaloptionslist} assignment always} % \begin{macrocode} \let\@globaloptionslist\@classoptionslist \scr@ifundefinedorrelax{XKV@classoptionslist}{% @@ -1161,10 +1103,10 @@ \scr@ifundefinedorrelax{@globaloptionslist}{}{% \@for\CurrentOption:=\@globaloptionslist\do{% % \end{macrocode} -% Die Optionen werden in der Reihenfolge verarbeitet, in der sie als globale -% Optionen angegeben wurden. Dabei werden nur Optionen verarbeitet, die nicht -% leer sind und die im aktuellen Paket bekannt sind. Das sind also keine -% \textsf{keyval}-Optionen, sondern normale \LaTeX-Optionen. +% The options are processed in the order they have been set into the global +% option list. But only these options are processed, that are not empty and +% that are known by the current package. So these are only classic options not +% \pkg{keyval} options. % \begin{macrocode} \ifx\CurrentOption\@empty\else \@expandtwoargs\in@{,\CurrentOption,}{,\@declaredoptions,}% @@ -1173,13 +1115,11 @@ \expandafter\let\csname ds@\CurrentOption\endcsname\@empty \else % \end{macrocode} -% Wenn die Option keine \LaTeX-Option ist, kann sie noch immer eine -% \textsf{keyval}-Option sein. In diesem Fall wird geprüft, ob das -% Mitglied (\#1) eine Option in der Familie (\#2) hat. Wenn das der Fall ist, -% wird die Option unmittelbar ausgeführt und zwar einmal ohne Mitglied (also -% Optionen, die global der Familie gehören) und dann mit Mitglied. Im Fall -% einer unbekannnten Option oder eines unbekannten Wertes, geschieht hier gar -% nichts. +% But if they are not classic options, they could be \pkg{keyval} options. In +% this case we test, if member (\texttt{\#1}) of family (\texttt{\#2}) has +% such an option. If this is the case, the options is executed once with +% member and once again with member. In case of an unknown key or value +% nothing else happens. % \begin{macrocode} \scr@ifprocess@curroption{#1}{#2}{% \@expandtwoargs\@removeelement\CurrentOption @@ -1191,25 +1131,24 @@ }% \fi % \end{macrocode} -% Sowohl für Klassen als auch für Pakete werden nun die aktuellen Optionen -% abgearbeitet. In diesem Fall ist zu beachten, dass nicht definierte Optionen -% oder unbekannte Werte für Optionen unmittelbar zu einem Fehler führen, wenn -% es sich um ein Paket handelt. Bei Klassen landet die Option hingegen in der -% Liste der nicht benutzten globalen Optionen. +% Now, processing local options of classes and packages follows. In this case +% unknown options (keys) or values of packages immediately can result in error +% messages. But in classes they are only added to the list of unused global +% options. % \begin{macrocode} \@for\CurrentOption:=\@curroptions\do{% % \end{macrocode} -% \changes{v3.26}{2018/10/22}{Optionen werden für Tests etc. nicht mehr -% vollständig expandiert}%^^A -% \changes{v3.26}{2018/10/22}{\cs{@use@ption} wird für key-value-Optionen -% nicht mehr aufgerufen}%^^A -% Ab \KOMAScript~3.26 wird für den Test, ob eine Option als normale Option -% existiert, die Option nicht mehr komplett expandiert. Da die wirklich -% notwendige Expansion bereits erfolgt ist, verhindert das Fehler wegen -% angeblich fehlendem \cs{endcsname}. Gleichzeitig wird für key-value-Optionen -% \cs{@use@ption} nicht mehr aufgerufen, da das darin enthaltene -% |\csname ds@\CurrentOption\endcsname| dasselbe Problem hat. Stattdessen wird -% die Option nur noch aus der Liste der nicht verwendeten Optionen entfernt. +% \changes{v3.26}{2018/10/22}{options are not fully expanded for the tests} +% \changes{v3.26}{2018/10/22}{\cs{@use@ption} is not used for +% \texttt{\meta{key}\quotechar=\meta{value}} options} +% From \KOMAScript~3.26 the options are not fully expanded to test, if it is a +% classic option. The essential expansion already has been done. So removing +% the full expansion avoids errors because of missing +% \cs{endcsname}. Additionally using \cs{@use@option} hat been removed for all +% \texttt{\meta{key}=\meta{value}} options, because this would result in the +% same error because of the |\csname ds@\CurrentOption\endcsname|, that is +% used inside \cs{@use@option}. Instead of \cs{@use@option} we just remove the +% option from the list of unused options. % \begin{macrocode} \edef\reserved@a{\expandafter\detokenize\expandafter{\CurrentOption}}% \scr@ifundefinedorrelax{ds@\reserved@a}{% @@ -1219,9 +1158,11 @@ }\@use@ption }% % \end{macrocode} -% Fast zum Schluss wird wir im \LaTeX-Kern der Optionencode für alle -% deklarierten \LaTeX-Optionen gelöscht und dafür gesorgt, dass nach dem Paket -% keine unverarbeiteten Optionen mehr vorhanden sind. +% Almost at the end we delete the options code of all declared options. This +% is the same as with the \LaTeX{} kernel command +% \cs{ProcessOptions*}. Additionally at the end of the package (not +% \pkg*{tocbasic} but the package, that is using the command) all unprocessed +% options are processed. % \changes{v3.33}{2021/02/15}{prepared for \LaTeX{} 2020/10/01} % \begin{macrocode} \@for\CurrentOption:=\@declaredoptions\do{% @@ -1236,23 +1177,20 @@ \AtEndOfPackage{\let\@unprocessedoptions\relax}% }% % \end{macrocode} -% Jetzt muss noch der Hook ausgeführt und wieder gelöscht werden. -% \changes{v3.23}{2017/02/16}{Korrektur: Haken danach verwendet die Familie -% statt des Mitglieds}%^^A +% Last but not least the hook has to be executed and (self-)deleted. +% \changes{v3.23}{2017/02/16}{fix using family instead of member} % \begin{macrocode} \@nameuse{scr@after@options@#2@hook}% } \EndIncludeInRelease \@onlypreamble\FamilyProcessOptions % \end{macrocode} -% \begin{macro}{\BeforeFamilyProcessOptions} -% \changes{v3.18}{2015/06/17}{neu} -% Ãœber diese Anweisung kann man Code unmittelbar vor Ausführung von -% \cs{FamilyProcessOptions} ausgeführt werden. Dabei muss zur Verwendung -% des Hakens weder das Mitglied noch die Familie existieren. Man kann dies -% also beispielsweise auch verwenden, um unmittelbar vor der Ausführung der -% Optionen eines Pakets oder einer Klasse einzugreifen noch bevor das Paket -% oder die Klasse geladen ist. +% \begin{command}{\BeforeFamilyProcessOptions} +% \changes{v3.18}{2015/06/17}{added} +% Add code to the hook used immediately before executing the options via +% \cs{FamilyProcessOptions}. Neither the family nor the member need to +% exist. So you are able to already add code to the hook before the class or +% package has been loaded. % \begin{macrocode} \newcommand*{\BeforeFamilyProcessOptions}[3][.\@currname.\@currext]{% \scr@ifundefinedorrelax{scr@before@process@options@#2#1@hook}{% @@ -1263,23 +1201,20 @@ }% } % \end{macrocode} -% \end{macro}%^^A \BeforeFamilyProcessOptions -% \begin{macro}{\AtEndOfFamilyOptions} -% \changes{v3.12}{2013/03/04}{Neue Anweisung}%^^A -% \changes{v3.23}{2017/02/16}{Sternvariante}%^^A -% Mit dieser Option kann innerhalb der Ausführung einer Option Material auf -% das Ende der aktuellen \cs{FamilyProcessOptions}, \cs{FamilyExecuteOptions}, -% \cs{FamilyOptions} oder \cs{FamilyOption} verzögert werden. Als einziges -% Argument wird der zu verzögernde Code erwartet, der an \cs{l@addto@macro} -% delegiert wird. Die Normalvariante verzögert bei verschachtelten -% \cs{FamilyOptions} bis zum Ende der aktuellen Schachtet, die Sternvariante -% bis zum Ende der äußeren Schachtel. +% \end{command}^^A \BeforeFamilyProcessOptions +% \begin{command}{\AtEndOfFamilyOptions} +% \changes{v3.12}{2013/03/04}{added} +% \changes{v3.23}{2017/02/16}{star variant added} +% Inside the code of an option you can delay execution of code till the end of +% the current \cs{FamilyProcessOptions}, \cs{FamilyExecuteOptions}, +% \cs{FamilyOptions} or \cs{FamilyOption}. The only argument is the code. The +% argument is delegated to \cs{l@addto@macro} (instead of reading it +% directly). The non-star variant delays only till the end of the current +% level. The star-variant delays till the end of all levels. % \begin{macro}{\scr@AtEndOfFamilyOptions} -% \changes{v3.12}{2013/05/29}{Neue Anweisung (intern)}%^^A -% \begin{macro}{\scr@@AtEndOfFamilyOptions} -% \changes{v3.23}{2017/02/16}{Neue Anweisung (intern)}%^^A -% \begin{macro}{\scr@AtEndOfFamilyOptions@immediate} -% \changes{v3.23}{2017/02/16}{Neue Anweisung (intern)}%^^A +% \changes{v3.12}{2013/05/29}{added} +% \begin{macro}{\scr@@AtEndOfFamilyOptions,\scr@AtEndOfFamilyOptions@immediate} +% \changes{v3.23}{2017/02/16}{added} % \begin{macrocode} \newcommand*{\scr@AtEndOfFamilyOptions}{% \kernel@ifstar {\scr@@AtEndOfFamilyOptions{@topmost}}% @@ -1295,32 +1230,24 @@ \newcommand*{\AtEndOfFamilyOptions}{} \let\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions@immediate % \end{macrocode} -% \end{macro}%^^A \scr@AtEndOfFamilyOptions@immediate -% \end{macro}%^^A \scr@@AtEndOfFamilyOptions -% \end{macro}%^^A \scr@AtEndOfFamilyOptions -% \end{macro}%^^A \AtEndOfFamilyOptions +% \end{macro}^^A \scr@@AtEndOfFamilyOptions,\scr@AtEndOfFamilyOptions@immediate +% \end{macro}^^A \scr@AtEndOfFamilyOptions +% \end{command}^^A \AtEndOfFamilyOptions % \begin{macro}{\scr@ifprocess@curroption} -% \changes{v3.13}{2014/01/04}{\cs{CurrentOption} innerhalb von \cs{setkeys} -% in Klammern gesetzt}%^^A -% Dieses Makro führt eine aktuelle \textsf{keyval}-Option für das angegebene -% Mitglied (\#1) der angegebenen Familie (\#2) aus. Falls die Option keinen -% entsprechenden Wert hat, wird das vierte Argument ausgeführt, anderenfalls -% nicht. Es ist zu beachten, dass vor der Option des Mitglieds die -% Familien-Option auszuführen ist. Ggf. benötigt das Mitglied dann keine -% entsprechende Option. +% \changes{v3.13}{2014/01/04}{brackets around \cs{CurrentOption} inside \cs{setkeys}} +% This macro executes the current \pkg{keyval} option for member +% \texttt{\#1} of family \texttt{\#2}. If the option does not know the value, +% the forth argument is used. Otherwise it is ignored. Note, before the member +% option the family option is executed. If this is successful the member does +% not need to know the option. % \begin{macrocode} \newcommand*\scr@ifprocess@curroption[2]{% % \end{macrocode} -% \changes{v3.26}{2018/10/22}{\cs{scr@sp@def} statt \cs{def} für das Abtrennen -% des Schlüssels}%^^A -% Da am 21. Oktober 2018 eine Diskussion begann, die darauf hindeutet, dass -% das Entfernen der Leerzeichen in der Optionenliste sich jederzeit ändern -% könnte, wird hier (und an einer weiteren Stelle) nun \cs{scr@sp@def} -% verwendet, um den Schlüssel zu erhalten. Allerdings genügt dies nicht, falls -% irgendwann tatsächlich gar keine Leerzeichen mehr entfernt werden. Dann -% müsste nämlich der komplette Parser umgeschrieben werden. Ich bin alles -% andere als begeistert von der Tatsache, dass hier im \LaTeX-Kern Jahrzehnte -% altes Verhalten ohne Rücksicht auf Verluste zur Disposition gestellt wird. +% \changes{v3.26}{2018/10/22}{using \cs{scr@sp@def} instead of \cs{def} for +% splitting the key} +% Because white spaces are not always and forever removed from the option +% list, here \cs{scr@sp@def} is used to eliminate unwanted white spaces before +% the key, before and after the equal sign and at the end of the value. % \begin{macrocode} \def\reserved@a##1=##2\@nil{\scr@sp@def\reserved@a{##1}}% \expandafter\reserved@a\CurrentOption=\@nil @@ -1388,26 +1315,14 @@ \fi } % \end{macrocode} -% \begin{macro}{\scr@sp@def} -% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach -% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}%^^A -% \changes{v3.26b}{2019/01/17}{\cs{long}}%^^A -% \begin{macro}{\scr@sp@d} -% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach -% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}%^^A -% \begin{macro}{\scr@sp@b} -% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach -% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}%^^A -% \changes{v3.26b}{2019/01/17}{\cs{long}}%^^A -% \begin{macro}{\scr@sp@c} -% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach -% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}%^^A -% \changes{v3.26b}{2019/01/17}{\cs{long}}%^^A -% Die Hilfsanweisung \cs{scr@sp@def} definiert eine Anweisung (erstes -% Argument) mit einer Tokenliste (zweites Argument) und entfernt dabei -% führende und abschließende Leerzeichen. Die Anweisung stammt ursprünglich -% aus \textsf{keyval}. Der Rest sind Hilfsanweisungen für die Implementierung -% der Hilfsanweisung. +% \begin{macro}{\scr@sp@d,\scr@sp@b,\scr@sp@c,\scr@sp@def} +% \changes{v3.26}{2018/08/29}{moved from \file{tocbasic.dtx} to +% \file{scrkernel-basics.dtx} and renamed} +% \changes{v3.26b}{2019/01/17}{\cs{long}} +% The helper macro \cs{scr@sp@def} defines a macro (\texttt{\#1}) to contain a +% token list (\texttt{\#2}) and removes tailing spaces at the beginning an the +% end. The original definition was from \pkg{keyval}. The other macros are +% helpers to realize \cs{scr@sp@def}. % \begin{macrocode} \def\@tempa#1{% \long\def\scr@sp@def##1##2{% @@ -1424,67 +1339,62 @@ \long\def\scr@sp@c#1\@nil#2\relax#3{\@temptokena{#1}\edef#3{\the\@temptokena}} %</base> % \end{macrocode} -% \end{macro}%^^A \scr@sp@c -% \end{macro}%^^A \scr@sp@b -% \end{macro}%^^A \scr@sp@d -% \end{macro}%^^A \scr@sp@def -% \end{macro}%^^A \scr@process@curroption -% \end{macro}%^^A \FamilyProcessOptions -% -% \begin{macro}{\KOMAProcessOptions} -% \changes{v2.97c}{2007/04/18}{neu}% -% \changes{v3.00}{2008/04/30}{kein optionales Argument mehr}% -% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch -% keyval-Optionen eines Pakets bzw. einer Klasse in der Reihenfolge, in der -% sie verwendet wurden aus -- zuerst globale Optionen, dann lokale -% Optionen. Das entspricht der Verwendung von \cs{ProcessOptions*} mit dem -% Unterschied, dass eben auch die keyval-Optionen abgearbeitet -% werden. keyval-Optionen, die keiner einzelnen Klasse und keinem einzelnen -% Paket zugeordnet werden, werden dabei vor gleichnamigen eigenen -% keyval-Optionen ausgeführt. +% \end{macro}^^A \scr@sp@d,\scr@sp@b,\scr@sp@c,\scr@sp@def +% \end{macro}^^A \scr@process@curroption +% \end{command}^^A \FamilyProcessOptions +% +% \begin{command}{\KOMAProcessOptions} +% \changes{v2.97c}{2007/04/18}{added} +% \changes{v3.00}{2008/04/30}{no optional argument} +% This command executes all options, not only classic declared by +% \cs{DeclareOption} or \cs{DeclareOption*}, but also \pkg{keyval} options in +% the order these options have been used (not declared). For packages first +% the global options, than the local options. For classes global and local +% options are the same and only local options are processed. This is similar +% to the \LaTeX{} kernel command \cs{ProcessOptions*} (with the difference of +% processing \pkg{keyval} options too). Family options are always executed +% before member options. % \begin{macrocode} %<*koma> \newcommand*{\KOMAProcessOptions}{\FamilyProcessOptions{KOMA}} \@onlypreamble\KOMAProcessOptions %</koma> % \end{macrocode} -% \end{macro} +% \end{command} % % \begin{macro}{\scr@trim@spaces} -% \changes{v3.12}{2013/11/06}{neu (intern)} -% \changes{v3.26}{2018/08/29}{von \texttt{scrkernel-language.dtx} nach -% \texttt{scrkernel-basics.dtx} verschoben} +% \changes{v3.12}{2013/11/06}{added} +% \changes{v3.26}{2018/08/29}{moved from \file{scrkernel-language.dtx} to +% \file{scrkernel-basics.dtx}} % \changes{v3.33}{2021/03/02}{moved to preparation section} -% Diese Hilfsanweisung entfernt führende und abschließende -% Leerzeichen. Argument ist die Anweisung, deren Inhalt von den Leerzeichen -% befreit werden soll. Gedacht ist das ganze für die Listenverarbeitung mit -% Hilfe von \cs{@for}. Als Argument wird ein Makro übergeben, in dessen -% Definition führende und abschließende space-Tokens entfernt werden sollen. +% Helper macro to remove white spaces from the beginning or the end. This is +% useful for list processing with \cs{@for} to remove spaces before or after +% commas. The argument is a macro with the string to be trimmed and the result +% is stored again in this macro. % \begin{macrocode} %<*base> \newcommand\scr@trim@spaces[1]{% \expandafter\scr@sp@def\expandafter#1\expandafter{#1}% } %</base> +%</prepare> % \end{macrocode} -% \end{macro}%^^A \scr@trim@space +% \end{macro}^^A \scr@trim@space % -% \iffalse -%</prepare> -%<*option> -% \fi % % \begin{option}{internalonly} -% \changes{v2.96}{2006/11/26}{neu}%^^A -% \changes{v2.97c}{2007/06/20}{geht auch ohne Argument}%^^A -% \changes{v3.27a}{2019/11/04}{\cs{FamilyKeyStateProcessed} ergänzt}%^^A -% \changes{v3.27a}{2019/11/04}{nur innerhalb des Pakets definiert}%^^A -% \changes{v3.27a}{2019/11/04}{temporär in den Klassen definiert}%^^A -% \changes{v3.28}{2019/11/18}{Option ist veraltet}%^^A +% \changes{v2.96}{2006/11/26}{added} +% \changes{v2.97c}{2007/06/20}{no argument needed} +% \changes{v3.27a}{2019/11/04}{\cs{FamilyKeyStateProcessed} added} +% \changes{v3.27a}{2019/11/04}{defined only inside the package} +% \changes{v3.27a}{2019/11/04}{defined temporary inside the classes} +% \changes{v3.28}{2019/11/18}{deprecated} % \begin{macro}{\dont@let@as@internal@defined} -% \changes{v2.96}{2006/11/26}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{entfernt}%^^A +% \changes{v2.96}{2006/11/26}{added} +% \changes{v3.28}{2019/11/18}{removed} +% \end{macro} % \begin{macrocode} +%<*option> %<*base> \DefineFamily{KOMA} \DefineFamilyMember{KOMA} @@ -1497,10 +1407,10 @@ } %</base> % \end{macrocode} -% Da \textsf{scrbase} von den Klassen bereits vor der Verarbeitung der -% Optionen geladen wird, wird die Option zwar verarbeitet aber dann trotzdem -% als unbekannt gemeldet. Das kann man notdürftig beheben, indem die Klasse -% vorrübergehend eine Dummy-Option erhält. +% If \pkg*{scrbase} has been loaded before the class, the option will be +% reported as unused, despite it already has been processed. We could solve +% this using a dummy option inside the classes. However, because the option is +% deprecated the following code should never been used. % \begin{macrocode} %</option> %<*load&class&neveruse> @@ -1511,29 +1421,24 @@ %</load&class&neveruse> %<*option> % \end{macrocode} -% \end{macro} % \end{option} % % -% \changes{v2.96}{2006/08/20}{Optionen werden abgearbeitet}%^^A -% \changes{v2.97c}{2007/04/18}{Optionen werden mit \cs{KOMAProcessOptions}%^^A -% abgearbeitet} +% \changes{v2.96}{2006/08/20}{processing options} +% \changes{v2.97c}{2007/04/18}{using \cs{KOMAProcessOptions} for processing options} % \begin{macrocode} %<koma>\KOMAProcessOptions\relax %<base>\FamilyProcessOptions{KOMA}\relax -% \end{macrocode} -% -% \iffalse %</option> %<*body> -% \fi +% \end{macrocode} +% % -% \subsection{Ein wenig zusätzliche Mathematik für \eTeX} +% \subsection{Some additional math missing from \eTeX} % -% \begin{macro}{\XdivY} -% \changes{v3.05a}{2010/03/10}{Neu}%^^A -% Ergebnis ist erster Argument durch zweites abgerundet auf die nächst -% kleinere ganze Zahl. +% \begin{command}{\XdivY} +% \changes{v3.05a}{2010/03/10}{added} +% \meta{X} divided by \meta{Y} and rounded to the lower integer. % \begin{macrocode} %<*base> \newcommand*{\XdivY}[2]{% @@ -1541,11 +1446,11 @@ } %</base> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\XmodY} -% \changes{v3.05a}{2010/03/10}{Neu}%^^A -% Ergebnis ist erstes Argument modulo zweites Argument. +% \begin{command}{\XmodY} +% \changes{v3.05a}{2010/03/10}{added} +% \meta{X} modulo \meta{Y} (rest of integer division \meta{X} divided by \meta{Y}). % \begin{macrocode} %<*base> \newcommand*{\XmodY}[2]{% @@ -1553,13 +1458,12 @@ } %</base> % \end{macrocode} -% \end{macro} +% \end{command} % -% \subsection{Häufig benötigte Befehle} +% \subsection{Often needed commands and macros} % -% \selectlanguage{english}%^^A % \begin{macro}{\scr@ForEachTrimmedListElement} -% \changes{v3.27}{2019/04/16}{new (internal)}%^^A +% \changes{v3.27}{2019/04/16}{new (internal)} % Executes \cs{\#2\{\meta{element}\}} for each \meta{element} of the comma % separated list \#1. Spaces before for after \meta{element} are eliminated % and empty elements are ignored. @@ -1581,17 +1485,13 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ForEachTrimmedListElement -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \scr@ForEachTrimmedListElement % -% \begin{macro}{\if@atdocument} -% \changes{v2.95}{2002/12/05}{neuer Schalter}%^^A -% \begin{macro}{\@atdocumenttrue} -% \begin{macro}{\@atdocumentfalse} -% Dieser Schalter wird bei \cs{begin}\texttt{\{document\}} wahr. Er -% wird von \KOMAScript{} für Befehle verwendet, die sich -% unterschiedlich verhalten, je nachdem, ob sie in der Präambel oder -% danach aufgerufen werden. +% \begin{macro}{\@atdocumenttrue,\@atdocumentfalse,\if@atdocument} +% \changes{v2.95}{2002/12/05}{added} +% The boolean switch becomes true while |\begin{document}|. \KOMAScript{} uses +% it for commands and macros, which are different in the document preamble and +% the document body. % \begin{macrocode} %<*base> \newif\if@atdocument @@ -1601,50 +1501,40 @@ %</base> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % % \begin{macro}{\let@as@internal@defined} -% \changes{v2.95}{2002/08/19}{neu (intern)}%^^A -% \changes{v2.95c}{2006/08/12}{Warnung bei Umdefinierung}%^^A -% \changes{v2.96}{2006/11/26}{Herausreichen von internen Makros als -% Benutzermakros kann verhindert werden}%^^A -% \changes{v2.97c}{2007/06/20}{Herausreichen von internen Makros kann -% generell verhindert werden}%^^A -% \changes{v3.10}{2010/10/26}{\cs{ignorespaces} beim \cs{document}-Patch -% ergänzt} -% \changes{v3.13a}{2014/08/13}{potentielle Leerzeichen durch Zeilenumbruch -% beseitigt}%^^A -% \changes{v3.28}{2019/11/18}{entfernt}%^^A +% \changes{v2.95}{2002/08/19}{added} +% \changes{v2.95c}{2006/08/12}{warning while redefining} +% \changes{v2.96}{2006/11/26}{making user commands from internal macros can +% be banned for single macros} +% \changes{v2.97c}{2007/06/20}{making user commands from internal macros can +% generally banned} +% \changes{v3.10}{2010/10/26}{\cs{ignorespaces} at \cs{document} patch added} +% \changes{v3.13a}{2014/08/13}{unwanted white spaces removed} +% \changes{v3.28}{2019/11/18}{removed} % \end{macro} % -% \begin{macro}{\ifundefinedorrelax} -% \changes{v2.95}{2002/08/21}{neu}%^^A -% \changes{v2.95c}{2006/08/12}{über interne Anweisung definiert}%^^A -% \changes{v2.97c}{2007/06/20}{umbenannt von \cs{ifundefined}}%^^A -% \changes{v3.28}{2019/11/18}{umbenannt in \cs{Ifundefinedorrelax}}%^^A -% \changes{v3.29}{2020/01/17}{fix of missing backslash}%^^A -% \begin{macro}{\Ifundefinedorrelax}%^^A -% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber -% ein undefiniertes Makro nicht als \cs{relax}. +% \begin{command}{\ifundefined,\ifundefinedorrelax,\Ifundefinedorrelax} +% \changes{v2.95}{2002/08/21}{added} +% \changes{v2.95c}{2006/08/12}{using an internal macro to define it} +% \changes{v2.97c}{2007/06/20}{\cs{ifundefinedorrelax} replaces \cs{ifundefined}} +% \changes{v3.28}{2019/11/18}{\cs{ifundefinedorrelax} renamed to +% \cs{Ifundefinedorrelax}} +% \changes{v3.29}{2020/01/17}{fix of missing backslash} +% Same as \cs{scr@ifundefinedorrelax} but at user level. % \begin{macrocode} %<*base> \newcommand*{\Ifundefinedorrelax}{\scr@ifundefinedorrelax}% %</base> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\ifnotundefined} -% \changes{v2.95}{2002/08/21}{neu}%^^A -% \changes{v2.95c}{2006/08/12}{nutzt \eTeX{} wenn möglich}%^^A -% \changes{v3.02c}{2009/02/19}{\eTeX{} ist zwingend}%^^A -% \changes{v3.28}{2019/11/18}{umdefiniert in \cs{Ifnotundefined}}%^^A -% \begin{macro}{\Ifnotundefined} -% \changes{v3.28}{2019/11/18}{neu Umbenennung von \cs{ifnotundefinded}}%^^A -% Dieses Makro arbeitet genau umgekehrt zu \cs{ifundefined}. Manchmal -% ist es ganz nützlich, auch das zu haben. Dieses Makro heißt nicht -% \cs{ifdefined}, weil \eTeX\ bereits ein solches Primitiv bietet. +% \begin{command}{\ifnotundefined,\Ifnotundefined} +% \changes{v2.95}{2002/08/21}{added} +% \changes{v2.95c}{2006/08/12}{using \eTeX{} if possible} +% \changes{v3.02c}{2009/02/19}{\eTeX{} is mandatory} +% \changes{v3.28}{2019/11/18}{\cs{ifnotundefined} renamed to \cs{Ifnotundefined}} +% This is the opposite to \cs{Ifundefinedorrelax}. Sometimes it is useful. % \begin{macrocode} %<*base> \providecommand*{\ifnotundefined}{% @@ -1665,18 +1555,16 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\ifstr} -% \changes{v2.95}{2004/07/20}{if- und then-Teil werden nicht gefressen}%^^A -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} -% ersetzt}%^^A -% \changes{v3.28}{2019/11/18}{umbenannt in \cs{IfStr}}%^^A -% \begin{macro}{\Ifstr} -% \changes{v3.28}{2019/11/18}{neu aus Umbenennung von \cs{ifstr}}%^^A -% Dieses Makro vergleicht zwei Tokenfolgen. Eigentlich müsste es also -% eher \cs{ifequal} oder ähnlich heißen. +% \begin{command}{\ifstr,\Ifstr} +% \changes{v2.95}{2004/07/20}{\meta{if code} and \meta{then code} delegated +% after the command execution} +% \changes{v3.04b}{2010/01/29}{\cs{edef} replaced by \cs{protected@edef}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr} (but still +% available as deprecated command)} +% This command compares two fully expanded token lists. So an alternative name +% would be \cs{Ifxequal}. % \begin{macrocode} %<*base> \providecommand*{\ifstr}{% @@ -1698,16 +1586,14 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\Ifstrstart} -% \changes{v3.28}{2019/11/18}{neu aus Umbenennung von \cs{ifstrstart}}%^^A -% \begin{macro}{\ifstrstart} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Falls die Expansion des ersten Arguments mit der Expansion des zweiten -% Arguments beginnt, wird das dritte Argument ausgeführt, sonst das vierte. +% \begin{command}{\ifstrstart,\Ifstrstart} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart} (but +% still available as deprecated command)} +% If the expansion of the first argument starts with expansion of the second +% one use the third argument, otherwise the fourth. % \begin{macrocode} %<*base> \providecommand*{\ifstrstart}{% @@ -1727,8 +1613,8 @@ } % \end{macrocode} % \begin{macro}{\@ifstrstart} -% \changes{v3.12}{2013/11/05}{neu (intern)}%^^A -% Hilfsmakro, damit die Argumente vollständig expandiert werden können. +% \changes{v3.12}{2013/11/05}{added} +% Helper. % \begin{macrocode} \newcommand*{\@ifstrstart}[2]{% \def\reserved@a ##1#2##2\@nil{% @@ -1742,16 +1628,15 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \@ifstrstart -% \end{macro}%^^A \ifstrstart -% \end{macro}%^^A \Ifstrstart +% \end{macro}^^A \@ifstrstart +% \end{command}^^A \ifstrstart,\Ifstrstart % -% \begin{macro}{\IfArgIsEmpty} -% \changes{v3.19}{2015/08/29}{neu}%^^A -% \changes{v3.27}{2019/03/11}{\cs{long}}%^^A -% \changes{v3.27}{2019/07/19}{wird bereits vor den Optionen benötigt}%^^A -% Falls das erste Argument tatsächlich leer ist, wird das zweite Argument -% ausgeführt sonst das dritte. +% \begin{command}{\IfArgIsEmpty} +% \changes{v3.19}{2015/08/29}{added} +% \changes{v3.27}{2019/03/11}{\cs{long}} +% \changes{v3.27}{2019/07/19}{needed already to process options} +% If the first argument is absolutely empty execute the second one, otherwise +% the third one. %</body> %<*prepare> %<*base> @@ -1767,25 +1652,35 @@ %</base> %</prepare> %<*body> -% \end{macro}%^^A \IfArgIsEmpty +% \end{command}^^A \IfArgIsEmpty % % -% \begin{macro}{\ifislengthprimitive} -% \changes{v3.20}{2015/10/19}{neu}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einem Primitiv -% expandiert, das als Länge verwendet werden kann, wird das erste Argument -% ausgeführt, sonst das zweite. +% \begin{command}{\ifislengthprimitive,\Ifislengthprimitive} +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.36}{2022/02/17}{\cs{ifislengthprimitive} renamed to +% \cs{Ifislengthprimitive} (but still defined as deprecated)} +% If the first argument expands to a primitive, that can be used as a length, +% execute the second argument, otherwise the third one. % \begin{macrocode} %<*base> -\newcommand*{\ifislengthprimitive}[1]{% +\providecommand*{\ifislengthprimitive}{% + \PackageWarning{scrbase}{Usage of deprecated command + `\string\ifislengthprimitive'.\MessageBreak + The command has been renamed because of a\MessageBreak + recommendation of The LaTeX Project Team.\MessageBreak + Please replace `\string\ifislengthprimitive' by `\string\Ifislengthprimitive'% + }% + \Ifislengthprimitive +} +\newcommand*{\Ifislengthprimitive}[1]{% \IfArgIsEmpty{#1}{\@secondoftwo}{\scr@ifislengthprimitive#1\@nil}% } % \end{macrocode} % \begin{macro}{\scr@ifislengthprimitive} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Hilfsmacro, das ggf. rekusiv auf diverse Primitive prüft. +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Helper macro to test against several length like \TeX{} primitives. % \begin{macrocode} \newcommand*{\scr@ifislengthprimitive}[1]{% \begingroup @@ -1809,19 +1704,17 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifislengthprimitive -% \end{macro}%^^A \ifislengthprimitive +% \end{macro}^^A \scr@ifislengthprimitive +% \end{command}^^A \ifislengthprimitive,\Ifislengthprimitive % % -% \begin{macro}{\ifisdimen} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisdimen}}%^^A -% \begin{macro}{\Ifisdimen} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisdimen}}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einem -% \cs{dimen}-Register (und zu nichts weiterem!) expandiert, wird das erste -% Argument ausgeführt, sonst das zweite. +% \begin{command}{\ifisdimen,\Ifisdimen} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisdimen} renamed to \cs{Ifisdimen} (but +% still defined as deprecated command)} +% If the first argument expands to a \cs{dimen} register (and nothing else), +% execute the second argument, otherwise the third one. % \begin{macrocode} %<*base> \providecommand*{\ifisdimen}{% @@ -1838,9 +1731,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisdimen} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf ein \cs{dimen}-Register prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{dimen} register. % \begin{macrocode} \newcommand*{\scr@ifisdimen}[1]{% \begingroup @@ -1857,13 +1750,13 @@ #1% } % \end{macrocode} -% \end{macro}%^^A \scr@ifisdimen +% \end{macro}^^A \scr@ifisdimen % \begin{macro}{\scr@TestDimenAssignTillNil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% Das durch \cs{@nil} begrenzte Argument wird einer temporären Länge -% zugewiesen. Wird dabei das Argument komplett aufgebraucht, so wird das -% erste Argument nach \cs{@nil} ausgeführt, sonst das zweite. Das begrenzte -% Argument wird in jedem Fall komplett aufgebraucht. +% \changes{v3.20}{2015/10/19}{added} +% Argument \texttt{\#1} delimited by \cs{@nil} is assigned to a temporary +% length. If this uses the argument completely, the argument \texttt{\#2} behind +% \cs{@nil} will executed, otherwise argument \texttt{\#3}. In any case +% \texttt{\#1} will removed from the input totally. % \begin{macrocode} \newcommand*\scr@TestDimenAssignTillNil{} \def\scr@TestDimenAssignTillNil#1\@nil{% @@ -1872,17 +1765,13 @@ \@tempdima=#1\relax\@nnil } % \end{macrocode} -% \begin{macro}{\scr@IfAfterEndgroupArgIsRelaxTillNnil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% \begin{macro}{\scr@IfArgIsRelaxAfterRelaxTillNnil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Die Hilfsmakros lesen ein durch \cs{@nnil} begrenztes Argument. Falls dieses -% Argument nur aus einer Folge von \cs{relax} besteht, wird das erste Argument -% nach \cs{@nnil} ausgeführt, sonst das zweite. +% \begin{macro}{\scr@IfAfterEndgroupArgIsRelaxTillNnil,\scr@IfArgIsRelaxAfterRelaxTillNnil} +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% The helper macros read an argument delimited by \cs{@nnil}. If this +% arguments consists of a number of \cs{relax} only, the second argument (first +% behind \cs{@nnil}) will be execute, otherwise the third (second behind \cs{@nnil}). % \begin{macrocode} \newcommand*\scr@AfterEndGroupIfArgIsRelaxTillNnil{} \def\scr@AfterEndGroupIfArgIsRelaxTillNnil#1\@nnil{% @@ -1902,42 +1791,31 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@IfArgIsRelaxAfterRelaxTillNnil -% \end{macro}%^^A \scr@IfArgIsRelaxTillNnil -% \end{macro}%^^A \scr@TestSkipAssignTillNil -% \begin{macro}{\scr@secondoftwoAfterNil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% Das Hilfsmakro liest ein durch \cs{@nil} begrenztes Argument und führt dann -% das zweite Argument nach \cs{@nil} aus. Dabei wird auch Sorge dafür getrage, -% dass das Argument eventuell leer sein könnte, was normalerweise dazu führen -% würde, dass \cs{@nil} zum Argument selbst wird. -% \begin{macro}{\scr@@secondoftwoAfterNil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% Zu diesem Zweck wird ein zweites Hilfsmakro benötigt. +% \end{macro}^^A \scr@IfArgIsRelaxTillNnil,\scr@IfArgIsRelaxAfterRelaxTillNnil +% \end{macro}^^A \scr@TestSkipAssignTillNil +% \begin{macro}{\scr@@secondoftwoAfterNil,\scr@secondoftwoAfterNil} +% \changes{v3.20}{2015/10/19}{added} +% The helper macros reads arguments \texttt{\#1} delimited by \cs{@nil} and +% executes \texttt{\#3}. We have to take care for the case of an empty first +% argument, which would make \cs{@nil} to be the argument. Because of this we +% need two helpers. % \begin{macrocode} \newcommand*{\scr@secondoftwoAfterNil}{\scr@@secondoftwoAfterNil\@empty} \newcommand*{\scr@@secondoftwoAfterNil}{} \def\scr@@secondoftwoAfterNil#1\@nil{\@secondoftwo} %</base> % \end{macrocode} -% \end{macro}%^^A \scr@@secondoftwoAfterNil -% \end{macro}%^^A \scr@secondoftwoAfterNil -% \end{macro}%^^A \Ifisdimen -% \end{macro}%^^A \ifisdimen -% -% \begin{macro}{\ifisskip} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.18a}{2015/07/07}{\cs{baselineskip} und \cs{parskip} werden als -% skips akzeptiert}%^^A -% \changes{v3.20}{2015/10/19}{\cs{baselineskip} und \cs{parskip} sind keine -% skips}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisskip}}%^^A -% \begin{macro}{\Ifisskip} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisskip}}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einem -% \cs{skip}-Register (und zu nichts weiterem!) expandiert, wird das erste -% Argument ausgeführt, sonst das zweite. +% \end{macro}^^A \scr@@secondoftwoAfterNil,\scr@secondoftwoAfterNil +% \end{command}^^A \ifisdimen,\Ifisdimen +% +% \begin{command}{\ifisskip,\Ifisskip} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.18a}{2015/07/07}{\cs{baselineskip} and \cs{parskip} are skips} +% \changes{v3.20}{2015/10/19}{\cs{baselineskip} and \cs{parskip} are not skips} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisskip} renamed to \cs{Ifisskip}} +% If the first argument expands to a \cs{skip} register (and nothing else), +% execute the second argument, otherwise the third one. % \begin{macrocode} %<*base> \providecommand*{\ifisskip}{% @@ -1954,9 +1832,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisskip} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf ein \cs{skip}-Register prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{skip} register. % \begin{macrocode} \newcommand*{\scr@ifisskip}[1]{% \begingroup @@ -1973,13 +1851,13 @@ #1% } % \end{macrocode} -% \end{macro}%^^A \scr@ifisskip +% \end{macro}^^A \scr@ifisskip % \begin{macro}{\scr@TestSkipAssignTillNil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% Das durch \cs{@nil} begrenzte Argument wird einer temporären Länge -% zugewiesen. Wird dabei das Argument komplett aufgebraucht, so wird das -% erste Argument nach \cs{@nil} ausgeführt, sonst das zweite. Das begrenzte -% Argument wird in jedem Fall komplett aufgebraucht. +% \changes{v3.20}{2015/10/19}{added} +% Argument \texttt{\#1} delimited by \cs{@nil} is assigned to a temporary +% \cs{skip}. If this uses the argument completely, the argument \texttt{\#2} behind +% \cs{@nil} will executed, otherwise argument \texttt{\#3}. In any case +% \texttt{\#1} will removed from the input totally. % \begin{macrocode} \newcommand*\scr@TestSkipAssignTillNil{} \def\scr@TestSkipAssignTillNil#1\@nil{% @@ -1989,19 +1867,15 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@TestSkipAssignTillNil -% \end{macro}%^^A \Ifisskip -% \end{macro}%^^A \ifiskip +% \end{macro}^^A \scr@TestSkipAssignTillNil +% \end{command}^^A \ifiskip,\Ifisskip % -% \begin{macro}{\ifiscount} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifiscount}}%^^A -% \begin{macro}{\Ifiscount} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifiscount}}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einem -% \cs{count}-Register (und zu nichts weiterem!) expandiert, wird das erste -% Argument ausgeführt, sonst das zweite. +% \begin{command}{\ifiscount,\Ifiscount} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifiscount} renamed to \cs{Ifiscount}} +% If the first argument expands to a \cs{count} register (and nothing else), +% execute the second argument, otherwise the third one. % \begin{macrocode} %<*base> \providecommand*{\ifiscount}{% @@ -2018,9 +1892,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifiscount} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf ein \cs{count}-Register prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{count} register. % \begin{macrocode} \newcommand*{\scr@ifiscount}[1]{% \begingroup @@ -2037,13 +1911,13 @@ #1% } % \end{macrocode} -% \end{macro}%^^A \scr@ifiscount +% \end{macro}^^A \scr@ifiscount % \begin{macro}{\scr@TestSkipCountTillNil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% Das durch \cs{@nil} begrenzte Argument wird einer temporären Länge -% zugewiesen. Wird dabei das Argument komplett aufgebraucht, so wird das -% erste Argument nach \cs{@nil} ausgeführt, sonst das zweite. Das begrenzte -% Argument wird in jedem Fall komplett aufgebraucht. +% \changes{v3.20}{2015/10/19}{added} +% Argument \texttt{\#1} delimited by \cs{@nil} is assigned to a temporary +% counter. If this uses the argument completely, the argument \texttt{\#2} behind +% \cs{@nil} will executed, otherwise argument \texttt{\#3}. In any case +% \texttt{\#1} will removed from the input totally. % \begin{macrocode} \newcommand*\scr@TestCountAssignTillNil{} \def\scr@TestCountAssignTillNil#1\@nil{% @@ -2053,23 +1927,19 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@TestCountAssignTillNil -% \end{macro}%^^A \Ifiscount -% \end{macro}%^^A \ifiscount +% \end{macro}^^A \scr@TestCountAssignTillNil +% \end{command}^^A \ifiscount,\Ifiscount % % -% \begin{macro}{\ifisdimexpr} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisdimexpr}}%^^A -% \begin{macro}{\Ifisdimexpr} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisdimexpr}}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einer -% \cs{dimexpr} (und zu nichts weiterem!) expandiert, wird das erste -% Argument ausgeführt, sonst das zweite. Dies unterscheidet sich in einem -% wichtigen Punkt von \cs{ifisdimen}: Sollte das ganze zwar als \cs{dimexpr} -% beginnen, aber syntaktisch nicht korrekt sein, so wird dies nicht erkannt, -% sondern führt tatsächlich zu einer Fehlermeldung. +% \begin{command}{\ifisdimexpr,\Ifisdimexpr} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisdimexpr} renamed to \cs{Ifisdimexpr}} +% If the first argument expands to a \cs{dimexpr}, +% execute the second argument, otherwise the third one. There is an important +% difference to \cs{Ifisdimen}: If the argument begins with \cs{dimexpr} but +% is not a valid \emph{dimension expression} \cs{Ifisdimexpr} detects a +% \cs{dimexpr}, but using this expression later will result in an error. % \begin{macrocode} %<*base> \providecommand*{\ifisdimexpr}{% @@ -2086,9 +1956,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisdimexpr} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf eine \cs{dimexpr} prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{dimexpr}. % \begin{macrocode} \newcommand*{\scr@ifisdimexpr}[1]{% \begingroup @@ -2106,23 +1976,19 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifisdimexpr -% \end{macro}%^^A \Ifisdimexpr -% \end{macro}%^^A \ifisdimexpr +% \end{macro}^^A \scr@ifisdimexpr +% \end{command}^^A \ifisdimexpr,\Ifisdimexpr % % -% \begin{macro}{\ifisglueexpr} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisglueexpr}}%^^A -% \begin{macro}{\Ifisglueexpr} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisglueexpr}}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einer -% \cs{glueexpr} (und zu nichts weiterem!) expandiert, wird das erste -% Argument ausgeführt, sonst das zweite. Dies unterscheidet sich in einem -% wichtigen Punkt von \cs{ifisskip}: Sollte das ganze zwar als \cs{glueexpr} -% beginnen, aber syntaktisch nicht korrekt sein, so wird dies nicht erkannt, -% sondern führt tatsächlich zu einer Fehlermeldung. +% \begin{command}{\ifisglueexpr,\Ifisglueexpr} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisglueexpr} renamed to \cs{Ifisglueexpr}} +% If the first argument expands to a \cs{glueexpr}, +% execute the second argument, otherwise the third one. There is an important +% difference to \cs{Ifisskip}: If the argument begins with \cs{glueexpr} but +% is not a valid \emph{glue expression} \cs{Ifisglueexpr} detects a +% \cs{göueexpr}, but using this expression later will result in an error. % \begin{macrocode} %<*base> \providecommand*{\ifisglueexpr}{% @@ -2139,9 +2005,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisglueexpr} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf eine \cs{glueexpr} prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{glueexpr}. % \begin{macrocode} \newcommand*{\scr@ifisglueexpr}[1]{% \begingroup @@ -2159,23 +2025,19 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifisglueexpr -% \end{macro}%^^A \Ifisglueexpr -% \end{macro}%^^A \ifisglueexpr +% \end{macro}^^A \scr@ifisglueexpr +% \end{command}^^A \ifisglueexpr,\Ifisglueexpr % % -% \begin{macro}{\ifisnumexpr} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisnumexpr}}%^^A -% \begin{macro}{\Ifisnumexpr} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisnumexpr}}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einer -% \cs{numexpr} (und zu nichts weiterem!) expandiert, wird das erste -% Argument ausgeführt, sonst das zweite. Dies unterscheidet sich in einem -% wichtigen Punkt von \cs{Ifiscount}: Sollte das ganze zwar als \cs{numexpr} -% beginnen, aber syntaktisch nicht korrekt sein, so wird dies nicht erkannt, -% sondern führt tatsächlich zu einer Fehlermeldung. +% \begin{command}{\ifisnumexpr,\Ifisnumexpr} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisnumexpr} renamed to \cs{Ifisnumexpr}} +% If the first argument expands to a \cs{numexpr}, +% execute the second argument, otherwise the third one. There is an important +% difference to \cs{Ifiscount}: If the argument begins with \cs{numexpr} but +% is not a valid \emph{numerical expression} \cs{Ifisnumexpr} detects a +% \cs{numexpr}, but using this expression later will result in an error. % \begin{macrocode} %<*base> \providecommand*{\ifisnumexpr}{% @@ -2192,9 +2054,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisnumexpr} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf eine \cs{numexpr} prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{numexpr}. % \begin{macrocode} \newcommand*{\scr@ifisnumexpr}[1]{% \begingroup @@ -2212,29 +2074,37 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifisnumexpr -% \end{macro}%^^A \Ifisnumexpr -% \end{macro}%^^A \ifisnumexpr +% \end{macro}^^A \scr@ifisnumexpr +% \end{command}^^A \ifisnumexpr,\Ifisnumexpr % % -% \begin{macro}{\ifisdefchar} -% \changes{v3.20}{2015/10/19}{neu}%^^A -% Falls das erste Argument ggf. über mehrere Stufen hinweg zu einem mit -% \cs{chardef} definierten Wert (und zu nichts weiterem!) expandiert, wird das -% erste Argument ausgeführt, sonst das zweite. Dies unterscheidet sich in einem -% wichtigen Punkt von \cs{Ifiscount}: Sollte das ganze zwar wie ein \cs{char} -% beginnen, aber syntaktisch nicht korrekt sein, so wird dies nicht erkannt, -% sondern führt tatsächlich zu einer Fehlermeldung. +% \begin{command}{\ifisdefchar,\Ifisdefchar} +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.36}{2022/02/17}{\cs{ifisdefchar} renamed to \cs{Ifisdefchar}} +% If the first argument expands to a value defined using \cs{chardef}, +% execute the second argument, otherwise the third one. Note: If the expanded +% argument begins with \verb|\char"| but is not a valid \emph{character value} +% \cs{Ifisdefchar} detects a valid value, but using this value later will +% result in an error. % \begin{macrocode} %<*base> -\newcommand*{\ifisdefchar}[1]{% +\providecommand*{\ifisdefchar}{% + \PackageWarning{scrbase}{Usage of deprecated command + `\string\ifisdefchar'.\MessageBreak + The command has been renamed because of a\MessageBreak + recommendation of The LaTeX Project Team.\MessageBreak + Please replace `\string\ifisdefchar' by `\string\Ifisdefchar'% + }% + \Ifisdefchar +} +\newcommand*{\Ifisdefchar}[1]{% \IfArgIsEmpty{#1}{\@secondoftwo}{\scr@ifisdefchar#1\@nil}% } % \end{macrocode} % \begin{macro}{\scr@ifisdefchar} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf eine \cs{char} prüft +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro, that tests a macro recursive to expand to a \cs{char}. % \begin{macrocode} \newcommand*{\scr@ifisdefchar}[1]{% \begingroup @@ -2252,17 +2122,15 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifisdefchar -% \end{macro}%^^A \ifisdefchar +% \end{macro}^^A \scr@ifisdefchar +% \end{command}^^A \ifisdefchar,\Ifisdefchar % % -% \begin{macro}{\ifiscounter} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifiscounter}}%^^A -% \begin{macro}{\Ifiscounter} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifiscounter}}%^^A -% Falls die Expansion des ersten Arguments ein \LaTeX-Zähler ist, wird das -% zweite Argument ausgeführt, sonst das dritte. +% \begin{command}{\ifiscounter,\Ifiscounter} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.28}{2019/11/19}{\cs{ifiscounter} renamed to \cs{Ifiscounter}} +% If the first argument expands to a \LaTeX{} counter, execute the second +% argument, otherwise the third one. % \begin{macrocode} %<*base> \providecommand*{\ifiscounter}{% @@ -2285,19 +2153,16 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \Ifiscounter -% \end{macro}%^^A \ifiscounter +% \end{command}^^A \ifiscounter,\Ifiscounter % % -% \begin{macro}{\ifisinteger} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.12a}{2014/01/24}{Leerzeichenfehler korrigiert}%^^A -% \changes{v3.20}{2015/10/19}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisinteger}}%^^A -% \begin{macro}{\Ifisinteger} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisinteger}}%^^A -% Falls die Expansion des ersten Arguments eine (positive oder negative) ganze -% Zahl ist, wird das zweite Argument ausgeführt, sonst das dritte. +% \begin{command}{\ifisinteger,\Ifisinteger} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.12a}{2014/01/24}{white space removed} +% \changes{v3.20}{2015/10/19}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisinteger} renamed to \cs{Ifisinteger}} +% If the first argument expands to a (positive or negative) integer, execute +% the second argument, otherwise the third one. % \begin{macrocode} %<*base> \providecommand*{\ifisinteger}{% @@ -2314,10 +2179,9 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisinteger} -% \changes{v3.20}{2015/10/19}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% Hilfsmacro, das ggf. rekusiv auf ein Vorzeichen oder eine positive Zahl -% prüft. +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% Helper macro to test recursive to a algebraic sign or a number without sign. % \begin{macrocode} \def\scr@ifisinteger#1{% \begingroup @@ -2386,16 +2250,16 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@ifisinteger -% \end{macro}%^^A \Ifisinteger -% \end{macro}%^^A \ifisinteger +% \end{macro}^^A \scr@ifisinteger +% \end{command}^^A \ifisinteger,\Ifisinteger % % % \begin{macro}{\scr@ifrelax@to@nnil} -% \changes{v3.12}{2013/11/05}{neu (intern)}%^^A -% Hilfsmakro, zur Verwendung beispielsweise nach Zuweissungen. Falls alles bis -% zum ersten \cs{@nnil} aus genau einem \cs{relax} besteht, wird das erste -% Argument ausgeführt, sonst das zweite. +% \changes{v3.12}{2013/11/05}{added} +% Helper macro to be used after an assignment. If everything until the first +% \cs{@nnil} is exactly one \cs{relax}, the second argument (first after the +% \cs{@nnil}) will be executed, otherwise the third argument (second after the +% \cs{@nnil}). % \begin{macrocode} %<*base> \newcommand*{\scr@ifrelax@to@nnil}{} @@ -2413,16 +2277,14 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\ifisdimension} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.12a}{2014/01/24}{Leerzeichenfehler korrigiert}%^^A -% \changes{v3.20}{2015/10/20}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisdimension}}%^^A -% \begin{macro}{\Ifisdimension} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisdimension}}%^^A -% Falls die stufenweise Expansion des ersten Arguments eine (positive oder -% negative) Länge ist, wird das zweite Argument ausgeführt, sonst das -% dritte. +% \begin{command}{\ifisdimension,\Ifisdimension} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.12a}{2014/01/24}{white space removed} +% \changes{v3.20}{2015/10/20}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisdimension} renamed to \cs{Ifisdimension}} +% If the step by step expansion of the first argument results in a (positive +% or negative) length, the second argument will be executed, otherwise the +% third one. % \begin{macrocode} %<*base> \providecommand*{\ifisdimension}{% @@ -2439,16 +2301,15 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisdimension} -% \changes{v3.20}{2015/10/20}{neu (intern)} -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% \changes{v3.28}{2019/11/23}{Vorzeichenfall \texttt{+} korrigiert}%^^A -% Eigentlich wäre dieses Hilfsmakro extrem aufwändig, da eine Dimension recht -% komplex aufgebaut sein darf. Ich habe aber beschlossen, hier mit einer -% Heuristik zu Werke zu gehen: Wenn das Argument mit einer beliebigen Anzahl -% Vorzeichen, gefolgt von max. einem Punkt, Komma oder einer Ziffer oder -% gefolgt einem der für Längen zulässigen Primitiv beginnt, dann probieren wir -% eine Zuweisung. Ist diese syntaktisch nicht korrekt, kann ein Fehler die -% Folge sein. Das mag unschön sein, vereinfacht den Test aber erheblich! +% \changes{v3.20}{2015/10/20}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% \changes{v3.28}{2019/11/23}{arithmetic plus sign fixed} +% To make this command absolutely correct without false positive and false +% negative results, it would be very complicated. Instead we use a heuristic: +% If the argument consists of a arbitrary number of arithmetic signs followed +% by at most one dot, comma or digit or followed by something, that is a valid +% lengths primitive, we try an assignment. Invalid assignments can result in +% errors. This is not the best solution but makes things a lot easier. % \begin{macrocode} \newcommand*{\scr@ifisdimension}[1]{% \begingroup @@ -2530,11 +2391,12 @@ } % \end{macrocode} % \begin{macro}{\scr@TestDimenionAssignTillNil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% Das durch \cs{@nil} begrenzte Argument wird einer temporären Länge -% zugewiesen. Wird dabei das Argument komplett aufgebraucht, so wird das -% erste Argument nach \cs{@nil} ausgeführt, sonst das zweite. Das begrenzte -% Argument wird in jedem Fall komplett aufgebraucht. +% \changes{v3.20}{2015/10/19}{added} +% Argument \texttt{\#1} delimited by \cs{@nil} is assigned to a temporary +% length. If this uses the argument completely, the argument \texttt{\#2} behind +% \cs{@nil} will executed, otherwise argument \texttt{\#3}. In any case +% \texttt{\#1} will removed from the input totally. The difference to +% \cs{scr@TestDimenAssignTillNil} is the \texttt{pt} test. % \begin{macrocode} \newcommand*\scr@TestDimensionAssignTillNil{} \def\scr@TestDimensionAssignTillNil#1\@nil{% @@ -2543,14 +2405,10 @@ \@tempdima=#1pt\@nnil } % \end{macrocode} -% \begin{macro}{\scr@IfAfterEndgroupArgIsRelaxTillptNnil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A -% \begin{macro}{\scr@IfArgIsRelaxAfterRelaxTillptNnil} -% \changes{v3.20}{2015/10/19}{neu (intern)} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in \cs{Ifstrstart}}%^^A +% \begin{macro}{\scr@IfArgIsRelaxAfterRelaxTillptNnil,\scr@IfAfterEndgroupArgIsRelaxTillptNnil} +% \changes{v3.20}{2015/10/19}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} % Die Hilfsmakros lesen ein durch \cs{@nnil} begrenztes Argument. Falls dieses % Argument nur aus einer Folge von \cs{relax} besteht, wird das erste Argument % nach \cs{@nnil} ausgeführt, sonst das zweite. @@ -2574,24 +2432,20 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@IfArgIsRelaxAfterRelaxTillptNnil -% \end{macro}%^^A \scr@IfArgIsRelaxTillptNnil -% \end{macro}%^^A \scr@DimensionSkipAssignTillNil -% \end{macro}%^^A \scr@ifisdimension -% \end{macro}%^^A \Ifisdimension -% \end{macro}%^^A \ifisdimension -% -% -% \begin{macro}{\ifisglue} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.12a}{2014/01/24}{Leerzeichenfehler korrigiert}%^^A -% \changes{v3.20}{2015/10/21}{Reimplementierung}%^^A -% \changes{v3.28}{2019/11/19}{umdefiniert in \cs{Ifisglue}}%^^A -% \begin{macro}{\Ifisglue} -% \changes{v3.28}{2019/11/19}{neu aus Umdefinierung von \cs{ifisglue}}%^^A -% Falls die stufenweise Expansion des ersten Arguments eine (positive oder -% negative) Länge mit Leim ist, wird das zweite Argument ausgeführt, sonst das -% dritte. +% \end{macro}^^A \scr@IfArgIsRelaxAfterRelaxTillptNnil,\scr@IfAfterEndgroupArgIsRelaxTillptNnil +% \end{macro}^^A \scr@DimensionSkipAssignTillNil +% \end{macro}^^A \scr@ifisdimension +% \end{command}^^A \ifisdimension,\Ifisdimension +% +% +% \begin{command}{\ifisglue} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.12a}{2014/01/24}{white space removed} +% \changes{v3.20}{2015/10/21}{re-implemented} +% \changes{v3.28}{2019/11/19}{\cs{ifisglue} renamed to \cs{Ifisglue}} +% If the step-by-step expansion of the first argument results in a (positive +% or negativ) length with glue, the second argument is executed, otherwise the +% third one. % \begin{macrocode} %<*base> \providecommand*{\ifisglue}{% @@ -2608,19 +2462,17 @@ } % \end{macrocode} % \begin{macro}{\scr@ifisglue} -% \changes{v3.20}{2015/10/21}{neu (intern)} -% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} umbenannt in -% \cs{Ifstrstart}}%^^A -% \changes{v3.28}{2019/11/23}{Vorzeichenfall \texttt{+} korrigiert}%^^A -% \changes{v3.28}{2019/11/23}{im Plusfall \cs{ifisdimension} durch -% \cs{ifisglue} ersetzt}%^^A -% Eigentlich wäre dieses Hilfsmakro extrem aufwändig, da Leim recht -% komplex aufgebaut sein darf. Ich habe aber beschlossen, hier mit einer -% Heuristik zu Werke zu gehen: Wenn das Argument mit einer beliebigen Anzahl -% Vorzeichen, gefolgt von max. einem Punkt, Komma oder einer Ziffer oder -% gefolgt einem der für Leim zulässigen Primitiv beginnt, dann probieren wir -% eine Zuweisung. Ist diese syntaktisch nicht korrekt, kann ein Fehler die -% Folge sein. Das mag unschön sein, vereinfacht den Test aber erheblich! +% \changes{v3.20}{2015/10/21}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% \changes{v3.28}{2019/11/23}{arithmetic plus sign fixed} +% \changes{v3.28}{2019/11/23}{in plus case \cs{ifisdimension} replaced by +% \cs{ifisglue}} +% To make this command absolutely correct without false positive and false +% negative results, it would be very complicated. Instead we use a heuristic: +% If the argument consists of a arbitrary number of arithmetic signs followed +% by at most one dot, comma or digit or followed by something, that is a valid +% primitive for skips, we try an assignment. Invalid assignments can result in +% errors. This is not the best solution but makes things a lot easier. % \begin{macrocode} \newcommand*{\scr@ifisglue}[1]{% \begingroup @@ -2702,11 +2554,12 @@ } % \end{macrocode} % \begin{macro}{\scr@TestGlueAssignTillNil} -% \changes{v3.20}{2015/10/21}{neu (intern)} -% Das durch \cs{@nil} begrenzte Argument wird einer temporären Länge -% zugewiesen. Wird dabei das Argument komplett aufgebraucht, so wird das -% erste Argument nach \cs{@nil} ausgeführt, sonst das zweite. Das begrenzte -% Argument wird in jedem Fall komplett aufgebraucht. +% \changes{v3.20}{2015/10/21}{added} +% Argument \texttt{\#1} delimited by \cs{@nil} is assigned to a temporary +% \cs{skip}. If this uses the argument completely, the argument \texttt{\#2} behind +% \cs{@nil} will executed, otherwise argument \texttt{\#3}. In any case +% \texttt{\#1} will removed from the input totally. The difference to +% \cs{scr@TestSkipAssignTillNil} is the \texttt{pt} test. % \begin{macrocode} \newcommand*\scr@TestGlueAssignTillNil{} \def\scr@TestGlueAssignTillNil#1\@nil{% @@ -2716,35 +2569,31 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@TestGlueAssignTillNil -% \end{macro}%^^A \scr@ifisglue -% \end{macro}%^^A \Ifisglue -% \end{macro}%^^A \ifisglue +% \end{macro}^^A \scr@TestGlueAssignTillNil +% \end{macro}^^A \scr@ifisglue +% \end{command}^^A \ifisglue,\Ifisglue % % -% \begin{macro}{\ifnumber} +% \begin{command}{\ifnumber,\Ifnumber} % \changes{v3.12}{2013/10/30}{using \cs{aftergroup} instead of -% \cs{endgroup}\cs{expandafter}}%^^A -% \changes{v3.12a}{2014/01/24}{Leerzeichenfehler korrigiert}%^^A -% \changes{v3.27}{2019/08/26}{leere Argumente werden korrekt behandelt}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A -% \begin{macro}{\Ifnumber} -% \changes{v3.28}{2019/11/18}{Neu aus Umbenennung von \cs{ifnumber}}%^^A -% Dieses Makro testet, ob ein übergebener Parameter eine positive, -% ganze Zahl ist. Ist dies der Fall, wird der zweite Parameter -% ausgeführt, sonst der dritte. +% \cs{endgroup}\cs{expandafter}} +% \changes{v3.12a}{2014/01/24}{white space removed} +% \changes{v3.27}{2019/08/26}{empty arguments fixed} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} renamed to \cs{Ifnumber}} +% If the first argument is a positive integer, the second argument is +% executed, otherwise the third. % \begin{macrocode} %<*base> \providecommand*{\ifnumber}{% % \end{macrocode} -% Die Warnung darf nicht ausgegeben werden, wenn \textsf{babelbib} geladen -% wurde, weil das Paket die Anweisung ebenfalls definiert, aber nur, wenn sie -% nicht bereits definiert war. Dabei werden übrigens teilweise Makronamen mit -% dem Präfix \cs{scr@} definiert, was ich gar nicht lustig finde. Ãœberhaupt -% geht das böse in die Hose, wenn \textsf{babelbib} vor \texttt{scrbase} -% geladen wird, was ja durchaus passieren kann. Möglichweise werde ich daher -% die Sonderbehandlung an dieser Stelle auch wieder entfernen, sobald ich die -% Anleitung von \textsf{babelbib} auf \textsf{biblatex} umgestellt habe. +% Note: We must not output the warning if package \pkg{babelbib} has been +% loaded, because the package defines the same command but only, if it has not +% been defined already. Unfortunately and against all conventions, it even +% defines internal macros of \pkg*{scrbase} with prefix \cs{scr@}. This is +% very dangerous and would result in errors, if \pkg{babelbib} is loaded +% before \pkg*{scrbase}. Maybe I will remove this special treatment of +% \pkg{babelbib} after switching over to \pkg{biblatex} for the \KOMAScript{} +% manuals. % \begin{macrocode} \scr@ifundefinedorrelax{ver@babelbib.sty}{% \PackageWarning{scrbase}{Usage of deprecated command @@ -2757,7 +2606,7 @@ \Ifnumber } \newcommand\Ifnumber[1]{% - \begingroup\@tempswafalse\let\scr@next\test@number + \begingroup\@tempswafalse\let\scr@next\scr@test@number \IfArgIsEmpty{#1}{}{\expandafter\scr@next#1\scr@next}% \if@tempswa \aftergroup\@firstoftwo @@ -2767,18 +2616,14 @@ \endgroup } % \end{macrocode} -% \begin{macro}{\test@number} -% Für den eigentlichen Test wird der erste Parameter Token für Token -% gescannt und beurteilt. +% \begin{macro}{\test@number,\scr@test@number} +% \changes{v3.36}{2022/02/17}{\cs{test@number} renamed to \cs{scr@test@number}} +% For the real test scan the first argument token by token. % \begin{macrocode} -\newcommand*{\test@number}[1]{% +\newcommand*{\scr@test@number}[1]{% \ifx \scr@next#1% \let\scr@next\relax \else -% \end{macrocode} -% Dabei wird für einen schnelleren Vergleich die Tatsache genutzt, dass -% Ziffernzeichen immer im selben durchgängigen Bereich liegen -% \begin{macrocode} \@tempcnta=\expandafter\expandafter\expandafter\number \expandafter`#1\relax \ifnum \@tempcnta>47 @@ -2787,9 +2632,7 @@ \else\@tempswafalse\fi \else\@tempswafalse\fi % \end{macrocode} -% Das zeichenweise Scannen und Parsen kann natürlich nicht einfach -% abgebrochen werden. Stattdessen ist der Parameterrest noch zu -% entfernen. +% Remove the rest, if a non-digit has been found. % \begin{macrocode} \if@tempswa\else\let\scr@next\gobble@till@scr@next\fi \fi @@ -2797,26 +2640,22 @@ } % \end{macrocode} % \begin{macro}{\gobble@tillscr@@next} -% Das geschieht mit einem einzigen "`Leermacro"'. +% Use a delimited \emph{empty} macro. % \begin{macrocode} \newcommand*{\gobble@till@scr@next}{} \def\gobble@till@scr@next#1\scr@next{} %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \gobble@tillscr@next +% \end{macro}^^A \test@number, \scr@test@number +% \end{command}^^A \ifnumber,\Ifnumber % -% \begin{macro}{\ifintnumber} -% \changes{v3.12}{2013/10/30}{neu}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifintnumber} umbenannt in -% \cs{Ifintnumber}}%^^A -% \begin{macro}{\Ifintnumber} -% \changes{v3.28}{2019/11/18}{neu aus Umbenennung von \cs{ifintnumber}} -% Ist das erste Argument eine positive oder negative ganze Zahl, to wird das -% zweite Argument ausgeführt, sonst das dritte. Wie bei \TeX{} auch sind -% beliebig viele Vorzeichen erlaubt. +% \begin{command}{\ifintnumber,\Ifintnumber} +% \changes{v3.12}{2013/10/30}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifintnumber} renamed to +% \cs{Ifintnumber}} +% If the first argument is a positive or negative integer, execute the second +% argument, otherwise the third one. There are multiple arithmetic signs allowed. % \begin{macrocode} %<*base> \providecommand*{\ifintnumber}{% @@ -2840,7 +2679,7 @@ } % \end{macrocode} % \begin{macro}{\scr@test@sign} -% \changes{v3.12}{2013/10/30}{neu (intern)}%^^A +% \changes{v3.12}{2013/10/30}{added} % \begin{macrocode} \newcommand*{\scr@test@sign}[1]{% \ifx \scr@next#1 @@ -2850,7 +2689,7 @@ \else \ifx #1+% \else - \def\scr@next{\let\scr@next\test@number\scr@next #1}% + \def\scr@next{\let\scr@next\scr@test@number\scr@next #1}% \fi \fi \fi @@ -2858,17 +2697,13 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@test@sign +% \end{command}^^A \ifintnumber,\Ifintnumber % -% \begin{macro}{\ifdimen} -% \changes{v3.28}{2019/11/18}{umbenannt in \cs{Ifdimen}}%^^A -% \begin{macro}{\Ifdimen} -% \changes{v3.28}{2019/11/18}{neu aus Umbenennung von \cs{ifdimen}}%^^A -% Dieses Makro testet, ob ein übergebener Parameter eine Dimension -% ist und führt in Abhängigkeit davon den zweiten oder dritten -% Parameter aus. +% \begin{command}{\ifdimen,\Ifdimen} +% \changes{v3.28}{2019/11/18}{renamed to \cs{Ifdimen}} +% If the first argument is a dimension number, the second argument will be +% executed, otherwise the third. % \begin{macrocode} %<*base> \providecommand*{\ifdimen}{% @@ -2881,8 +2716,8 @@ \Ifdimen } \newcommand{\Ifdimen}[1]{% - \begingroup\@tempswatrue\let\scr@next\test@posdimen - \expandafter\test@dimen#1\scr@next + \begingroup\@tempswatrue\let\scr@next\scr@test@posdimen + \expandafter\scr@test@dimen#1\scr@next \if@tempswa \endgroup\expandafter\@firstoftwo \else @@ -2890,23 +2725,22 @@ \fi } % \end{macrocode} -% \begin{macro}{\test@dimen} -% Als erste muss ein Vorzeichen entfernt werden. +% \begin{macro}{\test@dimen,\scr@test@dimen} +% \changes{v3.36}{2022/02/17}{\cs{test@dimen} renamed to \cs{scr@test@dimen}} +% We have to remove the arithmetic signs. % \begin{macrocode} -\newcommand*{\test@dimen}[1]{% +\newcommand*{\scr@test@dimen}[1]{% \ifx -#1\else\ifx +#1\else - \def\scr@next{\let\scr@next\test@posdimen\scr@next#1}\fi\fi + \def\scr@next{\let\scr@next\scr@test@posdimen\scr@next#1}\fi\fi \scr@next } % \end{macrocode} -% \begin{macro}{\test@posdimen} -% Dann muss getestet werden, ob es sich beim Rest um eine Dimension -% handelt. Dabei werden der Einfachheit halber mehrere Dezimalkomma -% und -punkte erlaubt. Natürlich könnte man es auch wirklich richtig -% machen, aber das wäre nochmal etwas aufwendiger. Ist das wirklich -% notwendig? +% \begin{macro}{\test@posdimen,\scr@test@posdimen} +% \changes{v3.36}{2022/02/17}{\cs{test@posdimen} renamed to \cs{scr@test@posdimen}} +% Is the rest a dimension. Despite this is not correct, we allow more than one +% decimal point or decimal comma. Should this be changed? % \begin{macrocode} -\newcommand*{\test@posdimen}[1]{% +\newcommand*{\scr@test@posdimen}[1]{% \ifx \scr@next#1% \@tempswafalse\let\scr@next\relax \else @@ -2915,37 +2749,33 @@ \expandafter\expandafter\expandafter\number\expandafter`#1\relax \ifnum \@tempcnta>47 \ifnum \@tempcnta<58 - \else\def\scr@next{\test@dimunt#1}\fi - \else\def\scr@next{\test@dimunt#1}\fi + \else\def\scr@next{\scr@test@dimunt#1}\fi + \else\def\scr@next{\scr@test@dimunt#1}\fi \fi\fi \fi \scr@next } % \end{macrocode} -% \begin{macro}{\test@dimunt} -% \begin{macro}{\test@trueunt} -% Außer einer Gleitkomma- bzw. Gleitpunktzahl muss auch noch die Einheit -% behandelt werden. Dabei sind sowohl die neun Standardeinheiten als auch -% deren "`true"'-Variante zu berücksichtigen. Deshalb wird zuerst ein -% eventuelles "`\texttt{true}"' weggeworfen. +% \begin{macro}{\test@dimunt,\test@trueunt,\scr@test@dimunt,\scr@test@trueunt} +% Last but not least the unit has to be tested. We have standard units and +% true units. So we first cut of a ``\texttt{true}''. % \begin{macrocode} -\newcommand*{\test@dimunt}{} -\def\test@dimunt#1\scr@next{% - \expandafter\test@trueunt#1truetrue\test@trueunt +\newcommand*{\scr@test@dimunt}{} +\def\scr@test@dimunt#1\scr@next{% + \expandafter\scr@test@trueunt#1truetrue\scr@test@trueunt } -\newcommand*{\test@trueunt}{} -\def\test@trueunt#1true#2true#3\test@trueunt{% +\newcommand*{\scr@test@trueunt}{} +\def\scr@test@trueunt#1true#2true#3\scr@test@trueunt{% \edef\reserved@a{#1}% - \ifx\reserved@a\@empty\test@@ifdimunt{#2}\else\test@@ifdimunt{#1}\fi + \ifx\reserved@a\@empty\scr@test@@dimunt{#2}\else\scr@test@@dimunt{#1}\fi } % \end{macrocode} -% \begin{macro}{\test@@ifdimunt} -% \changes{v3.21}{2016/05/27}{elf bis zwölf Einheiten nicht neun} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Anschließend wird dann getestet, ob es sich um eine der elf bis zwölf -% üblichen Einheiten handelt. +% \begin{macro}{\test@@ifdimunt,\scr@test@@dimunt} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Currently we know eleven or twelve units. Unit \texttt{px} is only valid +% with PDF output. % \begin{macrocode} -\newcommand*\test@@ifdimunt[1]{% +\newcommand*\scr@test@@dimunt[1]{% \@tempswafalse \Ifstr{#1}{pt}{\@tempswatrue}{% \Ifstr{#1}{pc}{\@tempswatrue}{% @@ -2975,36 +2805,36 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \test@@ifdimunt,\scr@test@@dimunt +% \end{macro}^^A \test@dimunt,\test@trueunt,\scr@test@dimunt,\scr@test@trueunt +% \end{macro}^^A \scr@test@posdimen +% \end{macro}^^A \scr@test@dimen +% \end{command}^^A \ifdimen,\Ifdimen % % -% \begin{macro}{\ifpdftex} -% \changes{v2.95}{2002/08/19}{neu}%^^A -% \changes{v3.28}{2019/11/18}{entfernt}%^^A +% \begin{command}{\ifpdftex} +% \changes{v2.95}{2002/08/19}{added} +% \changes{v3.28}{2019/11/18}{removed} +% \end{command} % \begin{macro}{\scr@ifpdftex} -% \changes{v2.95}{2002/08/19}{neu (intern)}%^^A -% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch -% \cs{Ifnotundefined} ersetzt}%^^A -% If-then-else-Konstrukt, um zu testen, ob pdf\TeX{} verwendet wird. +% \changes{v2.95}{2002/08/19}{added} +% \changes{v3.30}{2020/03/06}{\cs{ifnotundefined} replaced by \cs{Ifnotundefined}} +% If \pdfTeX{} is used, execute the first argument, otherwise the +% second. Note, we do not read the arguments but delegate them to +% \cs{Ifnotundefined}. % \begin{macrocode} %<*base> \newcommand{\scr@ifpdftex}{\Ifnotundefined{pdftexversion}} %</base> % \end{macrocode} % \end{macro} -% \end{macro} % % \begin{macro}{\scr@ifluatex} -% \changes{v3.21}{2016/05/27}{neu (intern)}%^^A -% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch -% \cs{Ifnotundefined} ersetzt}%^^A -% If-the-else-Konstrukt, um zu testen, ob lua\TeX{} verwendet wird. +% \changes{v3.21}{2016/05/27}{added} +% \changes{v3.30}{2020/03/06}{\cs{ifnotundefined} replaced by \cs{Ifnotundefined}} +% If \LuaTeX{} is used, execute the first argument, otherwise the +% second. Note, we do not read the arguments but delegate them to +% \cs{Ifnotundefined}. % \begin{macrocode} %<*base> \newcommand{\scr@ifluatex}{\Ifnotundefined{luatexversion}} @@ -3013,9 +2843,10 @@ % \end{macro} % % \begin{macro}{\scr@ifpdforluatex} -% \changes{v3.21}{2016/05/27}{neu (intern)}%^^A -% If-then-else-Konstrukt, um zu testen, ob pdf\TeX{} oder lua\TeX{} verwendet -% wird. +% \changes{v3.21}{2016/05/27}{added} +% If either \LuaTeX{} or \pdfTeX{} is used, execute the first argument, +% otherwise the second. Note, we do not read the arguments but delegate them +% to \cs{@firstoftwo} and \cs{@secondoftwo}. % \begin{macrocode} %<*base> \newcommand*{\scr@ifpdforluatex}{% @@ -3025,42 +2856,41 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\ifVTeX} -% \changes{v2.95}{2002/08/19}{neu}%^^A -% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{ifvtex}}%^^A -% \changes{v3.28}{2019/11/18}{entfernt}%^^A -% \begin{macro}{\scr@ifVTeX} -% \changes{v2.95}{2002/08/19}{neu}%^^A -% \changes{v2.97c}{2007/06/20}{umdefiniert von \cs{scr@ifvtex}} -% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch -% \cs{Ifnotundefined} ersetzt}%^^A -% If-then-else-Konstrukt, um zu testen, ob V\TeX{} verwendet wird. +% \begin{command}{\ifvtex,\ifVTeX} +% \changes{v2.95}{2002/08/19}{added} +% \changes{v2.97c}{2007/06/20}{\cs{ifvtex} renamed to \cs{ifVTeX}} +% \changes{v3.28}{2019/11/18}{removed} +% \end{command} +% \begin{macro}{\scr@ifvtex,\scr@ifVTeX} +% \changes{v2.95}{2002/08/19}{added} +% \changes{v2.97c}{2007/06/20}{\cs{scr@ifvtex} renamed to \cs{scr@ifVTeX}} +% \changes{v3.30}{2020/03/06}{\cs{ifnotundefined} replaced by \cs{Ifnotundefined}} +% If \VTeX{} is used, execute the first argument, otherwise the +% second. Note, we do not read the arguments but delegate them to +% \cs{Ifnotundefined}. % \begin{macrocode} %<*base> \newcommand{\scr@ifVTeX}{\Ifnotundefined{VTeXversion}} %</base> % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{\ifpdfoutput} -% \changes{v2.7g}{2001/04/17}{neu}%^^A -% \changes{v2.8q}{2001/10/19}{\cs{pdfoutput} wird nicht mehr zu -% \cs{relax}, wenn zuvor undefiniert} -% \changes{v2.8q}{2001/10/19}{darf bereits definiert sein}%^^A -% \changes{v2.8q}{2001/10/19}{Verwendung von \cs{scr@ifpdfoutput}}%^^A -% \changes{v3.28}{2019/11/18}{Umbenannt in \cs{Ifpdfoutput}}%^^A -% \begin{macro}{\Ifpdfoutput} -% \changes{v3.28}{2019/11/18}{Neu aus Umbenennung von \cs{ifpdfoutput}}%^^A +% \begin{command}{\ifpdfoutput,\Ifpdfoutput} +% \changes{v2.7g}{2001/04/17}{added} +% \changes{v2.8q}{2001/10/19}{\cs{pdfoutput} does not become \cs{relax} if it +% was undefined before} +% \changes{v2.8q}{2001/10/19}{\cs{ifpdfoutput} is only defined if new} +% \changes{v2.8q}{2001/10/19}{usage of \cs{scr@ifpdfoutput}} +% \changes{v3.28}{2019/11/18}{\cs{ifpdfoutput} renamed to \cs{Ifpdfoutput}} % \begin{macro}{\scr@ifpdfoutput} -% \changes{v2.8q}{2001/10/19}{neu (intern)}%^^A -% \changes{v2.8q}{2001/11/13}{funktioniert}%^^A -% \changes{v2.95}{2002/08/21}{berücksichtigt V\TeX}%^^A -% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert}%^^A -% \changes{v3.21}{2016/05/27}{lua\TeX{} nach 0.85 berücksichtigt}%^^A -% If-then-else-Konstrukt, um abhängig davon, ob als \texttt{pdf} -% ausgegeben wird oder nicht, Befehle auszuführen. Dieses Makro wird -% für die Deklaration der Option \texttt{pagesize} benötigt. +% \changes{v2.8q}{2001/10/19}{added} +% \changes{v2.8q}{2001/11/13}{full functional} +% \changes{v2.95}{2002/08/21}{knowing \VTeX} +% \changes{v2.95}{2004/07/20}{expandable} +% \changes{v3.21}{2016/05/27}{works for \LuaTeX{} after version 0.85} +% If the output (currently) produces a PDF, the first argument is executed, +% otherwise the second one. This macro is used inside the implementation of +% option \opt{pagesize}, so we cannot remove it or declare it as deprecated. % \begin{macrocode} %<*base> \newcommand{\scr@ifpdfoutput}{% @@ -3103,21 +2933,19 @@ %</base> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\ifpsoutput} -% \changes{v2.95}{2002/08/21}{neu}%^^A -% \changes{v3.28}{2019/11/18}{umbenannt in \cs{Ifpsoutput}}%^^A -% \begin{macro}{\Ifpsoutput} -% \changes{v3.28}{2019/11/18}{neu aus Umbenennung von \cs{ifpsoutput}}%^^A +% \begin{command}{\ifpsoutput,\Ifpsoutput} +% \changes{v2.95}{2002/08/21}{added} +% \changes{v3.28}{2019/11/18}{renamed to \cs{Ifpsoutput}} % \begin{macro}{\scr@ifpsoutput} -% \changes{v2.95}{2002/08/21}{neu (intern)}%^^A -% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert}%^^A -% \changes{v3.30}{2020/03/06}{veralteten Befehl \cs{ifnotundefined} durch -% \cs{Ifnotundefined} ersetzt}%^^A -% If-then-else-Konstrukt, um abhängig davon, ob früher oder später -% \texttt{ps} ausgegeben wird oder nicht, Befehle auszuführen. +% \changes{v2.95}{2002/08/21}{added} +% \changes{v2.95}{2004/07/20}{expandable} +% \changes{v3.30}{2020/03/06}{\cs{ifnotundefined} replaced by \cs{Ifnotundefined}} +% If the output is (currently) expected to be PS some time, the first argument +% is executed, otherwise the second one. This macro is used inside the +% implementation of option \opt{pagesize}, so we cannot remove it or declare +% it as deprecated. % \begin{macrocode} %<*base> \newcommand*{\scr@ifpsoutput}{% @@ -3152,20 +2980,18 @@ %</base> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\ifdvioutput} -% \changes{v2.95}{2002/08/21}{neu}%^^A -% \changes{v3.28}{2019/11/18}{umbenannt in \cs{Ifdvioutput}}%^^A -% \begin{macro}{\Ifdvioutput} -% \changes{v3.28}{2019/11/18}{neu aus Umbenennung von \cs{ifdvioutput}}%^^A +% \begin{command}{\ifdvioutput,\Ifdvioutput} +% \changes{v2.95}{2002/08/21}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifdvioutput} renamed to \cs{Ifdvioutput}} % \begin{macro}{\scr@ifdvioutput} -% \changes{v2.95}{2002/08/21}{neu (intern)}%^^A -% \changes{v2.95}{2004/07/20}{Expandierbarkeit verbessert}%^^A -% \changes{v3.23}{2017/02/14}{lua\TeX{} nach 0.85 berücksichtigt}%^^A -% If-then-else-Konstrukt, um abhängig davon, ob \texttt{dvi} -% ausgegeben wird oder nicht, Befehle auszuführen. +% \changes{v2.95}{2002/08/21}{added} +% \changes{v2.95}{2004/07/20}{expandable} +% \changes{v3.23}{2017/02/14}{works for \LuaTeX{} after version 0.85} +% If the output (currently) produces a DVI, the first argument is executed, +% otherwise the second one. This macro is used inside the implementation of +% option \opt{pagesize}, so we cannot remove it or declare it as deprecated. % \begin{macrocode} %<*base> \newcommand*{\scr@ifdvioutput}{% @@ -3208,20 +3034,24 @@ %</base> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % % \begin{macro}{\scr@smashdp} -% \changes{v2.97c}{2007/09/17}{neu (intern)}%^^A -% \changes{v3.02a}{2009/01/23}{\cs{smash} nicht direkt verwenden, weil -% \textsf{amsmath} das inkompatibel umdefiniert} -% Gibt Material aus, erzeugt dabei aber nur Höhe und Breite, jedoch keine -% Tiefe. +% \changes{v2.97c}{2007/09/17}{added} +% \changes{v3.02a}{2009/01/23}{using own definition instead of \cs{smash}} +% \changes{v3.36}{2022/02/18}{as robust as \cs{smash}} +% Generate a box and output it with height and width but no depth. Note: Using +% internal macros \cs{finsm@sh}, \cs{mathsm@sh} and \cs{makesm@ash} from the +% \LaTeX{} kernel is a very ugly hack and dangerous. Using \cs{smash} itself +% would be problematic, because \pkg{amsmath} redefines it and the new +% definition is not fully compatible. But maybe a better definition could be +% found depending on, whether \pkg{amsmath} has been loaded or not. % \begin{macrocode} %<*base> -\newcommand*{\scr@smashdp}[1]{% +\DeclareRobustCommand{\scr@smashdp}[1]{% + \relax \begingroup - \def\finsm@sh{\dp\z@\z@\box\z@}% + \def\finsm@sh{\dp\z@\z@ \leavevmode\box\z@}% \ifmmode \expandafter\mathpalette\expandafter\mathsm@sh \else @@ -3234,11 +3064,11 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\IfRTL} -% \changes{v3.24}{2017/05/04}{neu} -% Die Anweisung testet, ob wir uns gerade im Von-Rechts-Nach-Links-Modus von -% Paketen wie \textsf{bidi} befinden. Ist das der Fall, wird das erste -% Argument ausgeführt, sonst das zweite. +% \begin{command}{\IfRTL} +% \changes{v3.24}{2017/05/04}{added} +% \changes{v3.36}{2022/02/18}{white space removed} +% If we are in the right-to-left mode of a package like \pkg{bidi} the first +% argument will be used otherwise the second one. % \begin{macrocode} %<*base> \newcommand*{\IfRTL}{% @@ -3249,16 +3079,17 @@ \else \expandafter\@secondoftwo \fi - } + }% } %</base> % \end{macrocode} -% \end{macro}%^^A \IfRTL -% \begin{macro}{\IfLTR} -% \changes{v3.24}{2017/05/04}{neu} -% Die Anweisung testet, ob wir uns gerade nicht im -% Von-Rechts-Nach-Links-Modus von Paketen wie \textsf{bidi} befinden. Ist -% das der Fall, wird das erste Argument ausgeführt, sonst das zweite. +% \end{command}^^A \IfRTL +% \begin{command}{\IfLTR} +% \changes{v3.24}{2017/05/04}{added} +% \changes{v3.36}{2022/02/18}{white space removed} +% If we are not in the right-to-left mode of a package like \pkg{bidi} any +% kind of left-to-right mode is assumed and the first argument is used, +% otherwise the second one. % \begin{macrocode} %<*base> \newcommand*{\IfLTR}{% @@ -3269,15 +3100,15 @@ \else \expandafter\@firstoftwo \fi - } + }% } %</base> % \end{macrocode} -% \end{macro}%^^A \IfLTR +% \end{command}^^A \IfLTR % -% \begin{macro}{\PackageInfoNoLine} -% \changes{v2.97d}{2007/10/03}{neu}%^^A -% Arbeitet wie \cs{PackageInfo} aber ohne Ausgabe der Zeilennummer. +% \begin{command}{\PackageInfoNoLine} +% \changes{v2.97d}{2007/10/03}{added} +% Like \cs{PackageInfo} but without output of line number at the end. % \begin{macrocode} %<*base> \providecommand*{\PackageInfoNoLine}[2]{% @@ -3285,11 +3116,11 @@ } %</base> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\ClassInfoNoLine} -% \changes{v2.98c}{2008/02/15}{neu}%^^A -% Arbeitet wie \cs{ClassInfo} aber ohne Ausgabe der Zeilennummer. +% \begin{command}{\ClassInfoNoLine} +% \changes{v2.98c}{2008/02/15}{added} +% Like \cs{ClassInfo} but without output of line number at the end. % \begin{macrocode} %<*base> \providecommand*{\ClassInfoNoLine}[2]{% @@ -3297,16 +3128,12 @@ } %</base> % \end{macrocode} -% \end{macro} +% \end{command} % % \begin{macro}{\@removefromreset} -% \changes{v3.15}{2014/11/21}{neue Anweisung, kompatibel mit -% \textsf{remreset} und \textsf{chngcntr}}%^^A -% Dieser alte Bekannte aus dem Paket \textsf{remreset} wird auch von -% \KOMAScript{} benötigt. Es ist einfacher, ihn selbst zu definieren, als sich -% auf andere Pakete zu verlassen. Ab \LaTeX~2018-04-01 ist das aber auch -% Bestandteil von \LaTeX. Deshalb ist es in jedem Fall sinnvoll die Definition -% nur vorzunehmen, wenn es nicht definiert ist. +% \changes{v3.15}{2014/11/21}{added}% +% For \LaTeX{} releases before 2018/04/01 and without using a package like +% \pkg{remreset} or \pkg{chngcntr} we still need \cs{@removefromreset}. % \begin{macrocode} %<*base> \providecommand*\@removefromreset[2]{% @@ -3323,12 +3150,11 @@ % \end{macrocode} % \end{macro} % -% \selectlanguage{english}% -% \begin{macro}{\IfActiveMkBoth} -% \changes{v3.26}{2018/09/03}{new}%^^A +% \begin{command}{\IfActiveMkBoth} +% \changes{v3.26}{2018/09/03}{added} % \begin{macro}{\if@scrActiveMkBoth} -% \changes{v3.26}{2018/09/03}{new}%^^A -% \changes{v3.27}{2019/07/26}{handling for \cs{marks}}%^^A +% \changes{v3.26}{2018/09/03}{added} +% \changes{v3.27}{2019/07/26}{handling for \cs{marks}} % This command test, whether or not \cs{@mkboth} does change a mark or not. % \begin{macrocode} %<*base> @@ -3355,31 +3181,27 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A\if@scrActiveMkBoth -% \end{macro}%^^A\IfActiveMkBoth -% \selectlanguage{ngerman}% -% -% \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Hauptteil)} -% -% \begin{macro}{\FamilyExecuteOptions} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt}%^^A -% \changes{v3.04b}{2010/02/02}{\cs{scr@key@atlist} und \cs{scr@key@name}%^^A -% vor Ãœberschreiben in \cs{setkeys} geschützt}%^^A -% \changes{v3.12}{2013/03/04}{neue Implementierung}%^^A -% \changes{v3.12}{2013/03/04}{darf auch noch nach der Präambel verwendet -% werden}%^^A -% \changes{v3.14}{2014/10/17}{das dritte Argument wird \cs{long}%^^A -% verarbeitet}%^^A +% \end{macro}^^A \if@scrActiveMkBoth +% \end{command}^^A \IfActiveMkBoth +% +% +% \subsection{Definition of the \KOMAScript{} \pkg*{keyval} main handling} +% +% \begin{command}{\FamilyExecuteOptions} +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.04b}{2010/01/29}{\cs{edef} replaced by \cs{protected@edef}} +% \changes{v3.04b}{2010/02/02}{prevent overwriting of \cs{scr@key@atlist} and +% \cs{scr@key@name} in \cs{setkeys}} +% \changes{v3.12}{2013/03/04}{re-implemented} +% \changes{v3.12}{2013/03/04}{can be used after document preamble} +% \changes{v3.14}{2014/10/17}{third argument is \cs{long}} % \begin{macro}{\@FamilyExecuteOptions} -% \changes{v3.14}{2014/10/17}{Neue streng interne Anweisung}%^^A -% \changes{v3.23}{2017/02/16}{Korrektur: Haken danach verwendet die Familie -% statt des Mitglieds}%^^A -% \changes{v3.27}{2019/10/02}{Fehlermeldungen verbessert}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Entspriche \cs{ExecuteOptions} jedoch \textsf{keyval}-Optionen. Insbesondere -% ist die Anweisung reentrant! Es ist jedoch zu beachten, dass der hook lokal -% zum jeweiligen Aufruf ist. +% \changes{v3.14}{2014/10/17}{new} +% \changes{v3.23}{2017/02/16}{fix: hook after uses family instead of member} +% \changes{v3.27}{2019/10/02}{improved error message} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Similar to \cs{ExecuteOptions} but with \pkg{keyval} options. The command +% also is re-entrant. Note: The hooks are local to every usage. % \begin{macrocode} %<*base> \newcommand*{\FamilyExecuteOptions}[2][.\@currname.\@currext]{% @@ -3405,11 +3227,10 @@ \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{% \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{% % \end{macrocode} -% \changes{v3.20}{2015/11/18}{Besondere Behandlung der -% \texttt{@else@}-Option}%^^A -% Es existiert zwar weder eine Familienoption noch eine Mitgliedsoption, aber -% vielleicht existiert ja die Spezialoption \texttt{@else@}, die in einem -% solchen Fall die eigentliche Option als Wert erhält. +% \changes{v3.20}{2015/11/18}{special treatment of \opt{@else@} option} +% Neither family nor member option found. But maybe special option +% \opt{@else@} exists. In this case the current option is set as value of +% \opt{@else@}. % \begin{macrocode} \scr@ifundefinedorrelax{KV@#2#1@@else@}{% \PackageError{scrbase}{% @@ -3427,10 +3248,9 @@ }{% \scr@execute@elseoption{#2#1}% % \end{macrocode} -% Im Gegensatz zu anderen Optionen bedeuten bei der \texttt{@else@}-Option -% alle von \cs{FamilyKeyStateProcessed} abweichenden Ergebnisse, dass die -% Option nicht korrekt verarbeitet werden konnte und deshalb die ursprüngliche -% Option als Fehler zu melden ist. +% In difference to other options, for \opt{@else@} all states different from +% \cs{FamilyKeyStateProcessed} have to be reported as error of the +% current/original option. % \begin{macrocode} \ifx\FamilyKeyState\FamilyKeyStateProcessed\else \PackageError{scrbase}{% @@ -3457,13 +3277,12 @@ \scr@execute@option{#2}% \Ifstr{#1}{}{}{% % \end{macrocode} -% \changes{v3.20}{2015/11/18}{Memberoptionstest nach Familyoptionsausführung -% korrigiert}%^^A -% Auch wenn eine Familienoption ausgeführt wurde, muss eine existierende -% Mitgliederoption ggf. noch ausgeführt werden. Existiert sie nicht, wird -% ebenfalls eine existierende \texttt{@else@}-Option ausgeführt. Allerdings -% führen in diesem Fall von \cs{FamilyKeyStateProcessed} abweichende -% Ergebnisse nicht zu einer Fehlermeldung. +% \changes{v3.20}{2015/11/18}{member option test after execution of family +% option fixed} +% If a family option has been found and executed an existing member option +% still has to be executed. If no member option exists, also an existing +% \opt{@else@} option of the member has to been used. But in this case, the +% states different from \cs{FamilyKeyStateProcessed} are not errors. % \begin{macrocode} \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{% \scr@ifundefinedorrelax{KV@#2#1@@else@}{}{% @@ -3488,16 +3307,15 @@ %</base> % \end{macrocode} % \begin{macro}{\scr@show@key@state@error} -% \changes{v3.12}{2013/03/04}{Neue Anweisung (intern)}%^^A -% \changes{v3.27}{2019/10/02}{Fehlermeldungen verbessert}%^^A -% Zeige abhängig von \cs{FamilyKeyState} eine Fehlermeldung. Alle -% Informationen zu dem Fehler müssen in \cs{FamilyMemberOfKey} -% (Familienmitglied oder \cs{@empty}), \cs{FamilyOfKey} (Familie oder -% \cs{@empty}), \cs{scr@key@atlist} (Option, wie sie in der Liste stand), -% \cs{scr@key@name} (Name der Option) und \cs{scr@key@value} (Wert der -% Option) stehen. Es ist zu beachten, dass \cs{scr@key@atlist} und -% \cs{scr@key@value} ebenfalls Macros enthalten können. Deshalb werden diese -% Werte ggf. über \cs{detokenize} ausgegeben. +% \changes{v3.12}{2013/03/04}{added} +% \changes{v3.27}{2019/10/02}{improved error message} +% Show depending on \cs{FamilyKeyState} a error message. All information to +% the error has to be set to \cs{FamilyMemberOfKey} (member or \cs{@empty}), +% \cs{FamilyOfKey} (family or \cs{@empty}), \cs{scr@key@atlest} (option as it +% was in the option list), \cs{scr@key@name} (\meta{key} of the option), and +% \cs{scr@key@value} (\meta{value} of the option). Note: \cs{scr@key@atlist} +% and \cs{scr@key@value} can contain macros and will be output using +% \cs{detokenize}. % \begin{macrocode} %<*base> \newcommand*{\scr@show@key@state@error}{% @@ -3534,16 +3352,21 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@show@key@state@error -% \end{macro}%^^A \@FamilyExecuteOptions -% \end{macro}%^^A \FamilyExecuteOptions -% -% \begin{macro}{\KOMAExecuteOptions} -% \changes{v2.97c}{2007/04/19}{Neue Anweisung}%^^A -% \changes{v3.00}{2008/04/30}{Kein optionales Argument mehr}%^^A -% \changes{v3.12}{2013/03/04}{darf auch noch nach der Präambel verwendet -% werden}%^^A -% Liste von Optionen für ein Mitglied der Familie \texttt{KOMA} ausführen. +% \end{macro}^^A \scr@show@key@state@error +% \end{macro}^^A \@FamilyExecuteOptions +% \end{command}^^A \FamilyExecuteOptions +% +% \begin{command}{\KOMAExecuteOptions} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.00}{2008/04/30}{no optional argument} +% \changes{v3.12}{2013/03/04}{can be used after the document preamble} +% Executes a \meta{list of options} (\texttt{\#3}) of a \meta{member} (optional +% \texttt{\#1}) of a \meta{family} (\texttt{\#2}). The default for the +% \meta{member} is \file{.\cs{@currname}.\cs{@currext}}. Note: If +% \cs{KOMAExcuteOptions} is not used while loading a class or package, the +% optional first argument is not optional, but has to be set correctly! And +% because filenames can be changed, it is recommended to \emph{always} use the +% optional argument to set a definite \meta{member}. % \begin{macrocode} %<*koma> \newcommand*{\KOMAExecuteOptions}[1][.\@currname.\@currext]{% @@ -3551,25 +3374,26 @@ } %</koma> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\FamilyOptions} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \changes{v3.12}{2013/03/02}{Neue Implementierung}%^^A -% \changes{v3.12}{2013/03/02}{\cs{scr@after@options@\#1@hook}}%^^A -% \changes{v3.14}{2014/10/17}{zweites Argument wird \cs{long} behandelt}%^^A +% \begin{command}{\FamilyOptions} +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.12}{2013/03/02}{re-implemented} +% \changes{v3.12}{2013/03/02}{\cs{scr@after@options@\#1@hook}} +% \changes{v3.14}{2014/10/17}{second argument is \cs{long}} % \begin{macro}{\@FamilyOptions} -% \changes{v3.14}[2014/10/17]{Neue streng interne Anweisung}%^^A -% \changes{v3.27}{2019/10/02}{Fehlermeldungen verbessert}%^^A +% \changes{v3.14}[2014/10/17]{added} +% \changes{v3.27}{2019/10/02}{improved error message} % \begin{macro}{\Family@Options} -% \changes{v3.00}{2008/04/30}{Neues Makro (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt}%^^A -% \end{macro}%^^A \FamilyOptions -% Es werden Schlüssel einer Familie verwendet. Existiert ein Schlüssel nicht, -% oder ist der Wert für alle Schlüssel unbekannt, so wird ein Fehler -% ausgegeben. Diese Anweisung selbst ist reentrant, das heißt sie kann auch -% innerhalb der Ausführung von Optionen aufgerufen werden. Es sei jedoch -% erwähnt, dass der hook dabei nur die jeweilige Anweisung umfasst. +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.12}{2013/03/04}{removed} +% \end{macro}^^A \Family@Options +% Used to set the options of a family. The first argument (\texttt{\#1}) is +% the \meta{family} and the second (\texttt{\#2}) a \meta{list of options}. If +% a \meta{key} or a \meta{value} to a \meta{key} in the \meta{list of options} +% does not exist, an error is reported. The command itself is re-entrant, so +% it can be used inside the definition of an option. But in this case the hook +% is local to the local usage of the command. % \begin{macrocode} %<*base> \newcommand{\FamilyOptions}[1]{\@FamilyOptions{#1}} @@ -3587,24 +3411,22 @@ }% }% % \end{macrocode} -% \changes{v3.23}{2017/02/16}{neuer Haken für \cs{AtEndOfFamilyOptions*}}%^^A -% Seit Version 3.23 wird hier auch der neuen Haken vor -% \cs{AtEndOfFamilyOptions*} initialisiert. Zunächst findet eine Art -% Vorinitialisierung statt, bei der der Haken lediglich leer definiert wird, -% falls er noch nicht existiert. Falls er nämlich existiert, kann an einem -% leeren Haken die oberste Ebene erkannt werden. +% \changes{v3.23}{2017/02/16}{\cs{AtEndOfFamilyOptions*} hook added} +% From version 3.23 the new hook before \cs{AtEndOfFamilyOptions*} has to be +% initialized. First step is a kind of pre-initialization: The hook is +% defined empty, if it does not already exist. So if the hook exists empty we +% can now recognize the top level of using \cs{FamilyOptions}. % \begin{macrocode} \scr@ifundefinedorrelax{scr@after@options@#1@hook@topmost}{% \@namedef{scr@after@options@#1@hook@topmost}{}% }{}% % \end{macrocode} -% Dann wird an einem leeren Haken die oberste Ausführungsebene erkennt. In -% diesem Fall wird zum einen die Ausführung des Hakens in den normalen -% Ebenen-Haken (das ist dann automatische der oberste Ebenen-Haken) -% eingehängt und zum anderen der Haken selbst so initialisiert, dass er sich -% bei seiner Ausführung als erstes selbst löscht. Gleichzeitig ist der Haken -% selbst dadurch nicht mehr leer, so dass sich tiefere Ebenen von der höchsten -% eindeutig unterscheiden. +% Now, if we recognize the top level, because of an empty hook, the execution +% of the hook to the normal level hook (which is the top level hook in this +% case) is added. Additionally the self destruction code is added to the very +% beginning of the hook. Because of the self destruction hook the hook itself +% it no longer empty. So deeper levels distinguish from the top level. Because +% the hook is not empty any longer. % \begin{macrocode} \expandafter\ifx\csname scr@after@options@#1@hook@topmost\endcsname\@empty \expandafter\l@addto@macro\csname scr@after@options@#1@hook\endcsname{% @@ -3616,70 +3438,64 @@ \fi % \end{macrocode} % \begin{description} -% \item[Anmerkung:] Es wird nicht auf \textsf{xkeyval} und den dortigen Befehl -% \cs{setkeys+} gesetzt, weil dieser die Optionen nicht in der Reihenfolge -% der Optionen, sondern in der Reihenfolge der Familien ausführt. Das passt -% mir aber hier gar nicht. +% \item[Note:] We do not use \pkg{xkeyval} and its \cs{setkeys+}, because this +% would not execute the options in the order of the options but in the order +% of the families, which is not intuitive and therefore not what we want. % \end{description} -% In einer Schleife über alle Optionen werden die Optionen zunächst in Option -% und Wert aufgespaltet. +% We use a loop over all \meta{option}s in the \meta{list of options} to +% split each \meta{option} into \meta{key} and \meta{value}. % \begin{macrocode} \@for\scr@key@atlist:=#2\do{% % \end{macrocode} -% \changes{v3.08}{2010/11/05}{leere Argumente in der Optionenliste}% -% Auf vielfachen Wunsch und entgegen meiner Ãœberzeugung, sind auch leere -% Argumente in der Optionenliste erlaubt. Die erste Form wäre, wenn zwei -% Kommas diret aufeinander folgen: +% \changes{v3.08}{2010/11/05}{empty options in the list are ignored} +% Despite they do not make any sense empty \emph{options} are allowed and +% ignored. This would at first mean two consecutive commas. % \begin{macrocode} \ifx\scr@key@atlist\@empty\else % \end{macrocode} -% Die zweite Möglichkeit wäre, dass noch Leerzeichen zwischen den Komma -% übrig bleiben: +% But there also can be white spaces between the commas. % \begin{macrocode} \ifx\scr@key@atlist\space\else \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil % \end{macrocode} -% Die dritte Möglichkeit, dass auch noch ein Gleichheitszeichen übrig -% gelassen wurde, werde ich aber nicht abfangen. Irgendwann müssen die -% Anwender auch mal ihre Fehler einsehen und korrigieren! -% -% Wir haben jetzt also eine Option und diese aufgespaltet in Schlüssel und -% Wert. -% \changes{v3.12}{2013/03/04}{der Gesamtstatus wird gespeichert}%^^A -% Jetzt speichern wir den Gesamtstatus einfach, indem der Fehlerspeicher -% gelöscht wird. Bei \cs{relax} wird er nicht weiter benötigt und es liegt -% ebenso wie bei \cs{@empty} kein auszugebender Fehler vor. Bei anderen -% Werten, enthält er Fehler, die zu melden sind. +% The third possibility would be a single equal sign. But in my opinion this +% would be a mistake and therefore an error. So now, we have an \opt{option} +% splitted into a \meta{key} and a \meta{value} (which can be empty). +% \changes{v3.12}{2013/03/04}{storing the overall state} +% Now, we are storing the overall state by emptying the error storage. If the +% error storage is \cs{relax} it is not needed any longer. Both, \cs{relax} +% and \cs{@empty} means no error. All other cases the error storage contains +% all the errors to be reported. % \begin{macrocode} \let\scr@key@run@errors\@empty % \end{macrocode} -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} -% \changes{v3.09a}{2011/06/07}{weniger Expansion durch sinnvollen Gebrauch -% von \cs{unexpanded}} -% Dann wird in einer Schleife über alle Familienmitglieder festgestellt, ob -% die Option bei einem Mitglied bekannt ist und ggf. ausgeführt. Hier ist -% wichtig, dass keines der internen Macros vom Aufruf verändert wird. Außerdem -% muss der Status und die daraus resultierenden Meldungen aufgesammelt -% werden. Hilfreich ist, dass \cs{\meta{Familie}@key@familylist} eine Liste -% aus Familie + Mitglied ist und nicht nur aus dem Namen der Mitglieder. -% \changes{v3.27}{2019/07/19}{Fix: Familienoptionen werden zuerst -% ausgeführt}%^^A +% \changes{v3.04b}{2010/01/29}{\cs{edef} replaced by \cs{protected@edef}} +% \changes{v3.09a}{2011/06/07}{less number of expansions by improved usage of +% \cs{unexpanded}} +% Next a loop over the members is used, to detect members, that have the +% \meta{key}. In this case the member option is executed. Note: The execution +% of an option must not change any of the internal macros with the \meta{key}, +% \meta{value}, \meta{option} or \meta{list of options} +% information. Additionally the states and the resulting messages have to been +% collected. Here it is useful to have \cs{\meta{family}@key@familylist}, a +% list of family + member and not only of members. +% \changes{v3.27}{2019/07/19}{family options are executed first} % \begin{macrocode} \scr@key@found@false \edef\reserved@a{#1,\csname #1@key@familylist\endcsname}% \@for\reserved@a:=\reserved@a\do{% \scr@ifundefinedorrelax{KV@\reserved@a @\scr@key@name}{% % \end{macrocode} -% \changes{v3.27}{2019/07/19}{Behandlung für \texttt{@else@}-Optionen}%^^A -% Wenn das Familiemitglied keine entsprechende Option besitzt, kann es noch -% immer eine \texttt{@else@}-Option besitzen. In diesem Fall wird selbige -% ausgeführt. Die Ausführung hat aber nur dann Einfluss auf den -% Fehlerspeicher, wenn sie erfolgreich war. In diesem Fall wird der -% Fehlerspeicher gelöscht. Ausnahme ist, wenn das aktuelle Mitglied die -% Familie selbst ist. In diesem Fall wird die \texttt{@else@}-Option nicht -% hier ausgeführt. Das erledigen wir später und nur in dem Fall, dass -% tatsächlich kein Mitglied eine solche Option oder eine -% \texttt{@else@}-Option hatte. +% \changes{v3.27}{2019/07/19}{treatment of \opt{@else@} options} +% If a family member does not have the current option, there still may be a +% \opt{@else@} option. In this case the \opt{@else@} option gets the current +% \meta{option} as value and is executed. But this changes the error storage +% only, if it was successful. In this case, the error storage has to become +% empty. But the \opt{@else@} must not be executed here, if the current member +% is the empty one, which represents the family itself. This will be done +% later and only, if no one of the members have had the option itself or a +% \opt{@else@} option. So the family \opt{@else@} option is only used, if the +% option has not been successfully processed by any member in any kind. % \begin{macrocode} \Ifstr{\reserved@a}{#1}{}{% \scr@ifundefinedorrelax{KV@\reserved@a @@else@}{}{% @@ -3692,8 +3508,8 @@ }% }{% % \end{macrocode} -% Wurde hingegen eine Option für ein Familienmitglied gefunden, so wird sie -% ausgeführt und bei Bedarf der Fehlerspeicher angepasst. +% If the option has been found for a member, it is executed and the error +% storage is updated. % \begin{macrocode} \expandafter\scr@execute@option\expandafter{\reserved@a}% \scr@key@found@true @@ -3731,9 +3547,9 @@ \ifx\scr@key@run@errors\relax\else \ifx\scr@key@run@errors\@empty\else % \end{macrocode} -% \changes{v3.28}{2019/11/23}{Fehlermeldungen und Infos korrigiert}%^^A -% Jetzt muss gegebenenfalls noch eine \texttt{@else@} Option behandelt und -% abhängig davon entweder ein Fehler oder eine Info ausgegeben werden. +% \changes{v3.28}{2019/11/23}{error messages and info fixed} +% Now, an existing \opt{@else@} option has to be used and either an error or +% info has to be shown. % \begin{macrocode} \scr@ifundefinedorrelax{KV@#1@@else@}{% \PackageError{scrbase}{% @@ -3828,16 +3644,13 @@ } % \end{macrocode} % \begin{macro}{\scr@execute@option} -% \changes{v3.12}{2013/03/04}{Neue Anweisung (intern)}%^^A -% \changes{v3.13}{2014/06/30}{fehlendes \cs{expandafter} in \cs{PackageInfo} -% ergänzt}%^^A -% \changes{v3.13a}{2014/08/13}{Leerzeichen durch fehlendes Prozentzeichen -% beseitigt}%^^A -% \changes{v3.23}{2017/02/16}{den \cs{AtEndOfFamilyOptions} Haken hier zu -% sichern nützt nichts}%^^A -% Es wird die bereits gesplittete Option ausgeführt, ohne dass die dabei -% wesentlichen Macros (aber nicht \cs{reserved@a}!) verändert werden. Das -% erste Argument ist bereits der Besitzer in \textsf{keyval}-Syntax. +% \changes{v3.12}{2013/03/04}{added} +% \changes{v3.13}{2014/06/30}{missing \cs{expandafter} in \cs{PackageInfo} added} +% \changes{v3.13a}{2014/08/13}{white spaces removed} +% \changes{v3.23}{2017/02/16}{it does not help to save the +% \cs{AtEndOfFamilyOptions} hook} +% A split \opt{option} is executed, without changing any relevant macros (but +% \cs{reserved@a}). The first argument is the complete set in \pkg{keyval} syntax. % \begin{macrocode} \newcommand*{\scr@execute@option}[1]{% \protected@edef\reserved@a{% @@ -3880,44 +3693,43 @@ } % \end{macrocode} % \begin{macro}{\scr@KV@err} -% \changes{v3.12a}{2013/03/04}{missing internal command added}%^^A +% \changes{v3.12a}{2013/03/04}{missing internal command added} % We just have to signal, that the option needs a value, that is missing. % \begin{macrocode} \newcommand*{\scr@KV@err}[1]{% \FamilyKeyStateNeedValue } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@KV@err % \begin{macro}{\scr@key@run@errors} -% \changes{v3.12}{2013/03/04}{Neue Anweisung (intern)}%^^A -% Wird innerhalb von \cs{FamilyOptions} benötigt, um die Fehlermeldungen -% aufzusammeln, aber erst auszugeben, wenn tatsächlich kein Mitglied die -% Option verarbeiten konnte. Wir definieren das hier, damit oben die -% Wiederherstellung korrekt funktioniert. +% \changes{v3.12}{2013/03/04}{added} +% Needed by \cs{FamilyOptions} to collect the error messages, but report the +% error only, if no member has successfully processed the option. We define it +% here to make the re-definition in the previous code does work without error. % \begin{macrocode} \newcommand*{\scr@key@run@errors}{} % \end{macrocode} -% \end{macro}%^^A \scr@key@run@errors} -% \end{macro}%^^A \scr@execute@option +% \end{macro}^^A \scr@key@run@errors} +% \end{macro}^^A \scr@execute@option % \begin{macro}{\scr@execute@elseoption} -% \changes{v3.20}{2015/11/18}{neu (intern)}%^^A -% \changes{v3.25}{2017/11/16}{Gruppe eingefügt}%^^A -% \changes{v3.25}{2017/11/16}{\cs{scr@key@name@else} und -% \cs{scr@key@value@else} neu}%^^A -% \changes{v3.27}{2019/03/10}{missing percent added to avoid spaces}%^^A -% Ist eine Spezialoption mit dem Namen \texttt{@else@} definiert, so wird -% diese von \cs{FamilyExecuteOptions} genau dann ausgeführt, wenn keine -% passende Option gefunden wurde. Dafür dient dieses Makro, dessen Argumente -% und Aufrufstatus genau \cs{scr@execute@option} entspricht. Es soll auch -% genau dasselbe tun, außer dass es nicht die Option selbst aufruft, sondern -% die Option als Wert an die \texttt{@else@}-Option übergibt. Es muss also -% temporär \cs{scr@key@atlist}, \cs{scr@key@name} und \cs{scr@key@value} -% geändert werden, bevor \cs{scr@execute@option} ausgeführt wird. Da -% allerdings die Originalwerte ggf. von der \texttt{@else@}-Option ausgewertet -% werden sollen, wird das originale \cs{scr@key@atlist} zum Wert der -% \texttt{@else@}-Option. Damit diese nicht erneut aufgespaltet werden muss, -% werden die originalen \cs{scr@key@name} und \cs{scr@key@value} zusätzlich in -% \cs{scr@key@name@else} und \cs{scr@key@value@else} gespeichert. +% \changes{v3.20}{2015/11/18}{added} +% \changes{v3.25}{2017/11/16}{group added} +% \changes{v3.25}{2017/11/16}{\cs{scr@key@name@else} and +% \cs{scr@key@value@else} added} +% \changes{v3.27}{2019/03/10}{missing percent added to avoid spaces} +% If a special option \opt{@else@} has been defined, it is executed by +% \cs{FamilyExecuteOptions} if and only if no other suitable option has been +% found. This is done by \cs{scr@execute@elseoption}. The argument and +% resulting state are exactly the same as with \cs{scr@execute@option}. It +% also have to do the same, but it does not call the option, but the +% \opt{@else@} option. The option itself is used as \meta{value} of the +% \opt{@else@} option. So temporary \cs{scr@key@atlist}, \cs{scr@key@name} and +% \cs{scr@key@value} have to be changed, before calling +% \cs{scr@execute@option}. To avoid once again splitting the \meta{value} into +% an internal \meta{key} and \meta{value} the original \cs{scr@key@name} and +% \cs{scr@key@value} are copied to \cs{scr@key@name@else} and +% \cs{scr@key@value@else}. These can be used inside the code of the +% \opt{@else@} option. % \begin{macrocode} \newcommand*{\scr@execute@elseoption}[1]{% \begingroup @@ -3956,27 +3768,27 @@ }\reserved@a } % \end{macrocode} -% \end{macro}%^^A \scr@execute@elseoption -% \begin{macro}{\ifscr@key@found@} -% \changes{v2.97c}{2007/04/19}{Neuer Schalter (intern)}%^^A -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{ifKOMA@key@found}}%^^A -% \begin{macro}{\scr@key@atlist} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)}%^^A -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@atlist}}%^^A -% \begin{macro}{\scr@key@name} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)}%^^A -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@name}}%^^A -% \begin{macro}{\scr@key@value} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)}%^^A -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@value}}%^^A -% \begin{macro}{\scr@key@split@name@value} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)}%^^A -% \changes{v2.97e}{2007/11/10}{verwendet \cs{KV@@sp@def} zur Entsorgung von -% Leerzeichen}%^^A -% \changes{v3.00}{2008/04/30}{umbenannt von \cs{KOMA@key@split@name@value}}%^^A -% \changes{v3.13}{2014/10/17}{\cs{long}}%^^A -% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@sp@def} statt -% \cs{KV@@sp@def}}%^^A +% \end{macro}^^A \scr@execute@elseoption +% \begin{macro}{\KOMA@key@foundtrue,\KOMA@key@foundfalse,\ifKOMA@key@found, +% \scr@key@found@true,\scr@key@found@false,\ifscr@key@found@} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.00}{2008/04/30}{\cs{ifKOMA@key@found} renamed to \cs{ifscr@key@found}} +% \begin{macro}{\KOMA@key@at@list,\scr@key@atlist} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.00}{2008/04/30}{\cs{KOMA@key@atlist} renamed to \cs{scr@key@atlist}} +% \begin{macro}{\KOMA@key@name,\scr@key@name} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.00}{2008/04/30}{\cs{KOMA@key@name} renamed to \cs{scr@key@name}} +% \begin{macro}{\KOMA@key@value,\scr@key@value} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.00}{2008/04/30}{\cs{KOMA@key@value} renamed to \cs{scr@key@value}} +% \begin{macro}{\KOMA@key@split@name@value,\scr@key@split@name@value} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v2.97e}{2007/11/10}{using \cs{KV@@sp@def} to remove white spaces} +% \changes{v3.00}{2008/04/30}{\cs{KOMA@key@split@name@value} renamed to +% \cs{scr@key@split@name@value}} +% \changes{v3.13}{2014/10/17}{\cs{long}} +% \changes{v3.26}{2018/08/29}{using \cs{scr@sp@def} instead of \cs{KV@@sp@def}} % \begin{macrocode} \newif\ifscr@key@found@ \newcommand*{\scr@key@atlist}{} @@ -3989,30 +3801,29 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \scr@key@split@name@value -% \end{macro}%^^A \scr@key@value -% \end{macro}%^^A \scr@key@name -% \end{macro}%^^A \scr@key@atlist -% \end{macro}%^^A \@FamilyOptions -% \end{macro}%^^A \FamilyOptions -% -% \begin{macro}{\FamilyOption} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \changes{v3.26b}{2019/01/09}{Tyischen Fehler abgefangen}%^^A +% \end{macro}^^A \scr@key@split@name@value +% \end{macro}^^A \scr@key@value +% \end{macro}^^A \scr@key@name +% \end{macro}^^A \scr@key@atlist +% \end{macro}^^A \@FamilyOptions +% \end{macro}^^A \ifscr@key@found@ +% \end{command}^^A \FamilyOptions +% +% \begin{command}{\FamilyOption} +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.26b}{2019/01/09}{handling of typical user mistakes} % \begin{macro}{\@FamilyOptions} -% \changes{v3.14}[2014/10/17]{Neue streng interne Anweisung}%^^A -% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@sp@def} statt -% \cs{KV@@sp@def}}%^^A +% \changes{v3.14}[2014/10/17]{added} +% \changes{v3.26}{2018/08/29}{using \cs{scr@sp@def} instead of \cs{KV@@sp@def}} % \begin{macro}{\Family@Option} -% \changes{v3.00}{2008/04/30}{Neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt}%^^A -% \end{macro} -% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} -% Im Gegensatz zu \cs{FamilyOptions} kann man mit dieser Anweisung nur eine -% einzige Option setzen. Dafür kann man gleich mehrere durch Komma getrennte -% Argumente für diese Option setzen. Das erste obligatorische Argument ist -% wieder die Familie, das zweite obligatorische Argument ist die Option, das -% dritte, obligatorische Argument ist die Liste der Werte für diese Option. +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.12}{2013/03/04}{removed} +% \end{macro}^^A \Family@Option +% \changes{v3.04b}{2010/01/29}{\cs{edef} replaced by \cs{protected@edef}} +% In opposite to \cs{FamilyOptions} this command sets only one \meta{option} +% (\texttt{\#2}) of a \meta{family} (\texttt{\#1}). But you can set it to a +% \meta{list of values} (\texttt{\#3}). The values are set in the order of the +% \meta{list of values}. % \begin{macrocode} %<*base> \newcommand*{\FamilyOption}[2]{% @@ -4063,20 +3874,21 @@ \newcommand{\@FamilyOption}[3]{% \expandafter\scr@sp@def\expandafter\scr@key@name\expandafter{#2}% % \end{macrocode} -% Der einfachste Weg ist nun schlicht, die Liste der Werte durchzugehen und so -% nach und nach eine Liste von Werten für \cs{FamilyOptions} zu erzeugen. +% The most simply solution is to walk through the \meta{list of values} and +% generate a \meta{list of options} for \cs{FamilyOptions}. % \begin{macrocode} \let\reserved@a\@empty \@for\reserved@b:=#3\do{% % \end{macrocode} -% \changes{v3.08}{2010/11/05}{leere Argumente in der Werteliste}%^^A -% Auf vielfachen Wunsch und entgegen meiner Ãœberzeugung, sind auch leere -% Argumente in der Werteliste erlaubt, werden jedoch ignoriert: +% \changes{v3.08}{2010/11/05}{allow empty values} +% Empty elements in the \meta{list of values} are ignored. Note: This is not +% really the correct solution but several users expect it. So for a real empty +% value you need to use |{}|. % \begin{macrocode} \ifx\reserved@b\@empty\else % \end{macrocode} -% \changes{v3.12}{2012/03/04}{auch Leerzeichenargumente werden ignoriert}%^^A -% Auch Argumente, die nur aus einem Leerzeichen bestehen, werden ignoriert: +% \changes{v3.12}{2012/03/04}{ignore white space values} +% The same for white space values. % \begin{macrocode} \ifx\reserved@b\space\else \edef\reserved@a{\unexpanded\expandafter{\reserved@a},% @@ -4090,34 +3902,32 @@ %</base> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\KOMAoptions} -% \changes{v2.96}{2006/08/20}{Neuer Hook nach den Optionen}%^^A -% \changes{v2.97c}{2007/04/19}{Optionen aller KOMA-Familien abarbeiten}%^^A -% \changes{v3.12}{2013/03/04}{Hook-Mechanismus von \cs{FamilyOptions}%^^A -% verwendent} -% Simple kleine Abkürzung. +% \begin{command}{\KOMAoptions} +% \changes{v2.96}{2006/08/20}{hook after options added} +% \changes{v2.97c}{2007/04/19}{process options of all members} +% \changes{v3.12}{2013/03/04}{using hooks of \cs{FamilyOptions}} +% Nice little shortcut. % \begin{macrocode} %<*koma> \newcommand*{\KOMAoptions}{\FamilyOptions{KOMA}} %</koma> % \end{macrocode} % \begin{macro}{\KOMA@options} -% \changes{v2.97c}{2007/04/19}{Neues Makro (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt}%^^A -% \end{macro}%^^A \KOMA@options -% \end{macro}%^^A \KOMAoptions -% -% \begin{macro}{\KOMAoptionsOf} -% \changes{v3.17}{2015/02/25}{neue Anweisung}%^^A -% Mit dieser Anweisung können die aktuell gesetzten \KOMAScript-Optionen -% eines Pakets oder einer Klasse abgefragt werden, sobald ein Paket oder eine -% Klasse das unterstützt. Das erste (optionale) Argument gibt dabei eine -% Anweisung an, die für die Optionenliste ausgeführt werden soll. Das zweite -% (nicht optionale Argument) ist der Name eines KOMA-Script-Pakets oder einer -% KOMA-Script-Klasse einschließlich Dateiendung. +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.12}{2013/03/04}{removed} +% \end{macro}^^A \KOMA@options +% \end{command}^^A \KOMAoptions +% +% \begin{command}{\KOMAoptionsOf} +% \changes{v3.17}{2015/02/25}{added} +% Ask for the currently set options of a supporting \KOMAScript{} class or +% package. The optional first argument (\texttt{\#1}) is a command or macro, +% that will be execute with the list of options as an argument. The second +% argument (\texttt{\#2}) is the filename of a \KOMAScript{} class or package +% (with extension). Without optional argument, the \meta{list of options} are +% be printed. % \begin{macrocode} %<*koma> \newcommand*{\KOMAoptionsOf}[2][\@firstofone]{% @@ -4135,17 +3945,17 @@ } %</koma> % \end{macrocode} -% \end{macro}%^^A \KOMAoptionsOf +% \end{command}^^A \KOMAoptionsOf % -% \begin{macro}{\KOMAoptionOf} -% \changes{v3.17}{2015/02/26}{neue Anweisung}%^^A -% Mit dieser Anweisung kann eine aktuell gesetzte \KOMAScript-Option -% eines Pakets oder einer Klasse abgefragt werden, sobald ein Paket oder eine -% Klasse das unterstützt. Das erste (optionale) Argument gibt dabei eine -% Anweisung an, die für die Optionenliste ausgeführt werden soll. Das zweite -% (nicht optionale Argument) ist der Name eines KOMA-Script-Pakets oder einer -% KOMA-Script-Klasse einschließlich Dateiendung, das dritte (nicht optionale -% Argument) ist der Name der Option, die abgefragt werden soll. +% \begin{command}{\KOMAoptionOf} +% \changes{v3.17}{2015/02/26}{added} +% Ask for the current values of one option of a supporting \KOMAScript{} class +% or package. Again the optional first argument (\texttt{\#1}) is a command or +% macro, that will be execute with the list of values as an argument. The second +% argument (\texttt{\#2}) is the filename of a \KOMAScript{} class or package +% (with extension). The third argument (\texttt{\#3}) is the name of an +% option of the class resp. package. Without optional argument, the \meta{list of +% values} are be printed. % \begin{macrocode} %<*koma> \newcommand*{\KOMAoptionOf}[3][\@firstofone]{% @@ -4168,33 +3978,32 @@ } %</koma> % \end{macrocode} -% \end{macro} +% \end{command} % % \begin{macro}{\post@kopt@hook} -% \changes{v3.12}{2013/03/04}{entfernt}%^^A -% \end{macro}%^^A \post@kopt@hook -% \begin{macro}{\AfterKOMAoptions} -% \changes{v3.12}{2013/03/04}{Verwendung von \cs{AtEndOfFamilyOptions}}%^^A -% \changes{v3.23}{2017/02/16}{kein \cs{let}}%^^A -% Eine Option kann dafür sorgen, dass nach den Optionen noch etwas passiert. +% \changes{v3.12}{2013/03/04}{removed} +% \end{macro}^^A \post@kopt@hook +% \begin{command}{\AfterKOMAoptions} +% \changes{v3.12}{2013/03/04}{using \cs{AtEndOfFamilyOptions}} +% \changes{v3.23}{2017/02/16}{\cs{newcommand} instead of \cs{let}} +% An option can process code after executing all options of the current +% \cs{KOMAoptions}. % \begin{macrocode} %<*koma> \newcommand*{\AfterKOMAoptions}{\AtEndOfFamilyOptions} %</koma> % \end{macrocode} -% \end{macro}%^^A \AfterKOMAoptions +% \end{command}^^A \AfterKOMAoptions % % \begin{macro}{\l@addto@macro} -% \changes{v2.8p}{2001/09/22}{neu (intern)} -% Damit \cs{AfterKOMAoptions} lokal möglich ist, wird eine lokal arbeitende -% Variante von \cs{g@addto@macro} benötigt, wie sie hier vorgestellt wird. -% \changes{v2.95}{2006/06/02}{korrigiert, damit es sich bezüglich -% Erweiterung um Makrodefinitonen mit Argumenten wie \cs{g@addto@macro}%^^A -% verhält} -% \changes{v3.12}{2013/04/20}{veraltete \eTeX-freie Version entfernt}%^^A -% \changes{v3.12}{2013/04/20}{Warnung, falls eine inkompatible Definition -% von \cs{l@addto@macro} entdeckt wird} -% \changes{v3.23}{2017/02/16}{in den Optionen-Teil verschoben}%^^A +% \changes{v2.8p}{2001/09/22}{added} +% \changes{v2.95}{2006/06/02}{changed to handle macros with arguments same +% like \cs{g@addto@macro}} +% \changes{v3.12}{2013/04/20}{removed non-\eTeX{} implementation} +% \changes{v3.12}{2013/04/20}{warn, if \cs{l@addto@macro} is already defined +% different from our definition} +% \changes{v3.23}{2017/02/16}{moved to \texttt{prepare}} +% We need a local variant of \cs{g@addto@macro}. % \begin{macrocode} %</body> %<*base&prepare> @@ -4229,14 +4038,13 @@ %</base&prepare> %<*body> % \end{macrocode} -% \end{macro}%^^A \l@addto@macro +% \end{macro}^^A \l@addto@macro % % \begin{macro}{\l@addto@macro@a} -% \changes{v3.20}{2015/11/20}{neu (intern)} -% So eine ähnliche Anweisung benötige ich außerdem für den Fall, dass eine -% Anweisung erweitert werden soll, die genau ein obligatorisches Argument -% benötigt. Achtung! Diese Anweisung funktioniert deutlich weniger allgemein -% als \cs{l@addto@macro} und wird deshalb nie offiziell dokumentiert! +% \changes{v3.20}{2015/11/20}{added} +% I also need a version for macros with exactly one argument. Note: This macro +% is dangerous. Sometimes it does not work correctly, so there is not an will +% not be an official documentation. % \begin{macrocode} %<*base> \begingroup @@ -4271,12 +4079,12 @@ \endgroup %</base> % \end{macrocode} -% \end{macro}%^^A \l@addto@macro@a +% \end{macro}^^A \l@addto@macro@a % % \begin{macro}{\l@preto@macro} -% \changes{v3.20}{2015/11/25}{neu (intern)}%^^A -% In gewisser Weise das gleiche wie \cs{l@appto@macro}, allerdings wird vorn -% statt hinten angefügt. +% \changes{v3.20}{2015/11/25}{added} +% Similar to \cs{l@addto@macro} but adds code at the very beginning instead of +% appending it a the end. % \begin{macrocode} %<*base> \newcommand\l@preto@macro[2]{% @@ -4284,14 +4092,13 @@ }% %</base> % \end{macrocode} -% \end{macro}%^^A \l@preto@macro +% \end{macro}^^A \l@preto@macro % % \begin{macro}{\l@preto@macro@a} -% \changes{v3.20}{2015/11/25}{neu (intern)} -% So eine ähnliche Anweisung benötige ich außerdem für den Fall, dass eine -% Anweisung erweitert werden soll, die genau ein obligatorisches Argument -% benötigt. Achtung! Diese Anweisung funktioniert deutlich weniger allgemein -% als \cs{l@preto@macro} und wird deshalb nie offiziell dokumentiert! +% \changes{v3.20}{2015/11/25}{added} +% I also need a version for macros with exactly one argument. Note: This macro +% is dangerous. Sometimes it does not work correctly, so there is not an will +% not be an official documentation. % \begin{macrocode} %<*base> \begingroup @@ -4326,27 +4133,27 @@ \endgroup %</base> % \end{macrocode} -% \end{macro}%^^A \l@preto@macro@a +% \end{macro}^^A \l@preto@macro@a % -% \begin{macro}{\KOMAoption} -% \changes{v2.98c}{2008/03/12}{Neue Anweisung}%^^A -% \changes{v3.12}{2013/03/04}{Einfacher Aufruf von \cs{FamilyOption}} +% \begin{command}{\KOMAoption} +% \changes{v2.98c}{2008/03/12}{added} +% \changes{v3.12}{2013/03/04}{using \cs{FamilyOption}} +% Simple little shortcut. % \begin{macrocode} %<*koma> \newcommand*{\KOMAoption}{\FamilyOption{KOMA}} %</koma> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\FamilyUnknownKeyValue} -% \changes{v3.10}{2011/09/12}{no error while processing global options}%^^A +% \begin{command}{\FamilyUnknownKeyValue} +% \changes{v3.10}{2011/09/12}{no error while processing global options} % \changes{v3.11a}{2012/05/28}{prevent remove from list of unused global -% options globally}%^^A -% \changes{v3.14}{2014/10/17}{\cs{long}}%^^A -% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A -% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an einen -% Schlüssel. Das erste Argument ist die Familie, das zweite der Schlüssel, -% das dritte der Wert und das vierte die Liste der möglichen Werte. +% options globally} +% \changes{v3.14}{2014/10/17}{\cs{long}} +% \changes{v3.30}{2020/02/25}{spurious space in warning message removed} +% Used to report an error because of unknown values. Arguments are +% \marg{family}\marg{key}\marg{valid values}. % \begin{macrocode} %<*base> \newcommand{\FamilyUnknownKeyValue}[4]{% @@ -4363,29 +4170,29 @@ } %</base> % \end{macrocode} -% \begin{macro}{\FamilyElseValues} -% \changes{v3.00}{2008/05/02}{Neue Anweisung}%^^A -% \changes{v3.12}{2013/03/04}{wird intern nicht mehr verwendet}%^^A -% Diese Anweisung konnte ursprünglich vor dem Setzen eines Wertes definiert -% werden, um bei einer etwaigen Fehlermeldung weitere Werte als erlaubt -% auszugeben. Am Ende von \cs{FamilySetBool} und \cs{FamilySetNumerical} -% wird die Anweisung automatisch zu \cs{@empty}. Seit Version~3.12 wird -% diese Anweisung jedoch nicht mehr ausgewertet. +% \begin{command}{\FamilyElseValues} +% \changes{v3.00}{2008/05/02}{added} +% \changes{v3.12}{2013/03/04}{deprecated and not used internally} % \begin{macrocode} %<*base> \newcommand*{\FamilyElseValues}{} %</base> % \end{macrocode} -% \end{macro}%^^A \FamilyUnknownKeyValue -% \end{macro}%^^A \FamilyElseValue -% -% \begin{macro}{\FamilyBoolKey} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% Dieses Makro definiert einen Schlüssel für eine Familie. Dieser Schlüssel -% ist ein Schalter, der über diverse Werte geschaltet werden kann. -% Das erste, optionale Argument ist das Familienmitglied, das zweite, -% obligatorische Argument ist die Familie, das dritte der Name des Schlüssels, -% das vierte der Schalter. +% \end{command}^^A \FamilyUnknownKeyValue +% \end{command}^^A \FamilyElseValue +% +% \begin{command}{\FamilyBoolKey} +% \changes{v3.00}{2008/04/30}{added} +% Defining a new boolean key: +% \begin{quote} +% \cs{FamilyBoolKey}\oarg{member}\marg{family}\marg{key}\marg{switch} +% \end{quote} +% The default \meta{member} is (once again) +% \file{.\cs{@currname}.\cs{@currext}} and it is recommended to always use it! +% \cs{if\meta{switch}} is automatically defined, if it was undefined. In this +% case the initial value is \opt{false}. The default for using the \meta{key} +% without argument would be \opt{true}. For other allowed values see +% \cs{FamilySetBool}. % \begin{macrocode} %<*base> \newcommand*{\FamilyBoolKey}[4][.\@currname.\@currext]{% @@ -4395,14 +4202,22 @@ \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetBool{#2}{#3}{#4}{##1}}% } % \end{macrocode} -% \begin{macro}{\FamilySetBool} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A -% \changes{v3.11a}{2012/05/25}{Argument in Fehlermeldung korrigiert}%^^A -% \changes{v3.27}{2019/07/08}{Leeres Argument ist \texttt{true}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Ãœber diese Anweisung wird der Wert dann gesetzt. Dabei ist das erste -% Argument die Familie, das zweite der Name des Schlüssels, das dritte der -% Schalter und das vierte schließlich der gewünschte Wert. +% \begin{command}{\FamilySetBool} +% \changes{v3.00}{2008/04/30}{added} +% \changes{v3.11a}{2012/05/25}{error message fixed} +% \changes{v3.27}{2019/07/08}{empty argument is \texttt{true}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Setting a boolean key: +% \begin{quote} +% \cs{FamilySetBool}\marg{family}\marg{key}\marg{switch}\marg{value} +% \end{quote} +% The \meta{family} and the \meta{key} are used for reporting unknown values using +% \cs{FamilyUnknownKeyValue}. The \meta{switch} is used to use either +% \cs{\meta{switch}true} or \cs{\meta{switch}false}. It is ignored, if these +% are not defined, so have to take care, that \cs{if\meta{switch}} already has +% been defined, e.g., using \cs{FamilyBoolKey}. The \meta{value} can either be +% \opt{true}, \opt{on} or \opt{yes} for \cs{\meta{switch}true} or +% \opt{false}, \opt{off} or \opt{no} for \cs{\meta{switch}false}. % \begin{macrocode} \newcommand*{\FamilySetBool}[4]{% \Ifstr{#4}{}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% @@ -4426,13 +4241,10 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \selectlanguage{english} -% \begin{macro}{\FamilyInverseBoolKey} -% \changes{3.27}{2019/07/08}{new} -% \begin{macro}{\FamilySetInverseBool} -% \changes{3.27}{2019/07/08}{new} +% \end{command} +% \end{command} +% \begin{command}{\FamilyInverseBoolKey,\FamilySetInverseBool} +% \changes{3.27}{2019/07/08}{added} % These are similar to \cs{FamilyBoolKey} and \cs{FamilySetBoolKey} but use % inverse logic (true sets false and false sets true). % \begin{macrocode} @@ -4456,14 +4268,10 @@ } %</base> % \end{macrocode} -% \end{macro}%^^A \FamilySetInverseBool -% \end{macro}%^^A \FamilyInverseBoolKey -% \selectlanguage{ngerman} +% \end{command}^^A \FamilyInverseBoolKey,\FamilySetInverseBool % % \begin{macro}{\KOMA@unknown@keyval} -% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an -% einen Schlüssel. Das erste Argument ist der Schlüssel, das zweite -% der Wert und das dritte die Liste der möglichen Werte. +% Version of \cs{FamilyUnknownKeyValue} with static family |KOMA|. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@unknown@keyval}{\FamilyUnknownKeyValue{KOMA}} @@ -4472,15 +4280,21 @@ % \end{macro} % % \begin{macro}{\KOMA@ifkey} -% \changes{v3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied}%^^A -% \changes{v3.17}{2015/03/02}{ersetzt den gespeicherten Wert}%^^A -% Dieses Makro definiert einen Schlüssel, der einen Schalter an Hand des -% Wertes setzt. Als Werte sind "`\texttt{true}"', "`\texttt{false}"', -% "`\texttt{on}"', "`\texttt{off}"', "`\texttt{yes}"' und -% "`\texttt{no}"' erlaubt. Der Default-Wert für den Schalter ist -% grundsätzlich "`false"', so dass der Default-Wert für die Verwendung -% des Schküssels grundsätzlich "`true"' ist. Das erste Argument ist -% der Name des Schlüssels, der zweite ist der Name des Schalters. +% \changes{v3.02c}{2009/02/04}{defines the member if needed} +% \changes{v3.17}{2015/03/02}{replaces the value in the storage} +% This is an extended version of \cs{FamilyBoolKey} with static family +% |KOMA|. So the syntax is: +% \begin{quote} +% \cs{KOMA@ifkey}\oarg{member}\marg{key}\marg{switch} +% \end{quote} +% The default \meta{member} is (once again) +% \file{.\cs{@currname}.\cs{@currext}} and it is recommended to always use it! +% \cs{if\meta{switch}} is automatically defined, if it was undefined. The +% default for using the \meta{key} without argument would be \opt{true}. Note: +% \meta{member} and \meta{key} are always fully expanded. Depending on a +% already existing \cs{if\meta{key}} either \opt{\meta{key}=true} or +% \opt{\meta{key}=false} is added to the value storage. If \cs{if\meta{key}} +% was not defined, the initialized value is \opt{false}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@ifkey}[2][.\@currname.\@currext]{% @@ -4504,10 +4318,11 @@ %</koma> % \end{macrocode} % \begin{macro}{\KOMA@set@ifkey} -% Die eigentliche Arbeit bei der ganzen Sache wird von diesem internen -% Makro erledigt. Dabei wird der Name des Schlüssels zu Argument 1, der -% Name des Schalters zu Argument 2 und der Wert des Schlüssels wird -% Argument 3. +% Simple a shortcut for |\FamilySetBool{KOMA}|. So the syntax is: +% \begin{quote} +% \cs{KOMA@set@ifkey}\marg{key}\marg{switch}\marg{value} +% \end{quote} +% But all arguments are delegated. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@set@ifkey}{\FamilySetBool{KOMA}} @@ -4516,21 +4331,21 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\FamilyCounterKey} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.15}{2014/12/03}{er wird ein (optionaler) Säumniswert -% unterstützt}%^^A +% \begin{command}{\FamilyCounterKey} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.15}{2014/12/03}{optional default value} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Dieses Makro definiert einen Schlüssel, der einen \LaTeX-Zähler an Hand -% des Wertes setzt. Das erste, optionale Argument ist das Familienmitglied, -% das zweite, obligatorische Argument ist die Familie, das dritte der Name -% des Schlüssels, das vierte, optionale ist der Säumniswert, das fünfte der -% Name des \LaTeX-Zählers. Erlaubt sind alle Integer-Werte. -% \begin{macro}{\Family@@Counter@@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A -% \begin{macro}{\Family@Counter@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A +% \cs{kernel@ifnextchar}} +% Defining a \meta{key} that sets a \LaTeX{} counter to a \meta{value}. +% \begin{quote} +% \cs{FamilyCounterKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{\LaTeX{} counter} +% \end{quote} +% \meta{default} and the \meta{value} of the option has to be (almost) any +% kind of value, that can be assigned to a \LaTeX{} counter. The +% \meta{counter} is automatically defined, if it was undefined. In this case +% the initial value is 0. +% \begin{macro}{\Family@@Counter@@Key,\Family@Counter@Key} +% \changes{v3.15}{2014/12/03}{added} % \begin{macrocode} %<*base> \newcommand*{\FamilyCounterKey}[3][.\@currname.\@currext]{% @@ -4548,14 +4363,18 @@ \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetCounter{#2}{#3}{#4}{##1}}% } % \end{macrocode} -% \begin{macro}{\FamilySetCounter} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.18a}{2015/07/06}{korrekte Verwendung von -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.23}{2017/02/23}{Leerzeichen durch \cs{relax} ersetzt}%^^A -% Ãœber diese Anweisung wird der Wert dann gesetzt. Dabei ist das erste -% Argument die Familie, das zweite der Name des Schlüssels, das dritte der -% Name des \LaTeX-Zählers, das vierte schließlich der gewünschte Wert. +% \end{macro} +% \begin{command}{\FamilySetCounter} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.18a}{2015/07/06}{using \cs{FamilyKeyStateProcessed}} +% \changes{v3.23}{2017/02/23}{white space replaced by \cs{relax}} +% Set the value of a \meta{key} defined by \cs{FamilyCounterKey}: +% \begin{quote} +% \cs{FamilySetCounter}\marg{family}\marg{key}\marg{counter}\marg{value} +% \end{quote} +% Note: Before assigning the \meta{value} to the \meta{counter} tests are +% done, if the \meta{value} can be used to be assigned to a \LaTeX{} +% counter. If this fails a unknown value is reported. % \begin{macrocode} \newcommand*{\FamilySetCounter}[4]{% \begingroup @@ -4589,35 +4408,23 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\FamilyCounterMacroKey} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.15}{2014/12/03}{er wird ein (optionaler) Säumniswert -% unterstützt}%^^A -% Diese Anweisung arbeitet fast wie \cs{FamilyCounterKey}, allerdings wird -% dabei nicht ein Zähler, sondern ein Marko auf einen Wert definiert. Dabei -% ist das erste (optionale) Argument das Mitglied, das zweite die Familie, das -% dritte der Schlüssel, das vierte (optionale) der Säumniswert, das fünfte das -% Makro. -% \begin{macro}{\FamilySetCounterMacro} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.15}{2014/12/17}{\cs{aftergroup} vor -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.18a}{2015/07/06}{korrekte Verwendung von -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Diese Anweisung arbeitet fast wie \cs{FamilySetCounter}, allerdings wird -% nicht ein Zähler gesetzt, sondern ein Makro auf einen Wert definiert. Dabei -% ist das erste Argument die Familie, das zweite der Name des Schlüssels, das -% dritte das Makro, das vierte schließlich der gewünschte Wert. -% \begin{macro}{\Family@@Counter@@Macro@@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A -% \begin{macro}{\Family@Counter@Macro@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A +% \end{command} +% \end{command} +% +% \begin{command}{\FamilyCounterMacroKey} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.15}{2014/12/03}{support for optional default} +% Similar to \cs{FamilyCounterKey}, but it does not use a \LaTeX{} counter to +% store the value but a macro (or command): +% \begin{quote} +% \cs{FamilyCounterMacroKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{macro} +% \end{quote} +% The \meta{value} will be assigned to a counter (\cnt{page}) locally and the +% \meta{macro} is defined using the value of the counter. The \meta{macro} +% is automatically set to \cs{z@} if it was not already defined. If it was +% defined, the user is responsible for that it has to be a number. +% \begin{macro}{\Family@@Counter@@Macro@@Key,\Family@Counter@Macro@Key} +% \changes{v3.15}{2014/12/03}{added} % \begin{macrocode} %<*base> \newcommand*{\FamilyCounterMacroKey}[3][.\@currname.\@currext]{% @@ -4634,14 +4441,24 @@ \ifdefined#4\else\let#4\z@\fi \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetCounterMacro{#2}{#3}{#4}{##1}}% } -\newcommand*{\FamilySetCounterMacro}[4]{% - \begingroup % \end{macrocode} -% An dieser Stelle wird nun der immer definierte Zähler page als lokaler -% Zähler verwendet. Das ist nur möglich, weil \cs{FamilySetCounter} nicht -% global mit \cs{setcounter} arbeitet, sondern lokal mit einer Zuweisung an -% \cs{value}. +% \end{macro}^^A \Family@@Counter@@Macro@@Key,\Family@Counter@Macro@Key +% \begin{command}{\FamilySetCounterMacro} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.15}{2014/12/17}{\cs{aftergroup} before \cs{FamilyKeyStateProcessed}} +% \changes{v3.18a}{2015/07/06}{fixed usage of \cs{FamilyKeyStateProcessed}} +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by +% \cs{kernel@ifnextchar}} +% Similar to \cs{FamilySetCounter} but using a macro (or command) instead of a +% \LaTeX{} counter: +% \begin{quote} +% \cs{FamilySetCounterMacro}\marg{family}\marg{key}\marg{macro}\marg{value} +% \end{quote} +% Note, that the \meta{value} is locally assigned to a counter (\cnt{page}) +% before defining the \meta{macro} using the value of the counter. % \begin{macrocode} +\newcommand*{\FamilySetCounterMacro}[4]{% + \begingroup \FamilySetCounter{#1}{#2}{page}{#4}% \ifx\FamilyKeyState\FamilyKeyStateProcessed \edef\reserved@a{% @@ -4661,25 +4478,24 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \FamilySetCounterMacro +% \end{command}^^A \FamilyCounterMacroKey % -% \begin{macro}{\FamilyLengthKey} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.15}{2014/12/03}{er wird ein (optionaler) Säumniswert -% unterstützt}%^^A +% \begin{command}{\FamilyLengthKey} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.15}{2014/12/03}{optional default value} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Dieses Makro definiert einen Schlüssel, der eine \LaTeX-Länge an Hand -% des Wertes setzt. Das erste, optionale Argument ist das Familienmitglied, -% das zweite, obligatorische Argument ist die Familie, das dritte der Name -% des Schlüssels, das vierte der name der \LaTeX-Länge. -% \begin{macro}{\Family@@Length@@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A -% \begin{macro}{\Family@Length@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A +% \cs{kernel@ifnextchar}} +% Defining a \meta{key} that sets a \LaTeX{} length to a \meta{value}. +% \begin{quote} +% \cs{FamilyLengthKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{\LaTeX{} length} +% \end{quote} +% \meta{default} and the \meta{value} of the option has to be (almost) any +% kind of value, that can be assigned to a \LaTeX{} length, a \TeX{} dimension +% or a \TeX{} skip. The \meta{\LaTeX{} length} is automatically defined, if it +% was undefined. In this case the initial value is 0. +% \begin{macro}{\Family@@Length@@Key,\Family@Length@Key} +% \changes{v3.15}{2014/12/03}{added} % \begin{macrocode} %<*base> \newcommand*{\FamilyLengthKey}[3][.\@currname.\@currext]{% @@ -4697,27 +4513,34 @@ \DefineFamilyKey[{#1}]{#2}{#3}{\FamilySetLength{#2}{#3}{#4}{##1}}% } % \end{macrocode} -% \begin{macro}{\FamilySetLength} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.15}{2015/01/02}{\cs{ifglueexpr} hinzugefügt}%^^A -% \changes{v3.18a}{2015/07/06}{korrekte Verwendung von -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.20}{2016/04/27}{Expansion vor dem Test}%^^A -% Ãœber diese Anweisung wird der Wert dann gesetzt. Dabei ist das erste -% Argument die Familie, das zweite der Name des Schlüssels, das dritte der -% Name der \LaTeX-Länge, das vierte schließlich der gewünschte Wert. +% \begin{command}{\FamilySetLength} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.15}{2015/01/02}{\cs{ifglueexpr} added} +% \changes{v3.18a}{2015/07/06}{usage of \cs{FamilyKeyStateProcessed} fixed} +% \changes{v3.20}{2016/04/27}{expansion before testing} +% Set the value of a \meta{key} defined by \cs{FamilyLengthKey}: +% \begin{quote} +% \cs{FamilySetLength}\marg{family}\marg{key}\marg{\LaTeX{} length}\marg{value} +% \end{quote} +% Note: Before assigning the \meta{value} to the \meta{\LaTeX{} length} it is +% fully expanded and tests are done, if the \meta{value} can be used to be +% assigned to a \LaTeX{} length. If this fails a unknown value is reported. If +% the expansion or the assignment fails a \TeX{} error happens. % \begin{macrocode} \newcommand*{\FamilySetLength}[4]{% \begingroup \protected@edef\reserved@a{#4}% % \end{macrocode} -% Zusammen mit \cs{@defaultsunits} (siehe unten) wäre hier das sinnvoll: +% Together with \cs{@defaultsunits} (see below) following code, could be used: % \begin{macrocode} %<*neveruse> \expandafter\Ifiscount\expandafter{\reserved@a}{% \aftergroup\@firstoftwo }{% %</neveruse> +% \end{macrocode} +% But currently we don't use it! +% \begin{macrocode} \expandafter\Ifisdimen\expandafter{\reserved@a}{% \aftergroup\@firstoftwo }{% @@ -4725,13 +4548,16 @@ \aftergroup\@firstoftwo }{% % \end{macrocode} -% Zusammen mit \cs{@defaultsunits} (siehe unten) wäre hier das sinnvoll: +% Together with \cs{@defaultsunits} (see below) following code, could be used: % \begin{macrocode} %<*neveruse> \expandafter\Ifisnumexpr\expandafter{\reserved@a}{% \aftergroup\@firstoftwo }{% %</neveruse> +% \end{macrocode} +% But currently we don't use it! +% \begin{macrocode} \expandafter\Ifisdimexpr\expandafter{\reserved@a}{% \aftergroup\@firstoftwo }{% @@ -4755,13 +4581,18 @@ %</neveruse> \endgroup % \end{macrocode} -% TODO: An der Stelle wäre etwas wie: +% \begin{description} +% \item[ToDo:] Maybe something like: % \begin{macrocode} %<*neveruse> {\@defaultunits#3=#4pt\relax\@nnil\FamilyKeyStateProcessed} %</neveruse> -% schön. Aber aus irgend einem Grund habe ich mich seinerzeit dafür -% entschieden, die einfacher Form zu wählen: +% \end{macrocode} +% would be nice. But there are reasons I've decided not to use +% this. Unfortunately I cannot remember the reason (and because of this I've +% added the code as \texttt{neveruse}). So the simple assignment is used +% instead: +% \end{description} % \begin{macrocode} {#3=#4\FamilyKeyStateProcessed}% {% @@ -4776,34 +4607,35 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\FamilyLengthMacroKey} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.15}{2014/12/03}{er wird ein (optionaler) Säumniswert -% unterstützt}%^^A -% \begin{macro}{\FamilySetLengthMacro} -% \changes{v3.12}{2013/11/05}{neu}%^^A -% \changes{v3.14a}{2014/11/24}{fix: \cs{@tempskipa} statt \cs{@temskipa}}%^^A -% \changes{v3.15}{2014/12/17}{\cs{aftergroup} vor -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.15}{2015/01/02}{\cs{ifglueexpr} hinzugefügt}%^^A -% \changes{v3.18a}{2015/07/06}{korrekte Verwendung von -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} ersetzt durch -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.20}{2016/04/27}{interne Verwendung von \cs{FamilySetLength}}%^^A -% Diese Anweisungen arbeitet fast wie \cs{FamilyLengthKey} und -% \cs{FamilySetLengt}, allerdings wird nicht eine Länge gesetzt, sondern -% ein Makro auf einen Wert definiert. Dabei ist das erste Argument die -% Familie, das zweite der Name des Schlüssels, das dritte das Makro, das -% vierte schließlich der gewünschte Wert. -% \begin{macro}{\Family@@Length@@Macro@@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A -% \begin{macro}{\Family@Length@Macro@Key} -% \changes{v3.15}{2014/12/03}{neu (intern)}%^^A +% \end{command}^^A \FamilySetLength +% \end{macro}^^A \Family@@Leng{\FamilyLengthKey}th@@Key,\Family@Length@Key +% \end{command}^^A FamilyLengthKey +% +% \begin{command}{\FamilyLengthMacroKey} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.15}{2014/12/03}{support for optional default} +% \begin{command}{\FamilySetLengthMacro} +% \changes{v3.12}{2013/11/05}{added} +% \changes{v3.14a}{2014/11/24}{fix: \cs{@tempskipa} instead of \cs{@temskipa}} +% \changes{v3.15}{2014/12/17}{\cs{aftergroup} before +% \cs{FamilyKeyStateProcessed}} +% \changes{v3.15}{2015/01/02}{\cs{ifglueexpr} added} +% \changes{v3.18a}{2015/07/06}{usage of \cs{FamilyKeyStateProcessed} fixed} +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by +% \cs{kernel@ifnextchar}} +% \changes{v3.20}{2016/04/27}{using \cs{FamilySetLength}} +% Similar to \cs{FamilyLengthKey}, but it does not use a \LaTeX{} counter to +% store the value but a macro (or command): +% \begin{quote} +% \cs{FamilyLength MacroKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{macro} +% \end{quote} +% The \meta{value} will be assigned to a length (\len{@tempskipa}) locally and +% the \meta{macro} is defined using the value of the length. The \meta{macro} +% is automatically set to \cs{z@} if it was not already defined. If it was +% defined, the user is responsible for that it has to be a valid length. Usage +% of \cs{dimexpr} is recommended for such a definition. +% \begin{macro}{\Family@@Length@@Macro@@Key,\Family@Length@Macro@Key} +% \changes{v3.15}{2014/12/03}{added} % \begin{macrocode} %<*base> \newcommand*{\FamilyLengthMacroKey}[3][.\@currname.\@currext]{% @@ -4841,27 +4673,21 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \Family@@Length@@Macro@@Key,\Family@Length@Macro@Key +% \end{command}^^A \FamilySetLengthMacro +% \end{command}^^A \FamilyLengthMacroKey % % -% \begin{macro}{\FamilyUseLengthMacroKey} -% \changes{v3.20}{2016/04/27}{neu}%^^A -% \begin{macro}{\FamilySetUseLengthMacro} -% \changes{v3.20}{2016/04/27}{neu}%^^A -% Diese Anweisungen arbeitet fast wie \cs{FamilyLengthKey} und -% \cs{FamilySetLengt}, allerdings wird das Makro nicht als den Wert des Werts, -% sondern als den Wert selbst definiert. Eine Expansion des Werts findet nur -% für die Prüfung statt. Änderungen am Wert wirken sich also ggf. weiterhin -% aus. Dabei ist das erste Argument die Familie, das zweite der Name des -% Schlüssels, das dritte das Makro, das vierte schließlich der gewünschte -% Wert. -% \begin{macro}{\Family@@UseLength@@Macro@@Key} -% \changes{v3.20}{2016/04/27}{neu (intern)}%^^A -% \begin{macro}{\Family@USeLength@Macro@Key} -% \changes{v3.20}{2016/04/27}{neu (intern)}%^^A +% \begin{command}{\FamilyUseLengthMacroKey,\FamilySetUseLengthMacro} +% \changes{v3.20}{2016/04/27}{added} +% These are almost the same like \cs{FamilyLengthMacroKey} and +% \cs{FamilySetLengthMacro}. But there is one important difference: Instead of +% setting the \meta{macro} to the value of the temporary length, that has been +% used for a test assignment, the \meta{macro} is defined as \meta{value}. So +% later changes valid for the expansion and value of \meta{value} will indeed +% change the value of \meta{macro}, when it is used. +% \begin{macro}{\Family@@UseLength@@Macro@@Key,\Family@USeLength@Macro@Key} +% \changes{v3.20}{2016/04/27}{added} % \begin{macrocode} %<*base> \newcommand*{\FamilyUseLengthMacroKey}[3][.\@currname.\@currext]{% @@ -4900,33 +4726,29 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \Family@@UseLength@@Macro@@Key,\Family@USeLength@Macro@Key +% \end{command}^^A \FamilyUseLengthMacroKey,\FamilySetUseLengthMacro % % -% \begin{macro}{\FamilyNumericalKey} -% \changes{v3.00}{2008/04/30}{Neue Anweisung}%^^A +% \begin{command}{\FamilyNumericalKey} +% \changes{v3.00}{2008/04/30}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} +% This is a mapping of symbolic values to numerical values: +% \begin{quote} +% \cs{FamilyNumericalKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{macro}\marg{mapping list} +% \end{quote} +% The \meta{mapping list} is: +% \begin{quote} +% \texttt{\marg{symbol$_1$}\marg{value$_1$},\marg{symbol$_2$}\marg{value$_2$}\dots} +% \end{quote} +% There is no need for \meta{value$_n$} and \meta{value$_m$} to be mutual +% exclusive. So several symbols can be mapped to the same value. % \begin{macro}{\Family@Numerical@Key} -% \changes{v3.00}{2008/05/28}{Neu (intern)}%^^A -% \changes{v3.08b}{2011/03/31}{fehlendes Argument bei \cs{ifundefined}} -% Ein ähnliches Makro definiert einen Schlüssel, der ein nummerisches Makro -% auf einen bestimmten Wert setzt. Dabei können auch verschiedene symbolische -% Werte auf denselben nummerischen Wert abgebildet werden. Das erste, -% optionale Argument ist das Familienmitglied, das zweite, obligatorische -% Argument ist die Familie, das dritte, obligatorische Argument ist der Name -% der Option, das vierte, optionale Artument ist der Defaultwert für den -% Schlüssel, das fünfte, obligatorische Argument ist der Name des Makros, das -% (in der Voreinstellung als 0) definiert werden soll, das sechste, -% obligatorische Argument ist die Liste der symbolischen und nummerischen -% Werte. Die Liste hat die Form: -% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots -% Das interne Makro wird benötigt, um das vierte, optionale Argument zu -% ermöglichen. Dabei ist dann das erste Argument nicht mehr optional, sondern -% obligatorisch. +% \changes{v3.00}{2008/05/28}{added} +% \changes{v3.08b}{2011/03/31}{fixed: missing argument to \cs{ifundefined}} +% The internal macro is used to handle the optional \meta{default} (because +% currently we are not using \pkg{xparse}). % \begin{macrocode} %<*base> \newcommand*{\FamilyNumericalKey}[3][.\@currname.\@currext]{% @@ -4944,15 +4766,15 @@ \fi } % \end{macrocode} -% \begin{macro}{\FamilySetNumerical} +% \end{macro} +% \begin{command}{\FamilySetNumerical} % \changes{v3.11a}{2012/05/28}{call of \cs{FamilyUnknownKeyValue} outside of -% local group}%^^A -% \changes{v3.25}{2017/12/04}{komplett leere Listenelemente werden -% ignoriert}%^^A -% Die eigentliche Arbeit dabei wird von diesem Makro erledigt. Dabei -% wird die Familie zu Argument 1, der Name des Schlüssels zu Argument 2, der -% Name des Makros, das definiert werden soll zu Argument 3, die Liste zu -% Argument 4 und der Wert, auf den gesetzt werden soll, zu Argument 5. +% local group} +% \changes{v3.25}{2017/12/04}{handling of completely empty list elements} +% Set the value of \meta{key} defined by \cs{FamilyNumericalKey}: +% \begin{quote} +% \cs{FamilySetNumerical}\marg{family}\marg{key}\marg{macro}\marg{mapping list}\marg{value} +% \end{quote} % \begin{macrocode} \newcommand*{\FamilySetNumerical}[5]{% \begingroup @@ -4988,27 +4810,21 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \FamilySetNumerical +% \end{command}^^A \FamilyNumericalKey % % \begin{macro}{\KOMA@ncmdkey} -% \changes{v3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied}%^^A -% \changes{v3.17}{2015/03/16}{neu implementiert mit Speicherung der -% Werte und optionalem erstem Argument}%^^A -% \begin{macro}{\KOMA@@ncmdkey} -% \changes{v3.17}{2015/03/16}{neu (intern)}%^^A -% \begin{macro}{\KOMA@@@ncmdkey} -% \changes{v3.17}{2015/03/16}{neu (intern)}%^^A -% Wie \cs{FamilyNumericalKey} mit zwei entscheidenden Unterschieden: +% \changes{v3.02c}{2009/02/04}{defining the member (if needed)} +% \changes{v3.17}{2015/03/16}{re-implemented with value storage and optional default} +% \begin{macro}{\KOMA@@@ncmdkey,\KOMA@@ncmdkey} +% \changes{v3.17}{2015/03/16}{added} +% Like \cs{FamilyNumericalKey} with two important differences: % \begin{itemize} -% \item Die Familien ist immer \texttt{KOMA} und entfällt daher als zweites -% Argument. -% \item Der gespeicherte Wert wird ausgetauscht. Daher kann es nicht nur für -% Optionen verwendet werden, bei denen die Werte exklusiv sind. +% \item The family is not an argument but always |KOMA|. +% \item The values will in the internal value storage is replaced (on success). % \end{itemize} -% Wichtig: Die Voreinstellung muss anschließend noch in jedem Fall mit -% \cs{KOMA@kav@add} gesetzt werden! +% Important: Don't forget to add the default to the internal value storage, +% e.g., using \cs{KOMA@kav@add}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@ncmdkey}[2][.\@currname.\@currext]{% @@ -5037,41 +4853,33 @@ %</koma> % \end{macrocode} % \begin{macro}{\KOMA@set@ncmdkey} -% Die eigentliche Arbeit dabei wird wahlweise von diesem Makro erledigt. Dabei -% wird der Name des Schlüssels zu Argument 1, der Name des Makros, -% das definiert werden soll zu Argument 2, die Liste zu Argument 3 und -% der Wert, auf den gesetzt werden soll, zu Argument 4. Dabei wird allerdings -% kein gespeicherter Wert ersetzt! +% The corresponding set command similar to \cs{FamilySetNumerical} but again +% the family is not an argument but always |KOMA|. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@set@ncmdkey}{\FamilySetNumerical{KOMA}} %</koma> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \KOMA@set@ncmdkey +% \end{macro}^^A \KOMA@@@ncmdkey,\KOMA@@ncmdkey +% \end{macro}^^A \KOMA@ncmdkey % % -% \begin{macro}{\FamilyStringKey} -% \changes{v3.08}{2010/11/05}{Neue Anweisung}%^^A -% \changes{v3.08b}{2011/03/31}{\cs{Family@String@Key} und -% \cs{Family@@String@@Key} vertauscht}%^^A +% \begin{command}{\FamilyStringKey} +% \changes{v3.08}{2010/11/05}{added} +% \changes{v3.08b}{2011/03/31}{\cs{Family@String@Key} and +% \cs{Family@@String@@Key} switched} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\Family@String@Key} -% \changes{v3.08}{2010/11/05}{Neu (intern)}%^^A -% \begin{macro}{\Family@@String@@Key} -% \changes{v3.08}{2010/11/05}{Neu (intern)}%^^A -% Ein ähnliches Makro definiert einen Schlüssel, der ein Makro auf einen -% beliegigen Wert setzt. Das erste, optionale Argument ist das -% Familienmitglied, das zweite, obligatorische Argument ist die Familie, das -% dritte, obligatorische Argument ist der Name der Option, das vierte, -% optionale Artument ist der Defaultwert für den Schlüssel, das fünfte, -% obligatorische Argument ist das Makros, das (in der Voreinstellung -% als leer) definiert werden soll. Die internen Makro werden benötigt, um das -% vierte, optionale Argument zu ermöglichen. Dabei ist dann das erste Argument -% nicht mehr optional, sondern obligatorisch. +% \cs{kernel@ifnextchar}} +% Defining a \meta{key} that defines a \meta{macro} to be a \meta{value}. +% \begin{quote} +% \cs{FamilyStringKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{macro} +% \end{quote} +% \meta{default} and the \meta{value} of the option should be a string (but +% currently every value is accepted). The definition is done using +% \cs{def}. So it doesn't matter whether the \meta{macro} is already defined. +% \begin{macro}{\Family@String@Key,\Family@@String@@Key} +% \changes{v3.08}{2010/11/05}{added} % \begin{macrocode} %<*base> \newcommand*{\FamilyStringKey}[3][.\@currname.\@currext]{% @@ -5087,28 +4895,24 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \Family@String@Key,\Family@@String@@Key +% \end{command}^^A \FamilyStringKey % % -% \begin{macro}{\FamilyCSKey} -% \changes{v3.25}{2017/12/08}{Neue Anweisung}%^^A +% \begin{command}{\FamilyCSKey} +% \changes{v3.25}{2017/12/08}{added} +% This is similar to \cs{FamilyStringKey} but instead of a \meta{macro} a +% \meta{command sequence} is used: +% \begin{quote} +% \cs{FamilyCSKey}\oarg{member}\marg{family}\marg{key}\oarg{default}\marg{command sequence} +% \end{quote} +% Because of this, \cs{@namedef} instead of \cs{def} is used to define the +% corresponding \cs{\meta{command sequence}}. % \begin{macro}{\Family@CS@Key} -% \changes{v3.25}{2017/12/08}{Neu (intern)}%^^A +% \changes{v3.25}{2017/12/08}{added} % \begin{macro}{\Family@@CS@@Key} -% \changes{v3.25}{2017/12/08}{Neu (intern)}%^^A -% \changes{v3.26}{2018/11/06}{Es wird wirklich diese Anweisung (statt erneut -% \cs{Family@@String@@Key}) definiert}%^^A -% Ein ähnliches Makro definiert einen Schlüssel, der eine Befehlssequenz auf -% einen beliegigen Wert setzt. Das erste, optionale Argument ist das -% Familienmitglied, das zweite, obligatorische Argument ist die Familie, das -% dritte, obligatorische Argument ist der Name der Option, das vierte, -% optionale Artument ist der Defaultwert für den Schlüssel, das fünfte, -% obligatorische Argument ist der Name des Makros, das (in der Voreinstellung -% als leer) definiert werden soll. Die internen Makro werden benötigt, um das -% vierte, optionale Argument zu ermöglichen. Dabei ist dann das erste Argument -% nicht mehr optional, sondern obligatorisch. +% \changes{v3.25}{2017/12/08}{added} +% \changes{v3.26}{2018/11/06}{fix: don't overwrite \cs{Family@@String@@Key}} % \begin{macrocode} %<*base> \newcommand*{\FamilyCSKey}[3][.\@currname.\@currext]{% @@ -5124,25 +4928,25 @@ } %</base> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \Family@@CS@@Key +% \end{macro}^^A \Family@CS@Key +% \end{command}^^A \FamilyCSKey % % % \begin{macro}{\KOMA@DeclareDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)}%^^A +% \changes{v3.01a}{2008/11/20}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\KOMA@@DeclareDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)}%^^A -% \begin{macro}{\KOMA@@@DeclareDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)}%^^A -% Mit Hilfe dieses Makros kann eine Option definiert werden, die -% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel -% verwendet. Das erste Argument ist optional und muss dann der Paketname -% sein. Ist es nicht gesetzt, so wird stattdessen die Klasse -% \cs{KOMAClassName} angenommen. Das zweite Argument ist der Name der -% Option. Das vierte Argument ist das Setzen des gewünschten Schlüssels. +% \cs{kernel@ifnextchar}} +% Used to define a deprecated \meta{classic option} by an up-to-date +% \meta{\pkg*{keyval} option}. +% \begin{quote} +% \cs{KOMA@DeclareDeprecatedOption}\oarg{package name}\marg{classic +% option}\marg{\pkg*{keyval} option} +% \end{quote} +% If the \meta{package name} is omitted, \cs{KOMAClassName} is used to report +% a class warning instead of a package warning. +% \begin{macro}{\KOMA@@DeclareDeprecatedOption,\KOMA@@@DeclareDeprecatedOption} +% \changes{v3.01a}{2008/11/20}{added} % \begin{macrocode} %<*koma> \newcommand*{\KOMA@DeclareDeprecatedOption}{% @@ -5158,13 +4962,19 @@ } % \end{macrocode} % \begin{macro}{\KOMA@UseDeprecatedOption} -% \changes{v3.01a}{2008/11/20}{neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{Test für \texttt{version!=first}}%^^A -% \changes{v3.12a}{2014/01/22}{vertauschte Logic für -% \texttt{version!=first} korrigiert}%^^A -% \changes{v3.22}{2016/07/29}{diverse \cs{detokenize} eingefügt}%^^A -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. +% \changes{v3.01a}{2008/11/20}{added} +% \changes{v3.12}{2013/03/04}{test to use \opt{version\quotechar=first}} +% \changes{v3.12a}{2014/01/22}{test fixed} +% \changes{v3.22}{2016/07/29}{added several \cs{detokenize}} +% One more helper: +% \begin{quote} +% \cs{KOMA@UseDeprecatedOption}\marg{warning command}\marg{classic +% option}\marg{\pkg*{keyval} option} +% \end{quote} +% Note: \meta{warning command} should either be +% |\ClassWarningNoLine{\KOMAClassName}| or +% \cs{PackageWarningNoLine}\marg{package name}. But you could also use +% \cs{ClassInfoNoLine} or \cs{PackageInfoNoLine}. % \begin{macrocode} \newcommand*{\KOMA@UseDeprecatedOption}[3]{% \begingroup @@ -5201,26 +5011,27 @@ } %</koma> % \end{macrocode} -% \end{macro}%^^A \KOMA@UseDeprecatedOption -% \end{macro}%^^A \KOMA@@@DeclareDeprecatedOption -% \end{macro}%^^A \KOMA@@DeclareDeprecatedOption -% \end{macro}%^^A \KOMA@DeclareDeprecatedOption +% \end{macro}^^A \KOMA@UseDeprecatedOption +% \end{macro}^^A \KOMA@@DeclareDeprecatedOption,\KOMA@@@DeclareDeprecatedOption +% \end{macro}^^A \KOMA@DeclareDeprecatedOption % % % \begin{macro}{\KOMA@DeclareStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)}%^^A +% \changes{v3.01a}{2008/11/21}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\KOMA@@DeclareStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)}%^^A -% \begin{macro}{\KOMA@@@DeclareStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)}%^^A -% Mit Hilfe dieses Makros kann eine Option definiert werden, die -% eigentlich obsolete ist. Statt dieser Option wird dann ein Schlüssel -% verwendet. Das erste Argument ist optional und muss dann der Paketname -% sein. Ist es nicht gesetzt, so wird stattdessen die Klasse -% \cs{KOMAClassName} angenommen. Das zweite Argument ist der Name der -% Option. Das vierte Argument ist das Setzen des gewünschten Schlüssels. +% \cs{kernel@ifnextchar}} +% This is similar to \cs{KOMA@DeclareDeprecatedOption} but is used for +% standard options, which means options known by the standard classes. +% \begin{quote} +% \cs{KOMA@DeclareStandardOption}\oarg{package name}\marg{classic +% option}\marg{\pkg*{keyval} option} +% \end{quote} +% For compatibility these options are not reported as deprecated, but an info +% is added to the \file{log} file about the usage and how it could be replaced +% by a \pkg*{keyval} option. +% \begin{macro}{\KOMA@@DeclareStandardOption,\KOMA@@@DeclareStandardOption, +% \KOMA@UseStandardOption} +% \changes{v3.01a}{2008/11/21}{added} % \begin{macrocode} %<*koma> \newcommand*{\KOMA@DeclareStandardOption}{% @@ -5234,12 +5045,6 @@ \newcommand*{\KOMA@@@DeclareStandardOption}[3]{% \DeclareOption{#2}{\KOMA@UseStandardOption{#1}{#2}{#3}}% } -% \end{macrocode} -% \begin{macro}{\KOMA@UseStandardOption} -% \changes{v3.01a}{2008/11/21}{neu (intern)}%^^A -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% 1. Meldungsbefehl, 2. obsolete Option, 3. Setzen des Schlüssels. -% \begin{macrocode} \newcommand*{\KOMA@UseStandardOption}[3]{% \begingroup \edef\reserved@a{\noexpand\endgroup @@ -5260,61 +5065,44 @@ %</koma> % \end{macrocode} % \begin{macro}{\scr@sr@co} -% \changes{v2.96}{2006/08/20}{neu (intern)}%^^A -% \changes{v3.12a}{2014/01/22}{beseitigt}%^^A -% \end{macro}%^^A \scr@sr@co -% \end{macro}%^^A \KOMA@UseStandardOption -% \end{macro}%^^A \KOMA@@@DeclareStandardOption -% \end{macro}%^^A \KOMA@@DeclareStandardOption -% \end{macro}%^^A \KOMA@DeclareStandardOption +% \changes{v2.96}{2006/08/20}{added} +% \changes{v3.12a}{2014/01/22}{removed} +% \end{macro}^^A \scr@sr@co +% \end{macro}^^A \KOMA@@@DeclareStandardOption … \KOMA@UseStandardOption +% \end{macro}^^A \KOMA@DeclareStandardOption % % % \begin{macro}{\KOMA@DeclareObsoleteOption} -% \changes{v2.96}{2006/08/20}{\cs{CurrentOption wir geschützt}} -% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt}%^^A -% \begin{macro}{\KOMA@@DeclareObsoleteOption} -% \changes{v2.98c}{2008/02/18}{neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt}%^^A -% \begin{macro}{\KOMA@@@DeclareObsoleteOption} -% \changes{v2.98c}{2008/02/18}{neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt}%^^A -% \begin{macro}{\KOMA@iv@DeclareObsoleteOption} -% \changes{v2.98c}{2008/02/18}{neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt}%^^A -% \begin{macro}{\KOMA@UseObsoleteOption} -% \changes{v2.97c}{2007/04/19}{neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{entfernt weil unbenutzt}%^^A -% \end{macro}%^^A \KOMA@UseObsoleteOption -% \end{macro}%^^A \KOMA@iv@DeclareObsoleteOption -% \end{macro}%^^A \KOMA@iii@DeclareObsoleteOption -% \end{macro}%^^A \KOMA@ii@DeclareObsoleteOption -% \end{macro}%^^A \KOMA@i@DeclareObsoleteOption -% -% -% \begin{macro}{\KOMA@newdeprecatedcommand} -% \changes{v3.12}{2013/03/04}{renamed \cs{KOMA@newobsoletecommand} into -% \cs{KOMA@newdeprecatedcommand}} -% Mit Hilfe dieses Makros kann ein Makro definiert werden, das -% eigentlich obsolete ist. Das Makro verwendet dann schlicht einen -% Schlüssel. Das erste Argument ist optional und muss dann entweder -% \cs{PackageInfo}, \cs{PackageInfoNoLine}, \cs{PackageWarning} oder -% \cs{PackageWarningNoLine} sein. Das zweite Argument ist das Makro. -% Das dritte Argument ist das Setzen des gewünschten Schlüssels. Das -% definierte Makro selbst hat Schaltercharakter, ist also nicht -% \cs{long} und versteht auch keine Argumente. +% \changes{v2.96}{2006/08/20}{\cs{CurrentOption} protected} +% \changes{v3.12}{2013/03/04}{removed} +% \begin{macro}{\KOMA@@DeclareObsoleteOption,\KOMA@@@DeclareObsoleteOption, +% \KOMA@iv@DeclareObsoleteOption,\KOMA@UseObsoleteOption} +% \changes{v2.98c}{2008/02/18}{added} +% \changes{v3.12}{2013/03/04}{removed} +% \end{macro}^^A \KOMA@@DeclareObsoleteOption … \KOMA@UseObsoleteOption +% \end{macro}^^A \KOMA@DeclareObsoleteOption +% +% +% \begin{macro}{\KOMA@newobsoletecommand,\KOMA@newdeprecatedcommand} +% \changes{v3.12}{2013/03/04}{\cs{KOMA@newobsoletecommand} renamed to +% \cs{KOMA@newdeprecatedcommand}} +% Defines a deprecated command or \meta{macro}, represented by a +% \meta{\pkg*{keyval} option}: +% \begin{quote} +% \cs{KOMA@newdeprecatedcommand}\oarg{warning +% command}\marg{macro}\marg{\pkg*{keyval} option} +% \end{quote} +% Note: This can be used only for macros and commands, that behave as a +% selector. Macros or commands with arguments are not supported. +% \begin{macro}{\KOMA@UseDeprecatedCommand,\KOMA@UseDeprecatedCommand} +% \changes{v2.97c}{2007/04/19}{added} +% \changes{v3.12}{2013/03/04}{\cs{KOMA@UseObsoleteCommand} renamed to +% \cs{KOMA@UseDeprecatedCommand}} % \begin{macrocode} %<*koma> \newcommand*{\KOMA@newdeprecatedcommand}[3][\@gobbletwo]{% \newcommand*{#2}{\KOMA@UseDeprecatedCommand{#1}{\string#2}{#3}}% } -% \end{macrocode} -% \begin{macro}{\KOMA@UseDeprecatedCommand} -% \changes{v2.97c}{2007/04/19}{neu (intern)}%^^A -% \changes{v3.12}{2013/03/04}{renamed \cs{KOMA@UseObsoleteCommand} into -% \cs{KOMA@UseDeprecatedCommand}} -% Die eigentliche Arbeit wird von diesem Makro erledigt. Die Argumente sind -% dieselben. -% \begin{macrocode} \newcommand*{\KOMA@UseDeprecatedCommand}[3]{% #1{% scrkbase% @@ -5327,26 +5115,25 @@ } %</koma> % \end{macrocode} -% \end{macro}%^^A \KOMA@UseDeprecatedCommand -% \end{macro}%^^A \KOMA@newdeprecatedcommand +% \end{macro}^^A \KOMA@UseDeprecatedCommand +% \end{macro}^^A \KOMA@newdeprecatedcommand % % -% \selectlanguage{english} -% \subsection{Do Hook Mechanism} +% \subsection{Do hook mechanism} % \label{sec:dohook} % -% \changes{v3.27}{2019/02/02}{Do hook mechanism added}%^^A +% \changes{v3.27}{2019/02/02}{Do hook mechanism added} % From \KOMAScript~v3.27 there is a new general hook mechanism called ``do % hook mechanism''. This mechanism is mentioned to provide extended hooks for % package authors. All hooks newly implemented in \KOMAScript{} \emph{should} % use this new mechanism. % % -% \begin{macro}{\ForDoHook} -% \changes{v3.27}{2019/02/05}{New}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.30}{2020/03/07}{\cs{loop}\dots\cs{repeat} inside group}%^^A -% \changes{v3.30}{2020/03/07}{using \cs{rloop} instead of \cs{loop}}%^^A +% \begin{command}{\ForDoHook} +% \changes{v3.27}{2019/02/05}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.30}{2020/03/07}{\cs{loop}\dots\cs{repeat} inside group} +% \changes{v3.30}{2020/03/07}{using \cs{rloop} instead of \cs{loop}} % Arguments: % \begin{description} % \item[\meta{specificator}:] @@ -5385,9 +5172,9 @@ }% } % \end{macrocode} -% \begin{macro}{\SplitDoHook} -% \changes{v3.27}{2019/02/04}{New}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\SplitDoHook} +% \changes{v3.27}{2019/02/04}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Arguments: % \begin{description} % \item[\meta{specificator}:] @@ -5412,12 +5199,12 @@ } % \end{macrocode} % \begin{macro}{\scr@hooksplit@specificator} -% \changes{v3.27}{2019/02/02}{New internal}%^^A +% \changes{v3.27}{2019/02/02}{added} % Split of the first string of the specificator argument, append it to % \cs{scr@hookname} and store the rest in \cs{scr@hookargument}. The argument % must not be empty! % \begin{macro}{\scr@@hooksplit@specificator} -% \changes{v3.27}{2019/02/02}{New internal}%^^A +% \changes{v3.27}{2019/02/02}{added} % \begin{macrocode} \newcommand*{\scr@hooksplit@specificator}[3]{% \expandafter\scr@@hooksplit@specificator\expandafter#1\expandafter#2#3/\@nil @@ -5435,11 +5222,11 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % -% \begin{macro}{\ExecuteDoHook} -% \changes{v3.27}{2019/02/02}{New}%^^A +% \begin{command}{\ExecuteDoHook} +% \changes{v3.27}{2019/02/02}{added} % Arguments: % \begin{description} % \item[\meta{specificator}:] @@ -5477,10 +5264,10 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\AddtoDoHook} -% \changes{v3.27}{2019/02/02}{New}%^^A +% \begin{command}{\AddtoDoHook} +% \changes{v3.27}{2019/02/02}{added} % Arguments: % \begin{description} % \item[\meta{specificator}:] @@ -5506,11 +5293,11 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\AddtoOneTimeDoHook} -% \changes{v3.27}{2019/02/02}{New}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\AddtoOneTimeDoHook} +% \changes{v3.27}{2019/02/02}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Arguments: % \begin{description} % \item[\meta{specificator}:] @@ -5535,21 +5322,20 @@ }% } %</base> +%</body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \selectlanguage{ngerman} -% -% \iffalse -%</body> -% \fi % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-basics.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx b/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx index a00422db94..a2c58a9e4e 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-bibliography.dtx @@ -1,8 +1,7 @@ -% \CheckSum{421} % \iffalse meta-comment % ====================================================================== % scrkernel-bibliography.dtx -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-bibliography.dtx -% Copyright (c) Markus Kohm, 2002-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-bibliography.dtx 3390 2019-11-18 17:09:35Z kohm $ +%%% From File: $Id: scrkernel-bibliography.dtx 3773 2022-03-29 06:27:55Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-bibliography.dtx}% @@ -74,66 +36,95 @@ (bibliography)]% }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-bibliography.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-bibliography.dtx} \end{document} %</dtx> -% \fi -% \selectlanguage{ngerman} +% \fi^^A meta-comment +% +% \changes{v2.95}{2002/06/30}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/21}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/21}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-bibliography.dtx} +% \title{Bibliography and References with +% \href{https://komascript.de}{\KOMAScript} Classes and Packages} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-bibliography.dtx} provides the usual functionality for the +% bibliography or references. In comparison with the standard classes +% several additions are available. Nevertheless it is fully compatible with +% the known features of the standard classes. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation of the commands implemented in +% \file{scrkernel-bibliography.dtx} in the \KOMAScript{} manual, either the +% German \file{scrguide} or the English \file{scrguien}. +% % -% \changes{v2.95}{2002/06/30}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \MaybeStop{\PrintIndex} % -% \section{Literaturverzeichnis} +% \section{Implementation of Bibliography or References} % -% Das Literaturverzeichnis unterscheidet sich bei \KOMAScript{} nicht -% wesentlich von den Standardklassen. +% Bibliography or references are not available with the \KOMAScript{} letter +% class. +% \begin{macrocode} +%<*!letter> +% \end{macrocode} % -% Briefe haben kein Literaturverzeichnis. % -% \StopEventually{\PrintIndex\PrintChanges} +% \subsection{Bibliography styles} % -% \iffalse -%<*!letter> -% \fi +% \KOMAScript{} provides styles for the bibliography or references. This is +% similar to the redefinition of \cs{@openbib@code} and \cs{newblock} with the +% standard classes, but much more configurable. % -% \iffalse -%<*option> -% \fi -% \subsection{Anweisungen, die für die Optionen benötigt werden} -% -% Einige Anweisungen werden über Optionen verändert. Dazu müssen sie aber -% bereits vor der Abarbeitung der Optionen definiert sein. -% -% \subsubsection{Literaturverzeichnisstile} -% -% \begin{macro}{\newbibstyle} -% \changes{v2.98c}{2008/02/15}{Neu}%^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung des Werts für Option -% \texttt{bibliography}}%^^A -% Neue Literaturverzeichnisstile müssen mit dieser Anweisung definiert werden, -% wenn sie von der Fehlermeldung korrekt angezeigt werden sollen. Das erste, -% optionale Argument ist der Name eines Elternstils. Das zweite -% Argument ist der Name des Stils. Das dritte Argument ist Code für den -% Stil. Darin sollten normalerweise Umdefinierungen für \cs{@openbib@code}, -% \cs{newblock}, \cs{bib@beginhook}, \cs{bib@endhook} enthalten sein. Die -% genannten Makros werden am Anfang des Stils zurückgesetzt. Danach wird der -% Elternstil geladen und dann die eigenen Definitionen. +% \begin{command}{\newbibstyle} +% \changes{v2.98c}{2008/02/15}{added} +% \changes{v3.17}{2015/03/12}{using internal storage of options \opt{bibliography}} +% Defining new bibliography style: +% \begin{quote} +% \cs{newbibstyle}\oarg{parent style}\marg{style name}\marg{style code} +% \end{quote} +% The command defines an internal command \cs{scr@bibstyle@\meta{style name}}, +% that can be used to activate a bibliography style. If the \meta{parent +% style} is given, the code of the \meta{parent style} is executed before the +% \meta{style code}. +% \begin{macro}{\@openbib@code} +% \changes{v2.3g}{1996/01/14}{added} +% \changes{v2.98c}{2008/02/15}{earlier definition} +% Typically the \meta{style code} redefines the macro \cs{@openbib@code} and +% \cs{newblock}. +% The \cs{@openbib@code} is executed at the very beginning of a +% bibliography. Originally it has been used to implement the standard option +% \opt{openbib}. \KOMAScript{} uses it for compatibility for all bibliography +% styles. +% \begin{command}{\newblock} +% \changes{v2.3g}{1996/01/14}{initialization changed} +% \changes{v2.98c}{2008/02/15}{earlier definition} +% The command \cs{newblock} is used inside bibliography entries to mark a +% \emph{new block}. Usually such new blocks are inserted after the author and +% after the title. But the user or \BibTeX{} style is free to use it different. +% Both are initialized empty (before the code of a parent +% style is executed. +% \begin{macro}{\bib@beginhook,\bib@endhook} +% \changes{v2.98c}{2008/02/15}{added} +% Also \cs{bib@beginhook} and \cs{bib@endhook} are initialized empty. So +% activation of a new bibliography style always removes the hook +% code. Redefining an already existing style is not supported and results in +% an error. % \begin{macrocode} +%<*option> \newcommand{\newbibstyle}[3][]{% \scr@ifundefinedorrelax{scr@bibstyle@#2}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% @@ -154,11 +145,12 @@ \let\bib@endhook\@empty % \end{macrocode} % \begin{macro}{\scr@current@bibstyle} -% \changes{v3.17}{2015/03/12}{Neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Das Makro \cs{scr@current@bibstyle} wird benötigt, um den aktuellen Wert von -% Option \texttt{bibliography} korrigieren zu können. Es wird direkt vom Stil -% definiert, der auch die Korrektur des Optionenwerts durchführt. +% \changes{v3.17}{2015/03/12}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.36}{2022/02/21}{add expanded name to list} +% To be able to change the current value of option \opt{bibliography} we need +% to know the current style and save it in \cs{scr@current@bibstyle}. We also +% have to correct the value in the storage by activating a style. % \begin{macrocode} \@ifundefined{scr@current@bibstyle}{}{% \Ifstr{\scr@current@bibstyle}{}{}{% @@ -176,7 +168,11 @@ \csname scr@bibstyle@#1\endcsname #3% }% - \g@addto@macro\scr@bibstylelist{, `#2'}% + \ifx\scr@bibstylelist\@empty + \edef\scr@bibstylelist{`#2'}% + \else + \edef\scr@bibstylelist{\scr@bibstylelist, `#2'}% + \fi }% }{% \ClassError{\KOMAClassName}{bibliography style `#2' already exists}{% @@ -189,54 +185,39 @@ } % \end{macrocode} % \begin{macro}{\scr@bibstyle@} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}% -% Nur ein Dummy, wenn kein Elternstil existiert. +% \changes{v2.98c}{2008/02/15}{added} +% Dummy of the empty parent style. % \begin{macrocode} \newcommand*{\scr@bibstyle@}{} % \end{macrocode} -% \end{macro} -% \begin{macro}{\bib@beginhook} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}% -% \begin{macro}{\bib@endhook} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}% -% Die beiden Haken, wie sie durch den Literaturverzeichnisstil vorgegeben -% werden. +% \end{macro}^^A \scr@bibstyle@ +% The hook macros are reserved. % \begin{macrocode} \newcommand*{\bib@beginhook}{} \newcommand*{\bib@endhook}{} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \bib@beginhook,\bib@endhook % \begin{macro}{\scr@bibstylelist} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}% -% Liste der mit \cs{newbibstyle} definierten und daher bekannten -% Literaturverzeichnisstile. -% \begin{macro}{\@openbib@code} -% \changes{v2.3g}{1996/01/14}{Neu (intern)}%^^A -% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}%^^A -% Code, der am Anfang des Literaturverzeichnisses ausgeführt wird und -% normalerweise ursprünglich für die \texttt{openbib}-Funktionalität verwendet -% wurde. Inzwischen wird er für die komplette Stilauswahl verwendet. -% \begin{macro}{\newblock} -% \changes{v2.3g}{1996/01/14}{Grundeinstellung geändert}%^^A -% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}%^^A -% \begin{macrocode} -\newcommand*{\scr@bibstylelist}{\@gobble} +% \changes{v2.98c}{2008/02/15}{added} +% \changes{v3.36}{2022/02/21}{\cs{@gobble} removed} +% \cs{scr@bibstylelist} is a printable comma-separated list of all known +% styles. Single quotes are used to quote the single styles. It is designated +% to be used in messages. +% \begin{macrocode} +\newcommand*{\scr@bibstylelist}{} +% \end{macrocode} +% And also \cs{@openbib@code} and \cs{newblock} are reserved. +% \begin{macrocode} \newcommand*{\@openbib@code}{} \newcommand*{\newblock}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\scr@bibstyle@openstyle} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}% -% Vordefiniert sind zwei Stile. Mit dem Bibliographystil \texttt{openstyle} -% kann eine alternative Darstellung der Literatureinträge aktiviert -% werden. Dabei fügt \cs{newblock} keinen horizontalen Abstand mehr ein, -% sondern beginnt einen neuen Absatz (in Form einer neuen Zeile). -% \begin{macro}{\scr@bibstyle@oldstyle} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}%^^A -% Der Stil \texttt{oldstyle} entspricht hingegen der Voreinstellung. +% \end{macro}^^A \scr@bibstylelist +% \begin{macro}{\scr@bibstyle@openstyle,\scr@bibstyle@oldstyle} +% \changes{v2.98c}{2008/02/15}{added} +% The bibliography style \texttt{openstyle} corresponds to standard option +% \opt{openbib}. The \cs{newblock} starts a new paragraph. +% Style \texttt{oldstyle} is the default style where \cs{newblock} inserts a +% small horizontal distance only. % \begin{macrocode} \newbibstyle{openstyle}{% \renewcommand*{\@openbib@code}{% @@ -252,31 +233,33 @@ } \scr@bibstyle@oldstyle % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@bibstyle@openstyle,\scr@bibstyle@oldstyle +% \end{command}^^A \newblock +% \end{macro}^^A \@openbib@code +% \end{command}^^A \newbibstyle % % -% \subsubsection{Überschrift des Literaturverzeichnisses} +% \subsection{Bibliography heading} % % \begin{macro}{\bib@heading} -% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A -% \changes{v2.6c}{2000/06/10}{die Präambel wird gesetzt}%^^A -% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird verwendet}%^^A -% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die -% \texttt{thebibliography}-Umgebung verschoben}%^^A -% \changes{v2.98c}{2008/02/15}{wird nun früher definiert}%^^A -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A -% \changes{v3.12}{2012/02/06}{\cs{ifbib@leveldown} wird beachtet}%^^A -% \changes{v3.13b}{2014/10/10}{running head with \texttt{leveldown}%^^A -% fixed}%^^A -% \changes{v3.25}{2017/10/13}{use always \cs{@mkright} and \cs{@mkdouble}}%^^A -% \changes{v3.25}{2017/10/13}{using \cs{bibliography@heading}}%^^A +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.6c}{2000/06/10}{printing preamble} +% \changes{v2.7b}{2001/01/05}{using \cs{setchapterpreamble}} +% \changes{v2.7j}{2001/06/27}{printing preamble moved to \env{thebibliography}} +% \changes{v2.98c}{2008/02/15}{defined ealier} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.12}{2012/02/06}{using \cs{ifbib@leveldown}} +% \changes{v3.13b}{2014/10/10}{running head with \texttt{leveldown} fixed} +% \changes{v3.25}{2017/10/13}{using always \cs{@mkright} and \cs{@mkdouble}} +% \changes{v3.25}{2017/10/13}{using \cs{bibliography@heading}} % \begin{macro}{\bibliography@heading} -% \changes{v3.25}{2017/10/13}{neu (intern)} -% \changes{v3.26}{2018/09/03}{Verwendung von \cs{addsecmark} -% oder \cs{subsectionmark} statt \cs{@mkright}}%^^A -% Befehl zum Setzen der Überschrift des Literaturverzeichnisses. +% \changes{v3.25}{2017/10/13}{added} +% \changes{v3.26}{2018/09/03}{using \cs{addsecmark} or \cs{subsectionmark} +% instead of \cs{@mkright}} +% \cs{bib@heading} runs the more generic \cs{bibliography@heading} with text +% \cs{refname} resp. \cs{bibname}. This indirect approach has been +% implemented, to that \pkg{biblatex} can simply call \cs{bibliography} with +% different texts for multiple bibliographies. % \begin{macrocode} \newcommand*{\bib@heading}{% %<article> \bibliography@heading{\refname}% @@ -300,46 +283,78 @@ \fi }% % \end{macrocode} -% \end{macro} -% \end{macro}% +% \end{macro}^^A \bibliography@heading +% \end{macro}^^A \bib@heading % % -% \subsection{Optionen für das Literaturverzeichnis} +% \subsection{Options} % % \begin{option}{bibliography} -% \changes{v2.98c}{2008/02/15}{Neu}%^^A -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A -% \changes{v3.12}{2013/02/06}{neuer Wert \texttt{leveldown}}%^^A -% \changes{v3.12}{2013/02/06}{neuer Wert \texttt{standardlevel}}%^^A -% \changes{v3.12}{2013/03/05}{an die Änderungen in \textsf{scrbase}%^^A -% angepasst}%^^A -% \changes{v3.12}{2013/09/28}{Verwendung von \cs{addxcontentsline} statt -% \cs{addcontentsline}}%^^A -% \changes{v3.12}{2013/09/28}{Es werden keine Kapiteleinträge in andere -% Verzeichnisse geschrieben.}%^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A -% \changes{v3.25}{2017/10/13}{use always \cs{@mkright} and -% \cs{@mkdouble}}%^^A -% \changes{v3.25}{2017/10/13}{redefines \cs{bibliography@heading} instead of -% \cs{bib@heading}}%^^A -% Dies ist der Generalschlüssel für alle Optionen, die das -% Literaturverzeichnis betreffen. Neu ist, dass verschiedene Stile definiert -% werden können. Desweiteren kann man \texttt{totoc} und -% \texttt{totocnumbered} wieder mit \texttt{nottotoc} aufgeben. -% \begin{macro}{\ifbib@leveldown} -% \changes{v3.12}{2013/02/06}{neuer Schalter (intern)}%^^A -% Für den ab Version~3.12 neuen Wert \texttt{leveldown} und dessen -% Gegenstück \texttt{standardlevel} wird außerdem ein Schalter benötigt. +% \changes{v2.98c}{2008/02/15}{added} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.12}{2013/02/06}{new value \opt{leveldown}} +% \changes{v3.12}{2013/02/06}{new value \opt{standardlevel}} +% \changes{v3.12}{2013/03/05}{adapted to changes of \pkg*{scrbase}} +% \changes{v3.12}{2013/09/28}{using \cs{addxcontentsline} instead of +% \cs{addcontentsline}} +% \changes{v3.12}{2013/09/28}{do not write chapter entries to other directories} +% \changes{v3.17}{2015/03/12}{using internal value storage} +% \changes{v3.25}{2017/10/13}{using always \cs{@mkright} and \cs{@mkdouble}} +% \changes{v3.25}{2017/10/13}{redefining \cs{bibliography@heading} instead of +% \cs{bib@heading}} +% \KOMAScript provides several configurations for the bibliography or +% references using a single option. +% \begin{macro}{\bib@leveldownfalse,\bib@leveldowntrue,\ifbib@leveldown} +% \changes{v3.12}{2013/02/06}{added} +% The boolean \cs{ifbib@leveldown} is used to allow the +% bibliography/references have a lower heading level. % \begin{macrocode} \newif\ifbib@leveldown +% \end{macrocode} +% \end{macro} +% The supported values for option \opt{bibliography} are: +% \begin{macrocode} \KOMA@key{bibliography}{% \scr@ifundefinedorrelax{scr@bibstyle@#1}{% \KOMA@set@ncmdkey{bibliography}{@tempa}{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=notoc}:] (default) don't add the bibliography/references to the +% table of contents. +% \end{description} +% \begin{macrocode} {notoc}{0},{nottotoc}{0},{plainheading}{0},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=totoc}:] add the bibliography/references to the table of +% contents, but do not number it. +% \end{description} +% \begin{macrocode} {totoc}{1},{toc}{1},{notnumbered}{1},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=numbered}:] number the bibliography/references and so also add +% it to the table of contents. +% \end{description} +% \begin{macrocode} {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% {numberedtoc}{2},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=leveldown}:] don't use the top heading level (chapters with +% \cls*{scrbook} or \cls*{scrreprt}, sections with \cs*{scrartcl}) but one +% level lower (sections with \cls*{scrbook} or \cls*{scrreprt}, subsection +% with \cs*{scrartcl}) for the bibliography/references. +% \end{description} +% \begin{macrocode} {leveldown}{3},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=standardlevel}:] use the top heading level (chapters with +% \cls*{scrbook} or \cls*{scrreprt}, sections with \cs*{scrartcl}) for the +% bibliography/references. +% \end{description} +% \begin{macrocode} {standardlevel}{4}% }{#1}% \ifcase \@tempa\relax % notoc @@ -375,11 +390,11 @@ %<*article> \ifbib@leveldown % \end{macrocode} -% \changes{v3.23}{2017/02/23}{Verwendung von \cs{ext@toc}}%^^A -% \changes{v3.25}{2017/10/13}{Verwendung von \cs{addsubsectiontocentry} statt -% \cs{addxcontentsline}}%^^A -% Ab Version 3.23 wird das von \textsf{tocbasic} bereitgestellte -% \cs{ext@toc} statt dem hart codierten \texttt{toc} verwendet. +% \changes{v3.23}{2017/02/23}{using \cs{ext@toc}} +% \changes{v3.25}{2017/10/13}{using \cs{addsubsectiontocentry} instead of +% \cs{addxcontentsline}} +% From version 3.23 \cs{ext@toc} of \pkg*{tocbasic} is used instead of hard +% coded |toc|. % \begin{macrocode} \subsection*{% \addsubsectiontocentry{}{##1}% @@ -447,6 +462,15 @@ \bib@leveldownfalse \fi }{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=\meta{style}}:] all other values are names of styles. +% \begin{description} +% \item[ToDo:] Here we should test for valid style names and report an +% unknown value for unknown styles. +% \end{description} +% \end{description} +% \begin{macrocode} \FamilyKeyStateProcessed \edef\reserved@a{% \noexpand\KOMA@kav@remove{.\KOMAClassFileName}{bibliography}% @@ -456,131 +480,120 @@ }% } % \end{macrocode} -% \end{macro} % \end{option} % % \begin{option}{openbib} -% \changes{v2.3g}{1996/01/14}{\cs{if@openbib} (\cs{@openbibtrue}, -% \cs{@openbibfalse}) entfernt} -% \changes{v2.3g}{1996/01/14}{Definition der openbib Option neu -% implementiert}%^^A -% \changes{v2.98c}{2008/02/15}{obsolete}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% Mit dieser Option kann eine alternative Darstellung der -% Literatureinträge aktiviert werden. Dabei fügt \cs{newblock} keinen -% horizontalen Abstand mehr ein, sondern beginnt einen neuen Absatz -% (in Form einer neuen Zeile). +% \begin{macro}{\@openbibfalse,\@openbibtrue,\if@openbib} +% \changes{v2.3g}{1996/01/14}{removed} +% \end{macro} +% \changes{v2.3g}{1996/01/14}{re-implemented} +% \changes{v2.98c}{2008/02/15}{obsolete} +% \changes{v3.01a}{2008/11/21}{standard instead of obsolete} +% The standard option \opt{openbib} is mapped to \opt{bibliography=openstyle}. % \begin{macrocode} \KOMA@DeclareStandardOption{openbib}{bibliography=openstyle} % \end{macrocode} % \end{option} % % \begin{option}{bibtotoc} -% \changes{v2.3h}{1995/01/21}{neue Option}%^^A -% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingefügt} -% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingefügt} -% \changes{v2.7}{2001/01/03}{Klammerung korrigiert}%^^A -% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die -% thebibliography-Umgebung verschoben}%^^A -% \changes{v2.98c}{2008/02/15}{obsolete}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} added} +% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} added} +% \changes{v2.7}{2001/01/03}{braces fixed} +% \changes{v2.7j}{2001/06/27}{preamble printing moved to \env{thebibliography}} +% \changes{v2.98c}{2008/02/15}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{option}{bibtotocnumbered} -% \changes{v2.3h}{1995/01/21}{neue Option}%^^A -% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} eingefügt} -% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} eingefügt} -% \changes{v2.7}{2001/01/03}{Klammerung korrigiert}%^^A -% \changes{v2.7b}{2001/01/05}{\cs{setchapterpreamble} wird -% verwendet} -% \changes{v2.7i}{2001/05/17}{\cs{chapter} statt \cs{addchap}} -% \changes{v2.7j}{2001/06/27}{Setzen der Präambel in die -% thebibliography-Umgebung verschoben}%^^A -% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}%^^A -% \changes{v2.98c}{2008/02/15}{obsolete}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Die Option \texttt{bibtotoc} sorgt dafür, dass das -% Literaturverzeichnis im Inhaltsverzeichnis aufgeführt wird. -% Demgegenüber erweitert die Option \texttt{bibtotocnumbered} zu einem -% normalen Kapitel einschließlich Nummerierung. +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} added} +% \changes{v2.6c}{2000/06/10}{\cs{bibpreamble} added} +% \changes{v2.7}{2001/01/03}{braces fixed} +% \changes{v2.7b}{2001/01/05}{using \cs{setchapterpreamble}} +% \changes{v2.7i}{2001/05/17}{\cs{chapter} instead of \cs{addchap}} +% \changes{v2.7j}{2001/06/27}{preamble printing moved to \env{thebibliography}} +% \changes{v2.9p}{2003/07/07}{number in running head} +% \changes{v2.98c}{2008/02/15}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} +% Deprecated options \opt{bibtotoc} and \opt{bibtotocnumbered} are mapped to +% \opt{bibliography=totoc} resp. \opt{bibliography=totocnumbered}. % \begin{macrocode} \KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc} \KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered} -% \end{macrocode} -% \end{option} -% \end{option} -% -% -% \iffalse %</option> -%<*body> -% \fi +% \end{macrocode} +% \end{option}^^A bibtotocnumbered +% \end{option}^^A bibtotoc % % -% \subsection{Standardbezeichner} +% \subsection{Names} % -% \begin{macro}{\refname} -% \begin{macro}{\bibname} -% Je nach Klasse wird \cs{refname} oder \cs{bibname} verwendet. +% \begin{command}{\refname,\bibname} +% \changes{v3.36}{2022/02/15}{explicit definition for English languages} +% Depending on the class either \cs{refname} or \cs{bibname} is used. % \begin{macrocode} -%<article>\newcommand*\refname{References} -%<book|report>\newcommand*\bibname{Bibliography} +%<*body> +%<*article> +\newcommand*\refname{References} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\refname{References} +%</article> +%<*book|report> +\newcommand*\bibname{Bibliography} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\bibname{Bibliography} +%</book|report> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % % -% \subsection{Definitionen für das Literaturverzeichnis} +% \subsection{Printing the bibliography or references} % -% \begin{macro}{\setbibpreamble} -% \changes{v2.6c}{2000/06/10}{neu}%^^A -% \changes{v2.7j}{2001/05/27}{\cs{renewcommand} durch \cs{def} -% ersetzt zur Erhöhung der \textsf{natbib}-Kompatibilität} +% \begin{command}{\setbibpreamble} +% \changes{v2.6c}{2000/06/10}{added} +% \changes{v2.7j}{2001/05/27}{\cs{renewcommand} replaced by \cs{def} for +% better \pkg{natbib} compatibility} % \begin{macro}{\bibpreamble} -% \changes{v2.6c}{2000/06/10}{neue (intern)}%^^A -% \changes{v2.6d}{2000/07/20}{Makro funktioniert nachdem \cs{let}%^^A -% durch \cs{newcommand*} ersetzt wurde} -% \changes{v2.8q}{2002/01/10}{wieder \cs{let}} -% \cs{bibpreamble} kann vom Benutzer mit \cs{setbibpreamble} auf -% einen Text gesetzt werden, der nach der Überschrift eingefügt -% wird. Dasselbe Makro wird von \textsf{natbib} als \cs{relax} -% definiert; aus Kompatibilitätsgründen wird hier vergleichbar -% verfahren und \cs{let} bzw. \cs{def} statt \cs{renewcommand} -% verwendet. -% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die -% \texttt{thebibliography}-Umgebung verschoben} -% Außerdem wird ab Version 2.7j die Präambel nicht mehr in -% \cs{bib@heading} gesetzt, sondern in der -% \texttt{thebibliography}-Umgebung. Dies dient ebenfalls der -% Kompatibilität mit natbib. Trotz aller Kompatibilität ist -% \cs{bibpreamble} als internes Makro zu betrachten. +% \changes{v2.6c}{2000/06/10}{neue (intern)} +% \changes{v2.6d}{2000/07/20}{\cs{let} replaced by \cs{newcommand*}} +% \changes{v2.8q}{2002/01/10}{\cs{newcommand*} replaced by \cs{let}} +% \changes{v2.7j}{2001/05/27}{preamble printing moved to \env{thebibliography}} +% \cs{bibpreamble} should be interpreted as an internal macro. The user +% command name space has been used for compatibility with \pkg{natbib} +% only. The official \KOMAScript{} user interface is using +% \begin{quote} +% \cs{setbibpreamble}\marg{preamble} +% \end{quote} +% Also for compatibility \cs{bibpreamble} is not set by \cs{bib@heading} but +% inside environment \env{theenvironment}. % \begin{macrocode} \newcommand*{\bibpreamble}{\relax} \let\bibpreamble\relax \newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \bibpreamble +% \end{command}^^A \setbibpreamble % -% \begin{Length}{bibindent} -% Der Einzug der Einträge bei \texttt{openbib}. Voreingestellt sind -% 1,5\,em. +% \begin{length}{bibindent} +% The indent of entries with option \opt{bibliography=openstyle}. Default is 1.5\,em. % \begin{macrocode} \newdimen\bibindent \bibindent=1.5em % \end{macrocode} -% \end{Length} +% \end{length} % % \begin{environment}{thebibliography} -% \changes{v2.2a}{1995/02/01}{in \textsf{scrartcl} \cs{bibname} -% vollständig durch \cs{refname} ersetzt} -% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{bib@heading}} -% \changes{v2.8q}{2002/01/10}{Erkennung und gesonderte Behandlung -% leerer Präambeln}%^^A -% \changes{v2.9o}{2003/03/06}{Vergleich \cs{bibpreamble} mit \cs{@empty} -% korrigiert} -% \changes{v2.98c}{2008/02/15}{Neue Haken \cs{bib@before@hook} und -% \cs{bib@after@hook} eingefügt} -% Nun werden noch die Umgebung für das Literaturverzeichnis und der -% Befehl für die einzelnen Einträge definiert. +% \changes{v2.2a}{1995/02/01}{for \cls*{scrartcl} \cs{bibname} replaced by +% \cs{refname}} +% \changes{v2.3h}{1995/01/21}{using \cs{bib@heading}} +% \changes{v2.8q}{2002/01/10}{handling empty preamble} +% \changes{v2.9o}{2003/03/06}{fix of comparing \cs{bibpreamble} with \cs{@empty}} +% \changes{v2.98c}{2008/02/15}{new hooks \cs{bib@before@hook} and +% \cs{bib@after@hook}} +% This environment is used to print the bibliography or references. Note: This +% environment is redefined by almost all bibliography packages like +% \pkg{natbib} or \pkg{biblatex}. No one of these supports all features of +% \KOMAScript{}. So if such a package is used, users should consult the +% package manual instead of using a \KOMAScript{} feature. % \begin{macrocode} \newenvironment{thebibliography}[1]{% \if@bib@break@ @@ -601,9 +614,10 @@ \bib@before@hook \fi % \end{macrocode} -% \begin{macro}{\BreakBibliography} -% \changes{v2.98c}{2008/02/15}{Neu}%^^A -% An dieser Stelle wird \cs{BreakBibliography} passend umdefiniert. +% \begin{command}{\BreakBibliography} +% \changes{v2.98c}{2008/02/15}{added} +% Redefining \cs{BreakBibliography} to work with our definition of +% \env{thebibliography}. % \begin{macrocode} \renewcommand{\BreakBibliography}[1]{% \@bib@break @@ -612,9 +626,9 @@ \begin{thebibliography}{#1} }% % \end{macrocode} -% \end{macro} +% \end{command} % \begin{macrocode} -% Hier geht es jetzt mit \texttt{thebibliography} weiter. +% Start the list for the entries. \list{% \@biblabel{\@arabic\c@enumiv}% }{% @@ -662,39 +676,31 @@ \bib@endhook } % \end{macrocode} -% \begin{macro}{\if@bib@break@} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}%^^A -% \begin{macro}{\no@bib@break} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}%^^A -% \begin{macro}{\@bib@break} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}%^^A -% Dieser Hilfsschalter arbeitet immer global! +% \begin{macro}{\if@bib@break@,\no@bib@break,\@bib@break} +% \changes{v2.98c}{2008/02/15}{added} +% To be used as global switch. +% \begin{description} +% \item[ToDo:] Maybe redefine \cs{@bib@break@true} and \cs{@bib@break@false}. +% \end{description} % \begin{macrocode} \newif\if@bib@break@ \newcommand{\no@bib@break}{\global\let\if@bib@break@\iffalse} \newcommand*{\@bib@break}{\global\let\if@bib@break@\iftrue} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\bib@before@hook} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}%^^A -% \begin{macro}{\bib@after@hook} -% \changes{v2.98c}{2008/02/15}{Neu (intern)}%^^A +% \end{macro}^^A \if@bib@break@,\no@bib@break,\@bib@break +% \begin{macro}{\bib@before@hook,\bib@after@hook} +% \changes{v2.98c}{2008/02/15}{added} % \begin{macrocode} \newcommand*{\bib@before@hook}{} \newcommand*{\bib@after@hook}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{environment} +% \end{macro}^^A \bib@before@hook,\bib@after@hook +% \end{environment}^^A thebibliography % -% \begin{macro}{\BreakBibliography} -% \changes{v2.98c}{2008/02/15}{Neu}%^^A -% Diese Anweisung unterbricht normalerweise das Literaturverzeichnis für ein -% paar eigene Anweisungen (z. B. Unterüberschriften). Wenn jedoch nicht das -% \KOMAScript-Literaturverzeichnis verwendet wird, dann gibt es eine Warnung -% aus. +% \begin{command}{\BreakBibliography} +% \changes{v2.98c}{2008/02/15}{added} +% The initial definition is a do nothing but warn, because the command makes +% sense only inside \env{thebibliography}. % \begin{macrocode} \newcommand{\BreakBibliography}[1]{% \ClassWarning{\KOMAClassName}{% @@ -705,37 +711,36 @@ }% } % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\AfterBibliographyPreamble} -% \changes{v2.98c}{2008/02/15}{Neu}%^^A -% \begin{macro}{\AtEndBibliography} -% \changes{v2.98c}{2008/02/15}{Neu}%^^A -% Zwei neue Anweisungen, um am Anfang des Literaturverzeichnisses, nach -% Überschrift und Präambel, und am Ende des Literaturverzeichnisses, nach -% Abschluss der Liste, Code einschleusen zu können. Das funktioniert natürlich -% nur so lange, wie keine Paket verwendet wird, das die Umgebung umdefiniert. +% \end{command}^^A \BreakBibliography +% +% \begin{command}{\AfterBibliographyPreamble,\AtEndBibliography} +% \changes{v2.98c}{2008/02/15}{added} +% Add code to the two new hooks inside our definition of +% \env{thebibliography}. So any bibliography package can break this +% functionality. +% Note: The hooks are always emptied by selecting a style using +% \opt{bibliography=\meta{style name}}. % \begin{macrocode} \newcommand{\AfterBibliographyPreamble}{\g@addto@macro\bib@before@hook} \newcommand{\AtEndBibliography}{\g@addto@macro\bib@after@hook} +%</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \iffalse -%</body> -% \fi % -% \iffalse +% \begin{macrocode} %</!letter> -% \fi -% +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-bibliography.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-circularletters.dtx b/macros/latex/contrib/koma-script/source/scrkernel-circularletters.dtx deleted file mode 100644 index c05abcdb07..0000000000 --- a/macros/latex/contrib/koma-script/source/scrkernel-circularletters.dtx +++ /dev/null @@ -1,173 +0,0 @@ -% \CheckSum{36} -% \iffalse meta-comment -% ====================================================================== -% scrkernel-circularletters.dtx -% Copyright (c) Markus Kohm, 2006-2019 -% -% This file is part of the LaTeX2e KOMA-Script bundle. -% -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% -% This work has the LPPL maintenance status "author-maintained". -% -% The Current Maintainer and author of this work is Markus Kohm. -% -% This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-circularletters.dtx -% Copyright (c) Markus Kohm, 2006-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. -% ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-circularletters.dtx 3262 2019-10-10 08:25:29Z kohm $ -%<option>%%% (run: option) -%<body>%%% (run: body) -%<*dtx> -% \fi -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi -\begingroup - \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $ - \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ - \edef\reserved@a{% - \noexpand\endgroup - \noexpand\ProvidesFile{scrkernel-circularletters.dtx}% - [\filedate\space\filerevision\space - KOMA-Script source - (circular letters)]% - }% -\reserved@a -% \iffalse -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-circularletters.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - -\begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} -\end{document} -%</dtx> -% \fi -% -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2006/03/22}{% -% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} -% -% \section{Serienbriefe und Adressdateien} -% -% Die \KOMAScript-Brief-Klasse unterstützt die Verwendung von Adressdateien -% beispielsweise für Serienbriefe. -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse -%<*letter> -%<*option> -% \fi -% -% \subsection{Option} -% Die Implementierung ist von Optionen unabhängig. -% -% -% \iffalse -%</option> -%<*body> -% \fi -% -% \subsection{Makos für Serienbriefe und Adressdateien} -% -% \begin{macro}{\adrentry} -% \changes{v2.8q}{2002/05/19}{\cs{adrentry} verwendet das neue -% \cs{addrentry}} -% \begin{macro}{\adrchar} -% \changes{v2.8q}{2002/05/19}{\cs{adrchar} verwendet das neue \cs{addrchar}} -% Serienbriefe werden mit Hilfe der Funktionen |\adrentry| und |\adrchar| und -% einer Adressdatei realisiert. Darüber hinaus werden mit diesen Befehlen -% Abkürzungen für Adressen definiert. Durch die Definition mit Hilfe von -% \cs{addrentry} bzw. \cs{addrchar} müssen vom Anwender für neue Anwendungen -% nur die neuen Befehle umdefiniert werden. -% \begin{macrocode} -\newcommand*{\adrentry}[7]{% - \addrentry{#1}{#2}{#3}{#4}{#5}{#6}{#7}{}} -\newcommand*{\adrchar}{\addrchar} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\addrentry} -% \changes{v2.8n}{2001/09/06}{Neu}%^^A -% \begin{macro}{\addrchar} -% \changes{v2.8n}{2001/09/06}{Neu}%^^A -% Diese Makros ermöglichen ab Version 2.8n die Verwendung von bis zu 9 -% Argumenten. -% \begin{macrocode} -\newcommand*{\addrentry}[9]{\def\@tempa{#1}\ifx \@tempa\@empty \else - \def\@tempa{#2}\ifx \@tempa\@empty - \expandafter\def\csname #9\endcsname{#1\\#3}% - \else - \expandafter\def\csname #9\endcsname{#2 #1\\#3}% - \fi \fi} -\newcommand*{\addrchar}[1]{} -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \iffalse -%</body> -%</letter> -% \fi -% -% \Finale -% -\endinput -% -% end of file `scrkernel-circularletters.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx b/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx index e626ce2194..c56962eaf1 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx @@ -1,8 +1,7 @@ -% \CheckSum{228} % \iffalse meta-comment % ====================================================================== % scrkernel-compatibility.dtx -% Copyright (c) Markus Kohm, 2006-2020 +% Copyright (c) Markus Kohm, 2006-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,56 +17,19 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-compatibility.dtx -% Copyright (c) Markus Kohm, 2006-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-compatibility.dtx 3617 2021-10-12 09:21:01Z kohm $ +%%% From File: $Id: scrkernel-compatibility.dtx 3765 2022-03-16 09:25:29Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}} - \filedate$Date: 2021-10-12 11:21:01 +0200 (Tue, 12 Oct 2021) $ + \filedate$Date: 2022-03-16 10:25:29 +0100 (Mi, 16. Mär 2022) $ \def\filerevision$#1: #2 ${\def\filerevision{r#2}} - \filerevision$Revision: 1638 $ + \filerevision$Revision: 3765 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-compatibility.dtx}% @@ -76,69 +38,73 @@ (compatibility)] }% \reserved@a -% \iffalse -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-compatibility.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-compatibility.dtx} \end{document} %</dtx> -% \fi -% -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2006/03/16}{% -% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} -% -% -% \section{Kompatibilität mit den Standardklassen oder -% zu früheren Versionen} -% -% \KOMAScript{} ist bezüglich der Anwenderschnittstelle von vornherein -% aufwärtskompatibel mit den Standardklassen. Allerdings unterscheiden sich -% diverse Voreinstellungen doch sehr erheblich von denen der -% Standardklassen. In Zukunft soll man beim Laden der Klassen (nicht jedoch -% später!) mit Option \texttt{emulatestandardclasses} die Voreinstellungen -% anpassen können. Dabei wird jedoch nicht komplette Umbruchkompatibilität mit -% den Standardklassen erreicht, sondern nur einige Einstellungen werden -% angepasst. -% +% \fi^^A meta-comment +% +% \changes{v2.95}{2006/03/16}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/21}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/21}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-compatibility.dtx} +% \title{Compatibility with prior Versions of +% \href{https://komascript.de}{\KOMAScript}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \KOMAScript{} has been designed to be as much compatible with the user +% interface of the standard classes as possible. Compatibility with internal +% commands of the standard classes is not possible and therefore sometimes +% given, but mostly not. Compatibility with the lookalike of the standard +% classes is not a main purpose of \KOMAScript{}, however with option +% \opt{emulatestandardclasses} several layout elements can be changed to +% look similar to the standard classes. +% +% Another compatibility topic is compatibility of \KOMAScript{} to prior +% version of \KOMAScript. Sometimes, \KOMAScript{} has been changed to +% improve the typography. In most of these cases you can switch back to the +% results of prior versions with option \opt{version}. +% +% All those features are implemented in \file{scrkernel-compatibility.dtx}. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation of the commands implemented in +% \file{scrkernel-compatibility.dtx} in the \KOMAScript{} manual, either the +% German \file{scrguide} or the English \file{scrguien}. +% % -% Manchmal ist es sinnvoll, dass sich eine neue Version von \KOMAScript{} -% etwas anders verhält als frühere Versionen. Gleichzeitig ist es aber für den -% Anwender manchmal auch notwendig, dass sich neue Versionen ganz genau so -% verhalten wie frühere. Daher wird eine Option geboten, mit der man die -% Kompatibilität selbst steuern kann. Voreingestellt ist jeweils maximale -% Kompatibilität. +% \MaybeStop{\PrintIndex} % -% \StopEventually{\PrintIndex\PrintChanges} % +% \section{Implementation of Compatibility Selection} % -% \subsection{Optionen für die Kompatibilität mit den Standardklassen} -% Hier gibt es derzeit nur eine Option, die nur beim Laden aber nicht zur -% Laufzeit verwendet werden kann: +% \subsection{Options for compatibility with the standard classes} +% There is only one such option, which can only be used while loading a +% \KOMAScript{} class. % % \begin{option}{emulatestandardclasses} -% \changes{v3.12}{2013/11/11}{Neue Option}%^^A -% \changes{v3.20}{2016/02/16}{\texttt{headings!=standardclasses} auch für -% \textsf{scrartcl}}%^^A -% Diese Option muss sich auf diverse andere Einstellungen auswirken und -% sollte deshalb so früh wie möglich verwendet werden. Vieles ändert sie -% sofort, manches aber auch erst später. -% \begin{macro}{\if@scr@emulatestandardclasses} -% \changes{v3.12}{2013/11/11}{Neuer Schalter (intern)}%^^A -% Für die späteren Änderungen wird ein Schalter benötigt, der jedoch nicht -% wie gewohnt geändert werden kann. +% \changes{v3.12}{2013/11/11}{added} +% \changes{v3.20}{2016/02/16}{\opt{headings\quotechar=standardclasses} also for +% \cls*{scrartcl}} +% Because this option has to change several defaults, it should be used as +% early as possible. The earliest time is the load time. So it has been +% defined as a classic option. +% \begin{macro}{\@scr@emulatestandardclassesfalse,\@scr@emulatestandardclassestrue, +% \if@scr@emulatestandardclasses} +% \changes{v3.12}{2013/11/11}{added} +% We need a boolean switch, but it should be a kind of constant, so the +% default changing macros are deactivated. % \begin{macrocode} %<*option&class&!letter> \newif\if@scr@emulatestandardclasses @@ -172,30 +138,29 @@ % \end{option} % % -% \subsection{Option für die Kompatibilität zu früheren Versionen} -% Die gesamte Kompatibilitätssteuerung erfolgt mit einer einzigen Option, bei -% der man angibt, zu welcher Version Kompatibilität hergestellt werden -% soll. Dies bedeutet ggf. dann auch, dass einzelne neuere Möglichkeiten nicht -% zur Verfügung stehen. -% \changes{v3.01b}{2008/12/09}{Kompatibilitätseinstellungen werden in Paketen -% nur definiert, wenn sie noch nicht vorhanden sind}%^^A +% \subsection{Options for compatibility with prior versions of \KOMAScript} +% There is also a single option to select compatibility with exactly one +% \KOMAScript{} version. The compatibility changes are limited to feature +% changes. Bug changes are not affected. So you would never be able to get +% exactly the result of the given version using this option. However falling +% back to compatibility with a prior version usually also deactivates other +% features of the current version. +% +% \changes{v3.01b}{2008/12/09}{compatibility definitions in packages only, if +% not yet defined} % % \begin{option}{version} -% \changes{v2.9u}{2005/03/05}{Neue Option}%^^A -% \changes{v2.95}{2006/03/16}{Option kann nur beim Laden der Klasse gesetzt -% werden}%^^A +% \changes{v2.9u}{2005/03/05}{added} +% \changes{v2.95}{2006/03/16}{can be used while loading only} % \begin{macro}{\scr@compatibility} -% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A -% \changes{v3.01a}{2008/11/20}{Voreinstellung auf \textit{last} geändert} +% \changes{v2.9u}{2005/03/05}{added} +% \changes{v3.01a}{2008/11/20}{default is \opt{\quotechar=last}} % \begin{macro}{\scr@ta@compatibility} -% \changes{v3.01b}{2008/12/09}{Neues Macro}%^^A -% In einigen Fällen sind Verbesserungen nicht kompatibel mit früheren -% Versionen. Deshalb sind solche Verbesserungen nur verfügbar, wenn mit diesem -% Schalter die neue Version ausgewählt wird. Aber es gilt: Entweder kompatibel -% oder in allen Dingen neu. Mischmasch machen wir nicht. Die aktuell -% eingestellte Kompatibilität wird in \cs{scr@compatibility} als Zahl -% gespeichert. In den Makros \cs{scr@v@\emph{Version}} werden die -% zugehörigen Nummern gespeichert. +% \changes{v3.01b}{2008/12/09}{added} +% Depending on \opt{version=\meta{version}} \cs{scr@compatibility} +% resp. \cs{scr@ta@compatibility} will be set to an integer. The mapping from +% \meta{version} to the integer is done with several macros +% \cs{scr@v@\meta{version}}. % \begin{macrocode} %<*init> %<class>\newcommand* @@ -250,10 +215,8 @@ } %<class>\KOMA@kav@add{.\KOMAClassFileName}{version}{last} % \end{macrocode} -% Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim -% Laden gesetzt werden. Danach geht es nicht mehr. Ausnahmsweise wird hier -% auch nicht mit \cs{FamilyKeyState} signalisiert, sondern direkt ein Fehler -% ausgegeben. +% We do not use \cs{FamilyKeyState} if the option is set to late, but +% immediately report an error. % \begin{macrocode} %<class>\AtEndOfClass{% %<package>\AtEndOfPackage{% @@ -283,165 +246,167 @@ %<*init> % \end{macrocode} % \begin{macro}{\scr@v@first} -% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A +% \changes{v2.9u}{2005/03/05}{added} % \begin{macro}{\scr@v@2.9} -% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A +% \changes{v2.9u}{2005/03/05}{added} % \begin{macro}{\scr@v@2.9t} -% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A +% \changes{v2.9u}{2005/03/05}{added} % \begin{macro}{\scr@v@2.95} -% \changes{v2.95}{2006/03/23}{Neues Macro}%^^A +% \changes{v2.95}{2006/03/23}{added} % \begin{macro}{\scr@v@2.95a} -% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A +% \changes{v2.96a}{2006/11/27}{added} % \begin{macro}{\scr@v@2.95b} -% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A +% \changes{v2.96a}{2006/11/27}{added} % \begin{macro}{\scr@v@2.96} -% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A +% \changes{v2.96a}{2006/11/27}{added} % \begin{macro}{\scr@v@2.96a} -% \changes{v2.96a}{2006/11/27}{Neues Macro}%^^A +% \changes{v2.96a}{2006/11/27}{added} % \begin{macro}{\scr@v@2.97} -% \changes{v2.97}{2007/03/02}{Neues Macro}%^^A +% \changes{v2.97}{2007/03/02}{added} % \begin{macro}{\scr@v@2.97a} -% \changes{v2.97a}{2007/03/07}{Neues Macro}%^^A +% \changes{v2.97a}{2007/03/07}{added} % \begin{macro}{\scr@v@2.97b} -% \changes{v2.97b}{2007/03/25}{Neues Macro}%^^A +% \changes{v2.97b}{2007/03/25}{added} % \begin{macro}{\scr@v@2.97c} -% \changes{v2.97c}{2007/05/12}{Neues Macro}%^^A +% \changes{v2.97c}{2007/05/12}{added} % \changes{v2.97d}{2007/10/09}{Wert geändert}%^^A % \begin{macro}{\scr@v@2.97d} -% \changes{v2.97d}{2007/10/03}{Neues Macro}%^^A +% \changes{v2.97d}{2007/10/03}{added} % \changes{v2.97d}{2007/10/09}{Wert geändert}%^^A % \begin{macro}{\scr@v@2.97e} -% \changes{v2.97e}{2007/11/27}{Neues Macro}%^^A +% \changes{v2.97e}{2007/11/27}{added} % \begin{macro}{\scr@v@2.98} -% \changes{v2.98}{2007/12/24}{Neues Macro}%^^A +% \changes{v2.98}{2007/12/24}{added} % \begin{macro}{\scr@v@2.98a} -% \changes{v2.98a}{2008/01/08}{Neues Macro}%^^A +% \changes{v2.98a}{2008/01/08}{added} % \begin{macro}{\scr@v@2.98b} -% \changes{v2.98b}{2008/01/30}{Neues Macro}%^^A +% \changes{v2.98b}{2008/01/30}{added} % \begin{macro}{\scr@v@2.98c} -% \changes{v2.98c}{2008/02/01}{Neues Macro}%^^A +% \changes{v2.98c}{2008/02/01}{added} % \begin{macro}{\scr@v@3.00} -% \changes{v3.00}{2008/11/04}{Neues Macro}%^^A +% \changes{v3.00}{2008/11/04}{added} % \begin{macro}{\scr@v@3.01} -% \changes{v3.01}{2008/11/14}{Neues Macro}%^^A +% \changes{v3.01}{2008/11/14}{added} % \begin{macro}{\scr@v@3.01a} -% \changes{v3.01a}{2008/11/20}{Neues Macro}%^^A +% \changes{v3.01a}{2008/11/20}{added} % \begin{macro}{\scr@v@3.01b} -% \changes{v3.01b}{2008/11/24}{Neues Macro}%^^A +% \changes{v3.01b}{2008/11/24}{added} % \begin{macro}{\scr@v@3.01c} -% \changes{v3.01c}{2008/12/09}{Neues Macro}%^^A +% \changes{v3.01c}{2008/12/09}{added} % \begin{macro}{\scr@v@3.02} -% \changes{v3.02}{2009/01/01}{Neues Macro}%^^A +% \changes{v3.02}{2009/01/01}{added} % \begin{macro}{\scr@v@3.02b} -% \changes{v3.02b}{2009/01/24}{Neues Macro}%^^A +% \changes{v3.02b}{2009/01/24}{added} % \begin{macro}{\scr@v@3.02c} -% \changes{v3.02c}{2009/01/28}{Neues Macro}%^^A +% \changes{v3.02c}{2009/01/28}{added} % \begin{macro}{\scr@v@3.03} -% \changes{v3.03}{2009/04/01}{Neues Macro}%^^A +% \changes{v3.03}{2009/04/01}{added} % \begin{macro}{\scr@v@3.03a} -% \changes{v3.03a}{2009/04/02}{Neues Macro}%^^A +% \changes{v3.03a}{2009/04/02}{added} % \begin{macro}{\scr@v@3.03b} -% \changes{v3.03b}{2009/04/12}{Neues Macro}%^^A +% \changes{v3.03b}{2009/04/12}{added} % \begin{macro}{\scr@v@3.04} -% \changes{v3.04}{2009/07/07}{Neues Macro}%^^A +% \changes{v3.04}{2009/07/07}{added} % \begin{macro}{\scr@v@3.05} -% \changes{v3.05}{2009/07/08}{Neues Macro}%^^A +% \changes{v3.05}{2009/07/08}{added} % \begin{macro}{\scr@v@3.04a} -% \changes{v3.04a}{2009/07/24}{Neues Macro}%^^A +% \changes{v3.04a}{2009/07/24}{added} % \begin{macro}{\scr@v@3.05a} -% \changes{v3.05a}{2010/03/10}{Neues Macro}%^^A +% \changes{v3.05a}{2010/03/10}{added} % \begin{macro}{\scr@v@3.06} -% \changes{v3.06}{2010/06/17}{Neues Macro}%^^A +% \changes{v3.06}{2010/06/17}{added} % \begin{macro}{\scr@v@3.07} -% \changes{v3.07}{2010/09/14}{Neues Macro}%^^A +% \changes{v3.07}{2010/09/14}{added} % \begin{macro}{\scr@v@3.08} -% \changes{v3.08}{2010/10/28}{Neues Macro}%^^A +% \changes{v3.08}{2010/10/28}{added} % \begin{macro}{\scr@v@3.08a} -% \changes{v3.08a}{2011/01/25}{Neues Macro}%^^A +% \changes{v3.08a}{2011/01/25}{added} % \begin{macro}{\scr@v@3.08b} -% \changes{v3.08b}{2011/02/22}{Neues Macro}%^^A +% \changes{v3.08b}{2011/02/22}{added} % \begin{macro}{\scr@v@3.09} -% \changes{v3.09}{2011/04/02}{Neues Macro}%^^A +% \changes{v3.09}{2011/04/02}{added} % \begin{macro}{\scr@v@3.09a} -% \changes{v3.09a}{2011/04/12}{Neues Macro}%^^A +% \changes{v3.09a}{2011/04/12}{added} % \begin{macro}{\scr@v@3.10} -% \changes{v3.10}{2011/08/30}{Neues Macro}%^^A +% \changes{v3.10}{2011/08/30}{added} % \begin{macro}{\scr@v@3.10a} -% \changes{v3.10a}{2012/03/08}{Neues Macro}%^^A +% \changes{v3.10a}{2012/03/08}{added} % \begin{macro}{\scr@v@3.10b} -% \changes{v3.10b}{2012/03/13}{Neues Macro}%^^A +% \changes{v3.10b}{2012/03/13}{added} % \begin{macro}{\scr@v@3.11} -% \changes{v3.11}{2012/05/15}{Neues Macro}%^^A +% \changes{v3.11}{2012/05/15}{added} % \begin{macro}{\scr@v@3.11a} -% \changes{v3.11a}{2012/05/25}{Neues Macro}%^^A +% \changes{v3.11a}{2012/05/25}{added} % \begin{macro}{\scr@v@3.11b} -% \changes{v3.11b}{2012/07/29}{Neues Macro}%^^A +% \changes{v3.11b}{2012/07/29}{added} % \begin{macro}{\scr@v@3.12} -% \changes{v3.12}{2013/03/05}{Neues Macro}%^^A +% \changes{v3.12}{2013/03/05}{added} % \begin{macro}{\scr@v@3.13} -% \changes{v3.13}{2014/03/19}{Neues Macro}%^^A +% \changes{v3.13}{2014/03/19}{added} % \begin{macro}{\scr@v@3.13a} -% \changes{v3.13a}{2014/08/07}{Neues Macro}%^^A +% \changes{v3.13a}{2014/08/07}{added} % \begin{macro}{\scr@v@3.14} -% \changes{v3.14}{2014/10/28}{Neues Macro}%^^A +% \changes{v3.14}{2014/10/28}{added} % \begin{macro}{\scr@v@3.15} -% \changes{v3.15}{2014/11/20}{Neues Macro}%^^A +% \changes{v3.15}{2014/11/20}{added} % \begin{macro}{\scr@v@3.16} -% \changes{v3.16}{2015/02/08}{Neues Macro}%^^A +% \changes{v3.16}{2015/02/08}{added} % \begin{macro}{\scr@v@3.17} -% \changes{v3.17}{2015/02/08}{Neues Macro}%^^A +% \changes{v3.17}{2015/02/08}{added} % \begin{macro}{\scr@v@3.17a} -% \changes{v3.17a}{2015/05/06}{Neues Macro} +% \changes{v3.17a}{2015/05/06}{added} % \begin{macro}{\scr@v@3.17c} -% \changes{v3.17c}{2015/05/13}{Neues Macro} +% \changes{v3.17c}{2015/05/13}{added} % \begin{macro}{\scr@v@3.18} -% \changes{v3.18}{2015/05/14}{Neues Macro} +% \changes{v3.18}{2015/05/14}{added} % \begin{macro}{\scr@v@3.18a} -% \changes{v3.18a}{2015/07/03}{Neues Macro} +% \changes{v3.18a}{2015/07/03}{added} % \begin{macro}{\scr@v@3.19} -% \changes{v3.19}{2015/07/26}{Neues Macro} +% \changes{v3.19}{2015/07/26}{added} % \begin{macro}{\scr@v@3.19a} -% \changes{v3.19a}{2015/10/03}{Neues Macro} +% \changes{v3.19a}{2015/10/03}{added} % \begin{macro}{\scr@v@3.20} -% \changes{v3.20}{2015/10/06}{Neues Macro} +% \changes{v3.20}{2015/10/06}{added} % \begin{macro}{\scr@v@3.21} -% \changes{v3.21}{2016/05/19}{Neues Macro} +% \changes{v3.21}{2016/05/19}{added} % \begin{macro}{\scr@v@3.22} -% \changes{v3.22}{2016/07/29}{Neues Macro} +% \changes{v3.22}{2016/07/29}{added} % \begin{macro}{\scr@v@3.23} -% \changes{v3.23}{2017/02/04}{Neues Macro} +% \changes{v3.23}{2017/02/04}{added} % \begin{macro}{\scr@v@3.23} -% \changes{v3.24}{2017/04/22}{Neues Macro} +% \changes{v3.24}{2017/04/22}{added} % \begin{macro}{\scr@v@3.25} -% \changes{v3.25}{2017/09/07}{Neues Macro} +% \changes{v3.25}{2017/09/07}{added} % \begin{macro}{\scr@v@3.26} -% \changes{v3.26}{2018/03/31}{Neues Macro} +% \changes{v3.26}{2018/03/31}{added} % \begin{macro}{\scr@v@3.26a} -% \changes{v3.26a}{2018/12/30}{Neues Macro} +% \changes{v3.26a}{2018/12/30}{added} % \begin{macro}{\scr@v@3.26b} -% \changes{v3.26b}{2018/12/30}{Neues Macro} +% \changes{v3.26b}{2018/12/30}{added} % \begin{macro}{\scr@v@3.27} -% \changes{v3.27}{2019/02/02}{Neues Macro} +% \changes{v3.27}{2019/02/02}{added} % \begin{macro}{\scr@v@3.27a} -% \changes{v3.27a}{2019/10/13}{Neues Macro} +% \changes{v3.27a}{2019/10/13}{added} % \begin{macro}{\scr@v@3.28} -% \changes{v3.28}{2019/11/20}{Neues Macro} +% \changes{v3.28}{2019/11/20}{added} % \begin{macro}{\scr@v@3.29} -% \changes{v3.29}{2020/01/06}{Neues Macro} +% \changes{v3.29}{2020/01/06}{added} % \begin{macro}{\scr@v@3.30} -% \changes{v3.30}{2020/02/24}{Neues Macro} +% \changes{v3.30}{2020/02/24}{added} % \begin{macro}{\scr@v@3.31} -% \changes{v3.31}{2020/04/26}{Neues Macro} +% \changes{v3.31}{2020/04/26}{added} % \begin{macro}{\scr@v@3.32} -% \changes{v3.32}{2020/08/06}{Neues Macro} +% \changes{v3.32}{2020/08/06}{added} % \begin{macro}{\scr@v@3.33} -% \changes{v3.33}{2021/01/01}{Neues Macro} +% \changes{v3.33}{2021/01/01}{added} % \begin{macro}{\scr@v@3.34} -% \changes{v3.34}{2021/03/22}{Neues Macro} +% \changes{v3.34}{2021/03/22}{added} % \begin{macro}{\scr@v@3.35} -% \changes{v3.35}{2021/10/12}{Neues Macro} +% \changes{v3.35}{2021/10/12}{added} +% \begin{macro}{\scr@v@3.36} +% \changes{v3.36}{2021/11/17}{added} % \begin{macro}{\scr@v@last} -% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A +% \changes{v2.9u}{2005/03/05}{added} % Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die % höchste vorhandene Nummer): % \begin{macrocode} @@ -524,7 +489,8 @@ \@namedef{scr@v@3.33}{18} \@namedef{scr@v@3.34}{18} \@namedef{scr@v@3.35}{19} -\@namedef{scr@v@last}{19} +\@namedef{scr@v@3.36}{20} +\@namedef{scr@v@last}{20} % \end{macrocode} % \end{macro} % \end{macro} @@ -592,7 +558,8 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} +% \end{macro} +% \end{macro} % \end{macro} % \end{macro} % \end{macro} @@ -612,38 +579,32 @@ %</init> % \end{macrocode} % -% \begin{macro}{\scr@v@is@lt} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version jünger als die angegebene ist. +% \begin{macro}{\scr@v@is@lt,\scr@v@is@gt,\scr@v@is@le,\scr@v@is@ge} +% \changes{v3.17}{2015/03/10}{added} +% All these macros are to be used as condition for \cs{ifnum} and compare the +% currently selected version with a given \meta{version}, e.g.: +% \begin{quote} +% \cs{expandafter}\cs{ifnum}\cs{scr@v@is@lt}\marg{version} \meta{true code} +% \cs{else} \meta{false code} \cs{fi} +% \end{quote} +% The conditions are: +% \begin{quote}\raggedright +% \cs{scr@v@is@lt} --- current version less than \meta{version} \\ +% \cs{scr@v@is@gt} --- current version greater than \meta{version} \\ +% \cs{scr@v@is@le} --- current version less than or equal to \meta{version} \\ +% \cs{scr@v@is@ge} --- current version greater than or equal to \meta{version} \\ +% \end{quote} % \begin{macrocode} %<*option&(class|extend)> \newcommand*{\scr@v@is@lt}[1]{% \scr@compatibility<\@nameuse{scr@v@#1} } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@v@is@gt} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version älter als die angegebene ist. -% \begin{macrocode} \newcommand*{\scr@v@is@gt}[1]{% \scr@compatibility>\@nameuse{scr@v@#1} } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@v@is@le} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version jünger als oder die angegebene ist. -% \begin{macrocode} \newcommand*{\scr@v@is@le}[1]{% \numexpr\scr@compatibility-\@ne\relax<\@nameuse{scr@v@#1} } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@v@is@ge} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version älter als oder die angegebene ist. -% \begin{macrocode} \newcommand*{\scr@v@is@ge}[1]{% \numexpr\scr@compatibility+\@ne\relax>\@nameuse{scr@v@#1} } @@ -651,38 +612,20 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\scr@ta@v@is@lt} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version jünger als die angegebene ist. +% \begin{macro}{\scr@ta@v@is@lt,\scr@ta@v@is@gt,\scr@ta@v@is@le,\scr@ta@v@is@ge} +% \changes{v3.17}{2015/03/10}{Neu (intern)} +% The same conditions are defined for \pkg*{typearea}. % \begin{macrocode} %<*option&package&typearea> \newcommand*{\scr@ta@v@is@lt}[1]{% \scr@ta@compatibility<\@nameuse{scr@v@#1} } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@ta@v@is@gt} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version älter als die angegebene ist. -% \begin{macrocode} \newcommand*{\scr@ta@v@is@gt}[1]{% \scr@ta@compatibility>\@nameuse{scr@v@#1} } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@ta@v@is@le} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version jünger als oder die angegebene ist. -% \begin{macrocode} \newcommand*{\scr@ta@v@is@le}[1]{% \numexpr\scr@ta@compatibility-\@ne <\@nameuse{scr@v@#1} } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@ta@v@is@ge} -% \changes{v3.17}{2015/03/10}{Neu (intern)}%^^A -% Bedingung, dass die eingestellte Version älter als oder die angegebene ist. -% \begin{macrocode} \newcommand*{\scr@ta@v@is@ge}[1]{% \numexpr\scr@ta@compatibility+\@ne >\@nameuse{scr@v@#1} } @@ -691,23 +634,16 @@ % \end{macro} % % -% \subsection{Kompatibilität mit früheren Versionen von \textsf{scrlttr2}} -% In früheren Versionen von \textsf{scrlttr2} gab es weitere Befehle, die -% eventuell von \texttt{lco}-Dateien oder Paketen verwendet werden. -% Gemeldete Inkompatibitlitäten sind nach Möglichkeit zu lösen. +% \subsection{Compatibility with early versions of \cls*{scrlttr2}} +% Early version of \cls*{scrlttr2} have had another macro. Because, there may +% still be \file{lco} files, that use is, it is also defined if compatibility +% to version before 2.95 has been selected. % % \begin{macro}{\@setif} -% \changes{v2.8q}{2001/10/08}{Neu}%^^A -% \changes{v2.95}{2006/03/31}{Nur vor Version 2.95}%^^A -% Dies war ein Makro, mit dem man einen Schalter über die symbolischen -% Werte \texttt{true}, \texttt{false}, \texttt{on} und \texttt{off} setzen -% kann. Das erste, optionale Argument war der Name des Schalters ohne Präfix -% "`\texttt{if}"'. Das zweite Argument war der Name der Option und das dritte -% der gewünschte Wert. War das optionale Argument nicht gesetzt oder leer, so -% wurde der Optionenname mit einem vorangestellten "`\texttt{@}"' als Name des -% Schalters verwendet. Dieses Makro wird nun mit Hilfe von \cs{KOMA@set@ifkey} -% nachgebildet. Dadurch ist es nicht absolut fehlerkompatibel, das es nun mehr -% Werte versteht als vorher. +% \changes{v2.8q}{2001/10/08}{added} +% \changes{v2.95}{2006/03/31}{only for version settings before 2.95} +% The deprecated command has been used to set a boolean switch to true or +% false using one of the values |true|, |false|, |on|, or |off|. % \begin{macrocode} %<*class&letter&body> \expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility\relax @@ -726,11 +662,14 @@ % \end{macro} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-compatibility.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx index 3a4e59b211..eccacb2b25 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-floats.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-floats.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-floats.dtx 3620 2021-10-12 10:27:43Z kohm $ +%%% From File: $Id: scrkernel-floats.dtx 3773 2022-03-29 06:27:55Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-10-12 12:27:43 +0200 (Tue, 12 Oct 2021) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3620 $ + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-floats.dtx}% @@ -73,182 +36,261 @@ (floats)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-floats.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-floats.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/22}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/22}{implementation documentation in English} % -% \changes{v2.95}{2002/06/25}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \GetFileInfo{scrkernel-floats.dtx} +% \title{Code for the Foats of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The code for floats in \file{scrkernel-floats.dtx} is older than the +% generic hook mechanism in the \LaTeX{} kernel. Because of this, it +% currently does not use the kernel hook mechanism. Mostly it is also older +% then the \KOMAScript{} package \pkg*{tocbasic} to implement and manage +% floats. So several code has been adapted several times and maybe a general +% re-implementation would be a good idea. +% \end{abstract} +% \tableofcontents % -% \section{Gleitumgebungen} +% \section{User Manual} % -% \KOMAScript{} verfügt bezüglich der Gleitumgebungen über einige -% Features, die über das, was die Standardklassen bieten, hinaus -% geht. \marginline{Geplant!} Allerdings ist das hier verwendete Interface -% gnadenlos veraltet und wird deshalb irgendwann ersetzt. Dabei wird -% höchstwahrscheinlich grundsätzlich auf das \textsf{caption}-Paket aufgebaut -% werden. Man betrachte dieses Modul daher als grundsätzlich zur Disposition -% stehend. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% Die einzige Gleitumgebung, über die Briefe derzeit verfügen sind -% Randnotizen. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % -% \iffalse -%<*option> -% \fi % -% \iffalse -%<*class> -%<*!letter> -% \fi +% \section{Implementation of Floats} +% +% All this code is for the classes only and not for the \KOMAScript{} letter +% class, because letter classes usually do not provide floats. If you need +% letters with floats, just use \KOMAScript{} class \cls*{scrartcl} with +% \KOMAScript{} package \pkg*{scrletter}. % -% \subsection{Einige Anweisungen und Einstellungen für die Optionen} +% \begin{macrocode} +%<*class&!letter> +% \end{macrocode} +% +% \subsection{Some macros and configurations for the options} % -% Einige Anweisungen und Einstellungen werden bereits benötigt, bevor die -% Optionen abgearbeitet werden. +% We need some of the macros an settings already when processing the options. % -% \begin{macro}{\if@captionabove} -% \changes{v2.8h}{2001/07/19}{neu}%^^A -% \changes{v3.09}{2011/03/23}{Initialisierung vor den Optionen}%^^A -% Ob es sich bei \cs{caption} um eine Unter- oder Überschrift handelt und also -% \cs{abovecaptionskip} davor und \cs{belowcaptionskip} danach steht -% oder umgekehrt, wird über diesen Schalter gesteuert. Voreingestellt -% sind Unterschriften. +% \begin{macro}{\@captionabovefalse,\@captionabovetrue,\if@captionabove} +% \changes{v2.8h}{2001/07/19}{added} +% \changes{v3.09}{2011/03/23}{moved before definition of options} +% Boolean switch to decide whether a \cs{caption} has to behave like +% \cs{captionabove} or \cs{captionbelow}. The default is \cs{captionbelow}. % \begin{macrocode} +%<*option> \newif\if@captionabove\@captionabovefalse % \end{macrocode} -% \end{macro} +% \end{macro}^^A \if@captionabove % -% \begin{macro}{\if@tablecaptionabove} -% \changes{v2.8h}{2001/07/19}{neu Option}%^^A -% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen -% verschoben} -% \changes{v2.98c}{2008/02/18}{Definition erfolgt etwas früher}%^^A -% \begin{macro}{\@tablecaptionabovetrue} -% \begin{macro}{\@tablecaptionabovefalse} -% Die Einstellung, ob es Tabellenüber- oder -unterschriften sind, wird in -% einem Schalter gespeichert. +% \begin{macro}{\@tablecaptionabovefalse,\@tablecaptionabovetrue,\if@tablecaptionabove} +% \changes{v2.8h}{2001/07/19}{added} +% \changes{v2.8k}{2001/08/15}{moved from \pkg*{typearea} into the classes} +% \changes{v2.98c}{2008/02/18}{moved before definition of options} +% Boolean switch to decide whether a \cs{caption} inside a \env{table} +% environment has to behave like \cs{captionabove} or \cs{captionbelow}. The +% default is \cs{captionbelow}. % \begin{macrocode} \newif\if@tablecaptionabove\@tablecaptionabovefalse % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \if@tablecaptionabove % -% \begin{macro}{\if@figurecaptionabove} -% \changes{v3.09}{2011/03/23}{neu Option}%^^A -% \begin{macro}{\@figurecaptionabovetrue} -% \changes{v3.09}{2011/03/23}{neu (intern)}%^^A -% \begin{macro}{\@figurecaptionabovefalse} -% \changes{v3.09}{2011/03/23}{neu (intern)}%^^A -% Die Einstellung, ob es Abbildungsüber- oder -unterschriften sind, wird in -% einem Schalter gespeichert. +% \begin{macro}{\@figurecaptionabovefalse,\@figurecaptionabovetrue,\if@figurecaptionabove} +% \changes{v3.09}{2011/03/23}{added} +% Boolean switch to decide whether a \cs{caption} inside a \env{figure} +% environment has to behave like \cs{captionabove} or \cs{captionbelow}. The +% default is \cs{captionbelow}. % \begin{macrocode} \newif\if@figurecaptionabove\@figurecaptionabovefalse % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \if@figurecaptionabove % -% \selectlanguage{english} -% \begin{macro}{\ifonelinecaptions} -% \changes{v2.8q}{2001/11/17}{new boolean} +% \begin{macro}{\onelinecaptionsfalse,\onelinecaptionstrue,\ifonelinecaptions} +% \changes{v2.8q}{2001/11/17}{added} % \changes{v2.98c}{2008/03/03}{earlier definition} -% \begin{macro}{\onelinecaptionstrue} -% \begin{macro}{\onelinecaptionsfalse} % The boolean is used to distinguish whether or not use a special handling of % captions with one text line only. The name of the boolean is traditionally % but nevertheless should seen as internal. % \begin{macrocode} \newif\ifonelinecaptions\onelinecaptionstrue % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \selectlanguage{ngerman} +% \end{macro}^^A \ifonelinecaptions % % \begin{macro}{\scap@pos} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A -% Hier wird gespeichert, ob die Beschreibung bei |captionbeside| links oder -% rechts vom Rest stehen soll. Voreingestellt ist rechts davon -% (\emph{\textbf{r}ight}). Andere Möglichkeiten sind \emph{\textbf{l}eft}, -% \emph{\textbf{o}uter}, \emph{\textbf{i}nner}. +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v2.98c}{2008/03/03}{earlier definition} +% Environment \env{captionbeside} supports several horizontal placements for +% the caption beside the object: +% \begin{description} +% \item[\texttt{i}:] caption inner beside the object, which means left beside +% on odd pages and right beside on even pages (note: single-sided documents +% have only odd pages), +% \item[\texttt{l}:] caption left beside the object, +% \item[\texttt{o}:] caption outer beside the object, which means right beside +% on odd pages and left beside on even pages (note: single-sided documents +% have only odd pages), +% \item[\texttt{r}:] caption right beside the object. +% \end{description} +% The default is right beside. % \begin{macrocode} \newcommand*{\scap@pos}{r} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scap@pos % % \begin{macro}{\scap@valign} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A -% Hier wird gespeichert, ob bei |captionbeside| die beiden Boxen (siehe -% Definition der Umgebung) \emph{\textbf{t}op}, \emph{\textbf{b}ottem} oder -% \emph{\textbf{c}enter} ausgerichtet werden sollen. Andere Buchstaben -% sind nicht erlaubt. Voreingestellt ist \emph{\textbf{b}ottem}. +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v2.98c}{2008/03/03}{earlier definition} +% Environment \env{captionbeside} support different vertical alignments +% for the object box: +% \begin{description} +% \item[\texttt{c}:] centered, +% \item[\texttt{b}:] bottom, +% \item[\texttt{t}:] top. +% \end{description} +% The default is bottom. % \begin{macrocode} \newcommand*{\scap@valign}{b} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scap@valign % -% \subsection{Optionen für Titel von Gleitumgebungen} +% \subsection{Options for the captions} % % \begin{option}{captions} -% \changes{v2.98c}{2008/02/18}{Neuer Zentralschalter für caption}%^^A -% \changes{v3.09}{2011/04/02}{Neue Werte (\texttt{heading}, -% \texttt{signature}, \texttt{figureheading}, -% \texttt{figuresignature})}%^^A -% \changes{v3.17}{2015/03/11}{Beachtung der Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/11}{Verwendung der internen Werteliste}%^^A -% Dies ist nun die zentrale Option für Einstellungen zu \cs{caption}. Als -% besondere Schwierigkeit ergibt sich dabei jedoch, dass das Paket -% \textsf{caption} einige Sonderbehandlungen für \KOMAScript{} enthält, die -% darauf angewiesen sind, dass die alte Optionenschnittstelle verwendet -% wird. Erfreulicherweise funktioniert das aber ab Version~3.1g über eine -% Erweiterung der Schalter-Umschaltbefehle (|\@tablecaptionabovetrue|, -% |\@tablecaptionabovefalse|, |\onelinecaptionstrue|, -% |\onelinecaptionsfalse|), so dass lediglich dafür georgt werden muss, -% dass diese weiterhin verwendet werden. +% \changes{v2.98c}{2008/02/18}{new \pkg*{keyval} option} +% \changes{v3.09}{2011/04/02}{new values \opt{heading}, \opt{signature}, +% \opt{figureheading}, \opt{figuresignature}} +% \changes{v3.17}{2015/03/11}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/11}{using internal value storage} +% This is the general option for the settings of captions. Because of +% compatibility with package \pkg{caption}, several of the macros, that are +% used to handle the values to the option, cannot be renamed and have to be +% used. This makes it difficult to change anything here. However, the +% currently provides values are: % \begin{macrocode} \KOMA@key{captions}{% \KOMA@set@ncmdkey{captions}{@tempa}{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=heading}:] change the \cs{caption} default to \cs{captionabove}. +% \end{description} +% \begin{macrocode} {heading}{0},{above}{0},{top}{0},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=signature}:] change the \cs{caption} default to \cs{captionbelow}. +% \end{description} +% \begin{macrocode} {signature}{1},{below}{1},{bot}{1},{bottom}{1},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=tableheading}:] change the \cs{caption} default inside +% \env{table} environments to \cs{captionabove}. +% \end{description} +% \begin{macrocode} {tableheading}{2},% {tableabove}{2},{abovetable}{2},{abovetabular}{2},{topattable}{2},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=tablesignature}:] change the \cs{caption} default inside +% \env{table} environment to \cs{captionbelow}. +% \end{description} +% \begin{macrocode} {tablesignature}{3},% {tablebelow}{3},{belowtable}{3},{belowtabular}{3},{bottomattable}{3},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=figureheading}:] change the \cs{caption} default inside +% \env{figure} environments to \cs{captionabove}. +% \end{description} +% \begin{macrocode} {figureheading}{4},{figureabove}{4},{abovefigure}{4},{topatfigure}{4},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=figuresignature}:] change the \cs{caption} default inside +% \env{figure} environment to \cs{captionbelow}. +% \end{description} +% \begin{macrocode} {figuresignature}{5},{figurebelow}{5},{belowfigure}{5},{bottomatfigure}{5},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=oneline}:] special treatment for one line captions. +% \end{description} +% \begin{macrocode} {oneline}{6},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=oneline}:] no special treatment for one line captions. +% \end{description} +% \begin{macrocode} {nooneline}{7},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=rightbeside}:] change horizontal \env{captionbeside} placement +% to right beside (see \cs{scap@pos} above). +% \end{description} +% \begin{macrocode} {rightbeside}{8},{besideright}{8},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=leftbeside}:] change horizontal \env{captionbeside} placement +% to left beside (see \cs{scap@pos} above). +% \end{description} +% \begin{macrocode} {leftbeside}{9},{besideleft}{9},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=innerbeside}:] change horizontal \env{captionbeside} placement +% to inner beside (see \cs{scap@pos} above). +% \end{description} +% \begin{macrocode} {innerbeside}{10},{besideinner}{10},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=outerbeside}:] change horizontal \env{captionbeside} placement +% to outer beside (see \cs{scap@pos} above). +% \end{description} +% \begin{macrocode} {outerbeside}{11},{besideouter}{11},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=topbeside}:] change vertical \env{captionbeside} alignment +% to top (see \cs{scap@valign} above). +% \end{description} +% \begin{macrocode} {topbeside}{12},{besidetop}{12},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=centeredbeside}:] change vertical \env{captionbeside} alignment +% to centered (see \cs{scap@valign} above). +% \end{description} +% \begin{macrocode} {centeredbeside}{13},{besidecentered}{13},% {middlebeside}{13},{besidemiddle}{13},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=bottombeside}:] change vertical \env{captionbeside} alignment +% to bottom (see \cs{scap@valign} above). +% \end{description} +% \begin{macrocode} {bottombeside}{14},{besidebottom}{14}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed @@ -352,251 +394,174 @@ \KOMA@kav@add{.\KOMAClassFileName}{captions}{rightbeside} \KOMA@kav@add{.\KOMAClassFileName}{captions}{bottombeside} % \end{macrocode} -% \end{option} +% \end{option}^^A captions % -% \begin{option}{tablecaptionabove} -% \changes{v2.8h}{2001/07/19}{neue Option}%^^A -% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen -% verschoben} +% \begin{option}{tablecaptionabove,tablecaptionbelow} +% \changes{v2.8h}{2001/07/19}{added} +% \changes{v2.8k}{2001/08/15}{moved from \pkg*{typearea} into the classes} % \changes{v2.98c}{2008/02/18}{obsolete} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{tablecaptionbelow} -% \changes{v2.8h}{2001/07/19}{neue Option}%^^A -% \changes{v2.8k}{2001/08/15}{aus \texttt{typearea} in die Klassen -% verschoben} -% \changes{v2.98c}{2008/02/18}{obsolete} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Es besteht nun die Wahl, ob \cs{caption} bei Tabellen für Unter- -% oder Überschriften voreingestellt ist. Die Defaulteinstellung ist -% aus Kompatibilitätsgründen die Tabellenunterschrift. +% \changes{v3.01a}{2008/11/20}{deprecated} +% Implementation of deprecated options by mapping them to corresponding +% \pkg*{keyval} options. % \begin{macrocode} \KOMA@DeclareDeprecatedOption{tablecaptionabove}{captions=tableheading} \KOMA@DeclareDeprecatedOption{tablecaptionbelow}{captions=tablesignature} % \end{macrocode} -% \end{option} -% \end{option} +% \end{option}^^A tablecaptionabove,tablecaptionbelow % -% \selectlanguage{english} % \begin{option}{origlongtable} -% \changes{v2.8l}{2001/08/16}{new option} -% If package \textsf{longtable} is loaded, the classes redefine table titles +% \changes{v2.8l}{2001/08/16}{added} +% If package \pkg{longtable} is loaded, the classes redefine table titles % of that package. However, if the option has been set, this is prevented. -% \begin{macro}{\if@komalongtable} -% \changes{v2.8l}{2001/08/16}{new boolean} -% \begin{macro}{\@komalongtabletrue} -% \begin{macro}{\@komalongtablefalse} +% \begin{macro}{\@komalongtablefalse,\@komalongtabletrue,\if@komalongtable} +% \changes{v2.8l}{2001/08/16}{added} % The wanted behaviour is stored in a boolean. % \begin{macrocode} \newif\if@komalongtable\@komalongtabletrue \DeclareOption{origlongtable}{\@komalongtablefalse} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \if@komalongtable +% \end{option}^^A origlongtable % -% \begin{option}{onelinecaption} +% \begin{option}{onelinecaption,noonelinecaption} % \changes{v2.8q}{2001/11/17}{new option} % \changes{v2.98c}{2008/03/03}{obsolete} -% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed} +% \changes{v2.98c}{2008/03/03}{extra code for \pkg{caption2} removed} % \changes{v3.01a}{2008/11/20}{deprecated} -% \begin{option}{noonelinecaption} -% \changes{v2.8q}{2001/11/17}{new option} -% \changes{v2.98c}{2008/03/03}{obsolete} -% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% Implementation of deprecated options by mapping them to corresponding +% \pkg*{keyval} options. % \begin{macrocode} \KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline} \KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline} -% \end{macrocode} -% \end{option} -% \end{option} -% \selectlanguage{ngerman} -% -% -% \iffalse -%</!letter> -%</class> %</option> -%<*body> -% \fi -% -% \subsection{Randnotizen} -% -% Randnotizen sind ebenfalls eine Art von Gleitumgebung. -% -% \begin{macro}{\marginline} -% \KOMAScript{} stellt zusätzlich ein Randzeilenmakro zur Verfügung, -% das je nach gerader oder ungerader Seite in doppelseitigen Layout -% rechts- oder linksbündig gesetzt werden muss. -% \changes{v2.4l}{1997/02/06}{Definition mit Hilfe des optionalen -% Parameters von \cs{marginpar} deutlich vereinfacht} -% \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt}%^^A -% \begin{macrocode} -\newcommand\marginline[1]{% - \marginpar[\raggedleft{#1}]{\raggedright #1}% -} % \end{macrocode} -% \end{macro} +% \end{option}^^A onelinecaption,noonelinecaption % -% \iffalse -%<*class> -%<*!letter> -% \fi % -% \subsection{Definitionen für Titel von Gleitumgebungen} +% \subsection{Macros and commands for the captions} % -% \begin{macro}{\caption} -% \changes{v2.2c}{1995/05/25}{Fließtitel auf CJK umgestellt}%^^A -% Es ist möglich, die Fließumgebungen mit einem Titel und einer -% Beschreibung zu versehen. Diese wird vom ggf. etwas abgesetzt. -% \begin{Length}{abovecaptionskip} -% \begin{Length}{belowcaptionskip} -% Um wieviel ist in zwei Längenregistern gespeichert: +% \changes{v2.2c}{1995/05/25}{support for CJK added} +% The initial feature for defining captions somehow different from the +% standard classes was a request of Werner Lember to add support for CJK +% languages. However not everything is changed. For example the usual lengths +% of the standard classes are still defined, but interpreted somehow different. +% +% \begin{length}{\abovecaptionskip,\belowcaptionskip} +% The distance above and below a caption. The default for captions below the +% object is 10\,pt above the caption and 0 below. Note: For captions above +% the object the lengths are switched: \len{abovecaptionskip} is used +% \emph{below} the caption and \len{belowcaptionskip} is used \emph{above} +% the caption then. % \begin{macrocode} +%<*body> \newlength{\abovecaptionskip} \newlength{\belowcaptionskip} \setlength{\abovecaptionskip}{10\p@} \setlength{\belowcaptionskip}{0\p@} % \end{macrocode} -% \end{Length} -% \end{Length} -% \begin{macro}{\captionformat} -% \changes{v2.3c}{1995/08/06}{neu}%^^A -% Trennung von Label und Text: +% \end{length}^^A \abovecaptionskip,\belowcaptionskip +% \begin{command}{\captionformat} +% \changes{v2.3c}{1995/08/06}{added} +% Separator between label (with number) an text only. % \begin{macrocode} \newcommand*{\captionformat}{:\ } % \end{macrocode} -% \end{macro} +% \end{command}^^A \captionformat +% \begin{command}{\captionabove,\captionbelow} +% \changes{v2.8h}{2001/07/19}{added} % \begin{macro}{\scr@caption} -% \changes{v2.8h}{2001/07/19}{neu (intern)}%^^A -% \begin{macro}{\captionabove} -% \changes{v2.8h}{2001/07/19}{neu}%^^A -% \begin{macro}{\captionbelow} -% \changes{v2.8h}{2001/07/19}{neu}%^^A -% Damit überhaupt zwischen Unter- und Überschriften unterschieden -% werden kann, muss zunächst das Originalmakro gesichert werden. Dies -% geschieht erst zu Beginn des Dokuments, damit Pakete ggf. noch ihre -% eigenen Definitionen von \cs{caption} vornehmen können. Das -% \textsf{hyperref}-Paket ist so ein Kandidat. +% \changes{v2.8h}{2001/07/19}{added} +% We have two different commands \cs{captionabove} and \cs{captionbelow} to +% distinguish captions above or below the object. Internally both use +% \cs{scr@caption}, but set either \cs{@captionabovetrue} or +% \cs{@captionabovefalse}. To allow other packages (e.g. \pkg{hyperref} to +% redefine \cs{caption} the final definition of \cs{scr@caption} is done in +% |\begin{document}|. We cannot use \cs{caption} inside \cs{captionabove} or +% \cs{captionbelow}, because we do use a redefinition of \cs{capion} to use +% \cs{captionabove} or \cs{captionbelow} via \opt{atbegin} at \cs{DeclareNewTOC}. % \begin{macrocode} \newcommand{\scr@caption}{} \AtBeginDocument{\let\scr@caption\caption} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@caption % Jetzt ist es möglich durch einfaches Umlegen des Schalters für die % korrekte Darstellung zu sorgen: % \begin{macrocode} \newcommand{\captionabove}{\@captionabovetrue\scr@caption} \newcommand{\captionbelow}{\@captionabovefalse\scr@caption} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \captionabove,\captionbelow % % % \begin{environment}{captionbeside} -% \changes{v2.8q}{2001/11/22}{neu}%^^A -% Um einiges komplizierter als die Beschreibung unter oder über die -% Tabelle oder Abbildung zu setzen, ist der Versuch, sie daneben zu -% setzen. Dies funktioniert frundsätzlich auch nicht mit -% \texttt{longtable}-Tabellen. -% +% \changes{v2.8q}{2001/11/22}{added} +% Placing captions above or below the object inside a float is easy. But to +% place it beside the object an additional environment is needed. This has to +% collect the object (environment body) into a box and then print it side by +% side with a second box with the caption. Note: This cannot work with +% tables of package \pkg{longtable} or \pkg{supertabular} or similar packages. +% \begin{quote}\raggedright +% |\begin{captionbeside}|\oarg{list +% entry}\marg{caption}\oarg{position}\oarg{with}\oarg{offset}|*|\\ +% \dots\\ +% |\end{captionbeside}| +% \end{quote} +% Note: The asterisk is optional and changes the meaning of \meta{offset}. % \begin{macro}{\scap@caption} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% Die Beschreibung, die der Umgebung als Parameter übergeben wird, -% muss zwischengespeichert werden. Hier wird lediglich das Makro -% dafür reserviert. +% \changes{v2.8q}{2001/11/22}{added} +% The \meta{caption} is locally stored into helper macro \cs{scap@caption}. % \begin{macrocode} \newcommand*{\scap@caption}{} % \end{macrocode} -% \end{macro} -% +% \end{macro}^^A \scap@caption % \begin{macro}{\scap@width} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% Die Breite, die Tabelle bzw. Abbildung einschließlich Beschreibung -% und insgesamt haben dürften. Voreingestellt ist die gesamte -% verfügbare Breite. +% \changes{v2.8q}{2001/11/22}{added} +% The optional \meta{width}, which is the width of the whole environment +% inclusive caption, is locally stored into helper macro \cs{scap@width}. The +% default is the while line width. % \begin{macrocode} \newcommand*{\scap@width}{\linewidth} % \end{macrocode} -% \end{macro} -% +% \end{macro}^^A \scap@width % \begin{macro}{\scap@move} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% Der Wert, um den die Tabelle bzw. Abbildung einschließlich -% Beschreibung nach rechts bzw. außen verschoben werden. -% Voreingestellt ist keine Verschiebung. +% \changes{v2.8q}{2001/11/22}{added} +% If \cs{scap@width} is not the line width, the environment is horizontal +% centered by default. But if \meta{offset} is used, this is used as a +% distance from the left margin. This is locally stored into helper macro +% \cs{scap@move}. % \begin{macrocode} \newcommand*{\scap@move}{\z@} % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\scap@currentlabel} -% \changes{v2.8q}{2001/11/24}{neu (intern)}%^^A -% Da \cs{caption} innerhalb einer Umgebung (\cs{parbox} und -% \texttt{captionbeside}) aufgerufen wird, würde ein \cs{label}, das -% zwar innerhalb der Gleitumgebung aber nach der -% \texttt{captionbeside}-Umgebung eingefügt wird, nicht die -% Gleitumgebung, sondern die umgebende Referenzebene -% referenzieren. Damit das nicht geschieht, wird in der -% \texttt{captionbeside}-Umgebung in der \cs{parbox} die aktuelle -% Referenz \cs{@currentlabel} in dem globalen Makro -% \cs{scap@currentlabel} zwischengespeichert und am Ende der -% \texttt{captionbeside}-Umgebung mit Hilfe von \cs{aftergroup} nach -% dem Ende der Umgebung wiederhergestellt. Da die -% \texttt{captionbeside}-Umgebung ohnehin nicht geschachtelt werden -% kann, funktioniert das problemlos. Für diese Aktion wird hier ein -% globales Makro reserviert. +% \end{macro}^^A \scap@move +% \begin{macro}{\scap@altfalse,\scap@alttrue,\ifscap@alt} +% \changes{v2.8q}{2001/11/22}{added} +% The boolean switch \cs{ifscap@alt} is used to decide if in twoside mode the +% movement of \cs{scap@move} has to be done from the left or the right margin +% and to left or to the right. % \begin{macrocode} -\newcommand*{\scap@currentlabel}{} +\newif\ifscap@alt % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\ifscap@alt} -% \changes{v2.8q}{2001/11/22}{neuer Schalter}%^^A -% \begin{macro}{\scap@alttrue} -% \begin{macro}{\scap@altfalse} -% Der Schalter, der angibt, ob die Verschiebung \cs{scap@move} im -% doppelseitigen Modus aus linken Seiten vom rechten Rand aus nach -% links erfolgen soll. +% \end{macro}^^A \ifscap@alt +% \begin{macro}{\scap@currentlabel} +% \changes{v2.8q}{2001/11/24}{added} +% Because of using \cs{caption} inside a box and inside an environment, a +% label after the \env{captionbeside} environment usually would not reference +% the caption number. To preserve this after the end of the +% \env{captionbeside} the current label is locally stored into global +% \cs{scap@currentlabel} and restored after the end of the environment using +% \cs{aftergroup}. Note: You can have only one \cs{label} inside!. % \begin{macrocode} -\newif\ifscap@alt +\newcommand*{\scap@currentlabel}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\@captionbeside} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@captionbeside} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@@captionbeside} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \end{macro}^^A \scap@currentlabel +% \begin{macro}{\@@@captionbeside,\@@captionbeside,\@captionbeside} +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}} % \begin{macro}{\@@@@captionbeside} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Die Umgebung soll einmal folgende Parameter besitzen: -% \begin{description} -% \item[(optional)] Verzeichniseintrag -% \item[(obligatorisch)] Beschreibung -% \item[(optional)] lokaler Wert für \cs{scap@pos} -% \item[(optional)] lokaler Wert für \cs{scap@width} -% \item[(optional)] lokaler Wert für \cs{scap@move} -% \item[(*)] lokaler Wert für \cs{ifscap@alt} (Stern gesetzt -% entspricht \cs{scap@alttrue} -% \end{description} -% Wie man sieht, sollte man bei Angabe aller optionalen Parameter auch -% bewusst den Stern setzen oder darauf verzichten. -% -% Damit alle Parameter ausgewertet werden können, werden einige -% Hilfsmakros benötigt. +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% To handle all the optional arguments and the optional star at the end, +% several helper macros are needed (because we currently do not use \pkg{xparse}). % \begin{macrocode} \newcommand*{\@captionbeside}{} \long\def\@captionbeside[#1]#2{% @@ -630,26 +595,21 @@ {\scap@altfalse\c@pti@nb@sid@[{#1}]{#2}}% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% +% \end{macro}^^A \@@@@captionbeside +% \end{macro}^^A \@@@captionbeside … \@captionbeside % \begin{macro}{\c@pti@nb@sid@b@x} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% Es wird noch eines der kostbaren Boxregister benötigt. +% \changes{v2.8q}{2001/11/22}{added} +% We also use our own box register to collect the environment body. % \begin{macrocode} \newbox\c@pti@nb@sid@b@x % \end{macrocode} % \end{macro} -% % \begin{macro}{\c@pti@nb@sid@} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v2.98c}{2008/03/11}{vertikale Ausrichtung korrigiert}%^^A -% \changes{v3.07a}{2010/11/04}{vertikale Ausrichtung im t- und b-Fall erneut -% korrigiert}%^^A -% Hier wird nun die Umgebung eigentlich geöffnet, während zuvor nur -% die Parameter ausgewertet wurden. +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v2.98c}{2008/03/11}{vertical alignment fixed} +% \changes{v3.07a}{2010/11/04}{vertical alignment \texttt{t} and \texttt{b} fixed} +% This is the real beginning of the environment. After collecting all the +% arguments into local macros. % \begin{macrocode} \newcommand{\c@pti@nb@sid@}{} \long\def\c@pti@nb@sid@[#1]#2{% @@ -669,22 +629,19 @@ \begin{lrbox}{\c@pti@nb@sid@b@x}% } % \end{macrocode} -% \end{macro} -% -% Jetzt endlich können wir uns auf die Umgebung stürzen. Die -% Umgebung zu starten ist einfach. Es wird ein Doppelargumentmakro -% ausgeführt. +% \end{macro}^^A \c@pti@nb@sid@ +% Now we can use all of the helper macros to begin the environment. We use +% \LaTeX{} kernel macro \cs{@dblarg} to define an argument with first +% optional argument defaults to mandatory second argument. % \begin{macrocode} \newenvironment*{captionbeside}{% - \@dblarg\@captionbeside% + \@dblarg\@captionbeside }{% % \end{macrocode} -% Komplizierter ist die Beendigung der Umgebung. Hier fällt der -% gesamte Satzaufwand an. -% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt -% \cs{if@thispageodd}} -% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd} -% ersetzt}%^^A +% This was easy (because of using all the helper macros), but the end of the +% environment isn't. Here we do all the calculations for printing. +% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} replaced by \cs{if@thispageodd}} +% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}} % \begin{macrocode} \end{lrbox}% \settowidth{\@tempdima}{\usebox\c@pti@nb@sid@b@x}% @@ -718,7 +675,7 @@ \hspace*{\@tempdimc}% % \end{macrocode} % \changes{v2.9p}{2003/12/10}{\cs{@temdima} replaced by -% \cs{wd}\cs{c@pti@nb@sid@b@x}, because \cs{@temdima} would be changed} +% \cs{wd}\cs{c@pti@nb@sid@b@x}, because \cs{@temdima} would be changed} % \begin{macrocode} \if l\@tempa \rlap{% @@ -740,103 +697,72 @@ \aftergroup\scap@currentlabel } % \end{macrocode} -% \end{environment} +% \end{environment}^^A captionbeside % % -% \begin{macro}{\capfont} -% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt} -% Die Schriftart der Titel kann eingestellt werden. Dazu dient dieses -% Makro, das als internes Makro zu verstehen ist, -% \begin{macro}{\caplabelfont} -% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt} -% Davon unabhängig kann auch die Schriftart der Titel-Titel -% ("`Abbildung X:"') eingestellt werden. Auch dieses Makro ist als -% internes Makro zu verstehen. +% \begin{fontelement}{caption,captionlabel} +% We need two font elements for the caption at whole and the label part only. +% \begin{macro}{\capfont,\caplabelfont} +% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} added} +% Originally two user macros has been used to change the fonts. To stay +% compatible with old \KOMAScript{} and also i.e. with package \pkg{caption}, +% we still define \cs{capfont} and \cs{caplabelfont} as internal storage of +% the font elements. But already from \KOMAScript{} version 2.8c these should +% be interpreted as internal macros. % \begin{macrocode} \newcommand*\capfont{\normalfont\normalcolor} \newcommand*\caplabelfont{\normalfont\normalcolor} % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\scr@fnt@caption} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{caption}} -% \begin{macro}{\scr@fnt@captionlabel} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{captionlabel}} -% Die eigentliche Änderung der Schriftart erfolgt über das Element -% \texttt{caption} bzw. \texttt{captionlabel}. +% \end{macro}^^A \capfont,\caplabelfont +% \begin{macro}{\scr@fnt@caption,\scr@fnt@captionlabel} +% \changes{v2.8o}{2001/09/14}{added} +% Because of that non-default for the internal storage the font elements have +% to be defined \emph{manually} instead of using \cs{newkomafont}. % \begin{macrocode} \newcommand*{\scr@fnt@caption}{\capfont} \newcommand*{\scr@fnt@captionlabel}{\caplabelfont} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@fnt@caption,\scr@fnt@captionlabel +% \end{fontelement}^^A caption,captionlabel % % \begin{macro}{\@makecaption} -% \changes{v2.3a}{1995/07/08}{\cs{setbox}\cs{tempboxa}\cs{hbox} -% durch \cs{sbox}\cs{@tempboxa} ersetzt} -% \changes{v2.3a}{1995/07/08}{Minipage-Flag zurückgesetzt (ist das -% ok?)} -% \changes{v2.3f}{1995/12/09}{Fontumschaltung einheitlich für lange -% und kurze Unter-/Überschriften}%^^A -% \changes{v2.5g}{1999/10/09}{neben den komplett hängenden -% Titeln sind nun auch nicht hängende oder teilweise hängende -% möglich}%^^A -% Bis Version 2.5f sah die Definition wie folgt aus. -% \begin{verbatim} -% \long\def\@makecaption#1#2{% -% \vskip\abovecaptionskip -% \sbox\@tempboxa{{\caplabelfont #1\captionformat}{\capfont #2}}% -% \ifdim \wd\@tempboxa >\hsize -% \@hangfrom{{\caplabelfont #1\captionformat}}{\capfont #2\par} -% \else -% \global \@minipagefalse -% \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% -% \fi -% \vskip\belowcaptionskip} -% \end{verbatim} -% \begin{macro}{\ifdofullc@p} -% Nun jedoch wird das ganze etwas komplizierter. Als erstes wird ein -% Schalter benötigt, der angibt, ob auf die volle Länge des "`Labels"' -% eingezogen werden soll, oder nicht: +% \changes{v2.3a}{1995/07/08}{using \cs{sbox} instead of \cs{setbox}} +% \changes{v2.3a}{1995/07/08}{using \cs{@minipagefalse}} +% \changes{v2.3f}{1995/12/09}{using same font switching for long and short captions} +% \changes{v2.5g}{1999/10/09}{supporting partial hanging captions} +% \begin{macro}{\dofullc@pfalse,\dofullc@ptrue,\ifdofullc@p} +% The boolean switch \cs{ifdofullc@p} is true for caption texts, that should +% be full hanging (behind the label part), which is the default. % \begin{macrocode} \newif\ifdofullc@p -% \end{macrocode} -% wobei die Standardeinstellung der volle Einzug ist, um zum bisherigen -% Verhalten kompatibel zu bleiben. -% \begin{macrocode} \dofullc@ptrue % \end{macrocode} -% \end{macro} +% \end{macro}^^A \ifdofullc@p % \begin{macro}{\if@capbreak} -% \changes{v2.8j}{2001/07/30}{neu}%^^A -% Außerdem gibt es einen Schalter, der angibt, ob nach dem Label ein -% Umbruch erfolgen soll. Dies ist normalerweise nicht der Fall. -% \begin{macrocode} -\newif\if@capbreak\@capbreakfalse -% \end{macrocode} -% \end{macro} -% \begin{macro}{\setcapindent} -% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet} -% \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt +% \changes{v2.8j}{2001/07/30}{added} +% The boolean switch \cs{if@capbreak} is true, if the label should be followed +% by a line break, which is not the case by default. +% \begin{macrocode} +\newif\if@capbreak +\@capbreakfalse +% \end{macrocode} +% \end{macro}^^A \@capbreakfalse +% \begin{command}{\setcapindent} +% \begin{macro}{\@@setcaptindent,\@setcapindent} +% \changes{v2.8j}{2001/07/30}{using \cs{if@capbreak}} +% \changes{v2.8l}{2001/08/17}{using \cs{edef}\cs{cap@indent} instead of % \cs{def}\cs{cap@indent}} -% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von -% \textsf{caption2} umdefiniert} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt} -% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} -% Dann wird weiter ein Befehl benötigt, mit dem der Benutzer die -% Weite des Einzugs selbst einstellen kann. Da intern für die Weite -% ein Makro verwendet werden soll, findet hier sicherheitshalber eine -% Zuweisung an eine Dimension statt. So sollten Fehlermeldungen hier -% und nicht erst bei Verwendung auftauchen. Natürlich muss hier auch -% der automatische Einzug abgeschaltet werden. In der Sternform wird -% außerdem dafür gesorgt, dass zwischen "`Label"' und Beschreibung -% ein Umbruch erfolgt. In der normalen Version wird stattdessen für -% Kompatibilität zu früheren Versionen gesorgt. -% \begin{macro}{\@setcapindent} -% \begin{macro}{\@@setcaptindent} -% Für die Implementierung der Sternform werden zwei interne Makros -% benötigt. +% \changes{v2.8q}{2001/11/17}{redefined after loading \pkg{caption2}} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed} +% The user can configure the indent using: +% \begin{quote} +% \cs{setcapindent}*\marg{indent} +% \end{quote} +% The optional asterisk activates a line break between the label and the +% text. The \meta{indent} is always an indent of the text from the left. A +% local dimension assignment is done to report errors here and not at +% usage of \cs{cap@indent}. % \begin{macrocode} \newcommand*{\setcapindent}{\kernel@ifstar{\@@setcapindent}{\@setcapindent}} \newcommand*{\@setcapindent}[1]{% @@ -855,33 +781,22 @@ \dofullc@pfalse\@capbreaktrue } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\setcaphanging} -% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von -% \textsf{caption2} umdefiniert} -% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} -% Andererseits soll es auch möglich sein, nachträglich wieder den -% automatischen Einzug einzuschalten. Dafür gibt es ein weiteres -% Makro. +% \end{macro}^^A \@@setcaptindent,\@setcapindent +% \end{command}^^A \setcapindent +% \begin{command}{\setcaphanging} +% \changes{v2.8q}{2001/11/17}{redefined after loading \pkg{caption2}} +% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed} +% Alternatively the user can select the full hanging printing. % \begin{macrocode} \newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse} % \end{macrocode} -% \end{macro} -% -% Nun aber zur neuen Definition der Titel. Zunächst geht alles wie -% gehabt. -% \changes{v2.5g}{1999/10/09}{\cs{@makecaption} per \cs{newcommand} -% definiert statt mit \cs{long}\cs{def}} -% \changes{v2.8h}{2001/07/19}{Unterscheidung zwischen Über- und -% Unterschriften}%^^A -% \changes{v2.8j}{2001/07/30}{\cs{@makecaption} verwendet -% \cs{@@makecaption}} -% \changes{v2.8q}{2001/11/17}{die Sonderbehandlung für einzeilige -% \emph{caption}s ist abschaltbar} -% \changes{v2.8q}{2001/11/17}{Titel können in ihrer Breite -% beschränkt werden}%^^A +% \end{command} +% Now, we have all to define \cs{@makecaption} as needed by the \LaTeX{} kernel. +% \changes{v2.5g}{1999/10/09}{using \cs{newcommand}} +% \changes{v2.8h}{2001/07/19}{support for headings and signatures} +% \changes{v2.8j}{2001/07/30}{using \cs{@@makecaption}} +% \changes{v2.8q}{2001/11/17}{special treatment of one line captions is optional} +% \changes{v2.8q}{2001/11/17}{caption width can be limited} % \begin{macrocode} \newcommand{\@makecaption}[2]{% \if@captionabove @@ -897,37 +812,29 @@ \fi } % \end{macrocode} -% \begin{macro}{\@@makecaption} -% Tatsächlich gesetzt wird der Titel mit diesem Makro. Dabei muss der -% erste Parameter entweder \cs{@gobble} oder \cs{@firstofone} sein. -% -% \begin{macro}{\cap@width} -% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A -% \begin{macro}{\cap@left} -% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A -% \begin{macro}{\cap@right} -% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A -% Die Breite der mehrzeiligen bzw. die maximale Breite der einzeiligen -% \emph{caption}s sowie das Makro das links und rechts von der Box mit -% der mehrzeiligen \emph{caption} aufgerufen wird. In der -% Voreinstellung wird für Zentrierung gesorgt. +% \begin{macro}{\cap@width,\cap@left,\cap@right} +% \changes{v2.8q}{2001/11/17}{added} +% Multi line captions can printed with a reduced with. If the width is reduced +% the left an right margin can be changed. The defaults are centering. % \begin{macrocode} \newcommand*{\cap@width}{\hsize} \newcommand*{\cap@left}{\hfill} \newcommand*{\cap@right}{\hfill} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\setcapwidth} -% \changes{v2.8q}{2001/11/17}{neu} -% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt \cs{if@thispageodd}} -% \changes{v2.97}{2007/02/27}{Mindestbreite für captions ist 0\,pt} -% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd} -% ersetzt} -% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} -% Hier wird \cs{cap@width} gesetzt. Dabei werden optional auch -% \cs{cap@left} und \cs{cap@right} angepasst. +% \end{macro}^^A \cap@width,\cap@left,\cap@right +% \begin{command}{\setcapwidth} +% \changes{v2.8q}{2001/11/17}{added} +% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} replaced by \cs{if@thispageodd}} +% \changes{v2.97}{2007/02/27}{minimum width for captions is 0\,pt} +% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}} +% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed} +% The user command: +% \begin{quote} +% \cs{setcapwidth}\oarg{alignment}\marg{width} +% \end{quote} +% is one choice to set \cs{cap@width} to \meta{width}. The optional +% \meta{alignment} (as usual |l|, |r|, |o|, or |i|) also changes \cs{cap@left} +% and \cs{cap@right}. % \begin{macrocode} \newcommand*{\setcapwidth}[2][]{% \begingroup% @@ -996,14 +903,14 @@ \fi\fi\fi\fi\fi } % \end{macrocode} -% \end{macro}%^^A \setcapwidth -% \begin{macro}{\setcapdynwidth} -% \changes{v3.20}{2016/03/31}{neu} -% Ulrike findet es blöd, dass \cs{setcapwidth} wie \cs{setlength} arbeitet und -% ist der Meinung, dass das Argument erst zur Laufzeit ausgewertet werden -% sollte. Also ein neuer Befehl genau dafür. Es sei allerdings darauf -% hingewiesen, dass Fehler im Argument dann ggf. erst bei jeder -% \cs{caption}-Anweisung und nicht bereits hier ausgegeben werden! +% \end{command}^^A \setcapwidth +% \begin{command}{\setcapdynwidth} +% \changes{v3.20}{2016/03/31}{added} +% Ulrike Fischer requested for an alternative, that does not behave like +% \cs{setlength} and therefore sets the length already at usage of +% \cs{setcapwidth} but at usage of \cs{cap@width}. This is +% \cs{setcapdynwidth}. But in this case mistakes can result in errors while +% usage of \cs{cap@width} too. % \begin{macrocode} \newcommand*{\setcapdynwidth}[2][]{% \def\cap@width{#2}% @@ -1100,34 +1007,28 @@ \fi\fi\fi\fi\fi } % \end{macrocode} -% \end{macro}%^^A \setcapdynwidth +% \end{command}^^A \setcapdynwidth % \begin{macro}{\cap@margin} -% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A -% Dieses Makro beinhaltet nicht den Wert der Ränder, sondern das -% Makro, mit dem innerhalb von \cs{@@makecaption} die Makros -% \cs{cap@left} und \cs{cap@right} neu definiert werden. Dies -% geschieht nur, wenn die Ränder mit \cs{setcapmargin} gesetzt -% werden. Vordefiniert ist also keinerlei Aktion. +% \changes{v2.8q}{2001/11/17}{added} +% \cs{cap@margin} is used to recalculate \cs{cap@left} and \cs{cap@right} +% inside \cs{@@makecaption}, if the margins has been set using +% \cs{setcapmargin}. Default is no such action. % \begin{macrocode} \newcommand*{\cap@margin}{} \let\cap@margin=\relax% % \end{macrocode} -% \end{macro} -% \begin{macro}{\setcapmargin} +% \end{macro}^^A \cap@margin +% \begin{command}{\setcapmargin} % \changes{v2.8q}{2001/11/17}{neu} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt} -% \begin{macro}{\@setcapmargin} -% \changes{v2.8q}{2001/11/17}{neu (intern)} -% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt -% \cs{if@thispageodd}} -% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd} -% ersetzt} -% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} -% \begin{macro}{\@@setcapmargin} -% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A -% Statt die Breite der \emph{caption} zu setzen, können auch die -% Ränder gesetzt werden. In der Sternvariante werden im zweiseitigen -% Modus die Ränder auf linken Seiten vertauscht. +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \begin{macro}{\@@setcapmargin,\@setcapmargin} +% \changes{v2.8q}{2001/11/17}{added} +% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} replaced by \cs{if@thispageodd}} +% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}} +% \changes{v3.34}{2021/03/22}{special treatment for \pkg{caption2} removed} +% Instead of setting of the width of the caption, the left and right margin +% can be set. The star variant switch left and right depending on odd or even +% side in two side mode. % \begin{macrocode} \newcommand*{\setcapmargin}{\kernel@ifstar{\@setcapmargin}{\@@setcapmargin}} \newcommand*{\@setcapmargin}[2][\@tempdimb]{% @@ -1175,41 +1076,32 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% Jetzt aber zum Eigentlichen. Die Breite der \emph{caption} muss nur -% bestimmte werden, wenn Option \texttt{onelinecaption} verwendet -% wird. Das bedeutet auch, dass bei \texttt{noonelinecaption} das -% Problem mit dem Hochzählen der Fußnoten nicht auftritt. -% \changes{v2.8q}{2002/05/17}{Problem mit doppelten Fußnoten behoben}% -% \changes{v2.95}{2004/01/30}{Korrekturen für vertikalen Abstand und -% \textsl{float}-Paket}% -% \changes{v2.95a}{2006/07/13}{diverse Korrekturen für den vertikalen -% Abstand u.\,a. bei Verwendung des \textsl{color}-Pakets}% -% \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} eingefügt, um die -% vertikale Ausrichtung im \emph{above}-Fall in eingen Fällen zu -% verbessern}% -% \changes{v3.02a}{2009/01/24}{diverse Gruppen- bzw. Argumentklammern ergänzt}% -% \changes{v3.11c}{2013/06/12}{\cs{capfont} durch -% \cs{usekomafont{caption}}ersetzt}% -% \changes{v3.11c}{2013/06/12}{\cs{caplabelfont} durch -% \cs{usekomafont{captionlabel}}ersetzt}% -% \changes{v3.12}{2013/06/12}{ein \cs{usekomafont} durch -% \cs{usesizeofkomafont} ersetzt} -% \changes{v3.21}{2016/05/31}{Neuimplementierung} +% \end{macro}^^A \@@setcapmargin,\@setcapmargin +% \end{command}^^A \setcapmargin +% \begin{macro}{\@@makecaption} +% The main job is done by \cs{@@makecaption}. It has an additional first +% argument, that has to be either \cs{@gobble} or \cs{@firstofone}. This is +% used to either set a label or not. This is needed for captions of +% \pkg{longtable}. +% \changes{v2.8q}{2002/05/17}{avoid double increase of footnote number} +% \changes{v2.95}{2004/01/30}{fixing vertical skips also with \pkg{float}} +% \changes{v2.95a}{2006/07/13}{fixing vertical skips with \pkg{color}} +% \changes{v2.97c}{2007/06/06}{\cs{unskip}\cs{strut} added to fix vertical +% positions in some \emph{above} cases} +% \changes{v3.02a}{2009/01/24}{braces fixed} +% \changes{v3.11c}{2013/06/12}{using \cs{usekomafont}} +% \changes{v3.12}{2013/06/12}{one \cs{usekomafont} replaced by \cs{usesizeofkomafont}} +% \changes{v3.21}{2016/05/31}{re-implemented} % \begin{macrocode} \newcommand{\@@makecaption}[3]{% % \end{macrocode} -% Als erstes werden die Makros für den linken und rechten Rand generiert. +% Recalculate the margins. % \begin{macrocode} \cap@margin % \end{macrocode} -% Danach wird der Test vorgenommen, ob der Text einzeilig oder -% mehrzeilig zu setzen ist und entsprechend gehandelt: -% \changes{v3.22}{2016/09/01}{Umdefinierung von \cs{stepcounter} und -% \cs{refstepcounter} auf lokale Erhöhung des Zählers geändert, um Probleme -% mit \textsf{isodate} zu umgehen}%^^A +% Test for special treatment of one line captions. +% \changes{v3.22}{2016/09/01}{local redefinition of \cs{stepcounter} and +% \cs{refstepcounter} because of \pkg{isodate}} % \begin{macrocode} \begingroup \ifonelinecaptions @@ -1219,10 +1111,9 @@ \let\@footnotetext=\@gobble \let\hypertarget\@gobbletwo % \end{macrocode} -% \changes{v3.22}{2016/09/01}{Sonderbehandlung für \string\\ u.\,ä. im Text} -% Falls im Text ein \texttt{\string\\} oder \cs{newline} enthalten ist, -% wird ein Infotext ausgegeben und dafür gesorgt, dass mehrzeilig gearbeitet -% wird. +% \changes{v3.22}{2016/09/01}{special treatment of hard coded line breaks} +% If there are hard coded line breaks using |\\| or \cs{newline}, we inform +% the user to use a multi-line caption. % \begin{macrocode} \edef\@xnewline{% \unexpanded{\ClassInfo{\KOMAClassName}{% @@ -1244,13 +1135,11 @@ }% \settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}% % \end{macrocode} -% \selectlanguage{english} % \changes{v3.34}{2021/03/22}{fix of maximum line width of single line % captions} % Until \KOMAScript~3.34 the test here was wrong, because it used % \cs{linewidth}, which is still the whole line width not the maximum caption % width. From \KOMAScript~3.34 \cs{cap@width} is used. -% \selectlanguage{ngerman} % \begin{macrocode} \ifdim\@tempdima>\cap@width \aftergroup\scr@makemultilinecaption @@ -1264,15 +1153,12 @@ {#1}{#2}{#3}% } % \end{macrocode} -% \begin{macro}{\scr@makesinglelinecaption} -% \changes{v3.21}{2016/05/31}{neu (intern)} -% \begin{macro}{\scr@@makesinglelinecaption} -% \changes{v3.21}{2016/05/31}{neu (intern)} -% Diesen Anweisungen übernehmen die komplette Ausgabe von einzeiligen Texten. -% Das erste Argumen hat \cs{@gobble} oder \cs{@firstofone} zu sein und -% bestimmt darüber ob das Label ausgegeben wird oder nicht. Der Text wird -% dagegen immer ausgegeben! Das vierte Argument im internen Makro ist entweder -% \cs{par} oder leer. +% \begin{macro}{\scr@@makesinglelinecaption,\scr@makesinglelinecaption} +% \changes{v3.21}{2016/05/31}{added} +% The output of single line captions. The first argument once again is +% \cs{@gobble} (to not show a label) or \cs{@firstofone} (to show the +% label). Argument two and three are the label (without separator, that is +% added here) and the caption text. % \begin{macrocode} \newcommand{\scr@makesinglelinecaption}[3]{% {% @@ -1291,10 +1177,10 @@ \ignorespaces #3\unskip}% } % \end{macrocode} -% \end{macro}%^^A \scr@@makesinglelinecaption -% \end{macro}%^^A \scr@makesinglelinecaption +% \end{macro}^^A \scr@@makesinglelinecaption,\scr@makesinglelinecaption % \begin{macro}{\scr@makemultilinecaption} -% \changes{v3.21}{2016/05/31}{neu (intern)}%^^A +% \changes{v3.21}{2016/05/31}{added} +% The output of multi line captions. The arguments are same as above. % \begin{macrocode} \newcommand{\scr@makemultilinecaption}[3]{% {% @@ -1303,11 +1189,10 @@ \cap@left \vbox{\hsize\cap@width\linewidth\hsize % \end{macrocode} -% \changes{v3.25}{2017/11/15}{caption Ausrichtung hinzugefügt}%^^A -% Bevor wir irgend etwas anderes machen, führen wir an der Stelle die -% Ausrichtung für die gesamte \emph{caption} einschließlich Label aus. Dabei -% hat eine vorhandene spezielle Ausrichtung für den Gleitungebungstyp Vorrang -% vor der allgemeinen Ausrichtung für alle Gleitumgebungen: +% \changes{v3.25}{2017/11/15}{caption alignment added} +% First of all we have to use the ragged type depending in the float/caption +% type. If the float/caption type is unknown we can use the general ragged +% type only. % \begin{macrocode} \scr@ifundefinedorrelax{@captype}{% \ClassWarning{\KOMAClassName}{% @@ -1326,10 +1211,8 @@ \@nameuse{ragged\@captype caption}% }% % \end{macrocode} -% Wenn der Schalter \cs{ifdofullc@p} gesetzt ist, wird der Text bezüglich des -% Labels vollständig hängend gesetzt: -% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt -% \cs{unskip}\cs{strut}}%^^A +% Maybe we have to us a full hanging caption. +% \changes{v3.25}{2017/11/15}{Using \cs{scr@endstrut} instead of \cs{unskip}\cs{strut}} % \begin{macrocode} \ifdofullc@p \@hangfrom{% @@ -1344,8 +1227,7 @@ }% {\usekomafont{caption}{#3\scr@endstrut\par}}% % \end{macrocode} -% Anderenfalls soll entweder nach dem Label direkt ein Umbruch erfolgen und -% ein Einzug nur der ersten Zeile zu setzen: +% Maybe a partial hanging caption with line break after the label. % \begin{macrocode} \else \ifdim\cap@indent<\z@ @@ -1359,8 +1241,7 @@ \hspace*{-\cap@indent}#3\scr@endstrut\par }}% % \end{macrocode} -% Oder es soll nach dem Label ein Umbruch erfolgen und danach alle Zeilen mit -% dem entsprechenden Einzug gesetzt werden: +% Or a line break after the label with full hanging. % \begin{macrocode} \else \if@capbreak @@ -1373,10 +1254,8 @@ \noindent\@hangfrom{\hspace*{\cap@indent}}% {\usekomafont{caption}{#3\scr@endstrut\par}}% % \end{macrocode} -% \changes{v3.27a}{2019/10/21}{fehlende Verwendung von Element -% \texttt{caption} ergänzt}%^^A -% Oder es soll gar kein Umbruch erfolgen aber trotzdem alles mit einem -% gewissen Einzug gesetzt werden: +% \changes{v3.27a}{2019/10/21}{missing usage of \fnt{caption} added} +% Or no line break but still with indent. % \begin{macrocode} \else \@hangfrom{\scr@smashdp\strut\hspace*{\cap@indent}}% @@ -1394,7 +1273,7 @@ \fi \fi % \end{macrocode} -% Eigentlich fehlt hier nur die einfachste, gar nicht hängende Form: +% Here we could also add the not hanging version without line break: % \begin{macrocode} %<*neverusethis> % #1{{\usekomafont{caption}{% @@ -1402,7 +1281,7 @@ % {\usekomafont{capion}{\ignorespaces #3\scr@endstrut\par}% %</neverusethis> % \end{macrocode} -% Die allerdings durch die Form mit Einzug 0 abgedeckt wird. +% But this is not needed, because it is the same like indent of 0. % \begin{macrocode} }% \cap@right @@ -1411,16 +1290,20 @@ }\kern-\dp\strutbox } % \end{macrocode} -% \begin{macro}{\setcaptionalignment} -% \changes{v3.25}{2017/11/15}{neu}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Da es etwas lästig und fehleranfällig ist, die ganzen \cs{raggedcaption} -% und \cs{ragged\dots caption} von Hand zu definieren, gibt es dafür einen -% Befehl. Das erste, optionale Argument ist dabei die Gleitungebung für die -% die Definition erfolgen soll. Ist das Argument nicht leer, wird bei -% definiertem \cs{@captype} dieses als Gleitumgebung angenommen. Ist das -% Argument leer wird stattdessen die allgemeine Ausrichtung festgelegt. Das -% zweite Argument ist ein einzelner Buchstaben, der für die Ausrichtung steht. +% \begin{command}{\setcaptionalignment} +% \begin{macro}{\@setcaptionalignment} +% \changes{v3.25}{2017/11/15}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} replaced by \cs{Ifstr}} +% It is better for users to not define the \cs{raggedcaption} and +% \cs{ragged\dots caption} commands themselves to avoid mistakes. So we have +% \begin{quote} +% \cs{setcaptionalignment}\oarg{float}\marg{alignment} +% \end{quote} +% If \meta{float} is used, \cs{ragged\meta{float}caption} will be changed. If +% \meta{float} is not used, but \cs{@captype} is defined (and not \cs{relax}) +% \cs{ragged\cs{@captype}caption} is defined. If \meta{float} is empty or +% \cs{captype} is undefined (or \cs{relax}) and \meta{float} is not used, +% \cs{raggedcaption} will be changed. % \begin{macrocode} \newcommand*\setcaptionalignment{% \kernel@ifnextchar [%] @@ -1433,9 +1316,9 @@ }% \newcommand*\@setcaptionalignment[2][]{% % \end{macrocode} -% Wenn das optionale Argument nicht leer ist, sollte es eine bereits -% definierte Gleitumgebung sein. Anderenfalls wird vorsichtshalber zumindest -% eine Warnung ausgegeben. Die Ausrichtung wird aber trotzde, definiert. +% If \meta{float} is not empty it should be the name of a already defined +% floating environment. Otherwise we report a warning, but nevertheless define +% the command. % \begin{macrocode} \IfArgIsEmpty{#1}{}{% \expandafter\ifnum @@ -1448,22 +1331,31 @@ \fi }% % \end{macrocode} -% Danach gehen wir die Buchstaben durch. Erlaubt sind: +% Depending on \meta{alignment} the command will be changed: % \begin{description} -% \item[\texttt{j}] -- Blocksatz (\cs{ragged\dots caption} wird \cs{relax}. -% \item[\texttt{l}] -- Blocksatz (\cs{ragged\dots caption} wird -% \cs{raggedright}. -% \item[\texttt{r}] -- Blocksatz (\cs{ragged\dots caption} wird -% \cs{raggedleft}. -% \item[\texttt{c}] -- Blocksatz (\cs{ragged\dots caption} wird +% \item[\texttt{j}] -- justified (\cs{ragged\dots caption} becomes \cs{relax}). +% \item[\texttt{l}] -- left aligned (\cs{ragged\dots caption} becomes +% \cs{raggedright}). +% \item[\texttt{r}] -- right aligned (\cs{ragged\dots caption} becomes +% \cs{raggedleft}). +% \item[\texttt{c}] -- centered (\cs{ragged\dots caption} becomes % \cs{centering}. % \end{description} -% Ist das Paket \textsf{ragged2e} geladen, werden stattdessen die Befehle -% \cs{LaTeXraggedright}, \cs{LaTeXraggedleft} und \cs{LaTeXcentering} -% verwendet. Außerdem führen dann die entsprechenden Großbuchstaben zu -% \cs{justifying}, \cs{RaggedRight}, \cs{RaggedLeft} und -% \cs{Centering}. Anderenfalls werden die Großbuchstaben wie die -% Kleinbuchstaben behandelt und geben zusätzlich eine Warnung aus. +% Note: If \pkg{ragged2e} has been loaded, \cs{LaTeXraggedright}, +% \cs{LaTeXraggedleft} and \cs{LaTeXcentering} are used and the following +% additional \meta{alignment}s are supported: +% \begin{description} +% \item[\texttt{J}] -- justified (\cs{ragged\dots caption} becomes \cs{justifying}). +% \item[\texttt{L}] -- left aligned (\cs{ragged\dots caption} becomes +% \cs{RaggedRight}). +% \item[\texttt{R}] -- right aligned (\cs{ragged\dots caption} becomes +% \cs{RaggedLeft}). +% \item[\texttt{C}] -- centered (\cs{ragged\dots caption} becomes +% \cs{Centering}. +% \end{description} +% Without \pkg{ragged2e} the upper case letters are same like lower case +% letters, but additionally warn. Note: The implementation does also work, if +% \pkg*{scrlayer-scrpage} has defined \cs{LaTeXraggedright} etc. % \begin{macrocode} \def\reserved@a{#2}% \Ifstr{\reserved@a}{j}{% @@ -1556,8 +1448,8 @@ } % \end{macrocode} % \begin{macro}{\scr@caption@raggede@warning} -% \changes{v3.25}{2017/11/15}{neu (intern)}%^^A -% Das ist die oben erwähnte Warnung. +% \changes{v3.25}{2017/11/15}{added} +% The warning used above. % \begin{macrocode} \newcommand*{\scr@caption@raggede@warning}[2]{% \begingroup @@ -1571,42 +1463,35 @@ \endgroup } % \end{macrocode} -% \begin{macro}{\raggedcaption} -% \changes{v3.25}{2017/11/15}{neu}%^^A -% Und natürlich wird eine Standardausrichtung benötigt. Ich bevorzuge hier die -% leere Ausrichtung, weil \LaTeX{} \cs{relax} nicht als definiert erkennt. +% \begin{command}{\raggedcaption} +% \changes{v3.25}{2017/11/15}{added} +% The default alignment is standard alignment (empty means no change). % \begin{macrocode} \newcommand*\raggedcaption{} % \end{macrocode} -% \end{macro} -% \end{macro}%^^A \scr@caption@raggede@warning -% \end{macro}%^^A \setcaptionalignment -% \end{macro}%^^A \scr@makemultilinecaption -% \end{macro}%^^A \@@makecaption -% \end{macro}%^^A \@makecaption -% \end{macro}%^^A \caption +% \end{command}^^A \raggedcaption +% \end{macro}^^A \scr@caption@raggede@warning +% \end{macro}^^A \@setcaptionalignment +% \end{command}^^A \setcaptionalignment +% \end{macro}^^A \scr@makemultilinecaption +% \end{macro}^^A \@@makecaption +% \end{macro}^^A \@makecaption +% +% \subsection{Special treatment of \texorpdfstring{\pkg*{longtable}}{`longtable'} captions} % % \begin{macro}{\LT@makecaption} -% \changes{v2.8j}{2001/07/30}{neu (intern)} -% \changes{v2.8k}{2001/08/15}{keine Umdefinierung, wenn das -% \textsf{caption2}-Paket erkannt oder die Option -% \texttt{origlongtable} gesetzt wurde} -% \changes{v2.8q}{2001/11/18}{Breite und Anordnung wird über -% \KOMAScript-Makros bestimmt} -% \changes{v2.8q}{2001/11/18}{Verwendung von \cs{AfterPackage}} -% \changes{v2.9s}{2004/08/24}{vertikale Abstände durch verschieben von -% \cs{vskip} korrigiert} -% \begin{macro}{\LT@array} -% \changes{v2.8q}{2001/11/18}{neu (intern)} -% \begin{macro}{\LT@caption} -% \changes{v2.8q}{2001/11/18}{neu (intern)} +% \changes{v2.8j}{2001/07/30}{added} +% \changes{v2.8k}{2001/08/15}{do nothing if \pkg{caption2} has been loaded or +% option \opt{origlongtable} has been used} +% \changes{v2.8q}{2001/11/18}{width and alignment by \KOMAScript{}} +% \changes{v2.8q}{2001/11/18}{using \cs{AfterPackage}} +% \changes{v2.9s}{2004/08/24}{vertical skips fixed by moving \cs{vskip}} +% \changes{v3.34}{2021/03/22}{special treatment of \pkg{caption2} removed} +% \begin{macro}{\LT@array,\LT@caption} +% \changes{v2.8q}{2001/11/18}{added} % \begin{macro}{\scr@caption@before@longtable@warning} -% \changes{v2.98c}{2008/03/03}{neu (intern)} -% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt} -% Ab Version 2.8j wird auf vielfachen Wunsch das -% \textsf{longtable}-Paket berücksichtigt. Da Pakete aber nach -% Klassen geladen werden, kann dies erst nach dem Laden des Pakets -% aktiviert werden. Die Definition entspricht der obigen. +% \changes{v2.98c}{2008/03/03}{added} +% The code for \pkg{longtable} has to be delayed until loading the package. % \begin{macrocode} \newcommand*{\scr@caption@before@longtable@warning}[1]{% \ClassWarning{\KOMAClassName}{% @@ -1634,9 +1519,8 @@ \LT@mcol\LT@cols c{% \hbox to\z@{\hss\parbox[t]\linewidth{% % \end{macrocode} -% \changes{v3.25}{2017/11/15}{\cs{@captype} auf \texttt{table} gesetzt}%^^A -% Damit \cs{raggedtablecaption} ggf. verwendet wird, wird hier \cs{@captype} -% explizit auf \texttt{table} gesetzt. +% \changes{v3.25}{2017/11/15}{\cs{@captype} set to \texttt{table}} +% To make \cs{raggedtablecaption} available, \cs{@captype} has to be defined. % \begin{macrocode} \def\@captype{table}% \@@makecaption{#1}{#2}{#3}% @@ -1672,23 +1556,18 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@caption@before@longtable@warning +% \end{macro}^^A \LT@array,\LT@caption +% \end{macro}^^A \LT@makecaption % -% \begin{macro}{\fs@komaabove} -% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A -% \begin{macro}{\fs@komabelow} -% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A -% \begin{macro}{\floatc@komascript} -% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A -% Ab Version 2.8j werden für das \textsf{float}-Paket zwei float-Stile -% Namens \texttt{komaabove} und \texttt{komabelow} definiert. Da -% möglicherweise auch andere Pakete darauf zurückgreifen, wird das -% unabhängig von der Existenz von \textsf{float} getan. Verwendet wird -% dies innerhalb von \KOMAScript{} jedoch nicht. Es werden außerdem -% interne Makros von \textsf{float} verwendet! +% \subsection{Special treatment of the \texorpdfstring{\pkg*{float}}{`float'} package} +% +% \begin{macro}{\fs@komaabove,\fs@komabelow,\floatc@komascript} +% \changes{v2.8j}{2001/07/30}{added} +% We define two float style for package \pkg{float}: \texttt{komaabove} and +% \texttt{komabelow}. However this is done independent of loading \pkg{float}, +% because maybe someone else also uses those styles (but I don't think so). +% Note: Internal macros of \pkg{float} has to be used for the definitions. % \begin{macrocode} \newcommand*{\fs@komaabove}{% \let\@fs@capt\floatc@komascript @@ -1704,26 +1583,23 @@ \let\@fs@iftopcapt\iffalse} \newcommand{\floatc@komascript}{\@@makecaption\@firstofone} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \fs@komabove,\fs@komabelow,\floatc@komascript % % -% \subsection{Verteilung der Gleitumgebungen} +% \subsection{Where to place floats} % -% \begin{Counter}{topnumber} -% \begin{macro}{\topfraction} -% \begin{Counter}{bottomnumber} -% \begin{macro}{\bottomfraction} -% \begin{Counter}{totalnumber} -% \begin{macro}{\textfraction} -% \begin{macro}{\floatpagefraction} -% \begin{Counter}{dbltopnumber} -% \begin{macro}{\dbltopfraction} -% \begin{macro}{\dblfloatpagefraction} -% Für die Fließumgebungen müssen verschiedene Konstanten definiert -% werden, die Aufteilung zwischen Text und Fließumgebung und Ähnliches -% regeln. +% \begin{counter}{topnumber} +% \begin{command}{\topfraction} +% \begin{counter}{bottomnumber} +% \begin{command}{\bottomfraction} +% \begin{counter}{totalnumber} +% \begin{command}{\textfraction} +% \begin{command}{\floatpagefraction} +% \begin{counter}{dbltopnumber} +% \begin{command}{\dbltopfraction} +% \begin{command}{\dblfloatpagefraction} +% These are constants used by the \LaTeX{} kernel to decide where to place a +% float. See the kernel documentation for more information. % \begin{macrocode} \setcounter{topnumber}{2} \renewcommand*\topfraction{.7} @@ -1736,38 +1612,32 @@ \renewcommand*\dbltopfraction{.7} \renewcommand*\dblfloatpagefraction{.5} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{Counter} -% \end{macro} -% \end{macro} -% \end{Counter} -% \end{macro} -% \end{Counter} -% \end{macro} -% \end{Counter} -% -% -% \subsection{Titel ohne Gleitumgebung} -% -% \begin{macro}{\captionof} -% \changes{v3.05}{2009/07/08}{Neue Anweisung}%^^A -% \changes{v3.09}{2011/03/21}{Verwendung des internen \cs{scr@caption}} -% \changes{v3.09a}{2011/04/13}{Berücksichtigung von -% \texttt{captions=tableheading} und \texttt{captions=figureheading}} -% \begin{macro}{\captionaboveof} -% \changes{v3.09}{2011/03/21}{Neue Anweisung}%^^A -% \begin{macro}{\captionbelowof} -% \changes{v3.09}{2011/03/21}{Neue Anweisung}%^^A -% Obwohl es inzwischen mehrere Pakete gibt, die diese Anweisung bereit -% stellen, kommt es doch immer wieder zu Fehlern, weil einige Anwender diese -% Pakete nicht nutzen. Also habe ich beschlossen, das selbst zu -% implementieren. Um die Kompatibilität mit \textsf{capt-of} nicht zu stören, -% wird die Definition vor dme Laden jenes Pakets zurück genommen. Mit dem -% Paket \textsf{caption} gibt es solche Probleme nicht, da dieses -% \cs{captionof} ohnehin per \cs{def} definiert. Allerdings berücksichtigt das -% \cs{captionof} von \textsf{caption} und \textsf{capt-of} eventuell die -% Einstellungen für darüber oder darunter nicht in gleicher Weise. +% \end{command} +% \end{command} +% \end{counter} +% \end{command} +% \end{command} +% \end{counter} +% \end{command} +% \end{counter} +% \end{command} +% \end{counter} +% +% +% \subsection{Caption without float} +% +% \begin{command}{\captionof} +% \changes{v3.05}{2009/07/08}{added} +% \changes{v3.09}{2011/03/21}{using internal \cs{scr@caption}} +% \changes{v3.09a}{2011/04/13}{handling of +% \opt{captions\quotechar=tableheading} and \opt{captions\quotechar=figureheading}} +% \begin{command}{\captionaboveof,\captionbelowof} +% \changes{v3.09}{2011/03/21}{added} +% We do not only provide a \cs{captionof} like \pkg{caption} or \pkg{capt-of} +% but also \cs{captionaboveof} and \cs{captionbelowof}. Users should not +% additionally use \pkg{capt-of}, but if they do, the definition of that +% package will be used instead (which is usually not, what the user want, but +% what they decided to do). % \begin{macrocode} \newcommand*{\captionof}[1]{\def\@captype{#1}% \begingroup\expandafter\expandafter\expandafter\endgroup @@ -1779,14 +1649,19 @@ \newcommand*{\captionbelowof}{\@captionabovefalse\captionof} \BeforePackage{capt-of}{\let\captionof\relax} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \captionaboveof,\captionbelowof +% \end{command}^^A \captionof % % \begin{environment}{captionofbeside} -% \changes{v3.10}{2011/09/02}{Neue Umgebung}%^^A -% Analog zu \texttt{captionbeside} hier eine Umgebung mit Angabe des -% Gleitumgebungstyps als erstes Argument. +% \changes{v3.10}{2011/09/02}{added} +% The analogue environment to \cs{captionbeside} to be used outside +% floats. +% \begin{description} +% \item[ToDo:] Wouldn't it be a good idea to test for already defined +% \cs{@captype} inside \env{captionbeside} and then expect an additional first +% argument \meta{float}? In this case user could simply us \env{captionbeside} +% the same way as \env{captionofbeside}. +% \end{description} % \begin{macrocode} \newenvironment{captionofbeside}[1]{% \def\@captype{#1}% @@ -1798,54 +1673,55 @@ % \end{environment} % % -% \subsection{Standardbezeichner} +% \subsection{Names} % -% \begin{macro}{\figurename} -% \begin{macro}{\tablename} -% So heißen die Dinger: +% \begin{command}{\figurename,\tablename} +% \changes{v3.36}{2022/02/15}{explicit definition for English languages} +% The names to be used for the float labels. % \begin{macrocode} \newcommand*\figurename{Figure} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\figurename{Figure} \newcommand*\tablename{Table} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\tablename{Table} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \figurename,\tablename % % -% \subsection{Abbildungsumgebung} +% \subsection{Defining the \env{figure} environment} % -% \begin{environment}{figure} -% \changes{v2.2c}{1995/05/25}{Abbildungsausgabe auf CJK umgestellt}%^^A -% \changes{v2.8h}{2001/07/19}{\cs{caption} wird explizit zu -% \cs{captionbelow}}%^^A -% \changes{v3.25}{2017/10/10}{Reimplementierung mit \textsf{tocbasic}}%^^A -% Zunächst werden \texttt{figure}s, also Abbildungen behandelt. -% \begin{Counter}{figure} -% \changes{v3.25}{2017/10/10}{Der Zähler wird implizit von -% \cs{DeclareNewTOC} definiert.}%^^A -% \end{Counter} -% Der ganze Rest kann mit \cs{DeclareNewTOC} erledigt werden. +% \begin{environment}{figure*,figure-,figure} +% \changes{v2.2c}{1995/05/25}{initial CJK support} +% \changes{v2.8h}{2001/07/19}{\cs{caption} is \cs{captionbelow}} +% \changes{v3.25}{2017/10/10}{re-implemented using \pkg*{tocbasic}} +% \changes{v3.36}{2022/02/22}{define additional non-float} +% \begin{counter}{figure} +% \changes{v3.25}{2017/10/10}{implicit by \cs{DeclareNewTOC}} +% \end{counter} +% We do the main job using \cs{DeclareNewTOC}: % \begin{macrocode} \DeclareNewTOC[% type=figure, float, + nonfloat, %<book|report> counterwithin=chapter, % \end{macrocode} % \begin{macro}{\fps@figure} -% Die Standardplatzierung für Abbildungen ist \emph{t}op, -% \emph{b}ottom, \emph{p}age. +% Default placement (by \cs{DeclareNewTOC}) \textbf{t}op, \textbf{b}ottom, +% \textbf{p}age. % \begin{macrocode} floatpos=tbp, +% \end{macrocode} % \end{macro} % \begin{macro}{\ftype@figure} -% Um die verschiedenen \emph{float}-Typen unterscheiden zu können, -% benötigen sie eine Nummer. Abbildungen bekommen hier willkürlich -% die Nummer 1. +% Numerical float type 1 (by \cs{DeclareNewTOC}). % \begin{macrocode} floattype=1, % \end{macrocode} % \end{macro} -% \changes{v3.11c}{2013/03/01}{fix: one \cs{caption} change removed}%^^A -% \changes{v3.20}{2016/04/07}{Interne Umdefinierung von \cs{caption}}%^^A +% \changes{v3.11c}{2013/03/01}{fix: one \cs{caption} change removed} +% \changes{v3.20}{2016/04/07}{internal redefinition of \cs{caption}} % \begin{macrocode} tocentryindent=1.5em, tocentrynumwidth=2.3em, @@ -1855,13 +1731,13 @@ } % \end{macrocode} % \begin{macro}{\ext@figure} -% Die Extension der Datei für das Abbildungsverzeichnis. +% Extension to be used (by \cs{DeclareNewTOC}) % \begin{macrocode} ]{lof} % \end{macrocode} % \end{macro} -% \begin{macro}{\thefigure} -% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil} +% \begin{command}{\thefigure} +% \changes{v2.97e}{2007/11/23}{using chapter number in main-matter only} % \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent} % \changes{v3.35}{2021/10/12}{use chapter number only of greater than zero} % \changes{v3.35}{2021/10/12}{redefine \cs{thefigure} only if compatibility is @@ -1878,65 +1754,51 @@ \fi %</article> % \end{macrocode} -% \end{macro} +% \end{command} % \begin{macro}{\fnum@figure} -% \begin{macro}{\figureformat} -% \changes{v2.3c}{1995/08/06}{neu}%^^A -% Die Ausgabe der Abbildungsnummer wird implizit von \cs{DeclareNewTOC} als -% \iffalse -%<*ignore> -% \fi -% \begin{macrocode} -\newcommand*{\fnum@figure}{\figureformat} -\newcommand*{\figureformat}{% - \figurename~\thefigure - \csname autodot\endcsname -} -% \end{macrocode} -% \iffalse -%</ignore> -% \fi -% definiert. -% \end{macro} +% \begin{command}{\figureformat} +% \changes{v2.3c}{1995/08/06}{added} +% The print format of the number (by \cs{DeclareNewTOC}). +% \end{command} % \end{macro} % \end{environment} % % -% \subsection{Tabellengleitumgebung} +% \subsection{Defining the \env{table} environment} +% +% Note: This is almost the same as defining the \env{figure} environment. So +% read the previous section first. % -% \begin{environment}{table} -% \changes{v2.2c}{1995/05/25}{Tabellenausgabe auf CJK umgestellt}%^^A -% \changes{v2.8h}{2001/07/19}{bei Tabellen kann der Default für -% \cs{caption} von Unter- auf Überschriften geändert werden} -% \changes{v3.25}{2017/10/10}{Reimplementierung mit \textsf{tocbasic}}%^^A -% Auch verschiebbare Tabellen sind möglich. Das Prinzip ist das -% gleiche wie bei den Abbildungen. -% \begin{Counter}{table} -% \changes{v3.25}{2017/10/10}{Der Zähler wird implizit von -% \cs{DeclareNewTOC} definiert.}%^^A -% \end{Counter} -% Der ganze Rest kann mit \cs{DeclareNewTOC} erledigt werden. +% \begin{environment}{table*,table-,table} +% \changes{v2.2c}{1995/05/25}{initial CJK support} +% \changes{v2.8h}{2001/07/19}{\cs{caption} is \cs{captionbelow}} +% \changes{v3.25}{2017/10/10}{re-implemented using \pkg*{tocbasic}} +% \changes{v3.36}{2022/02/22}{define additional non-float} +% \begin{counter}{table} +% \changes{v3.25}{2017/10/10}{implicit by \cs{DeclareNewTOC}} +% \end{counter} +% We do the main job using \cs{DeclareNewTOC}: % \begin{macrocode} \DeclareNewTOC[% type=table, float, + nonfloat, %<book|report> counterwithin=chapter, % \end{macrocode} % \begin{macro}{\fps@table} -% Die Standardplatzierung für Tabellen ist \emph{t}op, -% \emph{b}ottom, \emph{p}age. +% Default placement (by \cs{DeclareNewTOC}) \textbf{t}op, \textbf{b}ottom, +% \textbf{p}age. % \begin{macrocode} floatpos=tbp, +% \end{macrocode} % \end{macro} % \begin{macro}{\ftype@table} -% Um die verschiedenen \emph{float}-Typen unterscheiden zu können, -% benötigen sie eine Nummer. Tabellen bekommen hier willkürlich -% die Nummer 2. +% Numerical float type 2 (by \cs{DeclareNewTOC}). % \begin{macrocode} floattype=2, % \end{macrocode} % \end{macro} -% \changes{v3.20}{2016/04/07}{Interne Umdefinierung von \cs{caption}}%^^A +% \changes{v3.20}{2016/04/07}{internal redefinition of \cs{caption}} % \begin{macrocode} tocentryindent=1.5em, tocentrynumwidth=2.3em, @@ -1946,14 +1808,14 @@ } % \end{macrocode} % \begin{macro}{\ext@table} -% Die Extension der Datei für das Abbildungsverzeichnis. +% Extension to be used (by \cs{DeclareNewTOC}) % \begin{macrocode} ]{lot} % \end{macrocode} % \end{macro} -% \begin{macro}{\thetable} -% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}%^^A -% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent}%^^A +% \begin{command}{\thetable} +% \changes{v2.97e}{2007/11/23}{using chapter number in main-matter only} +% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent} % \changes{v3.35}{2021/10/12}{use chapter number only of greater than zero} % \changes{v3.35}{2021/10/12}{redefine \cs{thefigure} only if compatibility is % less or equal 2.97d resp. less than 3.35} @@ -1968,42 +1830,30 @@ \renewcommand*\thetable{\@arabic\c@table} \fi %</article> +%</body> % \end{macrocode} -% \end{macro} +% \end{command} % \begin{macro}{\fnum@table} -% \begin{macro}{\tableformat} -% \changes{v2.3c}{1995/08/06}{neu}%^^A -% Die Ausgabe der Abbildungsnummer wird implizit von \cs{DeclareNewTOC} als -% \iffalse -%<*ignore> -% \fi -% \begin{macrocode} -\newcommand*{\fnum@table}{\tableformat} -\newcommand*{\tableformat}{% - \tablename~\thetable - \csname autodot\endcsname -} -% \end{macrocode} -% \iffalse -%</ignore> -% \fi -% definiert. -% \end{macro} +% \begin{command}{\tableformat} +% \changes{v2.3c}{1995/08/06}{added} +% The print format of the number (by \cs{DeclareNewTOC}). +% \end{command} % \end{macro} % \end{environment} % -% \iffalse -%</!letter> -%</class> -%</body> -% \fi -% +% \begin{macrocode} +%</class&!letter> +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-floats.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx b/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx index 2e703b4a8a..1fb7cf7601 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-fonts.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-fonts.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-fonts.dtx 3597 2021-05-17 12:54:47Z kohm $ +%%% From File: $Id: scrkernel-fonts.dtx 3723 2022-02-23 14:53:44Z kohm $ %<identify>%%% (run: identify) %<option>%%% (run: option) %<body>%%% (run: body) @@ -65,9 +29,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-05-17 14:54:47 +0200 (Mon, 17 May 2021) $ + \filedate$Date: 2022-02-23 15:53:44 +0100 (Mi, 23. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1827 $ + \filerevision$Revision: 3723 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-fonts.dtx}% @@ -76,7 +40,7 @@ (font size)] }% \reserved@a -% \changes{v3.09}{2011/02/23}{Neues Paket \texttt{scrfontsizes}} +% \changes{v3.09}{2011/02/23}{new package \pkg*{scrfontsizes}} %</dtx> %<*package&generator&identify> %<package&generator&identify>\ProvidesPackage{scrfontsizes}[% @@ -84,111 +48,102 @@ %<package&generator&identify> package (font size file generator)] %</package&generator&identify> %<*dtx> -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-fonts.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-fonts.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} % -% \changes{v2.95}{2002/06/25}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \changes{v2.95}{2002/06/25}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/22}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/22}{implementation documentation in English} % -% \section{Schriftauswahl} +% \GetFileInfo{scrkernel-fonts.dtx} +% \title{Code for the Foats of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-fonts.dtx} mainly implements the font selection of +% \KOMAScript{}. This is not only the selection of the font sizes but also +% the implementation of font elements. Additionally it provides package +% \pkg*{scrfontsizes} to generate new font size files. +% \end{abstract} +% \tableofcontents % -% Dieser Bereich befasst sich mit allem, was zur Schriftauswahl -% gehört. Die einzelnen Elemente, für die eine Schriftauswahl möglich -% ist, sind jedoch in den Dateien definiert, in denen diese Elemente -% auftreten. +% \section{User Manual} % -% \StopEventually{\PrintIndex\PrintChanges} +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. The user documentation of alpha package \pkg*{scrfontsizes} +% is still missing. % -% \iffalse -%<*option> -% \fi % -% \subsection{Der Generator für Schriftgrößendateien} +% \MaybeStop{\PrintIndex} +% +% +% \section{Implementation of \KOMAScript{} Font Features} +% +% \subsection{Options of the font size files generator package} +% +% From version 3.09 there exist package \pkg*{scrfontsizes}, which is currently +% very rudimentary. However it can used to generate font size files that can +% be modified by the user afterwards. Currently it does not provide any options. % -% \iffalse -%<*generator> -% \fi -% Ab Version 3.09 gibt es einen Generator für neue -% Schriftgrößendateien. Dieser richtet sich vor allem an Klassenautoren und -% bietet die Möglichkeit, eine eigene berechnete Schriftgrößendatei als -% Grundlage für eine spezifisch angepasste Schriftgrößendateie zu erstellen. -% Optionen besitzt dieser jedoch nicht. Daher reduziert sich der Optionenteil -% auf ein einfaches % \begin{macrocode} +%<*generator&option> \ProcessOptions\relax +%</generator&option> % \end{macrocode} -% \iffalse -%</generator> -% \fi % -% \subsection{Option zur Auswahl der Größe der Grundschrift} +% \subsection{Font size options of the \KOMAScript{} classes} +% +% \begin{option}{10pt,11pt,12pt} +% These options do not exist as explicit options but are handled by +% \cs{DeclareOption*} via \cs{@pt@scan}. +% \end{option} % -% \iffalse -%<*class|extend> -% \fi -% \begin{option}{10pt} -% \begin{option}{11pt} -% \begin{option}{12pt} -% Diese Optionen existieren nicht mehr als explizite Optionen, sondern -% werden in \texttt{scrtarea.dtx} über \cs{DeclareOption*} -% ausgewertet. % \begin{macro}{\@ptsize} -% \changes{v2.96}{2006/08/11}{\cs{@ptsize} hat temporär eine andere -% Bedeutung}%^^A -% \changes{v3.27}{2019/03/25}{\cs{providecommand} statt \cs{newcommand}}%^^A -% Wir definieren \cs{@ptsize} als Grundschriftgrößee minus 10\,pt. -% Hier wird die Standardeinstellung 11\,pt für alle Klassen außer der -% Briefklasse gewählt. Bis zum Einstellen tatsächlichen Einstellen der -% Schriftgröße wird in \cs{@ptsize} allerdings die tatsächliche Größe -% angegeben, damit sich Rundungsfehler nicht so leicht summieren. -% \begin{macrocode} -%<*!extend> +% \changes{v2.96}{2006/08/11}{\cs{@ptsize} different temporary meaning} +% \changes{v3.27}{2019/03/25}{\cs{providecommand} instead of \cs{newcommand}} +% The main meaning of \cs{@ptsize} is the base font size minus 10\,pt, or in +% other words: base font size = \cs{@ptsize} + 10\,pt. But, until the final +% font size has been set, we use it for the default size. \cs{providecommand} +% is used to define it, so a wrapper class can define a different default size +% before loading the final class. +% \begin{macrocode} +%<*class&option> \providecommand*\@ptsize{% %<!letter> 11% %<letter> 12% } -%</!extend> +%</class&option> % \end{macrocode} % \end{macro} -% \end{option} -% \end{option} -% \end{option} % % \begin{macro}{\@pt@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)}%^^A +% \changes{v2.6}{2000/01/04}{added} % \begin{macro}{\@pt@@scan} -% \changes{v2.6}{2000/01/04}{neu (intern)}%^^A -% \changes{v2.97c}{2007/05/12}{\cs{KOMA@UseObsolete} durch -% \cs{KOMA@UseObsoleteOption} ersetzt} -% \changes{v2.98c}{2008/03/22}{Verwendung von \cs{KOMA@UseObsoleteOption}%^^A -% korrigiert} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch -% \cs{PackageInfoNoLine} ersetzt} -% \changes{v3.12}{2013/03/04}{Alle Schriftgrößen-Optionen außer -% \texttt{10pt}, \texttt{11pt} und \texttt{12pt} sind überholt.} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A -% Das Macro \cs{@pt@scan} wird benötigt, um die Schriftgröße nach der alten -% Methode zu erkennen. -% \begin{macrocode} -%<*!extend> +% \changes{v2.6}{2000/01/04}{added} +% \changes{v2.97c}{2007/05/12}{\cs{KOMA@UseObsolete} replaced by +% \cs{KOMA@UseObsoleteOption}} +% \changes{v2.98c}{2008/03/22}{Usage of \cs{KOMA@UseObsoleteOption} fixed} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.12}{2013/03/04}{other font size options than \opt{10pt}, +% \opt{11pt}, \opt{12pt} are deprecated} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} renamed to \cs{Ifnumber}} +% This macro scans the current option and recognizes classic font size +% options. It is used with \cs{DeclareOption*}. +% \begin{macrocode} +%<*class&option> \newcommand*{\@pt@scan}{% \expandafter\@pt@@scan\CurrentOption pt\@pt@@scan% } @@ -216,30 +171,29 @@ }{\@headlines}% }{\@headlines}% } -%</!extend> +%</class&option> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@pt@@scan +% \end{macro}^^A \@pt@scan % % \begin{macro}{\@fontsizefilebase} -% \changes{v2.96}{2006/08/11}{neu (intern)}%^^A -% \changes{v3.00}{2008/05/01}{Definition für \textsf{scrextend} vorgezogen} -% Dieses Makro speichert den Präfix der primären -% Schriftgrößenoptionsdateien. Es wird nur definiert, wenn es nicht bereits -% definiert ist. Damit können Wrapperklassen komplett andere Größen vorgeben, -% ohne mit \cs{ReplaceInput} arbeiten zu müssen. +% \changes{v2.96}{2006/08/11}{added} +% \changes{v3.00}{2008/05/01}{definition earlier because of \pkg*{scrextend}} +% This is the prefix for the \KOMAScript{} font size files. Wrapper classes +% are allowed to change it to use their own font size files. % \begin{macrocode} +%<*option&(class|extend)> \providecommand*{\@fontsizefilebase}{scrsize} % \end{macrocode} % \end{macro} % % \changes{v3.17}{2015/03/10}{die Schriftgröße wird in der internen -% Optionenliste gespeichert}%^^A +% Optionenliste gespeichert} % \begin{option}{fontsize} -% \changes{v2.96}{2006/08/11}{Funktion komplett geändert}%^^A +% \changes{v2.96}{2006/08/11}{Funktion komplett geändert} % \changes{v2.98c}{2008/03/26}{lädt nach Möglichkeit die zugehörige -% Schriftgrößendatei}%^^A -% \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed}%^^A +% Schriftgrößendatei} +% \changes{v3.12}{2013/03/05}{Status wird mit \cs{FamilyKeyStateProcessed} % gesetzt.} % Hier nun die Option, die tatsächlich verwendet wird. Es sei darauf % hingewiesen, dass damit auch Schriftgrößen wie \texttt{10.3pt} denkbar @@ -288,51 +242,35 @@ %<extend> scrextend.\scr@pkgextension }{fontsize}{#1}% } +%</option&(class|extend)> % \end{macrocode} % \end{option} % -% \iffalse -%</class|extend> -% \fi -% -% \iffalse -%</option> -%<*body> -% \fi % -% \subsection{Sicherstellen der Umgebung des Generators} +% \subsection{Packages required by the font size file generator package} % -% \iffalse -%<*generator> -% \fi -% Der Generator benötigt die Anweisung \cs{changefontsizes}, die entweder von -% einer \KOMAScript-Klasse oder vom Paket \texttt{scrextend} bereitgestellt -% wird: +% \pkg*{scrfontsizes} needs command \cs{changefontsizes}. This can either be +% provided by a \KOMAScript{} class or package \pkg*{scrextend}. % \begin{macrocode} +%<*generator&body> \@ifundefined{changefontsizes}{\RequirePackage{scrextend}}{} +%</generator&body> % \end{macrocode} -% \iffalse -%</generator> -% \fi % -% \subsection{Einlesen der Schriftgrößendatei} % -% \changes{v2.6}{2000/01/04}{Einlesen der Schriftgrößen-Options-Datei -% funktioniert nun mit diversen Größen}%^^A -% \changes{v2.98c}{2008/03/26}{Eigene \texttt{scrsize}-Dateien definiert} +% \subsection{The font size files} % -% \iffalse -%</body> -%<*10pt|11pt|12pt> -% \fi +% \changes{v2.6}{2000/01/04}{reading font size files works independent from size} +% \changes{v2.98c}{2008/03/26}{using my own \file{scrsize\dots.clo} files} % -% Es werden min. drei Schriftgrößendateien benötigt. Ab Version 2.98c -% verwendet \KOMAScript{} vorzugsweise eigene Dateien, die auch noch zu einem -% späteren Zeitpunkt geladen werden können. Ansonsten sind diese Dateien -% weitestgehend dem Quellcode der Standardklassen \texttt{classes.dtx} -% entnommen. +% We need at least the font size files for the three base sizes 10\,pt, 11\,pt +% and 12\,pt. From version 2.98c \KOMAScript{} prefers to use its own files, +% because these can be loaded without problems after |\begin{document}| and +% after another font size file has already been loaded. Nevertheless the base +% sizes are more or less from the standard classes. % % \begin{macrocode} +%<*10pt|11pt|12pt> \ProvidesFile{% %<10pt> scrsize10pt.clo% %<11pt> scrsize11pt.clo% @@ -344,27 +282,9 @@ ] % \end{macrocode} % -% \begin{macro}{\normalsize} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\small} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\footnotesize} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\scriptsize} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\tiny} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\large} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\Large} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\LARGE} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\huge} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\Huge} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% Siehe \texttt{classes.dtx}. +% \begin{command}{\normalsize,\small,\footnotesize,\scriptsize,\tiny,\large, +% \Large,\LARGE,\huge,\Huge} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} % \begin{macrocode} \def\normalsize{% %<*10pt> @@ -483,35 +403,14 @@ %</12pt> \normalsize % \end{macrocode} -% \begin{Length}{\footnotesep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\footins} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\floatsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\textfloatsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\intextsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\dblfloatsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\sbltextfloatsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\@fptop} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\@fpsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\@fpbot} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\@dblfptop} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\@dblfpsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\@dblfpbot} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{Length}{\partopsep} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% Siehe \texttt{classes.dtx}. +% \end{command} +% +% \begin{length}{\footnotesep,\footins,\floatsep,\textfloatsep,\intextsep, +% \dblfloatsep,\sbltextfloatsep,\partopsep} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} +% \begin{ilength}{\@fptop,\@fpsep,\@fpbot,\@dblfptop,\@dblfpsep,\@dblfpbot} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} +% The values are same as with the standard classes. % \begin{macrocode} %<*10pt> \setlength\footnotesep {6.65\p@} @@ -521,13 +420,13 @@ \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@} \setlength\@fptop {0\p@ \@plus 1fil} \setlength\@fpsep {8\p@ \@plus 2fil} \setlength\@fpbot {0\p@ \@plus 1fil} \setlength\@dblfptop {0\p@ \@plus 1fil} \setlength\@dblfpsep {8\p@ \@plus 2fil} \setlength\@dblfpbot {0\p@ \@plus 1fil} -\setlength\partopsep {2\p@ \@plus 1\p@ \@minus 1\p@} %</10pt> %<*11pt> \setlength\footnotesep {7.7\p@} @@ -537,13 +436,13 @@ \setlength\intextsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dblfloatsep {12\p@ \@plus 2\p@ \@minus 2\p@} \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\partopsep {3\p@ \@plus 1\p@ \@minus 1\p@} \setlength\@fptop {0\p@ \@plus 1fil} \setlength\@fpsep {8\p@ \@plus 2fil} \setlength\@fpbot {0\p@ \@plus 1fil} \setlength\@dblfptop {0\p@ \@plus 1fil} \setlength\@dblfpsep {8\p@ \@plus 2fil} \setlength\@dblfpbot {0\p@ \@plus 1fil} -\setlength\partopsep {3\p@ \@plus 1\p@ \@minus 1\p@} %</11pt> %<*12pt> \setlength\footnotesep {8.4\p@} @@ -553,28 +452,18 @@ \setlength\intextsep {14\p@ \@plus 4\p@ \@minus 4\p@} \setlength\dblfloatsep {14\p@ \@plus 2\p@ \@minus 4\p@} \setlength\dbltextfloatsep{20\p@ \@plus 2\p@ \@minus 4\p@} +\setlength\partopsep {3\p@ \@plus 2\p@ \@minus 2\p@} \setlength\@fptop {0\p@ \@plus 1fil} \setlength\@fpsep {10\p@ \@plus 2fil} \setlength\@fpbot {0\p@ \@plus 1fil} \setlength\@dblfptop {0\p@ \@plus 1fil} \setlength\@dblfpsep {10\p@ \@plus 2fil} \setlength\@dblfpbot {0\p@ \@plus 1fil} -\setlength\partopsep {3\p@ \@plus 2\p@ \@minus 2\p@} %</12pt> % \end{macrocode} -% \begin{macro}{\@listi} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\@listii} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\@listiii} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\@listiv} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\@listv} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% \begin{macro}{\@listvi} -% \changes{v2.98c}{2008/03/26}{in eigener \texttt{scrsize}-Datei definiert} -% Siehe \texttt{classes.dtx}. +% \begin{macro}{\@listi,\@listii,\@listiii,\@listiv,\@listv,\@listvi} +% \changes{v2.98c}{2008/03/26}{defined in the \file{scrsize\dots.clo} files} +% The definitions are the same as with the standard classes. % \begin{macrocode} \def\@listi{\leftmargin\leftmargini %<*10pt> @@ -627,32 +516,39 @@ \def\@listvi {\leftmargin\leftmarginvi \labelwidth\leftmarginvi \advance\labelwidth-\labelsep} -% \end{macrocode} -% \iffalse %</10pt|11pt|12pt> -%<*body> -% \fi -% -% \iffalse -%<*class|extend> -% \fi +% \end{macrocode} +% \end{macro}^^A \@listi … \@listvi +% \end{ilength}^^A \@fptop … \@dblfpbot +% \end{length}^^A \footnotesep … \partopsep % -% \begin{macro}{\changefontsizes} -% \changes{v2.96}{2006/08/11}{neue Anweisung (benötigt \eTeX)}%^^A -% \changes{v3.08b}{2011/02/22}{drei falsche \cs{def} durch \cs{edef} -% ersetzt}%^^A -% \changes{v3.17}{2015/02/23}{wird nur definiert, wenn nicht vorhanden}%^^A +% \begin{command}{\changefontsizes} +% \changes{v2.96}{2006/08/11}{added} +% \changes{v3.08b}{2011/02/22}{three \cs{def} replaced by \cs{edef}} +% \changes{v3.17}{2015/02/23}{define if undefined only} +% \changes{v3.17}{2015/02/23}{indirect definition for Falk} % \begin{macro}{\simple@changefontsizes} -% \changes{v3.17}{2015/02/23}{auf speziellen Wunsch von Falk}%^^A -% \changes{v3.17}{2015/03/25}{\cs{par@updaterelative} hinzugefügt}%^^A -% Diese Anweisung bietet berechnete Schriftgrößen als Fallbacklösung an. Das -% optionale erste Argument ist dabei der Grundlinienabstand. Das zweite -% Argument ist die gewünschte Grundschriftgröße. +% \changes{v3.17}{2015/02/23}{added} +% \changes{v3.17}{2015/03/25}{\cs{par@updaterelative} added} +% Fallback calculation of font size settings relative to known 10\,pt values: +% \begin{quote} +% \cs{changefontsizes}\oarg{baseline skip}\marg{font size} +% \end{quote} +% If the \meta{baseline skip} is given, it is used as \len{baselineskip} for +% \cs{normalsize} and all other baseline skips are relative to it. If it is +% not give, it is also calculated. % \begin{macro}{\scr@setlength} -% \changes{v3.12}{2013/10/08}{neue Anweisung (intern)}%^^A -% Setzt die Länge in |#1| auf den Wert |#2| plus |#3| minus |#4|, wobei -% allerdings für |#2|, |#3| und |#4| Mindestwerte von 1\,pt verwendet werden. -% \begin{macrocode} +% \changes{v3.12}{2013/10/08}{added} +% Command +% \begin{quote} +% \cs{scr@setlength}\marg{\LaTeX length}\marg{base dimension}\marg{plus +% dimension}\marg{minus dimension} +% \end{quote} +% sets \meta{\LaTeX length} to \meta{base dimension} \texttt{plus} \meta{plus +% dimension} \texttt{minus} \meta{minus dimension}. Minimum value for +% \meta{plus dimension} and \meta{minus dimension} is 1\,pt. +% \begin{macrocode} +%<*body&(class|extend)> \newcommand*\scr@setlength[4]{% \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{#1}{#2 \@plus#3 \@minus#4}% @@ -690,7 +586,7 @@ } % \end{macrocode} % \end{macro} -% \changes{v3.17}{2015/03/10}{e-\TeX-Warnung entfernt}%^^A +% \changes{v3.17}{2015/03/10}{\eTeX{} warning removed} % \begin{macrocode} \providecommand*{\simple@changefontsizes}[2][1.2\@tempdima]{% \KOMA@kav@removekey{.% @@ -708,15 +604,13 @@ \def\@tempa##1##2##3##4##5\@nnil{\def##1{##2.##3##4}}% \expandafter\@tempa\expandafter\@tempb\@tempb\@nnil% % \end{macrocode} -% Ab hier ist \cs{@tempdimc} die gewünschte Grundschriftgröße in pt und -% \cs{@tempb} der Faktor für den Grundlinienabstand auf 2 Stellen hinter dem -% Komma. Zunächst ist auch \cs{@tempdima} noch die geforderte -% Grundschriftgröße und \cs{@tempdimb} der geforderte -% Grundlinienabstand. Allerdings verändern sich \cs{@tempdima} und -% \cs{@tempdimb} im Laufe der nachfolgenden Definitionen abhängig von der zu -% definierenden Schriftgröße. +% Now, \len{@temdimc} is the wanted basic font size in pt. \cs{@tempb} is the +% factor of the baseline skip rounded to two decimals. \len{@tempdima} is also +% the basic font size and \len{@tempdimb} the \len{baselineskip}. But +% \len{@tempdima} and \len{tempdimb} will change in further calculations +% depending on the wanted font size command. % -% Berechnungen für und Definition von \cs{normalsize}: +% Calculation and definition of \cs{normalsize}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\abovedisplayskip}{% @@ -742,7 +636,7 @@ \let\noexpand\@listi\noexpand\@listI }% % \end{macrocode} -% Berechnungen für und Definition von \cs{small}: +% Calculation and definition of \cs{small}: % \begin{macrocode} \setlength{\@tempdima}{0.9125\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -770,7 +664,7 @@ \let\noexpand\@listi\noexpand\@listi@small }% % \end{macrocode} -% Berechnungen für und Definition von \cs{footnotesize}: +% Calculation and definition of \cs{footnotesize}: % \begin{macrocode} \setlength{\@tempdima}{.83334\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -798,7 +692,7 @@ \let\noexpand\@listi\noexpand\@listi@footnotesize }% % \end{macrocode} -% Berechnungen für und Definition von \cs{scriptsize}: +% Calculation and definition of \cs{scriptsize}: % \begin{macrocode} \setlength{\@tempdima}{.66667\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -807,7 +701,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{tiny}: +% Calculation and definition of \cs{tiny}: % \begin{macrocode} \setlength{\@tempdima}{.5\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -816,7 +710,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{large}: +% Calculation and definition of \cs{large}: % \begin{macrocode} \setlength{\@tempdima}{1.2\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -825,7 +719,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{Large}: +% Calculation and definition of \cs{Large}: % \begin{macrocode} \setlength{\@tempdima}{1.44\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -834,7 +728,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{LARGE}: +% Calculation and definition of \cs{LARGE}: % \begin{macrocode} \setlength{\@tempdima}{1.728\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -843,7 +737,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{huge}: +% Calculation and definition of \cs{huge}: % \begin{macrocode} \setlength{\@tempdima}{2.074\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -852,7 +746,7 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Berechnungen für und Definition von \cs{Huge}: +% Calculation and definition of \cs{Huge}: % \begin{macrocode} \setlength{\@tempdima}{2.488\@tempdimc}% \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -861,15 +755,15 @@ {\the\@tempdima}{\the\@tempdimb}% }% % \end{macrocode} -% Wechsel zu \cs{normalsize} und Berechnung weiterer schriftabhängigen -% Abstände für diese Schriftgröße. +% Activation of \cs{normalsize} and calculation of additional font size +% depending sized. % \begin{macrocode} \normalsize %<!extend> \expandafter\ifnum\scr@v@is@ge{3.17}\@nameuse{par@updaterelative}\fi % \end{macrocode} -% Ab hier kann nun \cs{f@size} für die Schriftgröße und \cs{f@baselineskip} -% für den normalen Grundlinienabstand (ohne \cs{baselinestretch}) verwendet -% werden. Allerdings ist das keine Länge! +% After the activation of \cs{normalsize} above, we can use \cs{f@size} and +% \cs{f@baselineskip}. We cannot use \cs{baselineskip}, because this would be +% influenced by \cs{baselinestretch}. % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\footnotesep}{.7\@tempdimc}% @@ -892,7 +786,7 @@ \setlength{\@dblfpbot}{\@fptop}% \fi % \end{macrocode} -% Berechnungen für und Definition von \cs{@listi} und \cs{@listI}: +% Calculation and definition of \cs{@listi} and \cs{@listI}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus @@ -918,7 +812,7 @@ }% \let\@listI\@listi % \end{macrocode} -% Berechnungen für und Definition von \cs{@listi@small}: +% Calculation and definition of \cs{@listi@small}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus @@ -942,7 +836,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listi@footnotesize}: +% Calculation and definition of \cs{@listi@footnotesize}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus @@ -966,7 +860,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listii}: +% Calculation and definition of \cs{@listii}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}% @@ -990,7 +884,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listiii}: +% Calculation and definition of \cs{@listiii}: % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}% @@ -1013,7 +907,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listiv}: +% Calculation and definition of \cs{@listiv}: % \begin{macrocode} \@tempswafalse \begingroup @@ -1025,7 +919,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listv}: +% Calculation and definition of \cs{@listv}: % \begin{macrocode} \@tempswafalse \begingroup @@ -1037,7 +931,7 @@ \if@tempswa\noexpand\@list@extra\fi }% % \end{macrocode} -% Berechnungen für und Definition von \cs{@listvi}: +% Calculation and definition of \cs{@listvi}: % \begin{macrocode} \@tempswafalse \begingroup @@ -1050,13 +944,15 @@ }% \@listi % \end{macrocode} -% Einige Platzierungsabstände sind ebenfalls schriftgrößenabhängig. ^^A -% \changes{v2.97c}{2007/07/04}{\cs{intextsep} setzen}%^^A -% \changes{v2.97c}{2007/07/04}{\cs{dblfloatsep} setzen}%^^A -% \changes{v2.97c}{2007/07/04}{\cs{partopsep} setzen}%^^A -% \changes{v3.12}{2013/10/08}{Berechnung einiger Größen verändert}%^^A -% Ab Version~3.12 wird deren Berechnung korrigiert. Viele der Größen sind nun -% nicht mehr von der Schriftgröße, sondern dem Grundlinienabstand abhängig. +% \changes{v2.97c}{2007/07/04}{setting \cs{intextsep}} +% \changes{v2.97c}{2007/07/04}{setting \cs{dblfloatsep}} +% \changes{v2.97c}{2007/07/04}{setting \cs{partopsep}} +% \changes{v3.12}{2013/10/08}{calculation of some lengths changed} +% Calculation and setting of \len{intextsep}, \len{dblfloatsep}, +% \len{partopsep}, \len{footnotesep}, \cs{skip}\len{footins}, \len{footsep}, +% \len{textfloatsep}, \len{@fptop}, \len{@fpsep}, \len{@fpbot}, +% \len{@dblfptop}, \len{@dblfpsep}, \len{@dblfpbot}. Setting of \len{topsep} +% and \len{parsep} is not needed because part of \cs{@listi}. % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.12}\relax \setlength{\@tempdimb}{\@tempb\@tempdima}% @@ -1083,10 +979,6 @@ \setlength{\@dblfpsep}{\@fpsep}% \setlength{\@dblfpbot}{\@fptop}% \scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}% -% \end{macrocode} -% Hinweis: \cs{topsep} und \cs{parsep} werden hier nicht gesetzt, weil dies -% bereits durch das \cs{@listi} zurvor erfolgte. -% \begin{macrocode} \fi } \scr@ifundefinedorrelax{changefontsizes}{% @@ -1099,24 +991,25 @@ because I do not change it% }% } +%</body&(class|extend)> % \end{macrocode} -% \end{macro}%^^A \simple@changefontsizes -% \end{macro}%^^A \changefontsizes -% \iffalse -%</class|extend> -%<*generator> -% \fi -% \begin{macro}{\generatefontfile} -% \changes{v3.09}{2011/02/23}{Neu}%^^A -% \changes{v3.17}{2015/03/26}{\cs{par@updaterelative} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Dies ist die zentrale Anweisung des neuen Generators. Es wird eine neue -% Schriftgrößendatei ausgegeben. Der Name dieser Datei setzt sich aus dem -% ersten obligaorischen Argument gefolgt von der Schriftgröße und der -% Erweiterung \texttt{.clo} zusammen. Da Schriftgrößendateien, die mit -% "`\texttt{scrsize}"' beginnen, \KOMAScript{} vorbehalten sind wird dieses -% erste Argument verweigert. -% \begin{macrocode} +% \end{macro}^^A \simple@changefontsizes +% \end{command}^^A \changefontsizes +% +% +% \begin{command}{\generatefontfile} +% \changes{v3.09}{2011/02/23}{added} +% \changes{v3.17}{2015/03/26}{\cs{par@updaterelative} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% The main command of the generator: +% \begin{quote} +% \cs{generatefontfile}\marg{base name}\oarg{baseline skip}\marg{font size} +% \end{quote} +% It writes a font size file ``\meta{base name}\meta{font +% size}.clo''. \meta{base name} ``\texttt{scrbase}'' is protected and results +% in an error message. +% \begin{macrocode} +%<*generator&body> \newcommand*{\generatefontfile}[1]{% \Ifstr{#1}{scrsize}{% \ClassError{\KOMAClassName}{% @@ -1134,26 +1027,16 @@ \@@@generatefontfile }{% % \end{macrocode} -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Das zweite Argument ist optional. Ist es angegeben, so gibt es den -% gewünschten Zeilenabstand an. Ist es nicht angegeben, so wird der -% Zeilenabstand |\changefontsized| überlassen. Das dritte Argument ist -% schließlich die gewünschte Schriftgröße. +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}} +% Test for optional argument and use proper helper. % \begin{macrocode} \kernel@ifnextchar [{\@generatefontfile{#1}}{\@@generatefontfile{#1}}% }% } % \end{macrocode} -% \begin{macro}{\@generatefontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)}%^^A -% \begin{macro}{\@@generatefontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)}%^^A -% Diese beiden Hilfsmakros werden benötigt, um Aufrufe von |\generatefontfile| -% mit oder ohne optionales, zweites Argument zu behandeln. In jedem Fall wird -% die gewünschte Schriftgröße innerhalb einer Gruppe mit Hilfe von -% |\changefontsizes| bestimmt und dann eine Datei mit den dabei ermittelten -% Einstellungen ausgegeben. +% \begin{macro}{\@generatefontfile,\@@generatefontfile} +% \changes{v3.09}{2011/02/23}{added} +% The helper macros are needed, because we are not using \pkg{xparse} currently. % \begin{macrocode} \newcommand*{\@generatefontfile}{} \def\@generatefontfile#1[#2]#3{% @@ -1173,37 +1056,28 @@ \endgroup } % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\@@@generatorfontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)}%^^A -% Dieses Hilfsmakro wird hingegen im Fehlerfall aufgerufen, um die Ausgabe -% einer Schriftgrößendatei zu verhindern. +% \end{macro}^^A \@generatefontfile,\@@generatefontfile +% \begin{macro}{\@@@generatefontfile} +% \changes{v3.09}{2011/02/23}{added} +% Dummy used in error case to eat an optional and a mandatory argument. % \begin{macrocode} \newcommand*{\@@@generatefontfile}[2][]{} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \@@@generatefontfile % \begin{macro}{\@fontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)}%^^A -% Da später die Verwendung von |\generatefontfile| noch auf die Präambel -% beschränkt werden wird, ist es kein Problem hier |\@mainaux| für die Ausgabe -% zu missbrauchen. Das funktioniert aber nur, weil |\@mainaux| erst innerhalb -% von |\begin{document}| tatsächlich geöffnet wird. Die Dateisparsamkeit an -% dieser Stelle ist also eigentlich ein ziemlich unsauberer Hack! +% \changes{v3.09}{2011/02/23}{added} +% Because \cs{generatefontfile} is allowed in the document preamble only, when +% the main aux file is not yet opened, we can use \cs{@mainaux} as temporary +% file handle. % \begin{macrocode} \newcommand*{\@fontfile}{} \let\@fontfile\@mainaux % \end{macrocode} % \begin{macro}{\generate@fontfile} -% \changes{v3.09}{2011/02/23}{Neu (intern)}%^^A -% \changes{v3.16a}{2015/02/11}{\cs{footnotesize} korrigiert} -% Es wird nun eine Schriftgrößendatei ausgegeben. Dabei werden die aktuellen -% Einstellungen verwendet. Dabei wird die Tatsache ausgenutzt, dass diese -% Anweisung immer innerhalb einer Gruppe aufgerufen wird. Das erste Argument -% ist der Dateinamenpräfix (also so etwas wie "`\texttt{scrsize}"', das zweite -% Argument die gewünschte Schriftgröße. Es ist zu beachten, dass alle Werte in -% der Datei in pt angegeben werden, auch wenn die gewünschte Schriftgröße eine -% ganz andere Einheit besitzt. Das macht schlicht die Arbeit etwas einfacher. +% \changes{v3.09}{2011/02/23}{added} +% \changes{v3.16a}{2015/02/11}{\cs{footnotesize} fixed} +% Output of the font size file using the current font setting. It has to be +% used inside a local group! % \begin{macrocode} \newcommand*{\generate@fontfile}[2]{% \def\@ind{\space\space}% @@ -1451,53 +1325,21 @@ \immediate\closeout\@fontfile } \@onlypreamble\generatefontfile +%</generator&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \iffalse -%</generator> -%<*class|extend> -% \fi -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \generate@fontfile +% \end{macro}^^A \@fontfile +% \end{command}^^A \generatefontfile % -% Zunächst wird die gewünschte Größe, die in \cs{@ptsize} abgelegt ist, als -% Länge ermittelt. In \cs{@tempa} wird die ursprünglich gewünschte Größe -% abgelegt, damit zwischen \texttt{10pt}, \texttt{10} und \texttt{10dd} -% unterschieden werden kann. In \cs{@tempb} wird hingegen die Größe in pt -% abgelegt, damit die Standard-Dateien verwendet werden können. Dann wird -% \cs{@ptsize} schon einmal richtig eingestellt. -% \begin{macrocode} -%<*!extend> +% Now, we want to initially load the font size file into the class. First we +% have to convert the \cs{@ptsize} to a length. Note, \cs{@ptsize} can already +% have a unit or the unit is \texttt{pt}. The original value is stored in +% \cs{@tempa} to be able to use a font size files with the original +% unit. \cs{@tempb} is the size in \texttt{pt} without the \texttt{pt} to be +% able to use a standard font size file. After this, \cs{@ptsize} is reduced +% by 10\,pt and the unit is cut off. +% \begin{macrocode} +%<*class&body> \expandafter\@defaultunits\expandafter\@tempdima\@ptsize pt\relax\@nnil \edef\@tempa{\@ptsize}% \setlength{\@tempdimb}{\@tempdima}% @@ -1505,11 +1347,9 @@ \addtolength{\@tempdimb}{-10\p@}% \edef\@ptsize{\strip@pt\@tempdimb}% % \end{macrocode} -% Jetzt wird zunächst versucht, ob eine Datei -% "`\texttt{\cs{fontsizefilebase}\cs{@tempa}.clo}"' vorhanden ist, also eine, -% bei der die ursprünliche Einheit im Namen angegeben ist. Wenn das der Fall -% ist, wird diese verwendet. Wenn nicht wird das Ganze für \cs{@tempb} um die -% Einheit pt erweitert wiederholt. +% Now, let's try to input a file +% ``\file{\cs{fontsizefilebase}\cs{@tempa}.clo}''. This is a file with the +% original unit. % \begin{macrocode} \InputIfFileExists{\@fontsizefilebase\@tempa.clo}{% \ClassInfo{\KOMAClassName}{% @@ -1517,6 +1357,10 @@ \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}% \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}% }{% +% \end{macrocode} +% If this is not successful, try +% ``\file{\cs{fontsizefilebase}\cs{@tempb}pt.clo}''. +% \begin{macrocode} \InputIfFileExists{\@fontsizefilebase\@tempb pt.clo}{% \ClassInfo{\KOMAClassName}{% File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak @@ -1525,8 +1369,8 @@ \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb pt}% }{% % \end{macrocode} -% Wurde bis hier noch keine Datei geladen, wird nun versucht, die -% Größendateien der Standardklassen zu verwenden. +% If this is still not successful try a font size file of the standard +% classes. % \begin{macrocode} %<*book> \InputIfFileExists{bk\@tempb.clo}{% @@ -1543,46 +1387,43 @@ \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb}% }{% % \end{macrocode} -% Sind auch diese Dateien nicht vorhanden, so wird als Fallback eine -% Berechnung der Schriftgrößen verwendet. Es sei darauf hingewiesen, dass -% dabei auch \cs{@tempa}, \cs{@tempb} und \cs{@ptsize} neu gesetzt werden. +% If this is still not successful, use the fallback calculation. % \begin{macrocode} \edef\@tempa{% \noexpand\changefontsizes{\@tempa}% \noexpand\KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}% }\@tempa -% \end{macrocode} -% Damit sollten nun die Schriftgrößen eingestellt sein. -% \begin{macrocode} }% %<book> }% }% } -%</!extend> -%</class|extend> -%</body> +%</class&body> % \end{macrocode} % % -% \subsection{"`Alte"' Font-Auswahlbefehle} +% \subsection{Deprecated old font selection commands} % % \begin{option}{enabledeprecatedfontcommands} -% \changes{v3.20}{2015/10/14}{neue (veraltete) Option}%^^A -% Diese Option ist bereits bei ihrer Definition veraltet. Sie stellt quasi die -% nächste Eskalation für die veralteten Font-Auswahlbefehle dar. Man kann mit -% ihrer Hilfe notfalls noch einmal die alten Befehle zurück holen. Dabei wird -% in der Voreinstellung weiterhin eine Warnung ausgegeben. +% \changes{v3.20}{2015/10/14}{added} +% \changes{v3.20}{2015/10/14}{deprecated} +% This option is deprecated by specification already when it has been defined +% first, because it is used to define deprecated old font selection commands, +% that should not be used any longer. So the usage of this options always +% results in a warning. It can be used at load time only. % \begin{macro}{\scr@defineobsoletefonts} -% \changes{v3.20}{2015/10/14}{neue (veraltete) Anweisung (intern)}%^^A -% Über diese Anweisung wird eingestellt, ob die veralteten Befehle mit -% Fehlermeldung, Warnung, Info oder gar nicht gemeldet werden. -% Negative Werte bedeuten, dass die Befehle nicht definiert werden. Null steht -% für interne Fehlermeldung. Eins ist eine Warnung. Zwei ist eine Info und -% darüber hinaus werden die Befehle einfach definiert. Voreingestellt ist -% derzeit noch Null. In naher Zukunft wird das aber -1 werden. -% \begin{macrocode} -%<*option> -%<*class> +% \changes{v3.20}{2015/10/14}{added} +% \changes{v3.20}{2015/10/14}{deprecated} +% Depending on this command +% \begin{itemize} +% \item[0] an internal error message, +% \item[1] a warning, +% \item[2] an info message, +% \item[3] no message +% \end{itemize} +% is added to the usage of any deprecated font command. Values less than 0 +% result in not defining the commands anyhow. +% \begin{macrocode} +%<*class&option> \DeclareOption{enabledeprecatedfontcommands}{% \ClassWarningNoLine{\KOMAClassName}{% deprecated option `enabledeprecatedfontcommands'.\MessageBreak @@ -1601,22 +1442,18 @@ \BeforePackage{tex4ht}{% \let\scr@defineobsoletefonts\thr@@ } -%</class> -%</option> +%</class&option> % \end{macrocode} -% \end{macro}%^^A \scr@degineobsoletefonts -% \end{option}%^^A enabledeprecatedfontscommands +% \end{macro}^^A \scr@degineobsoletefonts +% \end{option}^^A enabledeprecatedfontscommands % % \begin{macro}{\scr@DeclareOldFontCommand} -% \changes{v3.12}{2013/10/31}{neu}%^^A -% \changes{v3.20}{2015/10/14}{veraltet eskaliert}%^^A -% Diese Anweisung arbeitet prinzipiell wie die \LaTeX-Kern-Anweisung -% \cs{DeclareOldFontCommand}, wirft aber zusätzlich mit Warnungen um sich, um -% dem Anwender die Verwendung der alten Befehle zu versauern. -% \begin{macrocode} -%<*body> -%<*class|extend> -%<*!extend> +% \changes{v3.12}{2013/10/31}{added} +% \changes{v3.20}{2015/10/14}{deprecated escalation} +% The command is similar to \cs{DeclareOldFontCommand} but adds a warning, +% info, error to the commands. +% \begin{macrocode} +%<*class&body> \newcommand*{\scr@DeclareOldFontCommand}[3]{% \ifnum\scr@defineobsoletefonts<\z@\else \ifnum\scr@defineobsoletefonts>\tw@ @@ -1632,13 +1469,12 @@ } % \end{macrocode} % \begin{macro}{\scr@ErrorWarningInfo} -% \changes{v3.20}{2015/10/14}{neu (intern)}%^^A -% \changes{v3.22}{2016/09/28}{message fixed}%^^A +% \changes{v3.20}{2015/10/14}{added} +% \changes{v3.22}{2016/09/28}{message fixed} % \begin{macrocode} \DeclareRobustCommand*{\scr@ErrorWarningInfo}[2]{% % \end{macrocode} -% Wenn \cs{scr@defineobsoletefonts} Null ist, wird eine Fehlermeldung -% ausgegeben. +% \cs{scr@defineobsoletefonts} = 0 means an error message: % \begin{macrocode} \ifnum \scr@defineobsoletefonts=\z@ \ClassError{\KOMAClassName}{undefined old font command `\string#1'}{% @@ -1672,17 +1508,17 @@ \else \ifcase \scr@defineobsoletefonts % \end{macrocode} -% Bei Eins gibt es eine Warnung: +% \cs{scr@defineobsoletefonts} = 0 means a warning: % \begin{macrocode} \or \expandafter\ClassWarning % \end{macrocode} -% Bei Zwei gibt es eine Info: +% \cs{scr@defineobsoletefonts} = 0 means an info message: % \begin{macrocode} \or \expandafter\ClassInfo % \end{macrocode} -% Sonst gibt es nichts: +% All other values mean no message: % \begin{macrocode} \else \expandafter\@gobbletwo @@ -1709,43 +1545,21 @@ }% \fi } -%</!extend> +%</class&body> % \end{macrocode} -% \end{macro}%^^A \scr@OldFontErrorWarningInfo -% \end{macro}%^^A \scr@DeclareOldFontCommand -% -% \begin{macro}{\rm} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\sf} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\tt} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\bf} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\it} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\sl} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\sc} -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% \begin{macro}{\sfb} -% \changes{v2.2c}{1995/05/25}{nicht mehr mathematisch}%^^A -% \changes{v2.3a}{1995/07/08}{keine Unterscheidung mehr für den -% Kompatibilitätsmodus}%^^A -% \changes{v3.12}{2013/10/13}{Anweisung ist veraltet}%^^A -% Um die Umstellung von \LaTeX\ auf \LaTeXe\ zu erleichtern, gibt es -% die alten Font-Auswahlbefehle \cs{rm}, \cs{sf}, \cs{tt}, \cs{bf}, -% \cs{it}, \cs{sl} und \cs{sc} auch in den Klassen. Es ist zu -% beachten, dass diese Befehle hier nach dem alten -% Fontauswahlverfahren arbeiten. Es werden also immer alle Parameter -% zugleich geändert. Somit ist zu empfehlen, dass statt dieser Befehle -% zukünftig in der Regel die neuen \cs{text\dots}-Befehle verwendet -% werden. +% \end{macro}^^A \scr@OldFontErrorWarningInfo +% \end{macro}^^A \scr@DeclareOldFontCommand % -% Der aus der \textsf{Script 2.0}-Familie bekannte Befehl \cs{sfb} ist -% hier ebenfalls definiert. -% \begin{macrocode} -%<*!extend> +% \begin{command}{\rm,\sf,\tt,\bf,\it,\sl,\sc} +% \changes{v3.12}{2013/10/13}{deprecated} +% \begin{command}{\sfb} +% \changes{v2.2c}{1995/05/25}{not in math mode} +% \changes{v2.3a}{1995/07/08}{independent from compatibility mode} +% \changes{v3.12}{2013/10/13}{deprecated} +% The old font selection commands from \LaTeX~2.09. They are not supported any +% more. The same for the \pkg*{Script 2.0} command \cs{sfb}. +% \begin{macrocode} +%<*class&body> \scr@DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} \scr@DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} \scr@DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} @@ -1755,56 +1569,36 @@ \scr@DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} \scr@DeclareOldFontCommand{\sfb}{\normalfont\sffamily\bfseries}{% \@nomath\sfb} -%</!extend> +%</class&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\cal} -% \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}%^^A -% Der Befehl ist in \LaTeX{} nicht mehr definiert. Deshalb wird er nun -% neu und gleich robust deklariert. Dafür fällt \cs{pcal} weg. -% \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}%^^A -% \begin{macro}{\mit} -% \changes{v2.3}{1995/06/25}{hier statt im \LaTeX-Kern}%^^A -% Der Befehl ist in \LaTeX{} nicht mehr definiert. Deshalb wird er nun -% neu und gleich robust deklariert. Dafür fällt \cs{pmit} weg. -% \changes{v2.3g}{1996/01/14}{überflüssige Klammerpaare entfernt}%^^A +% \end{command} +% \end{command} % -% Die beiden Befehle \cs{cal} und \cs{mit} war bis zur \LaTeX-Version -% vom 1.12.1994 patch level 3 noch im Kernal definiert. Jetzt sind die -% beiden den Klassen überlassen. Hier ist die Definition aus den -% Standard-classes übernommen. +% \begin{command}{\cal,\mit} +% \changes{v2.3}{1995/06/25}{here instead in the \LaTeX{} kernel} +% \changes{v2.3g}{1996/01/14}{not needed braces removed} % \begin{macrocode} -%<*!extend> +%<*class&body> \DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} -%</!extend> +%</class&body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \iffalse -%</class|extend> -% \fi % -% \subsection{Setzen der Schrift eines Elements} +% \subsection{Font elements} % -% \iffalse -%<*scrkbase> -% \fi % -% \begin{macro}{\IfExistskomafont} -% \changes{v3.15}{2014/11/21}{neue Anweisung}%^^A -% Führe das zweite Argument aus, wenn ein Fontelement existiert, sonst das -% dritte. -% \begin{macrocode} +% \begin{command}{\IfExistskomafont} +% \changes{v3.15}{2014/11/21}{added} +% Command +% \begin{quote} +% \cs{IfExistskomafont}\marg{font element}\marg{then code}\marg{else code} +% \end{quote} +% executes \meta{then code} if the font element \meta{font element} exists +% either as a real font element or an alias. Otherwise \meta{else code} is used. +% \begin{macrocode} +%<*scrkbase&body> \newcommand*{\IfExistskomafont}[1]{% \scr@ifundefinedorrelax{scr@fnt@#1}{% \scr@ifundefinedorrelax{scr@fnt@instead@#1}{\@secondoftwo}{\@firstoftwo}% @@ -1813,12 +1607,16 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \IfExistskomafont % -% \begin{macro}{\IfIsAliaskomafont} -% \changes{v3.25}{2017/12/08}{neue Anweisung}%^^A -% Führe das zweite Argument aus, wenn ein Fontelement ein Alias is, sonst das -% dritte. +% \begin{command}{\IfIsAliaskomafont} +% \changes{v3.25}{2017/12/08}{added} +% Command +% \begin{quote} +% \cs{IfIsAliaskomafont}\marg{font element}\marg{then code}\marg{else code} +% \end{quote} +% executes \meta{then code} if the font element \meta{font element} is an alias. +% Otherwise \meta{else code} is used. % \begin{macrocode} \newcommand*{\IfIsAliaskomafont}[1]{% \scr@ifundefinedorrelax{scr@fnt@#1}{% @@ -1828,13 +1626,19 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \IfIsAliaskomafont % -% \begin{macro}{\setkomafont} -% \changes{v2.8o}{2001/09/14}{neu}%^^A -% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} -% Mit Hilfe dieses Makros kann die Schriftart von -% \KOMAScript-Elementen gesetzt werden. +% \begin{command}{\setkomafont} +% \changes{v2.8o}{2001/09/14}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% Command +% \begin{quote} +% \cs{setkomafont}\marg{element}\marg{font settings} +% \end{quote} +% sets the \meta{font settings} of font element \meta{element}. Setting of an +% unknown font element results in an error. Setting of an alias font element +% results in an info an the setting of the real element. Note: \meta{font +% settings} should be only font selection commands. % \begin{macrocode} \newcommand*{\setkomafont}[2]{% \@ifundefined{scr@fnt@#1}{% @@ -1866,13 +1670,19 @@ }% } % \end{macrocode} -% \end{macro} -% \begin{macro}{\addtokomafont} -% \changes{v2.8p}{2001/09/22}{neu}%^^A -% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} -% Dieses Makro funktioniert fast wie obiges, allerdings fügt es der -% vorhandenen Definition etwas an. Dazu wird \cs{l@addto@macro} aus -% \textsf{scrkbase} verwendet. +% \end{command}^^A \setkomafont +% +% \begin{command}{\addtokomafont} +% \changes{v2.8p}{2001/09/22}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% Command +% \begin{quote} +% \cs{addtokomafont}\marg{element}\marg{font settings} +% \end{quote} +% adds the \meta{font settings} to the settings of font element +% \meta{element}. Setting of an unknown font element results in an +% error. Setting of an alias font element results in an info an the setting of +% the real element. % \begin{macrocode} \newcommand*{\addtokomafont}[2]{% \@ifundefined{scr@fnt@#1}{% @@ -1906,14 +1716,17 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \addtokomafont % -% \begin{macro}{\usekomafont} -% \changes{v2.8p}{2001/09/28}{neu}%^^A -% \changes{v2.96}{2006/08/18}{Benutzung eines Fontalias korrigiert}%^^A -% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} -% Mit Hilfe dieses Makros kann auf die Schriftart von -% \KOMAScript-Elementen umgeschaltet werden. +% \begin{command}{\usekomafont} +% \changes{v2.8p}{2001/09/28}{added} +% \changes{v2.96}{2006/08/18}{alias usage fixed} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% Command +% \begin{quote} +% \cs{usekomafont}\marg{element} +% \end{quote} +% activates the font settings of the font \meta{element}. % \begin{macrocode} \newcommand*{\usekomafont}[1]{% \@ifundefined{scr@fnt@#1}{% @@ -1943,38 +1756,32 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command}^^A \usekomafont % -% \selectlanguage{english} -% \begin{macro}{\usesizeofkomafont} -% \changes{v3.12}{2013/03/30}{new} -% \changes{v3.17}{2015/04/03}{new more robust implementation} -% \changes{v3.24}{2017/05/06}{new more robust implementation} -% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel -% change} -% \begin{macro}{\usefamilyofkomafont} +% +% \begin{command}{\usesizeofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\useseriesofkomafont} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel change} +% \begin{command}{\usefamilyofkomafont,\useseriesofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\useshapeofkomafont} +% \begin{command}{\useshapeofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.16a}{2015/02/20}{fix of macro name} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\useencodingofkomafont} +% \begin{command}{\useencodingofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \begin{macro}{\usefontofkomafont} +% \begin{command}{\usefontofkomafont} % \changes{v3.12}{2013/03/30}{new} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel -% change} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel change} % Sometimes not the whole font but only single elements of a font is % wanted. % \begin{macrocode} @@ -2023,8 +1830,7 @@ % \changes{v3.12}{2013/03/30}{new (internal)} % \changes{v3.17}{2015/04/03}{new more robust implementation} % \changes{v3.24}{2017/05/06}{new more robust implementation} -% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel -% change} +% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel change} % Helper macro for all commands above despite the first and the last one. % \begin{macrocode} \newcommand*{\use@ofkomafont}[2]{% @@ -2042,25 +1848,13 @@ \selectfont } % \end{macrocode} -% \selectlanguage{ngerman} % \begin{macro}{\g@scr@usefont} -% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A -% \changes{v3.24}{2017/05/06}{entfernt}%^^A -% \end{macro}%^^A \g@scr@usefont -% \begin{macro}{\g@scr@f@encoding} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A -% \begin{macro}{\g@scr@f@family} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A -% \begin{macro}{\g@scr@f@series} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A -% \begin{macro}{\g@scr@f@shape} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A -% \begin{macro}{\g@scr@f@size} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A -% \begin{macro}{\g@scr@f@baselineskip} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A -% \begin{macro}{\g@scr@f@linespread} -% \changes{v3.24}{2017/05/06}{neu (intern)}%^^A +% \changes{v3.17}{2015/04/03}{added} +% \changes{v3.24}{2017/05/06}{removed} +% \end{macro}^^A \g@scr@usefont +% \begin{macro}{\g@scr@f@encoding,\g@scr@f@family,\g@scr@f@series,\g@scr@f@shape, +% \g@scr@f@size,\g@scr@f@baselineskip,\g@scr@f@linespread} +% \changes{v3.24}{2017/05/06}{added} % \begin{macrocode} \newcommand*{\g@scr@f@encoding}{}\let\g@scr@f@encoding\f@encoding \newcommand*{\g@scr@f@family}{}\let\g@scr@f@family\f@family @@ -2070,55 +1864,44 @@ \newcommand*{\g@scr@f@baselineskip}{}\let\g@scr@f@baselineskip\f@baselineskip \newcommand*{\g@scr@f@linespread}{}\let\g@scr@f@linespread\f@linespread % \end{macrocode} -% \end{macro}%^^A \g@scr@f@linespread -% \end{macro}%^^A \g@scr@f@family -% \end{macro}%^^A \g@scr@f@series -% \end{macro}%^^A \g@scr@f@shape -% \end{macro}%^^A \g@scr@f@size -% \end{macro}%^^A \g@scr@f@baselineskip -% \end{macro}%^^A \g@scr@f@linespread +% \end{macro}^^A \g@scr@f@encoding … \g@scr@f@linespread % \begin{macro}{\scr@komafontrelaxlist} -% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A -% \changes{v3.24}{2017/05/05}{\cs{uppercase} und \cs{lowercase} entfernt}%^^A -% \changes{v3.24}{2017/05/05}{\cs{MakeUppercase} und \cs{MakeLowercase} nach -% \cs{scr@komafontonearglist} verschoben}%^^A -% Hilfsmakro mit einer |\do|-Liste aller Makros, die in obigen Font-Makros vor -% der Anwendung des Fonts |\relax| verwenden sollen. +% \changes{v3.17}{2015/04/03}{added} +% \changes{v3.24}{2017/05/05}{\cs{uppercase} and \cs{lowercase} removed} +% \changes{v3.24}{2017/05/05}{\cs{MakeUppercase} and \cs{MakeLowercase} moved to +% \cs{scr@komafontonearglist}} +% A \cs{do} list of all macros, that should become \cs{relax} in the previous +% commands. % \begin{macrocode} \newcommand*{\scr@komafontrelaxlist}{% \do\normalcolor } % \end{macrocode} -% \end{macro}%^^A \scr@komafontrelaxlist +% \end{macro}^^A \scr@komafontrelaxlist % \begin{macro}{\scr@komafontgobblelist} -% \changes{v3.19}{2015/08/20}{neu (intern)}%^^A -% Wie \cs{scr@komafontrelaxlist} nur dass |\@gobble| statt |\relax| verwendet -% wird. +% \changes{v3.19}{2015/08/20}{added} +% Like \cs{scr@komafontrelaxlist} but with \cs{@gobble} instead of \cs{relax}. % \begin{macrocode} \newcommand*{\scr@komafontgobblelist}{% \do\color } % \end{macrocode} -% \end{macro}%^^A \scr@komafontgobblelist +% \end{macro}^^A \scr@komafontgobblelist % \begin{macro}{\scr@komafontonearglist} -% \changes{v3.24}{2017/05/05}{neu (intern)}%^^A -% Hilfsmakro mit einer |\do|-Liste aller Makros, die in obige Font-Makros -% vor der Anwendung des Fonts |\@firstofone| verwenden sollen. +% \changes{v3.24}{2017/05/05}{added} +% Like \cs{scr@komafontgobblelist} but with \cs{@firstofone} instead of +% \cs{@gobble}. % \begin{macrocode} \newcommand*{\scr@komafontonearglist}{% \do\MakeUppercase \do\MakeLowercase } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@komafontonearglist % \begin{macro}{\scr@prepareforkomafont} -% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A -% \changes{v3.19}{2015/08/20}{abarbeiten von \cs{scr@komafontgobblelist}}%^^A -% \changes{v3.24}{2017/05/05}{abarbeiten von \cs{scr@komafontonearglist}}%^^A -% Hilfsmakro, das die Vorbereitungen für die obigen Font-Makros trifft. In der -% Voreinstellung ist das lediglich die Anwendung der |\do|-Liste, so dass die -% dort angegebenen Makros alle |\relax| bzw. |\@gobble| werden. Da die -% Anweisung dazu |\do| umdefiniert, sollte die Anweisung immer in einer Gruppe -% eingeschlossen werden. +% \changes{v3.17}{2015/04/03}{added} +% \changes{v3.19}{2015/08/20}{using \cs{scr@komafontgobblelist}} +% \changes{v3.24}{2017/05/05}{using \cs{scr@komafontonearglist}} +% Process all the \cs{do} lists. Note: Should be encapsulated into a local group. % \begin{macrocode} \newcommand*{\scr@prepareforkomafont}{% \long\def\do##1{\let##1\relax}\scr@komafontrelaxlist @@ -2126,71 +1909,59 @@ \long\def\do##1{\let##1\@firstofone}\scr@komafontonearglist } % \end{macrocode} -% \end{macro}%^^A \scr@prepareforkomafont -% \begin{macro}{\addtokomafontrelaxlist} -% \changes{v3.17}{2015/04/03}{Neu} -% Diese Anweisung erlaubt es genau ein Makro der obigen |\do|-Liste -% hinzuzufügen. +% \end{macro}^^A \scr@prepareforkomafont +% \begin{command}{\addtokomafontrelaxlist} +% \changes{v3.17}{2015/04/03}{added} +% Adds exactly one macro/command to \cs{scr@komafontrelaxlist}. % \begin{macrocode} \newcommand*{\addtokomafontrelaxlist}[1]{% \l@addto@macro\scr@komafontrelaxlist{\do#1}% } % \end{macrocode} -% \end{macro}%^^A \addtokomafontrelaxlist -% \begin{macro}{\addtokomafontgobblelist} -% \changes{v3.19}{2015/08/20}{Neu} -% Diese Anweisung erlaubt es genau ein Makro der obigen |\do|-Liste -% hinzuzufügen. +% \end{command}^^A \addtokomafontrelaxlist +% \begin{command}{\addtokomafontgobblelist} +% \changes{v3.19}{2015/08/20}{added} +% Adds exactly one macro/command to \cs{scr@komafontgobblelist}. % \begin{macrocode} \newcommand*{\addtokomafontgobblelist}[1]{% \l@addto@macro\scr@komafontgobblelist{\do#1}% } % \end{macrocode} -% \end{macro}%^^A \addtokomafontgobblelist -% \begin{macro}{\addtokomafontonearglist} -% \changes{v3.24}{2017/05/05}{Neu} -% Diese Anweisung erlaubt es genau ein Makro der obigen |\do|-Liste -% hinzuzufügen +% \end{command}^^A \addtokomafontgobblelist +% \begin{command}{\addtokomafontonearglist} +% \changes{v3.24}{2017/05/05}{added} +% Adds exactly one macro/command to \cs{scr@komafontonearglist}. % \begin{macrocode} \newcommand*{\addtokomafontonearglist}[1]{% \l@addto@macro\scr@komafontonearglist{\do#1}% } % \end{macrocode} -% \end{macro}%^^A \addtokonafontonearglist -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \addtokonafontonearglist +% \end{macro}^^A \use@ofkomafont +% \end{command}^^A \usefontofkomafont +% \end{command}^^A \useencodingofkomafont +% \end{command}^^A \useshapeofkomafont +% \end{command}^^A \usefamilyofkomafont,\useseriesofkomafont +% \end{command}^^A \usesizeofkomafont % -% Um dann ein Element zu definieren, definiert man zunächst ein -% Makro, das die Schriftart enthält. Dann definiert man -% \cs{scr@fnt@\emph{Elementname}}. Wobei der Inhalt dieses Makros das -% Makro ist, das die Schriftart speichert. Damit ist das Element -% definiert. Soll ein Element durch ein anderes Element gesteuert -% werden, so definiert man stattdessen -% \cs{scr@fnt@instead@\emph{Elementname}}, wobei der Inhalt des Makros -% dann der Name jenes anderen Elements ist. Soll beim Ändern der -% Schrift eines Elements eine zusätzliche Warnung ausgegeben werden, -% so kann der Text dieser Warnung in -% \cs{scr@fnt@wrn@\emph{Elementname}} abgelegt werden. Die Warnung wird dann -% als Befehl mit einem Argument definiert. Also alles -% eigentlich ganz einfach. Damit es noch einfacher wird, ein paar -% Hilfsmakros: % -% \begin{macro}{\newkomafont} -% \changes{v2.95}{2004/07/21}{neu}%^^A -% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben} -% \changes{v3.11c}{2013/02/18}{die Warnung hat ein Argument}%^^A -% \changes{v3.25}{2017/12/08}{Warnung, wenn bereits als Alias definiert}%^^A -% Mit \cs{newkomafont} wird ein neues Element definiert. Das erste optionale -% Argument ist dabei die optionale Warnung. Ist dieses nicht gesetzt oder -% \cs{relax}, so wird keine Warnung definiert. Das erste obligatorische -% Argument ist der Name des Elements. Als letztes folgt die Voreinstellung für -% die Schrift dieses Elements. Als Fontmakro wird übrigens -% \cs{@\emph{Elementname}font} definiert. +% \begin{command}{\newkomafont} +% \changes{v2.95}{2004/07/21}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% \changes{v3.11c}{2013/02/18}{the warning needs an argument} +% \changes{v3.25}{2017/12/08}{warn if already exists as an alias} +% Command +% \begin{quote} +% \cs{newkomafont}\oarg{warning}\marg{element}\marg{font settings} +% \end{quote} +% defines a new font \meta{element} with the given \meta{font settings} as +% default. The optional \meta{warning} is shown whenever the font setting of +% the element is changed, but not when the element is used. Internally a macro +% \cs{@\meta{element}font} is defined with the \meta{font settings}. An +% additional macro \cs{scr@fnt@\meta{element}} is defined to just execute +% \cs{@meta{element}font}. But you also can define \cs{scr@fnt@\meta{element}} +% to use another internal font storage macro. So several elements can share +% the same font settings. % \begin{macrocode} \newcommand*{\newkomafont}[3][\relax]{% \scr@ifundefinedorrelax{scr@fnt@instead@#2}{}{% @@ -2211,13 +1982,17 @@ \fi } % \end{macrocode} -% \begin{macro}{\aliaskomafont} -% \changes{v2.95}{2004/07/21}{neu}%^^A -% \changes{v3.05a}{2010/03/24}{nach \textsf{scrkbase} verschoben}%^^A -% \changes{v3.25}{2017/12/08}{Warnung, wenn bereits als Font definiert}%^^A -% Mit \cs{aliaskomafont} wird hingegen einfach ein Alias definiert. Dieser -% Befehl kennt zwei Argumente: der Name des Elements und der Names des -% Elements, das stattdessen verwendet werden soll. +% \begin{command}{\aliaskomafont} +% \changes{v2.95}{2004/07/21}{added} +% \changes{v3.05a}{2010/03/24}{moved to \pkg*{scrkbase}} +% \changes{v3.25}{2017/12/08}{warning if element is already defined} +% Another possibility to share fonts is to define an +% alias by defining \cs{scr@fnt@instead@\meta{element}} with the name of +% another element. This can be done using +% \begin{quote} +% \cs{aliaskomafont}\marg{alias}\marg{element} +% \end{quote} +% It defines \marg{alias} to be an alias of \meta{element}. % \begin{macrocode} \newcommand*{\aliaskomafont}[2]{% \scr@ifundefinedorrelax{scr@fnt@#1}{}{% @@ -2234,24 +2009,20 @@ #2% }% } +%</scrkbase&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \iffalse -%</scrkbase> -% \fi -% -% \iffalse -%</body> -% \fi +% \end{command} +% \end{command} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-fonts.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx b/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx index a13091ba47..4866277af2 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-footnotes.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-footnotes.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-footnotes.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-footnotes.dtx 3570 2021-02-24 10:08:31Z kohm $ +%%% From File: $Id: scrkernel-footnotes.dtx 3711 2022-02-16 09:57:02Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-02-24 11:08:31 +0100 (Wed, 24 Feb 2021) $ + \filedate$Date: 2022-02-16 10:57:02 +0100 (Mi, 16. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1962 $ + \filerevision$Revision: 3711 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-footnotes.dtx}% @@ -73,60 +36,66 @@ (footnotes)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-footnotes.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-footnotes.dtx} \end{document} %</dtx> -% \fi -% -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2002/07/01}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} -% -% \section{Fußnoten} -% -% Die Fußnotengestaltung in \KOMAScript{} basiert auf einem Hinweis -% aus dem dokumentierten \LaTeX-Kern. -% -% \StopEventually{\PrintIndex\PrintChanges} +% \fi^^A meta-comment +% +% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/16}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/16}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-footnotes.dtx} +% \title{Index Code of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The code for footnotes with \KOMAScript{} classes in +% \file{scrkernel-footnotes.dtx} is somehow different from the code of the +% standard classes. It provides several options and other configuration +% possibilities. The initial change bases on a comment in the documented +% \LaTeX{} kernel, \file{source2e.pdf}. But this was long ago and almost +% everything has been changed meanwhile. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % -% \iffalse -%<*option> -% \fi +% \section{Implementation of Footnotes} % -% \subsection{Option} +% \subsection{Options} % % \begin{option}{footnotes} -% \changes{v2.98c}{2008/02/01}{Neue Option für Mehrfachfußnoten}%^^A -% \changes{v3.10}{2011/09/13}{\cs{let} durch \cs{def} ersetzt, damit die -% Option auch als Klassenoption funktioniert}%^^A -% \changes{v3.12}{2013/03/05}{Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.17}{2015/03/11}{interne Wert-Speicherung}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Mehrfachfußnoten gibt es dann, wenn zu einer Textstelle mehrere Fußnoten -% hintereinander gesetzt werden. Normalerweise werden die einfach ohne -% Abstand hintereinander geklatscht. Man kann dann aber die beiden Fußnoten -% 1 und 2 beispielsweise nicht von der Fußnote 12 unterscheiden. Besser ist -% es, wenn mehrere Fußnoten automatisch durch ein Trennzeichen getrennt -% werden. Die Funktion ist \textsf{footmisc} entnommen und sollte inklusive -% Ein- und Ausschalten auch zusammen mit diesem Paket funktionieren. +% \changes{v2.98c}{2008/02/01}{new value \opt{multiple}} +% \changes{v3.10}{2011/09/13}{\cs{let} replaced by \cs{def} fixes the using as +% a class option} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}} +% \changes{v3.17}{2015/03/11}{internal value storage} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Multiple footnotes mean, that there are more than one footnote at the same +% place in the text. Usually this would result in a sequence of numbers (or +% other footnote signes) not seperated anyhow. So you would not be able, e.g., +% if 12 means footnote number 1 and footnote number 2 or footnote number 12. A +% better solution is to add automatic separation characters between such +% footnote marks. The functionality has been made similar and compatible with +% \pkg{footmisc} version 5.x. So it should be compatible with that +% package. Even switching on and off should also work in case of using the +% package. % \begin{macrocode} +%<*option> \KOMA@key{footnotes}{% \ifx\@footnotemark\scr@saved@footnotemark \else @@ -188,18 +157,16 @@ } % \end{macrocode} % \begin{macro}{\scr@footmisc@options} -% \changes{v2.98c}{2008/02/14}{Neuer (intern)}%^^A -% Für etwas mehr Kompatibilität mit \textsf{footmisc}, wird die aktuelle -% Einstellung der \texttt{multifootnotes} an das Paket weitergereicht. +% \changes{v2.98c}{2008/02/14}{added} +% For better compatibility \opt{footnotes=multiple} will be passed as +% \opt{multiple} to package \pkg{footmisc} using a \KOMAScript-internal macro. % \begin{macrocode} \newcommand*{\scr@footmisc@options}{} \PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc} % \end{macrocode} % \end{macro} -% \begin{macro}{\scr@saved@footnotemark} -% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A -% \begin{macro}{\scr@footnotemark} -% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A +% \begin{macro}{\scr@saved@footnotemark,\scr@footnotemark} +% \changes{v2.98c}{2008/02/01}{added} % \begin{macrocode} \newcommand*{\scr@saved@footnotemark}{% \leavevmode @@ -216,35 +183,27 @@ \csname FN@mf@prepare\endcsname \ifhmode\spacefactor\@x@sf\fi \relax} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{option} -% -% -% \iffalse %</option> -%<*body> -% \fi -% -% \subsection{Definitionen für Fußnoten} -% -% \begin{macro}{\footnoterule} -% \changes{v2.3a}{1995/07/08}{\cs{@width} verwendet} -% \changes{v2.8q}{2002/02/06}{\cs{raggedbottom}-Verbesserung -% eingefügt} -% \changes{v2.95}{2002/01/07}{\texttt{.05fil} statt -% \texttt{.005fil}} -% \changes{v3.06}{2010/04/03}{die neuen Längenmakros werden genutzt}%^^A -% \changes{v3.07}{2010/09/14}{neues Font-Element \texttt{footnoterule} wird -% verwendet} -% Im Fall, dass \cs{raggedbottom} verwendet wird, die Fußnotenlinie -% nach unten gedrückt. Dies funktioniert nur dann nicht, wenn -% Abbildungen oder Tabellen mit der Option "`\texttt{b}"' an das Ende -% der Seite gesetzt werden. \cs{raggedbottom} wird daran erkannt, dass -% \cs{@textbottom} nicht \cs{relax} ist. Das kann natürlich auch -% einmal schief gehen, ist dann aber auch nicht ganz so tragisch. +% \end{macrocode} +% \end{macro}^^A \scr@saved@footnotemark,\scr@footnotemark +% \end{option}^^A footnotes +% +% +% \subsection{Commands and macros for footnotes} +% +% \begin{command}{\footnoterule} +% \changes{v2.3a}{1995/07/08}{using \cs{@width}} +% \changes{v2.8q}{2002/02/06}{\cs{raggedbottom} changed} +% \changes{v2.95}{2002/01/07}{\texttt{.05fil} instead of \texttt{.005fil}} +% \changes{v3.06}{2010/04/03}{using new length macros} +% \changes{v3.07}{2010/09/14}{using new font element \fnt{footnoterule}} +% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}} +% In case of \cs{raggedbottom} the footnote rule is moved downwards. Note, +% that this does not work, if there is a bottom placed float. The indication +% of using \cs{raggedbottom} is, \cs{@textbottom} is not \cs{relax}. This can +% fail, but nevertheless is an improvement. % \begin{macrocode} +%<*body> %<*class> \renewcommand*\footnoterule{% \normalsize\ftn@rule@test@values @@ -255,10 +214,8 @@ \kern 2.6\p@} % \end{macrocode} % \begin{macro}{\ftn@rule@test@values} -% \changes{v3.06}{2010/04/03}{neu (intern)}%^^A -% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A -% Test, ob die Einstellungen für die Längen der Fußnotenlinie halbwegs -% vernünftig sind. +% \changes{v3.06}{2010/04/03}{added} +% Plausibility test for the lengths of the rule. % \begin{macrocode} \newcommand*{\ftn@rule@test@values}{% \ifdim\ftn@rule@height <\z@ @@ -293,39 +250,39 @@ \fi } % \end{macrocode} -% \end{macro} -% \begin{KOMAfont}{footnoterule} -% \changes{v3.07}{2010/09/14}{\texttt{footnoterule} ist ein eneues -% Fontelement} -% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A -% Damit man die Farbe der Fußnotentrennlinie ändern kann, gibt es nun ein -% eigenes Element dafür. Die Voreinstellung ist jedoch leer. +% \end{macro}^^A \ftn@rule@test@values +% \begin{fontelement}{footnoterule} +% \changes{v3.07}{2010/09/14}{added} +% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}} +% To be able to change the color of the rule, we are using a font element. The +% default is empty. % \begin{macrocode} \newkomafont{footnoterule}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % \begin{macro}{\ftn@rule@width} -% \changes{v3.06}{2010/04/03}{neu (intern)}%^^A -% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A -% Die Länge der Fußnotentrennlinie. +% \changes{v3.06}{2010/04/03}{added} +% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}} +% The length of the footnote rule. % \begin{macrocode} \newcommand*{\ftn@rule@width}{.4\columnwidth} % \end{macrocode} % \end{macro} % \begin{macro}{\ftn@rule@height} -% \changes{v3.06}{2010/04/03}{neu (intern)}%^^A -% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A -% Die Höhe der Fußnotentrennlinie (die Tiefe ist immer 0). +% \changes{v3.06}{2010/04/03}{added} +% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}} +% The height of the footnote rule (depth is always 0). % \begin{macrocode} \newcommand*{\ftn@rule@height}{.4\p@} % \end{macrocode} % \end{macro} -% \begin{macro}{\setfootnoterule} -% \changes{v3.06}{2010/04/03}{neue Anweisung}%^^A -% \changes{v3.19}{2015/08/24}{nicht in \textsf{scrextend}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} ersetzt durch \cs{IfArgIsEmpty}}%^^A -% Das erste, optionale Argument ist die Höhe der Linie, das zweite nicht -% optionale die Länge. +% \begin{command}{\setfootnoterule} +% \changes{v3.06}{2010/04/03}{added} +% \changes{v3.19}{2015/08/24}{not with \pkg*{scrextend}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} replaced by \cs{IfArgIsEmpty}} +% The first optional argument (\texttt{\#1}) it the height of the line. If it +% is missing, the height is not changed. The first mandatory argument +% (\texttt{\#2}) is the length of the line. % \begin{macrocode} \newcommand*{\setfootnoterule}[2][]{% \IfArgIsEmpty{#1}{}{% @@ -338,40 +295,44 @@ } %</class> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \setfootnoterule +% \end{command}^^A \footnoterule % -% \begin{Counter}{footnote} -% Der Fußnotenzähler wird mit \cs{chapter} zurückgesetzt, die Fußnoten -% werden also kapitelweise nummeriert. +% \begin{counter}{footnote} +% The footnote counter is reset with every \cs{chapter}. So the numbering is +% per chapter. % \begin{macrocode} %<book|report>\@addtoreset{footnote}{chapter} % \end{macrocode} -% \end{Counter} -% -% \begin{macro}{\deffootnote} -% \changes{v2.4l}{1997/02/06}{neu}%^^A -% \changes{v2.95}{2002/07/09}{Absatzeinzug korrigiert}%^^A -% \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempa} ersetzt} -% \changes{v2.9q}{2004/01/31}{\cs{ftn@font} erlaubt aus Gr"unden der -% Kompatibilität mit dem \textsl{footnote} Paket kein Argument mehr}%^^A -% \changes{v3.22}{2017/01/03}{Neuimplementierung}%^^A -% \changes{v3.23}{2017/03/27}{neues \cs{raggedfootnote} eingefügt}%^^A -% Dieses Makro zur Definition der Gestalt von Fußnoten erlaubt einen -% optionalen und erwartet drei weitere Parameter. Der erste, optionale -% gibt den Einzug der ersten Zeile des Fußnotentextes vom linken Rand -% an. Die Fußnotenmarkierungen werden rechtsbündig in diesen Einzug -% gesetzt. Der zweite, also erste nicht optionale Parameter gibt den -% Einzug jeder weiteren Zeile des Fußnotentextes vom linken Rand -% an. Fehlt der optionale Parameter so ist er gleich diesem. Der -% dritte, also zweite nicht optionale Parameter gibt den zusätzlichen -% Einzug jedes weiteren Absatzes einer Fußnote an. Der letzte -% Parameter schließlich bestimmt die Ausgabe der Fußnotenmarkierung in -% der Fußnote. Diese wird zusätzlich in eine \cs{hbox} gesetzt. +% \end{counter} +% +% \begin{command}{\deffootnote} +% \changes{v2.4l}{1997/02/06}{added} +% \changes{v2.95}{2002/07/09}{paragraph indent fixed} +% \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempa} replaced} +% \changes{v2.9q}{2004/01/31}{\cs{ftn@font} does not support an argument +% because of compatibility with \pkg{footnote}} +% \changes{v3.22}{2017/01/03}{completely new implementation} +% \changes{v3.23}{2017/03/27}{using \cs{raggedfootnote}} +% \changes{v3.36}{2022/02/16}{hooks added} +% This command defines the formatting of footnotes. The arguments are: +% \begin{description} +% \item[\oarg{first indent}:] the indent of the text of the first line of the +% footnote, +% \item[\marg{indent}:] the indent from the second line of the footnote, +% \item[\marg{paragraph indent}:] the indent of the first line of a paragraph +% if the footnote has more than one paragraph. +% \item[\marg{mark code}:] the code of the footnote mark in the footnote (for +% the mark in the text see \cs{deffootnotemark}). +% \end{description} +% The \meta{mark code} is additionally encapsulated in a \cs{hbox} of +% with \meta{first indent}. If \meta{first indent} is not given it is set to +% \meta{indent}. % \begin{macrocode} \newcommand\deffootnote[4][]{% \expandafter\ifnum\scr@v@is@ge{3.22}\relax \long\def\@makefntext##1{% + \ExecuteDoHook{footnote/text/begin}% \raggedfootnote \leftskip #2 \l@addto@macro\@trivlist{% @@ -382,6 +343,7 @@ \hskip \dimexpr #1-#2\relax }% \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% + \ExecuteDoHook{footnote/text/end}% }% \else %<class> \ClassInfo{\KOMAClassName}{% @@ -414,92 +376,75 @@ \fi % \end{macrocode} % \begin{macro}{\@@makefnmark} -% \changes{v2.4l}{1997/02/06}{neu}%^^A -% Makro zum Setzen der Fußnotenmarkierung in der Fußnote: +% \changes{v2.4l}{1997/02/06}{added} +% Used to set the mark at the beginning of the footnote. Here we add the font +% element. % \begin{macrocode} \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% % \end{macrocode} -% \end{macro} +% \end{macro}^^A \@@makefnmark % \begin{macrocode} } % \end{macrocode} -% \end{macro}%^^A \@@makefnmark +% \end{command}^^A \deffootnote % % \begin{macro}{\raggedfootnote} -% \changes{v3.23}{2017/03/27}{neue Anweisung} -% Auf Wunsch von Falk kann man die Ausrichtrung des Fußnotentextes damit -% beeinflussen. Die Voreinstellung ist leer also keine Änderung der -% Ausrichtung. +% \changes{v3.23}{2017/03/27}{added} +% Falk requested a new feature: Being able to change the +% alignment/justification of the footnote text. The default is to change +% nothing. % \begin{macrocode} \newcommand*{\raggedfootnote}{} % \end{macrocode} -% \end{macro}%^^A \raggedfootnote -% -% \begin{macro}{\ftn@font} -% \changes{v2.8q}{2001/11/16}{neu (intern)}%^^A -% \begin{macro}{\scr@fnt@footnote} -% \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnote}} -% \begin{macro}{\ftnm@font} -% \changes{v2.8q}{2001/11/16}{neu (intern)}%^^A -% \begin{macro}{\scr@fnt@footnotenumber} -% \changes{v2.8q}{2001/11/16}{neues Element -% \texttt{footnotenumber}} -% \begin{macro}{\scr@fnt@footnotenlabel} -% \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnotelabel}} -% \begin{macro}{\scr@fnt@instead@footnotetext} -% \changes{v2.8q}{2001/11/16}{neuer Ersatz für Element -% \texttt{footnotetext}} -% Das erste Element gibt die Schrift an, in der die Fußnote gesetzt -% wird. Davon abweichend kann mit dem zweiten Element die Schriftart -% für die Fußnotennummer getrennt angegeben werden. Aufgrund der -% Definition kann bei letzteren auch ein Makro verwendet werden, das ein -% Argument erwartet. +% \end{macro}^^A \raggedfootnote +% +% \begin{fontelement}{footnotelabel,footnotetext,footnote} +% \begin{fontelement}{footnotenumber} +% \changes{v3.36}{2022/02/16}{real alias of \fnt{footnotelabel}} +% \begin{macro}{\ftn@font,\scr@fnt@footnote,\ftnm@font,\scr@fnt@footnotelabel} +% \changes{v2.8q}{2001/11/16}{added} +% There are two new font elements with two aliases. They are not defined using +% \cs{newkomafont}, because they have to use not the default font commands but +% another one compatible with \pkg{footnote}. % \begin{macrocode} \newcommand*{\ftn@font}{\normalfont} \newcommand*{\scr@fnt@footnote}{\ftn@font} \newcommand*{\ftnm@font}{} -\newcommand*{\scr@fnt@footnotenumber}{\ftnm@font} +\aliaskomafont{footnotenumber}{footnotelabel} \newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} -\newcommand*{\scr@fnt@instead@footnotetext}{footnote} +\aliaskomafont{footnotetext}{footnote} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\deffootnotemark} -% \changes{v2.4l}{1997/02/06}{neu}%^^A -% Makro zur Definition der Fußnotenmarkierung im Text: +% \end{macro}^^A \fnt@font,\scr@fnt@footnote … \scr@fnt@footnotelabel +% \end{fontelement}^^A footnotenumber +% \end{fontelement}^^A footnotelabel,footnotetext,footnote +% +% \begin{command}{\deffootnotemark} +% \changes{v2.4l}{1997/02/06}{added} +% The definition of the footnote mark in the text can also changed. The +% default is the usual definition extended by the font element. % \begin{macrocode} \newcommand*\deffootnotemark[1]{% \def\@makefnmark{\hbox{\ftntm@font{#1}}}% } % \end{macrocode} -% -% \begin{macro}{\ftntm@font} -% \changes{v2.8q}{2001/11/16}{neu (intern)}%^^A -% \begin{macro}{\scr@fnt@footnotereference} -% \changes{v2.8q}{2001/11/16}{neues Element -% \texttt{footnotereference}} -% \begin{macro}{\scr@fnt@footnoteref} -% \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnoteref}} -% Dies ist die Schriftart der Fußnotenreferenz im Text. Auch hier kann -% ggf. ein Makro verwendet werden, das ein Argument erwartet. +% \begin{fontelement}{footnotereference} +% \begin{fontelement}{footnotemark,footnoteref} +% \changes{v3.36}{2022/02/16}{real alias of \fnt{footnotereference}} +% \begin{macro}{\ftntm@font,\scr@fnt@footnotereference} +% \changes{v2.8q}{2001/11/16}{added} +% The font element of the footnote mark in the text and two aliases. % \begin{macrocode} \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} -\newcommand*{\scr@fnt@footnoteref}{\ftntm@font} +\aliaskomafont{footnoteref}{footnotereference} +\aliaskomafont{footnotemark}{footnotereference} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% +% \end{macro}^^A \ftntm@font,\scr@fnt@footnotereference +% \end{fontelement}^^A footnotemark,footnoteref +% \end{fontelement}^^A footnotereference % \begin{macro}{\FN@mf@check} -% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A -% Dafür sorgen, dass hier ggf. der Trenner eingefügt wird. +% \changes{v2.98c}{2008/02/01}{added} +% Detect multiple footnotes by \cs{lastkern} and add the separator. % \begin{macrocode} %<package>\providecommand*{\FN@mf@check}{% %<class>\newcommand*{\FN@mf@check}{% @@ -510,33 +455,33 @@ \fi } % \end{macrocode} -% \end{macro} -% +% \end{macro}^^A \FN@mf@check % \begin{macro}{\scr@mf@prepare} -% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A -% Damit |\FN@mf@check| informiert ist, dass es etwas zu tun hat. +% \changes{v2.98c}{2008/02/01}{added} +% Add the kern to detect multiple footnotes without change of the resulting kern. % \begin{macrocode} \newcommand*{\scr@mf@prepare}{% \kern-\multiplefootnotemarker \kern\multiplefootnotemarker\relax } -% \end{macro} +% \end{macrocode} +% \end{macro}^^A \scr@mf@prepare % \begin{macro}{\F@mf@prepare} -% \changes{v2.98c}{2008/02/14}{Neu (intern)}%^^A -% \changes{v3.25a}{2018/04/17}{Definition wird explizit vorgenommen}%^^A -% Aus Gründen der Kompatibilität mit \textsf{footmisc} wird das dann -% vorsoglich auch noch definiert (und zwar als \cs{relax}, wenn es bisher noch -% nicht definiert ist). +% \changes{v2.98c}{2008/02/14}{added} +% \changes{v3.25a}{2018/04/17}{explicit definition} +% To stay compatible with \pkg{footmisc} we define this too (but \cs{relax} +% and only if not defined before). +% \begin{macrocode} \@ifundefined{FN@mf@prepare}{\let\FN@mf@prepare\relax}{} % \end{macrocode} -% \end{macro} -% +% \end{macro}^^A \F@mf@prepare % \begin{macro}{\@footnotetext} -% \changes{v3.01a}{2008/11/22}{long}%^^A +% \changes{v3.01a}{2008/11/22}{long} % \begin{macro}{\scr@saved@footnotetext} -% \changes{v2.98c}{2008/02/01}{Neu (intern)}%^^A -% \changes{v3.01a}{2008/11/22}{long}%^^A -% Auch hier muss dafür gesorgt werden, dass die Markierung erfolgt. +% \changes{v2.98c}{2008/02/01}{added} +% \changes{v3.01a}{2008/11/22}{long} +% We have to add the multiple footnote preparation to the definition of +% \cs{@footnotetext}. % \begin{macrocode} \newcommand{\scr@saved@footnotetext}{} \let\scr@saved@footnotetext\@footnotetext @@ -545,9 +490,8 @@ \csname FN@mf@prepare\endcsname } % \end{macrocode} -% -% Es muss auch dafür gesorgt werden, dass \textsf{footmisc} nicht unnötig -% mit Warnung um sich wirft. +% And \pkg{footmisc} should not warn because of a not expected definition of +% \cs{@footnotemark}. % \begin{macrocode} \BeforePackage{footmisc}{% \ifx\@footnotemark\scr@footnotemark @@ -556,12 +500,10 @@ \let\@footnotetext\scr@saved@footnotetext } % \end{macrocode} -% -% \changes{v3.10}{2011/09/12}{Workaround für die zerstörerische Wirkung von -% \textsf{setspace}}% -% Außerdem zerstört das Paket \textsf{setspace} die Erweiterung von -% \cs{@footnotetext}. Deshalb schalten wir sie vor dem Paket lieber gleich ab -% und reaktivieren sie anschließend wieder: +% \changes{v3.10}{2011/09/12}{\pkg{setspace} workaround} +% \pkg{setspace} also needs a workaround, because it redefines +% \cs{@footnotemark} without respect of other definitions. So we use out +% definition instead and add a \texttt{footnote/text/begin} do-hook. % \begin{macrocode} \BeforePackage{setspace}{% \let\@footnotetext\scr@saved@footnotetext @@ -574,52 +516,52 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@saved@footnotetext +% \end{macro}^^A \@footnotetext +% \end{command}^^A \deffootnotemark % -% \begin{macro}{\multiplefootnoteseparator} -% \changes{v2.98c}{2008/02/01}{Neu}%^^A -% Das ist der formatierte Separator! +% \begin{command}{\multiplefootnoteseparator} +% \changes{v2.98c}{2008/02/01}{added} +% The multiple footnote separation marker with all formatting needed. % \begin{macrocode} \newcommand*{\multiplefootnoteseparator}{% \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\multfootsep} -% \changes{v2.98c}{2008/02/01}{Neu}%^^A -% Und hier \textsf{footmisc}-kompatibel unformatiert +% \begin{command}{\multfootsep} +% \changes{v2.98c}{2008/02/01}{added} +% The \pkg{footmisc} compatible separation without formatting. % \begin{macrocode} %<class>\newcommand*{\multfootsep}{,} %<package>\providecommand*{\multfootsep}{,} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\multiplefootnotemarker} -% \changes{v2.98c}{2008/02/01}{Neu}%^^A -% \changes{v3.19}{2015/08/24}{im Paket mit \cs{providecommand} definieren}%^^A -% Das Markierungskerning wieder \textsf{footmisc}-kompatibel. +% \begin{command}{\multiplefootnotemarker} +% \changes{v2.98c}{2008/02/01}{added} +% \changes{v3.19}{2015/08/24}{\pkg*{scrextend} uses \cs{providecommand}} +% The kerning of the marker also \pkg{footmisc} compatible. % \begin{macrocode} %<class>\newcommand*{\multiplefootnotemarker}{3sp} %<package>\providecommand*{\multiplefootnotemarker}{3sp} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\thefootnotemark} -% \changes{v2.4l}{1997/02/06}{neu}%^^A -% Makro, damit \cs{@thefnmark} auf Anwenderebene verfügbar wird: +% \begin{command}{\thefootnotemark} +% \changes{v2.4l}{1997/02/06}{added} +% User level command using \cs{@thefnmark}. % \begin{macrocode} %<class>\newcommand*{\thefootnotemark}{\@thefnmark} %<package>\providecommand*{\thefootnotemark}{\@thefnmark} % \end{macrocode} -% \end{macro} +% \end{command} % -% \changes{v2.4l}{1997/02/06}{Verwendung der neuen Makros zur -% Fußnotengestaltgebung}%^^A +% \changes{v2.4l}{1997/02/06}{initialization using \cs{deffootnotemark}} % \begin{macro}{\@makefnmark} -% \changes{v3.10}{2011/09/27}{\textsf{scrextend} redefines \cs{@makefnmark} -% to use \cs{thefootnotemark}}%^^A +% \changes{v3.10}{2011/09/27}{\pkg*{scrextend} redefines \cs{@makefnmark} +% to use \cs{thefootnotemark}} % \begin{macrocode} %<*class> \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} @@ -658,19 +600,15 @@ % \end{macrocode} % \end{macro} % -% \subsection{Fußnotenreferenz} +% \subsection{Referencing footnote labels} % -% \begin{macro}{\footref} -% \changes{v2.98c}{2008/02/01}{Neue Anweisung} -% \changes{v3.33}{2021/02/24}{classes use \cs{providecommand} because of +% \begin{command}{\footref} +% \changes{v2.98c}{2008/02/01}{added} +% \changes{v3.33}{2021/02/24}{using \cs{providecommand} because of % \LaTeX{} 2021-05-01} -% Damit man nicht nur zu diesem Zweck das Paket \textsf{footmisc} laden muss, -% kann man jetzt auch mit \KOMAScript{} alleine Fußnoten setzen, die -% Referenzen auf andere Fußnoten sind. Der Code stammt einerseits aus footmisc -% andererseits auf der Usenet-Gruppe comp.text.tex. Wer den zuerst hatte, ist -% für mich nicht mehr reproduzierbar. Jedenfalls steht er in footmisc unter -% LPPL und \KOMAScript{} steht ebenfalls unter LPPL. Das sollte also im -% Zweifelsfall nicht das Problem sein. +% \KOMAScript{} 3 provides this command for more more than 13 longer than +% the \LaTeX{} kernel. It is compatible with \pkg{footmisc} but has also been +% published for free in the Usenet. % \begin{macrocode} \providecommand*{\footref}[1]{% \begingroup @@ -678,19 +616,20 @@ \endgroup \@footnotemark } +%</body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \iffalse -%</body> -% \fi % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-footnotes.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-index.dtx b/macros/latex/contrib/koma-script/source/scrkernel-index.dtx index a58dcf853d..34972167b6 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-index.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-index.dtx @@ -1,8 +1,7 @@ -% \CheckSum{242} % \iffalse meta-comment % ====================================================================== % scrkernel-index.dtx -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-index.dtx -% Copyright (c) Markus Kohm, 2002-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-index.dtx 3262 2019-10-10 08:25:29Z kohm $ +%%% From File: $Id: scrkernel-index.dtx 3706 2022-02-15 09:36:50Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $ + \filedate$Date: 2022-02-15 10:36:50 +0100 (Di, 15. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ + \filerevision$Revision: 3706 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-index.dtx}% @@ -74,60 +36,94 @@ (index)]% }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-index.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-index.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2002/07/01}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} -% -% \section{Index} -% -% Der Index unterscheidet sich bei \KOMAScript{} scheinbar nicht -% wesentlich von dem, was die Standardklassen zu bieten haben. In -% Wirklichkeit sind die Unterschiede jedoch erheblich. +% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/15}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/15}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-index.dtx} +% \title{Index Code of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The index code of the \KOMAScript{} classes in \file{scrkernel-index.dtx} +% is somehow different from the code of the standard classes. It provides +% several options and other configuration possibilities. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % -% Briefe haben keinen Index. +% \section{Implementation of the Index} % -% \StopEventually{\PrintIndex\PrintChanges} +% The letter class \cls*{scrlttr2} does not provide an index. All other +% classes do. % -% \iffalse +% \begin{macrocode} %<*!letter> -% \fi -% -% \iffalse -%<*option> -% \fi +% \end{macrocode} % -% \subsection{Anweisungen und Einstellungen für die Optionen} % -% Einige Anweisungen und Einstellungen werden bereits benötigt, bevor die -% Optionen abgearbeitet werden. +% \subsection{Options} % +% \begin{option}{index} +% \changes{v2.98c}{2008/03/04}{added} +% \changes{v3.17}{2015/03/12}{internal value storage} +% \changes{v3.18}{2015/06/15}{new value \opt{numbered}} +% \changes{v3.18}{2015/06/15}{new value \opt{leveldown}} +% \changes{v3.18}{2015/06/15}{new value \opt{standardlevel}} +% \changes{v2.7a}{2001/01/04}{improved link generation with \cls*{scrbook} or +% \cls*{scrreprt} and \pkg{hyperref}} +% \changes{v2.98c}{2008/03/04}{redefining \cs{idx@@heading} instead of +% \cs{idx@@heading}} +% \changes{v3.18}{2015/06/15}{new value \opt{leveldown}} +% The option allow several values for several features: +% \begin{labeling}{\opt{=standardlevel}:} +% \item[\opt{=default}:] use not numbered heading without ToC entry, but +% without affecting the heading level; +% \item[\opt{=totoc}:] use not numbered heading with ToC entry, but +% without affecting the heading level; +% \item[\opt{=numbered}:] use numbered heading (with ToC entry), but +% without affecting the heading level; +% \item[\opt{=leveldown}:] use a subheading (e.g. \cs{subsection} instead +% of \cs{section} in \cls*{scrartcl}), without affecting numbered or not and +% ToC entry or not; +% \item[\opt{=standardlevel}:] don't use a subheading, without affecting +% numbered or not and ToC entry or not. +% \end{labeling} +% To do so, the option redefines \cs{idx@heading}. % \begin{macro}{\idx@@heading} -% \changes{v2.98c}{2008/03/04}{neu (intern)}%^^A -% \changes{v3.18}{2015/06/15}{Beachtung von \texttt{leveldown}}%^^A -% Diese Anweisung wird verwendet, um nur die Überschrift zu setzen (nichts -% weiter!). Sie hat genau ein Argument, nämlich den Text der Überschrift und -% wird innerhalb von |\idx@heading| verwendet. +% \changes{v2.98c}{2008/03/04}{added} +% \changes{v3.18}{2015/06/15}{using \opt{leveldown}} +% This is the macro to print the heading of the index (nothing else). It has +% one mandatory argument: the text to be used as heading. There will be one +% additional code level above this: \cs{idx@heading}, that will be defined in +% the \texttt{body} run. \cs{idx@heading} has to be defined before, so it can +% be redefined by the \opt{index} option. In opposite to the standard classes +% we want to use \cs{chapter} in two column mode. This can be done, because of +% significant changes of \cs{chapter} definition. Note: If someone uses the +% standard classes hack of package \pkg*{scrhack} or even another headings +% package like \pkg*{titlesec} this could fail. But this is not my problem, +% because usage of such packages and hacks is not recommended at all. % \begin{macrocode} +%<*option> \newcommand*{\idx@@heading}{% \ifidx@leveldown %<article> \expandafter\subsection @@ -138,46 +134,10 @@ \fi*% } % \end{macrocode} -% \end{macro} -% -% -% \subsection{Optionen für den Index} -% -% \begin{option}{index} -% \changes{v2.98c}{2008/03/04}{Neue Option}%^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A -% \changes{v3.18}{2015/06/15}{neuer Wert \texttt{numbered}}%^^A -% \changes{v3.18}{2015/06/15}{neuer Wert \texttt{leveldown}}%^^A -% \changes{v3.18}{2015/06/15}{neuer Wert \texttt{standardlevel}}%^^A -% \begin{macro}{\idx@@heading} -% Die Option sorgt dafür, dass der Index auch im Inhaltsverzeichnis -% erscheint. Dazu wird das interne Makro \cs{idx@@heading} umdefiniert, über -% das die Überschrift gesetzt und der Kolumnentitel angepasst wird. -% \changes{v2.4c}{1996/04/04}{Kolumnentitel werden nun korrekt -% behandelt}%^^A -% \changes{v2.4g}{1996/11/04}{Index auch bei \textsf{scrartcl}%^^A -% wieder zweispaltig} -% \changes{v2.6c}{2000/06/10}{im Index kann nach der Überschrift -% eine Präambel gesetzt werden}%^^A -% \changes{v2.7a}{2001/01/04}{für \textsf{scrbook} und -% \textsf{scrreprt} die Link-Erzeugung mit \texttt{hyperref} -% verbessert} -% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die -% \texttt{theindex}-Umgebung verschoben} -% \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch -% \cs{if@openright} ersetzt} -% \changes{v2.98c}{2008/03/04}{statt \cs{idx@heading} wird nun -% \cs{idx@@heading} umdefiniert} -% \changes{v3.18}{2015/06/15}{Beachtung von \texttt{leveldown}}%^^A -% An dieser Stelle muss dafür gesorgt werden, dass im Falle von -% \textsf{scrbook} und \textsf{scrreprt} das Makro \cs{@schapter} -% verwendet wird. Damit dies hier möglich ist mussten tiefreifendere -% Änderungen am \LaTeX-Kernel bzw. am Gliederungsbefehl \cs{chapter} -% vorgenommen werden. -% \begin{macro}{\ifidx@leveldown} -% \changes{v3.18}{2015/06/15}{neuer Schalter (intern)}%^^A -% Für den ab Version~3.18neuen Wert \texttt{leveldown} und dessen -% Gegenstück \texttt{standardlevel} wird außerdem ein Schalter benötigt. +% \begin{macro}{\idx@leveldowntrue,\idx@leveldownfalse,\ifidx@leveldown} +% \changes{v3.18}{2015/06/15}{added} +% The boolean switch \cs{ididx@leveldown} is needed to distinguish the heading +% level to be used (option values \opt{leveldown} and \opt{standardlevel}). % \begin{macrocode} \newif\ifidx@leveldown \KOMA@key{index}{% @@ -261,86 +221,59 @@ \KOMA@kav@add{.\KOMAClassFileName}{index}{notoc} \KOMA@kav@add{.\KOMAClassFileName}{index}{standardlevel} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \ifidx@leveldown … +% \end{macro}^^A \idx@@heading +% \end{option}^^A index % % \begin{option}{idxtotoc} -% \changes{v2.3h}{1995/01/21}{neue Option}%^^A -% \changes{v2.98c}{2008/03/04}{obsolete}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \changes{v2.3h}{1995/01/21}{new} +% \changes{v2.98c}{2008/03/04}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} \KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc} +%</option> % \end{macrocode} % \end{option} % % -% \iffalse -%</option> -%<*body> -% \fi -% -% \subsection{Definitionen für den Index} +% \subsection{User commands and macros} % +% \begin{command}{\setindexpreamble} +% \changes{v2.6c}{2000/06/10}{added} +% \changes{v2.6d}{2000/07/20}{\cs{let} replaced by \cs{newcommand*}} +% \changes{v2.95}{2002/07/01}{\cs{let} and \cs{def}} % \begin{macro}{\index@preamble} -% \changes{v2.6c}{2000/06/10}{neu (intern)}%^^A -% \begin{macro}{\setindexpreamble} -% \changes{v2.6c}{2000/06/10}{neu}%^^A -% \changes{v2.6d}{2000/07/20}{Befehl funktioniert nachdem \cs{let}%^^A -% durch \cs{newcommand*} ersetzt wurde} -% \changes{v2.95}{2002/07/01}{\cs{let} und \cs{def}} -% Analog zu \cs{bibpreamble} kann \cs{index@preamble} vom Benutzer mit -% \cs{setindexpreamble} auf einen Text gesetzt werden, der nach der -% Indexüberschrift eingefügt wird. Hier wird ein echtes internes Makro -% verwendet, da nicht auf Kompatibilität geachtet werden muss. +% \changes{v2.6c}{2000/06/10}{added} +% The index preamble is placed between the heading an the index itself. The +% user can define it using \cs{setindexpreamble}. \cs{index@preamble} is the +% storage. Note: \cs{setindexpreamble} does read the argument itself. This +% makes it easier to patch the user level command. But because of this it has +% to long. % \begin{macrocode} +%<*body> \newcommand*{\index@preamble}{} \let\index@preamble=\relax \newcommand{\setindexpreamble}[1]{\def\index@preamble{#1}} % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % % \begin{macro}{\idx@heading} -% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A -% \changes{v2.4c}{1995/04/04}{Kolumnentitel werden nun korrekt behandelt}%^^A -% \changes{v2.4g}{1996/11/04}{Index auch bei \texttt{scrartcl} wieder -% zweispaltig}%^^A -% \changes{v2.6c}{2000/06/10}{Verwendung von \cs{index@preamble} eingefügt}%^^A -% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die -% \texttt{theindex}-Umgebung verschoben}%^^A -% \changes{v2.9l}{2003/01/19}{\cs{if@twoside} durch \cs{if@openright} -% ersetzt}%^^A -% \changes{v2.98c}{2008/03/04}{Verwendung von \cs{idx@@heading}}%^^A -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A -% \changes{v3.10a}{2012/03/08}{Falsche Klammerung der letzten Änderung -% behoben}%^^A -% \changes{v3.12}{2013/09/24}{Index wird nie in andere Verzeichnisse -% eingetragen (außer Inhaltsverzeichnis)}%^^A -% \changes{v3.25}{2017/10/13}{\cs{@mkright} und \cs{@mkdouble} verwenden}%^^A -% Befehl zum Setzen der Überschrift des Indexes. Bis Version 2.7a sah diese -% Definition so aus: -% \begin{verbatim} -% \newcommand*{\idx@heading}{% -% \if@twoside\cleardoublepage\else\clearpage\fi% -% \@mkboth{\indexname}{\indexname}% -% \twocolumn[% -% %<article> \section*% -% %<report|book> \@makeschapterhead% -% {\indexname}\index@preamble] -% } -% \end{verbatim}\vspace{-\baselineskip} -% Dagegen ist grundsätzlich nichts zu sagen. Allerdings gibt es seit -% Version 2.7b die neue Methode der Kapitel-Präambel, die extra -% eingeführt wurde, um die \textsf{hyperref}-Links -- insbesondere -% den des Index -- zumindest bei Verwendung von \texttt{hpdftex.def} -% zu verbessern. Deshalb wurde die Implementierung entsprechend -% abgeändert. Außerdem wurde das Setzen der Präambel aus -% Konsistenzgründen in Version 2.7j übereinstimmten mit der -% \texttt{thebibliography}-Umgebung in die \texttt{theindex}-Umgebung -% verschoben. +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.4c}{1996/04/04}{handling of running heads fixed} +% \changes{v2.4g}{1996/11/04}{two-columned index with \cls*{scrartcl} fixed} +% \changes{v2.6c}{2000/06/10}{support for index preamble after heading} +% \changes{v2.7j}{2001/05/27}{output of preamble moved to \env{theindex}} +% \changes{v2.9l}{2003/01/19}{\cs{if@twoside} replaced by \cs{if@openright}} +% \changes{v2.98c}{2008/03/04}{using \cs{idx@@heading}} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.10a}{2012/03/08}{brackets from previous change fixed} +% \changes{v3.12}{2013/09/24}{never make an index entry to the other ToC but +% the table of contents} +% \changes{v3.25}{2017/10/13}{using \cs{@mkright} and \cs{@mkdouble}} % \changes{v3.26}{2018/09/03}{usage of \cs{addsecmark} or \cs{subsectionmark} -% instead of \cs{@mkright}}%^^A +% instead of \cs{@mkright}} +% Macro to make the index heading and preamble. % \begin{macrocode} \newcommand*{\idx@heading}{% %<report|book> \if@openright\cleardoublepage\else\clearpage\fi% @@ -363,13 +296,13 @@ % \end{macro} % % \begin{environment}{theindex} -% \changes{v2.8d}{2001/07/05}{\cs{indexpagestyle} statt -% \texttt{plain}} -% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{idx@heading}} -% \changes{v2.7j}{2001/05/27}{Setzen der Präambel in die -% \texttt{theindex}-Umgebung verschoben} -% \changes{v3.19}{2015/08/25}{Seitenstil nur ändern wenn nicht leer}%^^A -% Der Index ist wie üblich definiert. +% \changes{v2.8d}{2001/07/05}{\cs{indexpagestyle} instead of \pstyle{plain}} +% \changes{v2.3h}{1995/01/21}{using \cs{idx@heading}} +% \changes{v2.7j}{2001/05/27}{output of preamble added} +% \changes{v3.19}{2015/08/25}{using \cs{indexpagestyle} only if not empty} +% This definition is similar to the definition of the standard classes. As +% addition it supports a preamble text, a variable heading, and resets the +% paragraph end line fill. % \begin{macrocode} \newenvironment{theindex}{% \if@twocolumn @@ -380,7 +313,7 @@ \columnseprule \z@ \columnsep 35\p@ %<book|report> \setchapterpreamble{\index@preamble}% - \idx@heading% + \idx@heading %<article> \index@preamble\par\nobreak \ifx\indexpagestyle\@empty\else\thispagestyle{\indexpagestyle}\fi \parindent\z@ @@ -392,16 +325,12 @@ } % \end{macrocode} % \begin{macro}{\@idxitem} -% Hier haben wird den Anfang eines Eintrags in den Index -% \begin{macro}{\subitem} -% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} spart -% Speicher} -% \begin{macro}{\subsubitem} -% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{@idxitem} spart -% Speicher} -% \begin{macro}{\indexspace} -% und ebenso Unter- und Unteruntereinträge sowie ein vertikaler -% Abstand. +% A new index entry +% \begin{command}{\subitem,\subsubitem} +% \changes{v2.3g}{1996/01/14}{using \cs{@idxitem} saves memory} +% sub-entry, sub-sub-entry, +% \begin{command}{\indexspace} +% or (vertical) distance. % \begin{macrocode} \newcommand*\@idxitem{\par\hangindent 40\p@} % \begin{macrocode} @@ -411,38 +340,40 @@ \par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{environment} +% \end{command}^^A \indexspace +% \end{command}^^A \subitem,\subsubitem +% \end{macro}^^A \@idxitem +% \end{environment}^^A theindex % % -% \subsection{Standardbezeichner} +% \subsection{Language dependent terms} % -% \begin{macro}{\indexname} -% Names des Index: +% \begin{command}{\indexname} +% \changes{v3.36}{2022/02/15}{explicit definition for English languages} +% The name of the index (used by \cs{idx@heading}). % \begin{macrocode} \newcommand*\indexname{Index} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\indexname{Index} +%</body> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \iffalse -%</body> -% \fi -% -% \iffalse +% \begin{macrocode} %</!letter> -% \fi -% +% \end{macrocode} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-index.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: + diff --git a/macros/latex/contrib/koma-script/source/scrkernel-language.dtx b/macros/latex/contrib/koma-script/source/scrkernel-language.dtx index 3738ca9b50..aef328c819 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-language.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-language.dtx @@ -1,8 +1,7 @@ -% \CheckSum{2247} % \iffalse meta-comment % ====================================================================== % scrkernel-language.dtx -% Copyright (c) Markus Kohm, 2002-2020 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-language.dtx -% Copyright (c) Markus Kohm, 2002-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-language.dtx 3480 2020-04-13 09:39:03Z kohm $ +%%% From File: $Id: scrkernel-language.dtx 3724 2022-02-25 10:28:44Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2020-04-13 11:39:03 +0200 (Mon, 13 Apr 2020) $ + \filedate$Date: 2022-02-25 11:28:44 +0100 (Fr, 25. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3480 $ + \filerevision$Revision: 3724 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-language.dtx} @@ -73,142 +35,82 @@ KOMA-Script (language)]% }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-language.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-language.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/25}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/25}{whole implementation documentation in English} % -% \changes{v2.95}{2002/07/01}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \GetFileInfo{scrkernel-language.dtx} +% \title{Easy Changing of Language-Depending Terms with +% \href{https://komascript.de}{\KOMAScript} \pkg*{scrbase}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% Changing or defining language-depending terms is meanwhile easy, if +% \pkg{babel} has been loaded. But before it has been loaded or if another +% language package is used, it is not as easy as it should be. \KOMAScript{} +% provides several commands to make it easy. +% \end{abstract} +% \tableofcontents % -% \section{Sprachabhängigkeiten} +% \section{User Manual} % -% Aus verschiedenen Gründen ist es nicht so einfach, neue, -% sprachabhängige Begriffe zu definieren oder vorhandene -% umzudefinieren. Mit \KOMAScript{} geht das etwas einfacher. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % % -% \StopEventually{\PrintIndex\PrintChanges} +% \subsection{Commands and macros for language depending terms} % -% \iffalse -%<*option> -% \fi +% These commands and macros provide very basic features and therefore has been +% moved to \pkg*{scrbase} with \KOMAScript~3.00. % -% \subsection{Option} -% Für Briefe gibt es die Möglichkeit, zwischen symbolischem und numerischem -% Datum umzuschalten. -% -% \iffalse -%<*letter> -% \fi -% -% \begin{option}{numericaldate} -% \changes{v2.8q}{2001/10/07}{Neue Option (an Stelle von -% \texttt{scrdate} und \texttt{orgdate})}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.17}{2015/03/10}{Speicherung des aktuellen Werts}%^^A -% Es kann zwischen dem Originaldatum, das beispielsweise von -% \texttt{german.sty} definiert wird, und dem \texttt{scrlttr2}-Datum -% gewählt werden. Natürlich gibt es diese Optionen nur bei Briefen. -% \begin{macro}{\if@orgdate} -% \begin{macro}{\@orgdatetrue} -% \begin{macro}{\@orgdatefalse} -% Die Einstellung wird in einem Schalter gespeichert. -% \begin{macrocode} -\newif\if@orgdate\@orgdatetrue -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% Dummerweise besitzt der alte Schalter genau die gegenteilige -% Bedeutung der Option, deshalb muss der Schalter zweimal invertiert -% werden. -% \begin{macrocode} -\KOMA@key{numericaldate}[true]{% - \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi - \KOMA@set@ifkey{numericaldate}{@orgdate}{#1}% - \KOMA@kav@replacebool{.% -%<class> \KOMAClassFileName -%<package&letter> scrletter.\scr@pkgextension - }{numericaldate}{@orgdate}% - \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi -} -\KOMA@kav@add{.% -%<class> \KOMAClassFileName -%<package&letter> scrletter.\scr@pkgextension -}{orgdate}{true} -% \end{macrocode} -% \begin{option}{scrdate} -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A -% \begin{option}{orgdate} -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A % \begin{macrocode} -\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true} -\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false} +%<*package&base&body> % \end{macrocode} -% \end{option} -% \end{option} -% \end{option} -% -% \iffalse -%</letter> -% \fi -% -% -% \iffalse -%</option> -%<*body> -% \fi -% -% \subsection{Definitionen für sprachabhängige Bezeichner} -% -% Dieser Teil ist so grundlegend, dass er ab Version~3.00 in das Paket -% \textsf{scrbase} ausgelagert wird. -% -% \iffalse -%<*package&base> -% \fi -% -% \begin{macro}{\defcaptionname} -% \changes{3.12}{2013/07/29}{neu}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Für eine Reihe von Sprachen (durch Komma separierte Liste in \#1) -% wird ein Makro (\#2) auf einen bestimmten Inhalt (\#3) definiert. Die -% Sternversion verwendet dabei zwingend \cs{extras\meta{Sprache}}, während -% die Normalversion \cs{captions\meta{Sprache}} verwendet, außer wenn der -% Begriff bereits in \cs{extras\meta{Sprache}} definiert ist. Falls der -% Befehl in der Dokumentpräambel aufgerufen wird, wird er verzögert. +% +% \begin{command}{\defcaptionname*,\defcaptionname} +% \changes{3.12}{2013/07/29}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% With +% \begin{quote} +% \cs{defcaptionname}\marg{language list}\marg{name command}\marg{term} +% \end{quote} +% you can define \meta{name command} for all languages given in the +% comma-separated \meta{language list} to be \meta{term}. Note: \meta{name +% command} has to be a command without arguments. For commands with arguments +% you have to use the mechanisms of, e.g., \pkg{babel} directly. If the +% \meta{name command} is already defined in \cs{extras\meta{language}}, the +% new definition will also be added to this macro. Otherwise it will be added +% to \cs{captions\meta{language}}. The star variant \cs{defcaptionname*} +% always used \cs{extras\meta{language}}. % \begin{macrocode} \newcommand*{\defcaptionname}{% \kernel@ifstar\scr@def@scaptionname\scr@def@captionname } % \end{macrocode} % \begin{macro}{\scr@def@scaptionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% Die Sternvariante von \cs{defcaptionname}. Die Argumente sind dieselben. +% \changes{v3.12}{2013/07/30}{added} +% Because we are not using \pkg{xparse} we need an extra macro for the star +% variant. The arguments are the same as for \cs{defcaptionname}. % \begin{macrocode} \newcommand*{\scr@def@scaptionname}[3]{% % \end{macrocode} -% Als erstes findet die Verzögerung bis \cs{begin{document}} statt. +% Because several language packages define \cs{captions\meta{language}} in +% |\begin{document}|, we also delay the definition, if the command is used in +% the document preamble. % \begin{macrocode} \if@atdocument \expandafter\@firstofone @@ -218,9 +120,8 @@ \fi {% % \end{macrocode} -% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1 -% ab und \dots -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A +% Do a local loop over all languages in the \meta{language list}. +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} % \begin{macrocode} \begingroup \let\reserved@b\endgroup @@ -228,8 +129,8 @@ \@onelevel@sanitize\scr@reserved@a \@for\scr@reserved@a:=\scr@reserved@a\do{% % \end{macrocode} -% \dots\ fügen dabei \cs{extras\meta{Sprache}} die Definition \#3 für \#2 -% hinzu. +% Inside the loop add definition of \meta{name command} to \meta{term} to +% \cs{extras\meta{language}}. % \begin{macrocode} \scr@trim@spaces\scr@reserved@a \ifx\scr@reserved@a\@empty @@ -244,8 +145,9 @@ \def#2{#3}% }% % \end{macrocode} -% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert -% werden, dass dies ggf. auch unmittelbar Geltung bekommt. +% The redefinition of \cs{reserved@b} to not only close the group but also +% activate the new term if \meta{language} (\cs{reserved@a}) is the current +% language: % \begin{macrocode} \scr@def@activateactivelanguageaftergroup{#2}{#3}% \fi @@ -255,30 +157,31 @@ } % \end{macrocode} % \begin{macro}{\scr@def@activateactivelanguageaftergroup} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% Wenn die Sprache in \cs{reserved@a} die aktuelle Sprache \cs{languagename} -% ist oder die Sprachnummer zur Sprache \cs{reserved@a} die aktuelle -% Sprachnummer \cs{language} ist, dann wird \cs{reserved@b} so umdefiniert, -% dass es die aktuelle Gruppe beendet und \#1 als \#2 definiert. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% If the language in \cs{reserved@a} is the current language in +% \cs{languagename} or if the language number of the language in +% \cs{reserved@a} is the current language number \cs{language}, the definition +% of \texttt{\#1} as \texttt{\#2} is added to \cs{reserved@b}. % \begin{macrocode} \newcommand*{\scr@def@activateactivelanguageaftergroup}[2]{% \@onelevel@sanitize\languagename \@tempswafalse -%<trace> \typeout{compare `\languagename' and `\scr@reserved@a'}% +%<trace> \typeout{comparing `\languagename' and `\scr@reserved@a'}% \ifx\languagename\scr@reserved@a \@tempswatrue \else % \end{macrocode} -% \changes{v3.20}{2016/01/05}{Sonderbehandlung für \textsf{polyglossia}}%^^A -% Bei Verwendung von \textsf{polyglossia} gibt es die Besonderheit, dass alle -% Deutschen Sprachen als \texttt{german} definiert sind. Die Unterscheidung -% zwischen Deutsch, Österreichisch und Schweizerisch geschieht über zwei -% boolsche Schalter. Für die Unterscheidung alte oder neue Rechtschreibung -% existiert ein weiterer Schalter. Mit ein paar trickreichen Vergleichen kann -% man das zusätzlich behandeln. Natürlich muss es so gemacht werden, dass es -% mit babel trotzdem noch funktioniert. +% \changes{v3.20}{2016/01/05}{special treatment of \pkg{polyglossia}} +% With \pkg{polyglossia} all German languages are language +% \texttt{german}. The distinction of German, Swiss and Austrian is done with +% two boolean switches \cs{if@austrian@locale} and +% \cs{if@swiss@local}. Additionally the distinction of old and current German +% is done with boolean switch \cs{if@german@oldspelling}. We cannot use the +% switches directly, because of the special handling of such switches and +% because they are only defined with \pkg{polyglossia}. So we compare them +% with \cs{iffalse} or \cs{iftrue} instead. % \begin{macrocode} \edef\scr@reserved@b{\detokenize{german}}% \ifx\languagename\scr@reserved@b @@ -290,7 +193,7 @@ \expandafter\ifx\csname if@swiss@locale\expandafter\endcsname \csname iftrue\endcsname swiss\else german\fi\fi }% -%<trace> \typeout{compare also `\scr@reserved@a' and `\scr@reserved@b'}% +%<trace> \typeout{comparing also `\scr@reserved@a' and `\scr@reserved@b'}% \@onelevel@sanitize\scr@reserved@b \ifx\scr@reserved@a\scr@reserved@b \@tempswatrue\fi \fi @@ -311,9 +214,13 @@ } % \end{macrocode} % \begin{macro}{\scr@ifactivelanguageisoneof} -% \changes{v3.27}{2019/07/10}{neu (intern)} -% Ist die aktuelle Sprache eine aus der Liste im ersten Argument, so wird das -% zweite Argument ausgeführt, sonst das ersten. +% \changes{v3.27}{2019/07/10}{added} +% \begin{quote} +% \cs{scr@ifactivelanguageisoneof}\marg{language list}\meta{then +% code}\meta{else code} +% \end{quote} +% If the current language is one of the comma-separated \meta{language list}, +% the \meta{then code} is executed otherwise \meta{else code}. % \begin{macrocode} \newcommand*{\scr@ifactivelanguageisoneof}[1]{% \begingroup @@ -356,18 +263,20 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \scr@ifactivelanguageisoneof -% \end{macro}%^^A \scr@def@activateactivelanguageaftergroup -% \end{macro}%^^A \scr@def@scaptionname +% \end{macro}^^A \scr@ifactivelanguageisoneof +% \end{macro}^^A \scr@def@activateactivelanguageaftergroup +% \end{macro}^^A \scr@def@scaptionname % \begin{macro}{\scr@def@captionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% Die Normalvariante von \cs{defcaptionname}, mit denselben Argumenten. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% The non-star variant of \cs{defcaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@def@captionname}[3]{% % \end{macrocode} -% Als erstes findet die Verzögerung bis \cs{begin{document}} statt. +% Because several language packages define \cs{captions\meta{language}} in +% |\begin{document}|, we also delay the definition, if the command is used in +% the document preamble. % \begin{macrocode} \if@atdocument \expandafter\@firstofone @@ -377,9 +286,8 @@ \fi {% % \end{macrocode} -% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1 -% ab und \dots -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A +% Do a local loop over all languages in the \meta{language list}. +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} % \begin{macrocode} \begingroup \let\reserved@b\endgroup @@ -391,8 +299,7 @@ \PackageWarning{scrbase}{empty language at \string\defcaptionname}% \else % \end{macrocode} -% \dots\ testen dabei, ob \#2 bereits in \cs{extras\meta{Sprache}} definiert -% ist. +% Test, if \meta{name command} is already defined in \cs{extras\meta{language}}. % \begin{macrocode} \@tempswafalse \begingroup @@ -400,17 +307,15 @@ \ifcsname extras\scr@reserved@a\endcsname \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \selectlanguage{ngerman}%^^A % \begin{macrocode} \expandafter\providecommand\expandafter*% \csname abx@extras@\scr@reserved@a\endcsname{}% @@ -419,18 +324,18 @@ \fi \endgroup % \end{macrocode} -% Wenn \#2 bereits in \cs{extras\meta{Sprache}} definiert ist, \dots +% If \meta{name command} is already defined in \cs{extras\meta{language}} % \begin{macrocode} \if@tempswa % \end{macrocode} -% \dots\ dann definieren wir es genau hier neu, +% once again define it in \cs{extras\meta{language}}. % \begin{macrocode} \expandafter\g@addto@macro\csname extras\scr@reserved@a\endcsname{% \def#2{#3}% }% \else % \end{macrocode} -% \dots\ anderenfalls definieren wir es in \cs{captions\meta{Sprache}} neu. +% Otherwise define it in \cs{caption\meta{language}}. % \begin{macrocode} \expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax \expandafter\expandafter\expandafter\gdef @@ -442,8 +347,9 @@ }% \fi % \end{macrocode} -% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert -% werden, dass dies ggf. auch unmittelbar Geltung bekommt. +% The redefinition of \cs{reserved@b} to not only close the group but also +% activate the new term if \meta{language} (\cs{reserved@a}) is the current +% language: % \begin{macrocode} \scr@def@activateactivelanguageaftergroup{#2}{#3}% \fi @@ -452,18 +358,16 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@def@captionname -% \end{macro}%^^A \defcaptionname +% \end{macro}^^A \scr@def@captionname +% \end{command}^^A \defcaptionname % -% \changes{v3.20}{2016/01/05}{Neue Sonderbehandlung für -% \texttt{polyglossia}}%^^A -% Bei Verwendung von \textsf{polyglossia} haben wir nun bei den Sprachen -% \texttt{austrian}, \texttt{swiss}, \texttt{ngerman}, \texttt{naustrian} und -% \texttt{nswiss} das Problem, dass diese dort alle in \cs{captionsgerman} -% vermischt sind. Es werden also beim Umschalten eventuell gar nicht die -% richtigen Befehle ausgeführt. Das lässt sich beispielsweise beheben, indem -% in \cs{init@extra@german} dafür gesorgt wid, dass eben diese doch noch -% ausgeführt werden: +% \changes{v3.20}{2016/01/05}{new special treatment of \pkg{polyglossia}}% +% With \pkg{polyglossia} the languages \texttt{austrian}, \texttt{swiss}, +% \texttt{ngerman}, \texttt{naustrian}, and \texttt{nswiss} are all mixed up +% to \cs{captionsgerman}. To avoid activation of the language term of the +% wrong dialect, \cs{init@extra@german} can be changed. Surely this is more or +% less a hack. But \pkg{polyglossia} seems to not provide a better interface +% for class and package authors. % \begin{macrocode} \AfterPackage*{polyglossia}{% \scr@ifundefinedorrelax{init@extras@german}{% @@ -491,37 +395,34 @@ }% } % \end{macrocode} -% Ich bin mir natürlich bewusst, dass dieser Code auch nur wieder ein Hack -% ist. Ideal ist das so nicht. Aber sehr viel sauberer geht es mit -% \textsf{polyglossia} unter Beibehaltung der Kompatibilität auch nicht mehr. % -% \begin{macro}{\providecaptionname} -% \changes{v2.8q}{2001/11/08}{neu}%^^A -% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte -% ist, wird die Anderung sofort aktiviert.}%^^A -% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert -% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}%^^A -% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}%^^A -% \changes{v3.01b}{2008/12/07}{missing make undefined}%^^A -% \changes{v3.02c}{2009/02/17}{undefined test improved}%^^A -% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von -% \cs{defcaptionname}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Wie \cs{defcaptionname}, allerdings wird nur definiert, wenn die Sprache \#1 -% bereits existiert, aber der Begriff \#2 nicht existiert. Unter dieser -% Einschränkung verwendet die Sternvariante \cs{extras\meta{Sprache}}, während -% die Normalvariante \cs{captions\meta{Sprache}} verwendet. +% +% \begin{command}{\providecaptionname} +% \changes{v2.8q}{2001/11/08}{added} +% \changes{v2.9r}{2004/06/16}{immediate activation for current language} +% \changes{v2.95}{2006/03/10}{sanitizing language test} +% \changes{v3.00}{2008/05/02}{moved to \pkg*{scrbase}} +% \changes{v3.01b}{2008/12/07}{missing make undefined} +% \changes{v3.02c}{2009/02/17}{undefined test improved} +% \changes{v3.12}{2013/07/30}{re-implemented similar to \cs{defcaptionname}} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% This is very similar to \cs{defcaptionname}, but nothing is done if a +% \meta{language} in the \meta{language list} is unknown or \meta{name +% command} is already defined for the \meta{language}. With this limitation +% \cs{providecaptionname} adds \meta{name command} to +% \cs{captions\meta{language}} always, but the star variant +% \cs{providecaptionname*} uses \cs{extras\meta{language}}. % \begin{macrocode} \newcommand*{\providecaptionname}{% \kernel@ifstar\scr@provide@scaptionname\scr@provide@captionname } % \end{macrocode} % \begin{macro}{\scr@provide@scaptionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% The star variant of \cs{providecaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@provide@scaptionname}[3]{% \if@atdocument @@ -542,29 +443,27 @@ \string\providecaptionname}% \else % \end{macrocode} -% Im Unterschied zu \cs{defcaptionname} wird hier nur etwas zu -% \cs{extras\meta{Sprache}} hinzugefügt, wenn das bereits definiert ist, -% aber \#2 selbst noch nicht definiert ist. +% In opposite to \cs{defcaptionname} add \meta{name command} to +% \cs{extras\meta{language}} only, if \cs{extras\meta{language}} already +% exists, but not yet defines \meta{name command}. % \begin{macrocode} \begingroup \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \selectlanguage{ngerman}%^^A % \begin{macrocode} \expandafter\providecommand\expandafter*% \csname abx@extras@\scr@reserved@a\endcsname{}% % \end{macrocode} -% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A +% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround} % Unfortunately some users use \cs{renewcommand} to change a name even if the % language has not been loaded and the command has not been defined. This % would result in an error message. So a this point we let \cs{renewcommand} @@ -606,13 +505,13 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@provide@scaptionname +% \end{macro}^^A \scr@provide@scaptionname % \begin{macro}{\scr@provide@captionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% Die Normalvariante von \cs{providecaptionname}, mit denselben Argumenten. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% The non-star variant of \cs{providecaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@provide@captionname}[3]{% \if@atdocument @@ -633,25 +532,24 @@ \string\providecaptionname}% \else % \end{macrocode} -% Im Unterschied zu \cs{defcaptionname} wird hier nur etwas zu -% \cs{captions\meta{Sprache}} hinzugefügt, wenn das bereits definiert ist, -% aber \#2 selbst weder in \cs{extras\meta{Sprache}} noch in -% \cs{captions\meta{Sprache}} definiert ist. +% In opposite to \cs{defcaptionname} add \meta{name command} to +% \cs{captions\meta{language}} only, if \cs{captions\meta{language}} already +% exists, but neither \cs{extras\meta{language}} nor +% \cs{captions\meta{language}} defines \meta{name command}. % \begin{macrocode} \begingroup \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A +% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround} % Unfortunately some users use \cs{renewcommand} to change a name even if the % language has not been loaded and the command has not been defined. This % would result in an error message. So a this point we let \cs{renewcommand} @@ -695,40 +593,37 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@provide@captionname -% \end{macro}%^^A \providecaptionname -% \selectlanguage{ngerman} +% \end{macro}^^A \scr@provide@captionname +% \end{command}^^A \providecaptionname +% % -% \begin{macro}{\newcaptionname} -% \changes{v2.8q}{2001/11/08}{neu}%^^A -% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte -% ist, wird die Anderung sofort aktiviert.}%^^A -% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert -% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}%^^A -% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}%^^A -% \changes{v3.01b}{2008/12/07}{missing make undefined}%^^A -% \changes{v3.02c}{2009/02/17}{undefined test improved}%^^A -% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von -% \cs{defcaptionname}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Wie \cs{defcaptionname} mit folgender Änderung: Existiert die -% Sprache und der Begriff, so wird ein Fehler ausgegeben. Existiert die -% Sprache aber nicht der Begriff, so wird er definiert. Existiert die Sprache -% nicht, so wird sie definiert. Unter dieser Prämisse verwendet die -% Sternversion \cs{extras\meta{Sprache}}, während die Normalversion -% \cs{captions\meta{Sprache}} verwendet. +% \begin{command}{\newcaptionname} +% \changes{v2.8q}{2001/11/08}{added} +% \changes{v2.9r}{2004/06/16}{immediate activation for current language} +% \changes{v2.95}{2006/03/10}{sanitizing language test} +% \changes{v3.00}{2008/05/02}{moved to \pkg*{scrbase}} +% \changes{v3.01b}{2008/12/07}{missing make undefined} +% \changes{v3.02c}{2009/02/17}{undefined test improved} +% \changes{v3.12}{2013/07/30}{re-implemented similar to \cs{defcaptionname}} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% This is very similar to \cs{defcaptionname}, but if \meta{language} exists +% and already defines \meta{language name} an error is reported. If the +% \meta{language} exists but does not define the \meta{language name}, the +% definition will be added. If the \meta{language} does not exist, it will be +% defined. With this limitation \cs{newcaptionname} adds \meta{name command} +% to \cs{captions\meta{language}} always, but the star variant +% \cs{newcaptionname*} uses \cs{extras\meta{language}}. % \begin{macrocode} \newcommand*{\newcaptionname}{% \kernel@ifstar\scr@new@scaptionname\scr@new@captionname } % \end{macrocode} % \begin{macro}{\scr@new@scaptionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% Die Sternvariante von \cs{newcaptionname}. Die Argumente sind dieselben. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% The star variant of \cs{newcaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@new@scaptionname}[3]{% \if@atdocument @@ -748,23 +643,22 @@ \PackageWarning{scrbase}{empty language at \string\newcaptionname}% \else % \end{macrocode} -% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert -% sein. +% In opposite to \cs{defcaptionname} the \meta{language name} has to be +% undefined. % \begin{macrocode} \begingroup \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A +% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround} % Unfortunately some users use \cs{renewcommand} to change a name even if the % language has not been loaded and the command has not been defined. This % would result in an error message. So a this point we let \cs{renewcommand} @@ -804,14 +698,13 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@new@scaptionname -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \scr@new@scaptionname % \begin{macro}{\scr@new@captionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% Die Normalvariante von \cs{newcaptionname}, mit denselben Argumenten. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% The non-star variant of \cs{newcaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@new@captionname}[3]{% \if@atdocument @@ -831,23 +724,22 @@ \PackageWarning{scrbase}{empty language at \string\newcaptionname}% \else % \end{macrocode} -% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert -% sein. +% In opposite to \cs{defcaptionname} the \meta{language name} has to be +% undefined. % \begin{macrocode} \begingroup \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A +% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround} % Unfortunately some users use \cs{renewcommand} to change a name even if the % language has not been loaded and the command has not been defined. This % would result in an error message. So a this point we let \cs{renewcommand} @@ -887,43 +779,37 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@new@captionname -% \end{macro}%^^A \newcaptionname -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \scr@new@captionname +% \end{command}^^A \newcaptionname % -% \begin{macro}{\renewcaptionname} -% \changes{v2.8q}{2001/11/08}{neu}%^^A -% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte -% ist, wird die Anderung sofort aktiviert.}%^^A -% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert -% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}%^^A -% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}%^^A -% \changes{v3.01b}{2008/12/07}{missing make undefined}%^^A -% \changes{v3.02c}{2009/02/17}{undefined test improved}%^^A -% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von -% \cs{defcaptionname}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Wie \cs{defcaptionname} mit folgender Änderung: Existiert die -% Sprache nicht, so ist dies ein Fehler. Existiert die Sprache nicht aber der -% Begriff, so ist dies ebenfalls ein Fehler. Existieren Sprache und Begriff, -% so wird dieser umdefiniert. Unter dieser Voraussetzung ändert die -% Sternvariante immer \cs{extras\meta{Sprache}}, während die Normalvariante -% \cs{captions\meta{Sprache}} ändert, falls der Begriff nicht i -% \cs{extras\meta{Sprache}} definiert war, und sonst \cs{extras\meta{Sprache}}. +% \begin{command}{\renewcaptionname} +% \changes{v2.8q}{2001/11/08}{added} +% \changes{v2.9r}{2004/06/16}{immediate activation for current language} +% \changes{v2.95}{2006/03/10}{sanitizing language test} +% \changes{v3.00}{2008/05/02}{moved to \pkg*{scrbase}} +% \changes{v3.01b}{2008/12/07}{missing make undefined} +% \changes{v3.02c}{2009/02/17}{undefined test improved} +% \changes{v3.12}{2013/07/30}{re-implemented similar to \cs{defcaptionname}} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% This is very similar to \cs{defcaptionname}, but if the \meta{language} does +% not exist or does not already define \meta{language name} an error is reported. +% So for a \meta{language} that exists and defines \meta{language name}, If the +% \meta{name command} is already defined in \cs{extras\meta{language}}, +% \cs{renewcaptioname} adds the changed definition to this macro. Otherwise it +% will be added to \cs{captions\meta{language}}. The star variant +% \cs{renewcaptionname*} always used \cs{extras\meta{language}}. % \begin{macrocode} \newcommand*{\renewcaptionname}{% \kernel@ifstar\scr@renew@scaptionname\scr@renew@captionname } % \end{macrocode} % \begin{macro}{\scr@renew@scaptionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% \changes{v3.27a}{2019/10/13}{unmittelbare Aktivierung nur für bereits -% definierte Begriffe}%^^A -% Die Sternvariante von \cs{renewcaptionname}. Die Argumente sind dieselben. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% \changes{v3.27a}{2019/10/13}{immediate activation only for already defined terms} +% The star variant of \cs{renewcaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@renew@scaptionname}[3]{% \if@atdocument @@ -943,23 +829,21 @@ \PackageWarning{scrbase}{empty language at \string\renewcaptionname}% \else % \end{macrocode} -% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert -% sein. +% In opposite to \cs{defcaptionname} \meta{language name} has to be defined. % \begin{macrocode} \begingroup \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A +% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround} % Unfortunately some users use \cs{renewcommand} to change a name even if the % language has not been loaded and the command has not been defined. This % would result in an error message. So a this point we let \cs{renewcommand} @@ -998,16 +882,15 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@renew@scaptionname -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \scr@renew@scaptionname % \begin{macro}{\scr@renew@captionname} -% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A -% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A -% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der -% Dokumentpräambel}%^^A -% \changes{v3.27a}{2019/10/13}{unmittelbare Aktivierung nur für bereits -% definierte Begriffe}%^^A -% Die Normalvariante von \cs{renewcaptionname}, mit denselben Argumenten. +% \changes{v3.12}{2013/07/30}{added} +% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}} +% \changes{v3.27}{2019/07/10}{immediate activation from within document +% preamble} +% \changes{v3.27a}{2019/10/13}{immediate activation only for already existing +% terms} +% The non-star variant of \cs{renewcaptionname} with the same arguments. % \begin{macrocode} \newcommand*{\scr@renew@captionname}[3]{% \if@atdocument @@ -1027,23 +910,21 @@ \PackageWarning{scrbase}{empty language at \string\renewcaptionname}% \else % \end{macrocode} -% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert -% sein. +% In opposite to \cs{defcaptionname} \meta{language name} has to exist. % \begin{macrocode} \begingroup \let#2\relax % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A -% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to +% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround} +% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to % \cs{extras\meta{language}} if only \meta{language} is an redundant language -% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and +% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and % \cs{extras\meta{language}} is defined. But in this case % \cs{abx@extras@\meta{language}} is not defined. So calling % \cs{extras\meta{language}} would result in an error. As a workaround for % this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here % locally. -% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A +% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround} % Unfortunately some users use \cs{renewcommand} to change a name even if the % language has not been loaded and the command has not been defined. This % would result in an error message. So a this point we let \cs{renewcommand} @@ -1089,28 +970,66 @@ \reserved@b }% } +%</package&base&body> % \end{macrocode} -% \end{macro}%^^A \scr@renew@captionname -% \end{macro}%^^A \renewcaptionname -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \scr@renew@captionname +% \end{command}^^A \renewcaptionname % -% \iffalse -%</package&base> -% \fi % +% \subsection{Numerical or textual date within letters} +% For letters \KOMAScript{} provides the option to use either a +% symbolic/texual date or a numerical date. % -% \subsection{Definitionen für ein nummerisches Datum} -% Bei Briefen kann ein nummerisches oder ein symbolisches Datum verwendet -% werden. +% \begin{option}{numericaldate} +% \changes{v2.8q}{2001/10/07}{added} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by +% \cs{PackageInfoNoLine}} +% \changes{v3.17}{2015/03/10}{using internal value storage} +% \changes{v3.36}{2022/02/25}{initial storage value fixed} +% The option allows to switch between the original textual date usually +% provided by \pkg{babel} (or another language package) and a numerical date. +% \begin{macro}{\@orgdatefalse,\@orgdatetrue,\if@orgdate} +% The decission is stored in a boolean switch. For compatibility with +% \cls[https://www.ctan.org/pkg/koma-script-obsolete]{scrlettr} we are still +% using \cs{if@orgdate} with inverse meaning. +% \begin{macrocode} +%<*letter&option> +\newif\if@orgdate\@orgdatetrue +% \end{macrocode} +% \end{macro}^^A \@orgdatefalse,\@orgdatetrue,\if@orgdate +% Currently a \cs{KOMA@inverseifkey} does not exist. So we need somemore code +% to define the option. +% \begin{macrocode} +\KOMA@key{numericaldate}[true]{% + \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi + \KOMA@set@ifkey{numericaldate}{@orgdate}{#1}% + \KOMA@kav@replacebool{.% +%<class> \KOMAClassFileName +%<package&letter> scrletter.\scr@pkgextension + }{numericaldate}{@orgdate}% + \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi +} +\KOMA@kav@add{.% +%<class> \KOMAClassFileName +%<package&letter> scrletter.\scr@pkgextension +}{numericaldate}{true} +% \end{macrocode} +% \begin{option}{scrdate,orgdate} +% \changes{v3.01a}{2008/11/21}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true} +\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false} +%</letter&option> +% \end{macrocode} +% \end{option}^^A scrdate,orgdate +% \end{option}^^A numericaldate % -% \iffalse -%<*letter> -% \fi % % \begin{macro}{\g@addnumerical@date} -% Dazu ist es notwendig, ggf. das bereits definierte symbolische Datum durch -% ein nummerisches zu ergänzen. +% We need to redefine the already existing textual date of a language package +% by a numerical one. % \begin{macrocode} +%<*letter&body> \newcommand*{\g@addnumerical@date}[2]{% \@ifundefined{date#1}{% %<class> \ClassInfo{scrlttr2% @@ -1127,167 +1046,113 @@ }% }% } +%</letter&body> % \end{macrocode} % \end{macro} % -% \iffalse -%</letter> -% \fi -% % -% \subsection{Festlegungen für einzelne Sprachen} +% \subsection{Language dependent terms and dates in letters} % -% Es folgen nun für einzelne Sprachen konkrete Festlegungen, die für Briefe -% benötigt werden. -% -% \iffalse -%<*letter> -% \fi +% There are also a lot of additional language dependent terms in +% letters. Several languages are supported. % -% \begin{macro}{\captionsenglish} -% \changes{v3.13}{2014/01/07}{diverse neue Dialekte}%^^A -% \begin{macro}{\dateenglish} -% \begin{macro}{\captionsUSenglish} -% \begin{macro}{\dateUSenglish} -% \begin{macro}{\captionsamerican} -% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish definiert} -% \begin{macro}{\dateamerican} -% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish definiert} -% \begin{macro}{\captionsbritish} -% \changes{v2.4c}{1997/11/25}{british identisch mit english definiert} -% \begin{macro}{\datebritish} -% \changes{v2.4c}{1997/11/25}{british identisch mit english definiert} -% \begin{macro}{\captionsUKenglish} -% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english definiert} -% \begin{macro}{\dateUKenglish} -% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english definiert} -% \begin{macro}{\captionsaustralian} -% \changes{v3.13}{2014/03/19}{australian identisch mit english definiert}%^^A -% \begin{macro}{\dateaustralian} -% \changes{v3.13}{2014/03/19}{australian identisch mit english definiert}%^^A -% \changes{v3.27}{2019/06/09}{fixed}%^^A -% \begin{macro}{\captionsnewzealand} -% \changes{v3.13}{2014/03/19}{newzealand identisch mit english definiert}%^^A -% \begin{macro}{\datenewzealand} -% \changes{v3.13}{2014/03/19}{newzealand identisch mit english definiert}%^^A -% \begin{macro}{\captionscanadian} -% \changes{v3.13}{2014/03/19}{canadian identisch mit english definiert}%^^A -% \begin{macro}{\datecanadian} -% \changes{v3.13}{2014/03/19}{canadian identisch mit english definiert}%^^A -% \begin{macro}{\captionsukenglish} -% \changes{v3.24}{2017/05/29}{ukenglish identisch mit UKenglish definiert} -% \begin{macro}{\dateukenglish} -% \changes{v3.24}{2017/05/29}{ukenglish identisch mit UKenglish definiert} -% \begin{macro}{\captionsusenglish} -% \changes{v3.24}{2017/05/29}{usenglish identisch mit USenglish definiert} -% \begin{macro}{\dateusenglish} -% \changes{v3.24}{2017/05/29}{usenglish identisch mit USenglish definiert} -% \begin{macro}{\captionsgerman} -% \changes{v3.13}{2014/01/07}{neue Dialekte}%^^A -% \begin{macro}{\dategerman} -% \begin{macro}{\captionsngerman} -% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german}%^^A -% \changes{v3.12a}{2014/03/08}{außer \texttt{german} verwenden alle -% deutschen Sprachen »Telefon«}%^^A -% \begin{macro}{\datengerman} -% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german}%^^A -% \begin{macro}{\captionsaustrian} -% \begin{macro}{\dateaustrian} -% \begin{macro}{\captionsnaustrian} -% \changes{v3.09}{2011/03/10}{naustrian neu und identisch mit austrian}%^^A -% \begin{macro}{\datenaustrian} -% \changes{v3.09}{2011/03/10}{naustrian neu und identisch mit austrian}%^^A -% \begin{macro}{\captionsfrench} -% \changes{v3.13}{2014/01/07}{diverse neue Dialekte}%^^A -% \begin{macro}{\datefrench} -% \begin{macro}{\captionsitalian} -% \begin{macro}{\dateitalian} -% \changes{v2.3e}{1996/05/31}{Ich hoffe, dass das stimmt}%^^A -% \begin{macro}{\captionsspanish} -% \begin{macro}{\datespanish} -% \changes{v2.4c}{1997/11/25}{Ich hoffe, dass das stimmt}%^^A -% \changes{v2.4c}{1997/11/25}{Datumsumschaltung nicht mehr zwingend} -% \begin{macro}{\captionscroation} -% \changes{v2.8q}{2001/05/10}{Neu}%^^A -% \begin{macro}{\datecroatian} -% \changes{v2.8q}{2001/05/10}{Neu}%^^A -% \begin{macro}{\captionsdutch} -% \changes{v2.8q}{2002/02/01}{Neu}%^^A -% \begin{macro}{\datedutch} -% \changes{v2.8q}{2002/02/01}{Neu}%^^A -% \begin{macro}{\captionsfinnish} -% \changes{v2.9u}{2005/02/07}{Unterstützung für Finnisch (Dank Hannu -% Väisänen)}%^^A -% \changes{v2.9u}{2005/02/07}{Neu}%^^A -% \begin{macro}{\datefinnish} -% \changes{v2.9u}{2005/02/07}{Neu}%^^A -% \changes{v3.01c}{2008/12/29}{Aktivierung korrigiert}%^^A -% \begin{macro}{\captionsnorsk} -% \changes{v3.02}{2009/01/01}{Neu}%^^A -% \begin{macro}{\datenorsk} -% \changes{v3.02}{2009/01/01}{Neu}%^^A -% \begin{macro}{\captionsnorsk} -% \changes{v3.08}{2011/01/20}{Neu (Dank Benjamin Hell)}%^^A -% \begin{macro}{\datenorsk} -% \changes{v3.08}{2011/01/20}{Neu (Dank Benjamin Hell)}%^^A -% \begin{macro}{\captionspolish} -% \changes{v3.13}{2014/02/01}{Neu (Dank Blandyna Bogdol)}%^^A -% \begin{macro}{\datepolish} -% \changes{v3.13}{2014/02/01}{Neu (Dank Blandyna Bogdol)}%^^A -% \begin{macro}{\captionsczech} -% \changes{v3.13}{2014/02/10}{Neu (Dank Elke Schubert)}%^^A -% \begin{macro}{\dateczech} -% \changes{v3.13}{2014/02/10}{Neu (Dank Elke Schubert)}%^^A -% \begin{macro}{\dateslovak} -% \changes{v3.13}{2014/02/28}{Neu (Dank Elke Schubert)}%^^A -% Weil es in früheren Versionen zu Problemen damit gekommen ist, -% werden diese jedoch erst bei |\begin{document}| definiert. Dabei -% wird |\providecaptionname| verwendet, so dass sie auch schon vor -% |\begin{document}| mit |\newcaptionname| anderslautend definiert -% werden können. +% \begin{command}{\captionsenglish,\dateenglish} +% \begin{command}{\captionsUSenglish,\dateUSenglish} +% \begin{command}{\captionsamerican,\dateamerican} +% \changes{v2.4c}{1997/11/25}{american defined identical to USenglish} +% \begin{command}{\captionsbritish,\datebritish} +% \changes{v2.4c}{1997/11/25}{british defined identical to english} +% \begin{command}{\captionsUKenglish,\dateUKenglish} +% \changes{v2.4c}{1997/11/25}{UKenglish defined identical to english} +% \begin{command}{\captionsaustralian,\dateaustralian} +% \changes{v3.13}{2014/03/19}{australian defined identical to english} +% \changes{v3.27}{2019/06/09}{fixed} +% \begin{command}{\captionsnewzealand,\datenewzealand} +% \changes{v3.13}{2014/03/19}{newzealand defined identical to english} +% \begin{command}{\captionscanadian,\datecanadian} +% \changes{v3.13}{2014/03/19}{canadian defined identical to english} +% \begin{command}{\captionsukenglish,\dateukenglish} +% \changes{v3.24}{2017/05/29}{ukenglish defined identical to UKenglish} +% \begin{command}{\captionsusenglish,\dateusenglish} +% \changes{v3.24}{2017/05/29}{usenglish defined identical to USenglish} +% \begin{command}{\captionsgerman,\dategerman} +% \begin{command}{\captionsngerman,\datengerman} +% \changes{v2.5}{1999/09/08}{ngerman added identical togerman} +% \begin{command}{\captionsaustrian,\dateaustrian} +% \begin{command}{\captionsnaustrian,\datenaustrian} +% \changes{v3.09}{2011/03/10}{naustrian added identical toaustrian} +% \begin{command}{\captionsfrench,\datefrench} +% \begin{command}{\captionsitalian,\dateitalian} +% \changes{v2.3e}{1996/05/31}{added} +% \begin{command}{\captionsspanish,\datespanish} +% \changes{v2.4c}{1997/11/25}{added} +% \begin{command}{\captionscroation,\datecroatian} +% \changes{v2.8q}{2001/05/10}{added} +% \begin{command}{\captionsdutch,\datedutch} +% \changes{v2.8q}{2002/02/01}{added} +% \begin{command}{\captionsfinnish,\datefinnish} +% \changes{v2.9u}{2005/02/07}{added} +% \changes{v3.01c}{2008/12/29}{activation fixed} +% \begin{command}{\captionsnorsk,\datenorsk} +% \changes{v3.02}{2009/01/01}{added} +% \begin{command}{\captionsswedish,\dateswedish} +% \changes{v3.08}{2011/01/20}{added (Benjamin Hell)} +% \begin{command}{\captionspolish,\datepolish} +% \changes{v3.13}{2014/02/01}{added (Blandyna Bogdol)} +% \begin{command}{\captionsczech,\dateczech} +% \changes{v3.13}{2014/02/10}{added (Elke Schubert)} +% \begin{command}{\dateslovak} +% \changes{v3.13}{2014/02/28}{added (Elke Schubert)} +% Because of problems with early versions of the code, we use +% \cs{AtBeginDocument} and \cs{providecaptionname} to define the terms and +% dates as late as possible. So users can define them in the document preamble +% differently. A list of all languages (but not the dialects) can be found in +% \autoref{tab:letterlanguages}. % \begin{table} +% \begin{minipage}{\textwidth} % \centering % \begin{tabular}{ll} -% Sprache & Spender \\\hline\\[-1.6ex] -% Deutsch & Frank Neukam, Markus Kohm \\ -% English & Frank Neukam, Michael Dewey, Markus Kohm \\ -% Finnisch & Hannu Väisänen \\ -% Französisch & Frank Neukam, Henk Jongbloets \\ -% Holländisch & Henk Jongbloets \\ -% Italienisch & Simone Naldi \\ -% Kroatisch & Branka Lon\v{c}arevi\'{c} \\ -% Norwegisch & Sveinung Heggen \\ -% Polnish & Blandyna Bogdol \\ -% Schwedisch & Benjamin Hell\\ -% Spanisch & Ralph J.\ Hangleiter, Alejandro L\'opez-Valencia\\ -% Tschechisch & Elke Schubert\\ -% Slovakisch & Elke Schubert\\ -% \end{tabular} -% \caption{Liste der unterstützten Sprachen und der -% \emph{Sprachspender}} +% Language & Contributor \\\hline\\[-1.6ex] +% German & Frank Neukam, Markus Kohm \\ +% English & Frank Neukam, Michael Dewey, Markus Kohm \\ +% Finnish & Hannu Väisänen \\ +% French & Frank Neukam, Henk Jongbloets \\ +% Dutch & Henk Jongbloets \\ +% Italian & Simone Naldi \\ +% Croatian & Branka Lon\v{c}arevi\'{c} \\ +% Norsk & Sveinung Heggen \\ +% Polish & Blandyna Bogdol \\ +% Swedish & Benjamin Hell\\ +% Spanish & Ralph J.\ Hangleiter, Alejandro L\'opez-Valencia\\ +% Czech & Elke Schubert\\ +% (Slovak)\footnotemark & Elke Schubert\\ +% \end{tabular}% +% \stepcounter{mpfootnote}\renewcommand*{\thempfootnote}{\arabic{mpfootnote}}% +% \footnotetext{Note: Slovak is only partially supported: The date +% exists but the language terms are still missing.} +% \caption{List of supported languages (but not the dialects) and the +% contributors} +% \label{tab:letterlanguages} +% \end{minipage} % \end{table} -% Eine Besonderheit stellt die englische Sprache dar. Es wird -% versucht, diese als Notersatz immer zu definieren. +% English is a special case. We try to define it always also as a fallback. % \begin{macrocode} +%<*letter&body> \AtBeginDocument{% \@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}% \@ifundefined{dateenglish}{\def\dateenglish{% +%</letter&body> % \end{macrocode} -% \iffalse -%</letter> -%<*letter|class> -% \fi +% Defining the textual English \cs{today} it the only thing, that has do be +% done for all classes and also the \pkg*{scrletter} package. % \begin{macrocode} +%<*(letter|class)&body> \def\today{\ifcase\month\or January\or February\or March\or April\or May\or June\or July\or August\or September\or October\or November\or December\fi \space\number\day, \number\year}% -% \end{macrocode} -% \iffalse -%</letter|class> -%<*letter> -% \fi -% \begin{macrocode} +%</(letter|class)&body> +%<*letter&body> }% }{}% \providecaptionname{american,australian,british,canadian,% @@ -1561,14 +1426,13 @@ \providecaptionname{swedish}\invoicename{Fakturanummer}% \providecaptionname{swedish}\subjectname{\"Amne}% % \end{macrocode} -% "`Kopia"' oder "`Kopia till"' geht beides -- da im Deutschen die -% lange Form verwendet wird nehmen wir die auch hier: +% ``Kopia'' or ``Kopia till''? Both would be possible. Because of using the +% long form in German, we use it in Swedish too. % \begin{macrocode} \providecaptionname{swedish}\ccname{Kopia till}% % \end{macrocode} -% "`Bilaga"' ist Singular. Bei mehreren Anlagen schreibt man -% "`Bilagor"'. Da wir nicht wissen, ob es eine oder mehrere Anlagen sind, -% haben wir ein kleines Problem und gehen mal von mehreren aus: +% ``Bilaga'' would be singular. For several enclosures we need +% ``Bilagor''. We've decided to use the plural. % \begin{macrocode} \providecaptionname{swedish}\enclname{Bilagor}% Singular: Bilaga \providecaptionname{swedish}\headtoname{Till}% @@ -1581,15 +1445,13 @@ \providecaptionname{swedish}\emailname{E-post}% \providecaptionname{swedish}\wwwname{Hemsida}% % \end{macrocode} -% Für \cs{bankname} gibt es zwei verschiedene Ausdrücke, je nachdem um -% welche Kontoform es sich handelt: "`Bankgiro"' und "`PlusGiro"'. Beide -% sind etwa gleich verbreitet, evtl. mit einem leichten Vorteil für -% Bankgiro. +% There are two usual terms for banking account, either ``Bankgiro'' or +% ``PlusGiro''. It's hard to say which one is more usual. % \begin{macrocode} \providecaptionname{swedish}\bankname{Bankgiro}% PlusGiro % \end{macrocode} -% Statt der ISO-Variante wird hier die traditionelle Variante, -% "`18/1 2011"', verwendet. +% We use the traditional date ``18/1 2011'' instead of the also common ISO +% date. % \begin{macrocode} \g@addnumerical@date{swedish}{\number\day/\number\month~\number\year}% \providecaptionname{polish}\yourrefname{Wasz znak}% @@ -1650,34 +1512,26 @@ \providecaptionname{slovak}\bankname{Bankov\'{e} spojenie}% \g@addnumerical@date{slovak}{\number\day.\,\number\month.\,\number\year}% % \end{macrocode} -% Zum Schluss findet noch die eigentliche Auswahl statt. Diese orientiert -% sich nun an der Auswahl nach german.sty~2.5b und verwendet keine festen -% Sprachzuordnungen mehr. Dafür sind nun keine Erweiterungen für andere -% Sprachen mehr möglich. -% \changes{v2.2c}{1995/03/20}{Im Sprachenvergleich fehlten die "`="' -% hinter \cs{language}} -% \changes{v2.4c}{1997/11/25}{Sprachauswahl um american, british, -% UKenglish und spanish erweitert}%^^A -% \changes{v2.5}{1999/09/08}{Sprachauswahl um ngermen erweitert}%^^A -% \changes{v2.5b}{2000/01/20}{Reaktivierung der Sprache geschieht -% nun via \cs{languagename}, soweit dies möglich ist} -% \changes{v2.5e}{2000/07/14}{Workaround für Sprache nohyphenation -% durch Format mit Babel-Erweiterung aber kein Babel package -% geladen}%^^A +% Last but not least the activation has to be done. +% \changes{v2.2c}{1995/03/20}{missing \texttt{\quotechar=} added after +% \cs{language}} +% \changes{v2.5b}{2000/01/20}{language reactivation by \cs{languagename} if +% possible} +% \changes{v2.5e}{2000/07/14}{workaround for language \texttt{nohyphenation}} +% First of all we activate English as fallback. % \begin{macrocode} \captionsenglish \dateenglish % \end{macrocode} -% \changes{v2.9i}{2002/09/04}{Workaround für den -% \texttt{hyphen.cfg}-Bug von Babel} -% \changes{v2.97c}{2007/08/10}{Text einer Warnung geändert}%^^A -% \changes{v3.18a}{2015/07/03}{\cs{extras\dots} werden auch ausgeführt}%^^A -% \changes{v3.18a}{2015/07/03}{sprachabhhängige Befehle mit \cs{@nameuse}}%^^A -% Wird die \texttt{hyphen.cfg} von Babel verwendet, wird aber das -% \textsl{babel}-Paket nicht geladen, so ist \cs{languagename} häufig -% nicht korrekt, so dass dann \cs{selectlanguage} mit -% \cs{languagename} als Argument schief geht. Daher hier ein -% Workaround für das Problem. +% \changes{v2.9i}{2002/09/04}{workaround for \file{hyphen.cfg} bug of +% \pkg{babel}} +% \changes{v2.97c}{2007/08/10}{warning message changed} +% \changes{v3.18a}{2015/07/03}{execution \cs{extras\dots}} +% \changes{v3.18a}{2015/07/03}{using \cs{@nameuse}} +% If the \file{hyphen.cfg} of \pkg{babel} is used, but \pkg{babel} has not +% been loaded, \cs{languagename} can be incorrect (depending on the +% \pkg{babel} version used to generate the \LaTeX{} format). In this case +% |\selectlanguage{\languagename}| would fail. So we need a workaround. % \begin{macrocode} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname date\languagename\endcsname\relax @@ -1869,13 +1723,10 @@ of language `\languagename'% }% % \end{macrocode} -% \changes{v3.12}{2012/12/28}{Workaround für babels geänderte hyphen.cfg}%^^A -% Irgendwann wurde in babel die hyphen.cfg geändert, so dass das früher sehr -% gut funktionierende |\expandafter\selectlanguage\expandafter{\languagename}| -% damit leider nicht mehr funktioniert, wenn babel nicht mehr geladen -% ist. Deshalb wird nun etwas direkter vorgegangen. Das kann mit einzelnen -% Sprachpaketen eventuell Nachteile bringen, funktioniert aber aktuell ohne -% Sprachpaket, mit babel und mit polyglossia. +% \changes{v3.12}{2012/12/28}{workaround for changed \file{hyphen.cfg} in +% \pkg{babel}} +% Unfortunately the workaround does not work any longer after a change of +% \file{hyphen.cfg} in \pkg{babel}. So we need another workaround. % \begin{macrocode} \csname date\languagename\endcsname \csname captions\languagename\endcsname @@ -1896,72 +1747,44 @@ \fi \fi } +%</letter&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \iffalse -%</letter> -% \fi -% +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} +% \end{command} % -% \iffalse -%</body> -% \fi % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-language.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-letterclassoptions.dtx b/macros/latex/contrib/koma-script/source/scrkernel-letterclassoptions.dtx index 1759c2990d..fb9d791ef0 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-letterclassoptions.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-letterclassoptions.dtx @@ -1,8 +1,7 @@ -% \CheckSum{1774} % \iffalse meta-comment % ====================================================================== % scrkernel-letterclassoptions.dtx -% Copyright (c) Markus Kohm, 2006-2020 +% Copyright (c) Markus Kohm, 2006-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,118 +17,103 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-letterclassoptions.dtx -% Copyright (c) Markus Kohm, 2006-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-letterclassoptions.dtx 3453 2020-02-25 07:33:30Z kohm $ +%%% From File: $Id: scrkernel-letterclassoptions.dtx 3730 2022-02-26 14:38:06Z kohm $ %<option>%%% (run: option) %<head>%%% (run: head) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2020-02-25 08:33:30 +0100 (Tue, 25 Feb 2020) $ + \filedate$Date: 2022-02-26 15:38:06 +0100 (Sa, 26. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3453 $ + \filerevision$Revision: 3730 $ \endgroup \ProvidesFile{scrkernel-letterclassoptions.dtx} [\filedate\space \filerevision\space - KOMA-Script source (letter class options)] -% \iffalse -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-letterclassoptions.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - + KOMA-Script source (letter configuration options)] +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-letterclassoptions.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2006/03/22}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/26}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/26}{\cs{@setplength} replaced by \cs{setplength}} +% \changes{v3.36}{2022/02/26}{\cs{@addtoplength} replaced by \cs{addtoplength}} +% \changes{v3.36}{2022/02/26}{\cs{@newplength} replaced by \cs{newplength}} +% \changes{v3.36}{2022/02/26}{whole implementation documentation in English} % -% \changes{v2.95}{2006/03/22}{% -% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} % -% \section{Optionendateien für Briefe} +% \GetFileInfo{scrkernel-letterclassoptions.dtx} +% \title{Handling and Implementation of Letter Configuration Options of +% \href{https://komascript.de}{\KOMAScript} Letter Class and Package} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The \KOMAScript{} letter class \cls*{scrlttt2} and the \KOMAScript{} +% letter package \pkg*{scrletter} has something special: the letter +% configuration option files formerly known as letter class option +% files. These are used to setup either layouts or user configurations. Both +% the implementation of these files and the handling of them can be found in +% \file{scrkernel-letterclassoptions.dtx}. +% \end{abstract} +% \tableofcontents % -% Bei der Briefklasse tritt eine Besonderheit ein. Hier ist es -% möglich, spezielle \texttt{lco}-Dateien zu definieren, die über -% Optionen geladen werden können. Die unterschiedlichen Brieftypen -% sind ein Fall für solche \emph{\textbf{l}etter \textbf{c}lass -% \textbf{o}ption} Dateien. +% \section{User Manual} % -% \StopEventually{\PrintIndex\PrintChanges} +% You can find the user documentation the commands and files implemented here +% in the \KOMAScript{} manual, either the German \file{scrguide} or the +% English \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % -% \iffalse -%<*letter> -% \fi +% \section{Implementation of the Handling of Letter Configuration Options} % -% \iffalse -%<*option> -% \fi +% We need this feature only with letter classes and packages. +% +% \begin{macrocode} +%<*(class|package)&letter> +% \end{macrocode} % -% \subsection{Optionen für Letter-Class-Options} +% +% \subsection{Options for the letter configuration option files} % % \begin{macro}{\lco@test} -% \changes{v2.95}{2006/03/22}{Neu}%^^A -% \changes{v2.97c}{2007/09/12}{an neue Optionenabarbeitung angepasst}%^^A -% Letter-Class-Optionen können auch für jede per |\documentclass| angegebene -% keyval-Option oder sonstige scan-Option (das sind Optionen, die nicht per -% |\DeclareOption| definiert wurden) geladen werden. Dabei wird die -% Abarbeitung der Option nicht unterbrochen. Dazu wird dieses Makro in den -% scan-Vorgang eingebaut +% \changes{v2.95}{2006/03/22}{added} +% \changes{v2.97c}{2007/09/12}{modified for new option handling} +% \changes{v3.36}{2022/02/26}{deprecated} +% The \KOMAScript{} letter class \cls*{scrlttr2} allows to load a letter +% configuration option file by classic class options to \cs{documentclass}, +% \cs{LoadClass} or \cs{PassOptionsToClass}. This is done inside via the +% general \cs{DeclareOption*}, that is used for several other deprecated (and +% some standard) options too. \cs{lco@test} simply tests, if +% \file{\CurrentOption.lco} does exist and in this case load it a the end of +% the class. Note: The \KOMAScript{} letter package \pkg*{scrletter} does not +% support loading of letter configuration option files via global or package +% option. Moreover, from \KOMAScript{} v3.36 loading via class option is also +% deprecated for \cls*{scrlttr2}. % \begin{macrocode} +%<*class&option> \newcommand*{\lco@test}{% \IfFileExists{\CurrentOption.lco}{% - \expandafter -%<class> \AtEndOfClass -%<package> \AtEndOfPackage - \expandafter{% + \ClassWarningNoLine{\KOMAClassName}{% + loading of LCO via class option + `\CurrentOption'.\MessageBreak + Note: Loading a LCO via class option is deprecated.\MessageBreak + \space\space\space\space\space\space + You should use + `\string\LoadLetterOption\string{\CurrentOption\string}'\MessageBreak + instead% + }% + \expandafter\AtEndOfClass\expandafter{% \expandafter\LoadLetterOption\expandafter{\CurrentOption}% }% \expandafter\def\expandafter\scr@pti@nerr@r\expandafter{% @@ -139,41 +123,41 @@ }% }{}% } +%</class&option> % \end{macrocode} % \end{macro} % -% Als Voreinstellung wird am Ende schon einmal die Datei \texttt{DIN.lco} -% geladen. +% \file{DIN.lco} is the default and therefore loaded first at the end of the +% class or package. % \begin{macrocode} +%<*option> %<class>\AtEndOfClass %<package>\AtEndOfPackage {\LoadLetterOption{DIN}} +%</option> % \end{macrocode} % -% \iffalse -%</option> -%<*body> -% \fi % % \subsection{Makros für Letter-Class-Options} % -% \begin{macro}{\LoadLetterOption} -% \changes{v2.8q}{2001/10/08}{Neu}%^^A -% \changes{v3.14}{2014/10/04}{Leerzeichen werden ignoriert}%^^A -% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@sp@def} statt -% \cs{KV@@sp@def}}%^^A -% Bei der neuen Briefklasse existiert eine Anweisung, mit der eine -% \emph{\textbf{l}etter-\texttt{c}lass-\texttt{o}ption}-Datei geladen -% werden kann. Das Laden wird mit entsprechender Information in der -% \texttt{log}-Datei vermerkt. Damit in der Datei interne Makros -% verwendet werden können, muss der catcode von "`@"' entsprechend -% gesetzt sein. Damit der Befehl sowohl in der Präambel als auch in -% weiteren Optionen-Dateien oder in der Klasse selbst verwendet werden -% kann, muss der catcode am Ende wieder restauriert werden. Dabei muss -% etwas trickreich gearbeitet werden, damit tatsächlich eine -% Schachtelung möglich ist. So erfolgt die Umschaltung des catcodes -% immer nur beim ersten Aufruf innerhalb einer Schachtel. +% \begin{command}{\LoadLetterOption} +% \changes{v2.8q}{2001/10/08}{added} +% \changes{v3.14}{2014/10/04}{ignoring white spaced} +% \changes{v3.26}{2018/08/29}{\cs{KV@@sp@def} replaced by \cs{scr@sp@def}} +% Command +% \begin{quote} +% \cs{LoadLetterOption}\marg{letter configuration option} +% \end{quote} +% loads \file{\meta{letter configuration option}.lco}. The \cs{catcode} of +% ``|@|'' is changed to letter for loading the file. But because \file{lco} +% files can load other \file{lco} files using \cs{LoadLetterOption} this has +% to be reset only for the outer \cs{LoadLetterOption}. +% \begin{description} +% \item[ToDo:] can't we do this more simply just using either some +% \cs{expandafter} magic or an internal stack? +% \end{description} % \begin{macrocode} +%<*body> \newcommand*{\LoadLetterOption}[1]{% \@ifundefined{@restore@catcode@level}% {\let\@restore@catcode@level=\z@}{}% @@ -215,14 +199,13 @@ }% % \end{macrocode} % \changes{v3.18}{2015/06/03}{manage \cs{RequirePackage} and \cs{usepackage} -% inside \texttt{lco}-files after \cs{begin\{document\}}}%^^A -% \changes{v3.28}{2019/11/24}{Tippfehler bezüglich \cs{usepackage} -% beseitigt}%^^A -% Ehrlich gesagt, glaube ich nicht, dass das folgende wirklich sinnvoll -% funktioniert, wie es vermutlich gedacht war. Aber das eigentlich auch egal, -% weil \cs{usepackage} und \cs{RequirePackage} in \texttt{lco}-Dateien, die im -% Dokument geladen werden, ohnehin nicht funktioniert. Das sollte man gar -% nicht erst probieren. +% inside \texttt{lco}-files after \cs{begin\{document\}}} +% \changes{v3.28}{2019/11/24}{\cs{usepackage} typo fixed} +% \begin{description} +% \item[ToDo:] I don't think, that the following really works. So maybe it +% should simple be removed to get the usual error message using +% \cs{RequirePackage} or \cs{usepackage} inside a document. +% \end{description} % \begin{macrocode} \if@atdocument \edef\reserved@a{% @@ -256,18 +239,12 @@ } % \end{macrocode} % \begin{macro}{\lco@RequirePackage} -% \changes{v3.18}{2015/06/03}{neue Anweisung (intern)}%^^A -% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@trim@spaces} statt -% \cs{KV@@sp@def}}%^^A -% Da \texttt{lco}-Dateien auch noch nach \cs{begin\{document\}} geladen werden -% können, wird hier sinnvoll auf die Anforderung von Paketen in diesem Fall -% reagiert. In der ersten Ausbaustufe wird eine sinnvolle Fehlermeldung -% ausgegeben. Irgend wann einmal später könnte man sich eventuell noch etwas -% besseres einfallen lassen. -% Das erste, optionale Argument sind ggf. Optionen. Diese werden jedoch an -% dieser Stelle einfach ignoriert. Das zweitem, obligatorische Argument ist -% eine Liste von Paketen. Das dritte, optionale Argument ist die Version der -% Pakete, die an dieser Stelle ebenfalls ignoriert wird. +% \changes{v3.18}{2015/06/03}{added} +% \changes{v3.26}{2018/08/29}{\cs{KV@@sp@def} replaced by +% \cs{scr@trim@spaces}} +% \begin{description} +% \item[ToDo:] See the note above. +% \end{description} % \begin{macrocode} \newcommand*{\lco@RequirePackage}[2][]{% \begingroup @@ -290,16 +267,16 @@ \scr@gobbleopt } % \end{macrocode} -% \end{macro}%^^A \lco@RequirePackage -% \end{macro}%^^A \LoadLetterOption -% \begin{macro}{\LoadLetterOptions} -% \changes{v3.14}{2014/10/04}{Neue Anweisung}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} eingefügt und damit -% Leerzeichen zwischen den Einträgen erlaubt}%^^A -% \changes{v3.26}{2018/08/29}{Behandlung für (nicht mehr mögliche) -% Leerzeicheneinträge entfernt}%^^A -% Funktioniert prinzipiell wie \cs{LoadLetterOption}, aber es werden mehrere, -% durch Komma getrennte Optionen unterstützt. +% \end{macro}^^A \lco@RequirePackage +% \end{command}^^A \LoadLetterOption +% +% \begin{command}{\LoadLetterOptions} +% \changes{v3.14}{2014/10/04}{added} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.26}{2018/08/29}{special treatment of space entries not needed +% any more} +% Similar to \cs{LoadLetterOption} but with \meta{list of letter configuration +% options} instead of a single \meta{letter configuration option}. % \begin{macrocode} \newcommand*{\LoadLetterOptions}[1]{% \begingroup @@ -314,28 +291,24 @@ \reserved@a } % \end{macrocode} -% \end{macro}%^^A \LoadLetterOptions +% \end{command}^^A \LoadLetterOptions % -% \begin{macro}{\LetterOptionNeedsPapersize} -% \changes{v2.8q}{2001/10/17}{Neu}%^^A -% Es besteht die Möglichkeit, in \texttt{lco}-Dateien eine bestimmte -% Papiergröße zu fordern. Dazu wird der Name der \texttt{lco}-Datei -% und die geforderte Papiergröse als Parameter übergeben. Stimmt die -% Papiergröße nicht überein, so wird bei \cs{opening} eine Warnung -% ausgegeben. +% \begin{command}{\LetterOptionNeedsPapersize} +% \changes{v2.8q}{2001/10/17}{added} +% With +% \begin{quote} +% \cs{LetterOptionNeedsPapersize}\marg{letter configuration +% option}\marg{paper size} +% \end{quote} +% inside a \meta{letter configuration option} file we can define a \meta{paper +% size} to be used. This does not change the paper size, but adds a test to +% \cs{opening}, that warns if another paper size is used. % \begin{macro}{\@PapersizeWarning} -% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A -% \changes{v3.12}{2013/11/05}{Abweichung von 1\,mm nach unten und oben -% erlaubt}%^^A -% \changes{v3.23}{2017/02/22}{Verwendung des neuen \cs{PaperNameToSize}}%^^A -% \begin{macro}{\@@PapersizeWarning} -% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A -% \begin{macro}{\LOPNP@size} -% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A -% \begin{macro}{\LOPNP@option} -% \changes{v2.8q}{2002/03/25}{Neu (intern)}%^^A -% Zur einfacheren Realisierung wird mit vier internen Hilfsmakros -% gearbeitet. +% \changes{v2.8q}{2002/03/25}{added} +% \changes{v3.12}{2013/11/05}{differences of +/- 1\,mm are tolerated} +% \changes{v3.23}{2017/02/22}{using \cs{PaperNameToSize}} +% \begin{macro}{\@@PapersizeWarning,\LOPNP@size,\LOPNP@option} +% \changes{v2.8q}{2002/03/25}{added} % \begin{macrocode} \newcommand*{\LOPNP@option}{} \newcommand*{\LOPNP@size}{} @@ -413,54 +386,43 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} % \begin{macrocode} \newcommand*{\LetterOptionNeedsPapersize}[2]{% \edef\LOPNP@size{#2}\edef\LOPNP@option{#1}% } -% \end{macrocode} -% \end{macro} -% -% \iffalse %</body> -%</letter> -% \fi +% \end{macrocode} +% \end{command} % -% \subsection{Die Letter-Class-Optionen} +% \begin{macrocode} +%</(class|package)&letter> +% \end{macrocode} +% +% \section{Implementation of the Letter Configuration Option Files} % -% Die Letter-Class-Optionen selbst werden wie bereits erwähnt über Dateien -% realisiert. In den vorgefertigen Dateien für unterschiedliche Arten von -% Briefen werden in erster Linie Pseudo-Längen passend gesetzt. In einigen -% Fällen werden aber auch zusätzlich Befehle umdefiniert. +% Most of the predefined letter configuration option files define a letter +% layout, e.g, depending on a norm. The main thing in this case is to setup +% pseudo-lengths. Sometimes additionally macros or commands are (re-)defined. % -% \iffalse +% \begin{macrocode} %<*lco> -% \fi -% -% \subsubsection{Der Datei Kopf} -% -% \iffalse -%<*head> -% \fi +% \end{macrocode} +% +% \subsection{The file header} % -% Im Kopf ist natürlich die Datei zu deklarieren: -% \changes{v3.04}{2009/04/21}{neue LCO \texttt{NF} von Jean-Marie Pacquet -% übernommen und ergänzt}%^^A -% \changes{v3.04}{2009/06/26}{neue LCO \texttt{USletter2w} in Zusammenarbeit -% mit Engelbert Buxbaum und Richard Ar\`es geschaffen}%^^A -% \changes{v3.04}{2009/06/29}{neue LCO \texttt{UScommercial9DW} für Papier im -% Format letter oder legal in Umschlägen im Format commercial No.\,9 mit -% zwei Fenstern}%^^A -% \changes{v3.04}{2009/06/30}{neue LCO \texttt{UScommercial9} für Papier im -% Format letter oder legal in Umschlägen im Format commercial No.\,9 mit -% einem Fenster auf Basis von -% \texttt{http://www.envelopesuperstore.com/}}%^^A -% \changes{v3.04}{2009/06/26}{seit langem existierende LCO \texttt{visualize}%^^A -% zur Visualisierung einiger Pseudolängen aufgenommen}%^^A -% \changes{v3.17}{2015/02/17}{neue LCOs \texttt{DIN5008A} und -% \texttt{DIN5008B}}%^^A +% The head has to identify the file: +% \changes{v3.04}{2009/04/21}{\file{NF.lco} by Jean-Marie Pacquet added} +% \changes{v3.04}{2009/06/26}{\file{USletter2w.lco} with contribution of +% Engelbert Buxbaum and Richard Ar\`es} +% \changes{v3.04}{2009/06/29}{\file{UScommercial9DW-lco} for paper formats +% letter or legal and envelopes with format no.\,9 with two windows} +% \changes{v3.04}{2009/06/30}{\file{UScommercial9} for paper formats +% letter or legal and envelopes with format commercial No.\,9 with one +% window based on \url{http://www.envelopesuperstore.com/}} +% \changes{v3.04}{2009/06/26}{long existing \file{visualize.lco} added} +% \changes{v3.17}{2015/02/17}{\file{DIN5008A.lco} and \file{DIN5008B.lco} added} % \begin{macrocode} +%<*head> \ProvidesFile{% %<visualize> visualize% %<DIN> DIN% @@ -479,7 +441,7 @@ .lco}[\KOMAScriptVersion\space letter-class-option] % \end{macrocode} % -% Manche \texttt{LCO}-Dateien bauen auf anderen auf: +% Some of the \file{LCO} files need others: % \begin{macrocode} %<*5008> \LoadLetterOption{% @@ -489,55 +451,51 @@ %</5008> % \end{macrocode} % -% \begin{macro}{\LCOWarningNoLine} -% \changes{v2.95}{2006/03/24}{Neu}%^^A -% \begin{macro}{\LCOWarning} -% \changes{v2.95}{2006/03/24}{Neu}%^^A -% Außerdem wird ein Makro benötigt, das analog zu |\ClassWarningNoLine| oder -% |\PackageWarningNoLine| funktioniert. +% \begin{command}{\LCOWarningNoLine,\LCOWarning} +% \changes{v2.95}{2006/03/24}{added} +% These are similar to \cs{PackageWarningNoLine} and \cs{PackageWarning} but +% for \file{lco} files. +% \begin{macrocode} %<*!5008> \providecommand*\LCOWarningNoLine[2]{% \LCOWarning{#1}{#2\@gobble}% } \providecommand*\LCOWarning[2]{% \GenericWarning{% - (#1)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces + (#1)\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces\@spaces }{% - Letter class option #1 Warning: #2% + Letter configuration option #1 Warning: #2% }% } %</!5008> -% \end{macro} -% \end{macro} -% -% \iffalse %</head> -%<*body> -%<*!visualize> -% \fi +% \end{macrocode} +% \end{command} +% % -% \subsubsection{Der Hauptteil} +% \subsection{Main part of layout option files} % -% Die Maße für einige Optionen wurden nicht von mir selbst recherchiert: +% The dimensions of some of the options has been researched by others: % \begin{center} % \begin{tabular}{ll} -% \texttt{lco}-Datei & Recherchiert von \\\hline\\[-1.6ex] -% DIN & mir \\ -% DINmtext & mir \\ -% DIN5008A & mir \\ -% DIN5008B & mir \\ -% KOMAold & mir \\ +% \texttt{lco} file & source \\\hline\\[-1.6ex] +% DIN & me \\ +% DINmtext & me \\ +% DIN5008A & me \\ +% DIN5008B & me \\ +% KOMAold & me \\ % SNleft & Roger Luethi \\ % SN & Roger Luethi \\ % NF & Jean-Marie Pacquet \\ % USletter2w & Engelbert Buxbaum \\ -% UScommercial9 & mir \\ -% UScommercial9DW & mir \\ -% \end{tabular}{ll} +% UScommercial9 & me \\ +% UScommercial9DW & me \\ +% \end{tabular} % \end{center} % -% Zunächst wird geprüft, ob überhaupt die richtige Klasse geladen ist. +% Test for the correct class or package: % \begin{macrocode} +%<*body&!visualize> %<*!5008> \@ifundefined{scr@fromname@var}{% \LCOWarningNoLine{% @@ -552,7 +510,7 @@ %<UScommercial9> UScommercial9% %<UScommercial9DW> UScommercial9DW% }{% - This letter class option file was made only\MessageBreak + This letter configuration option file was made only\MessageBreak to be used with KOMA-Script letter class\MessageBreak `scrlttr2' or letter package `scrletter'.\MessageBreak Use with other classes and without that package\MessageBreak @@ -561,7 +519,7 @@ }{} % \end{macrocode} % -% Dann wird geprüft, ob das richtige Papierformat vorhanden ist. +% Make sure, the correct paper size has been used: % \begin{macrocode} \LetterOptionNeedsPapersize{% %<DIN> DIN% @@ -582,11 +540,9 @@ %</USletter2w|UScommercial9|UScommercial9DW> % \end{macrocode} % -% Dann werden die Werte gesetzt. -% \begin{description} -% \item[ZIP-Code] -% \changes{v3.03}{2009/03/04}{Bezeichner der Variablen \texttt{fromzipcode}%^^A -% wird gesetzt} +% And now the dimensions and variables: +% \begin{variable}{fromzipcode} +% \changes{v3.03}{2009/03/04}{change of output name added} % \begin{macrocode} %<!KOMAold>\setkomavar*{fromzipcode}{% %<DIN|DINmoretext> D} @@ -594,29 +550,35 @@ %<NF> F} %<USletter2w|UScommercial9|UScommercial9DW> US} % \end{macrocode} -% \item[Faltmarken] -% \changes{v2.97e}{2007/11/20}{Die neuen Faltmarken werden berücksichtigt.}%^^A +% \end{variable} +% \begin{pseudolength}{foldmarkhpos,tfoldmarkvpos,mfoldmarkvpos,bfoldmarkvpos, +% lforlmarkhpos} +% \changes{v2.97e}{2007/11/20}{several new fold marks to setup} % \begin{macrocode} -\@setplength{foldmarkhpos}{3.5mm} -\@setplength{tfoldmarkvpos}{% +\setplength{foldmarkhpos}{3.5mm} +\setplength{tfoldmarkvpos}{% %<DIN|SwissLeft|SN> 105mm} %<DINmoretext> 87mm} %<KOMAold> 103.5mm} %<NF> 99mm} %<USletter2w|UScommercial9|UScommercial9DW> 3.75in} -\@setplength{mfoldmarkvpos}{\z@} -\@setplength{bfoldmarkvpos}{% +\setplength{mfoldmarkvpos}{\z@} +\setplength{bfoldmarkvpos}{% %<DIN|SwissLeft|SN> 210mm} %<DINmoretext> 192mm} %<KOMAold> 202.5mm} %<NF> 198mm} %<USletter2w> 7.4in} %<UScommercial9|UScommercial9DW> 7.375in} -\@setplength{lfoldmarkhpos}{\z@} +\setplength{lfoldmarkhpos}{\z@} % \end{macrocode} -% \item[Anschrift] +% \end{pseudolength} +% \begin{pseudolength}{toaddrvpos,toaddrhpos,toaddrwidth,toaddrheight, +% backaddrheight,specialmainindent,specialmailrightindent} +% \changes{v3.03}{2009/06/25}{the documentation says, the back-address is part +% of the address field} % \begin{macrocode} -\@setplength{toaddrvpos}{% +\setplength{toaddrvpos}{% %<DIN|SN> 45mm} %<DINmoretext> 27mm} %<SwissLeft> 35.5mm} @@ -624,16 +586,16 @@ %<NF> 35mm} %<USletter2w> 1.8in} %<UScommercial9|UScommercial9DW> 2.1875in} -\@setplength{toaddrhpos}{% +\setplength{toaddrhpos}{% %<DIN|DINmoretext|SwissLeft> 20mm} %<SN> -8mm} %<KOMAold> 1in} -%<KOMAold>\@addtoplength{toaddrhpos}{\oddsidemargin} +%<KOMAold>\addtoplength{toaddrhpos}{\oddsidemargin} %<NF> -10mm} %<USletter2w> .73in} %<UScommercial9> 0.6875in} %<UScommercial9DW> .5625in} -\@setplength{toaddrwidth}{% +\setplength{toaddrwidth}{% %<DIN|DINmoretext> 85mm} %<SN> 90mm} %<SwissLeft|NF> 100mm} @@ -641,47 +603,45 @@ %<USletter2w> 3.11in} %<UScommercial9> 4.5in} %<UScommercial9DW> 3.625in} -% \end{macrocode} -% \changes{v3.03}{2009/06/25}{Anschriftfeld enthält laut Doku die -% Rücksendeadresse, also machen wir das jetzt auch so}%^^A -% \begin{macrocode} -\@setplength{toaddrheight}{% +\setplength{toaddrheight}{% %<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF> 45mm} %<USletter2w> 1.17in} %<UScommercial9|UScommercial9DW> 1.125in} %</!5008> -\@setplength{toaddrindent}{% +\setplength{toaddrindent}{% %<DIN|DINmoretext|SN|SwissLeft|KOMAold|USletter2w|UScommercial9|UScommercial9DW> \z@} -%<*5008> - 5mm} -\@setplength{locvpos}{% - \dimexpr\useplength{toaddrvpos}+\useplength{backaddrheight}} -%</5008> -%<*!5008> +%<5008> 5mm} %<NF> 10mm} -\@setplength{backaddrheight}{% +%<*!5008> +\setplength{backaddrheight}{% %<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF> 5mm} %<USletter2w|UScommercial9|UScommercial9DW> \z@} %<USletter2w|UScommercial9|UScommercial9DW>\KOMAoptions{backaddress=false} -\@setplength{specialmailindent}{\fill} -\@setplength{specialmailrightindent}{1em} +\setplength{specialmailindent}{\fill} +\setplength{specialmailrightindent}{1em} %</!5008> %<*5008> -\@setplength{specialmailindent}{\useplength{toaddrindent}} -\@setplength{specialmailrightindent}{\z@} +\setplength{specialmailindent}{\useplength{toaddrindent}} +\setplength{specialmailrightindent}{\z@} %</5008> % \end{macrocode} -% \item[Absenderergänzung] +% \end{pseudolength} +% \begin{pseudolength}{locvpos,locwidth,lochpos} % \begin{macrocode} -\@setplength{locwidth}{% +%<*5008> +\setplength{locvpos}{% + \dimexpr\useplength{toaddrvpos}+\useplength{backaddrheight}} +%</5008> +\setplength{locwidth}{% %<DIN|DINmoretext|SN|SwissLeft|KOMAold|NF|USletter2w|UScommercial9|UScommercial9DW> \z@} %<5008> 75mm} -%<5008>\@setplength{lochpos}{10mm} +%<5008>\setplength{lochpos}{10mm} %<*!5008> % \end{macrocode} -% \item[Kopf] +% \end{pseudolength} +% \begin{pseudolength}{firstheadvpos,firstheadhpos,firstheadwidth} % \begin{macrocode} -\@setplength{firstheadvpos}{% +\setplength{firstheadvpos}{% %<DIN|DINmoretext|SN|SwissLeft> 8mm} %<KOMAold> 6mm} %<NF> 15mm} @@ -689,59 +649,61 @@ %<UScommercial9|UScommercial9DW> .4375in} %</!5008> %<*5008> -\@setplength{firstheadhpos}{% +\setplength{firstheadhpos}{% \dimexpr \useplength{toaddrhpos}+\useplength{toaddrindent}} %</5008> -\@setplength{firstheadwidth}{% +\setplength{firstheadwidth}{% %<KOMAold> \textwidth} %<NF> 170mm} %<*DIN|DINmoretext|SN|SwissLeft|UScommercial9> \paperwidth} \ifdim \useplength{toaddrhpos}>\z@ - \@addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} + \addtoplength[-2]{firstheadwidth}{\useplength{toaddrhpos}} \else - \@addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} + \addtoplength[2]{firstheadwidth}{\useplength{toaddrhpos}} \fi %</DIN|DINmoretext|SN|SwissLeft|UScommercial9> %<5008> \dimexpr 125mm-\useplength{firstheadhpos}} %<*USletter2w> \paperwidth} -\@addtoplength[-]{firstheadwidth}{.68in} +\addtoplength[-]{firstheadwidth}{.68in} %</USletter2w> %<*UScommercial9DW> \paperwidth} -\@addtoplength[-]{firstheadwidth}{.25in} +\addtoplength[-]{firstheadwidth}{.25in} %</UScommercial9DW> % \end{macrocode} -% \item[Fuß] -% \changes{v2.9u}{2005/03/05}{Der Fuß hat optional eine feste Position 16\,mm -% über der unteren Papierkante.}%^^A +% \end{pseudolength} +% \begin{pseudolength}{firstfootwidth,firstfootvpos} +% \changes{v2.9u}{2005/03/05}{optional the footer is placed 16\,mm above the +% lower paper edge} % \begin{macrocode} -%<!5008>\@setplength{firstfootwidth}{\useplength{firstheadwidth}} +%<!5008>\setplength{firstfootwidth}{\useplength{firstheadwidth}} %<*5008> -\@setplength{firstfoothpos}{% +\setplength{firstfoothpos}{% \dimexpr\useplength{toaddrhpos}+\useplength{toaddrindent}}% -\@setplength{firstfootwidth}{% +\setplength{firstfootwidth}{% \dimexpr \paperwidth-\useplength{toaddrhpos}-\useplength{firstfoothpos}}% %</5008> -%<KOMAold>\@setplength{firstfootvpos}{\paperheight} -%<KOMAold>\@addtoplength{firstfootvpos}{-2cm} +%<KOMAold>\setplength{firstfootvpos}{\paperheight} +%<KOMAold>\addtoplength{firstfootvpos}{-2cm} %<!KOMAold&!NF>\ifnum \scr@compatibility >\@nameuse{scr@v@2.9t}\relax -%<!KOMAold&!NF> \@setplength{firstfootvpos}{\paperheight} -%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{-16mm} +%<!KOMAold&!NF> \setplength{firstfootvpos}{\paperheight} +%<!KOMAold&!NF> \addtoplength{firstfootvpos}{-16mm} %<!KOMAold&!NF>\else -%<!KOMAold&!NF> \@setplength{firstfootvpos}{1in} -%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\topmargin} -%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\headheight} -%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\headsep} -%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\textheight} -%<!KOMAold&!NF> \@addtoplength{firstfootvpos}{\footskip} +%<!KOMAold&!NF> \setplength{firstfootvpos}{1in} +%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\topmargin} +%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\headheight} +%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\headsep} +%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\textheight} +%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\footskip} %<!KOMAold&!NF>\fi -%<NF>\@setplength{firstfootvpos}{266.679mm} +%<NF>\setplength{firstfootvpos}{266.679mm} % \end{macrocode} -% \item[Geschäftszeile] +% \end{pseudolength} +% \begin{pseudolength}{refvpos,refaftervskip,refwidth} % \begin{macrocode} -%<!(5008&B)>\@setplength{refvpos}{% +%<!(5008&B)>\setplength{refvpos}{% %<DIN|SN> 98.5mm} %<DINmoretext> 80.5mm} %<5008&A> 79.4mm} @@ -750,52 +712,45 @@ %<NF> \useplength{tfoldmarkvpos}} %<USletter2w> 3.1in} %<UScommercial9|UScommercial9DW> 3.4375in} -\@setplength{refaftervskip}{% +\setplength{refaftervskip}{% %<!KOMAold&!5008> \baselineskip} %<KOMAold> 2\baselineskip} %<5008> 8.46mm} %<*!5008> % \end{macrocode} -% Bei der Breite der Geschäftszeile brauchen wir wieder eine Sonderlösung, -% damit die Option "`wide"' auch später noch gesetzt werden kann. Also -% verwenden wir hier den Wert 0 als mit der Bedeutung "`ist bei \cs{opening} -% zu berechnen. +% The width of the reference line is somehow special, because setting of +% option \opt{refline=wide} or \opt{refline=narrow} should be possible after +% loading a \file{lco} file. So we use the initial special value 0 and +% calculate it inside \cs{opening} if it is still 0. % \begin{macrocode} -\@setplength{refwidth}{0pt} +\setplength{refwidth}{0pt} % \end{macrocode} -% \item[Signature] +% \end{pseudolength} +% \begin{pseudolength}{sigindent,sigbeforevskip} % \begin{macrocode} -\@setplength{sigindent}{0mm} -\@setplength{sigbeforevskip}{2\baselineskip} +\setplength{sigindent}{0mm} +\setplength{sigbeforevskip}{2\baselineskip} %<DIN|DINmoretext|SN|SwissLeft>\let\raggedsignature=\centering %<KOMAold|NF|USletter2w|UScommercial9|UScommercial9DW>\let\raggedsignature=\raggedright % \end{macrocode} -% \end{description} +% \end{pseudolength} % \begin{macro}{\scr@default@firsthead@fromaddress@hook} -% Einst folgte hier die Definition eines Hooks in der Form -% \changes{v3.13b}{2014/10/04}{\cs{@firsthead} existiert nicht mehr, daher nun -% mit einem neu geschaffenen \emph{hook}}%^^A -% \changes{v3.27}{2019/04/02}{\emph{hook} entfernt}%^^A -% \begin{macrocode} -%<*DINmoretext&ignorethis> -\def\scr@default@firsthead@fromaddress@hook{\def\\{,\ \@gobble}} -%</DINmoretext&ignorethis> -% \end{macrocode} -% Da diese Definition fehlerhaft ist, korrekt wäre etwas wie: -% \begin{macrocode} -%<*DINmoretext&ignorethis> -\def\scr@default@firsthead@fromaddress@hook{% - \renewcommand*\\[1][]{,\ \ignorespaces}% -} -%</DINmoretext&ignorethis> -% und das in 15 Jahren niemandem aufgefallen ist, wird davon ausgegangen, dass -% davon nie jemand Gebrauch gemacht hat und wir deshalb einfach darauf -% verzichten können. -% \end{macrocode} +% \changes{v3.13b}{2014/04/02}{added} +% \changes{v3.27}{2019/04/02}{removed} % \end{macro} % -% Außerdem gibt es noch die Kompatibilitätseinstellungen, die ebenfalls von -% \texttt{KOMAold} aktiviert werden. +% \begin{command}{\yourref,\yourmail,\myref,\customer,\invoice,\defaultfields, +% \toname,\toaddress,\branch,\signature,\fromsig,\name, +% \fromname,\location,\fromlocation,\backaddress, +% \frombackaddress,\telephone,\telephonenum,\specialmail, +% \title,\subject,\place,\fromplace,\ccnameseparator, +% \enclnameseparator,\foldmarkson,\foldmarksoff,\addrfieldon, +% \addrfieldoff,\subjecton,\subjectoff,\subjectafteron, +% \subjectafteroff} +% \begin{macro}{\@title,\@subject} +% \begin{variable}{refitemi,refitemii,refitemiii,branch} +% We have also to do the compatibility commands and variables for +% \file{KOMAold.lco}. % \begin{macrocode} %<*KOMAold> \def\yourref{\setkomavar{yourref}} @@ -834,6 +789,12 @@ \def\location{\setkomavar{location}} \def\fromlocation{\usekomavar{location}} \def\backaddress{\setkomavar{backaddress}} +% \end{macrocode} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% Note: This is dangerous if someone uses a new \KOMAScript{} but copies the +% wrong code. +% \begin{macrocode} \def\@tempa{% \Ifkomavarempty{fromname}{}{% \strut\ignorespaces\usekomavar{fromname}% @@ -841,15 +802,6 @@ \Ifkomavarempty{fromaddress}{}{% \strut\ignorespaces\usekomavar{fromaddress}}% } -% \end{macrocode} -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% Aufgrund der Änderung bezüglich \cs{ifkomavarempty}/\cs{Ifkomavarempty} wird -% hier aus Kompatibilitätsgründen vorerst zweigleisig gefahren. Es kann aber -% an dieser Stelle tatsächlich zu einer Inkompatibilität kommen, wenn jemand -% den Code kopiert hat und jetzt eine neue Version von \KOMAScript{} -% verwendet. -% \begin{macrocode} \ifx\@tempa\scr@backaddress@var% \setkomavar{backaddress}{} \else @@ -892,16 +844,20 @@ \@ObsoleteCommand{\subjectafteroff}{subject=beforeopening}} %</KOMAold> % \end{macrocode} +% \end{variable} +% \end{macro} +% \end{command} % -% Und für \texttt{DIN5008} braucht es dann noch einige zusätzliche -% Einstellungen: -% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnungen -% beseitigt}%^^A +% +% \begin{pseudolength}{specialmailheight} +% \begin{macro}{\@PapersizeWarning} +% For \file{DIN5008a.lco} and \file{DIN5008b.lco} we need additional settings: +% \changes{v3.30}{2020/02/25}{white spaces and end of warning removed} % \begin{macrocode} %</!5008> %<*5008> -\@newplength{specialmailheight} -\@setplength{specialmailheight}{12.7mm} +\newplength{specialmailheight} +\setplength{specialmailheight}{12.7mm} \areaset[5mm]{165mm}{233mm} \KOMAoptions{% fromalign=locationleft, @@ -947,10 +903,12 @@ \endgroup } % \end{macrocode} +% \end{macro} +% \end{pseudolength} % \begin{macro}{\backaddr@format} -% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt -% \cs{unskip}\cs{strut}}%^^A -% Nicht unterstrichene, mehrzeilig oben ausgerichtete Rücksendeadresse. +% \changes{v3.25}{2017/11/15}{using \cs{scr@endstrut} instead of +% \cs{unskip}\cs{strut}} +% Multi line back address without underline. % \begin{macrocode} \renewcommand{\backaddr@format}[1]{\hspace*{\useplength{toaddrindent}}% \parbox[t][\useplength{backaddrheight}][t]% @@ -960,9 +918,9 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\specialmail@format} -% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt -% \cs{unskip}\cs{strut}}%^^A -% Mehrzeilig oben ausgerichtete Versandart. +% \changes{v3.25}{2017/11/15}{using \cs{scr@endstrut} instead of +% \cs{unskip}\cs{strut}} +% Multi line special sending. % \begin{macrocode} \renewcommand{\specialmail@format}[1]{% \parbox[t][\useplength{specialmailheight}][t]% @@ -973,7 +931,8 @@ } % \end{macrocode} % \end{macro} -% Und Schrifteinstellungen: +% \begin{fontelement}{specialmail,backaddress,addressee,fromname,fromaddress,refvalue} +% Some font settings. % \begin{macrocode} \setkomafont{specialmail}{\sffamily\fontsize{10pt}{12pt}\selectfont} \setkomafont{backaddress}{\sffamily\fontsize{8pt}{10pt}\selectfont} @@ -983,33 +942,32 @@ \setkomafont{refvalue}{\sffamily\fontsize{10pt}{12pt}\selectfont} \let\raggedsignature\raggedright %</5008> +%</body&!visualize> % \end{macrocode} +% \end{fontelement} % -% \iffalse -%</!visualize> -%<*visualize> -% \fi % -% \subsection{Makros zur Visualisierung diverser Felder in einem Brief} +% \subsection{Visualizing several fields of a letter} % -% Diese Makros werden nur von \texttt{visualize.lco} verwendet und stellen den -% Hauptteil dieser LCO dar. +% These macros are using be \file{visualize.lco} only. % -% Das Paket benötigt \textsf{eso-pic}. -% \changes{v3.18}{2015/06/03}{lade \textsf{eso-pic} unbedingt}%^^A +% It needs \pkg{eso-pic}. +% \changes{v3.18}{2015/06/03}{loading \textsf{eso-pic} always} % \begin{macrocode} +%<*visualize&body> \RequirePackage{eso-pic} % \end{macrocode} % -% \begin{macro}{\showfields} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} eingefügt}%^^A -% Diese Anweisung erlaubt es, eine Reihe von Felder zu visualisieren. Dazu -% gibt man die gewünschten Felder als Komma separierte Liste im ersten und -% einzigen Argument der Anweisung an. Gibt man ein unbekanntes Feld an, so -% wird nicht etwa ein Fehler, sondern nur eine Warnung ausgegeben. Die -% Visualisierung erfolgt im Hintergrund. Dies wird mit Hilfe des Pakets -% \textsf{eso-pic} erreicht. Wichtig ist noch, dass die Anweisung nicht -% zurückgenommen werden kann. +% \begin{command}{\showfields} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% Command +% \begin{quote} +% \cs{showfields}\marg{field list} +% \end{quote} +% is used to visualize fields of the note paper. The \meta{field list} is a +% comma-separated list of field names. Unknown fields do not result in errors +% but warnings only. The visualization is done in the background using +% \pkg{eso-pic}. A visualized field cannot be un-visualized. % \begin{macrocode} \newcommand*{\showfields}[1]{% \AtBeginLetter{% @@ -1035,33 +993,33 @@ }% } % \end{macrocode} -% \begin{KOMAfont}{field} -% Die Visualisierung erfolgt dabei in einer wählbaren Farbe, die über das -% Element \cs{field} definiert ist. Voreingestellt ist dabei -% \cs{normalcolor}. +% \begin{fontelement}{field} +% The element is used to change the color. Changing the font doesn't make sense. % \begin{macrocode} \newkomafont{field}{\normalcolor} % \end{macrocode} -% \end{KOMAfont} -% \end{macro} +% \end{fontelement} +% \end{command} % -% \begin{macro}{\showfield} -% Die Visualisierung der einzelnen Felder erfolgt über eigene Anweisungen des -% Aufbaus \cs{showfield@\emph{Feldname}}. In der Regel sind die Felder -% rechteckig. Zur Visualisierung solcher Felder können daher einheitliche -% Anweisungen verwendet werden. Diese besitzen vier Argumente: -% \begin{enumerate} -% \item Abstand vom linken Rand (x-Koordinate des Rahmens) -% \item Abstand vom oberen Rand (y-Koordinate des Rahmens) -% \item Breite des Feldes -% \item Höhe des Feldes; ist dieser Wert negativ gibt es keine feste Höhe, -% sondern nur eine Art unbestimmte Ausdehnung mit einer Mindesthöhe -% \end{enumerate} +% \begin{command}{\showfield} +% A single field is visualized using: +% \begin{quote} +% \cs{showfield}\marg{field name} +% \end{quote} +% This uses a macro \cs{showfield@\meta{field name}}. Usually fields are +% rectangles. Such fields can be visualized always the same way using four +% parameters: \meta{offset from left}, \meta{offset from top}, \meta{width}, +% \meta{height}. A negative \meta{height} means a minimum of -\meta{height} +% but maybe more. % % \begin{macro}{\showfield@by@frame} -% Diese Anweisung visualisiert ein rechteckiges Feld durch Rahmen. Bei einer -% negativen Höhe wird ein unten offener Rahmen gezeichnet, bei dem die -% vertikalen Linien als Pfeile nach unten ausgeführt werden. +% To show a field by a frame +% \begin{quote} +% \cs{showfield@by@frame}\marg{offset from left}\marg{offset from top}% +% \marg{width}\marg{height} +% \end{quote} +% is used. If \meta{height} is negative, arrows of length -\meta{height} are +% used and the frame bottom is omitted. % \begin{macrocode} \newcommand*{\showfield@by@frame}[4]{% \thinlines @@ -1088,9 +1046,12 @@ % \end{macro} % % \begin{macro}{\showfield@by@edges} -% Diese Anweisung visualisert ein rechteckiges Feld, indem es die Ecken des -% Feldes durch kleine Striche markiert. Bei negativer Höhe entfallen die -% unteren Eckmarkierungen. +% To show a field by edge markers +% \begin{quote} +% \cs{showfield@by@edges}\marg{offset from left}\marg{offset from top}% +% \marg{width}\marg{height} +% \end{quote} +% is used. If \meta{height} is negative the bottom markers are omitted. % \begin{macrocode} \newcommand*{\showfield@by@edges}[4]{% \thinlines @@ -1108,19 +1069,21 @@ \fi } % \end{macrocode} -% \begin{macro}{\edgesize} -% Die Länge der Ecklinien wird über dieses Makro bestimmt. Voreingestellt ist -% 1\,ex. +% \begin{command}{\edgesize} +% The size of the edges is 1\,ex by default. % \begin{macrocode} \newcommand*{\edgesize}{1ex} % \end{macrocode} -% \end{macro} +% \end{command} % \end{macro} % % \begin{macro}{\showfield@by@rule} -% Diese Anweisung visualisiert ein rechteckiges Feld, indem es das komplette -% Feld einfärbt. Es wird hier nicht zwischen unten offenen und geschlossenen -% Feldern unterschieden. +% To show a field by a filled frame (without frame border) +% \begin{quote} +% \cs{showfield@by@rune}\marg{offset from left}\marg{offset from top}% +% \marg{width}\marg{height} +% \end{quote} +% is used. The absolute value of \meta{height} is used. % \begin{macrocode} \newcommand*{\showfield@by@rule}[4]{% \ifdim #4<\z@ @@ -1132,16 +1095,21 @@ % \end{macrocode} % \end{macro} % -% Die Voreinstellung für die Visualsierung ist mit Rahmen: +% \begin{command}{\showfield} +% The default is to use a frame. % \begin{macrocode} \newcommand*{\showfield}{} \let\showfield\showfield@by@frame % \end{macrocode} +% \end{command} % -% \begin{macro}{\setshowstyle} -% Dieser Stil der Visualisierung kann per Anweisung umgeschaltet -% werden. Existiert ein Stil nicht, so wird kein Fehler gemldet, sondern -% lediglich eine Warnung und der Standardstil verwendet: +% \begin{command}{\setshowstyle} +% But the default can changed using +% \begin{quote} +% \cs{setshowstyle}\marg{style} +% \end{quote} +% A warning (no error!) is reported if \cs{showfield@by@\meta{style}} does not +% exist. In this case \meta{style} is \texttt{frame} again. % \begin{macrocode} \newcommand*{\setshowstyle}[1]{% \@ifundefined{showfield@by@#1}{% @@ -1155,12 +1123,12 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % -% Die folgenden Felder werden derzeit unterstützt: +% Currently following fields are available: % \begin{macro}{\showfield@test} -% ein Testfeld \texttt{test} mit den Koordinaten: +% \texttt{test} is a test field with coordinates: % $(1\,\mathrm{cm},1\,\mathrm{cm})\times(10\,\mathrm{cm},15\,\mathrm{cm})$ % \begin{macrocode} \newcommand*{\showfield@test}{% @@ -1169,9 +1137,8 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\showfield@head} -% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstheadhpos}%^^A -% beachtet} -% das Feld \texttt{head} für den Kopfbereich des Briefbogens: +% \changes{v3.05}{2009/11/09}{using \plen{firstheadhpos}} +% \texttt{head} is the header of the note paper. % \begin{macrocode} \newcommand*{\showfield@head}{% \ifdim\useplength{firstheadhpos}<\paperwidth @@ -1199,9 +1166,8 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\showfield@foot} -% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstfoothpos}%^^A -% beachtet} -% das Feld \texttt{foot} für den Fußbereich des Briefbogens: +% \changes{v3.05}{2009/11/09}{using \plen{firstfoothpos}} +% \texttt{foot} is the footer of the note paper. % \begin{macrocode} \newcommand*{\showfield@foot}{% \ifdim\useplength{firstfoothpos}<\paperwidth @@ -1229,9 +1195,9 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\showfield@address} -% \changes{v3.07a}{2011/01/10}{Implementierung der Höhe an die Änderung in -% \textsf{scrlttr}~3.03b angepasst.} -% das Feld \texttt{address} für das Feld mit der Anschrift: +% \changes{v3.07a}{2011/01/10}{implementation adapted for change in +% \cls*{scrlttr2} 3.03b} +% \texttt{address} is the address field of the addressee. % \begin{macrocode} \newcommand*{\showfield@address}{% \setlengthtoplength{\@tempskipa}{toaddrhpos}% @@ -1246,34 +1212,34 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\showfield@location} -% \changes{v3.07a}{2011/01/10}{Implementierung der Höhe an die Änderung in -% \textsf{scrlttr}~3.03b angepasst.} -% das Feld \texttt{location} mit der Absenderergänzung: +% \changes{v3.07a}{2011/01/10}{implementation adapted for change in +% \cls*{scrlttr2} 3.03b} +% \texttt{location} is the field with extra information about the sender. % \begin{macrocode} \newcommand*{\showfield@location}{% \begingroup \ifdim \useplength{locwidth}=\z@% - \@setplength{locwidth}{\paperwidth}% + \setplength{locwidth}{\paperwidth}% \ifdim \useplength{toaddrhpos}>\z@ - \@addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}% + \addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}% \else - \@addtoplength[2]{locwidth}{\useplength{toaddrhpos}}% + \addtoplength[2]{locwidth}{\useplength{toaddrhpos}}% \fi - \@addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}% + \addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}% \if@bigloc% - \@setplength[.66667]{locwidth}{\useplength{locwidth}}% + \setplength[.66667]{locwidth}{\useplength{locwidth}}% \else% - \@setplength[.5]{locwidth}{\useplength{locwidth}}% + \setplength[.5]{locwidth}{\useplength{locwidth}}% \fi% \fi% \ifdim \useplength{lochpos}=\z@% - \@setplength{lochpos}{\useplength{toaddrhpos}}% + \setplength{lochpos}{\useplength{toaddrhpos}}% \fi \ifdim \useplength{locvpos}=\z@% - \@setplength{locvpos}{\useplength{toaddrvpos}}% + \setplength{locvpos}{\useplength{toaddrvpos}}% \fi \ifdim \useplength{locheight}=\z@% - \@setplength{locheight}{\useplength{toaddrheight}}% + \setplength{locheight}{\useplength{toaddrheight}}% \fi \setlengthtoplength[-]{\@tempskipa}{lochpos}% \ifdim \@tempskipa<\z@ @@ -1289,23 +1255,23 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\showfield@refline} -% das Feld mit der Geschäftszeile: +% \texttt{refline} is the reference line. % \begin{macrocode} \newcommand*{\showfield@refline}{% \begingroup \ifdim\useplength{refwidth}=\z@ \if@refwide - \@setplength{refwidth}{\paperwidth}% + \setplength{refwidth}{\paperwidth}% \ifdim \useplength{toaddrhpos}>\z@ - \@setplength{refhpos}{\useplength{toaddrhpos}}% + \setplength{refhpos}{\useplength{toaddrhpos}}% \else - \@setplength[-]{refhpos}{\useplength{toaddrhpos}}% + \setplength[-]{refhpos}{\useplength{toaddrhpos}}% \fi - \@addtoplength[-2]{refwidth}{\useplength{refhpos}}% + \addtoplength[-2]{refwidth}{\useplength{refhpos}}% \else - \@setplength{refwidth}{\textwidth}% - \@setplength{refhpos}{\oddsidemargin}% - \@addtoplength{refhpos}{1in}% + \setplength{refwidth}{\textwidth}% + \setplength{refhpos}{\oddsidemargin}% + \addtoplength{refhpos}{1in}% \fi \else\ifdim\useplength{refhpos}=\z@ \begingroup @@ -1322,7 +1288,7 @@ \divide\@tempdima by\@tempdimc \fi \edef\@tempa{\noexpand\endgroup - \noexpand\@setplength{refhpos}{\the\@tempdima}}% + \noexpand\setplength{refhpos}{\the\@tempdima}}% \@tempa \fi\fi \showfield{\useplength{refhpos}}{\useplength{refvpos}}% @@ -1332,19 +1298,24 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\showenvelope} +% \begin{command}{\showenvelope} % \begin{macro}{\@showenvelope} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@showenvelope} -% \begin{macro}{\@@@showenvelope} +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@showenvelope,\@@@showenvelope} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Es kann auch ein Briefumschlag angezeigt werden. Dazu müssen verschiedene -% Parameter des Umschlags bekannt sein. Der Umschlag wird immer hochkant auf -% der aktuellen Seite angezeigt. Hierfür wird das Paket \textsf{graphicx} -% benötigt. -% \changes{v3.18}{2015/06/03}{lade \textsf{graphicx} unbedingt}%^^A +% \cs{kernel@ifnextchar}} +% \changes{v3.18}{2015/06/03}{always loading \pkg{graphicx}} +% We can also visualize an envelope. Here are several parameters needed. +% \begin{quote} +% \cs{showenvelope}\marg{width}\marg{height}\marg{hoffset}\marg{voffset}% +% \marg{commands} +% \end{quote} +% The envelope is shown in portrait format at the current page. Package +% \pkg{graphicx} is used. The \meta{hoffset} is the horizontal distance of the +% note paper from the left and right edge of the envelope. The \meta{voffset} +% is the same for the top and bottom edge. The \meta{commands} is extra code +% to show the some elements. % \begin{macrocode} \RequirePackage{graphicx} \newcommand*{\showenvelope}{} @@ -1400,14 +1371,6 @@ } \def\@@showenvelope(#1,#2)(#3,#4)[#5]{% % \end{macrocode} -% Die Argumente sind: -% \begin{enumerate} -% \item Breite des Umschlags, -% \item Höhe des Umschlags, -% \item Abstand des Briefbogens vom linken und rechten Rand des Umschlags, -% \item Abstand des Briefbogens vom oberen und unteren Rand des Umschlags, -% \item optionale weitere Anweisungen, zum Setzen von Elementen. -% \end{enumerate} % \begin{macrocode} \newpage \vspace*{\fill} @@ -1508,20 +1471,21 @@ \newpage } % \end{macrocode} -% \begin{KOMAfont}{envelope} -% Farbe des Umschlagrahmens. +% \begin{fontelement}{envelope} +% Used to change the color of the envelope frame (font changes do not make sense). % \begin{macrocode} \newkomafont{envelope}{\normalcolor} % \end{macrocode} -% \end{KOMAfont} -% \begin{KOMAfont}{letter} -% Farbe des getrichelten Briefbogens im Umschlag +% \end{fontelement} +% \begin{fontelement}{letter} +% Used to change the color of the dashed note paper inside the envelope (font +% changes do not make sende). % \begin{macrocode} \newkomafont{letter}{\normalcolor} % \end{macrocode} -% \end{KOMAfont} -% \begin{macro}{\unmeasuredFrame} -% Ein Rahmen ohne Maßlinien. +% \end{fontelement} +% \begin{command}{\unmeasuredFrame} +% Show a frame without measuring. % \begin{macrocode} \newcommand*{\unmeasuredFrame}{} \def\unmeasuredFrame(#1,#2){% @@ -1531,12 +1495,10 @@ \put(0,\LenToUnit{#2}){\line(0,-1){\LenToUnit{#2}}}% } % \end{macrocode} -% \end{macro} -% \begin{macro}{\measuredFrameLB} -% \begin{macro}{\measuredFrameLT} -% \begin{macro}{\measuredFrameRB} -% \begin{macro}{\measuredFrameRT} -% Die Maßlinien für ein Rechteck. +% \end{command} +% \begin{command}{\measuredFrameLB,\measuredFrameLT,\measuredFrameRB, +% \measuredFrameRT} +% Show the measuring of a frame. % \begin{macrocode} \newcommand*{\measuredFrameLB}{} \def\measuredFrameLB(#1,#2){% @@ -1563,15 +1525,12 @@ \put(0,\LenToUnit{\expandafter\dimexpr #2+.5mm\relax}){\measureLineHT{#1}}% } % \end{macrocode} +% \end{command} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\measureLineV} -% Vertikale Maßlinie ohne Beschriftung: +% \end{command} +% \begin{command}{\measureLineV} +% Vertical measuring without text. % \begin{macrocode} \newcommand*{\measureLineV}[1]{% \begin{picture}(0,0) @@ -1582,10 +1541,9 @@ \end{picture} } % \end{macrocode} -% \end{macro} -% \begin{macro}{\measureLineVL} -% \begin{macro}{\measureLineVR} -% Vertikale Maßlinie mit Beschriftung links bzw. rechts. +% \end{command} +% \begin{command}{\measureLineVL,\measureLineVR} +% Vertical measuring with text left or right of the line. % \begin{macrocode} \newcommand*{\measureLineVL}[1]{% \begin{picture}(0,0) @@ -1602,10 +1560,8 @@ \end{picture} } % \end{macrocode} -% \begin{macro}{\ValPerUnit} -% \begin{macro}{\unitfactor} -% Zeige die Längen in \cs{unitlength} mit einer Genauigkeit von -% 1/\cs{unitfactor} an. +% \begin{command}{\ValPerUnit,\unitfactor} +% Shows a length in \len{unitlength} with a accuracy of 1/\cs{unitfactor}. % \begin{macrocode} \newcommand*{\ValPerUnit}[1]{% \begingroup @@ -1617,12 +1573,9 @@ } \newcommand*{\unitfactor}{1} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\measureLineH} -% Horizontale Maßlinie ohne Beschriftung: +% \end{command} +% \begin{command}{\measureLineH} +% Horizontal measuring without text. % \begin{macrocode} \newcommand*{\measureLineH}[1]{% \begin{picture}(0,0) @@ -1632,10 +1585,9 @@ \end{picture} } % \end{macrocode} -% \end{macro} -% \begin{macro}{\measureLineHB} -% \begin{macro}{\measureLineHT} -% Horizontale Maßlinie mit Beschriftung darunter bzw. oben. +% \end{command} +% \begin{command}{\measureLineHB,\measureLineHT} +% Horizontal measuring with text below or above. % \begin{macrocode} \newcommand*{\measureLineHB}[1]{% \begin{picture}(0,0) @@ -1654,19 +1606,18 @@ \end{picture} } % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{KOMAfont}{measure} -% Farbe der Maßlinien. +% \end{command} +% \begin{fontelement}{measure} +% Used to change the color of a measuring line (font changes doe not make sense). % \begin{macrocode} \newkomafont{measure}{\normalcolor} % \end{macrocode} -% \end{KOMAfont} -% \end{macro} +% \end{fontelement} +% \end{command} % -% \begin{macro}{\showISOenvelope} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Zeigt einen DIN/ISO C4, C5, DL=C5/6, C6/5 Umschlag. +% \begin{command}{\showISOenvelope} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Show a DIN/ISO C4, C5, DL=C5/6, or C6/5 envelope, depending on the argument. % \begin{macrocode} \newcommand*{\showISOenvelope}[1]{% \Ifstr{#1}{C4}{% @@ -1696,11 +1647,11 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\showUScommercial} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Zeige ein US commercial Umschlag der Nummer 9 und 10 +% \begin{command}{\showUScommercial} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Show a US commercial no. 9 or 10 envelope, depending on the argument. % \begin{macrocode} \newcommand*{\showUScommercial}[1]{% \Ifstr{#1}{9}{% @@ -1714,29 +1665,27 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\showUScheck} -% Zeige einen US check Umschag. +% \begin{command}{\showUScheck} +% Show a US check envelope. % \begin{macrocode} \newcommand*{\showUScheck}{% \showenvelope(8.625in,3.625in)% } +%</visualize&body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \iffalse -%</visualize> -%<*!visualize> -% \fi % -% \begin{macro}{\showUSletterCixDW} -% Ein Umschlag im Format commercial No. 9 mit 2 Fenstern, -% Absenderfenster $3\frac{1}{2}\,\mathrm{in}\times\frac{7}{8}\,\mathrm{in}$, -% $\frac{5}{16}\,\mathrm{in}$ von links und $2\frac{1}{2}\,\mathrm{in}$ von -% unten. +% \begin{command}{\showUSletterCixDW} +% Show a Us commercial no. 9 envelope with two windows (this is defined in +% \file{UScommercial9DW.lco} not in \file{visualize.lco}). +% The sender window is $3\frac{1}{2}\,\mathrm{in}\times\frac{7}{8}\,\mathrm{in}$, +% $\frac{5}{16}\,\mathrm{in}$ from the left and $2\frac{1}{2}\,\mathrm{in}$ +% from the bottom. % \begin{macrocode} -%<*UScommercial9DW> +%<*!visualize&UScommercial9DW&body> \newcommand*{\showUSletterCixDW}{% \showUScommercial9[{% \thicklines @@ -1748,22 +1697,23 @@ (3.5in,.875in)% }]% } -%</UScommercial9DW> +%</!visualize&UScommercial9DW&body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \iffalse -%</!visualize> -%</body> +% \begin{macrocode} %</lco> -% \fi -% +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-letterclassoptions.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx b/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx index da04fa553c..646532522f 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-listsandtabulars.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-listsandtabulars.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-listsandtabulars.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-listsandtabulars.dtx 3563 2021-02-15 18:40:44Z kohm $ +%%% From File: $Id: scrkernel-listsandtabulars.dtx 3708 2022-02-15 15:24:12Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-02-15 19:40:44 +0100 (Mon, 15 Feb 2021) $ + \filedate$Date: 2022-02-15 16:24:12 +0100 (Di, 15. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ + \filerevision$Revision: 3708 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-listsandtabulars.dtx}% @@ -73,71 +36,60 @@ (lists and tabulars)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-listsandtabulars.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-listsandtabulars.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2002/07/01}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/15}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/15}{whole implementation documentation in English} % -% \changes{v2.95}{2002/07/01}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \GetFileInfo{scrkernel-listsandtabulars.dtx} +% \title{Code of Lists, Tabulars and Similar Objects of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-listandtabulars.dtx} provides mainly code for all kind of +% lists namely \env{itemize}, \env{enumerate}, \env{description}, +% \env{labeling}, \env{quote}, \env{quotation} and \env{addmargin} for all +% \KOMAScript{} classes. And because the code for \env{tabbing} and +% \env{tabular} is only some lines, it is added here too. +% \end{abstract} +% \tableofcontents % -% \section{Listen und Tabellen} +% \section{User Manual} % -% \KOMAScript{} verfügt über einige zusätzliche Listenumgebungen. Ein -% Teil dieser Listenumgebungen ist nicht sofort auf den ersten Blick -% als solche zu erkennen, so wie dies schon bei den Standardklassen -% beispielsweise mit \texttt{quote} und \texttt{quotation} der Fall -% ist. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse -%<*option> -% \fi +% \MaybeStop{\PrintIndex} % -% \subsection{Optionen} -% Diese Umgebungen werden nicht durch Optionen beeinflusst. +% \section{Implementation of Lists} % +% \subsection{Options} % -% \iffalse -%</option> -%<*body> -%<*class> -% \fi +% The environments do not depend on options. % +% \subsection{List margins} % -% \subsection{Ränder in Listen} -% -% \begin{Length}{leftmargini} -% \begin{Length}{leftmarginii} -% \begin{Length}{leftmarginiii} -% \begin{Length}{leftmarginiv} -% \begin{Length}{leftmarginv} -% \begin{Length}{leftmarginvi} -% \begin{Length}{leftmargin} -% \begin{Length}{labelsep} -% \begin{Length}{labelwidth} -% Für die Listenumgebungen in verschiedenen Stufen müssen Ränder -% definiert werden. Hinzu kommen noch die Breite eines Labels und der -% Abstand nach einem Label. +% \begin{length}{\leftmargini,\leftmarginii,\leftmarginiii,\leftmarginiv, +% \leftmarginv,\leftmarginvi,\leftmargin} +% Usually lists can be nested at most six levels (but usually only four are +% used). So we have to define six different margins depending on the level +% (roman number added to \cs{leftmargin}): % \begin{macrocode} +%<*body> +%<*class> %<*!letter> \if@twocolumn \setlength{\leftmargini}{2em} @@ -158,132 +110,98 @@ \setlength{\leftmarginvi}{1em} %<!letter>\fi \setlength{\leftmargin}{\leftmargini} +% \end{macrocode} +% \end{length}^^A \leftmargini … \leftmarginvi,\leftmargin +% +% +% \subsection{List labels} +% +% \begin{length}{\labelsep,\labelwidth} +% If a list has a label we need a label width and a horizontal distance after +% the label. +% \begin{macrocode} \setlength{\labelsep}{.5em} \setlength{\labelwidth}{\leftmargini} \addtolength{\labelwidth}{-\labelsep} % \end{macrocode} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% -% Weil die Gelegenheit so günstig ist, setzen wir hier auch gleich -% noch ein paar \emph{penalties} (Erlaubsnispunkte). +% \end{length}^^A \labelsep,\labewidth +% +% +% \subsection{List penalties} +% +% \begin{macro}{\@beginparpenalty,\@endparpenalty,\@itempenatly} +% Page breaks at the begin an end of lists or items are better than somewhere +% else but not much. % \begin{macrocode} \@beginparpenalty=-\@lowpenalty \@endparpenalty =-\@lowpenalty \@itempenalty =-\@lowpenalty % \end{macrocode} +% \end{macro} % % -% \subsection{Verschiedene Längen für Tabellen, Arrays und Tabulatoren} -% -% Vorbemerkung: Arrays sind im Prinzip Tabellen zur Verwendung im -% mathemathischen Modus. -% -% \begin{Length}{arraycolsep} -% \begin{Length}{tabcolsep} -% \begin{Length}{arrayrulewidth} -% \begin{Length}{doublerulewidth} -% \begin{Length}{tabbingsep} -% Bei diesen Längen handelt es sich um die Abstände der Spalten in -% \texttt{array}- und \texttt{tabular}-Umgebungen, sowie um die Breite -% und den Abstand der Trennlinien. Hinzu kommt noch der \cs{'} Abstand -% in \texttt{tabbing}-Umgebungen. -% \begin{macrocode} -\setlength\arraycolsep{5\p@} -\setlength\tabcolsep{6\p@} -\setlength\arrayrulewidth{.4\p@} -\setlength\doublerulesep{2\p@} -\setlength\tabbingsep{\labelsep} -% \end{macrocode} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% \end{Length} -% -% -% \subsection{Marken in Listen} -% -% \begin{macro}{\theenumi} -% \begin{macro}{\theenumii} -% \begin{macro}{\theenumiii} -% \begin{macro}{\theenumiv} -% \begin{macro}{\labelenumi} -% \begin{macro}{\labelenumii} -% \changes{v2.4m}{1997/02/28}{öffnende Klammer entsprechend Doku -% entfernt}%^^A -% \begin{macro}{\labelenumiii} -% \begin{macro}{\labelenumiv} -% \begin{macro}{\p@enumii} -% \begin{macro}{\p@enumiii} -% \begin{macro}{\p@enumiv} -% \begin{macro}{\labelitemi} -% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert} -% \changes{v3.33}{2021/02/15}{Usage of new font element -% \texttt{labelitemi}} -% \begin{macro}{\labelitemii} -% \changes{v2.5g}{1999/10/09}{\cs{textendash} verwendet} -% \changes{v3.33}{2021/02/15}{Usage of new font element -% \texttt{labelitemii}} -% \begin{macro}{\labelitemiii} -% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert} -% \changes{v3.33}{2021/02/15}{Usage of new font element -% \texttt{labelitemiii}} -% \begin{macro}{\labelitemiv} -% \changes{v2.5g}{1999/10/09}{Mathemodus eliminiert} -% \changes{v3.33}{2021/02/15}{Usage of new font element -% \texttt{labelitemiv}} -% Für die numerierten Listenumgebungen müssen Marken bzw. Numerierungen -% festgelegt werden. Dazu wird eine Darstellung der Zähler, ihr Prefix -% und ihre Labeldarstellung neu definiert. +% \subsection{List items} +% +% \begin{command}{\theenumi,\theenumii,\theenumiii,\theenumiv} +% There are four levels of \env{enumerate} items with their numbers in Arabic, +% lower case letters, lowercase Roman numbers, uppercase letters. % \begin{macrocode} \renewcommand*\theenumi{\@arabic\c@enumi} \renewcommand*\theenumii{\@alph\c@enumii} \renewcommand*\theenumiii{\@roman\c@enumiii} \renewcommand*\theenumiv{\@Alph\c@enumiv} +% \end{macrocode} +% \end{command} +% +% \begin{command}{\labelenumi} +% \begin{command}{\labelenumii} +% \changes{v2.4m}{1997/02/28}{opening brace removed} +% \begin{command}{\labelenumiii,\labelenumiv} +% The printed labels consist of the previously defined numbers followed by a +% dot or brace. +% \begin{macrocode} \newcommand*\labelenumi{\theenumi.} \newcommand*\labelenumii{\theenumii)} \newcommand*\labelenumiii{\theenumiii.} \newcommand*\labelenumiv{\theenumiv.} +% \end{macrocode} +% \end{command} +% \end{command} +% \end{command} +% +% \begin{macro}{\p@enumii,\p@enumiii,\p@enumiv} +% References to \env{enumerate} items are prefixed by the parent number and +% additional separation signs like braces. +% \begin{macrocode} \renewcommand*\p@enumii{\theenumi} \renewcommand*\p@enumiii{\p@enumii(\theenumii)} \renewcommand*\p@enumiv{\p@enumiii\theenumiii} +% \end{macrocode} +% \end{macro} +% +% \begin{command}{\labelitemi,\labelitemii,\labelitemiii,\labelitemiv} +% \changes{v2.5g}{1999/10/09}{math mode eliminated} +% \changes{v3.33}{2021/02/15}{Usage of new font element} +% The characters used for \env{itemize} items. Again four levels are +% supported. All of them use a own font element. +% \begin{macrocode} \newcommand*\labelitemi{\usekomafont{labelitemi}{\textbullet}} \newcommand*\labelitemii{\usekomafont{labelitemii}{\textendash}} \newcommand*\labelitemiii{\usekomafont{labelitemiii}{\textasteriskcentered}} \newcommand*\labelitemiv{\usekomafont{labelitemiv}{\textperiodcentered}} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \labelitemi … \labelitemiv % % -% \subsection{Definition der Umgebungen} +% \subsection{Definition of the environments} % % \begin{environment}{description} -% Die \texttt{description}-Umgebung dient der Beschreibung von -% einzelnen Begriffen. Der Begriff aus dem optionalen Argument des -% \cs{item}-Befehls wird in einem speziellen Font, dem \cs{descfont}, -% gesetzte. +% \begin{command}{\descriptionlabel} +% \changes{v3.36}{2022/02/15}{using \cs{usekomafont\{descriptionlabel\}} instead +% of \cs{descfont}} +% This is used to describe a single term. The terms should be short, because +% line breaks inside the terms are not supported. The term is the optional +% argument of \cs{item}. It is printed with font of element \fnt{descriptionlabel}. % \begin{macrocode} \newenvironment{description}{% \list{}{\labelwidth\z@ \itemindent-\leftmargin @@ -292,26 +210,22 @@ \endlist } \newcommand*{\descriptionlabel}[1]{% - \hspace{\labelsep}\descfont #1% + \hspace{\labelsep}\usekomafont{descriptionlabel}{#1}% } % \end{macrocode} +% \end{command} % \end{environment} % % \begin{environment}{labeling} -% \begin{macro}{\labelinglabel} -% \changes{v3.02}{2009/01/01}{Neue Elemente \texttt{labelinglabel} und -% \texttt{labelingseparator} werden verwendet} -% \changes{v3.02c}{2009/01/28}{\texttt{labelinglabel} und -% \texttt{labelingseparator} werden nun auch zur Berechnung der Breite -% verwendet} -% \changes{v3.03a}{2009/04/02}{Argumente in der Berechnung der Label-Breite -% korrigiert}%^^A -% Die \cs{labeling}-Umgebung ist eine Erweiterung des \textsf{Script} -% Pakets. Sie erwartet ein optionales und ein normales Argument. Das -% optionale Argument beschreibt einen speziellen Trenntext zwischen -% \cs{item}-Marke und \cs{item}-Beschreibung. Das eigentliche Argument -% wird für die Ermittlung der Einrückung des Beschreibungstextes -% bzw. des Trenntextes benötigt. +% \begin{command}{\labelinglabel} +% \changes{v3.02}{2009/01/01}{using font elements \fnt{labelinglabel} and +% \fnt{labelingseparator}} +% \changes{v3.02c}{2009/01/28}{using font elements \fnt{labelinglabel} and +% \fnt{labelingseparator} also for the calculation of the width} +% \changes{v3.03a}{2009/04/02}{fixed argument in the label width calculation} +% The \env{labeling} environment is an extension of \env{description}. It has +% an optional separation string (\texttt{\#1}) added behind every label. The +% width of the labels are the width of the mandatory argument (\texttt{\#2}). % \begin{macrocode} %</class> \newenvironment{labeling}[2][]{% @@ -332,14 +246,12 @@ } %<*class> % \end{macrocode} -% \end{macro} +% \end{command} % \end{environment} % % \begin{environment}{verse} -% \changes{v2.3g}{1996/01/14}{\cs{item} muss keine "`[]"'-Klammern -% mehr verarbeiten} -% Die Verse-Umgebung ist für Zitate in Gedichtform und ähnliches -% gedacht. +% \changes{v2.3g}{1996/01/14}{\cs{item} does not wait for \texttt{[]}} +% The environment for short poems. % \begin{macrocode} \newenvironment{verse}{% \let\\=\@centercr @@ -356,16 +268,11 @@ % \end{macrocode} % \end{environment} % -% \begin{environment}{quotation} -% \changes{v2.3g}{1996/01/14}{\cs{item} muss keine "`[]"'-Klammern -% mehr verarbeiten} -% \begin{environment}{quote} -% \changes{v2.3g}{1996/01/14}{\cs{item} muss keine "`[]"'-Klammern -% mehr verarbeiten} -% Die \texttt{quotation}- und die \texttt{quote}-Umgebung erlauben -% rechts und links eingerückte Passagen. Absätze werden entweder in -% der ersten Zeile zusätzlich eingerückt oder durch vertikalen Abstand -% markiert. +% \begin{environment}{quotation,quote} +% \changes{v2.3g}{1996/01/14}{\cs{item} does not wait for \texttt{[]}} +% Two environments for left and right indented text. The difference of both +% is: \env{quotation} works with paragraph indent (first line is indented), +% \env{quote} works with paragraph distance. % \begin{macrocode} \newenvironment{quotation}{% \list{}{\listparindent 1em% @@ -385,46 +292,35 @@ } % \end{macrocode} % \end{environment} -% \end{environment} % % \begin{environment}{addmargin} -% \changes{v2.8q}{2001/11/29}{neue Umgebung}%^^A -% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} korrigiert}%^^A +% \changes{v2.8q}{2001/11/29}{added} +% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} reset} % \begin{environment}{addmargin*} -% \changes{v2.8q}{2001/11/29}{neue Umgebung}%^^A -% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} korrigiert}%^^A -% \changes{v3.17}{2015/03/23}{robuster gegen Umbrüche am Anfang}%^^A -% \changes{v3.22}{2016/08/02}{Umbruchtest nur für doppelseitige -% Dokumente}%^^A -% Diese beiden Umgebungen ähneln \texttt{quote} und -% \texttt{quotation}. Dabei werden Absatzeinzug und Absatzabstand -% nicht verändert. Die einzige Veränderung besteht in den Rändern. Wie -% stark die Ränder verändert werden, hängt dabei von den Parametern -% ab. Ist nur der obligatorische Parameter angegeben, werden die -% Ränder auf beiden Seiten um diesen Wert vergrößert. Ist ein -% optionaler Parameter angegeben, so ist dies bei \texttt{addmargin} -% der linke und bei \texttt{addmargin*} der innere Rand. Der -% obligatorische Parameter ist dann der andere Rand. Diese -% Entscheidung ist das einzige, was die Umgebungen selbst erledigen -% müssen. +% \changes{v2.8q}{2001/11/29}{added} +% \changes{v2.95a}{2006-07-20}{\cs{@listdepth} reset} +% \changes{v3.17}{2015/03/23}{improved handling of page breaks at the beginning} +% \changes{v3.22}{2016/08/02}{page break test for double-sided documents} +% Both environments are similar to \env{quote} and \env{quotation}, but the +% indent is not fix. If only the mandatory argument (\texttt{\#2}) is used, it +% is the left and right indent. If the optional argument (\texttt{\#1}) is +% also used, it is the left indent with \env{addmargin} resp. the inner indent +% with \env{addmargin*}. Note, negative indents will extend to the +% margins. Note, that page breaks inside \env{addmargin*} should be avoided, +% because they result in wrong margins at the second, fourth, sixth etc. page. % \begin{macro}{\@addmargin} -% \changes{v2.8q}{2001/11/29}{neu (intern)}%^^A -% \changes{v2.95}{2002/07/01}{\cs{item} muss keine "`[]"'-Klammern -% mehr verarbeiten}%^^A -% \changes{v2.9q}{2003/03/24}{\cs{labelsep} bleibt unverändert}%^^A -% \changes{v2.95a}{2006/07/20}{\cs{@tmpcnta} bleibt unverändert}%^^A -% \changes{v3.05b}{2010/04/29}{\cs{partopsep} muss auf 0 statt \cs{parskip} -% gesetzt werden, weil es zu \cs{topsep} addiert wird}%^^A -% \changes{v3.17}{2015/03/23}{robuster gegen Umbrüche am Anfang}%^^A -% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd} -% ersetzt}%^^A -% Der Rest wird von diesem Makro erledigt. +% \changes{v2.8q}{2001/11/29}{added} +% \changes{v2.95}{2002/07/01}{\cs{item} does not wait for \texttt{[]}} +% \changes{v2.9q}{2003/03/24}{unchanged \len{labelsep}} +% \changes{v2.95a}{2006/07/20}{unchanged \cs{@tmpcnta}} +% \changes{v3.05b}{2010/04/29}{\len{partopsep} has to be 0 instead of +% \len{parskip} because of adding \len{topsep}} +% \changes{v3.17}{2015/03/23}{improved handling of page breaks at the beginning} +% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} replaced by \cs{Ifthispageodd}} % \begin{macro}{\scr@addmargin@startpage} -% \changes{v3.12}{2013/10/26}{neu (intern, lokal)}%^^A -% \changes{v3.12}{2013/10/26}{Test auf Seitenumbruch in -% \texttt{addmargin*}}%^^A -% \changes{v3.22}{2016/10/21}{\cs{topsep} und \cs{partopsep} werden -% erhalten}%^^A +% \changes{v3.12}{2013/10/26}{added} +% \changes{v3.12}{2013/10/26}{page break test for \env{addmargin*}} +% \changes{v3.22}{2016/10/21}{unchanged \len{topsep} and \len{partopsep}} % \begin{macrocode} %</class> \newenvironment{addmargin}{% @@ -495,48 +391,40 @@ % \end{environment} % % -% \subsection{Schriftarten für Listen} +% \subsection{Font elements of lists} % +% \begin{fontelement}{descriptionlabel} +% \changes{v2.8o}{2001/09/14}{added} +% The font element is defined indirect by some macros to stay compatible with +% \KOMAScript{} before the design of font elements. % \begin{macro}{\descfont} -% \changes{v3.20}{2016/01/29}{\cs{sffamily} durch \cs{@gr@gsffamily} -% ersetzt}%^^A -% Dies ist die Schriftart, in der das Label der Einträge in eine -% \texttt{description}-Umgebung gesetzt wird. Das Makro ist als intern -% zu betrachten. Anwender habe stattdessen das entsprechende Element -% zu verwenden. +% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}} +% The font of the item labels of \env{description}. The command \cs{descfont} +% should not be used by users. Think of it as an internal macro. The user +% space name is because of compatibility to very old \KOMAScript{} versions. % \begin{macrocode} \newcommand*\descfont{\@gr@gsffamily\bfseries} % \end{macrocode} % \end{macro} -% % \begin{macro}{\scr@fnt@descriptionlabel} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{descriptionlabel}} -% Das Element auf das \cs{descfont} angewandt wird: +% The font element uses \cs{descfont}. % \begin{macrocode} \newcommand*{\scr@fnt@descriptionlabel}{\descfont} % \end{macrocode} % \end{macro} +% \end{fontelement} % -% \selectlanguage{english} -% \begin{KOMAfont}{itemizelabel} -% \changes{v3.33}{2021/02/15}{new font element} -% \begin{KOMAfont}{labelitemi} -% \changes{v3.33}{2021/02/15}{new font element} -% \begin{KOMAfont}{labelitemii} -% \changes{v3.33}{2021/02/15}{new font element} -% \begin{KOMAfont}{labelitemiii} -% \changes{v3.33}{2021/02/15}{new font element} -% \begin{KOMAfont}{labelitemiv} -% \changes{v3.33}{2021/02/15}{new font element} -% \begin{macro}{\labelitemfont} -% \changes{v3.33}{2021/02/15}{new} -% Due to a change in the LaTeX kernel 2020/02/02 the \texttt{itemize} items +% \begin{fontelement}{labelitemi,labelitemii,labelitemiii,labelitemiv,itemizelabel} +% \changes{v3.33}{2021/02/15}{added} +% \begin{command}{\labelitemfont} +% \changes{v3.33}{2021/02/15}{added} +% Due to a change in the LaTeX kernel 2020/02/02 the \env{itemize} items % react on font changes. For this the standard classes have been changed to % set the item \emph{bullets} using \cs{labelitemfont} which is % \cs{normalfont} by default. I've adapted this using also \cs{labelitemfont} % for compatibility but only to store the font of font element -% \texttt{itemizelabel} which is the default of the level depending font -% elements. \texttt{itemlabelii} differs, because the default \cs{textendash} +% \fnt{itemizelabel} which is the default of the level depending font +% elements. \fnt{itemlabelii} differs, because the default \cs{textendash} % should be bold. % \begin{macrocode} \newcommand*{\labelitemfont}{\normalfont} @@ -545,43 +433,59 @@ \newkomafont{labelitemii}{\usekomafont{itemizelabel}\bfseries} \newkomafont{labelitemiii}{\usekomafont{itemizelabel}} \newkomafont{labelitemiv}{\usekomafont{itemizelabel}} +%</class> % \end{macrocode} -% \end{macro} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{KOMAfont} -% \selectlanguage{ngerman} -% -% \begin{KOMAfont}{labelinglabel} -% \changes{v3.02}{2009/01/01}{neues Element}%^^A -% \begin{KOMAfont}{labelingseparator} -% \changes{v3.02}{2009/01/01}{neues Element}%^^A -% Das Label einer \texttt{labeling}-Umgebung wird in eigener Schrift -% gesetzt. Innerhalb des Labels wird dann das Trennzeichen ebenfalls mit -% eigener Schrift gesetzt. Voreingestellt ist in beiden Fällen keine Änderung. +% \end{command} +% \end{fontelement} +% +% \begin{fontelement}{labelinglabel,labelingseparator} +% \changes{v3.02}{2009/01/01}{added} +% The \env{labeling} environment has two font elements, one for the whole +% label and one for the separator only. The default is no change. % \begin{macrocode} -%</class> \newkomafont{labelinglabel}{} \newkomafont{labelingseparator}{} -%<*class> % \end{macrocode} -% \end{KOMAfont} -% \end{KOMAfont} +% \end{fontelement} % % -% \iffalse +% \section{Implementation of Tabulars, Array etc.} +% +% All these environments are implemented in the \LaTeX{} kernel already. We +% only need some configuration parameters. +% +% \begin{length}{\arraycolsep,\tabcolsep,\arrayrulewidth,\doublerulewidth, +% \tabbingsep} +% These are the distances between columns in \env{array} and \env{tabular}, +% the width of lines/rules independent from \env{array} or \env{tabular} and +% the distance of double lines/rules (two consecutive \cs{hline}). The last +% one, \cs{tabbingsep}, is the \cs{'} distance in \env{tabbing} environments. +% All values are same as in the standard classes. +% \begin{macrocode} +%<*class> +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} %</class> -%</body> -% \fi +% \end{macrocode} +% \end{length}^^A \arraycolsep … \tabbingsep % -% \Finale % +% \begin{macrocode} +%</body> +% \end{macrocode} +% +% \Finale +% \PrintChanges +% \endinput -% -% end of file `scrkernel-listsandtabulars.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx b/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx index b7ff8d719e..21db04d92b 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-listsof.dtx @@ -1,8 +1,7 @@ -% \CheckSum{673} % \iffalse meta-comment % ====================================================================== % scrkernel-listsof.dtx -% Copyright (c) Markus Kohm, 2002-2020 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,55 +17,18 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-listsof.dtx -% Copyright (c) Markus Kohm, 2002-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-listsof.dtx 3477 2020-04-11 07:26:26Z kohm $ +%%% From File: $Id: scrkernel-listsof.dtx 3733 2022-03-01 08:20:43Z kohm $ %<prepare>%%% (run: prepare) %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2020-04-11 09:26:26 +0200 (Sat, 11 Apr 2020) $ + \filedate$Date: 2022-03-01 09:20:43 +0100 (Di, 01. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3477 $ + \filerevision$Revision: 3733 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-listsof.dtx}% @@ -75,52 +37,60 @@ (lists of)]% }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-listsof.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-listsof.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2002/06/28}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/28}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/28}{whole implementation documentation in English} % -% \changes{v2.95}{2002/06/28}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \GetFileInfo{scrkernel-listsof.dtx} +% \title{Table of Contents, List of Figures, and List of Tables Within +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \LaTeX{} classes provides a number of directories like the table of +% contents, list of figures, and list of +% tables. \file{scrkernel-listsof.dtx} provides parts of the implementation +% of them. But note: Since the \KOMAScript{} classes use \pkg*{tocbasic} for +% all these tables and lists, most of the code has been moved to +% \file{tocbasic.dtx} and \file{scrkernel-tocstyle.dtx}. +% \end{abstract} +% \tableofcontents % -% \section{Verzeichnisse} +% \section{User Manual} % -% \LaTeX{} Klassen bieten eine ganze Reihe von Verzeichnissen. Thema -% dieses Abschnitts sind die Verzeichnisse der -% Gleitumgebungen und das Inhaltsverzeichnis. \KOMAScript{} bietet -% selbst das Verzeichnis der Gleittabellen und der Abbildungen. Es -% unterstützt außerdem die Verzeichnisse der mit dem \textsf{float} -% Paket angelegten Gleitumgebungen. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% Briefe verfügen über keine Verzeichnisse. +% \MaybeStop{\PrintIndex} % -% \StopEventually{\PrintIndex\PrintChanges} +% \section{Implementation of the table of contents and similar lists in the +% \KOMAScript{} classes} % -% \iffalse -%<*!letter> -% \fi +% Only \cls*{scrartcl}, \cls*{scrbook} and \cls{scrreprt} provide floats and +% headings. So only these need to provide tables and lists of such +% elements. Especially the letter class \cls*{scrlttr2} does not need any of +% this code. % -% \subsection{Gemeinsamer Code von Inhaltsverzeichnis und Verzeichnissen der -% Gleitumgebungen} +% \begin{macrocode} +%<*!letter> +% \end{macrocode} +% +% \subsection{Code used by all of the tables and lists of content} % -% \selectlanguage{english}%^^A -% Before doing anything with the tocs we need package \Package{tocbasic}: +% Before doing anything with the tocs we need package \pkg*{tocbasic}: % \begin{macrocode} %<*prepare> \RequirePackage{tocbasic}[% @@ -130,9 +100,13 @@ % \end{macrocode} % % \begin{macro}{\numberline@numberpostfix} -% \changes{v3.20}{2016/03/15}{\cs{autodot} wird darüber eingefügt} -% Auch in den Verzeichnissen soll ggf. \cs{autodot} quasi als Bestandteil der -% Nummer ausgegeben werden. +% \changes{v3.20}{2016/03/15}{used to add \cs{autodot}} +% We extend this macro of \pkg*{tocbasic} to add the \cs{autodot} to the +% numbers. +% \begin{description} +% \item[ToDo:] Replace this by any kind of \emph{addto hook command}, maybe +% even by a generic \LaTeX{} hook. +% \end{description} % \begin{macrocode} %<*body> \g@addto@macro{\numberline@numberpostfix}{\autodot} @@ -140,10 +114,10 @@ % \end{macrocode} % \end{macro}%^^A \numberline@numberpostfix % -% \begin{macro}{\numberline} -% \changes{v3.20}{2016/03/15}{Definition von \textsf{tocbasic} verwenden} -% Unabhängig vom Stil soll immer die Definition von \textsf{tocbasic} -% verwendet werden. +% \begin{command}{\numberline} +% \changes{v3.20}{2016/03/15}{using definition of \pkg*{tocbasic}} +% Just activate the usage of the \pkg*{tocbasic} definition of +% \cs{numberline}. % \begin{macrocode} %<*body> \usetocbasicnumberline[% @@ -151,13 +125,16 @@ ] %</body> % \end{macrocode} -% \end{macro}%^^A \numberline +% \end{command}%^^A \numberline % -% \changes{v3.06}{2010/06/02}{einschalten des \texttt{tocbasic}-Features -% \texttt{chapteratlist} in die Datei \texttt{scrkernel-listsof.dtx} verschoben} -% Bei Büchern wird für jedes Verzeichnis des Besitzers \texttt{float} das -% Feature \texttt{chapteratlist} gesetzt. Das gilt auch für solche -% Verzeichnisse, die noch gar nicht definiert sind. +% \changes{v3.06}{2010/06/02}{activating \pkg*{tocbasic} feature +% \texttt{chapteratlist}} +% For classes with chapters we use the \pkg*{tocbasic} feature +% \texttt{chapteratlist} for all directories of category/owner +% \texttt{float}. This is done not only for already existing directories for +% also for those, that will be added later (using \pkg*{tocbasic}). Note: By +% default this feature is used to add a vertical distance to, e.g., the list +% of figures and the list of tables with each new chapter. % \begin{macrocode} %<*body&(book|report)> \doforeachtocfile[float]{% @@ -169,36 +146,48 @@ %</body&(book|report)> % \end{macrocode} % -% \begin{macro}{\before@starttoc} -% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A -% Dieses Makro führt im Falle von \texttt{tocleft} oder -% \texttt{listsleft} am Anfang eines Verzeichnisses alle notwendigen -% Änderungen durch, um das Verzeichnis entsprechend zu handhaben. +% \begin{macro}{\before@starttoc,\after@starttoc} +% \changes{v2.8q}{2001/11/14}{added} +% If either \texttt{tocleft} or \texttt{listsleft} is used, we need to collect +% additional information about the natural width of the numbers and also have +% to change the used width of the numbers. So we have two macros, that will be +% added to the \pkg*{tocbasic} hooks. \cs{before@starttoc} does some internal +% changes before \cs{@starttoc} to collect and use the +% information. \cs{after@starttoc} writes the information to the \file{aux} +% file after \cs{@starttoc}. % \begin{macro}{\scr@dottedtocline} -% \changes{v2.9k}{2003/01/03}{auch das dritte Argument wird ge"andert}%^^A +% \changes{v2.9k}{2003/01/03}{also change the third argument}^^A % \begin{macro}{\scr@numberline} -% \changes{v3.06}{2010/05/18}{nicht länger benötigt}%^^A +% \changes{v3.06}{2010/05/18}{removed}^^A % \end{macro} % \begin{macro}{\last@l@number} -% Dafür werden ein paar Hilfsmakros benötigt, die vorsichtshalber -% global vordefiniert werden. +% The \KOMAScript{} classes themselves use the \pkg*{tocbasic} entry style +% \texttt{tocline}. However other packages may use the \LaTeX{} kernel command +% \cs{@dottedtocline}. Currently we support these too. But to do so, we need +% to locally redefine \cs{@dottedtocline} to change the second and third +% argument. The second is the \meta{indent} and has always to be 0 (with +% \texttt{listsleft}). The third is the number width and has to be +% \cs{last@l@number}. I do not like to redefine \LaTeX{} kernel macros, so +% maybe the support for list entries, which use \cs{@dottedtocline}, will be +% removed in future. However, in this case we still would need some of the +% code or similar code to initialize values and features of \pkg*{tocbasic}. +% At loading time we only need to \emph{reserve} the macros. The real +% definition will be done when reading the auxiliary files of the lists or the +% main \file{aux} file. % \begin{macrocode} %<*body> \newcommand*{\scr@dottedtocline}{} \newcommand*{\last@l@number}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\@l@number} -% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A -% In diesem Makro wird während der Erstellung eines Verzeichnisses -% Inhaltsverzeichnisses die aktuelle Breite der Nummer gespeichert. -% \begin{macro}{\set@l@number} -% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A -% Dieses Makro ist dafür verantwortlich, dass zum einen \cs{@tempdima} -% für den Aufruf von \cs{numberline@box} auf den richtigen Wert gesetzt -% wird, zum anderen wird die aktuelle größte Breite der Nummer hier -% angepasst. +% \end{macro}^^A \last@l@number +% \end{macro}^^A \scr@dottedtocline +% \begin{macro}{\@l@number,\set@l@number} +% \changes{v2.8q}{2001/11/14}{added} +% We also need local macros to store the currently maximal number width while +% reading an auxiliary file. \cs{set@l@number} not only has to update +% \cs{@l@number} but also to set \len{@temdima} to the real maximum. It is +% used inside \cs{numberline@box}, which is used inside \cs{numberline}, if +% the \pkg*{tocbasic} definition of \cs{numberline} is used. % \begin{macrocode} \newcommand*{\@l@number}{} \newcommand*{\set@l@number}[1]{% @@ -211,15 +200,15 @@ \fi% } % \end{macrocode} -% \end{macro} -% \end{macro} -% Kommen wir endlich zu \cs{before@starttoc}: -% \changes{v2.95a}{2006/07/12}{Initialisierung im \cs{@empty}-Fall} -% \changes{v3.06}{2010/05/18}{statt \cs{numberline} wird \cs{numberline@box} -% umdefiniert} +% \end{macro}^^A \@l@number,\set@l@number +% \changes{v2.95a}{2006/07/12}{empty case initialization} +% \changes{v3.06}{2010/05/18}{re-defining \cs{numberline} instead of +% \cs{numberline@box}} +% The usage of all these local macros has to be initialized in +% \cs{before@starttoc}. % \begin{macrocode} \newcommand*{\before@starttoc}[1]{% - \let\scr@dottedtocline=\@dottedtocline + \let\scr@dottedtocline=\@dottedtoclilne \renewcommand*{\@dottedtocline}[3]{% \scr@dottedtocline{##1}{\z@}{\last@l@number}}% \renewcommand*{\numberline@box}[1]{% @@ -236,8 +225,9 @@ \fi }% % \end{macrocode} -% \changes{v3.20}{2015/11/26}{Vorbereitungen für Verzeichniseintragsstile -% via \texttt{scrkernel-tocstyle}}%^^A +% \changes{v3.20}{2015/11/26}{initialization of \pkg*{tocbasic} values} +% We also have to locally change the indent and number width values of the +% \pkg*{tocbasic} styles. % \begin{macrocode} \begingroup \def\do@endgroup{\endgroup}% @@ -264,27 +254,22 @@ \@nameuse{scr@dte@donumwidth}% \do@endgroup } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\after@starttoc} -% \changes{v2.8q}{2001/11/14}{neu (intern)}%^^A -% Dieses Makro schreibt am Ende den entsprechenden Eintrag in die -% \texttt{aux}-Datei. -% \begin{macrocode} \newcommand*{\after@starttoc}[1]{% \protected@write\@auxout{}{% \string\gdef\expandafter\string\csname#1@l@number\endcsname{% \@l@number}}% } -%</body> % \end{macrocode} -% \end{macro} -% -% Dafür sorgen, dass die Verzeichnisse von \textsf{tocbasic} so gesetzt -% werden, wie wir das gerne hätten (wird über einen Trick auch für das -% Inhaltsverzeichnis verwendet): +% Last but not least we have to add the code to the \pkg*{tocbasic} hooks +% before and after \cs{@starttoc}. Note: This is also used for the table of +% contents, but in this case \cs{if@dynlist} will be used different. +% \begin{description} +% \item[ToDo:] A better suggestion could be to use \meta{category} dependent +% code here to use \cs{if@dynlist} only for \meta{category} \texttt{float} +% but \cs{if@tocleft} for \meta{category} \texttt{ToC}. So the support for +% things like \emph{table of appendix contents} could be benefit. +% \end{description} % \begin{macrocode} -%<*body> \g@addto@macro\tocbasic@@before@hook{% \if@dynlist\expandafter\before@starttoc\expandafter{\@currext}\fi } @@ -293,13 +278,13 @@ } %</body> % \end{macrocode} +% \end{macro}^^A \@dottedtocline % % -% \subsection{Das Inhaltsverzeichnis} +% \subsection{The table of contents} % -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/11}{init code moved from \texttt{tocbasic.dtx}}%^^A -% \changes{v1.0a}{2008/11/13}{auto-activation of feature \texttt{onecolumn}} +% \changes{v3.27}{2019/05/11}{init code moved from \file{tocbasic.dtx}} +% \changes{v3.01}{2008/11/13}{auto-activation of feature \texttt{onecolumn}} % Set feature \texttt{onecolumn} for every ToC file. % \begin{macrocode} %<*prepare&(book|report)> @@ -308,9 +293,9 @@ %</prepare&(book|report)> % \end{macrocode} % Tell the package, what files are used: -% \changes{v3.27}{2019/05/11}{use owner \texttt{ToC} for the table of -% contents}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.27}{2019/05/11}{use category \texttt{ToC} for the table of +% contents} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}%^^A % \begin{macrocode} %<*prepare> \addtotoclist[ToC]{toc} @@ -321,84 +306,163 @@ } %</prepare> % \end{macrocode} -% \selectlanguage{ngerman}%^^A % -% \begin{macro}{\if@tocleft} -% \changes{v2.8q}{2001/11/14}{neuer Schalter}%^^A -% \changes{v2.98c}{2008/03/05}{wird früher definiert}%^^A -% \begin{macro}{\@toclefttrue} -% \begin{macro}{\@tocleftfalse} -% Die Wahl der Darstellungsart für das Inhaltsverzeichnis wird in einem -% Schalter gespeichert. +% \begin{macro}{\@tocleftfalse,\@tocleftrue,\if@tocleft} +% \changes{v2.8q}{2001/11/14}{added} +% \changes{v2.98c}{2008/03/05}{earlier definition} +% The switch is used to store the information whether to use a flat +% (\cs{@toclefttrue}) or a graduated (\cs{@tocleftalse}) table of contents. % \begin{macrocode} %<*option> \newif\if@tocleft %</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A … \if@tocleft % % \begin{option}{toc} -% \changes{v2.98c}{2008/03/04}{Neue Option}%^^A -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch -% \cs{KOMAExecuteOptions} ersetzt}%^^A -% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} durch -% \cs{KOMAoptions} ersetzt}%^^A -% \changes{v3.18}{2015/06/15}{neuer Wert \texttt{indexnumbered}}%^^A -% Dies ist die zentrale Option für Einstellungen des Inhaltsverzeichnisses. +% \changes{v2.98c}{2008/03/04}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} replaced by +% \cs{KOMAExecuteOptions}} +% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} replaced by +% \cs{KOMAoptions}} +% \changes{v3.18}{2015/06/15}{value \opt{\quotechar=indexnumbered} added} +% The main features of the table of contents can be configured by this +% option. % \begin{macrocode} %<*option> \KOMA@key{toc}{% \KOMA@set@ncmdkey{toc}{@tempa}{% % \end{macrocode} -% Es gibt Werte, um zu bestimmen, welche Verzeichnisse ins Inhaltsverzeichis -% aufgenommen werden. Eigentlich sind das Optionen der jeweiligen -% Verzeichnisses, aber das muss sich der Anwender ja nicht unbedingt merken. -% \changes{v3.28}{2019/10/21}{zusätzliche Werte}%^^A -% Für Index und Gleitumgebungen gibt es ab Version~3.28 einige zusätzliche -% Werte. Die \dots\texttt{listof}\dots-Werte sind allerdings nicht offiziell, -% sondern fangen nur häufige Tippfehler auf. +% \changes{v3.28}{2019/10/21}{several alias values added} +% The provided values are (aliases are also available): +% \begin{description} +% \item[\opt{=noindex}:] (default) for the index neither add an entry to the +% table of contents nor number the heading of the index. +% \end{description} % \begin{macrocode} {noindex}{0},{noidx}{0},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=index}:] for the index add an entry to the table of contents, +% but do not number the index. +% \end{description} +% \begin{macrocode} {index}{1},{idx}{1},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=indexnumbered}:] number the index and therefore also add an +% entry to the table of contents. +% \end{description} +% \begin{macrocode} {indexnumbered}{2},{idxnumbered}{2},{numberedindex}{2},{numberedidx}{2},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=nolistof}:] (default) for any list with category/owner +% \texttt{float} neither add an entry to the table of contents, nor +% number the heading of the list of the floats. +% \end{description} +% \begin{macrocode} {nolistof}{3},{nolistsof}{3},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=listof}:] for each list with category/owner \texttt{float} add an +% entry to the table of contents, but do not number the list of the floats. +% \end{description} +% \begin{macrocode} {listof}{4},{listsof}{4},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=listofnumbered}:] for each list of category/owner \texttt{float} +% number the list of floats and therefore add an entry to table of contents. +% \end{description} +% \begin{macrocode} {listofnumbered}{5},{numberedlistof}{5},% {listsofnumbered}{5},{numberedlistsof}{5},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=nobibliography}:] (default) for the bibliography neither add an +% entry to the table if contents nor number the heading. +% \end{description} +% \begin{macrocode} {nobibliography}{6},{nobib}{6},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=bibliography}:] for the bibliography add an entry to the table +% of contents, but do not number the bibliography. +% \end{description} +% \begin{macrocode} {bibliography}{7},{bib}{7},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=bibliographynumbered}:] number the bibliography and therefore +% add an entry to the table of contents. +% \end{description} +% \begin{macrocode} {bibliographynumbered}{8},{bibnumbered}{8},{numberedbibliography}{8},% {numberedbib}{8},% % \end{macrocode} -% Dann gibt es Optionen für die Darstellungsarten des -% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte -% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form -% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander -% stehen. Der für die Nummern benötigte Platz wird dabei automatisch -% ermittelt. +% \begin{description} +% \item[\opt{=flat}:] use the flat version of the table of contents (all +% numbers are at one column, all texts in another one). +% \end{description} % \begin{macrocode} {flat}{9},{left}{9},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=graduated}:] (default) use a hierarchical indented table of +% contents similar to the standard classes. +% \end{description} +% \begin{macrocode} {graduated}{10},{indent}{10},{indented}{10},% % \end{macrocode} -% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und -% \texttt{nonumberline}}%^^A -% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit -% \cs{numberline} eingerückt werden. Das geht über ein Feature von -% \textsf{tocbasic}. +% \changes{v3.12}{2014/09/24}{values \opt{\quotechar=numberline} and +% \opt{\quotechar=nonumberline} etc. added} +% \begin{description} +% \item[\opt{=numberline}:] indent entries without number like entries with +% number. +% \end{description} % \begin{macrocode} {indenttextentries}{11},{indentunnumbered}{11},{numberline}{11},% +% \end{macrocode} +% \begin{macrocode} +% \begin{description} +% \item[\opt{nonumberline}:] (default) do not indent the first line of an +% entry without number +% \end{description} +% \begin{macrocode} {leftaligntextentries}{12},{leftalignunnumbered}{12},{nonumberline}{12},% % \end{macrocode} -% Mit Version~3.15 kommt neu die Möglichkeit hinzu, Kapiteleinträge mit -% Pünktchen zu versehen. +% \changes{v3.15}{2015/01/14}{values \opt{\quotechar=chapterentrywithdots}, +% \opt{\quotechar=chapterentrywithoutdot} resp. +% \opt{\quotechar=sectionentrywithdots}, +% \opt{\quotechar=sectionentrywithoutdot} added} +% \begin{description} +% \item[\opt{=chapterentrywithdots}:] classes with \cs{chapter} provide a dot +% filler also for chapter entries. +% \end{description} % \begin{macrocode} %<book|report> {chapterentrywithdots}{13},{chapterentrydotfill}{13}, +% \end{macrocode} +% \begin{description} +% \item[\opt{=chapterentrywithoutdots}:] (default) classes with \cs{chapter} use +% a space filler for chapter entries. +% \end{description} +% \begin{macrocode} %<book|report> {chapterentrywithoutdots}{14},{chapterentryfill}{14}% +% \end{macrocode} +% \begin{description} +% \item[\opt{=sectionentrywithdots}:] classes without \cs{chapter} use +% dot filler also for section entries. +% \end{description} +% \begin{macrocode} %<article> {sectionentrywithdots}{13},{sectionentrydotfill}{13}, +% \end{macrocode} +% \begin{description} +% \item[\opt{=sectionentrywithoutdots}:] (default) classes without +% \cs{chapter} use a space filler for section entries. +% \end{description} +% \begin{macrocode} %<article> {sectionentrywithoutdots}{14},{sectionentryfill}{14}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed @@ -453,30 +517,23 @@ % \end{macrocode} % \end{option} % -% \begin{option}{tocleft} -% \changes{v2.8q}{2001/11/14}{neue Option}%^^A -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{tocindent} -% \changes{v2.8q}{2001/11/14}{neue Option}%^^A -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \begin{option}{tocleft,tocindent} +% \changes{v2.8q}{2001/11/14}{added} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} %<*option> \KOMA@DeclareDeprecatedOption{tocleft}{toc=flat} \KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated} %</option> % \end{macrocode} -% \end{option} -% \end{option} -% -% \subsection{Definitionen für das Inhaltsverzeichnis} +% \end{option}^^A tocleft,tocindent % -% \begin{macro}{\contentsname} -% \begin{macro}{\listoftocname} -% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}}%^^A -% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A -% Der Name des Verzeichnisses. +% \begin{command}{\contentsname} +% \begin{command}{\listoftocname} +% \changes{v3.00}{2008/07/03}{added to be used by \pkg*{tocbasic}} +% \changes{v3.27}{2019/05/11}{language dependency added} +% The name of the table of contents. % \begin{macrocode} %<*body> \newcommand*\contentsname{Contents} @@ -485,35 +542,31 @@ UKenglish,ukenglish,USenglish,usenglish}\contentsname{Contents}% %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \listoftocname +% \end{command}^^A \contentsname % -% \begin{Counter}{tocdepth} -% Der Zähler gibt an, bis zu welcher Gliederungebene Einträge in das -% Inhaltsverzeichnis aufgenommen werden. Da \textsf{scrartcl} eine -% Ebene tiefer beginnt, wird auch eine Ebene tiefer eingetragen. Damit -% finden sich -- abgesehen von \cs{part} -- immer drei Ebenen im -% Inhaltsverzeichnis. +% \begin{counter}{tocdepth} +% The counter is used to define, down to which level the entries are shown in +% the table of contents (resp. list of floats, because the same value is used +% there). Note: We don't use symbolic values here, because usage of symbolic +% values would add an additional order dependency with the corresponding +% \cs{DeclareSecionCommand}. % \begin{macrocode} %<*body> %<book|report>\setcounter{tocdepth}{2} %<article>\setcounter{tocdepth}{3} %</body> % \end{macrocode} -% \end{Counter} +% \end{counter}^^A tocdepth % % \begin{macro}{\toc@heading} -% \changes{v2.3h}{1995/01/21}{neu (intern)}%^^A -% \changes{v2.95}{2002/06/28}{auch für \textsf{scrreprt} und -% \textsf{scrbook}}%^^A -% \changes{v3.00}{2008/07/04}{Verwendung von \cs{toc@heading} ist nicht -% länger empfohlen}%^^A -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A -% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A -% Befehl, zum Setzen der Überschrift des Inhaltsverzeichnisses. Eigentlich -% ist das überflüssig, weil es nur einmal verwendet wird. Aus Gründen der -% Konsistenz mit den anderen Verzeichnissen machen wir das hier aber -% genauso. +% \changes{v2.3h}{1995/01/21}{added for \cls*{scrartcl}} +% \changes{v2.95}{2002/06/28}{added for \cls*{scrreprt}and \cls*{scrbook}} +% \changes{v3.00}{2008/07/04}{deprecated} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.30}{2020/02/24}{white space at end of warning removed} +% This has been defined before usage of \pkg*{tocbasic}. Internally it is not +% used any longer. % \begin{macrocode} %<*body> \newcommand*\toc@heading{% @@ -530,34 +583,29 @@ } %</body> % \end{macrocode} -% \end{macro} +% \end{macro}^^A \toc@heading % % \begin{macro}{\toc@l@number} -% \changes{v2.8q}{2001/11/14}{neu}%^^A -% Dieses Makro wird innerhalb von \cs{tableofcontents} über -% \cs{before@starttoc} und \cs{after@starttoc} in der -% \texttt{aux}-Datei global definiert. Aus Sicherheitsgründen wird es -% hier global vordefiniert. +% \changes{v2.8q}{2001/11/14}{added} +% The number length storage used by \cs{before@starttoc} for \meta{extension} +% \texttt{toc}. For safety we just \emph{reserve} it. % \begin{macrocode} %<*body> \newcommand*{\toc@l@number}{} %</body> % \end{macrocode} -% \end{macro} +% \end{macro}^^A \toc@l@number % -% \begin{macro}{\tableofcontents} -% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{toc@heading}} -% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf -% 0 gesetzt} -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}% -% \cs{@parskip@indent}} -% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} bearbeiten} -% \changes{v2.95}{2002/06/28}{\textsf{article} beachtet ebenfalls -% \texttt{tocleft}} -% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} -% ersetzt} -% \changes{v3.00}{2008/07/04}{auf \textsf{tocbasic} umgestellt} -% Die Ausgabe des Inhaltsverzeichnisses. +% \begin{command}{\tableofcontents} +% \changes{v2.3h}{1995/01/21}{using \cs{toc@heading}} +% \changes{v2.8l}{2001/08/16}{group added an \len{parskip} set to 0} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse} and \cs{@parskip@indent}} +% \changes{v2.8q}{2001/11/14}{\cs{if@tocleft} changed} +% \changes{v2.95}{2002/06/28}{\cls*{scrartcl} also uses \cs{if@tocleft}} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent} replaced} +% \changes{v3.00}{2008/07/04}{re-implementation using \pkg*{tocbasic}} +% The table of contents. See the note above about the local change of +% \cs{if@dynlist}. % \begin{macrocode} %<*body> \newcommand*{\tableofcontents}{% @@ -568,18 +616,27 @@ } %</body> % \end{macrocode} -% \end{macro} +% \end{command}^^A \tableofcontents % -% \begin{macro}{\addtocentrydefault} -% \changes{v3.08}{2010/11/01}{Neu}%^^A -% \changes{v3.12}{2013/09/24}{Verwendung der neuen -% \texttt{tocbasic}-Anweisung \cs{tocbasic@addxcontentsline}} -% Seit Version~3.08 werden Einträge ins Inhaltsverzeichnis in der -% Voreinstellung über diese Anweisung vorgenommen. Das erste Argument ist -% dabei die Gliederungsebene. Das zweite Argument ist die (formatierte) -% Gliederungsnummer oder leer, falls die Überschrift nicht nummeriert -% wird. Das dritte Argument ist der Überschriftentext, der in das -% Inhaltsverzeichnis soll. +% \begin{command}{\addtocentrydefault} +% \changes{v3.08}{2010/11/01}{added} +% \changes{v3.12}{2013/09/24}{using new \pkg*{tocbasic} macro +% \cs{tocbasic@addxcontentsline}} +% Instead of making the entries into the table of contents directly with +% the \LaTeX{} low level command \cs{addcontentsline} we provide a class +% specific low level user command +% \begin{quote} +% \cs{addtocentrydefault}\marg{level name}\marg{formatted number}\marg{entry text} +% \end{quote} +% that uses the \pkg*{tocbasic} package author command +% \cs{tocbasic@addctontentsline}. We cannot use \cs{addxcontentsline} because +% this will run \cs{add\meta{level name}\meta{toc}entry} if available and +% \cs{addtocentrydefault} is used by the entry commands +% \cs{addchaptertocentry}, \cs{addsectiontocentry}. So \cs{addtoentrydefault} +% is a helper for the callbacks from \cs{addxcontentsline} and needs to use +% the package author interface instead of the user interface. For not numbered +% entries the \meta{formatted number} should be empty (not only expand to no +% output). Note: Entries with empty \meta{entry text} will be omitted. % \begin{macrocode} %<*body> \newcommand{\addtocentrydefault}[3]{% @@ -587,36 +644,33 @@ } %</body> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \subsection{Die Verzeichnisse der Gleitumgebungen} +% \subsection{The lists of floats (or similar environments)} % -% Die Verzeichnisse der Gleitumgebungen ähneln dem Inhaltsverzeichnis, stellen -% jedoch eine eigene Klasse dar und werden daher auch über eigene Optionen -% gesteuert. +% The list of tables, list of figures and similar lists of environments with +% category/owner \texttt{float} are very similar to the table of contents. But +% they use a own set of options and also some commands. % -% \selectlanguage{english}%^^A -% \changes{v3.25}{2017/10/10}{extension \texttt{lof} not added explicitely}%^^A -% \changes{v3.25}{2017/10/10}{extension \texttt{lot} not added explicitely}%^^A +% \changes{v3.25}{2017/10/10}{extension \texttt{lof} not added explicitely} +% \changes{v3.25}{2017/10/10}{extension \texttt{lot} not added explicitely} % Note: We must not add extensions \texttt{lof} and \texttt{lot} explicitely, % because these files will be prepared using \cs{DeclareNewTOC} that also % registers the extension. % -% \changes{v1.00}{auto-activation of feature \texttt{onecolumn}} +% \changes{v3.01}{2008/11/13}{auto-activation of feature \texttt{onecolumn}} % Set feature \texttt{onecolumn} for every float list file. % \begin{macrocode} %<*prepare&(book|report)> \AtAddToTocList[float]{\setuptoc{\@currext}{onecolumn}}% %</prepare&(book|report)> % \end{macrocode} -% \selectlanguage{ngerman}%^^A % % \begin{macro}{\float@@listhead} -% \changes{v2.98c}{2008/03/05}{neu (intern)}%^^A -% \changes{v3.01}{2008/11/14}{deprecated}%^^A -% Setzt nur die Überschrift und sonst nichts. Dabei wird die Überschrift als -% einziges Argument übergeben. +% \changes{v2.98c}{2008/03/05}{added} +% \changes{v3.01}{2008/11/14}{deprecated} +% Prints only the heading, nothing else. The heading text is the argument. % \begin{macrocode} %<*option> \newcommand*{\float@@listhead}{% @@ -625,89 +679,143 @@ } %</option> % \end{macrocode} -% \end{macro} +% \end{macro}^^A \float@@listhead % -% \begin{macro}{\if@dynlist} -% \changes{v2.8q}{2001/11/14}{neuer Schalter}%^^A -% \begin{macro}{\@dynlisttrue} -% \begin{macro}{\@dynlistfalse} -% Die Wahl der Darstellungsart wird in einem Schalter gespeichert. +% \begin{macro}{\@dynlistfalse,\@dynlisttrue,\if@dynlist} +% \changes{v2.8q}{2001/11/14}{added} +% The switch to select the flat (\cs{@dynlisttrue}) or graduated +% (\cs{@dynlistfalse)} list type. % \begin{macrocode} %<*option> \newif\if@dynlist %</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A … \if@dynlist % % \begin{option}{listof} -% \changes{v2.98c}{2008/03/05}{Neue Option}%^^A -% \changes{v3.06}{2010/06/02}{Alle über \textsf{tocbasic} realisierten -% Einstellungen wirken sich auch auf Verzeichnisse des Besitzers -% \texttt{float} aus, die erst später unter Kontrolle von -% \textsf{tocbasic} gestellt werden.}%^^A -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} durch -% \cs{KOMAExecuteOptions} ersetzt}%^^A -% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} durch -% \cs{KOMAoptions} ersetzt}%^^A -% Dies ist die zentrale Option für die Gleitumgebungsverzeichnisse. +% \changes{v2.98c}{2008/03/05}{added} +% \changes{v3.06}{2010/06/02}{options for \pkg*{tocbasic} features do not only +% work for the currently defined lists but all future lists of category +% \texttt{float}} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.12}{2013/06/26}{\cs{KOMA@options} replaced by +% \cs{KOMAExecuteOptions}} +% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} replaced by +% \cs{KOMAoptions}} +% The main features of the lists of floats can be configured by this option. % \begin{macrocode} %<*option> \KOMA@key{listof}{% \KOMA@set@ncmdkey{listof}{@tempa}{% % \end{macrocode} -% Es gibt Werte, die dafür sorgen, dass die Verzeichnisse der Gleitumgebungen -% im Inhalsverzeichnis aufgeführt werden. Dazu muss nur \cs{float@@listhead} -% umdefiniert werden. +% The provided values are (aliases are also available): +% \begin{description} +% \item[\opt{=notoc}:] (default) neither number the lists of floats nor add +% entries to them into the table of contents. +% \end{description} % \begin{macrocode} {notoc}{0},{nottotoc}{0},{plainheading}{0},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=totoc}:] do not number the lists of floats but nevertheless add +% an entry for each of them to the table of contents. +% \end{description} +% \begin{macrocode} {totoc}{1},{toc}{1},{notnumbered}{1},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=numbered}:] number the lists of floats and therefore also add an +% for each of them to the table of contents. +% \end{description} +% \begin{macrocode} {numbered}{2},{totocnumbered}{2},{tocnumbered}{2},{numberedtotoc}{2},% {numberedtoc}{2},% % \end{macrocode} -% Dann gibt es Optionen für die Darstellungsarten des -% Inhaltsverzeichnisses. Die Variante \texttt{graduated} ist die altbekannte -% Variante. Bei \texttt{flat} hingegen wird eine tabellenartige Form -% verwendet, bei der die Nummern, Texte und Seitenzahlen jeweils untereinander -% stehen. Der für die Nummern benötigte Platz wird dabei automatisch -% ermittelt. +% \begin{description} +% \item[\opt{=flat}:] use the flat version of the lists of floats (all +% numbers are at one column, all texts in another one). Usually this only +% removes the indent and calculates the needed width of the numbers. But, +% e.g., if chapters are added, it does work over all levels. +% \end{description} % \begin{macrocode} {flat}{3},{left}{3},% +% \item[\opt{=graduated}:] (default) use hierarchical indented lists of +% floats similar to the standard classes. +% \end{description} +% \begin{macrocode} {graduated}{4},{indent}{4},{indented}{4},% % \end{macrocode} -% Dann gibt es eine Option, mit der die Gliederungsebene der Verzeichnisse -% verändert werden kann. -% \changes{v3.25}{2017/12/04}{neuer Wert \texttt{standardlevel}}%^^A +% \begin{description} +% \item[\opt{=leveldown}:] Use for the lists of floats a section hierarchy one +% level below the standard level. +% \end{description} % \begin{macrocode} {leveldown}{5}, +% \end{macrocode} +% \changes{v3.25}{2017/12/04}{value \opt{\quotechar=standardlevel} added} +% \begin{description} +% \item[\opt{=standardlevel}:] (default) Use for the lists of floats the +% standard hierarchy. +% \end{description} +% \begin{macrocode} {standardlevel}{6}, % \end{macrocode} -% \changes{v3.06}{2010/05/18}{neuer Wert \texttt{entryprefix}} -% Dann gibt es eine Option, mit der die Einträge in die Verzeichnisse mit -% einem Prefix versehen werden können, soweit ein solcher Prefix -% existiert. Dieser Wert beinhaltet gleichzeitig auch den Wert \texttt{flat}. +% \changes{v3.06}{2010/05/18}{value \opt{\quotechar=entryprefix} added} +% \begin{description} +% \item[\opt{=entryprefix}:] Prefix the number of each entry with +% \cs{listof\meta{toc}entryprefix}. Note: This is more or less senseless and +% does not work correctly with chapter entries in the lists of floats. It is +% recommended to reconfigure the entries, e.g., using +% \cs{DeclareTOCStyleEntry} or redefining \cs{add\meta{level +% name}\meta{toc}entry} instead. Note: \opt{listof=entryprefix} also +% activates \opt{listof=flat}. +% \end{description} % \begin{macrocode} {entryprefix}{7}, % \end{macrocode} -% \changes{v3.12}{2014/09/24}{neue Werte \texttt{numberline} und -% \texttt{nonumberline}}%^^A -% Außerdem können die nicht nummerierten Einträge ggf. ebenfalls mit -% \cs{numberline} eingerückt werden. Das geht über ein Feature von -% \textsf{tocbasic}. +% \changes{v3.12}{2014/09/24}{values \opt{\quotechar=numberline} and +% \opt{\quotechar=nonumberline} etc. added} +% \begin{description} +% \item[\opt{=numberline}:] indent entries without number like entries with +% number. +% \end{description} % \begin{macrocode} {indenttextentries}{8},{indentunnumbered}{8},{numberline}{8},% +% \end{macrocode} +% \begin{macrocode} +% \begin{description} +% \item[\opt{=nonumberline}:] (default) do not indent the first line of an +% entry without number +% \end{description} +% \begin{macrocode} {leftaligntextentries}{9},{leftalignunnumbered}{9},{nonumberline}{9}% % \end{macrocode} -% Dann gibt es Optionen, für die Unterteilung auf Kapitelebene. Allerdings nur -% für \textsf{scrbook} und \textsf{scrreprt}. +% \begin{description} +% \item[\opt{=chapterentry}:] \cls*{scrbook} and \cls*{scrreprt} provides +% chapter entries into the lists of floats. +% \end{description} % \begin{macrocode} %<*book|report> ,{chapterentry}{10},{withchapterentry}{10},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=nochaptergap}:] Alternatively the lists of floats can ignore chapters. +% \end{description} +% \begin{macrocode} {nochaptergap}{11},{ignorechapter}{11},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=chaptergapsmall}:] (default) chapters can add a small +% vertical distance into the lists of floats. +% \end{description} +% \begin{macrocode} {chaptergapsmall}{12},{smallchaptergap}{12},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=chaptergapline}:] chapters can add an empty line to the lists of +% floats. +% \end{description} +% \begin{macrocode} {chaptergapline}{13},{onelinechaptergap}{13}% %</book|report> }{#1}% @@ -863,73 +971,61 @@ \KOMA@kav@add{.\KOMAClassFileName}{listof}{leftaligntextentries} %</option> % \end{macrocode} -% \end{option} +% \end{option}^^A listof % % \begin{option}{liststotoc} -% \changes{v2.3h}{1995/01/21}{neue Option}%^^A -% \changes{v2.8b}{2001/06/26}{Verwendung von \cs{float@headings}} -% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} durch -% \cs{listtablename} ersetzt} -% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in +% \changes{v2.3h}{1995/01/21}{added} +% \changes{v2.8b}{2001/06/26}{using \cs{float@headings}} +% \changes{v2.4a}{1996/03/13}{\cs{listtabelname} relaces by \cs{listtablename}} +% \changes{v2.8g}{2001/07/18}{\cs{float@headings} renamed to % \cs{float@listhead}} -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} %<*option> \KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc} %</option> % \end{macrocode} -% \end{option} +% \end{option}^^A liststotoc % % \begin{option}{liststotocnumbered} -% \changes{v2.8q}{2002/04/08}{dem langjährigen Druck nachgegeben}%^^A -% \changes{v2.9p}{2003/07/07}{Nummerierung im Kolumnentitel}%^^A -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \changes{v2.8q}{2002/04/08}{added} +% \changes{v2.9p}{2003/07/07}{number also in the running head} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} %<*option> \KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered} %</option> % \end{macrocode} -% \end{option} +% \end{option}^^A liststotocnumbered % % -% \begin{option}{listsleft} -% \changes{v2.8q}{2001/11/14}{neue Option}%^^A -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{listsindent} -% \changes{v2.8q}{2001/11/14}{neue Option}%^^A -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \begin{option}{listsleft,listsindent} +% \changes{v2.8q}{2001/11/14}{added} +% \changes{v2.98c}{2008/03/05}{obsolet} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} %<*option> \KOMA@DeclareDeprecatedOption{listsleft}{listof=flat} \KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated} %</option> % \end{macrocode} -% \end{option} -% \end{option} +% \end{option}^^A listsleft,listsindent % % \begin{option}{chapteratlists} -% \changes{v2.96a}{2006/12/03}{neue Option}%^^A -% \changes{v2.98c}{2008/03/05}{nicht mehr bei \textsf{scrartcl}}%^^A -% \changes{v3.12a}{2014/01/17}{fehlendes \cs{FamilyKeyStateProcessed}%^^A -% ergänzt}%^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\if@chaptertolists} -% \changes{v2.96a}{2006/12/03}{neuer Schalter}%^^A -% \changes{v3.12}{2013/09/24}{Verzeichnisse werden nicht in Verzeichnisse -% eingetragen}%^^A +% \changes{v2.96a}{2006/12/03}{added} +% \changes{v2.98c}{2008/03/05}{not with \cls*{scrartcl}} +% \changes{v3.12a}{2014/01/17}{missing \cs{FamilyKeyStateProcessed} added} +% \changes{v3.17}{2015/03/12}{internal value storage} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{macro}{\@chaptertolistsfalse,\@chaptertoliststrue,\if@chaptertolists} +% \changes{v2.96a}{2006/12/03}{added} +% \changes{v3.12}{2013/09/24}{don't add lists to lists} % \begin{macro}{\@chapterlistsgap} -% \changes{v2.96a}{2006/12/03}{neues Macro (intern)}%^^A -% Option, um einzugstellen, ob Kapitel in den Verzeichnissen der -% Gleitumgebungen Spuren hinterlassen. Man kann wahlweise Lücken einstellen -% (Voreinstellung mit 10\,pt) oder die Kapitelüberschrift eintragen lassen. -% Der Schalter gibt dabei an, ob die Kapitelüberschrift eingetragen werden -% soll. Das interne Hilfsmakro \cs{@chapterlistsgap} enthält den gewünschten -% Abstand. +% \changes{v2.96a}{2006/12/03}{added} +% We can do several special treatments inside the lists of floats, when a new +% chapter starts. % \begin{macrocode} %<*option&(book|report)> \newcommand*{\@chapterlistsgap}{10\p@} @@ -940,11 +1036,23 @@ \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergap}% \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapsmall}% \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapline}% +% \end{macrocode} +% \begin{description} +% \item[\opt{=entry}:] add the chapter heading also to the lists of +% float. \cs{@chaptertolisttrue} is used and the distance \cs{@chapterlistgap} +% is set to \len{z@}. +% \end{description} +% \begin{macrocode} \Ifstr{#1}{entry}{% \@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}% \KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}{entry}% \KOMA@kav@add{.\KOMAClassFileName}{listof}{chapterentry}% }{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=\meta{distance}}:] use a vertical \meta{distance}. +% \end{description} +% \begin{macrocode} \@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}% \KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}% {\@chapterlistsgap}% @@ -969,26 +1077,26 @@ \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}% %</option&(book|report)> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \@chapterlistgap +% \end{macro}^^A \if@chaptertolists +% \end{option}^^A chapteratlists % % % \begin{macro}{\float@listhead} -% \changes{v2.8b}{2001/06/26}{neu (für alle Paketautoren)}%^^A -% \changes{v2.8g}{2001/07/18}{\cs{float@headings} umbenannt in -% \cs{float@listhead}}%^^A -% \changes{v2.98c}{2008/03/05}{\cs{float@@listhead} wird verwendet}%^^A -% \changes{v3.00}{2008/07/04}{Verwendung von \cs{float@listhead} ist nicht -% länger empfohlen}%^^A -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}%^^A -% In Absprache mit Anselm Lingnau, dem Autor des Pakets \textsf{float}, wird -% ab Version 2.8b \cs{float@headings} zum Setzen des Kolumnentitels bei den -% Verzeichnissen verwendet, die \textsf{float} für neu definierte floats zur -% Verfügung stellt. Dabei definiert \textsf{float} die Anweisung nur, wenn -% sie nicht bereits existiert. Die Zusammenarbeit wird dadurch -% verbessert. Da Anselm sich in letzter Minute entschlossen hat, das Makro -% \cs{float@listhead} zu nennen, wurde dies in Version 2.8g angepasst. +% \changes{v2.8b}{2001/06/26}{added} +% \changes{v2.8g}{2001/07/18}{\cs{float@headings} renamed to +% \cs{float@listhead}} +% \changes{v2.98c}{2008/03/05}{using \cs{float@@listhead}} +% \changes{v3.00}{2008/07/04}{deprecated} +% \changes{v3.10}{2011/08/31}{using\cs{MakeMarkcase}} +% In 2001 I've designed an interface to allow other package authors to set the +% headings of lists of floats the same way \KOMAScript{} classes do. Anselm +% Lingnau accepted this interface (but did not like may macro names, so these +% were changed in \KOMAScript{} 2.8g). But for \KOMAScript{} 3 I've needed a +% more powerful interface. So this became deprecated. Unfortunately Anselm is +% not willing to use the new \pkg*{tocbasic} for \pkg{float}. See +% \pkg*{scrhack} for a solution and how \pkg{float} could benefit from using +% \pkg*{tocbasic}. % \begin{macrocode} %<*body> \newcommand*{\float@listhead}[1]{% @@ -996,13 +1104,8 @@ \float@@listhead{#1}% \@mkboth{\MakeMarkcase{#1}}{\MakeMarkcase{#1}}% % \end{macrocode} -% \changes{v2.8q}{2001/11/14}{dynamische Anpassung an die Nummer}%^^A -% Dies ist der passende Ort, um die Breite, die für die Nummer des -% Gleitobjekts benötigt wird zu ermitteln und anzupassen, falls dies -% geünscht wird. Dazu findet eine lokale Umdefinierung von -% \cs{@starttoc} statt. Die Umdefinierung ist deshalb lokal, weil alle -% mir bekannten Verzeichnisse von Gleitobjekten innerhalb einer Gruppe -% ausgegeben werden. +% \changes{v2.8q}{2001/11/14}{support for dynamic number width} +% This is the best occasion to also add the code for the dynamic number width. % \begin{macrocode} \if@dynlist% \newcommand*{\scr@starttoc}{}% @@ -1013,14 +1116,13 @@ \fi } % \end{macrocode} -% \begin{macro}{\scr@float@listhead@warning} -% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A -% \changes{v3.12}{2013/09/25}{Text geändert}%^^A -% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A +% \begin{macro}{\scr@float@listhead@warning,\scr@float@addtolists@warning} +% \changes{v3.01}{2008/11/13}{added} +% \changes{v3.12}{2013/09/25}{text changed} +% \changes{v3.12a}{2014/03/05}{text corrected} % \changes{v3.30}{2020/02/25}{spurious space at end of warning message -% removed}%^^A -% Die Warnung für die Verwendung von \cs{float@listhead}, dessen Definition -% irgendwann aus den Klassen verschwinden wird. +% removed} +% Here the warning messages, that are used for using the deprecated interface. % \begin{macrocode} \newcommand*{\scr@float@listhead@warning}{% \ClassWarning{\KOMAClassName}{% @@ -1037,16 +1139,6 @@ deprecated \string\float@listhead\space interface% }% } -% \end{macrocode} -% \end{macro} -% \begin{macro}{\scr@float@addtolists@warning} -% \changes{v3.01}{2008/11/13}{Neu (intern)}%^^A -% \changes{v3.12}{2013/09/25}{Text geändert}%^^A -% \changes{v3.12a}{2014/03/05}{Text korrigiert}%^^A -% \changes{v3.30}{2020/02/24}{Leerzeichen am Ende der Warnung entfernt}%^^A -% Die Warnung für die Verwendung von \cs{float@addtolists}, dessen -% Unterstützung irgendwann aus den Klassen verschwinden wird. -% \begin{macrocode} \newcommand*{\scr@float@addtolists@warning}{% \ClassWarningNoLine{\KOMAClassName}{% \string\float@addtolists\space detected!\MessageBreak @@ -1067,28 +1159,15 @@ } %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@float@listhead@warning,scr@float@addtolists@warning +% \end{macro}^^A \float@listhead % -% \begin{macro}{\listfigurename} -% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A -% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A -% \begin{macro}{\listtablename} +% \begin{command}{\listfigurename,\listtablename} +% \begin{command}{\listoflofname,\listoflotname, +% \listoflofentryname,\listoflotentryname} +% \changes{v3.00}{2008/07/03}{neu für Paket \pkg*{tocbasic}} % \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A -% \changes{v3.27}{2019/05/11}{auch als sprachabhängiger Bezeichner}%^^A -% \begin{macro}{\listoflofname} -% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} -% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A -% \begin{macro}{\listoflotname} -% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} -% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A -% \begin{macro}{\listoflofentryname} -% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} -% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A -% \begin{macro}{\listoflotentryname} -% \changes{v3.00}{2008/07/03}{neu für Paket \textsf{tocbasic}} -% \changes{v3.25}{2017/10/10}{\cs{renewcommand} statt \cs{newcommand}}%^^A -% Die Namen der Verzeichnisse auch für das Paket \textsf{tocbasic}. +% The names used by \pkg*{tocbasic}. % \begin{macrocode} %<*body> \renewcommand*\listfigurename{List of Figures} @@ -1103,71 +1182,59 @@ \renewcommand*\listoflotentryname{\tablename} %</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \listoflofname … \listoflotentryname +% \end{command}^^A \listfigurename,\listtablename % -% \begin{macro}{\listoffigures} -% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lof@heading}}%^^A -% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} nicht nur bei -% \textsf{scrartcl}}%^^A -% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf -% 0 gesetzt}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} -% ersetzt}%^^A -% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}%^^A -% \changes{v3.23}{2017/03/24}{Verwendung von \cs{ext@figure} statt -% \texttt{lof}}%^^A -% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC} -% definiert}%^^A -% Die Ausgabe des Abbildungsverzeichnisses. -% \end{macro} +% \begin{command}{\listoffigures} +% \changes{v2.3h}{1995/01/21}{using \cs{lof@heading}} +% \changes{v2.4k}{1996/12/13}{\cs{lof@heading} for all classes} +% \changes{v2.8l}{2001/08/16}{group added an \len{parskip} set to 0} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent} +% replaced} +% \changes{v3.00}{2008/07/04}{using \pkg*{tocbasic}} +% \changes{v3.23}{2017/03/24}{using \cs{ext@figure} instead of \file{lof}} +% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}} +% The list of figures. +% \end{command}^^A \listoffigures % % \begin{macro}{\l@figure} -% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC} -% im \texttt{default}-Stil definiert}%^^A -% Befehl zur Formatierung eines Verzeichniseintrags. -% \end{macro} +% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}} +% Entry command for the list of figures. +% \end{macro}^^A \l@figure % -% \begin{macro}{\listoftables} -% \changes{v2.3h}{1995/01/21}{Verwendung von \cs{lot@heading}}%^^A -% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} nicht nur bei -% \textsf{scrartcl}}%^^A -% \changes{v2.8l}{2001/08/16}{Gruppe eingefügt und \cs{parskip} auf -% 0 gesetzt}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}% -% \cs{@parskip@indent}}%^^A -% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} -% ersetzt}%^^A -% \changes{v3.00}{2008/07/04}{Verwendung von \textsf{tocbasic}}%^^A -% \changes{v3.23}{2017/03/24}{Verwendung von \cs{ext@table} statt -% \texttt{lot}}%^^A -% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC} -% definiert}%^^A -% Die Ausgabe des Tabellenverzeichnisses. -% \end{macro} +% \begin{command}{\listoftables} +% \changes{v2.3h}{1995/01/21}{using \cs{lot@heading}} +% \changes{v2.4k}{1996/12/13}{\cs{lot@heading} for all classes} +% \changes{v2.8l}{2001/08/16}{group added an \len{parskip} set to 0} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent} +% replaced} +% \changes{v3.00}{2008/07/04}{using \pkg*{tocbasic}} +% \changes{v3.23}{2017/03/24}{using \cs{ext@table} instead of \file{lot}} +% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}} +% The list of figures. +% \end{command}^^A \listoftables % % \begin{macro}{\l@table} -% \changes{v3.25}{2017/10/10}{Wird bereits implizit von \cs{DeclareNewTOC} -% im \texttt{default}-Stil definiert}%^^A -% \end{macro} +% \changes{v3.25}{2017/10/10}{implicit definition by \cs{DeclareNewTOC}} +% Entry command for the list of tables. +% \end{macro}^^A \l@table % -% -% \iffalse +% \begin{macrocode} %</!letter> -% \fi -% +% \end{macrocode} +% % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-listsof.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx b/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx index 5c5f5ee4a1..aeac05df99 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-miscellaneous.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-miscellaneous.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,56 +17,19 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-miscellaneous.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-miscellaneous.dtx 3554 2021-01-28 15:40:05Z kohm $ +%%% From File: $Id: scrkernel-miscellaneous.dtx 3743 2022-03-04 16:27:15Z kohm $ %<init>%%% (run: init) %<option>%%% (run: option) %<execoption>%%% (run: execoption) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-01-28 16:40:05 +0100 (Thu, 28 Jan 2021) $ + \filedate$Date: 2022-03-04 17:27:15 +0100 (Fr, 04. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3554 $ + \filerevision$Revision: 3743 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}% @@ -75,89 +38,53 @@ (miscellaneous, maybe everything or nothing)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-miscellaneous.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-miscellaneous.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2002/07/01}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} -% -% \section{Verschiedenes} -% -% Es gibt eine ganze Menge für das sich einzeln keine eigene Datei -% lohnt oder eine Einordnunge schwierig ist. All das nennen wird -% "`Verschiedenes"'. -% -% \subsection{Erweiterung der Internationalisierung} -% -% \changes{v2.2c}{1995/05/25}{Anpassung an CJK von Werner Lemberg.}%^^A -% -% Die Standardnamen wie \cs{figurename} etc. sind nicht immer -% ausreichend, da manche Sprachen Zählwörter vor oder nach dem -% jeweiligen Zähler einfügen müssen (man denke da sogar im -% Deutschen an "`Abbildung~1"' und "`Erste Abbildung"'). Desweiteren -% werden bei manchen Sprachen die Zwischenräume anders gesetzt -% bzw. sogar ganz unterdrückt. -% -% Es gibt drei Ebenen, die man modifizieren kann, um verschiedenste -% Sprachen zu implementieren: Ebene~1 besteht aus den hinl"anglich -% bekannten Makros wie \cs{figurename} und alle weiteren Makros, die -% z.\,B. \textsf{german} modifiziert. Desweiteren können die Makros -% \cs{sectfont} etc. etwaige zusätzliche Fonts aktivieren. Ebene~2 ist -% die zusätzliche Adaptierung von den Zählern selbst (\cs{thesection} -% könnte z.\,B. chinesische Schriftzeichen ansprechen anstelle von -% arabischen Ziffern). Die allgemeinste Form der dritten Ebene -% besteht aus den Makros \cs{chaptermarkformat}, -% \cs{sectionmarkformat} etc. welche die Änderung der Reihenfolge von -% Zähler und Titel sowie die genaue Kontrolle der Zwischenräume -% etc. ermöglichen. -% -% Für die gängigen Sprachen können alle Makros für die dritte -% Ebene identisch definiert werden. Bei Verwendung von "`exotischen"' -% Sprachen, aber auch speziellen Darstellungen in den gängigen -% Sprachen können diese Makros umdefiniert werden. -% -% Das Konzept für der Internationalisierung mit der dritten Ebene -% wurde ursprünglich von Werner Lemberg\footnote{Werner Lemberg ist im -% InterNet unter \texttt{a7621gac@awiuni11.bitnet} zu erreichen.} -% entwickelt. Die "`caption files"' seines CJK-Pakets -% (\textbf{C}hinesisch, \textbf{J}apanisch, \textbf{K}oreanisch) bauen -% auf diesem Konzept auf. Damit ist \KOMAScript{} für alle möglichen -% Sprachanpassungen bestens gerüstet. In der dritten Ebene wird -% übrigens auch die Einhaltung der DUDEN-Regeln für die -% Gliederungsnummern realisiert. -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse -%<*init> -% \fi -% \subsection{Test auf die eine \KOMAScript-Klasse} -% -% Hier haben wir zunächst ein paar Definitionen speziell für das Paket -% \textsf{scrletter}, die genau dann benötigt werden, wenn das Paket nicht mit -% einer \KOMAScript-Klasse verwendet wird. -% +% \changes{v2.95}{2002/07/01}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/03/01}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/03/01}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-miscellaneous.dtx} +% \title{All the Code of +% \href{https://komascript.de}{\KOMAScript} not Fitting into another File} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% Currently \file{scrkernel-miscellaneous.dtx} is a mess of miscellaneous +% code. There is a big, fat \textbf{ToDo} to change this! +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% +% \section{Implementation of Special Requirements of Package \pkg*{scrletter}} +% +% The \pkg*{scrletter} depends on some features of the \KOMAScript{} +% classes. However, a special user request was to make it work with the +% standard classes too. So we need additional code to detect not using a +% \KOMAScript{} class and to make this work. +% \begin{description} +% \item[ToDo:] Can we move this code into a letter file or use a new file only +% used for package \pkg*{scrletter}? +% \end{description} % \begin{macrocode} -%<*package&letter> +%<*package&letter&init> \scr@ifundefinedorrelax{KOMAClassName}{% \PackageWarningNoLine{scrletter}{% Cannot detect any KOMA-Script class.\MessageBreak @@ -175,13 +102,22 @@ \RequirePackage{scrextend}% % \end{macrocode} % -% \begin{macro}{\setparsizes} -% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}%^^A +% \begin{command}{\setparsizes} +% \changes{v3.23}{2017/02/22}{simple fallback definition} % \begin{macro}{\par@updaterelative} -% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}%^^A -% Diese beiden Befehle werden normalerweise von den \KOMAScript-Klassen -% definiert. Wird das Paket mit einer anderen Klasse verwendet, existieren -% sie nicht. Es wird dann eine vereinfachte Definition verwendet. +% \changes{v3.23}{2017/02/22}{empty fallback definition} +% If \pkg*{scrletter} is not used with a \KOMAScript{} class \cs{setparsizes} +% would not be available. But it is used in \cs{vb@t@z}, \cs{@addrfield}, +% \cs{@datefield}, \cs{@makelettertitle}, \cs{@subjfield}, \cs{opening}, +% \cs{closing}. Instead of changing the implementation of all these commands +% and macros, we define a very simple version of \cs{setparsizes}. And in case +% of using this simple version \cs{par@updaterelative} would become a +% do-nothing macro. This does work in case of the commands and macros listed +% above. But maybe it does not work in other cases. +% \begin{description} +% \item[ToDo:] Can we move this code into \file{scrkernel-paragraphs.dtx} or +% use a new file only for package \pkg*{scrletter}? +% \end{description} % \begin{macrocode} \providecommand*{\setparsizes}[3]{% \setlength{\parindent}{#1}% @@ -190,62 +126,45 @@ } \providecommand*{\par@updaterelative}{} % \end{macrocode} -% \end{macro}%^^A \par@updaterelative -% \end{macro}%^^A \setparsizes +% \end{macro}^^A \par@updaterelative +% \end{command}^^A \setparsizes % \begin{macrocode} }{} +%</package&letter&init> % \end{macrocode} % -% \begin{macro}{\scr@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung}%^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A -% Wird wie \cs{renewcommand} verwendet, verzögert die Umdefinierung aber bis -% zu einem optionalen Zeitpunkt. Dazu wird intern -% \cs{scrletter@extra@\meta{macro}} definiert. -% \begin{macro}{\@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A -% \begin{macro}{\do@renewforletter@list} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A -% Die do-Liste der später umzudefinierenden Anweisungen. -% \begin{macro}{\do@renewforletter} -% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A -% \changes{v3.25}{2017/11/15}{als unbenutzt entfernt}%^^A -% Definiert die in der do-Liste gespeicherten Anweisungen um. -% \begin{macrocode} -%</package&letter> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \begin{macro}{\scr@renewforletter,\@renewforletter,\do@renewforletter@list, +% \do@renewforletter} +% \changes{v3.20}{2014/04/10}{added} +% \changes{v3.25}{2017/11/15}{removed} % \end{macro} % -% \iffalse -%</init> -%<*option> -% \fi % -% \subsection{Optionen für Entwürfe} +% \section{Implementation of the Draft Mode} +% +% The \KOMAScript{} classes provide two draft options, the general one and a +% more specific. +% \begin{description} +% \item[ToDo:] Should we move this to \file{scrkernel-paragraphs.dtx}? +% \end{description} % % \begin{option}{draft} -% \changes{v2.95}{2002/12/05}{mit \textsl{keyval} reimplementiert}%^^A -% \changes{v3.17}{2015/03/12}{interne Speicherung der Werte}%^^A -% \changes{v3.25}{2017/11/21}{Beachtung von Option \texttt{overfullrule}}%^^A +% \changes{v2.95}{2002/12/05}{re-implemented using \pkg{keyval}} +% \changes{v3.17}{2015/03/12}{using internal value storage} +% \changes{v3.25}{2017/11/21}{respect option \opt{overfullrule}} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} % \begin{option}{final} -% \changes{v2.95}{2002/12/05}{obsolete Option}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt} -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% \changes{v3.02c}{2008/02/17}{optionales Argument im Fall von -% \textsf{scrextend} gesetzt} -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}% -% Der einzige Unterschied zwischen Entwürfen und Endversionen ist aus -% Sicht der Klassen, ob Zeilenüberhänge mit einem schwarzen Balken -% angezeigt werden sollen oder nicht. +% \changes{v2.95}{2002/12/05}{obsolete} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by +% \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{standard instead of obsolete} +% \changes{v3.02c}{2008/02/17}{explicit optional argument for \pkg*{scrextend}} +% In draft mode classes usually show a rule for overfull boxes. Despite this +% is usually already handled by the class, package \pkg*{scrextend} also +% provides the option, because of correct setting of the internal value +% storage also of option \opt{overfullrule}. % \begin{macrocode} -%<*class|extend> +%<*(class|extend)&option> \KOMA@key{draft}[true]{% \KOMA@set@ifkey{draft}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed @@ -281,16 +200,13 @@ \KOMA@DeclareStandardOption %<package&extend>[scrextend] {final}{draft=false} -%</class|extend> % \end{macrocode} % \begin{option}{overfullrule} -% \changes{v3.25}{2017/11/21}{new option}%^^A -% \selectlanguage{english}%^^A -% Because option \texttt{draft} can result in unwanted effects I've added a +% \changes{v3.25}{2017/11/21}{added} +% Because option \opt{draft} can result in unwanted effects I've added a % new option to explicite only change the overfull rule setting. However for % \textsf{scrextend} and the \KOMAScript{} classes the result is the same. % \begin{macrocode} -%<*class|extend> \KOMA@key{overfullrule}[true]{% \KOMA@set@ifkey{overfullrule}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed @@ -323,94 +239,124 @@ \ifdim\overfullrule>\z@ true\else false\fi } %</package&extend> -%</class|extend> +%</(class|extend)&option> % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% \end{option}%^^A overfullrule -% \end{option}%^^A final -% \end{option}%^^A draft +% \end{option}^^A overfullrule +% \end{option}^^A final +% \end{option}^^A draft % % -% \subsection{Optionen für Gleichungen} +% \section{Implementations for the Math Mode} % -% Briefe haben derzeit keine Gleichungen. -% \iffalse -%<*!letter> -% \fi +% \KOMAScript{} does not make something special for the math mode. +% \begin{description} +% \item[ToDo:] Should we move this to the special treatment of \pkg{amsmath} +% in \file{scrkernel-basics.dtx} or move it with the special treatment of +% \pkg{amsmath} in \file{scrkernel-basics.dtx} to a new file +% \file{scrkernel-math.dtx}? +% \end{description} % -% \begin{option}{leqno} -% \begin{option}{fleqno} -% Es können Gleichungsnummern links oder linksbündige Gleichungen -% eingestellt werden. +% \begin{option}{leqno,fleqno} +% The \KOMAScript{} classes but \cls*{scrlttr2} do support the standard +% class options \opt{leqno} and \opt{fleqn}. % \begin{macrocode} -%<*!extend> +%<*class&!letter&option> \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}} -%</!extend> +%</class&!letter&option> % \end{macrocode} % \end{option} -% \end{option} -% -% \iffalse -%</!letter> -% \fi -% -% \subsection{Optionen für \texttt{egreg}} % -% \texttt{egreg} hat in einem Kommentar zu -% \url{https://tex.stackexchange.com/questions/289853} verlauten lassen, dass -% er \KOMAScript{} u.\,a. deshalb nicht verwendet, weil \KOMAScript{} -% serifenlose Fonts für Überschriften voreingestellt hat. Er hätte lieber die -% hässlichen, fetten Antiqua-Fonts. Außerdem reicht es ihm nicht, dass man das -% einfach per \cs{setkomafont} ändern kann. Er will eine Option dafür. Nun, -% die soll er haben: +% \begin{command}{\theequation} +% \changes{v2.97e}{2007/11/23}{chapter numbers only in main matter} +% \changes{v3.27}{2022/03/01}{\cs{relax} replaced by percent because of +% \pkg*{hyperref}} +% The \KOMAScript{} classes \cls*{scrbook} and \cls*{scrreprt} have a special +% treatment for equation numbers. For \cls*{scrreprt} the number just depends +% on the chapter number. But for \cls*{scrbook} it also depends on the active +% matter. +% \begin{description} +% \item[ToDo:] With \cs{counterwidth} the \cls*{scrreprt} code could be very +% simple. But currently we still support old \LaTeX{} kernels without +% \cs{counterwithin}. +% \item[ToDo:] Should we also add a definition for \cls*{scrartcl} as done for +% \cls*{article}, though the same definition is already the default of the +% \LaTeX{} kernel? +% \end{description} +% \begin{macrocode} +%<*(book|report)&body> +\renewcommand*{\theequation}{% +%<*book> + \expandafter\ifnum\scr@v@is@gt{2.97d}% + \if@mainmatter\thechapter.\fi + \else +%</book> + \thechapter.% +%<book> \fi + \@arabic\c@equation +} +%</(book|report)&body> +% \end{macrocode} +% \end{command} +% +% \section{Implementation of Special Handling of Sans-Serif Defaults} +% +% TeX.SX user \texttt{egreg} has stated in comment +% \url{https://tex.stackexchange.com/questions/289853}, that he does not use +% \KOMAScript{} because of the sans-serif defaults for headings. He like the +% ugly, bold fat Antiqua more. Moreover, he is not satisfied in being able to +% change the default using \cs{setkomafont}. So the \KOMAScript{} author has +% defined an option to do the change of all sans-serif defaults at once. As a +% joke the name of this options not only references \texttt{egreg} but is +% cumbersome long. +% \begin{description} +% \item[ToDo:] Should we move this option to \file{scrkernel-fonts.dtx}? +% \item[ToDo:] Should we add a more handy and serious option like +% \opt{nosfdefaults}? +% \end{description} % % \begin{option}{egegdoesnotlikesansseriftitles} -% \changes{v3.20}{2016/01/29}{neu (speziell)} -% \changes{v3.20a}{2016/05/19}{auch in der Briefklasse} +% \changes{v3.20}{2016/01/29}{added} +% \changes{v3.20a}{2016/05/19}{also for \cls*{scrlttr2}} % \begin{macro}{\@gr@gsffamily} -% \changes{v3.20}{2016/01/29}{neu (intern)} -% \changes{v3.20a}{2016/05/19}{auch in der Briefklasse} -% Schaltet je nach Einstellung von Option -% \texttt{egegdoesnotlikesansseriftitles} entweder auf \cs{sffamily} um oder -% eben nicht. +% \changes{v3.20}{2016/01/29}{added} +% \changes{v3.20a}{2016/05/19}{also for \cls*{scrlttr2}} +% Used to switch on or off all the sans-serif defaults. % \begin{macrocode} -%<*!(package&letter)> +%<*!(package&letter)&option> \KOMA@ifkey{egregdoesnotlikesansseriftitles}{@egregdoesnotlikesansseriftitles} \newcommand*{\@gr@gsffamily}{% \if@egregdoesnotlikesansseriftitles\else\sffamily\fi } -%</!(package&letter)> +%</!(package&letter)&option> % \end{macrocode} -% \end{macro}%^^A \@gr@gsffamily -% \end{option}%^^A egregdoesnotlikesansseriftitles -% -% \iffalse -%</option> -%<*execoption> -% \fi +% \end{macro}^^A \@gr@gsffamily +% \end{option}^^A egregdoesnotlikesansseriftitles % % -% \subsection{Standardeinstellungen für die Optionen} +% \section{Implementation of the Execution and Processing of Options} % -% Am Ende aller Optionen wird zunächst die Standardeinstellungen der -% Optionen vorgenommen und dann alle Optionen ausgeführt. Dies -% geschieht zwischen den Optionen und dem Körper dieser Datei. +% After the definition of all options, some defaults have to be executed and +% all options have to be processed. +% \begin{description} +% \item[ToDo:] Can we move the execution of default to the files, where the +% corresponding options are defined? +% \item[ToDo:] Can we move the processing of options to +% \file{scrkernel-basics.dtx} where the command itself is defined? +% \end{description} % -% Es müssen die Standardoptionen festgelegt und alle Optionen -% ausgewählt werden. -% \changes{v2.97c}{2007/04/19}{Verwendung von \cs{KOMAExecuteOptions} an -% Stelle von \cs{KOMAoptions} und \cs{KOMAProcessOptions} an Stelle von +% \changes{v2.97c}{2007/04/19}{using \cs{KOMAExecuteOptions} instead of +% \cs{KOMAoptions} and \cs{KOMAProcessOptions} instead of % \cs{ProcessOptions}} -% \changes{v2.97c}{2007/04/19}{Optionen, die der Voreinstellung ohnehin -% entsprechen, werden nicht explizit gesetzt}%^^A -% \changes{v2.97c}{2007/07/18}{Option \texttt{twoside} bei den -% Voreinstellungen rausgenommen} -% \changes{v2.98c}{2008/03/10}{Option \texttt{headings!=big} zu den -% Voreinstellungen hinzugefügt} -% \changes{v3.11c}{2013/03/04}{Option \texttt{headings!=big} nicht für die -% Briefklasse} +% \changes{v2.97c}{2007/04/19}{options that are implicit defaults are not set +% explicitly} +% \changes{v2.97c}{2007/07/18}{removed \opt{twoside} from the default} +% \changes{v2.98c}{2008/03/10}{\opt{headings\quotechar=big} added to the +% default} +% \changes{v3.11c}{2013/03/04}{\opt{headings\quotechar=big} not with +% \cls*{scrlttr2}} % \begin{macrocode} +%<*execoption> %<*class> \KOMAExecuteOptions{% parskip=false,% @@ -418,34 +364,29 @@ } %</class> \KOMAProcessOptions\relax -% \end{macrocode} -% -% -% \iffalse %</execoption> -%<*body> -% \fi -% +% \end{macrocode} % -% \subsection{Temporäre Umschaltung zwischen ein- und zweispaltigem -% Satz} % -% Briefe sind immer einspaltig, benötigen also den Schalter nicht. -% \iffalse -%<*!letter> -% \fi +% \section{Implementation of Temporary Switch to Single Column Mode} % -% \begin{macro}{\if@restonecol} -% \begin{macro}{\@restonecoltrue} -% \begin{macro}{\@restonecolfalse} -% Damit innerhalb einer Umgebung lokal auf ein- oder zweispaltigen -% Satz umgeschaltet werden kann, wird ein Schalter benötigt. Dieser -% wird dann dafür verwendet, sich zu merken, dass eine Umschaltung -% stattgefunden hat und am Ende der Umgebung wieder aufzuheben -% ist. Der Schalter wird nicht in Umgebungen verwendet, die -% geschachtelt werden. Verwendung findet er beispielsweise für -% Titelseiten und das Inhaltsverzeichnis. +% Sometimes we need to temporary switch to single column mode, e.g., to print +% a table of contents or similar. This is not needed for \cls*{scrlttr2} or +% \pkg*{scrletter}. +% \begin{description} +% \item[ToDo:] Should we move this to \file{scrkernel-paragraphs.dtx} or +% another file? Currently it is used in \file{scrkernel-index.dtx}, +% \file{scrkernel-notepaper.dtx}, and \file{scrkernel-title.dtx} (and also +% in \file{scrhack.dtx}, which also defines it of needed). +% \end{description} +% +% \begin{macro}{\@restonecolfalse,\@restonecoltrue,\if@restonecol} +% We need a local switch to be able to restore two column mode after locally +% switching to one column mode (or visa versa). For \pkg*{scrextend} this is a +% little bit complicated, because the switch could already exist in the used +% class. % \begin{macrocode} +%<*!letter&body> %<*!extend> \newif\if@restonecol %</!extend> @@ -455,59 +396,38 @@ \@restonecolfalse }{} %</extend> +%</!letter&body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% -% \iffalse -%</!letter> -% \fi -% -% \subsection{Definitionen für den schlauen Spruch} -% -% Den schlauen Spruch gibt es nicht bei Briefen. -% \iffalse -%<*!letter> -% \fi +% +% \section{Implementation of the Dictum} % -% \begin{macro}{\dictum} -% \changes{v2.8q}{2001/20/04}{neu}%^^A -% \changes{v2.9l}{2003/01/28}{\cs{edef} durch \cs{def} ersetzt} -% \changes{v2.9q}{2004/04/19}{zur Vermeidung von Problemen durch -% \cs{raggeddictum} Gruppe eingef"ugt} -% \begin{macro}{\dictumwidth} -% \changes{v2.8q}{2001/20/04}{neu}%^^A -% \begin{macro}{\raggeddictum} -% \changes{v2.8q}{2001/20/04}{neu}%^^A -% \begin{macro}{\raggeddictumtext} -% \changes{v2.8q}{2001/20/04}{neu}%^^A -% \begin{macro}{\raggeddictumauthor} -% \changes{v2.8q}{2001/20/04}{neu}%^^A -% \begin{KOMAfont}{dictum} -% \changes{v2.8q}{2001/20/04}{neues Element}%^^A -% \changes{v3.20}{2016/01/29}{\cs{sffamily} durch \cs{@gr@gsffamily} -% ersetzt}%^^A -% \begin{KOMAfont}{dictumtext} -% \changes{v2.8q}{2001/20/04}{neues Element}%^^A -% \begin{KOMAfont}{dictumauthor} -% \changes{v2.8q}{2001/20/04}{neues Element}%^^A -% \begin{macro}{\dictumauthorformat} -% \changes{v2.8q}{2001/20/04}{neu}%^^A -% \begin{macro}{\dictumrule} -% \changes{v3.10}{2011/09/02}{neu}%^^A -% Ein \emph{dictum} ist ein Spruch. Er besteht aus dem Spruch selbst -% und verfügt optional über einen Autor, der dann mit einer Linie -% abgetrennt wird. Gibt es keinen Autor, gibt es auch keine Linie. Die -% Schriften für Autor und Spruch können getrennt voneinander -% eingestellt werden. Die Anordnung des Spruchs wird durch -% \cs{raggeddictumtext} gesetzt. Die des Autors durch -% \cs{raggeddictumauthor}. Die Formatierung selbst geschieht mit dem -% Makro \cs{dictumauthorformat}. Vordefiniert ist, den Namen des -% Autors in runde Klammern zu setzen. Die gesamte Geschichte von Text -% und Autor wird in eine Box der Breite \cs{dictumwidth} -% gepackt. Diese wird mit \cs{raggeddictum} angeordnet. +% Printing a \emph{dictum} is also not supported by letters. +% \begin{description} +% \item[ToDo:] Should we move this to \file{scrkernel-sections.dtx} or to a +% new file? +% \end{description} +% +% \begin{command}{\dictum} +% \changes{v2.8q}{2001/20/04}{added} +% \changes{v2.9l}{2003/01/28}{\cs{edef} replaced by \cs{def} ersetzt} +% \changes{v2.9q}{2004/04/19}{group added} +% \begin{command}{\dictumwidth, +% \raggeddictum,\raggeddictumtext,\raggeddictumauthor} +% \changes{v2.8q}{2001/20/04}{added} +% \begin{fontelement}{dictum} +% \changes{v2.8q}{2001/20/04}{added} +% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}} +% \begin{fontelement}{dictumtext,dictumauthor} +% \changes{v2.8q}{2001/20/04}{added} +% \begin{command}{\dictumauthorformat} +% \changes{v2.8q}{2001/20/04}{added} +% \begin{command}{\dictumrule} +% \changes{v3.10}{2011/09/02}{added} +% The \emph{dictum} consist of a text, the dictum, and an optional +% author. Text and author are separated by a horizontal rule. % \begin{macrocode} +%<*!letter&body> \newcommand{\dictum}[2][]{\par% \begingroup \raggeddictum\parbox{\dictumwidth}{% @@ -530,101 +450,71 @@ \newkomafont{dictum}{\normalfont\normalcolor\@gr@gsffamily\small} \newkomafont{dictumauthor}{\itshape} \aliaskomafont{dictumtext}{dictum} +%</!letter&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \iffalse -%</!letter> -% \fi -% -% \subsection{Längen für Minipages und Rahmen} -% -% \begin{Length}{@mpfootins} -% \begin{Length}{fboxsep} -% \begin{Length}{fboxrule} -% \cs{@mpfootins} entspricht \cs{footins} in Minipages. \cs{fboxsep} -% ist der Abstand zwischen dem Rahmen einer \cs{fbox} oder -% \cs{framebox} und dem Inhalt, \cs{fboxrule} ist die Dicke des -% Rahmens. +% \end{command}^^A \dictumrule +% \end{command}^^A \dictumauthorformat +% \end{fontelement}^^A dictumtext,dictumauthor +% \end{fontelement}^^A dictum +% \end{command}^^A \dictumwidth,\raggeddictum…\raggeddictumauthor +% \end{command}^^A \dictum +% +% +% \section{Setting Default Lengths of \env{minipage} and Frames} +% +% \begin{description} +% \item[ToDo:] Should we move the default for \len{@mpfootins} to +% \file{scrkernel-footnotes.dtx}? +% \item[ToDo:] Do we really need to set initial values to \len{fboxsep} and +% \len{fboxrule}? The same defaults using |pt| instead of \cs{p@} are already +% used in the \LaTeX{} kernel. Wouldn't that be enough? +% \end{description} +% +% \begin{length}{@mpfootins} +% \begin{length}{fboxsep,fboxrule} +% We are using the same settings like the standard classes. % \begin{macrocode} -%<*class> +%<*class&body> \setlength{\skip\@mpfootins}{\skip\footins} \setlength\fboxsep{3\p@} \setlength\fboxrule{.4\p@} -%</class> -% \end{macrocode} -% \end{Length} -% \end{Length} -% \end{Length} -% -% -% \subsection{Gleichungen} -% -% Gleichungen gibt es bei Briefen nicht. -% \iffalse -%<*!letter> -% \fi -% -% \begin{macro}{\theequation} -% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}%^^A -% \changes{v3.27}{2019/06/26}{\cs{relax} replaced by percent}%^^A -% Darstellung der Gleichungsnummer: -% \begin{macrocode} -%<*!extend> -%<book|report>\@addtoreset{equation}{chapter} -\renewcommand*\theequation{% -%<*book> - \expandafter\ifnum\scr@v@is@gt{2.97d}% - \if@mainmatter\thechapter.\fi - \else -%</book> -%<book|report> \thechapter.% -%<book> \fi - \@arabic\c@equation -} -%</!extend> +%</class&body> % \end{macrocode} -% \end{macro} -% -% \iffalse -%</!letter> -% \fi -% -% \subsection{Definitionen zur Feststellung von linken und rechten -% Seiten} -% -% \begin{macro}{\ifthispageodd} -% \changes{v2.8q}{2001/11/22}{neu}%^^A -% \changes{v3.28}{2019/11/19}{umbenannt in \cs{Ifthispageodd}}%^^A -% \begin{macro}{\Ifthispageodd} -% \changes{v3.28}{2019/11/19}{neu aus Umbenennung von \cs{ifthispageodd}}%^^A -% Häufig wird mit \cs{ifodd}\cs{value\{page\}} getestet, ob man sich -% gerade auf einer rechten oder einer linken Seite -% befindet. Dummerweise funktioniert das aber genaugenommen nur -% zufällig manchmal. Ob man sich auf einer linken oder einer rechten -% Seite befindet, ergibt sich nämlich erst bei der Ausgabe. Deshalb -% wird hier ein Makro definiert, das über eine Art Label-Mechanismus -% arbeitet. Es werden bewusst keine echten \cs{label} und \cs{pageref} -% verwendet, weil diese Befehle von verschiedenen Paketen manipuliert -% werden. +% \end{length} +% \end{length} +% +% +% \section{Implementation of Detection of Odd and Even Pages} +% +% \begin{description} +% \item[ToDo:] Should this code moved to \file{scrkernel-basics.dtx} or to a +% new one? +% \end{description} +% +% \begin{command}{\ifthispageodd,\Ifthispageodd} +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} renamed to \cs{Ifthispageodd}} +% Users often use |\ifodd\value{page}| to test, whether the current page is +% odd or even. But this is dramatically wrong, because of the asynchronous +% output of \TeX. So here we define a command +% \begin{quote} +% \Ifthispageodd\marg{then code}\marg{else code} +% \end{quote} +% that internally uses a label-like mechanism to do the decision. We do not +% really use \cs{label} and \cs{pageref}, because this would not work with +% Roman or alphabetic page numbers. So we use a direct write to the \file{aux} +% file instead. % % \begin{macro}{\new@tpo@label} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v2.95b}{2006/07/28}{verwendet jetzt \cs{@newl@bel}}%^^A -% \changes{v3.20}{2016/03/25}{use after definition in \texttt{aux}-file}%^^A -% Definition eines neuen \emph{true}-\emph{page}-\emph{odd} Labels. -% Wird in der \texttt{aux}-Datei verwendet. +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v2.95b}{2006/07/28}{using \cs{@newl@bel}} +% \changes{v3.20}{2016/03/25}{use after definition in the \file{aux}-file} +% Definition of a new \textbf{t}rue-\textbf{p}age-\textbf{o}dd label. To be +% used in the \file{aux} file. A fallback definition is also added to the +% \file{aux} file, so there wouldn't be an error, e.g., after removing package +% \pkg*{scrextend} from a document. % \begin{macrocode} -%<*class|extend> +%<*(class|extend)&body> \newcommand*{\new@tpo@label}{\@newl@bel{tpo}} \AtBeginDocument{% \if@filesw @@ -634,34 +524,34 @@ \fi } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \new@tpo@label % % \begin{macro}{\scr@tpo} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% Es wird ein Zähler benötigt, der die aktuelle Nummer der Anfrage -% beinhaltet. +% \changes{v2.8q}{2001/11/22}{added} +% We need a kind of counter with the actual usage number of +% \cs{Ifthispageodd}. % \begin{macrocode} \newcommand*{\scr@tpo}{0} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@tpo % % \begin{macro}{\is@thispageodd} -% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A -% \changes{v2.9l}{2003/01/28}{renamed \cs{if@thispageodd}}%^^A -% \changes{v2.95b}{2006/07/28}{basiert nun auf \cs{@newl@bel}}%^^A -% \changes{v3.17}{2015/03/23}{in zwei Anweisungen ausgeteilt}%^^A +% \changes{v2.8q}{2001/11/22}{added} +% \changes{v2.9l}{2003/01/28}{renamed \cs{if@thispageodd}} +% \changes{v2.95b}{2006/07/28}{using \cs{@newl@bel}} +% \changes{v3.17}{2015/03/23}{split into two macros} % \begin{macro}{\is@thispageodd@setlabel} -% \changes{v3.17}{2015/03/23}{neu (intern)}%^^A -% \changes{v3.20}{2016/03/25}{schreibe in die \texttt{aux}-Datei nur -% \cs{if@filesw}}%^^A -% \changes{v3.23}{2017/02/23}{Macro leert sich nach Benutzung selbst}%^^A -% Diese Makros machen die eigentliche Arbeit. Sie funktionieren nicht wie -% ein normales \cs{iffalse} oder \cs{iftrue}, denn es kann nicht -% geschachtelt innerhalb anderer \cs{if\dots} \dots \cs{fi} -% Klammerungen verwendet werden. Es sollte daher niemals außerhalb von -% \cs{ifthispageodd} verwendet werden. Da über die \texttt{aux}-Datei -% gearbeitet wird, funktioniert das Ganze nur, wenn die Datei auch -% geschrieben wird und min. zwei \LaTeX-Läufe erfolgen. +% \changes{v3.17}{2015/03/23}{added} +% \changes{v3.20}{2016/03/25}{write to \file{aux} file only \cs{if@filesw}} +% \changes{v3.23}{2017/02/23}{empty macro after usage} +% The main workers of \cs{Ifthispageodd}. It is used to set +% \cs{ifthispagewasodd} depending on the information it adds to the \file{aux} +% file. +% \begin{description} +% \item[ToDo:] Why do we use an optional argument here? Are there any +% circumstances, when the optional argument is not the default +% \cs{is@thispageodd@setlabel}? +% \end{description} % \begin{macrocode} \newcommand*{\is@thispageodd}[1][\is@thispageodd@setlabel]{% \@bsphack @@ -698,27 +588,22 @@ } \newcommand*{\is@thispageodd@setlabel}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifthispagewasodd} -% \changes{v2.9l}{2003/01/20}{neuer Schalter}%^^A -% \begin{macro}{\thispagewasoddtrue} -% \begin{macro}{\thispagewasoddfalse} -% Dieser Schalter speichert auf Rolf Niepraschks speziellen Wunsch die -% letzte Entscheidung von \cs{ifthispageodd}. Vor dem ersten -% \cs{ifthispageodd} ist der Zustand undefiniert. Es ist auch nicht -% garantiert, dass die Entscheidung noch zutreffend ist. +% \end{macro}^^A \is@thispageodd@setlabel +% \end{macro}^^A \is@thispageodd +% +% \begin{command}{\thispagewasoddfalse,\thispagewasoddtrue,\ifthispagewasodd} +% \changes{v2.9l}{2003/01/20}{added} +% Rolf Niepraschks asked for the possibility to check for the last decision, +% e.g., inside the \meta{then code} or \meta{else code}. So the definition of +% \cs{Ifthispageodd} has been changed not only to set such a switch, but also +% use it. % \begin{macrocode} \newif\ifthispagewasodd % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% Nun fehlt nur noch das eigentliche oben versprochene -% Anwendermacro. Das ist nun aber auch kein Problem mehr: -% \changes{v3.31}{2020/04/27}{Klasse und Paket in der Ausgabe korrigiert}%^^A +% With all these macros the user command is very easy. +% \changes{v3.31}{2020/04/27}{fixed class and package name in the warning} % \changes{v3.32}{2020/08/06}{\cs{KOMAClassName} fixed} % \begin{macrocode} \providecommand*{\ifthispageodd}{% @@ -740,29 +625,53 @@ \expandafter\@secondoftwo \fi } -%</class|extend> +%</(class|extend)&body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \ifthispageodd,\Ifthispageodd +% +% +% \section{Implementation of Notes to the Margin} +% +% \begin{description} +% \item[ToDo:] This has been moved newly to +% \file{scrkernel-miscellaneous.dtx}, but maybe we can find another suitable +% file? +% \end{description} +% +% \begin{command}{\marginline} +% \changes{v2.4l}{1997/02/06}{using the optional argument of \cs{marginpar}} +% \changes{v2.8q}{2001/11/27}{missing brace added} +% \changes{v3.36}{2022/02/22}{moved from \file{scrkernel-floats.dtx} to +% \file{scrkernel-miscellaneaous.dtx}} +% A very often wanted margin note feature is, to print all such notes in the +% left margin ragged-left and all such notes in the right margin +% ragged-right. So this is a simple shortcut for \cs{marginpar} with using +% almost the same argument twice. +% \begin{macrocode} +%<*(class|extend)&body> +\newcommand\marginline[1]{% + \marginpar[\raggedleft{#1}]{\raggedright #1}% +} +%</(class|extend)&body> +% \end{macrocode} +% \end{command} % % -% \subsection{Definitionen für tiefer gestellten Text} +% \section{Implementation of Subscripts} % -% \begin{macro}{\textsubscript} -% \changes{v2.8h}{2001/07/19}{neu}%^^A +% \begin{command}{\textsubscript} +% \changes{v2.8h}{2001/07/19}{added} +% \changes{v3.25}{2017/11/15}{define only if un-defined because of \LaTeX{} +% kernel change} % \begin{macro}{\@textsubscript} -% \changes{v2.8h}{2001/07/19}{neu (intern)}%^^A -% \changes{v3.10}{2011/09/05}{\cs{providecommand} statt \cs{newcommand}, -% damit das auch noch funktioniert, wenn \textsf{scrextend} nach -% \textsf{fixltx2e} geladen wird}%^^A -% \changes{v3.25}{2017/11/15}{wird nur noch definiert, wenn nicht vorhanden}%^^A -% Im \LaTeX-Kern wird zwar ein Makro \cs{textsuperscript} definiert, -% um Texte hochstellen zu können, die entsprechende Anweisung zum -% Tiefstellen fehlt jedoch. Das wird hier nachgeholt, wobei nahezu -% unverändert auf die Definition aus dem \LaTeX-Kern zurückgegriffen -% wird. +% \changes{v2.8h}{2001/07/19}{added} +% \changes{v3.10}{2011/09/05}{\cs{providecommand} instead of \cs{newcommand} +% because of \pkg{fixltx2e}} +% The \LaTeX{} kernel has \cs{textsuperscript}. But for several years +% \cs{textsubscript} was missing. For such old \LaTeX{} kernels, we define it +% similar to \cs{textsuperscript}. % \begin{macrocode} -%<*class|extend> +%<*(class|extend)&body> \scr@ifundefinedorrelax{textsubscript}{% \DeclareRobustCommand*\textsubscript[1]{% \@textsubscript{\selectfont#1}% @@ -777,59 +686,67 @@ \providecommand*{\@textsubscript}[1]{% {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}% } -%</class|extend> +%</(class|extend)&body> % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command}^^A \textsubscript % % -% \subsection{Unsichtbare Stütze} +% \section{Implementation of an Invisible Strut} % \label{sec:strut} % +% \begin{description} +% \item[ToDo:] Maybe \file{scrkernel-basics.dtx} would be a good place for +% this and maybe is should become a user command and be used at several +% places, currently \cs{strut} is used. +% \end{description} +% % \begin{macro}{\scr@endstrut} -% \changes{v3.25}{2017/11/15}{neu (intern)}%^^A -% Wird am Ende eines vermutlich horizontalen Materials eine unsichtbare Stütze -% der Art \cs{strut} eingebaut, werden Leerzeichen, die davor stehen plötzlich -% zu Leerzeichen in der Ausgabe, auch wenn das gar nicht erwünscht wird. Das -% kann man verhindern, indem man \cs{unskip} davor setzt. Dummer Weise hat -% eine solche Stütze dann aber das Problem, dass das letzte Wort davor nicht -% mehr getrennt wird. Verrückter Weise kann man das wiederum mit \cs{nobreak} -% lösen. Das sollte dann auch nur im horizontalen Modus gemacht werden. +% \changes{v3.25}{2017/11/15}{added} +% If we simply add \cs{strut} to the end of material which is assumed to be +% horizontal, white spaces at the end of such material could become relevant, +% even if the would not without the \cs{strut}. We can avoid this by adding +% \cs{unskip} before the \cs{strut}. But in this case, the last work before +% the \cs{strut} will not be hyphenated any more. If we are really in +% horizontal mode, we can use \cs{nobreak} before the \cs{strut} you once +% again allow hyphenation. +% \begin{description} +% \item[ToDo:] Should the \cs{unskip} also be moved behind \cs{ifhmode}? +% \end{description} % \begin{macrocode} -%<*class|letter|extend> +%<*(class|letter|extend)&body> \providecommand*{\scr@endstrut}{\unskip\ifhmode\nobreak\strut\fi} -%</class|letter|extend> +%</(class|letter|extend)&body> % \end{macrocode} % \end{macro} % % -% -% \subsection{Warnung vor Paketen} +% \section{Warnings for Using Incompatible Packages} % \label{sec:packagewarning} % -% \changes{v3.12}{2013/07/08}{neue Warnungen vor bestimmten Paketen}%^^A +% \begin{description} +% \item[ToDo:] This should be moved to a new file. +% \end{description} +% +% \changes{v3.12}{2013/07/08}{warnings about several incompatible packages +% added} +% % \begin{macro}{\scr@package@not@recommended} -% \changes{v3.12}{2013/07/08}{neu (intern)}%^^A -% Beim Laden verschiedener Pakete wird nun eine Warnung ausgegeben. In der -% Regel mit einer Alternativempfehlung. +% \changes{v3.12}{2013/07/08}{added} % \begin{macro}{\class@shoulddisablepackagewarning@list} -% \changes{v3.24}{2017/06/25}{neu (nur für Klassenautoren)}%^^A -% Ab \KOMAScript~3.24 ist für Klassenautoren und nur für diese dokumentiert, -% dass bei Vorhandensein des Makros -% \cs{class@shoulddisablepackagewarning@list} während dem Laden der -% \KOMAScript-Klasse für nicht empfohlene Pakete ein -% \cs{in@}-Vergleich gegen genau den Inhalt dieses Makros stattfindet. Wird -% der Paketname dabei gefunden, so unterbleibt das Absetzen der Warnung. Zur -% korrekten Syntax des zweiten Arguments von \cs{in@} sei ausdrücklich auf den -% Kernel hingewiesen. Ebenso sind Klassenautoren verantwortlich, eine bereits -% vorhandene Liste nicht einfach zu überschreiben, sondern korrekt zu -% ergänzen! Eine Definition von \cs{class@shoulddisablepackagewarning@list} -% nach dem Laden der \KOMAScript-Klasse ist wirkungslos. Da diese -% Schnittstelle Klassenautoren vorbehalten bleiben soll, die wissen, was sie -% tun, gibt es keine weitergehende Dokumentation dazu und natürlich auch kein -% Beispiel. +% \changes{v3.24}{2017/06/25}{added} +% Loading of several incompatible packages should result in warnings using: +% \begin{quote} +% \cs{scr@package@not@recommended}\marg{package}\marg{alternatives} +% \end{quote} +% Usually the warning contains information about \meta{alternatives}, but this +% argument can also be empty. Authors of classes can deactivate the warning, +% by adding a \meta{package} to the comma separated list +% \cs{class@shoulddisablepackagewarning@lis}. This has to be done, before +% loading the \KOMAScript{} class. However doing so is not recommended and the +% class author is responsible for the drawbacks. % \begin{macrocode} -%<*class> +%<*class&body> \newcommand*{\scr@package@not@recommended}[2]{% \scr@ifundefinedorrelax{class@shoulddisablepackagewarning@list}{% \@firstofone @@ -853,24 +770,20 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \class@shoulddisablepackagewarning@list -% -% \textsf{emptypage} wird nicht benötigt, weil es bereits entsprechende -% Einstellungen in \KOMAScript{} gibt. Darüber hinaus verwendet es -% \cs{thispagestyle} an Stelle von \cs{pagestyle} in einer Gruppe, was -% dazu führen kann, dass nach einem \cs{cleardoublepage}, das keine leere -% Seite erzeugt, die nächste Seite den entsprechenden Seitenstil bekommt. +% \end{macro}^^A \class@shoulddisablepackagewarning@list +% Here are the not recommended packages and the alternatives: +% \begin{description} +% \item[\pkg{emptypage}:] is not needed, because there are corresponding +% options and features in \KOMAScript. % \begin{macrocode} \scr@package@not@recommended{emptypage}{% option\MessageBreak `cleardoublepage' with one of it's\MessageBreak several values} % \end{macrocode} -% -% \textsf{fancyhdr} verwendet veraltete Font-Befehle und beachtet die -% Font-Einstellungen und diverse andere Befehle und Optionen von \KOMAScript{} -% nicht. -% \changes{v3.24}{2017/06/25}{improved \textsf{fancyhdr} warning}%^^A +% \item[\pkg{fancyhdr}:] does not respect font settings of \KOMAScript{} and +% also breaks some other features. +% \changes{v3.24}{2017/06/25}{improved \pkg{fancyhdr} warning} % \begin{macrocode} \scr@package@not@recommended{fancyhdr}{% \MessageBreak @@ -882,24 +795,24 @@ `\string\addtokomafont' for the page style elements need\MessageBreak explicite user intervention to work} % \end{macrocode} -% \changes{v3.23}{2017/02/04}{Verwendung von \textsf{minitoc} kann nicht -% empfohlen werden}%^^A -% \textsf{minitoc} definiert u.\,a. \cs{@sect} hart um und zerstört so diverse -% Erweiterungen von \KOMAScript. Es ist nicht abschließend untersucht, was das -% Paket noch alles zerstört. Derzeit gibt es nur einen Workaround für das -% genannte Problem mit \cs{@sect} (siehe: -% Abschnitt~\ref{sec:packageworkarounds}). +% \item[\pkg{minitoc}:] +% \changes{v3.23}{2017/02/04}{\pkg{minitoc} is not recommended} +% re-defines, e.g., \cs{@sect} and therefore breaks all the extensions of +% \KOMAScript{} to this command. Currently not all impacts of the package has +% been explored. Currently there is only a workaround for the \cs{@sect} +% issue. See \autoref{sec:packageworkarounds} for more information. % \begin{macrocode} +%<*!letter> \scr@package@not@recommended{minitoc}{} +%</!letter> % \end{macrocode} -% -% \selectlanguage{english}%^^A -% \changes{v3.26}{2018/07/18}{\textsf{multitoc} not recommended}%^^A -% \textsf{multitoc} not recommended, because up to version 2.01 it breaks all -% additional list-ofs and even table of contents, list of figures and list of -% tables, if option \texttt{toc}, \texttt{lof} or \texttt{lot} has not been -% set. And it is not needed, because you can use \cs{BeforeStartingTOC} and -% \cs{AfterStartingTOC} to make two-column list-ofs. +% \item[\pkg{multitoc}:] +% \changes{v3.26}{2018/07/18}{\pkg{multitoc} not recommended} +% At least up to version 2.01 this breaks all additional lists/tables of +% contents, because the \cs{@starttoc} redefinition does not allow to use +% another extension but \file{toc}, \file{lof}, or \file{lot}. The package is +% also not needed, because the \env{multicols} environment can simply be added +% using \cs{BeforeStartingTOC} and \cs{AfterStartingTOC}. % \begin{macrocode} %<*!letter> \scr@package@not@recommended{multitoc}{% @@ -921,45 +834,40 @@ } %</!letter> % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% -% \textsf{parskip} ist nur ein Notfallpaket für Klassen, die selbst keinen -% Absatzabstand unterstützen. +% \item[\pkg{parskip}:] is an emergency fallback package for classes, that +% do not support paragraph skips themselves. % \begin{macrocode} \scr@package@not@recommended{parskip}{% option\MessageBreak `parskip' with one of it's several values} % \end{macrocode} -% -% \changes{v3.16}{2015/01/21}{Verwendung von \textsf{titleps} kann nicht -% empfohlen werden}%^^A -% \textsf{titleps} beachtet die Font-Einstellungen und diverse andere Befehle -% und Optionen von \KOMAScript{} nicht. +% \item[\pkg{titleps}:] +% \changes{v3.16}{2015/01/21}{\pkg{titleps} not recommended} +% does not respect several font settings and other features of the +% \KOMAScript{} classes. % \begin{macrocode} \scr@package@not@recommended{titleps}{% package `scrlayer-scrpage'} % \end{macrocode} -% -% \textsf{titlesec} beschädigt diverse \KOMAScript{} Erweiterungen und -% benötigt eigene Workarounds (siehe Abschnitt~\ref{sec:packageworkarounds}), -% so dass es einfach nicht gut mit \KOMAScript{} harmoniert. +% \item[\pkg{titlesec}:] +% \changes{v3.36}{2022/03/01}{bring back \pkg{titlesec} warning} +% breaks several \KOMAScript{} features and needs a lot +% of workarounds to not result in errors. Note, these workarounds have been +% removed from \KOMAScript{}, because they are very fragile and use internal +% macros of \pkg{titlesec}. % \begin{macrocode} %<*!letter> -%<*ignorethis> \scr@package@not@recommended{titlesec}{% - the package only\MessageBreak - if you really need it, because it breaks several\MessageBreak - KOMA-Script features, i.e., option `headings' and\MessageBreak - the extended optional argument of the section\MessageBreak - commands} -%</ignorethis> + KOMA-Script features\MessageBreak + like \string\setkomafont, \string\RedeclareSectionCommand, + \string\sectionlinesformat\MessageBreak + and several others to re-configure section\MessageBreak + headings} %</!letter> % \end{macrocode} -% -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/07/24}{\textsf{sectsty} up to v2.0.2 is -% incompatible}%^^A -% \textsf{sectsty} up to version 2.0.2 uses internal commands of +% \item[\pkg{sectsty}:] +% \changes{v3.27}{2019/07/24}{\pkg{sectsty} up to v2.0.2 is incompatible} +% uses up to version 2.0.2 internal commands of % \KOMAScript{}, that has been removed already 2001 in \KOMAScript{} 2.8e. So % it was never compatible with \KOMAScript~3. % \begin{macrocode} @@ -987,14 +895,14 @@ } %</!letter> % \end{macrocode} -% -% \changes{v3.25}{2017/11/21}{Usage of \textsf{tocbibind} not recommended}%^^A -% \textsf{tocbibind} does several things, that break \KOMAScript, i.e.: +% \item[\pkg{tocbibind}:] +% \changes{v3.25}{2017/11/21}{Usage of \pkg{tocbibind} not recommended} +% \pkg{tocbibind} does several things, that break \KOMAScript, i.e.: % \begin{itemize} % \item usage of \cs{MakeUppercase} within running heads, % \item usage of hard codes \texttt{toc} for the ToC entries, -% \item hard redefinition of \texttt{thebibliography}, -% \item hard redefinition of \texttt{theindex}, +% \item hard redefinition of \env{thebibliography}, +% \item hard redefinition of \env{theindex}, % \item hard redefinition of \cs{tableofcontents}, % \item hard redefinition of \cs{listoftables}, % \item hard redefinition of \cs{listoffigures}, @@ -1012,18 +920,18 @@ } %</!letter> % \end{macrocode} -% -% \changes{v3.26}{2018/07/18}{Usage of \textsf{tocloft} not recommended}%^^A -% \textsf{tocloft} does redefine \cs{tableofcontents}, \cs{listoffigures}, +% \item[\pkg{tocloft}:] +% \changes{v3.26}{2018/07/18}{Usage of \textsf{tocloft} not recommended} +% redefines \cs{tableofcontents}, \cs{listoffigures}, % \cs{listoftables}, \cs{l@part} \dots{} \cs{l@subparagraph} and breaks % \KOMAScript, i.e.: % \begin{itemize} % \item commands \cs{BeforeTOCHead}, \cs{AfterTOCHead}, % \cs{BeforeStartingTOC}, \cs{AfterStartingTOC}, % \item almost all TOC features, -% \item options \texttt{listof=totoc}, \texttt{listof=numbered}, -% \item option \texttt{listof=flat}, -% \item option \texttt{listof=entryprefix}, +% \item options \opt{listof=totoc}, \opt{listof=numbered}, +% \item option \opt{listof=flat}, +% \item option \opt{listof=entryprefix}, % \item all options of \cs{DeclareTOCEntryStyle}, % \end{itemize} % \begin{macrocode} @@ -1052,23 +960,31 @@ `subsubsection', `paragraph' and `subparagraph'% } %</!letter> -%</class> +%</class&body> % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% \end{macro}%^^A \scr@package@not@recommended +% \end{description} +% \end{macro}^^A \scr@package@not@recommended % -% \subsection{Workarounds für fremde Pakete} +% \section{Workarounds for Incompatible Packages} % \label{sec:packageworkarounds} % -% \changes{v3.23}{2017/02/04}{\textsf{minitoc} verursacht ein schwerwiegendes -% Problem}%^^A -% Das Paket \textsf{minitoc} verursacht ein schwerwiegendes Problem indem es -% \cs{@sect} hart umdefiniert, ohne zuvor zu testen, ob die Definition den -% Erwartungen entspricht. Ich werde hier einmal versuchen, mich darum herum zu -% lavieren. Eine wirklich gute Lösung ist das sicher nicht. Man sollte das -% Paket schlicht besser nicht mit \KOMAScript{} zusammen verwenden. +% \begin{description} +% \item[ToDo:] The code should be moved to the same file as the code of +% \autoref{sec:packagewarning} or maybe even to \pkg{scrhack}. +% \end{description} +% +% For some packages can be made compatible, patching some internal macros of +% these packages: +% \begin{description} +% \item[\pkg{minitoc}:] +% \changes{v3.23}{2017/02/04}{\pkg{minitoc} is incompatible} +% has some serious issues. The first issue is the hard re-definition of +% \cs{@sect} without respecting the changes the \KOMAScript{} classes +% already made. Here I'll try a ugly workaround for this, but is can +% break. So not using the package with a \KOMAScript{} class would be the +% better choice. % \begin{macrocode} -%<*class> +%<*class&body> %<*!letter> \BeforePackage{minitoc}{% \let\scr@mt@saved@sect\@sect @@ -1084,7 +1000,7 @@ % \end{macrocode} % Note: There are several bugs in this definition (e.g. missing % \cs{expandafter} and spurious spaced). Nevertheless its the original one -% from \textsf{minitoc} 61 and so I have to use it. +% from \pkg{minitoc} 61 and 62 and so I have to use it. % \begin{macrocode} \def\@tempa#1#2#3#4#5#6[#7]#8{ \expandafter @@ -1163,155 +1079,33 @@ \fi } %</!letter> -%</class> -% \end{macrocode} -% -% \changes{v3.13a}{2014/10/09}{\textsf{titlesec} hat ein schwerwiegendes -% Problem}%^^A -% Das Paket \textsf{titlesec} hat ein schwerwiegendes Problem, wenn -% Überschriften nicht per \cs{@startsection} definiert sind. Ich werde hier -% einmal versuchen, mich darum herum zu lavieren. Eine wirklich gute Lösung -% ist das sicher nicht. Man sollte das Paket schlicht besser nicht mit -% \KOMAScript{} zusammen verwenden. -% \begin{macrocode} -%<*class> -%<*!letter> -%<*ignorethis> -\BeforePackage{titlesec}{% - \let\scr@ttl@saved@section\section - \let\scr@ttl@saved@subsection\subsection - \let\scr@ttl@saved@subsubsection\subsubsection - \let\scr@ttl@saved@paragraph\paragraph - \let\scr@ttl@saved@subparagraph\subparagraph -} -%</ignorethis> -\AfterPackage{titlesec}{% -% \end{macrocode} -% Hack getestet mit \textsf{titlesec} 2011/12/15 v2.10.0 bis 2016/03/21 -% v2.10.2. Daher bis zu diesem Datum freigeschaltet. -% \changes{v3.20}{2016/03/22}{\textsf{titlesec}-Hack auch für Version -% 2016/03/15}%^^A -% \changes{v3.20}{2016/03/24}{\textsf{titlesec}-Hack auch für Version -% 2016/03/21}%^^A -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/07/23}{\textsf{titlesec} does not support KOMA-Script -% classes}%^^A -% After several years \textsf{titlesec} still does not really support -% \KOMAScript{} classes and \KOMAScript{} would still need an ugly hack using -% internal \texttt{titlesec} macros and deactivating several features of -% \KOMAScript{} to make the package work. So IMO the better solution is to -% remove such hacks from the \KOMAScript{} classes. Maybe the -% \textsf{titlesec} author will support the \KOMAScript{} classes in some -% future, maybe not. Maybe \textsf{scrhack} will provide an ugly workaround to -% make \texttt{titlesec} work in any kind with \KOMAScript{} classes. But the -% classes are the wrong place to provide such hacks. However, if you need such -% a hack, see the following code, that is not longer used or supported or copy -% the section commands code from a standard class. -% \begin{macrocode} -%<*ignorethis> - \@ifpackagelater{titlesec}{2019/10/17}{% - \ClassInfo{\KOMAClassName}{% - Deactivating the `titlesec' workaround,\MessageBreak - because package is newer than expected% - }% - }{% - \ClassWarning{\KOMAClassName}{% - Activating an ugly workaround for a missing\MessageBreak - feature of package `titlesec`% - }% - \def\scr@ttl@@extract#1\scr@startsection#2#3#4#5#6#7#8{% - \@tempskipa=#5 - \@tempskipb=#6 - \ifdim\@tempskipa<\z@ - \toks@{\titlespacing*#8{#4}}% - \@tempskipa-\@tempskipa - \else - \toks@{\titlespacing#8{#4}}% - \fi - \@ifundefined{ttl@space}{}{% - \ttl@assign\@tempskipa*\ttl@space\relax\beforetitleunit}% - \ifdim\@tempskipb<\z@ - \if@tempswa - \titleformat#8[runin]% - {\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}% - {\z@}\ttl@passexplicit - \else - \titleformat#8[runin]% - {#7}{\@seccntformat{#2}}% - {\z@}\ttl@passexplicit - \fi - \@tempskipb-\@tempskipb - \else - \if@tempswa - \titleformat#8% - {\ttl@fil\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}% - {\z@}\ttl@passexplicit - \else - \titleformat#8% - {#7}{\@seccntformat{#2}}% - {\z@}\ttl@passexplicit - \fi - \@ifundefined{ttl@space}{}{% - \ttl@assign\@tempskipb*\ttl@space\relax\aftertitleunit}% - \fi - \edef\ttl@a{\the\toks@{\the\@tempskipa}{\the\@tempskipb}} - \ttl@a}% - \expandafter\scr@ttl@@extract\scr@ttl@saved@section\section - \expandafter\scr@ttl@@extract\scr@ttl@saved@subsection\subsection - \expandafter\scr@ttl@@extract\scr@ttl@saved@subsubsection\subsubsection - \expandafter\scr@ttl@@extract\scr@ttl@saved@paragraph\paragraph - \expandafter\scr@ttl@@extract\scr@ttl@saved@subparagraph\subparagraph - \let\scr@ttl@saved@section\relax - \let\scr@ttl@saved@subsection\relax - \let\scr@ttl@saved@subsubsection\relax - \let\scr@ttl@saved@paragraph\relax - \let\scr@ttl@saved@subparagraph\relax - \let\scr@ttl@@extract\relax - }% -%</ignorethis> - \@ifpackagelater{titlesec}{2019/10/17}{% - \ClassInfo{\KOMAClassName}{Unknown `titesec' release.\MessageBreak - Cross your fingers, that is compatible% - }% - }{% - \scr@class@titlesec@warning - }% -} -\providecommand*{\scr@class@titlesec@warning}{% - \ClassWarning{\KOMAClassName}{% - Usage of this version of package `titlesec'\MessageBreak - with KOMA-Script class `\KOMAClassName' is\MessageBreak - not recommended, because the package does not\MessageBreak - support KOMA-Script classes, but break them.\MessageBreak - If you want to use `titlesec' with KOMA-Script\MessageBreak - classes instead of using the KOMA-Script's\MessageBreak - user interface to configure the headings of\MessageBreak - parts, -%<!article> chapters, sections -%<article> sections, subsections - ... subparagraphs,\MessageBreak - please ask the author of `titlesec' for support.\MessageBreak - Expect errors like:\MessageBreak - \space\space- ``Illegal unit of measure (pt inserted).''\MessageBreak - \space\space- ``Missing number, treated as zero''\MessageBreak - after loading `titlesec'% - }% -} -%</!letter> -%</class> +%</class&body> % \end{macrocode} +% \item[\pkg{titlesec}:] +% \changes{v3.13a}{2014/10/09}{\pkg{titlesec} is hardly incompatible} +% \changes{v3.27}{2019/07/23}{\pkg{titlesec} does not support +% KOMA-Script classes}% +% After several years \textsf{titlesec} still does not really support +% \KOMAScript{} classes and \KOMAScript{} would still need an ugly hack +% using internal \texttt{titlesec} macros and deactivating several features +% of \KOMAScript{} to make the package work. So IMO the better solution is +% to remove such hacks from the \KOMAScript{} classes. Maybe the +% \pkg{titlesec} author will support the \KOMAScript{} classes in some +% future, maybe not. If you really need to \pkg{titlesec} with a +% \KOMAScript{} class, see the ugly \texttt{standardsection} hack in +% \pkg*{scrhack}. +% \end{description} % % -% \iffalse -%</body> -% \fi -% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-miscellaneous.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx index 72171d8a70..36336f3b24 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-notepaper.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-notepaper.dtx -% Copyright (c) Markus Kohm, 2006-2021 +% Copyright (c) Markus Kohm, 2006-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-notepaper.dtx -% Copyright (c) Markus Kohm, 2006-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-notepaper.dtx 3577 2021-03-05 10:17:58Z kohm $ +%%% From File: $Id: scrkernel-notepaper.dtx 3742 2022-03-04 16:21:17Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-03-05 11:17:58 +0100 (Fri, 05 Mar 2021) $ + \filedate$Date: 2022-03-04 17:21:17 +0100 (Fr, 04. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1767 $ + \filerevision$Revision: 3742 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-notepaper.dtx} @@ -73,70 +36,66 @@ (note-paper)] }% \reserved@a -% \iffalse -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-notepaper.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{3} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-notepaper.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2006/03/16}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/26}{\cs{@newplength} replaced by \cs{newplength}} +% \changes{v3.36}{2022/02/26}{\cs{@setplength} replaced by \cs{setplength}} +% \changes{v3.36}{2022/02/26}{\cs{@addtoplength} replaced by \cs{addtoplength}} +% \changes{v3.36}{2022/03/02}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/03/02}{whole implementation documentation in English} % -% \changes{v2.95}{2006/03/16}{% -% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} +% \GetFileInfo{scrkernel-notepaper.dtx} +% \title{Specific Code for Letters and Especially the Notepaper with +% \href{https://komascript.de}{\KOMAScript}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The notepaper is something with high interest for letters. \KOMAScript{} +% provides a wide range of configurations for it. \file{scrkernel-notepaper} +% implements these features with options, variables and pseudo lengths +% \end{abstract} +% \tableofcontents % -% \section{Briefbogen und Briefpapier} +% \section{User Manual} % -% Bei Briefen kommt dem Briefbogen, also dem ersten Blatt des Briefes eine -% besondere Bedeutung zu. Dieser ist bei \texttt{scrlttr2} durch diverse -% Optionen, Variablen, Pseudo-Längen und Anweisungen bestimmt. Die weiteren -% Briefseiten werden hier verinfacht als das Briefpapier bezeichnet. Natürlich -% ist genau genommen auch der Briefbogen Briefpapier, aber eben ein besonderes. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % -% \iffalse -%<*option> -% \fi % -% \iffalse -%<*letter> -% \fi +% \section{Implementation of the Notepaper of Letters} % -% \subsection{Option für den Briefbogen} +% This code is only valid for letters with \cls*{scrlttr2} or +% \pkg*{scrletter}. % -% Gerade der Briefbogen ist durch eine ganze Anzahl von Optionen -% konfigurierbar. Daher wird hier weiter thematisch untergliedert. +% \begin{macrocode} +%<*letter> +% \end{macrocode} % % -% \subsubsection{Optionen für den Briefkopf} +% \subsection{Options of the letter head} % -% Die Gestaltung des Briefkopfes war bei der alten \texttt{scrlettr} -% Klasse eng begrenzt. Deshalb hatte ich für mich selbst das -% \texttt{briefkopf} Paket geschrieben und ohne Support -% veröffentlicht. Die Funktionalität ist nun direkt verfügbar. Dazu -% werden verschiedene Optionen benötigt. +% There are several options for the letter head. % % \begin{option}{firsthead} -% \changes{v2.97e}{2007/11/22}{Neu}%^^A -% Der Briefkopf kann auch einfach abgeschaltet werden. -% \begin{macro}{\if@firsthead} -% \changes{v2.8q}{2002/01/25}{Neuer Schalter (intern)}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist die Verwendung des Briefkopfes. +% \changes{v2.97e}{2007/11/22}{added} +% \begin{macro}{\@firstheadfalse,\@firstheadtrue,\if@firsthead} +% \changes{v2.8q}{2002/01/25}{added} +% Optionally the whole letter head can be switched off (default is on). % \begin{macrocode} +%<*option> \KOMA@ifkey{firsthead}{@firsthead} \KOMAExecuteOptions{firsthead=true} % \end{macrocode} @@ -144,30 +103,27 @@ % \end{option} % % \begin{option}{fromalign} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Diese Option legt fest, ob der Absender linksbündig, mittig oder -% rechtsbündig gesetzt werden soll. +% \changes{v2.8q}{2002/01/25}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/16}{using internal value storage} % \begin{macro}{\@alignfrom} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \changes{v2.97e}{2007/11/13}{neue Werte für Verwendung der -% Absenderergänzung}%^^A -% Die Einstellung wird in einem nummerisch auszuwertenden Makro -% gespeichert. Dabei gelten folgende Werte: +% \changes{v2.8q}{2002/01/25}{added} +% \changes{v2.97e}{2007/11/13}{new values added} +% The option provides several values for placing the sender of the letter. The +% decision is saved as numerical value of the macro. % \begin{center} -% \begin{tabular}{rl} -% Wert & Ausrichtung \\\hline -% 0 & linksbündig \\ -% 1 & zentriert \\ -% 2 & rechtsbündig \\ -% 3 & linksbündig in der Absenderergänzung ohne Kopf \\ -% 4 & rechtbündig in der Absenderergänzung ohne Kopf \\ -% 10000 & nicht antasten \\ +% \begin{tabular}{lrl} +% \opt{fromalign} & \cs{@alignfrom} & placement\\\hline +% \opt{=left} & 0 & left in the head\\ +% \opt{=center} & 1 & centered in the head\\ +% \opt{=right} & 2 & right in the head\\ +% \opt{=locationleft} & 3 & left in the location field\\ +% \opt{=locationright} & 4 & right in the location field\\ +% \opt{=false} & 10000 & \emph{don't touch} \\ % \end{tabular} % \end{center} -% Voreingestellt ist "`nicht antasten"'. +% Initial setting is \emph{don't touch}, which means not to change the content +% of variable \var{firsthead} of \var{location}. % \begin{macrocode} \newcommand*{\@alignfrom}{0} \KOMA@key{fromalign}{% @@ -196,23 +152,21 @@ % \end{option} % % \begin{option}{fromrule} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Es kann gewählt werden, ob im Absender nach dem Namen oder nach dem -% gesamten Absender eine Linie gesetzt werden soll. +% \changes{v2.8q}{2002/01/25}{added} +% \changes{v3.17}{2015/03/16}{using internal value storage} % \begin{macro}{\@rulefrom} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Die Einstellung wird in einem nummerisch auszuwertenden Makro -% gespeichert. Dabei gelten folgende Werte: +% \changes{v2.8q}{2002/01/25}{added} +% Should there be a horizontal rule inside the sender of the automatic +% generated letter head of option \opt{fromalign}? % \begin{center} -% \begin{tabular}{rl} -% Wert & Absenderlinie \\\hline -% 0 & keine \\ -% 1 & unter dem Name \\ -% 2 & unter der Adresse \\ +% \begin{tabular}{lrl} +% \opt{fromrule} & \cs{@rulefrom} & rule placement \\\hline +% \opt{=false} & 0 & nowhere \\ +% \opt{=aftername} & 1 & below the senders name \\ +% \opt{=below} & 2 & below the senders address \\ % \end{tabular} % \end{center} -% Voreingestellt ist keine Linie. +% Initial setting is nowhere. % \begin{macrocode} \KOMA@ncmdkey{fromrule}[below]{@rulefrom}{% {false}{0},{no}{0},{off}{0},{aftername}{1},% @@ -227,177 +181,107 @@ % \end{option} % % \begin{option}{fromphone} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Ob die Telefonnummer im Absender gesetzt werden soll oder nicht, -% kann hier angegeben werden. -% \begin{macro}{\if@phone} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@phonetrue} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@phonefalse} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist keine Telefonnummer im Absender. +% \changes{v2.8q}{2002/01/25}{added} +% \begin{macro}{\@phonefalse,\@phonetrue,\if@phone} +% \changes{v2.8q}{2002/01/25}{added} +% Show the sender's telephone number in the letter head automatically +% generated by option \opt{fromalign}? % \begin{macrocode} \KOMA@ifkey{fromphone}{@phone} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % % \begin{option}{frommobilephone} -% \changes{v3.12}{2013/05/29}{Neu}%^^A -% Ob die Handynummer im Absender gesetzt werden soll oder nicht, -% kann hier angegeben werden. -% \begin{macro}{\if@mobilephone} -% \changes{v3.12}{2013/05/29}{Neu}%^^A -% \begin{macro}{\@mobilephonetrue} -% \changes{v3.12}{2013/05/29}{Neu}%^^A -% \begin{macro}{\@mobilephonefalse} -% \changes{v3.12}{2013/05/29}{Neu}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist keine Handynummer im Absender. +% \changes{v3.12}{2013/05/29}{added} +% \begin{macro}{\@mobilephonefalse,\@mobilephonetrue,\if@mobilephone} +% \changes{v3.12}{2013/05/29}{added} +% Show the sender's mobile telephone number in the letter head automatically +% generated by option \opt{fromalign}? % \begin{macrocode} \KOMA@ifkey{frommobilephone}{@mobilephone} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % % \begin{option}{fromfax} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Ob die Faxnummer im Absender gesetzt werden soll oder nicht, -% kann hier angegeben werden. -% \begin{macro}{\if@fax} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@faxtrue} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@faxfalse} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist keine Faxnummer im Absender. +% \changes{v2.8q}{2002/01/25}{added} +% \begin{macro}{\@faxfalse,\@faxtrue,\if@fax} +% \changes{v2.8q}{2002/01/25}{added} +% Show the sender's telefax number in the letter head automatically generated +% by option \opt{fromalign}? % \begin{macrocode} \KOMA@ifkey{fromfax}{@fax} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % % \begin{option}{fromemail} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Ob die E-Mail-Adresse im Absender gesetzt werden soll oder nicht, -% kann hier angegeben werden. -% \begin{macro}{\if@email} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@emailtrue} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@emailfalse} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist keine E-Mail-Adresse im Absender. +% \changes{v2.8q}{2002/01/25}{added} +% \begin{macro}{\@emailfalse,\@emailtrue,\if@email} +% \changes{v2.8q}{2002/01/25}{added} +% Show the sender's email address in the letter head automatically generated +% by option \opt{fromalign}? % \begin{macrocode} \KOMA@ifkey{fromemail}{@email} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % % \begin{option}{fromurl} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Ob die URL auf eine Homepage im Absender gesetzt werden soll oder -% nicht, kann hier angegeben werden. -% \begin{macro}{\if@www} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@wwwtrue} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@wwwfalse} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist keine URL im Absender. +% \changes{v2.8q}{2002/01/25}{added} +% \begin{macro}{\@wwwfalse,\@wwwtrue,\if@www} +% \changes{v2.8q}{2002/01/25}{added} +% Show a sender's url (e.g. of the homepage) in the letter head automatically +% generated by option \opt{fromalign}? % \begin{macrocode} \KOMA@ifkey{fromurl}{@www} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % % \begin{option}{fromlogo} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Ob ein Logo in den Briefkopf gesetzt werden soll oder -% nicht, kann hier angegeben werden. -% \begin{macro}{\if@logo} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@logotrue} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% \begin{macro}{\@logofalse} -% \changes{v2.8q}{2002/01/25}{Neu}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist kein Logo im Briefkopf. +% \changes{v2.8q}{2002/01/25}{added} +% \begin{macro}{\@logofalse,\@logotrue,\if@logo} +% \changes{v2.8q}{2002/01/25}{added} +% Show a sender's logo in the letter head automatically generated by option +% \opt{fromalign} (placement also depends on \opt{fromalign})? % \begin{macrocode} \KOMA@ifkey{fromlogo}{@logo} +%</option> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % % -% \subsubsection{Optionen für Anschrift und Absenderergänzung} +% \subsection{Options for the addressee and the location field} % % \begin{option}{addrfield} -% \changes{v2.8q}{2001/10/09}{Neu}%^^A -% \changes{v3.03}{2009/03/04}{neue Werte}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Das Adressfeld für Fensterumschläge kann mit \texttt{addrfield} ein- und -% ausgeschaltet werden. Darüber hinaus kann die Art des Adressfeldes gewählt -% werden. -% \begin{macro}{\if@afield} -% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}} -% \begin{macro}{\@afieldtrue} -% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}} -% \begin{macro}{\@afieldfalse} -% \changes{v3.03}{2009/03/04}{ersetzt durch \cs{@afieldmode}} +% \changes{v2.8q}{2001/10/09}{added} +% \changes{v3.03}{2009/03/04}{new values added} +% \changes{v3.17}{2015/03/16}{using internal value storage} % \begin{macro}{\@afieldmode} -% \changes{v3.03}{2009/03/04}{neu (intern)}%^^A -% Die Speicherung erfolgt wiederum in einem Makro. +% \changes{v3.03}{2009/03/04}{added} +% There are several settings for the address field---not only to switch it on +% and off: +% \begin{center} +% \begin{tabular}{lrl} +% \opt{addrfield} & \cs{@afieldmode} & meaning \\\hline +% false & 0 & don't show the address +% field\\ +% true & 1 & show address field +% centered\\ +% PP & 2 & address field with +% pospaid\\ +% backgroundimage & 3 & address field with +% background image\\ +% image & 4 & address field by image\\ +% topaligned & 5 & show address field top +% aligned\\ +% \end{tabular} +% \end{center} % \begin{macrocode} -%<*class> -\newcommand*{\if@afield}{% - \ClassWarning{\KOMAClassName}{% - Usage of \string\if@afield\space deprecated.\MessageBreak - Internal macro \string\if@afield\space was removed at\MessageBreak - KOMA-Script version 3.03. I'll replace the usage of\MessageBreak - \string\if@afield\space by \string\ifnum - \string\@afieldmode=\string\@ne.\MessageBreak - This may result in errors. A better solution would be\MessageBreak - to change the code}% - \ifnum \@afieldmode=\@ne} -\newcommand*{\@afieldtrue}{% - \ClassWarning{\KOMAClassName}{% - Usage of \string\if@afield\space deprecated.\MessageBreak - Internal macro \string\if@afield\space was removed at\MessageBreak - KOMA-Script version 3.03. I'll replace the usage of\MessageBreak - \string\@afieldtrue\space by - \string\KOMAoptions{addrfield=true}.\MessageBreak - This may result in errors. A better solution would be\MessageBreak - to change the code}% - \KOMAoptions{addrfield=true}} -\newcommand*{\@afieldfalse}{% - \ClassWarning{\KOMAClassName}{% - Usage of \string\if@afield\space deprecated.\MessageBreak - Internal macro \string\if@afield\space was removed at\MessageBreak - KOMA-Script version 3.03. I'll replace the usage of\MessageBreak - \string\@afieldfalse\space by - \string\KOMAoptions{addrfield=false}.\MessageBreak - This may result in errors. A better solution would be\MessageBreak - to change the code}% - \KOMAoptions{addrfield=false}} -%</class> +%<*option> \newcommand*{\@afieldmode}{\@ne} \KOMA@ncmdkey{addrfield}[true]{@afieldmode}{% {false}{0},{off}{0},{no}{0},% @@ -418,23 +302,35 @@ %<package> scrletter.\scr@pkgextension }{addrfield}{true} % \end{macrocode} -% \end{macro} -% \end{macro} +% \begin{macro}{\@afieldfalse,\@afieldtrue,\if@afield} +% \changes{v3.03}{2009/03/04}{replaced by \cs{@afieldmode}} +% \changes{v3.36}{2022/03/02}{removed} % \end{macro} % \end{macro} % \end{option} % % \begin{option}{priority} -% \changes{v3.03}{2009/03/04}{neu}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Im internationalen Briefverkehr sind zwei Prioritätseinstellungen -% bekannt. Dafür gibt es dann so etwas wie eine Versandart nicht mehr. +% \changes{v3.03}{2009/03/04}{added} +% \changes{v3.17}{2015/03/16}{using internal value storage} +% \changes{v3.36}{2022/03/02}{value \opt{\quotechar=manual} fixed} % \begin{macro}{\ltr@priority} -% \changes{v3.03}{2009/03/04}{neu (intern)}%^^A -% Abgelegt wird die Art der Priorität in einem Macro. +% \changes{v3.03}{2009/03/04}{added} +% The international postage convention allows two priorities for +% letters. Together with no (or manually given) priority we have three of +% them: +% \begin{center} +% \begin{tabular}{lrl} +% \opt{priority} & \cs{ltr@priority} & meaning \\\hline +% false & 0 & use variable \var{specialmail}\\ +% B & 1 & set \var{specialmail} to +% B-Economy\\ +% A & 2 & set \var{specialmail} to +% A-Priority\\ +% \end{tabular} +% \end{center} % \begin{macrocode} \KOMA@ncmdkey{priority}[A]{ltr@priority}{% - {no}{0},{off}{0},{false}{0},{manual}{1},% + {no}{0},{off}{0},{false}{0},{manual}{0},% {B}{1},{b}{1},% {economy}{1},{Economy}{1},{ECONOMY}{1},% {B-ECONOMY}{1},{B-Economy}{1},{b-economy}{1},% @@ -451,28 +347,36 @@ % \end{option} % % \begin{option}{backaddress} -% \changes{v2.8q}{2002/01/22}{Neu}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{3015/03/16}{interne Speicherung der Werte}%^^A -% Im Adressfeld kann die Rücksendeadresse gesetzt werden. Dies geschieht nun -% nicht mehr allein durch Definition einer Rücksendeadresse, sondern auch -% durch eine Option. -% \begin{macro}{\if@baddr} -% \begin{macro}{\@baddrtrue} -% \begin{macro}{\@baddrfalse} +% \changes{v2.8q}{2002/01/22}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{3015/03/16}{using internal value storage} +% \begin{macro}{\@baddrfalse,\@baddrtrue,\if@baddr} % \begin{macro}{\backaddr@format} -% \changes{v2.96}{2006/07/31}{neu (intern)}%^^A -% Dieses Makro hat genau ein Argument und bestimmt die Form der -% Rücksendeadresse. Voreingestellt ist Unterstreichung. Dies entspricht der -% vor Version~2.96 festen Voreinstellung. +% \changes{v2.96}{2006/07/31}{added} +% The address field of the addressee can also contain a small sender's address +% also known as return address. +% \begin{center} +% \begin{tabular}{llll} +% \opt{backaddress} & \cs{if@baddr} & \cs{backaddr@format} & meaning \\\hline +% \opt{=false} & \cs{iffalse} & unchanged & don't show a +% return +% address\\ +% \opt{=true} & \cs{iftrue} & unchanged & show the +% return address\\ +% \opt{=underlined} & \cs{iftrue} & \cs{underline} & show +% underlined +% return +% address\\ +% \opt{=plain} & \cs{iftrue} & \cs{@firstofone} & show the +% return +% address +% unchanged\\ +% \end{tabular} +% \end{center} +% Initial setting is to show a underlined return address. % \begin{macrocode} \newcommand{\backaddr@format}[1]{} \let\backaddr@format\underline -% \end{macrocode} -% \end{macro} -% Die Einstellung true/false der Option wird in einem Schalter gespeichert. -% \begin{macrocode} \newif\if@baddr\@baddrtrue \KOMA@key{backaddress}[true]{% \begingroup @@ -532,30 +436,30 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \backaddr@format +% \end{macro}^^A \if@baddr +% \end{option}^^A backaddress % % \begin{option}{locfield} -% \changes{v2.8q}{2001/10/09}{Neu}%^^A -% \changes{v2.97c}{2007/03/30}{vertauschte Bedeutung korrigiert}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Mit Hilfe der Optione \texttt{locfield} kann der Platz neben dem Adressfeld -% groß oder klein gewählt werden. -% \begin{macro}{\if@bigloc} -% \begin{macro}{\@bigloctrue} -% \begin{macro}{\@biglocfalse} -% Die Einstellung wird in einem Schalter gespeichert. +% \changes{v2.8q}{2001/10/09}{added} +% \changes{v2.97c}{2007/03/30}{inverted meaning fixed} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/16}{using internal value storage} +% \begin{macro}{\@biglocfalse,\@bigloctrue,\if@bigloc} +% We allow two different automatic settings for the location field right +% beside the addressee's address field: +% \begin{center} +% \begin{tabular}{lll} +% \opt{locfield} & \cs{if@bigloc} & meaning \\\hline +% \opt{=wide} & \cs{iftrue} & set \plen{locwidth} to 2/3 of +% available space\\ +% \opt{=narrow} & \cs{iffalse} & set \plen{locwidth} to 1/2 of +% available space\\ +% \end{tabular} +% \end{center} +% Initial setting is \opt{locfield=narrow}. % \begin{macrocode} \newif\if@bigloc -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macrocode} \KOMA@key{locfield}[wide]{% \begingroup \KOMA@set@ncmdkey{locfield}{@tempa}{{wide}{0},{narrow}{1}}{#1}% @@ -585,42 +489,91 @@ %<package> scrletter.\scr@pkgextension }{locfield}{narrow} % \end{macrocode} -% \begin{option}{wlocfield} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{slocfield} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A +% \begin{option}{wlocfield,slocfield} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} \KOMA@DeclareDeprecatedOption{wlocfield}{locfield=wide} \KOMA@DeclareDeprecatedOption{slocfield}{locfield=narrow} +%</option> % \end{macrocode} -% \end{option} -% \end{option} -% \end{option} +% \end{option}^^A wlocfield,slocfield +% \end{macro}^^A \if@bigloc +% \end{option}^^A locfield % % -% \subsubsection{Optionen für Faltmarken} +% \subsection{Options of the fold marks} % +% \KOMAScript{} provides a large number of horizontal and vertical fold marks. + % \begin{option}{foldmarks} -% \changes{v2.8q}{2001/09/10}{Neu}%^^A -% \changes{v3.00}{2008/06/06}{es muss \cs{FamilyUnkownKeyVal} statt -% \cs{KOMA@unkown@keyval} lokal umdefiniert werden}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Die Faltmarken können mit \texttt{foldmarks} aktiviert und deaktiviert -% werden. -% \begin{macro}{\if@fold} -% \begin{macro}{\@foldtrue} -% \begin{macro}{\@foldfalse} -% Ob Faltmarken gesetzt werden sollen oder nicht, wird in einem -% Schalter gespeichert. -% \begin{macrocode} -\newif\if@fold\@foldtrue -% \end{macrocode} +% \changes{v2.8q}{2001/09/10}{added} +% \changes{v3.00}{2008/06/06}{locally re-definition of \cs{FamilyUnkownKeyVal} +% instead of \cs{KOMA@unkown@keyval}} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/16}{using internal value storage} +% \begin{macro}{\@foldfalse,\@foldtrue,\if@fold} % \begin{macro}{\@usefolds} -% Welche Faltmarken gesetzt werden sollen, wird in einem Makro gespeichert. -% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A +% \changes{v2.97e}{2007/11/08}{added} +% Fold marks can be generally switched on and off and it can be selected, +% which fold marks should be shown, if fold marks has been activated: +% \begin{center} +% \begin{tabular}{llll} +% \opt{foldmarks} & \cs{if@fold} & \cs{@usefolds} & meaning\\\hline +% \opt{=true} & \cs{iftrue} & \emph{no change} & switch on fold +% marks\\ +% \opt{=false} & \cs{iffalse} & \emph{no change} & switch off fold +% marks\\ +% \opt{=\dots T\dots} & \emph{no change} & \texttt{T} \emph{added} & top +% fold mark +% enabled\\ +% \opt{=\dots M\dots} & \emph{no change} & \texttt{M} \emph{added} & middle +% fold mark +% enabled\\ +% \opt{=\dots B\dots} & \emph{no change} & \texttt{B} \emph{added} & bottom +% fold mark +% enabled\\ +% \opt{=\dots P\dots} & \emph{no change} & \texttt{P} \emph{added} & hole +% punch fold mark +% enabled\\ +% \opt{=\dots H\dots} & \emph{no change} & \texttt{TMBP} \emph{added} & all +% horizontal fold +% marks enabled\\ +% \opt{=\dots L\dots} & \emph{no change} & \texttt{L} \emph{added} & left +% fold mark +% enabled\\ +% \opt{=\dots V\dots} & \emph{no change} & \texttt{L} \emph{added} & all +% vertical fold +% marks enabled\\ +% \opt{=\dots t\dots} & \emph{no change} & \texttt{T} \emph{removed} & top +% fold mark +% disabled\\ +% \opt{=\dots m\dots} & \emph{no change} & \texttt{M} \emph{removed} & middle +% fold mark +% disabled\\ +% \opt{=\dots b\dots} & \emph{no change} & \texttt{B} \emph{removed} & bottom +% fold mark +% disabled\\ +% \opt{=\dots p\dots} & \emph{no change} & \texttt{P} \emph{removed} & hole +% punch fold mark +% disabled\\ +% \opt{=\dots h\dots} & \emph{no change} & \texttt{TMBP} \emph{removed} & all +% horizontal fold +% marks disabled\\ +% \opt{=\dots l\dots} & \emph{no change} & \texttt{L} \emph{removed} & left +% fold mark +% disabled\\ +% \opt{=\dots v\dots} & \emph{no change} & \texttt{L} \emph{removed} & all +% vertical fold +% marks disabled\\ +% \end{tabular} +% \end{center} +% Enabling or disabling a fold mark does not enable printing of fold +% marks. the enabled fold marks are only printed, if fold marks are switched +% on. The initial state is to switch on the top, middle, bottom, punch hole +% and left fold mark (in other words: all fold marks). % \begin{macrocode} +%<*option> +\newif\if@fold\@foldtrue \newcommand*{\@usefolds}{TMBPL} \KOMA@key{foldmarks}[true]{% \begingroup @@ -694,7 +647,8 @@ }{foldmarks}{true}% % \end{macrocode} % \begin{macro}{\scr@removechar} -% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A +% \changes{v2.97e}{2007/11/08}{added} +% Used to remove one char from a character list macro like \cs{@usefolds}. % \begin{macrocode} \newcommand*{\scr@removechar}[2]{% \def\in@@##1#2##2##3\in@@{% @@ -704,49 +658,52 @@ \fi}% \expandafter\in@@#1#2\in@\in@@ } +%</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \scr@removechar +% \end{macro}^^A \@usefolds +% \end{macro}^^A \if@fold +% \end{option}^^A foldmarks % % -% \subsubsection{Optionen für die Geschäftszeile} +% \subsection{Options of the reference line} % % \begin{option}{refline} -% \changes{v2.8n}{2001/09/08}{Neue Option}%^^A -% \changes{v2.96a}{2006/12/07}{vertauschte Bedeutung korrigiert}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Kopf und Fuß der ersten Seite sind normalweise so breit, dass sie -% zur Adresse des Empfängers passen. Für die Geschäftszeile gibt es -% zwei Alternativen, eine breite und eine, deren Breite der Textbreite -% entspricht. Voreingestellt ist die Textbreite. -% \begin{macro}{\if@refwide} -% \changes{v2.8n}{2001/09/08}{Neuer Schalter}%^^A -% \changes{v3.09}{2011/03/07}{Neue Werte: \texttt{dateleft}, -% \texttt{dateright}, \texttt{nodate}} -% \begin{macro}{\@refwidetrue} -% \begin{macro}{\@refwidefalse} -% Gespeichert wird die Information in einem Schalter. +% \changes{v2.8n}{2001/09/08}{added} +% \changes{v2.96a}{2006/12/07}{alternated meaning fixed} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/16}{using internal value storage} +% \changes{v3.09}{2011/03/07}{values \opt{\quotechar=dateleft}, +% \opt{\quotechar=dateright}, \opt{\quotechar=nodate} added} +% \changes{v3.27}{2019/05/03}{new value \opt{\quotechar=false} added} +% \begin{macro}{\@refwidefalse,\@refwidetrue,\if@refwide} +% \changes{v2.8n}{2001/09/08}{added} % \begin{macro}{\@datepos} -% \changes{v3.09}{2011/03/07}{Neu (intern)}%^^A -% Das Datum kann links oder rechts oder gar nicht gesetzt werden. -% Wo die Speicherung erfolgt wird in einem nummerischen Makro -% abglegt. Voreingestellt ist rechts. -% \begin{macro}{\if@refline} -% \selectlanguage{english}% -% \changes{v3.27}{2019/05/03}{new (internal) boolean}%^^A -% \changes{v3.27}{2019/05/03}{new option \texttt{refline!=false}}%^^A -% This boolean is used to switch of the whole reference -% line. \texttt{refline=false} is a tri-state switch to -% \texttt{refline=narrow} and \texttt{refline=wide}. But this is available -% only for the package.% -% \selectlanguage{ngerman}% +% \changes{v3.09}{2011/03/07}{added} +% \begin{macro}{\@reflinefalse,\@reflinetrue,\if@refline} +% \changes{v3.27}{2019/05/03}{added} +% The reference line support two predefined widths, switching off and +% three different positions for the date: +% \begin{center} +% \begin{tabular}{lllrl} +% \opt{refline} & \cs{if@refwide} & \cs{if@refline} & \cs{@datepos} & +% meaning\\\hline +% \opt{false} & \emph{unchanged}& \cs{iffalse} & \emph{unchanged} & +% deactivate reference line\\ +% \opt{=wide} & \cs{iftrue} & \cs{iftrue} & \emph{unchanged} & +% print wide reference line\\ +% \opt{=narrow} & \cs{iffalse} & \cs{iftrue} & \emph{unchanged} & +% print narrow reference line\\ +% \opt{=nodate}& \emph{unchanged} & \emph{unchanged} & 1 & don't print +% date in reference line\\ +% \opt{=dateright}& \emph{unchanged} & \emph{unchanged} & 1 & add date +% rightmost to reference line\\ +% \opt{=dateleft} & \emph{unchanged} & \emph{unchanged} & 2 & add date +% leftmost to reference line\\ +% \end{tabular} +% \end{center} % \begin{macrocode} +%<*option> \newif\if@refwide %<package>\newif\if@refline\@reflinetrue \newcommand*{\@datepos}{1} @@ -877,50 +834,54 @@ %<class> \KOMAClassFileName %<package> scrletter.\scr@pkgextension }{refline}{narrow}% +%</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \@reflinefalse,\@reflinetrue,\if@refline +% \end{macro}^^A \@datepos +% \end{macro}^^A \@refwidefalse,\@refwidetrue,\if@refwide +% \end{option}^^A refline % % -% \subsubsection{Optionen für den Betreff} +% \subsection{Options of the subject} % % \begin{option}{subject} -% \changes{v2.8q}{2001/10/09}{Neu}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% Ein Betreff-Titel kann mit \texttt{subject} ein- und abgeschaltet -% werden. In England und Frankreich scheint es teilweise üblich zu -% sein, den Betreff erst nach der Anrede und dafür zentriert zu -% setzen\footnote{Ich kann mir nur mühsahm eine Bemerkung dazu -% verkneifen.}. -% Deshalb kann alternativ zum Einschalten des Betreff-Titels hier auch -% dies aktiviert werden. +% \changes{v2.8q}{2001/10/09}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/16}{using internal value storage} +% \begin{macro}{\@subjtrue,\@subjfalse,\if@subj} +% \begin{macro}{\@subjaftertrue,\@subjafterfalse,\if@subjafter} % \begin{macro}{\subject@format} -% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A -% Das Format des Betreffs kann geändert werden. +% \changes{v2.97c}{2007/07/06}{added} +% \begin{command}{\raggedsubject} +% \changes{v2.97c}{2007/07/06}{added} +% The subject can be printed with or without title before or after the +% opening. Different alignments and formats are also supported: +% \begin{center} +% \begin{tabular}{lllll} +% \opt{subject} & \cs{if@subj} & \cs{if@subjafter} & \cs{subject@format} & +% \cs{raggedsubject}\\\hline +% \opt{=titled} & \cs{iftrue} & \emph{unchanged} & \emph{unchanged} & +% \emph{unchanged}\\ +% \opt{=untitled} & \cs{iffalse} & \emph{unchanged} & \emph{unchanged} & +% \emph{unchanged}\\ +% \opt{=afteropening} & \emph{unchanged} & \cs{iftrue} & \emph{unchanged} & +% \emph{unchanged}\\ +% \opt{=beforeopening} & \emph{unchanged} & \cs{iffalse} & \emph{unchanged} & +% \emph{unchanged}\\ +% \opt{=underlined} & \emph{unchanged} & \emph{unchanged} & \cs{underline} +% & \emph{unchanged}\\ +% \opt{=left} & \emph{unchanged} & \emph{unchanged} & \emph{unchanged} & +% \cs{raggedright} \\ +% \opt{=right} & \emph{unchanged} & \emph{unchanged} & \emph{unchanged} & +% \cs{raggedleft} \\ +% \opt{=centered} & \emph{unchanged} & \emph{unchanged} & \emph{unchanged} & +% \cs{centering} \\ +% \end{tabular} +% \end{center} % \begin{macrocode} +%<*option> \newcommand{\subject@format}[1]{#1} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\raggedsubject} -% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A -% \begin{macrocode} \newcommand*{\raggedsubject}{} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\if@subj} -% \begin{macro}{\@subjtrue} -% \begin{macro}{\@subjfalse} -% \begin{macro}{\if@subjafter} -% \begin{macro}{\@subjaftertrue} -% \begin{macro}{\@subjafterfalse} -% Die Speicherung erfolgt in zwei Schaltern. -% \begin{macrocode} \newif\if@subj \newif\if@subjafter \KOMA@key{subject}{% @@ -1003,84 +964,76 @@ %<class> \KOMAClassFileName %<package> scrletter.\scr@pkgextension }{subject}{beforeopening}% +%</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} +% \end{command}^^A \raggedsubject +% \end{macro}^^A \subject@format +% \end{macro}^^A \@subjaftertrue,\@subjafterfalse,\if@subjafter +% \end{macro}^^A \@subjtrue,\@subjfalse,\if@subj +% \end{option}^^A subject % % -% \subsubsection{Optionen für den Satzspiegel} +% \subsection{Options of the typing area} % % \begin{option}{enlargefirstpage} -% \changes{v2.8o}{2001/09/18}{Neue Option}%^^A -% Normalerweise wird der Text des Briefboges entsprechend dem -% normalen Satzspiegel gesetzt. Ist allerdings der Fuß der ersten -% Seite zu hoch, dann wird der Satzspiegel vertikal entsprechend -% verkürzt. Mit der Option \texttt{firstpageenlarge} kann erzwungen -% werden, dass im umgekehrten Fall, der Satzspiegel vertikal -% verlängert wird. -% \begin{macro}{\if@enlargefp} -% \begin{macro}{\@enlargefptrue} -% \begin{macro}{\@enlargefpfalse} -% Gespeichert wird die Information über die Optionen in einem -% Schalter. +% \changes{v2.8o}{2001/09/18}{added} +% \begin{macro}{\@enlargefpfalse,\@enlargefptrue,\if@enlargefp} +% \changes{v2.8o}{2001/09/18}{added} +% Usually the text at the notepaper is placed regarding the general typing +% area. But if the position of the foot of the note paper is to high, the text +% area is automatically shorten. Option \opt{firstpageenlarge} also provides +% the opposite: enlarge the text area of the first page, if the foot of the +% note paper is placed very low. % \begin{macrocode} +%<*option> \KOMA@ifkey{enlargefirstpage}{@enlargefp} +%</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} +% \end{macro}^^A \if@enlargefp +% \end{option}^^A enlargefirstpage % % -% \subsubsection{Optionen für den Briefbogenfuß} +% \subsection{Options of the letter footer} % % \begin{option}{firstfoot} -% \changes{v2.97e}{2007/11/22}{Neu}%^^A -% Der Fuß des Briefbogens kann auch einfach abgeschaltet werden. -% \begin{macro}{\if@firstfoot} -% \changes{v2.8q}{2002/01/25}{Neuer Schalter (intern)}%^^A -% Gespeichert wird die Information in einem einfachen Schalter. -% Voreingestellt ist die Verwendung des Fußes. +% \changes{v2.97e}{2007/11/22}{added} +% \begin{macro}{\@firstfootfalse,\@firstfoottrue,\if@firstfoot} +% \changes{v2.8q}{2002/01/25}{added} +% Allow to switch of the footer of the note paper. % \begin{macrocode} +%<*option> \KOMA@ifkey{firstfoot}{@firstfoot}\@firstfoottrue +%</option> % \end{macrocode} % \end{macro} % \end{option} % % -% \subsection{Optionen für den Kopf des weiteren Briefpapiers} -% -% Diese Optionen haben zwar nichts mit dem eigentlichen Briefbogen zu tun. Das -% Briefpapier schließt sich aber an, weshalb die Optionen hier zu finden sind. +% \subsection{Options of the head of succeeding pages} % % \begin{option}{pagenumber} -% \changes{v2.8q}{2002/01/31}{Neu}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}} -% Bei Briefen kann gewählt werden, ob auf Folgeseiten die Seitenzahl -% im Kopf oder im Fuß stehen soll. Dabei kann zwischen Seitenzahl -% rechts, links oder zentriert gewählt werden. Voreingestellt ist der -% Fuß und mittig. +% \changes{v2.8q}{2002/01/31}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} % \begin{macro}{\@pageat} -% \changes{v2.8q}{2002/01/31}{Neu}%^^A -% In dieser nummerisch auswertbaren Variablen wird gespeichert, wo die -% Seitenzahl stehen soll. Dabei gilt: -% \begin{center}\begin{tabular}{rl} -% Wert & Bedeutung für die Seitenzahl\\\hline -% -1 & keine \\ -% 0 & im Kopf links \\ -% 1 & im Kopf mittig \\ -% 2 & im Kopf rechts \\ -% 3 & im Fuß links \\ -% 4 & im Fuß mittig \\ -% 5 & im Fuß rechts \\ -% \end{tabular}\end{center} +% \changes{v2.8q}{2002/01/31}{added} +% This is irrelevant for the notepaper but selects the position of the page +% number on succeeding pages using page style \pstyle{headings}, +% \pstyle{myheadings} or \pstyle{plain} resp. \pstyle{letter} or +% \pstyle{plain.letter}. +% \begin{center} +% \begin{tabular}{lrl} +% \opt{pagenumber} & \cs{@pageat} & meaning\\\hline +% \opt{=false} & -1 & no page number\\ +% \opt{=topleft} & 0 & in the left of the page head\\ +% \opt{=topmiddle} & 1 & centered in the page head\\ +% \opt{=topright} & 2 & in the right of the page head\\ +% \opt{=botleft} & 3 & in the left of the page foot\\ +% \opt{=botmiddle} & 4 & centered in the page foot\\ +% \opt{=botright} & 5 & in the right of the page foot\\ +% \end{tabular} +% \end{center} % \begin{macrocode} +%<*option> \newcommand*{\@pageat}{4} \KOMA@key{pagenumber}{% \begingroup @@ -1152,65 +1105,31 @@ %<class> \KOMAClassFileName %<package> scrletter.\scr@pkgextension }{pagenumber}{botmiddle} +%</option> % \end{macrocode} % \end{macro} % \end{option} % % -% \iffalse -%</letter> -%</option> -%<*body> -%<*letter> -% \fi -% -% \subsection{Anweisungen für den Briefbogen} -% -% Auch bei den Anweisungen zunächst alles, was mit dem Briefbogen zu tun hat. -% -% \subsubsection{Der Kopf des Briefbogens} -% -% \begin{macro}{\firsthead} -% \changes{v2.8q}{2002/01/28}{\cs{@alignfrom} auf 10000 gesetzt} -% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine -% Variable realisiert}%^^A -% \begin{macro}{\@firsthead} -% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine -% Variable realisiert}%^^A -% \begin{macro}{\@gen@firsthead} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% \changes{v2.97c}{2007/05/08}{Dicke der Linie konfigurierbar}%^^A -% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) der Linie konfigurierbar}%^^A -% \changes{v3.06a}{2010/07/29}{Verwendung des Font-Elements -% \texttt{fromrule} eingefügt} -% \changes{v3.08}{2010/10/28}{der Kopf des Briefbogens wird über eine -% Variable realisiert}%^^A -% \begin{KOMAvar}{firsthead} -% \changes{v3.08}{2010/10/28}{Neu}%^^A -% \changes{v3.13b}{2014/10/04}{neuer \emph{hook} nur für -% \texttt{DINmtext.lco}}%^^A -% \changes{v3.27}{2019/04/02}{\emph{hook} entfernt}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% Bei \texttt{scrlttr2} gibt es die üblichen Seitenstile, allerdings -% ist deren Verhalten etwas anders als gewohnt. Dies ist in den -% Besonderheiten für Briefen begründet. Zunächst die Voreinstellung für -% Briefbögen. -% -% TODO: Diese ganze Prozedur gehört (für \textsf{scrletter}) komplett -% überabeitet, so dass \cs{@gen@firsthead} überflüssig wird und das Setzen von -% \texttt{fromalign} auch gleich \texttt{firsthead} umdefiniert. +% \subsection{Commands and macros of the letter head} +% +% \begin{variable}{firsthead} +% \changes{v2.8q}{2002/01/28}{\cs{@alignfrom} set to 10000} +% \changes{v3.08}{2010/10/28}{added} +% \changes{v3.13b}{2014/10/04}{\emph{hook} for \file{DINmtext.lco} added} +% \changes{v3.27}{2019/04/02}{\emph{hook} removed} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% The head of the notepaper is not set by the page style but variable +% \var{firsthead} inside \cs{opening}. +% \begin{description} +% \item[ToDo:] Change this at least for \pkg*{scrletter} to make the letter +% head independent from \cs{opening}. With this \opt{fromalign} could +% immediately re-define \var{firsthead} and also \cs{@gen@fisthead} +% could become superfluously. +% \end{description} % \begin{macrocode} -%<*class> -\newcommand*{\@firsthead}{% - \ClassWarning{scrlttr2}{% - Deprecated usage of \string\@firsthead.\MessageBreak - \string\usekomavar{firsthead} should be used\MessageBreak - instead of \string\@firsthead - }% - \usekomavar{firsthead}% -} -%</class> +%<*body> \newkomavar{firsthead} \setkomavar{firsthead}{% \parbox[b]{\useplength{firstheadwidth}}% @@ -1227,14 +1146,12 @@ }% } % \end{macrocode} -% \end{KOMAvar} +% \end{variable} % \begin{macro}{\scr@firsthead@postsetvar} -% \changes{v3.08}{2010/10/28}{Neu (intern)}%^^A -% \changes{v3.17}{2015/03/16}{internes Setzen von Option -% \texttt{fromalign!=no}}%^^A -% Über dieses Makro wird jeweils nach dem Setzen der Variable die Ausrichtung -% auf manuell umgeschaltet. Das darf deshalb auch erst nach dem erstmaligen -% Setzen definiert werden! +% \changes{v3.08}{2010/10/28}{added} +% \changes{v3.17}{2015/03/16}{internal setting of {fromalign\quotechar=false}} +% After setting the variable \opt{fromalign} has to be set to manual +% alignment. But this must not be done for the initialization. % \begin{macrocode} \newcommand*{\scr@firsthead@postsetvar}{% \KOMAExecuteOptions[.% @@ -1243,38 +1160,36 @@ ]{fromalign=no}% } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@firsthead@postsetvar +% \begin{macro}{\@gen@firsthead} +% \changes{v2.8q}{2002/01/28}{added} +% \changes{v2.97c}{2007/05/08}{configurable thickness of the line} +% \changes{v2.97c}{2007/05/08}{configurable font/color of the line} +% \changes{v3.06a}{2010/07/29}{using font element \fnt{fromrule}} +% \changes{v3.08}{2010/10/28}{the notepaper head is a variable} +% \changes{v3.12}{2013/05/29}{using variable \var{frommobilephone}} % \begin{macrocode} \newcommand*{\@gen@firsthead}{% % \end{macrocode} -% Damit wird ggf. die Kopfzeile der ersten Seite umdefiniert, nämlich dann, -% wenn dies per Option aktiviert wurde. +% Re-defines the page head of the notepaper, if this has been activated by +% option \opt{fromalign}. % \begin{macrocode} \ifcase\@alignfrom % \end{macrocode} -% Wir befinden uns nun in dem Bereich für \verb|\@alignfrom|=0. -% Entsprechend unserer Festlegung wird daher als Erstes der -% linksbündige Absender definiert. Wir verwenden dafür eine -% \emph{parbox}, in der der Text linksbündig angeordnet wird. Diese -% Box soll über die gesamte Breite gehen dürfen: +% This is \cs{@alignfrom}=0 context, which means a left aligned sender's +% address. This is done using a \cs{parbox} over the while text width. % \begin{macrocode} \setkomavar{firsthead}{% \parbox[b]{\textwidth}{\raggedright % \end{macrocode} -% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für -% den Namen verwendet werden. +% The name with the font element \fnt{fromname}. % \begin{macrocode} {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% % \end{macrocode} -% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den -% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender -% bestimmt oder automatisch gewählt werden. Es werden dabei die -% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness} -% verwendet. Ist \texttt{fromrulewidth} negativ, so wird sie automatisch -% bestimmt. Bei der automatischen Längenbestimmung wird dafür gesorgt, dass -% die Linie nicht bis in das Logo ragt, das eventuell rechtsbündig neben dem -% Absender steht: +% If \cs{@rulefrom}=1, a horizontal rule has to follow. The length is either +% \plen{fromrulewidth} or, if \plen{fromrulewidth} is 0, it is +% automatically calculated. Here we avoid a rule into the logo. % \begin{macrocode} {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% @@ -1294,13 +1209,9 @@ \\ }% % \end{macrocode} -% Als Nächstes wird die Absenderadresse einschließlich aller -% optionalen Felder gesetzt. Dabei werden optionale Felder nur -% gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die -% Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen -% Schriftart gesetzt.% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}% +% Next the senders' address with all optional fields, depending on the +% corresponding switches. Once again we need a group because of the font +% element \fnt{fromaddress} to be used. % \begin{macrocode} {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% @@ -1312,10 +1223,8 @@ \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% % \end{macrocode} -% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie -% gesetzt werden. Wir gehen davon aus, dass die Linie automatisch -% nicht in das Logo ragt, da es in diesem Fall über der Linie zu -% stehen hat. Die entsprechende Berechnung kann also entfallen. +% If \cs{@rulefrom}=2, the horizontal rule has to be placed here. Once again +% the length can be calculated automatically for \plen{fromrulewidth}=0. % \begin{macrocode} \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% @@ -1330,25 +1239,19 @@ }% }% % \end{macrocode} -% Die parbox ist damit ebenfalls beendet. Es muss nun ggf. noch das -% Logo gesetz werden. Es wird in diesem Fall von der aktuellen -% Position am rechten Rand nach links ausgegeben. +% This was the \cs{parbox}, but maybe we have to place the logo. % \begin{macrocode} \if@logo \llap{\usekomavar{fromlogo}}% \fi }% \renewcommand*{\@alignfrom}{0}% + \or % \end{macrocode} -% Damit ist die Definition des linksbündigen Absenders abgeschlossen. -% Es geht weiter mit dem zentrierten Absender. Dieser hat als -% Besonderheit, dass das Logo nicht in den Briefkopf, sondern in den -% Bereich rechts neben dem Empfänger gesetzt wird. Dort ist bereits -% das location-Feld, daher wird dieser Fall auch dort behandelt.% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}% +% This is \cs{@alignfrom}=1 context, which means centered sender's +% address. Here the logo needs special treatment: It is placed in the location +% field. % \begin{macrocode} - \or \setkomavar{firsthead}{% \parbox[b]{\textwidth}{\centering {\usekomafont{fromname}\strut\ignorespaces @@ -1389,14 +1292,11 @@ }% }% \renewcommand*{\@alignfrom}{1}% + \or % \end{macrocode} -% Damit ist die Definition des zentrierten Absenders abgeschlossen. Es -% geht weiter mit dem rechtsbündigen Absender. Das ganze wird einfach -% beim linksbündigen Absender abgeschaut.% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}% +% This is \cs{@alignfrom}=2 context, which means right aligned sender's +% address. This is almost the same as left aligned. % \begin{macrocode} - \or \setkomavar{firsthead}{% \if@logo \rlap{\usekomavar{fromlogo}}% @@ -1445,18 +1345,27 @@ }% \renewcommand*{\@alignfrom}{2}% % \end{macrocode} -% Damit ist die Umdefinierung beendet. In allen anderen Fällen wird -% der Kopf nicht verändert. +% All other values of \cs{@alignfrom} do not change anything. % \begin{macrocode} \fi } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@gen@firsthead % -% Der Benutzer kann die Voreinstellung mit einer einfachen Anweisung ändern: +% \begin{command}{\firsthead} +% \changes{v3.08}{2010/10/28}{deprecated} +% \begin{macro}{\@firsthead} +% \changes{v3.08}{2010/10/28}{deprecated} % \begin{macrocode} %<*class> +\newcommand*{\@firsthead}{% + \ClassWarning{scrlttr2}{% + Deprecated usage of \string\@firsthead.\MessageBreak + \string\usekomavar{firsthead} should be used\MessageBreak + instead of \string\@firsthead + }% + \usekomavar{firsthead}% +} \newcommand{\firsthead}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\firsthead.\MessageBreak @@ -1466,145 +1375,146 @@ \setkomavar{firsthead}% } %</class> +%</body> % \end{macrocode} % \end{macro} +% \end{command} % -% \subsubsection{Schrifteinstellungen für den Briefbogen} +% \subsection{Fonts of the notepaper} % -% \begin{KOMAfont}{foldmark} -% \changes{v2.97c}{2007/05/08}{Neu}%^^A -% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Faltmarken. +% \begin{fontelement}{foldmark} +% \changes{v2.97c}{2007/05/08}{added} +% The font or indeed the color of the fold marks. % \begin{macrocode} +%<*body> \newkomafont{foldmark}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{fromname} -% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}} -% Der Absendername im Briefkopf. +% \begin{fontelement}{fromname} +% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}} +% The font of the sender's name in the letter head. % \begin{macrocode} \newkomafont{fromname}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{fromaddress} -% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}} -% Die Absenderadresse im Briefkopf. +% \begin{fontelement}{fromaddress} +% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}} +% The font of the sender's address in the letter head. % \begin{macrocode} \newkomafont{fromaddress}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{fromrule} -% \changes{v2.97c}{2007/05/08}{Neu}%^^A -% Die Schrift (hier ist die Farbe der entscheidende Faktor) der Linie im -% Absender. +% \begin{fontelement}{fromrule} +% \changes{v2.97c}{2007/05/08}{added} +% The font or indeed the color of the horizontal rule above or below the +% sender's address. % \begin{macrocode} \newkomafont{fromrule}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{backaddress} -% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}%^^A -% \changes{v3.21}{2016/05/19}{beachtet Option -% \texttt{egregdoesnotlikesansseriftitles}}%^^A -% Die Rücksendeadresse. +% \begin{fontelement}{backaddress} +% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}} +% \changes{v3.21}{2016/05/19}{provides option +% \opt{egregdoesnotlikesansseriftitles}} +% The font of the return address. % \begin{macrocode} \newkomafont{backaddress}{\@gr@gsffamily} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{specialmail} -% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A -% Die Versandart. +% \begin{fontelement}{specialmail} +% \changes{v2.97c}{2007/07/06}{added} +% The font of the special sending note. % \begin{macrocode} \newkomafont{specialmail}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{priority} -% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A -% Grundschrift für die Priorität des Briefs, falls diese A oder B ist. Es wird -% ohne Durchschuss gearbeitet. An dieser Stelle ist Serifenlos quasi -% vorgeschrieben, so dass wir hier Option +% \begin{fontelement}{priority} +% \changes{v3.03}{2009/03/04}{added} +% The font of the priority note of priority A or B. Here we don't use any lead +% and sans-serif is a must, so \opt{egregdoesnotlikesansseriftitles} is ignored. % \texttt{egregdoesnotlikesansseriftitles} ignorieren. % \begin{macrocode} \newkomafont{priority}{\fontsize{10pt}{10pt}\sffamily\bfseries} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{prioritykey} -% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A -% Schrift für den Buchstaben der Priorität des Briefs, falls diese A oder B -% ist. Wird nach \texttt{priority} angewandt. Eigentlich sollten hier 9\,mm -% verwendet werden. Dafür wird aber eine frei skalierbare Schrift benötig. Mit -% 24,88\,pt sind wir nur 0,25\,mm kleiner. Das sollte kein Problem -% darstellen. Es wird auch hier ohne Durchschuss gearbeitet. +% \begin{fontelement}{prioritykey} +% \changes{v3.03}{2009/03/04}{added} +% The font of the letter of priority A or B. It is used after +% \fnt{priority}. Generally this should be 9\,mm, but this would need a free +% scalable font. With 24.88\,pt we are only 0.25\,mm to low. This should not +% be a problem and does also work with Computer Modern. Once again we do not +% use any lead. % \begin{macrocode} \newkomafont{prioritykey}{\fontsize{24.88pt}{24.88pt}\selectfont} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{PPlogo} -% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A -% Schrift für das Logo \texttt{P.P.}, das im Anschriftmodus \texttt{PP} -% gesetzt wird. An dieser Stelle ist serifenlos quasi vorgeschrieben, so dass -% wir hier Option \texttt{egregdoesnotlikesansseriftitles} ignorieren. +% \begin{fontelement}{PPlogo} +% \changes{v3.03}{2009/03/04}{added} +% The font of the ``\texttt{P.P.}'' logo, with \opt{addrfield=PP}. Once again +% sans-serif is a must, so \opt{egregdoesnotlikesansseriftitles} is ignored. % \begin{macrocode} \newkomafont{PPlogo}{\sffamily\bfseries} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{PPdata} -% \changes{v3.03}{2009/03/04}{Neues Font-Element}%^^A -% Schrift, die innerhalb des PP-Kopfes für die Daten verwendet wird. -% gesetzt wird. And dieser Stelle ist serifenlos quasi vorgeschrieben, so dass -% wir hier Option \texttt{egregdoesnotlikesansseriftitles} ignorieren. +% \begin{fontelement}{PPdata} +% \changes{v3.03}{2009/03/04}{added} +% The font to be used inside the PP head. Once again sans-serif is a must, so +% \opt{egregdoesnotlikesansseriftitles} is ignored. % \begin{macrocode} \newkomafont{PPdata}{\sffamily} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{addressee} -% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A -% Die komplette Anschrift. +% \begin{fontelement}{addressee} +% \changes{v2.97c}{2007/07/06}{added} +% The font to be used for the whole addressee. % \begin{macrocode} \newkomafont{addressee}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{toname} -% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A -% Der Name des Empfängers in der Anschrift. +% \begin{fontelement}{toname} +% \changes{v2.97c}{2007/07/06}{added} +% The font used only for the name of the addressee in difference to +% \fnt{addressee}. % \begin{macrocode} \newkomafont{toname}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{toaddress} -% \changes{v2.97c}{2007/07/06}{Neues Font-Element}%^^A -% Die Adresse des Empfängers in der Anschrift. +% \begin{fontelement}{toaddress} +% \changes{v2.97c}{2007/07/06}{added} +% The font used only for the address of the addressee in difference to +% \fnt{addressee}. % \begin{macrocode} \newkomafont{toaddress}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{refname} -% \changes{v2.97c}{2007/05/14}{Neues Font-Element}%^^A -% \changes{v3.21}{2016/05/19}{beachtet Option -% \texttt{egregdoesnotlikesansseriftitles}}%^^A -% Die Feldnamen in der Geschäftszeile. +% \begin{fontelement}{refname} +% \changes{v2.97c}{2007/05/14}{added} +% \changes{v3.21}{2016/05/19}{support of \opt{egregdoesnotlikesansseriftitles}} +% The font for the field names of the reference line. % \begin{macrocode} \newkomafont{refname}{\@gr@gsffamily\scriptsize} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{refvalue} -% \changes{v2.97c}{2007/05/14}{Neues Font-Element}%^^A -% \changes{v2.97d}{2007/10/09}{Voreinstellung korrigiert}%^^A -% Die Feldwerte in der Geschäftszeile. Hier gibt es keinen Bedarf, Option -% \texttt{egregdoesnotlikesansseriftitles} zu beachten, da diese in -% Version~2.97 noch nicht existierte. +% \begin{fontelement}{refvalue} +% \changes{v2.97c}{2007/05/14}{added} +% \changes{v2.97d}{2007/10/09}{initial value changed} +% The font of the field values of the reference line. +% Support for \opt{egregdoesnotlikesansseriftitles} is not needed on +% compatibility mode, because the option did not exist in version 2.97. % \begin{macrocode} %<*class> \ifnum\scr@compatibility=\@nameuse{scr@v@2.97}\relax @@ -1614,369 +1524,383 @@ \newkomafont{refvalue}{} %<class>\fi % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{placeanddate} -% \changes{v3.12}{2013/07/31}{Neues Font-Element}%^^A -% Wird an Stelle einer Geschäftszeile nur Ort und Datum gesetzt, so findet -% dieses Element Anwendung. +% \begin{fontelement}{placeanddate} +% \changes{v3.12}{2013/07/31}{added} +% The font is used for place and date, if not real reference line but only +% place and date are used. % \begin{macrocode} \newkomafont{placeanddate}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{lettertitle} -% \changes{v3.17}{2015/02/21}{neu als Ersatz für \texttt{letter}} -% \changes{v3.21}{2016/05/19}{beachtet Option -% \texttt{egregdoesnotlikesansseriftitles}}%^^A -% Der Brieftitel. +% \begin{fontelement}{lettertitle} +% \changes{v3.17}{2015/02/21}{replacement of \fnt{letter}} +% \changes{v3.21}{2016/05/19}{support for \opt{egregdoesnotlikesansseriftitles}} +% The font of the title of the letter. % \begin{macrocode} \newkomafont{lettertitle}{\normalcolor\@gr@gsffamily\bfseries} % \end{macrocode} -% \begin{KOMAfont}{title} -% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}%^^A -% \changes{v3.17}{2015/02/21}{nur noch ein Alias}%^^A -% \changes{v3.17a}{2015/04/26}{Alias korrigiert}%^^A +% \begin{fontelement}{title} +% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}} +% \changes{v3.17}{2015/02/21}{only an alias} +% \changes{v3.17a}{2015/04/26}{alias fixed} % \begin{macrocode} %<package>\scr@ifundefinedorrelax{scr@fnt@title}{% \aliaskomafont{title}{lettertitle}% %<package>}{} % \end{macrocode} -% \end{KOMAfont} -% \end{KOMAfont} +% \end{fontelement} +% \end{fontelement} % -% \begin{KOMAfont}{lettersubject} -% \changes{v3.17}{2015/02/21}{neu als Ersatz für \texttt{subject}} -% \changes{v3.17a}{2015/04/26}{Alias korrigiert}%^^A -% Der Betreff im Brief. +% \begin{fontelement}{lettersubject} +% \changes{v3.17}{2015/02/21}{replacement of \texttt{subject}} +% \changes{v3.17a}{2015/04/26}{alias fixed} +% The font of the subject of the letter. % \begin{macrocode} \newkomafont{lettersubject}{\normalfont\bfseries} % \end{macrocode} -% \begin{KOMAfont}{subject} -% \changes{v2.95}{2006/03/23}{jetzt mit \cs{newkomafont}}%^^A -% \changes{v3.17}{2015/02/21}{nur noch ein Alias}%^^A +% \begin{fontelement}{subject} +% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}} +% \changes{v3.17}{2015/02/21}{only an alias} % \begin{macrocode} %<package>\scr@ifundefinedorrelax{scr@fnt@subject}{% \aliaskomafont{subject}{lettersubject}% %<package>}{} +%</body> % \end{macrocode} -% \end{KOMAfont} -% \end{KOMAfont} +% \end{fontelement} +% \end{fontelement} % -% \subsubsection{Längen für den Briefbogen} +% \subsection{Pseudo lengths of the notepaper} % -% \begin{macro}{\ltr@len@foldmarkhpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand der horizontalen Faltmarken von der linken Papierkante. +% \begin{pseudolength}{foldmarkhpos} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the horizontal fold marks to the left edge of the paper. % \begin{macrocode} -\@newplength{foldmarkhpos} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@foldmarkvpos} -% \changes{v2.97e}{2007/11/10}{Neu}%^^A -% Abstand der vertikalen Faltmarken von der oberen Papierkante. -% \begin{macrocode} -\@newplength{foldmarkvpos} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@tfoldmarkvpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% \begin{macro}{\ltr@len@mfoldmarkvpos} -% \changes{v2.97e}{2007/11/08}{Neu}%^^A -% \begin{macro}{\ltr@len@bfoldmarkvpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand der oberen, mittleren und unteren Faltmarken von der oberen -% Papierkante. -% \begin{macrocode} -\@newplength{tfoldmarkvpos} -\@newplength{mfoldmarkvpos} -\@newplength{bfoldmarkvpos} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\ltr@len@lfoldmarkhpos} -% \changes{v2.97e}{2007/11/10}{Neu}%^^A -% Abstand linken Faltmarken von der linken Papierkante. -% \begin{macrocode} -\@newplength{lfoldmarkhpos} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@pfoldmarklength} -% \changes{v2.97e}{2007/11/19}{Neu}%^^A -% \begin{macro}{\ltr@len@hfoldmarklength} -% \changes{v2.97e}{2007/11/10}{Neu}%^^A -% \begin{macro}{\ltr@len@mfoldmarklength} -% \changes{v2.97e}{2007/11/10}{Neu}%^^A -% \begin{macro}{\ltr@len@bfoldmarklength} -% \changes{v2.97e}{2001/11/10}{Neu}%^^A -% \begin{macro}{\ltr@len@lfoldmarklength} -% \changes{v2.97e}{2001/11/10}{Neu}%^^A -% Länge der Lochmarke und der oberen, mittleren und unteren horizontalen und -% der (linken) vertikalen Faltmarke. -% \begin{macrocode} -\@newplength{pfoldmarklength} -\@newplength{tfoldmarklength} -\@newplength{mfoldmarklength} -\@newplength{bfoldmarklength} -\@newplength{lfoldmarklength} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\ltr@len@foldmarkthickness} -% \changes{v2.97c}{2007/05/08}{Neu}%^^A -% Dicke der Faltmarken. -% \begin{macrocode} -\@newplength{foldmarkthickness} -\@setplength{foldmarkthickness}{.2pt} +%<*body> +\newplength{foldmarkhpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@toaddrvpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand des Adressfensters von der oberen Papierkante. +% \end{pseudolength} +% \begin{pseudolength}{foldmarkvpos} +% \changes{v2.97e}{2007/11/10}{added} +% Distance of the vertical fold marks to the top edge of the paper. +% \begin{macrocode} +\newplength{foldmarkvpos} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{tfoldmarkvpos} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the top of the horizontal fold marks to the top edge of the +% paper. +% \begin{macrocode} +\newplength{tfoldmarkvpos} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{mfoldmarkvpos} +% \changes{v2.97e}{2007/11/08}{added} +% Distance of the middle horizontal fold mark (which is not the bunch +% hole fold mark) to the top edge of the paper. +% \begin{macrocode} +\newplength{mfoldmarkvpos} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{bfoldmarkvpos} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the lower horizontal fold mark to the top edge of the paper. +% \begin{macrocode} +\newplength{bfoldmarkvpos} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{lfoldmarkhpos} +% \changes{v2.97e}{2007/11/10}{added} +% Distance of the left (and only) vertical fold mark to the left edge of the +% paper. +% \begin{macrocode} +\newplength{lfoldmarkhpos} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{pfoldmarklength,hfoldmarklength,mfoldmarklength, +% bfoldmarklength,lfoldmarklength} +% \changes{v2.97e}{2001/11/10}{added} +% The lengths of all fold marks. +% \begin{macrocode} +\newplength{pfoldmarklength} +\newplength{tfoldmarklength} +\newplength{mfoldmarklength} +\newplength{bfoldmarklength} +\newplength{lfoldmarklength} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{foldmarkthickness} +% \changes{v2.97c}{2007/05/08}{added} +% One length for the thickness/weight of all fold marks. +% \begin{macrocode} +\newplength{foldmarkthickness} +\setplength{foldmarkthickness}{.2pt} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{toaddrvpos} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the address field of the addressee from the top edge of the +% paper. % \begin{macrocode} -\@newplength{toaddrvpos} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@backaddrheight} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Höhe der Rücksendeadresse. +\newplength{toaddrvpos} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{backaddrheight} +% \changes{v2.8q}{2001/10/06}{added} +% Height reserved for the return address inside the address field of the +% addressee. % \begin{macrocode} -\@newplength{backaddrheight} +\newplength{backaddrheight} +% \end{macrocode} +% \end{pseudolength} +% \begin{pseudolength}{toaddrhpos} +% \changes{v2.8q}{2001/10/06}{added} +% If positive the distance of the left of the address field of the addressee +% to the left edge of the paper. Otherwise the (negative) distance of the +% addressee from the right of the address field of the addressee to the right +% edge of the paper. +% \begin{macrocode} +\newplength{toaddrhpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@toaddrhpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand des Adressfeldes von der linken Papierkante bzw. wenn negativ von -% der rechten Papierkante. -% \begin{macrocode} -\@newplength{toaddrhpos} +% \end{pseudolength} +% \begin{pseudolength}{specialmailindent} +% \changes{v2.8q}{2002/03/25}{added} +% Distance of the special sending note from the left edge of the address field +% of the addressee. +% \begin{macrocode} +\newplength{specialmailindent} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@specialmailindent} -% \changes{v2.8q}{2002/03/25}{Neu}%^^A -% Abstand der Versandtart vom linken Rand des Adressfensters. +% \end{pseudolength} +% \begin{pseudolength}{specialmailrightindent} +% \changes{v2.8q}{2002/03/25}{added} +% Distance of the special sending not from the right edge of the address field +% of the addressee. % \begin{macrocode} -\@newplength{specialmailindent} +\newplength{specialmailrightindent} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@specialmailrightindent} -% \changes{v2.8q}{2002/03/25}{Neu}%^^A -% Abstand der Versandtart vom rechten Rand des Adressfensters. -% \begin{macrocode} -\@newplength{specialmailrightindent} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@toaddrindent} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand der Adresse vom linken Rand des Adressfensters. 0 bedeutet im -% Anschriftmodus \texttt{PP} 8\,mm, ansonsten wirklich 0\,mm. Außerdem wird im -% Anschriftmodus \texttt{PP} die Pseudolänge auch für den Abstand vom rechten -% Rand des Adressfensters verwendet. -% \begin{macrocode} -\@newplength{toaddrindent} +% \end{pseudolength} +% \begin{pseudolength}{toaddrindent} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the name and address of the addressee from the left edge of the +% address field of the addressee. With \opt{addrfield=PP} 0 is interpreted as +% 8\,mm, because of the international norm. Additionally the value is also +% used for the distance on the right side. In all other modes 0 is really 0. +% \begin{macrocode} +\newplength{toaddrindent} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@PPheadheight} -% \changes{v3.03}{2009/03/04}{Neu}% -% Höhe des PP-Kopfes in den Anschriftmodi \texttt{PP}, -% \texttt{backgroundimage} und \texttt{image}. 0 bedeutet hier 20,74\,pt. +% \end{pseudolength} +% \begin{pseudolength}{PPheadheight} +% \changes{v3.03}{2009/03/04}{added} +% The height of the PP head with \opt{addrfield=PP}, +% \opt{addrfield=backgroundimage} or \opt{addrfield=image}. 0 means 20.74\,pt +% here. % \begin{macrocode} -\@newplength{PPheadheight} +\newplength{PPheadheight} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@PPheadwidth} -% \changes{v3.03}{2009/03/04}{Neu}% -% Breite des PP-Kopfes im Anschriftmodus \texttt{PP}. 0 bedeutet hier 42\,mm. -% \begin{macrocode} -\@newplength{PPheadwidth} +% \end{pseudolength} +% \begin{pseudolength}{PPheadwidth} +% \changes{v3.03}{2009/03/04}{added} +% The width of the PP head with \opt{addrfield=PP}. 0 means 42\,mm here. +% \begin{macrocode} +\newplength{PPheadwidth} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@PPdatamatrixvskip} -% \changes{v3.03}{2009/03/04}{Neu}% -% Abstand zwischen PP-Kopf und DataMatrix im Anschriftmodus \texttt{PP}. 0 -% bedeutet hier 9\,mm. -% \begin{macrocode} -\@newplength{PPdatamatrixvskip} +% \end{pseudolength} +% \begin{pseudolength}{PPdatamatrixvskip} +% \changes{v3.03}{2009/03/04}{added} +% Distance between the PP head and the data matrix with \opt{addrfield=PP}. 0 +% means 9\,mm. +% \begin{macrocode} +\newplength{PPdatamatrixvskip} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@toaddrwidth} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Breite des Adressfensters -% \begin{macrocode} -\@newplength{toaddrwidth} +% \end{pseudolength} +% \begin{pseudolength}{toaddrwidth} +% \changes{v2.8q}{2001/10/06}{added} +% Width of the address field of the addressee. +% \begin{macrocode} +\newplength{toaddrwidth} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@toaddrheight} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% \changes{v3.03b}{2009/06/25}{Implementierung an Doku angepasst}%^^A -% Höhe des Adressfensters mit Rücksendeadresse +% \end{pseudolength} +% \begin{pseudolength}{toaddrheight} +% \changes{v2.8q}{2001/10/06}{added} +% \changes{v3.03b}{2009/06/25}{implemented like documented} +% Height of the address field inclusive return address. % \begin{macrocode} -\@newplength{toaddrheight} +\newplength{toaddrheight} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@locvpos} -% \changes{v2.97e}{2007/11/07}{Neu}%^^A -% Abstand der Absenderergänzung von der oberen Papierkante. +% \end{pseudolength} +% \begin{pseudolength}{locvpos} +% \changes{v2.97e}{2007/11/07}{added} +% Distance of the location field from the top edge of the paper. % \begin{macrocode} -\@newplength{locvpos} +\newplength{locvpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@locwidth} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Breite des Feldes neben dem Adressfenster +% \end{pseudolength} +% \begin{pseudolength}{locwidth} +% \changes{v2.8q}{2001/10/06}{added} +% Width of the location field. % \begin{macrocode} -\@newplength{locwidth} +\newplength{locwidth} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@lochpos} -% \changes{v2.97e}{2007/11/07}{Neu}%^^A -% Abstand der Absenderergänzung von der linken Papierkante bzw. wenn negativ -% von der rechten Papierkante. +% \end{pseudolength} +% \begin{pseudolength}{lochpos} +% \changes{v2.97e}{2007/11/07}{added} +% For positive values, the distance of the left of the location field to the +% left edge of the paper. For negative values the (negative) distance of the +% right of the location field to the right edge of the paper. % \begin{macrocode} -\@newplength{lochpos} +\newplength{lochpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@locheight} -% \changes{v2.97e}{2007/11/07}{Neu}%^^A -% Höhe der Absenderergänzung. +% \end{pseudolength} +% \begin{pseudolength}{locheight} +% \changes{v2.97e}{2007/11/07}{added} +% The height of the location field. % \begin{macrocode} -\@newplength{locheight} +\newplength{locheight} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@refvpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand der Geschäftszeile von der Papieroberkante. +% \end{pseudolength} +% \begin{pseudolength}{refvpos} +% \changes{v2.8q}{2001/10/06}{added} +% The distance of the reference line from the top edge of the paper. % \begin{macrocode} -\@newplength{refvpos} +\newplength{refvpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@refheight} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/05/03}{new}%^^A -% Height of the reference line (if used). +% \end{pseudolength} +% \begin{pseudolength}{refheight} +% \changes{v3.27}{2019/05/03}{new} +% The height of the reference line, if it is used. % \begin{macrocode} %<*package&willbe> -\@newplength{refheight} +\newplength{refheight} %</package&willbe> % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% \end{macro} -% \begin{macro}{\ltr@len@refwidth} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Breite der Geschäftszeile. +% \end{pseudolength} +% \begin{pseudolength}{refwidth} +% \changes{v2.8q}{2001/10/06}{added} +% The width of the reference line. % \begin{macrocode} -\@newplength{refwidth} +\newplength{refwidth} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@refhpos} -% \changes{v2.9l}{2003/01/28}{Neu}%^^A -% Horizontale Position der Geschäftszeile. +% \end{pseudolength} +% \begin{pseudolength}{refhpos} +% \changes{v2.9l}{2003/01/28}{added} +% The horizontal position of the reference line. % \begin{macrocode} -\@newplength{refhpos} +\newplength{refhpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@refaftervskip} -% \changes{v2.8q}{2001/10/09}{Neu}%^^A -% Abstand nach der Geschäftszeile. +% \end{pseudolength} +% \begin{pseudolength}{refaftervskip} +% \changes{v2.8q}{2001/10/09}{added} +% The vertical distance below the reference line. % \begin{macrocode} -\@newplength{refaftervskip} +\newplength{refaftervskip} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@sigbeforevskip} -% \changes{v2.8q}{2001/10/09}{Neu}%^^A -% Raum für die Unterschrift. +% \end{pseudolength} +% \begin{pseudolength}{sigbeforevskip} +% \changes{v2.8q}{2001/10/09}{added} +% The vertical distance between the closing text and the signature text, to be +% used for the hand-written signature. % \begin{macrocode} -\@newplength{sigbeforevskip} +\newplength{sigbeforevskip} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@sigindent} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Horizontaler Einzug des Schlussgrußes und der Signatur. +% \end{pseudolength} +% \begin{pseudolength}{sigindent} +% \changes{v2.8q}{2001/10/06}{added} +% Horizontal indent of the closing text and the signature. % \begin{macrocode} -\@newplength{sigindent} +\newplength{sigindent} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@@firstfootvpos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand des Fußes der ersten Seite von der Papieroberkante. +% \end{pseudolength} +% \begin{pseudolength}{firstfootvpos} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the letter footer (on the notepaper only) to the top edge of the +% paper. % \begin{macrocode} -\@newplength{firstfootvpos} +\newplength{firstfootvpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@firstfootwidth} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Breite des Fußes der ersten Seite. +% \end{pseudolength} +% \begin{pseudolength}{firstfootwidth} +% \changes{v2.8q}{2001/10/06}{added} +% Width of the letter footer (on the notepaper only). % \begin{macrocode} -\@newplength{firstfootwidth} +\newplength{firstfootwidth} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@firstfoothpos} -% \changes{v3.05}{2009/11/09}{Neu}%^^A -% Abstand des Kopfes vom linken Rand der Seite. +% \end{pseudolength} +% \begin{pseudolength}{firstfoothpos} +% \changes{v3.05}{2009/11/09}{added} +% Distance of the letter footer (on the notepaper only) to the left edge of +% the paper. Note: See the \cs{opening} code for information about special +% value \cs{maxdimen}. % \begin{macrocode} -\@newplength{firstfoothpos} -\@setplength{firstfoothpos}{\maxdimen} +\newplength{firstfoothpos} +\setplength{firstfoothpos}{\maxdimen} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@firstheadvspos} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Abstand des Kopfes der ersten Seite von der Papieroberkante. +% \end{pseudolength} +% \begin{pseudolength}{firstheadvspos} +% \changes{v2.8q}{2001/10/06}{added} +% Distance of the letter head (on the notepaper only) to the top edge of the +% paper. % \begin{macrocode} -\@newplength{firstheadvpos} +\newplength{firstheadvpos} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@firstheadwidth} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Breite des Kopfes der ersten Seite. +% \end{pseudolength} +% \begin{pseudolength}{firstheadwidth} +% \changes{v2.8q}{2001/10/06}{added} +% Width of the letter head (on the notepaper only). % \begin{macrocode} -\@newplength{firstheadwidth} +\newplength{firstheadwidth} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@firstheadhpos} -% \changes{v3.05}{2009/11/09}{Neu}%^^A -% Abstand des Kopfes vom linken Rand der Seite. +% \end{pseudolength} +% \begin{pseudolength}{firstheadhpos} +% \changes{v3.05}{2009/11/09}{added} +% Distance of the letter head (on the notepaper only) to the left edge of +% the paper. Note: See the \cs{opening} code for information about special +% value \cs{maxdimen}. % \begin{macrocode} -\@newplength{firstheadhpos} -\@setplength{firstheadhpos}{\maxdimen} +\newplength{firstheadhpos} +\setplength{firstheadhpos}{\maxdimen} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@fromrulewidth} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% Die Länge einer eventuell gesetzten Linie im Absender. Negative -% Werte bedeuten, dass die Länge automtaisch bestimmt wird. +% \end{pseudolength} +% \begin{pseudolength}{fromrulewidth} +% \changes{v2.8q}{2002/01/28}{added} +% The length of the optional horizontal rule above or below the address of the +% sender. Value 0 means automatically calculated length. % \begin{macrocode} -\@newplength{fromrulewidth} -\@setplength{fromrulewidth}{0pt} +\newplength{fromrulewidth} +\setplength{fromrulewidth}{0pt} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@fromrulethickness} -% \changes{v2.97c}{2007/05/08}{Neue Pseudolänge \texttt{fromrulewidth}} -% Die Dicke einer eventuell gesetzte Linie im Absender. +% \end{pseudolength} +% \begin{pseudolength}{fromrulethickness} +% \changes{v2.97c}{2007/05/08}{added} +% The thickness/weight of the optional horizontal rule above or below the +% address of the sender. % \begin{macrocode} -\@newplength{fromrulethickness} -\@setplength{fromrulethickness}{.4pt} +\newplength{fromrulethickness} +\setplength{fromrulethickness}{.4pt} +%</body> % \end{macrocode} -% \end{macro} +% \end{pseudolength} % % -% \subsubsection{Fuß des Briefbogens} +% \subsection{The footer of the notepaper} % -% \begin{macro}{\firstfoot} -% \changes{v3.08}{2010/10/28}{der Fuß des Briefbogens wird über eine -% Variable realisiert}%^^A -% \begin{macro}{\@firstfoot} -% \changes{v3.08}{2010/10/28}{der Fuß des Briefbogens wird über eine -% Variable realisiert}%^^A -% \begin{KOMAvar}{firstfoot} -% \changes{v3.08}{2010/10/28}{Neu}%^^A +% \begin{variable}{firstfoot} +% \changes{v3.08}{2010/10/28}{added} +% Initially the value of the letter footer of the notepaper is empty. The user +% manual shows, how to use it. % \begin{macrocode} -% Der Fuß des Briefbogens ist in der Voreinstellung leer. +%<*body> \newkomavar{firstfoot} -%<*class> +% \end{macrocode} +% \begin{command}{\firstfoot} +% \changes{v3.08}{2010/10/28}{deprecated} +% \begin{macro}{\@firstfoot} +% \changes{v3.08}{2010/10/28}{deprecated} +% \begin{macrocode} +%<*class> \newcommand*{\@firstfoot}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\@firstfoot.\MessageBreak @@ -1985,9 +1909,6 @@ }% \usekomavar{firstfoot}% } -% \end{macrocode} -% Dies kann jedoch über eine einfache Benutzeranweisung geändert werden: -% \begin{macrocode} \newcommand{\firstfoot}{% \ClassWarning{scrlttr2}{% Deprecated usage of \string\firstfoot.\MessageBreak @@ -1997,28 +1918,32 @@ \setkomavar{firstfoot}% } %</class> +%</body> % \end{macrocode} -% \end{KOMAvar} -% \end{macro} -% \end{macro} -% +% \end{macro}^^A \@firstfoot +% \end{command}^^A \firstfoot +% \end{variable}^^A firstfoot % -% \subsubsection{Ausgabe des Briefbogens} % -% Die Ausgabe selbst erfolgt bei \textsf{scrlttr2} über die -% |\opening|-Anweisung, die in einem späteren Abschnitt implementiert ist. Bei -% \textsf{scrletter} erfolgt sie dagegen ab Version 3.27 über den Seitenstil -% \texttt{notepaper} (siehe \texttt{scrkernel-pagestyle.dtx}). +% \subsection{Output of the notepaper} % -% \selectlanguage{english}% +% \begin{description} +% \item[Note:] There have been plans to move output of the notepaper to the +% page style with \pkg*{scrletter}. You can find some experimental code for +% this already here with tag \texttt{willbe}. But the plans have been +% dropped, because there was not enough man power to design and implement it +% all and to keep \KOMAScript{} compatible with \LaTeX{} at the same time. +% \end{description} +% % \begin{macro}{\scr@notepaper@printallelements} -% \changes{v3.27}{2019/04/16}{new (internal)}%^^A -% This is used by page style \texttt{notepaper} to print all elements. +% \changes{v3.27}{2019/04/16}{added} +% This is used by page style \pstyle{notepaper} (see +% \file{scrkernel-pagestyle.dtx}) to print all elements. % \begin{macro}{\scr@notepaper@printelementsoflist} -% \changes{v3.27}{2019/04/16}{new (internal)}%^^A +% \changes{v3.27}{2019/04/16}{added} % And this is used to print a given list of elements. % \begin{macro}{\scr@notepaper@printelement} -% \changes{v3.27}{2019/04/16}{new (internal)}%^^A +% \changes{v3.27}{2019/04/16}{added} % Last but not least this prints one given element. % \begin{macrocode} %<*package&body&willbe> @@ -2041,30 +1966,30 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@printelement -% \end{macro}%^^A \scr@notepaper@printelementsoflist -% \end{macro}%^^A \scr@notepaper@printallelements +% \end{macro}^^A \scr@notepaper@printelement +% \end{macro}^^A \scr@notepaper@printelementsoflist +% \end{macro}^^A \scr@notepaper@printallelements % % \begin{macro}{\scr@foldmarks@printallelements} -% \changes{v3.27}{2019/04/16}{new (internal)}%^^A -% This is used by the page style \texttt{notepaper} to print all foldmarks. +% \changes{v3.27}{2019/04/16}{new (internal)} +% This is used by the page style \pstyle{notepaper} to print all fold marks. % \begin{macrocode} \newcommand*{\scr@foldmarks@printallelements}{% \if@fold \ifdim \useplength{pfoldmarklength}=\z@ - \@setplength{pfoldmarklength}{4mm}% + \setplength{pfoldmarklength}{4mm}% \fi \ifdim \useplength{tfoldmarklength}=\z@ - \@setplength{tfoldmarklength}{2mm}% + \setplength{tfoldmarklength}{2mm}% \fi \ifdim \useplength{mfoldmarklength}=\z@ - \@setplength{mfoldmarklength}{2mm}% + \setplength{mfoldmarklength}{2mm}% \fi \ifdim \useplength{bfoldmarklength}=\z@ - \@setplength{bfoldmarklength}{2mm}% + \setplength{bfoldmarklength}{2mm}% \fi \ifdim \useplength{lfoldmarklength}=\z@ - \@setplength{lfoldmarklength}{4mm}% + \setplength{lfoldmarklength}{4mm}% \fi \@hfoldmark{P}% \@hfoldmark{T}% @@ -2077,10 +2002,10 @@ % \end{macro} % % \begin{macro}{\scr@notepaper@elements} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A +% \changes{v3.27}{2019/03/22}{added} % This is a comma-separated list of elements (aka blocks) to be printed on the % notepaper. It is used by the page style layer \texttt{notepaper} to set all -% elements (see \texttt{scrkernel-pagestyle.dtx}). There are exactly four +% elements (see \file{scrkernel-pagestyle.dtx}). There are exactly four % defaults (but you can add more): % \begin{macrocode} \newcommand*{\scr@notepaper@elements}{% @@ -2088,7 +2013,7 @@ } % \end{macrocode} % \begin{macro}{\scr@notepaper@element@firsthead} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A +% \changes{v3.27}{2019/03/22}{added} % How to print the notepaper element \texttt{firsthead}: % \begin{macrocode} \newcommand*{\scr@notepaper@element@firsthead}{% @@ -2097,17 +2022,17 @@ % The calculation of the real horizontal position could be done as part of the % layer contents or while selection of the layer or while initialization of % the layer. The in-contents code is used, so the layer can be used with -% different page styles. The position depends on \texttt{firstheadhpos} this +% different page styles. The position depends on \plen{firstheadhpos} this % way: % \begin{itemize} -% \item If \texttt{firstheadhpos} is positive but less than the paper width, -% \texttt{firstheadhpos} is the distance if the head from the left edge. -% \item If \texttt{firstheadhpos} is negative but the absolute value is less -% then the paper width, the absolute value of \texttt{firstheadhpos} is the +% \item If \plen{firstheadhpos} is positive but less than the paper width, +% \plen{firstheadhpos} is the distance if the head from the left edge. +% \item If \plen{firstheadhpos} is negative but the absolute value is less +% then the paper width, the absolute value of \plen{firstheadhpos} is the % distance from the right edge. -% \item If \texttt{firstheadhpos} is greater than the paper width, the head +% \item If \plen{firstheadhpos} is greater than the paper width, the head % will be centered. -% \item If \texttt{firstheadhpos} is less than the negative paper width, the +% \item If \plen{firstheadhpos} is less than the negative paper width, the % head will be left aligned to the text area. % \end{itemize} % \begin{macrocode} @@ -2137,9 +2062,9 @@ \fi } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@element@firsthead +% \end{macro}^^A \scr@notepaper@element@firsthead % \begin{macro}{\scr@notepaper@element@firstfoot} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A +% \changes{v3.27}{2019/03/22}{added} % Element \texttt{firstfoot} is very similar to \texttt{firsthead}. The % differences are using of pseudo lengths for the foot instead the head and % the calculation of the available height. @@ -2171,8 +2096,10 @@ {Element `firstfoot'}{\usekomavar{firstfoot}}\relax \fi } -% \end{macro}%^^A \scr@notepaper@element@firstfoot +% \end{macrocode} +% \end{macro}^^A \scr@notepaper@element@firstfoot % \begin{macro}{\scr@notepaper@element@addressee} +% \changes{v3.27}{2019/03/22}{added} % Element \texttt{addressee} is very complex and therefore split into several % different sub-elements. % \begin{macrocode} @@ -2203,11 +2130,9 @@ } % \end{macrocode} % \begin{macro}{\scr@notepaper@subelement@addressee@default} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% \changes{v3.30}{2020/03/27}{Umdefinierung des Zeilenumbruchs -% verschoben}%^^A +% \changes{v3.27}{2019/03/22}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}} +% \changes{v3.30}{2020/03/27}{re-definition of line break moved} % The field with the recipience address. This should be used only on the first % page of a letter. % \begin{macrocode} @@ -2289,9 +2214,9 @@ \usebox\@tempboxa } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@subelement@addressee@default +% \end{macro}^^A \scr@notepaper@subelement@addressee@default % \begin{macro}{\scr@notepaper@subelement@addressee@PP} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A +% \changes{v3.27}{2019/03/22}{added} % \begin{macrocode} \newcommand*{\scr@notepaper@subelement@addressee@PP}{% \ifdim \useplength{toaddrindent}=\z@ @@ -2312,11 +2237,6 @@ \vbox to \dimexpr \useplength{PPheadheight}-2\fboxsep\relax{% \setlength{\parindent}{0pt}% \hsize \dimexpr \useplength{PPheadwidth}-2\fboxsep\relax -% \end{macrocode} -% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}%^^A -% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt -% \cs{unskip}\cs{strut}}%^^A -% \begin{macrocode} \sbox\@tempboxa{% {\fontsize{20.74pt}{20.74pt}\selectfont \usekomafont{PPlogo}{P.P.}}\hskip 2mm% @@ -2395,10 +2315,13 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@subelement@addressee@PP +% \end{macro}^^A \scr@notepaper@subelement@addressee@PP % \begin{macro}{\scr@notepaper@subelement@addressee@PPimage} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A -% TODO: Need to be tested! +% \changes{v3.27}{2019/03/22}{added} +% The PP image. +% \begin{description} +% \item[ToDo:] Needs to be tested! +% \end{description} % \begin{macrocode} \newcommand*{\scr@notepaper@subelement@addressee@PPimage}{% \ifdim \useplength{toaddrindent}=\z@ @@ -2414,12 +2337,14 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@subelement@addressee@PPimage +% \end{macro}^^A \scr@notepaper@subelement@addressee@PPimage % \begin{macro}{\scr@notepaper@subelement@addressee@backgroundimage} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% TODO: Need to be tested! +% \changes{v3.27}{2019/03/22}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% \begin{description} +% \item[ToDo:] Needs to be tested! +% \end{description} % \begin{macrocode} \newcommand*{\scr@notepaper@subelement@addressee@backgroundimage}{% \vskip 1mm @@ -2453,59 +2378,36 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@subelement@addressee@backgroundimage -% \end{macro}%^^A \scr@notepaper@element@addressee +% \end{macro}^^A \scr@notepaper@subelement@addressee@backgroundimage +% \end{macro}^^A \scr@notepaper@element@addressee % \begin{macro}{\scr@notepaper@element@location} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A +% \changes{v3.27}{2019/03/22}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% The \texttt{location} element depends on several options. % \begin{macrocode} \newcommand*{\scr@notepaper@element@location}{% % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% \changes{v2.97e}{2007/11/13}{Der Absender kann nun ebenfalls in der -% Absenderergänzung stehen}%^^A -% \changes{v2.98b}{2008/01/30}{Absenderergänzung immer setzen, wenn -% verwendet}%^^A -% Je nach Absenderanordnung muss hier nun ebenfalls etwas getan werden. -% Der Fall 0, also linksbündiger Absender im Kopf spielt hier keine Rolle. +% Depending on the alignment of the sender's address, the location field must +% not be empty. % \begin{macrocode} \ifcase\@alignfrom -% \end{macrocode} -% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier -% platziert, also darf die Absenderergänzung nicht leer sein. -% \begin{macrocode} \or \if@logo \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% \fi -% \end{macrocode} -% Im Fall 2, also rechtsbündiger Absender im Kopf, ist auch nichts zu tun. -% \begin{macrocode} \or -% \end{macrocode} -% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier -% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein. -% \begin{macrocode} \or \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% -% \end{macrocode} -% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier -% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein. -% \begin{macrocode} \or \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% -% \end{macrocode} -% Alle anderen Fälle sind wie hier ebenfalls ohne Bedeutung. -% \begin{macrocode} \fi % \end{macrocode} -% \selectlanguage{english}%^^A % Everything else only, if the field is not empty. % \begin{macrocode} \Ifkomavarempty{location}{}{% % \end{macrocode} -% Calculation of height and vertical possition. +% Calculation of height and vertical position. % \begin{macrocode} \ifdim \useplength{locheight}=\z@% \setplength{locheight}{\useplength{toaddrheight}}% @@ -2514,7 +2416,7 @@ \setplength{locvpos}{\useplength{toaddrvpos}}% \fi % \end{macrocode} -% Calculation of width and horizontal possition. +% Calculation of width and horizontal position. % \begin{macrocode} \ifdim \useplength{locwidth}=\z@% \setplength{locwidth}{\paperwidth}% @@ -2545,57 +2447,25 @@ {Element `location'}% {% % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% In einigen Fällen der Absenderanordnung muss hier nun eine ganze Menge getan -% werden. In anderen ist hingegen nur wenig zu tun. Im Fall 0, also -% linksbündiger Absender im Kopf wird nur die Absenderergänzung ausgegeben -% (das erfolgt nach der Fallunterscheidung). +% Depending on the alignment of the sender's address, output of the logo and +% maybe also the address. % \begin{macrocode} \ifcase\@alignfrom -% \end{macrocode} -% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier -% platziert, die Absenderergänzung wird ggf. danach ausgegeben (das erfolgt -% nach der Fallunterscheidung).%^^A -% \changes{v2.98a}{2008/01/10}{bei zentriertem Absender wird die -% Absenderergänzung ggf. unter dem Logo ausgegeben}%^^A -% \begin{macrocode} \or \if@logo \Ifkomavarempty{fromlogo}{\null}{% {\raggedleft\noindent\usekomavar{fromlogo}\\ \vskip\parskip}\noindent}% \fi -% \end{macrocode} -% Im Fall 2, also rechtsbündiger Absender im Kopf, wird auch nur die -% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung). -% \begin{macrocode} \or -% \end{macrocode} -% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier -% sozusagen der linksbündige Kopf nachgebaut. Das Logo steht dabei -% ggf. rechtsbündig oben. -% \begin{macrocode} \or \if@logo \Ifkomavarempty{fromlogo}{}{% \raggedleft\usekomavar{fromlogo}\par}% \fi \raggedright -% \end{macrocode} -% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für den -% Namen verwendet werden. -% \begin{macrocode} {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% -% \end{macrocode} -% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den -% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender -% bestimmt oder automatisch gewählt werden. Es werden dabei die Pseudo-Längen -% \texttt{fromrulewidth} und \texttt{fromrulethickness} verwendet. Ist -% \texttt{fromrulewidth} 0, so wird sie automatisch bestimmt. Bei der -% automatischen Längenbestimmung wird einfach eine Linie über die Gesamtbreite -% der Absenderergänzung gesetzt. -% \begin{macrocode} {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% @@ -2610,14 +2480,6 @@ }% \\ }% -% \end{macrocode} -% Als Nächstes wird die Absenderadresse einschließlich aller optionalen Felder -% gesetzt. Dabei werden optionale Felder nur gesetzt, wenn der entsprechende -% Schalter \emph{true} ist. Die Adresse wird ebenfalls innerhalb einer Gruppe -% in einer eigenen Schriftart gesetzt.% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}%^^A -% \begin{macrocode} {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% @@ -2627,10 +2489,6 @@ \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% -% \end{macrocode} -% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie gesetzt -% werden. -% \begin{macrocode} \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% @@ -2642,14 +2500,6 @@ \fi \\ }% -% \end{macrocode} -% Damit ist die Definition des linksbündigen Absenders in der -% Absenderergänzung abgeschlossen. Im Fall 4, also rechtsbündiger Absender in -% der Absenderergänzung wird hier exakt wie für Fall 3 verfahren. Nur ist -% jetzt alles rechtsbündig.^^A% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}%^^A% -% \begin{macrocode} \or \raggedleft \if@logo @@ -2692,25 +2542,23 @@ \\ }% % \end{macrocode} -% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt. +% Last but not least the location information. % \begin{macrocode} \fi \usekomavar{location}% -% \end{macrocode} -% \selectlanguage{english}%^^A -% That's it. -% \begin{macrocode} }\relax }% } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@element@location +% \end{macro}^^A \scr@notepaper@element@location % \begin{macro}{\scr@notepaper@element@refline} -% \changes{v3.27}{2019/05/03}{new (internal)}%^^A +% \changes{v3.27}{2019/05/03}{added} % This notepaper element replaces the \cs{@datefield} of -% \textsf{scrlttr2}. In opposite to \textsf{scrlttr2} this element has a +% \cls*{scrlttr2}. In opposite to \cls*{scrlttr2} this element has a % dedicated height \texttt{reflineheight}. -% TODO: Still missing! +% \begin{description} +% \item[ToDo:] Needs to be tested. +% \end{description} % \begin{macrocode} \newcommand*{\scr@notepaper@element@refline}{% % \end{macrocode} @@ -2820,12 +2668,12 @@ \fi } % \end{macrocode} -% \end{macro}%^^A \scr@notepaper@element@refline -% \end{macro}%^^A \scr@notepaper@elements +% \end{macro}^^A \scr@notepaper@element@refline +% \end{macro}^^A \scr@notepaper@elements % \begin{macro}{\put@notepager@element} -% \changes{v3.27}{2019/03/22}{new (internal)}%^^A +% \changes{v3.27}{2019/03/22}{added} % \begin{macro}{\put@@notepager@@element} -% \changes{v3.27}{2019/05/03}{new (internal)}%^^A +% \changes{v3.27}{2019/05/03}{added} % A helper macro to output one element at a specific % position. \texttt{(\#1,\#2)} is the position, \texttt{(\#3,\#4)} the allowed % width and height, \texttt{\#5} is the name of the element (used for warning @@ -2869,15 +2717,17 @@ } %</package&body&willbe> % \end{macrocode} -% \end{macro}%^^A \put@@notepaper@@element -% \end{macro}%^^A \put@notepaper@element -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \put@@notepaper@@element +% \end{macro}^^A \put@notepaper@element % % \begin{macro}{\move@topt} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% Für die folgenden Aktionen wird ein Makro benötigt, mit dem man vertikal von -% der relativen Seitenposition zur relativen Papierposition gelangen kann. +% \changes{v2.8n}{2001/09/07}{added} +% We will need a helper to place an element relative to the top paper +% edge. So we have to move from the start of the text area to the start of an +% absolute position on the paper. This does only work, if the current position +% is the start of the text area! % \begin{macrocode} +%<*body> \newcommand*{\move@topt}{% \null\vskip -1in\vskip -\topmargin% \vskip -\headheight\vskip -\headsep% @@ -2886,9 +2736,10 @@ } % \end{macrocode} % \begin{macro}{\move@frompt} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% Natürlich wird auch ein Makro benötigt, um vertikal von einer relativen -% Papierposition wieder auf die relative Seitenposition zurück zu gelangen. +% \changes{v2.8n}{2001/09/07}{added} +% And also we need to move back from the absolute paper position to the start +% of the text area. This does only work, if the absolute paper position is +% unchanged. % \begin{macrocode} \newcommand*{\move@frompt}{% \vskip 1in\vskip \topmargin% @@ -2901,23 +2752,15 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\move@topl} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% Für die folgenden Aktionen wird außerdem ein Makro benötigt, mit dem man -% horizontal von der relativen Seitenposition zur relativen Papierposition -% gelangen kann. +% \begin{macro}{\move@topl,\move@frompl} +% \changes{v2.8n}{2001/09/07}{added} +% We need the same for the horizontal position. % \begin{macrocode} \newcommand*{\move@topl}{% \null\hskip -1in% \ifodd\value{page}\hskip -\oddsidemargin\else\hskip -\evensidemargin\fi \ignorespaces% } -% \end{macrocode} -% \begin{macro}{\move@frompl} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% Natürlich wird auch ein Makro benötigt, um horizontal von einer relativen -% Papierposition wieder auf die relative Seitenposition zurück zu gelangen. -% \begin{macrocode} \newcommand*{\move@frompl}{% \hskip 1in% \ifodd\value{page}\hskip \oddsidemargin\else\hskip \evensidemargin\fi% @@ -2925,14 +2768,16 @@ } % \end{macrocode} % \end{macro} -% \end{macro} % % % \begin{macro}{\vb@t@z} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% \changes{v2.95}{2006/03/23}{Absatzformatierung mit \cs{setparsizes}} +% \changes{v2.8n}{2001/09/07}{added} +% \changes{v2.95}{2006/03/23}{using \cs{setparsizes}} % \changes{v2.97e}{2007/11/20}{\cs{long}} -% Ausserdem wird ein vertikales Äquivalent zu |\rlap| benötigt. +% This is similar to \cs{smash}. +% \begin{description} +% \item[ToDo:] Should we use \cs{smash} inside the definition? +% \end{description} % \begin{macrocode} \newcommand{\vb@t@z}[1]{{% \setbox\z@\vbox to\z@{\color@begingroup #1\color@endgroup\vss}% @@ -2946,25 +2791,25 @@ % \end{macro} % % \begin{macro}{\@foldmarks} -% \changes{v2.97e}{2007/11/08}{\texttt{mfoldmarkvpos} wird verwendet}%^^A -% Für die Faltmarken müssen nicht nur Abstände definiert werden, es wird auch -% ein Befehl benötigt, um die Faltmarken zu setzen. +% \changes{v2.97e}{2007/11/08}{using \plen{mfoldmarkvpos}} % \begin{macro}{\@hfoldmark} -% \changes{v2.97e}{2007/11/08}{Neu (intern)}%^^A -% Dabei werden nur die horizontalen Faltmarken gesetzt, die tatsächlich -% existieren. +% \changes{v2.97e}{2007/11/08}{added} % \begin{macro}{\@foldmark} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% \changes{v2.95}{2006/06/06}{\cs{vskip} in \cs{vb@t@z} verschoben, damit es -% vom Satzspiegel unabhängig wird}%^^A -% \changes{v2.97c}{2007/05/08}{Dicke konfigurierbar}%^^A -% \changes{v2.97c}{2007/05/08}{Schrift (Farbe) konfigurierbar}%^^A -% \changes{v3.27}{2019/03/29}{different versions for package and class}%^^A -% Das geht am einfachsten, wenn wir auch einen Befehl haben, mit dem man eine -% einzelne Faltmarke relativ zur aktuellen Position setzen kann. Dies -% geschieht mit Hilfe von |\rlap|, damit die horizontale Position unverändert -% bleibt. Als Parameter werden der vertikale Abstand zur aktuellen Position -% und die Länder der Marke übergeben. +% \changes{v2.8n}{2001/09/07}{added} +% \changes{v2.95}{2006/06/06}{\cs{vskip} moved into \cs{vb@t@z}} +% \changes{v2.97c}{2007/05/08}{using \plen{foldmarkthickness}} +% \changes{v2.97c}{2007/05/08}{using \fnt{foldmark}} +% \changes{v3.27}{2019/03/29}{different versions for package and class} +% Used to place all activated fold marks, either a horizontal one or a +% vertical one. +% \begin{description} +% \item[ToDo:] The plans explained in the into of this section would have +% consequences here too. +% \end{description} +% For the still used version the parameters oft a horizontal fold mark are the +% vertical distance from the top edge an the length. The parameters of a +% vertical fold mark are the horizontal distance from the left edge and the +% length. % \begin{macrocode} %<*class|!willbe> \newcommand*{\@foldmark}[2]{% @@ -2978,10 +2823,9 @@ } %</class|!willbe> % \end{macrocode} -% \selectlanguage{english}%^^A -% The package version uses \cs{put} to set the marks. It has a possition, a -% direction and a length, so it can handle the horizontal and the vertical -% foldmarks. +% The planned package version uses \cs{put} to set the marks. It has a +% position, a direction and a length, so it can handle the horizontal and the +% vertical foldmarks. % \begin{macrocode} %<*package&willbe> \newcommand*{\@foldmark}{} @@ -3009,12 +2853,11 @@ \noexpand\fi %</class|!willbe> % \end{macrocode} -% \changes{v3.27}{2019/03/29}{different handling of the package version}%^^A -% The package version of \cs{@foldmark} has a new direction argument, because -% it handles horizontal and vertical foldmarks. And if there is not a +% \changes{v3.27}{2019/03/29}{different handling of the package version} +% The planned package version of \cs{@foldmark} has a new direction argument, +% because it handles horizontal and vertical foldmarks. And if there is not a % pseudo-length for the vertical possition of the horizontal fold-mark the % possition is half of the paper height. This is for the ``P''-mark. -% \selectlanguage{ngerman}%^^A % \begin{macrocode} %<*package&willbe> \Ifplength{#1foldmarkvpos}{% @@ -3043,11 +2886,9 @@ } % \end{macrocode} % \begin{macro}{\@vfoldmark} -% \changes{v2.97e}{2007/11/10}{Neu (intern)}%^^A -% Für die vertikale(n) Faltmarke(n) gilt prinzipiell das gleiche. Dabei ist -% lediglich zu beachten, dass die Linie hier komplett oberhalb der Grundlinie -% gesetzt wird, also die vertikale Position um die Länge nach unten zu -% verschieben ist. +% \changes{v2.97e}{2007/11/10}{added} +% The rule is printed completely above the baseline, so the length has to +% be added to the vertical movement. % \begin{macrocode} \newcommand*{\@vfoldmark}[1]{% \begingroup @@ -3055,9 +2896,8 @@ \@expandtwoargs\in@{#1}{\@usefolds}% \ifin@ % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/03/29}{package version uses \cs{@foldmark}}%^^A -% The class version does still work using \cs{rule}. +% \changes{v3.27}{2019/03/29}{package version uses \cs{@foldmark}} +% The currently used version does still work using \cs{rule}. % \begin{macrocode} %<*class|willbe> \vb@t@z{% @@ -3079,7 +2919,7 @@ \ignorespaces %</class|willbe> % \end{macrocode} -% But the package version uses \cs{@foldmark}. +% But the planned package version uses \cs{@foldmark}. % \begin{macrocode} %<*package&willbe> \@foldmark(\useplength{lfoldmarkhpos},\useplength{foldmarkvpos})% @@ -3091,8 +2931,7 @@ \endgroup } % \end{macrocode} -% The main foldmark command is only needed by the class. -% \selectlanguage{ngerman}%^^A +% The main foldmark command is only needed by the current version. % \begin{macrocode} %<*class|!willbe> \newcommand*{\@foldmarks}{% @@ -3100,19 +2939,19 @@ \typeout{Foldmarks: yes}% \move@topt \ifdim \useplength{pfoldmarklength}=\z@ - \@setplength{pfoldmarklength}{4mm}% + \setplength{pfoldmarklength}{4mm}% \fi \ifdim \useplength{tfoldmarklength}=\z@ - \@setplength{tfoldmarklength}{2mm}% + \setplength{tfoldmarklength}{2mm}% \fi \ifdim \useplength{mfoldmarklength}=\z@ - \@setplength{mfoldmarklength}{2mm}% + \setplength{mfoldmarklength}{2mm}% \fi \ifdim \useplength{bfoldmarklength}=\z@ - \@setplength{bfoldmarklength}{2mm}% + \setplength{bfoldmarklength}{2mm}% \fi \ifdim \useplength{lfoldmarklength}=\z@ - \@setplength{lfoldmarklength}{4mm}% + \setplength{lfoldmarklength}{4mm}% \fi \begingroup \@expandtwoargs\in@{P}{\@usefolds}% @@ -3137,22 +2976,24 @@ % \end{macro} % % \begin{macro}{\@savevbox} -% \changes{v2.8n}{2001/09/07}{Neu}%^^A -% \changes{v2.8q}{2001/10/30}{zusätzlich ein optionales Argument}%^^A -% \begin{macro}{\if@savevbox@warning} -% \begin{macro}{\@savevbox@warningtrue} -% \begin{macro}{\@savevbox@warningfalse} -% \changes{v2.8q}{2001/10/30}{Neu}%^^A -% Wenn eine der vertikalen Boxen in \cs{opening} zu einer \texttt{overbox -% \string\vbox\space} Meldung führt, weiss letztlich niemand, welche Box dafür -% verantwortlich war. Deshalb definieren wir hier ein Makro, das ggf. eine -% Meldung ausgibt, die erklärt, welches Element die Ursache war und was man -% tun kann. Das erste Argument ist dabei die Sollhöhe der Box, das zweite -% Argument ist der Boxinhalt, das dritte Argument is der Name des Elements, -% das zu hoch ist, das vierte der Name der Elementhöhe und das fünfte -% schließlich der Befehl, mit dem das Element vom Anwender definiert werden -% kann. Das optionale Argument wird nur bei der Ausgabe mit ausgegeben, findet -% jedoch bei der Berechnung keine Berücksichtigung. +% \changes{v2.8n}{2001/09/07}{added} +% \changes{v2.8q}{2001/10/30}{optional argument added} +% \begin{macro}{\@savevbox@warningfalse,\@savevbox@warningtrue,\if@savevbox@warning} +% \changes{v2.8q}{2001/10/30}{added} +% A vertically overfull box while \cs{opening} is hard to find. So we use +% \begin{quote} +% \cs{@savevbox}\oarg{print code}\marg{nominal height}\marg{content}% +% \marg{element name}\marg{height name}\marg{change code} +% \end{quote} +% to measure each of these boxes and report a warning with more information. +% \begin{description} +% \item[Note:] The \meta{print code} is not used to measure the box, but to +% print it. +% \item[Note:] The \meta{content} is used twice: first to measure the box and +% second to print it. Currently no special treatment is implemented to avoid +% problems using commands like \cs{label}, \cs{stepcounter} etc. inside +% \meta{content}. +% \end{description} % \begin{macrocode} \newif\if@savevbox@warning\@savevbox@warningtrue \newcommand{\@savevbox}[6][]{% @@ -3180,30 +3021,22 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} % % \begin{macro}{\@firstheadfootfield} -% \changes{v2.8n}{2001/09/08}{Neu}%^^A -% \changes{v2.8q}{2001/10/30}{\cs{parfillskip} lokal auf 0 gesetzt} -% \changes{v2.8q}{2001/10/30}{Fuß explizit in eine Box gesetzt}%^^A -% \changes{v2.9l}{2003/01/23}{Positionierung verbessert}%^^A -% \changes{v2.97e}{2007/11/22}{Optionen \texttt{firsthead} und -% \texttt{firstfoot} beachten}%^^A -% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstheadhpos} -% beachtet}%^^A -% \changes{v3.05}{2009/11/09}{neue Pseudo-Länge \texttt{firstfoothpos} -% beachtet}%^^A -% Ab Version 2.8n werden Kopf und Fuß der ersten Seite nicht mehr per -% Seitenstil \texttt{firstpage} gesetzt, sondern mit einem speziellen -% Feld. Dabei wird auch beachtet, dass dieses Feld im Kopf eine bestimmte aber -% beschränkte Höhe hat. Diese Höhe ist unabhängig von der normalen Kopfhöhe -% und richtet sich stattdessen nach der Position des Adressfeldes. -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/03/22}{package only enlarges page}%^^A -% From \KOMAScript~3.27 the \textsf{scrlayer} package does not print the page -% head or foot here. It only enlarges or shrinks the first page. -% \selectlanguage{ngerman}%^^A +% \changes{v2.8n}{2001/09/08}{added} +% \changes{v2.8q}{2001/10/30}{\cs{parfillskip} locally set to 0} +% \changes{v2.8q}{2001/10/30}{use a box for the foot} +% \changes{v2.9l}{2003/01/23}{improved positioning} +% \changes{v2.97e}{2007/11/22}{support for options \opt{firsthead} and +% \opt{firstfoot}} +% \changes{v3.05}{2009/11/09}{using pseudo length \plen{firstheadhpos}} +% \changes{v3.05}{2009/11/09}{using pseudo length \plen{firstfoothpos}} +% The letter head of the notepaper. +% \begin{description} +% \item[ToDo:] \changes{v3.27}{2019/03/22}{planned code enlarges page} The +% planned code of \pkg*{scrlayer} does not print the page head or foot +% here. It only enlarges or shrinks the first page. +% \end{description} % \begin{macrocode} \newcommand*{\@firstheadfootfield}{% %<*class|!willbe> @@ -3213,14 +3046,18 @@ \vb@t@z{% \rlap{\move@topl % \end{macrocode} -% Wenn \texttt{firstheadhpos} positiv und kleiner als die Seitenbreite ist, -% dann ist es der Abstand des Kopfes vom linken Rand. -% Wenn \texttt{firstheadhpos} negativ und betragsmäßig kleiner als die -% Seitenbreite ist, dann ist es der Abstand des Kopfes vom rechten Rand. -% Wenn \texttt{firstheadhpos} größer als die Seitenbreite ist, dann wird der -% Kopf zentriert. -% Wenn \texttt{firstheadhpos} kleiner als die negative Seitenbreite ist, dann -% wird der Kopf am linken Rand des Satzspiegels ausgerichtet. +% \begin{itemize} +% \item If \plen{firstheadhpos} is positiv and less than the paper width, it +% is the distance of the left paper edge to the left edge of the letter +% head. +% \item If \plen{firstheadhpos} is negative and the absolute value is less +% than the paper width, the absolute value is the distance of the right +% paper edge to the right edge of the letter head. +% \item If \plen{firstheadhpos} is larger than the paper width, the letter +% head will be centered. +% \item If \plen{firstheadhpos} is negative an the absolute value is larger +% than the paper width, the letter head will be left aligned to the text area. +% \end{itemize} % \begin{macrocode} \ifdim\useplength{firstheadhpos}<\paperwidth \ifdim \useplength{firstheadhpos}>-\paperwidth @@ -3245,10 +3082,9 @@ \addtolengthplength[-1]{\@tempskipa}{firstheadvpos}% \addtolength{\@tempskipa}{-\baselineskip}% % \end{macrocode} -% Da sich einige -- beispielsweise |briefkopf.sty| -- darauf verlassen, dass -% |\textwidth| die Breite des Briefkopfes ist, wird diese Länge lokal -% entsprechend gesetzt. Außerdem wird dafür gesorgt, dass |\parfillskip| hier -% nicht berücksichtigt wird. +% Locally set \len{textwidth} to the width of the letter head (similar to +% using a \env{minipage}. Also reset \len{parfillskip} to avoid overfull +% \cs{hbox} messages because of filled text width. % \begin{macrocode} \setlength{\textwidth}{\useplength{firstheadwidth}}% \setlength{\parfillskip}{\z@ \@plus 1fil}% @@ -3268,14 +3104,19 @@ \vb@t@z{% \rlap{\move@topl % \end{macrocode} -% Wenn \texttt{firstfoothpos} positiv und kleiner als die Seitenbreite ist, -% dann ist es der Abstand des Kopfes vom linken Rand. -% Wenn \texttt{firstfoothpos} negativ und betragsmäßig kleiner als die -% Seitenbreite ist, dann ist es der Abstand des Kopfes vom rechten Rand. -% Wenn \texttt{firstfoothpos} größer als die Seitenbreite ist, dann wird der -% Kopf zentriert. -% Wenn \texttt{firstfoothpos} kleiner als die negative Seitenbreite ist, dann -% wird der Kopf am linken Rand des Satzspiegels ausgerichtet. +% \begin{itemize} +% \item If \plen{firstfoothpos} is positiv and less than the paper width, it +% is the distance of the left paper edge to the left edge of the letter +% footer. +% \item If \plen{firstfoothpos} is negative and the absolute value is less +% than the paper width, the absolute value is the distance of the right +% paper edge to the right edge of the letter footer. +% \item If \plen{firstfoothpos} is larger than the paper width, the letter +% footer will be centered. +% \item If \plen{firstfoothpos} is negative an the absolute value is larger +% than the paper width, the letter footer will be left aligned to the text +% area. +% \end{itemize} % \begin{macrocode} \ifdim\useplength{firstfoothpos}<\paperwidth \ifdim \useplength{firstfoothpos}>-\paperwidth @@ -3297,12 +3138,6 @@ \hskip\@tempskipa \vbox{\hsize\useplength{firstfootwidth}% \vskip\useplength{firstfootvpos}% -% \end{macrocode} -% Da sich einige -- beispielsweise |briefkopf.sty| -- darauf verlassen, dass -% |\textwidth| die Breite des Brieffußes ist, wird diese Länge lokal -% entsprechend gesetzt. Außerdem wird dafür gesorgt, dass |\parfillskip| hier -% nicht berücksichtigt wird. -% \begin{macrocode} \setlength{\textwidth}{\useplength{firstfootwidth}}% \setlength{\parfillskip}{\z@ \@plus 1fil}% \vbox{\hsize\useplength{firstfootwidth}\noindent @@ -3334,29 +3169,30 @@ % \end{macro} % % \begin{macro}{\@addrfield} -% \changes{v2.8q}{2002/04/01}{\cs{parfillskip} lokal geändert}%^^A -% \changes{v2.8q}{2002/06/03}{Sonderbehandlung für Adressfeld rechts}%^^A -% \changes{v2.9o}{2003/02/20}{\cs{noindent} eingefügt bei -% \texttt{specialmail}}%^^A -% \changes{v2.96}{2006/07/31}{Benutzung von \cs{backaddr@format}}%^^A -% \changes{v3.03}{2009/03/04}{Priorität kann Versandart ersetzen}%^^A -% \changes{v3.03}{2009/03/04}{Neue Anschriftmodi \texttt{PP}, -% \texttt{backgroundimage}, \texttt{addresseeimage}}%^^A -% \changes{v3.03b}{2009/06/30}{Schreibfehler bei »addressee« korrigiert}%^^A -% \changes{v3.06a}{2010/07/29}{Absatzparameter werden passend -% eingestellt}%^^A -% \changes{v3.22}{2016/12/21}{zweimal fehlende Klammern bei \texttt{toname} -% ergänzt}%^^A -% \changes{v3.22}{2016/12/21}{zweimal fehlende Klammern und \cs{endgraf} bei -% \texttt{toaddress} ergänzt}%^^A -% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% \changes{v3.30}{2020/03/27}{Umdefinierung des Zeilenumbruchs -% verschoben}%^^A -% Dasselbe gilt auch für das Adressfeld für Fensterumschläge. Die -% Rücksendeadresse und die Briefart werden dabei mit eigenen -% Formatieranweisungen gesetzt. +% \changes{v2.8q}{2002/04/01}{\cs{parfillskip} locally changed} +% \changes{v2.8q}{2002/06/03}{special treatment of addressee right aligend} +% \changes{v2.9o}{2003/02/20}{\cs{noindent} added to \var{specialmail}} +% \changes{v2.96}{2006/07/31}{using \cs{backaddr@format}} +% \changes{v3.03}{2009/03/04}{support for priority} +% \changes{v3.03}{2009/03/04}{new \opt{addrfield} values \opt{\quotechar=PP}, +% \opt{\quotechar=backgroundimage}, \opt{\quotechar=addresseeimage}} +% \changes{v3.03b}{2009/06/30}{typo fix of ``addressee''} +% \changes{v3.06a}{2010/07/29}{setting paragraph parameters} +% \changes{v3.17}{2015/04/17}{\cs{setbox} replaced by \cs{sbox}} +% \changes{v3.22}{2016/12/21}{braces fixed} +% \changes{v3.22}{2016/12/21}{\cs{endgraf} added} +% \changes{v3.25}{2017/11/15}{using \cs{scr@endstrut} instead of +% \cs{unskip}\cs{strut}} +% \changes{v3.27}{2019/03/27}{potentially only for \cls*{scrlttr2}} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% \changes{v3.30}{2020/03/27}{re-definition of line break moved} +% The address field of the addressee inclusive return address and special mail +% text. +% \begin{description} +% \item[ToDo:] The plans explained in the into of this section would have +% consequences here too. +% \end{description} % \begin{macrocode} %<*class|!willbe> \newcommand*{\@addrfield}{% @@ -3446,8 +3282,9 @@ \else \begingroup% % \end{macrocode} -% In den Modi \texttt{PP}, \texttt{backgroundimage} oder \texttt{addresseeimage} -% gibt es weder Rücksendeadresse noch Versandart aber ebenfalls eine Priorität. +% With \opt{addrfield=PP}, \opt{addrfield=backgroundimage} or +% \opt{addrfield=image} there are neither a return address nor a special mail +% text, but a priority. % \begin{macrocode} \if@baddr \let\@tempa\@empty\let\@tempb\@empty @@ -3479,16 +3316,16 @@ \vb@t@z{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \ifdim \useplength{toaddrindent}=\z@ - \@setplength{toaddrindent}{8mm}% + \setplength{toaddrindent}{8mm}% \fi \ifdim \useplength{PPheadheight}=\z@ - \@setplength{PPheadheight}{20.74pt}% + \setplength{PPheadheight}{20.74pt}% \fi \ifdim \useplength{PPheadwidth}=\z@ - \@setplength{PPheadwidth}{42mm}% + \setplength{PPheadwidth}{42mm}% \fi \ifdim \useplength{PPdatamatrixvskip}=\z@ - \@setplength{PPdatamatrixvskip}{9mm}% + \setplength{PPdatamatrixvskip}{9mm}% \fi \rlap{\move@topl \setlengthtoplength{\@tempskipa}{toaddrhpos}% @@ -3500,7 +3337,7 @@ \@savevbox{\useplength{toaddrheight}}{\hsize\useplength{toaddrwidth}% \ifnum\@afieldmode=\tw@ % \end{macrocode} -% Modus \texttt{PP}. +% \opt{addrfield=PP}: % \begin{macrocode} \vskip 2pt\relax \hskip \useplength{toaddrindent}\relax @@ -3508,11 +3345,6 @@ \vbox to \dimexpr \useplength{PPheadheight}-2\fboxsep\relax{% \setlength{\parindent}{0pt}% \hsize \dimexpr \useplength{PPheadwidth}-2\fboxsep\relax -% \end{macrocode} -% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}%^^A -% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt -% \cs{unskip}\cs{strut}}%^^A -% \begin{macrocode} \sbox\@tempboxa{% {\fontsize{20.74pt}{20.74pt}\selectfont \usekomafont{PPlogo}{P.P.}}\hskip 2mm% @@ -3572,7 +3404,7 @@ }% \else % \end{macrocode} -% Modus \texttt{backgroundimage} oder \texttt{image}. +% \opt{addrfield=backgroundimage} or \opt{addrfield=image}: % \begin{macrocode} \vskip 1mm \noindent\expandafter\hskip\useplength{toaddrindent}% @@ -3611,8 +3443,8 @@ %</class|!willbe> % \end{macrocode} % \begin{macro}{\specialmail@format} -% \changes{v2.97c}{2007/07/06}{neu (intern)}%^^A -% Die Anweisung, die für das Aussehen der Versandart zuständig ist. +% \changes{v2.97c}{2007/07/06}{added} +% Formatting the special mail note. % \begin{macrocode} \newcommand*{\specialmail@format}[1]{} \let\specialmail@format\underline @@ -3620,9 +3452,8 @@ % \end{macro} % % \begin{macro}{\@ogobble} -% \changes{v2.8q}{2002/01/22}{Neu}%^^A -% In obiger Definition wird das Makro \cs{@ogobble} verwendet, um -% einen optionalen Parameter zu vernichten, falls dieser existiert. +% \changes{v2.8q}{2002/01/22}{added} +% Something like \cs{gobble} but to gobble an optional argument. % \begin{macrocode} \newcommand*{\@ogobble}[1][]{} % \end{macrocode} @@ -3630,80 +3461,68 @@ % \end{macro} % % \begin{macro}{\@locfield} -% \changes{v2.8o}{2001/09/17}{\cs{noindent} eingefügt} -% \changes{v2.8q}{2002/02/07}{\cs{noindent} nach dem Logo} -% \changes{v2.8q}{2002/07/23}{Berechnung der Breite hierher verschoben}%^^A -% \changes{v2.8q}{2002/06/03}{Sonderbehandlung für Adressfeld rechts}%^^A -% \changes{v3.27}{2019/03/27}{only at \textsf{scrlttr2}}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% Das "`locfield"' wird unabhängig von der Adresse gesetzt. +% \changes{v2.8o}{2001/09/17}{\cs{noindent} added} +% \changes{v2.8q}{2002/02/07}{\cs{noindent} after the logo} +% \changes{v2.8q}{2002/07/23}{width calculation moved to this} +% \changes{v2.8q}{2002/06/03}{special treatment of right aligned addressee} +% \changes{v3.12}{2013/05/29}{using variable \var{frommobilephone}} +% \changes{v3.27}{2019/03/27}{potentially only at \cls*{scrlttr2}} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% The location field to be placed independent of having an address field. +% \begin{description} +% \item[ToDo:] The plans explained in the into of this section would have +% consequences here too. +% \end{description} % \begin{macrocode} %<*class|!willbe> \newcommand*{\@locfield}{% \ifdim \useplength{locwidth}=\z@% - \@setplength{locwidth}{\paperwidth}% + \setplength{locwidth}{\paperwidth}% \ifdim \useplength{toaddrhpos}>\z@ - \@addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}% + \addtoplength[-2]{locwidth}{\useplength{toaddrhpos}}% \else - \@addtoplength[2]{locwidth}{\useplength{toaddrhpos}}% + \addtoplength[2]{locwidth}{\useplength{toaddrhpos}}% \fi - \@addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}% + \addtoplength[-1]{locwidth}{\useplength{toaddrwidth}}% \if@bigloc% - \@setplength[.66667]{locwidth}{\useplength{locwidth}}% + \setplength[.66667]{locwidth}{\useplength{locwidth}}% \else% - \@setplength[.5]{locwidth}{\useplength{locwidth}}% + \setplength[.5]{locwidth}{\useplength{locwidth}}% \fi% \fi% % \end{macrocode} -% \changes{v2.97e}{2007/11/13}{Der Absender kann nun ebenfalls in der -% Absenderergänzung stehen}%^^A -% \changes{v2.98b}{2008/01/30}{Absenderergänzung immer setzen, wenn -% verwendet}%^^A -% Je nach Absenderanordnung muss hier nun ebenfalls etwas getan werden. -% Der Fall 0, also linksbündiger Absender im Kopf spielt hier keine Rolle. +% \changes{v2.97e}{2007/11/13}{support for sender in location} +% \changes{v2.98b}{2008/01/30}{always print location if used} +% Depending of \opt{fromalign} we have to take care to print the location by +% adding a dummy content. % \begin{macrocode} \ifcase\@alignfrom -% \end{macrocode} -% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier -% platziert, also darf die Absenderergänzung nicht leer sein. -% \begin{macrocode} \or \if@logo \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% \fi -% \end{macrocode} -% Im Fall 2, also rechtsbündiger Absender im Kopf, ist auch nichts zu tun. -% \begin{macrocode} \or -% \end{macrocode} -% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier -% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein. -% \begin{macrocode} \or \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% -% \end{macrocode} -% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier -% eine Menge ausgegeben, also darf die Absenderergänzung nicht leer sein. -% \begin{macrocode} \or \Ifkomavarempty{location}{\setkomavar{location}{\null}}{}% + \fi % \end{macrocode} -% Alle anderen Fälle sind wie hier ebenfalls ohne Bedeutung. +% Report if the location is empty or calculate the position and width. % \begin{macrocode} - \fi \Ifkomavarempty{location}{% \typeout{Location field: empty}% }{% \typeout{Location field: yes}% \ifdim \useplength{lochpos}=\z@% - \@setplength{lochpos}{\useplength{toaddrhpos}}% + \setplength{lochpos}{\useplength{toaddrhpos}}% \fi \ifdim \useplength{locvpos}=\z@% - \@setplength{locvpos}{\useplength{toaddrvpos}}% + \setplength{locvpos}{\useplength{toaddrvpos}}% \fi \ifdim \useplength{locheight}=\z@% - \@setplength{locheight}{\useplength{toaddrheight}}% + \setplength{locheight}{\useplength{toaddrheight}}% \fi \move@topt\vskip\useplength{locvpos}% \vb@t@z{\noindent\makebox[0pt][l]{% @@ -3719,56 +3538,25 @@ \@savevbox{\useplength{locheight}}{% \noindent\hsize\useplength{locwidth}% % \end{macrocode} -% In einigen Fällen der Absenderanordnung muss hier nun eine ganze Menge getan -% werden. In anderen ist hingegen nur wenig zu tun. -% Im Fall 0, also linksbündiger Absender im Kopf wird nur die -% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung). +% For some values of \opt{fromalign} we also have to place the sender's +% address or logo. % \begin{macrocode} \ifcase\@alignfrom -% \end{macrocode} -% Im Fall 1, also zentrierter Absender im Kopf wird jedoch das Logo hier -% platziert, die Absenderergänzung wird ggf. danach ausgegeben (das erfolgt -% nach der Fallunterscheidung). -% \changes{v2.98a}{2008/01/10}{bei zentriertem Absender wird die -% Absenderergänzung ggf. unter dem Logo ausgegeben}%^^A -% \begin{macrocode} \or \if@logo \Ifkomavarempty{fromlogo}{\null}{% {\raggedleft\noindent\usekomavar{fromlogo}\\ \vskip\parskip}\noindent}% \fi -% \end{macrocode} -% Im Fall 2, also rechtsbündiger Absender im Kopf, wird auch nur die -% Absenderergänzung ausgegeben (das erfolgt nach der Fallunterscheidung). -% \begin{macrocode} \or -% \end{macrocode} -% Im Fall 3, also linksbündiger Absender in der Absenderergänzung wird hier -% sozusagen der linksbündige Kopf nachgebaut. Das Logo steht dabei -% ggf. rechtsbündig oben. -% \begin{macrocode} \or \if@logo \Ifkomavarempty{fromlogo}{}{% \raggedleft\usekomavar{fromlogo}\par}% \fi \raggedright -% \end{macrocode} -% Zuerst wird der Name gesetzt. Dabei soll eine eigene Schriftart für -% den Namen verwendet werden. -% \begin{macrocode} {\usekomafont{fromname}\strut\ignorespaces \usekomavar{fromname}% -% \end{macrocode} -% Hat \verb|\@rulefrom| den nummerischen Wert 1, so soll direkt auf den -% Absender eine Linie folgen. Die Länge dieser Linie kann vom Anwender -% bestimmt oder automatisch gewählt werden. Es werden dabei die -% Pseudo-Längen \texttt{fromrulewidth} und \texttt{fromrulethickness} -% verwendet. Ist \texttt{fromrulewidth} 0, so wird sie automatisch -% bestimmt. Bei der automatischen Längenbestimmung wird einfach eine Linie -% über die Gesamtbreite der Absenderergänzung gesetzt. -% \begin{macrocode} {% \ifnum\@rulefrom=1\\[-.5\baselineskip]% \usekomafont{fromrule}{% @@ -3783,15 +3571,6 @@ }% \\ }% -% \end{macrocode} -% Als Nächstes wird die Absenderadresse einschließlich aller -% optionalen Felder gesetzt. Dabei werden optionale Felder nur -% gesetzt, wenn der entsprechende Schalter \emph{true} ist. Die -% Adresse wird ebenfalls innerhalb einer Gruppe in einer eigenen -% Schriftart gesetzt.% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}% -% \begin{macrocode} {\usekomafont{fromaddress}\strut\ignorespaces \usekomavar{fromaddress}% \if@phone\\\usekomavar*{fromphone}\usekomavar{fromphone}\fi% @@ -3801,10 +3580,6 @@ \if@fax\\\usekomavar*{fromfax}\usekomavar{fromfax}\fi% \if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi% \if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi% -% \end{macrocode} -% Wie weiter oben erwähnt, kann auch an dieser Stelle eine Linie -% gesetzt werden. -% \begin{macrocode} \ifnum\@rulefrom=2\\[-.5\baselineskip]% \usekomafont{fromrule}{% \setlength{\@tempdima}{\useplength{fromrulewidth}}% @@ -3816,14 +3591,6 @@ \fi \\ }% -% \end{macrocode} -% Damit ist die Definition des linksbündigen Absenders in der -% Absenderergänzung abgeschlossen. -% Im Fall 4, also rechtsbündiger Absender in der Absenderergänzung wird hier -% exakt wie für Fall 3 verfahren. Nur ist jetzt alles rechtsbündig.% -% \changes{v3.12}{2013/05/29}{Variable \texttt{frommobilephone} wird -% berücksichtigt}% -% \begin{macrocode} \or \raggedleft \if@logo @@ -3866,14 +3633,10 @@ \\ }% % \end{macrocode} -% In allen anderen Fällen wird ebenfalls die Absenderergänzung gesetzt. +% Last but not least the content of the location. % \begin{macrocode} \fi \usekomavar{location}% -% \end{macrocode} -% Zum Schluss wird noch verhindert, dass wegen nicht vollen vertikalen Boxen -% gemotzt wird. -% \begin{macrocode} \vskip \z@ \@plus .00001fil}% {location field}{locheight}{\setkomavar}% }}% @@ -3886,26 +3649,21 @@ % \end{macro} % % \begin{macro}{\@datefield} -% \changes{v2.8q}{2002/01/14}{Schalter \cs{if@tempwa} wird bereits hier auf -% \texttt{true} gesetzt} -% \changes{v2.97c}{2007/05/14}{Neue Fontelemente}%^^A -% Je nachdem, welche Felder definiert sind, muss eine geschäftsmäßiger -% Standardbrief oder ein eher persönliches Aussehen gewählt werden. +% \changes{v2.8q}{2002/01/14}{setting \cs{if@tempwa}} +% \changes{v2.97c}{2007/05/14}{using font elements \fnt{refname} and +% \fnt{refvalue}} +% Print either a reference line or place and date only. % \begin{macro}{\do@set@reffield} -% \changes{v3.09}{2011/03/06}{Neu (intern)}%^^A -% Das ist ein \cs{do} für die Felder und bekommt innerhalb von -% \cs{@datefield} unterschiedliche Bedeutungen. An dieser Stelle wird es daher -% nur reserviert. +% \changes{v3.09}{2011/03/06}{added} +% The macro will be defined later depending on testing of usage or +% printing. So we just allocate/reserve it here. % \begin{macrocode} \newcommand*{\do@set@reffield}{} % \end{macrocode} % \begin{macro}{\@set@reffield} -% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt} -% Einzelne Felder werden mit Hilfe dieses Makros gesetzt. Als Parameter wird -% der Name des Feldes übergeben. Es wird dann davon ausgegangen, dass der -% Name des Feldes in der jeweiligen Sprache im Makro -% \verb|\|\texttt{\emph{\#1}}\verb|name| und der Wert des Feldes in -% \verb|\var|\texttt{\emph{\#1}} zu finden ist. +% \changes{v3.17}{2015/04/17}{\cs{setbox} replaced by \cs{sbox}} +% Used to print a single field in the reference line. The argument is the name +% of field. % \begin{macrocode} \newcommand*{\@set@reffield}[1]{% \Ifkomavarempty{#1}{}{% @@ -3921,9 +3679,10 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\@test@reffield} -% \changes{v3.09}{2011/03/06}{Neu (intern)}%^^A -% Dieses Makro testet, ob ein Feld tatsächlich zu setzen ist und setzt -% ggf. \cs{@tempswa}. +% \changes{v3.09}{2011/03/06}{added} +% Used to test, if a field is not empty and sets \cs{if@tempswa} corresponding +% to the result. All not empty fields are added to a comma+space separated +% list in \cs{@tempa}. % \begin{macrocode} \newcommand*{\@test@reffield}[1]{% \Ifkomavarempty{#1}{}{% @@ -3935,39 +3694,37 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\@set@reffields} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% Dieses Makro enthält alle Aufrufe von \cs{@set@reffield}, die durchzuführen -% sind. Das Makro kann mit Hilfe von \cs{addtoreffields} erweitert werden. +% \changes{v2.8q}{2002/01/14}{added} +% The internal storage of all \cs{do@set@reffield} calls to be used for the +% reference line. % \begin{macrocode} \newcommand*{\@set@reffields}{}% % \end{macrocode} % \end{macro} -% \begin{macro}{\addtoreffields} -% \changes{v3.09}{2011/03/06}{Verwendung von \cs{do@set@reffield} an Stelle -% von \cs{@set@reffield}} -% Dieses Makro erwartet als obligatorisches Argument den Namen einer -% KOMA-Script Variable. Der Befehl arbeitet lokal zur aktuellen Umgebung. +% \begin{command}{\addtoreffields} +% \changes{v3.09}{2011/03/06}{using \cs{do@set@reffield}} +% Adds a new \cs{do@set@reffield} to \cs{@set@reffields} for the field given +% by the argument. % \begin{macrocode} \newcommand*{\addtoreffields}[1]{% \l@addto@macro{\@set@reffields}{\do@set@reffield{#1}}% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\removereffields} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% Es gibt auch einen Befehl, um alle Felder aus der Geschäftszeile zu -% entfernen. +% \begin{command}{\removereffields} +% \changes{v2.8q}{2002/01/14}{added} +% Remove all fields from \cs{@set@reffields}. % \begin{macrocode} \newcommand*{\removereffields}{% \renewcommand*{\@set@reffields}{}% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\defaultreffields} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% Ebenso ein Befehl, um die üblichen Felder zu setzen. +% \begin{command}{\defaultreffields} +% \changes{v2.8q}{2002/01/14}{added} +% (Re)Set the default of \cs{@set@reffields}. % \begin{macrocode} \newcommand*{\defaultreffields}{% \removereffields @@ -3978,70 +3735,66 @@ \addtoreffields{invoice}% } % \end{macrocode} -% Genau diesen Befehl rufen wir auch gleich auf: +% This is used for initial state: % \begin{macrocode} \defaultreffields % \end{macrocode} -% \end{macro} +% \end{command} % -% \changes{v2.3e}{1996/05/31}{Abstand zwischen Ort und Datum eingefügt}%^^A -% \changes{v2.8o}{2001/09/18}{für den Brieftyp \texttt{KOMAold} anschließend -% einen zusätzlichen vertikalen Abstand eingefügt}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{rlap} eingefügt}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.8q}{2002/01/14}{Leertests entfernt, da in \cs{@set@reffield} -% bereits enthalten}%^^A -% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refwidth} an die -% Dokumentation angepasst}%^^A -% \changes{v2.9l}{2003/01/28}{Berechnung von \texttt{refhpos} hinzugefügt}%^^A -% \changes{v2.95}{2006/03/23}{Absatzeinzug mit \cs{setparsizes} abschalten}%^^A -% \changes{v2.97c}{2007/05/14}{Neue Font-Elemente}%^^A -% \changes{v3.09}{2011/03/06}{\cs{do@set@reffield} muss initialisiert -% werden}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A +% \changes{v2.3e}{1996/05/31}{distance between place and date added} +% \changes{v2.8o}{2001/09/18}{added an additional verticale distance for +% \file{KOMAold.lco} only} +% \changes{v2.8q}{2001/11/13}{\cs{rlap} added} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.8q}{2002/01/14}{empty test moved to \cs{@set@reffield}} +% \changes{v2.9l}{2003/01/28}{calculation of \plen{refwidth} fixed} +% \changes{v2.9l}{2003/01/28}{calculation of \plen{refhpos} added} +% \changes{v2.95}{2006/03/23}{using \cs{setparsizes}} +% \changes{v2.97c}{2007/05/14}{using several new font elements} +% \changes{v3.09}{2011/03/06}{initialization of \cs{do@set@reffield}} +% \changes{v3.12}{2013/07/31}{using font element \fnt{placeanddate}} +% \changes{v3.17}{2015/04/17}{\cs{setbox} replaced by \cs{sbox}} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} % \begin{macrocode} \newcommand*{\@datefield}{% {% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \ifdim\useplength{refwidth}=\z@ \if@refwide - \@setplength{refwidth}{\paperwidth}% + \setplength{refwidth}{\paperwidth}% \ifdim \useplength{toaddrhpos}>\z@ - \@setplength{refhpos}{\useplength{toaddrhpos}}% + \setplength{refhpos}{\useplength{toaddrhpos}}% \else - \@setplength[-]{refhpos}{\useplength{toaddrhpos}}% + \setplength[-]{refhpos}{\useplength{toaddrhpos}}% \fi - \@addtoplength[-2]{refwidth}{\useplength{refhpos}}% + \addtoplength[-2]{refwidth}{\useplength{refhpos}}% \else - \@setplength{refwidth}{\textwidth}% - \@setplength{refhpos}{\oddsidemargin}% - \@addtoplength{refhpos}{1in}% + \setplength{refwidth}{\textwidth}% + \setplength{refhpos}{\oddsidemargin}% + \addtoplength{refhpos}{1in}% \fi \else \ifdim\useplength{refhpos}=\z@ \begingroup % \end{macrocode} -% Wir bestimmen zunächst, um wieviel die Geschäftszeile schmaler ist als der -% Textbereich. +% How much smaller is the reference line than the text width. % \begin{macrocode} \setlength\@tempdima{\textwidth}% \addtolengthplength[-]{\@tempdima}{refwidth}% % \end{macrocode} -% Dann wird bestimmt, wie groß der linke Rand tatsächlich ist. +% Now we calculate the left margin. % \begin{macrocode} \setlength\@tempdimb{\oddsidemargin}% \addtolength\@tempdimb{1in}% % \end{macrocode} -% Ebenso wird bestimmt, wie groß der linke und rechte Rand zusammen sind. +% And the left and right margin together. % \begin{macrocode} \setlength{\@tempdimc}{\paperwidth}% \addtolength{\@tempdimc}{-\textwidth}% % \end{macrocode} -% Jetzt wird aus dem Gesamtrand der Geschäftszeile der linke Rand der -% Geschäftszeile so bestimmt, dass das Randverhältnis dabei unverändert -% bleibt. Dabei erlauben wir uns eine gewisse Rechenungenauigkeit beim -% Verhältnis. +% Now we can calculate the left margin of the reference line without changing +% the relation of the margins (with some tolerance). % \begin{macrocode} \divide\@tempdimb by 32768\relax \divide\@tempdimc by 32768\relax @@ -4050,13 +3803,13 @@ \divide\@tempdima by\@tempdimc \fi \edef\@tempa{\noexpand\endgroup - \noexpand\@setplength{refhpos}{\the\@tempdima}}% + \noexpand\setplength{refhpos}{\the\@tempdima}}% \@tempa \fi\fi \@tempswafalse \move@topt\vskip\useplength{refvpos}% % \end{macrocode} -% Jetzt kontrollieren wir, ob überhaupt etwas auszugeben ist: +% Have we to print something? % \begin{macrocode} \@tempswafalse \let\do@set@reffield\@test@reffield @@ -4067,8 +3820,7 @@ %<trace> \typeout{Reference line(s) with: \@tempa}% \@tempswafalse % \end{macrocode} -% Jetzt erfolgt noch die Absatzeinzugkorrektur. Danach kommt die eigentliche -% Arbeit. +% If so, do so. % \begin{macrocode} \rlap{\noindent\move@topl\hskip\useplength{refhpos}% \vbox{\hsize\useplength{refwidth}% @@ -4085,9 +3837,7 @@ \if@tempswa \ifnum \@datepos=1 \@set@reffield{date}\fi% % \end{macrocode} -% Seit Version~2.97c wird hier auch noch getestet, ob die Geschäftszeile -% möglicherweise mit zu großer Schrift gesetzt wird. -% \changes{v3.17}{2015/04/17}{\cs{setbox} durch \cs{sbox} ersetzt}%^^A +% From version~2.97c also test, of the font of the reference line is too big. % \begin{macrocode} \sbox\z@{\usekomafont{refname}\strutbox}% \ifdim\ht\z@>\ht\strutbox @@ -4105,10 +3855,7 @@ \fi \else % \end{macrocode} -% Hier landen wir schließlich, wenn gar keine Felder ausgegeben wurden, also -% nur Ort und Datum zu setzen sind. -% \changes{v3.12}{2013/07/31}{neues Element \texttt{placeanddate} wird -% verwendet}%^^A +% If we do not have to print any field, we are printing the place and date. % \begin{macrocode} \ifcase \@datepos\else \ifnum \@datepos=1 \enskip\hfill\fi @@ -4128,37 +3875,19 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\@maketitle} -% \changes{v2.3b}{1996/01/14}{Verwendung von \cs{sectfont} für den -% \cs{title}}%^^A -% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von \cs{sectfont}}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.9t}{2004/09/16}{\cs{par} in Größe und Schrift des Titels}%^^A -% \changes{v2.95}{2006/03/22}{\cs{usekomafont} and Stelle von -% \cs{titlefont}}%^^A -% \changes{v3.13}{2014/06/26}{umbenannt in \cs{@makelettertitle}}%^^A -% \end{macro} -% \begin{macro}{\@makelettertitle} -% \changes{v3.13}{2014/06/26}{neu (ehemals \cs{@maketitle}}%^^A -% \changes{v3.15}{2015/02/21}{\texttt{title} durch \texttt{lettertitle} -% ersetzt}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% \begin{macro}{\@subjfield} -% \changes{v2.8q}{2001/10/19}{\cs{centerline} durch \cs{centering} -% ersetzt}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.8q}{2002/01/31}{wird mit hängendem Einzug gesetzt}%^^A -% \changes{v2.95}{2006/03/23}{Absatzeinzug mit cs{setparsizes}%^^A -% einstellen}%^^A -% \changes{v3.01}{2008/11/03}{Verwendung der neuen Pseudolängen -% \texttt{subjectbeforevskip} und \texttt{subjectaftervskip}}%^^A -% \changes{v3.15}{2015/02/21}{\texttt{subject} durch \texttt{lettersubject} -% ersetzt}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% Der eigentliche Titel wir mit |\@maketitle| gesetzt. Dies sollte jedoch -% ebenso wie beim Betreff (|\@subjfield|) \emph{nicht} manuell geschehen. +% \begin{macro}{\@maketitle,\@makelettertitle} +% \changes{v2.3b}{1996/01/14}{using \cs{sectfont}} +% \changes{v2.8p}{2001/09/22}{using \cs{titlefont} instead of \cs{sectfont}} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.9t}{2004/09/16}{\cs{par} with size and font of the title} +% \changes{v2.95}{2006/03/22}{using \cs{usekomafont}} +% \changes{v3.13}{2014/06/26}{\cs{@maketitle} renamed to \cs{@makelettertitle}} +% \changes{v3.15}{2015/02/21}{\fnt{title} replaced by \fnt{lettertitle}} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% \changes{v3.36}{2022/03/04}{use of font element \fnt{title} removed} +% \KOMAScript{} provides a letter title. This is different from a document +% title. % \begin{macrocode} \newcommand*{\@makelettertitle}{% \Ifkomavarempty{title}{% @@ -4166,10 +3895,24 @@ }{% \typeout{Title: yes}% {\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative - \centering\LARGE\usekomafont{lettertitle}\usekomavar{title}\par}% + \centering\LARGE\usekomafont{lettertitle}\par}% \vskip\baselineskip% }% } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@subjfield} +% \changes{v2.8q}{2001/10/19}{\cs{centerline} replaced by \cs{centering}} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.8q}{2002/01/31}{hanging} +% \changes{v2.95}{2006/03/23}{using cs{setparsizes}} +% \changes{v3.01}{2008/11/03}{using \plen{subjectbeforevskip} and +% \plen{subjectaftervskip}} +% \changes{v3.15}{2015/02/21}{\fnt{subject} replaced by \fnt{lettersubject}} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% The subject of the letter. +% \begin{macrocode} \newcommand*{\@subjfield}{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative \Ifkomavarempty{subject}{% @@ -4211,71 +3954,51 @@ }% } % \end{macrocode} -% \begin{macro}{\ltr@len@subjectvpos} -% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectvpos}} -% Manchmal ist es günstiger, wenn man den Betreff absolut positionieren -% kann. Das geschieht über diese Pseudolänge, wenn sie \emph{nicht} 0 ist. +% \begin{pseudolength}{subjectvpos} +% \changes{v3.01}{2008/11/03}{added} +% If \plen{subjectpos} is not 0 it is the absolute vertical position of the +% subject. With 0 it is placed relative to the title, the reference line or +% the opening. This is the initial value. % \begin{macrocode} -\@newplength{subjectvpos} -\@setplength{subjectvpos}{0pt} +\newplength{subjectvpos} +\setplength{subjectvpos}{0pt} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@subjectaftervskip} -% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectaftervskip}} -% Abstand nach dem Betreff. Dieser Abstand wird aus Gründen der -% Kompatibilität zu früheren Versionen mit 2\cs{baselineskip} -% voreingestellt. +% \end{pseudolength} +% \begin{pseudolength}{subjectaftervskip} +% \changes{v3.01}{2008/11/03}{added} +% The vertical distance after the subject is initialized with +% 2\len{baselineskip}. % \begin{macrocode} -\@newplength{subjectaftervskip} -\@setplength{subjectaftervskip}{2\baselineskip} +\newplength{subjectaftervskip} +\setplength{subjectaftervskip}{2\baselineskip} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ltr@len@subjectbeforevskip} -% \changes{v3.01}{2008/11/03}{Neue Pseudolänge \texttt{subjectbeforevskip}} -% Abstand zusätzlich vor dem Betreff. Dieser Abstand wird aus Gründen der -% Kompatibilität zu früheren Versionen mit \cs{baselineskip} -% voreingestellt. Es sei darauf hingewiesen, dass hier bereits ein Abstand -% beispielsweise vom Titel existieren kann! +% \end{pseudolength} +% \begin{pseudolength}{subjectbeforevskip} +% \changes{v3.01}{2008/11/03}{added} +% The vertical distance before the subject, if not an absolute position is +% used. Initial value is \len{baselineskip}. % \begin{macrocode} -\@newplength{subjectbeforevskip} -\@setplength{subjectbeforevskip}{0pt} +\newplength{subjectbeforevskip} +\setplength{subjectbeforevskip}{0pt} +%</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{pseudolength} +% \end{macro}^^A \@subjfield % % -% \subsection{Anweisungen für das Briefpapier} +% \subsection{Head of the succeeding pages} % -% Für das Briefpapier gibt es etwas weniger Anweisungen. Teilweise werden hier -% auch die Anweisungen für den Briefbogen mit verwendet. +% The succeeding pages use another kind of note paper without all these large +% elements for the sender, addressee etc. And there isn't an element like +% \cs{opening}. So the page style is used. % -% \subsubsection{Kopf des Briefpapiers} -% -% Der Kopf des Briefpapiers wird wieder ganz normal über den Seitenstil -% festgelegt. Allerdings kann er entsprechende dem Briefbogen manuell -% definiert werden. -% -% \begin{macro}{\nexthead} -% \changes{v3.08}{2010/10/28}{der Kopf der Folgeseiten wird über eine -% Variable realisiert}%^^A -% \begin{macro}{\@nexthead} -% \changes{v3.08}{2010/10/28}{der Kopf der Folgeseiten wird über eine -% Variable realisiert}%^^A -% \begin{KOMAvar}{nexthead} -% \changes{v3.08}{2010/10/28}{Neu}%^^A -% Die Voreinstellung ist ebenfalls von Optionen abhängig. +% \begin{variable}{nexthead} +% \changes{v3.08}{2010/10/28}{added} +% This is the variable used for the page head of the page style. +% The initial content depends mostly on \cs{@pageat} but also uses +% \cs{leftmark} and \cs{rightmark} set by \cs{opening}. % \begin{macrocode} -%<*class> -\newcommand*{\@nexthead}{% - \ClassWarning{scrlttr2}{% - Deprecated usage of \string\@nexthead.\MessageBreak - \string\usekomavar{nexthead} should be used\MessageBreak - instead of \string\@nexthead - }% - \usekomavar{nexthead}% -} -%</class> +%<*body> \newkomavar{nexthead} \setkomavar{nexthead}{% \rlap{\parbox[c]{\textwidth}{\raggedright\strut @@ -4301,10 +4024,11 @@ \fi\strut}}% }% % \end{macrocode} -% \end{KOMAvar} -% \end{macro} -% Die Voreinstellung ist wiederum mit einer einfachen Benutzeranweisung -% änderbar. +% \end{variable} +% \begin{command}{\nexthead} +% \changes{v3.08}{2010/10/28}{deprecated} +% \begin{macro}{\@nexthead} +% \changes{v3.08}{2010/10/28}{deprecated} % \begin{macrocode} %<*class> \newcommand{\nexthead}{% @@ -4315,34 +4039,29 @@ } \setkomavar{nexthead}% } +\newcommand*{\@nexthead}{% + \ClassWarning{scrlttr2}{% + Deprecated usage of \string\@nexthead.\MessageBreak + \string\usekomavar{nexthead} should be used\MessageBreak + instead of \string\@nexthead + }% + \usekomavar{nexthead}% +} %</class> +%</body> % \end{macrocode} -% \end{macro} +% \end{macro}^^A \@nexthead +% \end{command}^^A \nexthead % % -% \subsubsection{Fuß des Briefpapiers} +% \subsection{Footer of the succeeding pages} % -% \begin{macro}{\nextfoot} -% \changes{v3.08}{2010/10/28}{der Fuß der Folgeseiten wird über eine -% Variable realisiert}%^^A -% \begin{macro}{\@nextfoot} -% \changes{v3.08}{2010/10/28}{der Fuß der Folgeseiten wird über eine -% Variable realisiert}%^^A -% \begin{KOMAvar}{nextfoot} -% \changes{v3.08}{2010/10/28}{Neu}%^^A -% Je nach Optioneneinstellung kann sich die Seitenmarke in der Voreinstellung -% auch im Fuß befinden. +% \begin{variable}{nextfoot} +% \changes{v3.08}{2010/10/28}{added} +% This is the variable used for the page footer of the page style. +% The initial content depends mostly on \cs{@pageat} % \begin{macrocode} -%<*class> -\newcommand*{\@nextfoot}{% - \ClassWarning{scrlttr2}{% - Deprecated usage of \string\@nextfoot.\MessageBreak - \string\usekomavar{nextfoot} should be used\MessageBreak - instead of \string\@nextfoot - }% - \usekomavar{nextfoot}% -} -%</class> +%<*body> \newkomavar{nextfoot} \setkomavar{nextfoot}{% \ifnum\@pageat>2 @@ -4353,9 +4072,11 @@ \fi } % \end{macrocode} -% \end{KOMAvar} -% \end{macro} -% Auch diese Einstellung ist per Benutzeranweisung leicht zu ändern. +% \end{variable} +% \begin{command}{\nextfoot} +% \changes{v3.08}{2010/10/28}{deprecated} +% \begin{macro}{\@nextfoot} +% \changes{v3.08}{2010/10/28}{deprecated} % \begin{macrocode} %<*class> \newcommand{\nextfoot}{% @@ -4366,34 +4087,41 @@ } \setkomavar{nextfoot}% } +\newcommand*{\@nextfoot}{% + \ClassWarning{scrlttr2}{% + Deprecated usage of \string\@nextfoot.\MessageBreak + \string\usekomavar{nextfoot} should be used\MessageBreak + instead of \string\@nextfoot + }% + \usekomavar{nextfoot}% +} %</class> +%</body> % \end{macrocode} -% \end{macro} +% \end{macro}^^A \@nextfoot +% \end{command}^^A \nextfoot % % -% \subsection{Die Brief-Umgebung} +% \subsection{The \env{letter} environment} % % \begin{environment}{letter} -% \changes{v2.8q}{2002/01/16}{optionales Argument hinzugefügt}%^^A -% \changes{v2.8q}{2002/01/16}{Fußnotenzähler wird zurückgesetzt}%^^A -% \changes{v2.9d}{2002/08/12}{Fußnotenzähler wird korrekt zurückgesetzt}%^^A -% \changes{v3.17}{2015/03/20}{Ersatz von \cs{pagemark}}%^^A -% \changes{v3.19}{2015/07/15}{\cs{letterpagestyle} wird verwendet}%^^A -% \changes{v3.19}{2015/07/15}{Briefe werden referenzierbar nummeriert}%^^A -% Diese Umgebung ist etwas anders definiert, als normalerweise von -% \LaTeX gewohnt. Mit ihr können innerhalb eines Dokuments beliebig -% viele Briefe erzeugt werden. Eine der Abweichungen von der -% Standardklasse besteht darin, dass als optionales Argument Optionen -% gesetzt werden können. +% \changes{v2.8q}{2002/01/16}{optional argument added} +% \changes{v2.8q}{2002/01/16}{reset counter \cnt{footnote}} +% \changes{v2.9d}{2002/08/12}{fixed reset of counter \cnt{footnote}} +% \changes{v3.17}{2015/03/20}{replacement for \cs{pagemark}} +% \changes{v3.19}{2015/07/15}{using \cs{letterpagestyle}} +% \changes{v3.19}{2015/07/15}{referenceable numbering of letters} +% \changes{v3.27}{2019/03/05}{no support for two-columned letters} +% The is the environment used to define one or even several letters in one +% document. It has an optional argument to set additional \KOMAScript{} +% options and a mandatory argument with the addressee. % \begin{macrocode} +%<*body> \newenvironment{letter}[2][]{% % \end{macrocode} -% \changes{v3.27}{2019/03/05}{zweipaltige Briefe werden nicht unterstützt}%^^A -% Falls wir uns im zweispaltigen Modus befinden, ist es jetzt höchste Zeit, -% eine Warnung auszugeben und auf einspaltig umzuschalten. Zwar wäre es -% theoretisch noch möglich, alles innerhalb von \cs{opening} in das optionale -% Argument von \cs{twocolumn} zu packen, aber spätestens beim Schlussgruß -% scheitert das dann. Also besser gleich gar nicht unterstützen. +% If we are in two column mode, we have to switch back to one column for the +% letter. \cs{ifletter@restonecol} as indicator, it at the end we have to +% switch back to two column mode. % \begin{macrocode} \if@twocolumn %<class> \ClassWarning{\KOMAClassName}{% @@ -4410,13 +4138,11 @@ \letter@restonecolfalse \fi % \end{macrocode} -% Als erstes wird eine neue Seite begonnen. Dies kann ggf. auch eine neue -% rechte Seite sein. Dabei wird auch auf den korrekten Seitenstil -% geachtet. Danach werden alle relevanten Zähler und Strafpunkte -% zurückgesetzt und der obligatorische Parameter ausgewertet. -% \changes{v3.19}{2015/07/15}{wegen des Pakets -% \cs{cleardoubleoddemptypage}}%^^A -% \changes{v3.27}{2019/03/05}{Briefe verwenden \cs{raggedbottom}}%^^A +% Then we start a new odd page and change the page style. Afterwards all +% relevant counters (currently \cnt{page} and \cnt{footnote}) are reset and +% the \cnt{letter} counter is increased referenceable. +% \changes{v3.19}{2015/07/15}{using \cs{cleardoubleoddemptypage}} +% \changes{v3.27}{2019/03/05}{using \cs{raggedbottom}} % \begin{macrocode} \cleardoubleoddemptypage \raggedbottom @@ -4432,26 +4158,23 @@ \setcounter{footnote}{0}% \interlinepenalty=200\@processto{#2}% % \end{macrocode} -% Dann werden ggf. die übergebenen Optionen ausgeführt. +% Then it's time for the options. % \begin{macrocode} \KOMAoptions{#1}% % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/03/31}{first-page head generation moved}%^^A -% From \KOMAScript~3.27 \textsf{scrletter} generates the first-page head in -% the \texttt{letter}-environment instead of the command \cs{opening}. +% \changes{v3.27}{2019/03/31}{first-page head generation moved} +% There are plans to generate the page head already here instead of waiting +% till \cs{opening}. But currently this is not used. % \begin{macrocode} %<package&willbe> \@gen@firsthead % \end{macrocode} -% \changes{v3.27}{2019/03/22}{\textsf{scrletter} sets the page style}%^^A -% From \KOMAScript~3.27 \textsf{scrletter} sets page style -% \texttt{notepaper} for the first page before executing the begin hook. -% \selectlanguage{ngerman}%^^A +% \changes{v3.27}{2019/03/22}{plans to set the page style} +% There are plans to use page style \pstyle{notepaper} for the first page +% before executing the begin hook. % \begin{macrocode} %<package&willbe> \thispagestyle{notepaper}% % \end{macrocode} -% Zum Schluss werden die per \cs{AtBeginLetter} angegeben Anweisungen -% ausgeführt. +% There are also plans to calculate the height of the reference line here. % \begin{macrocode} %<*package&willbe> \ifdim\useplength{refheight}>\z@ @@ -4466,28 +4189,37 @@ \reserved@a \fi %</package&willbe> +% \end{macrocode} +% Before executing the hook. The hook can be used, e.g., to reset additional +% counters. +% \begin{macrocode} \@beginletterhook %<package&willbe>\initial@letter@vskip }{% +% \end{macrocode} +% At the end, stop the letter. +% \begin{macrocode} \stopletter % \end{macrocode} -% Danach wird noch ein Label gesetzt. -% \changes{v3.19}{2015/07/15}{ein Label wird gesetzt}%^^A +% \changes{v3.19}{2015/07/15}{label at the end added} +% Set a label for the current letter to provide referencing the last +% page. Then do the final page beak and reset the column mode. % \begin{macrocode} \let\@currentlabel\thisletter \label{\thisletter.lastpage}% \@@par\pagebreak\@@par% \ifletter@restonecol\twocolumn\fi % \end{macrocode} -% \changes{v3.27}{2019/03/31}{cleanup running head}%^^A -% The package also cleans up the running head after the end of the letter. +% \changes{v3.27}{2019/03/31}{cleanup running head} +% Plan: The package also cleans up the running head after the end of the +% letter. % \begin{macrocode} %<package&willbe> \@mkdouble\@empty } % \end{macrocode} % \begin{macro}{\initial@letter@vskip} -% \changes{v3.27}{2019/05/03}{new (internal)}%^^A -% Go to the start posistion of the letter. Usually to jump below the reference +% \changes{v3.27}{2019/05/03}{added} +% Go to the start position of the letter. Usually to jump below the reference % line inside the \texttt{letter} environment. % \begin{macrocode} %<*package&willbe> @@ -4499,45 +4231,50 @@ } %</package&willbe> % \end{macrocode} -% \end{macro} -% \begin{macro}{\ifletter@restonecol} -% \changes{v3.27}{2019/03/05}{neu intern} -% Dieser Schalter bestimmt, ob am Ende der \texttt{letter}-Umgebung auf -% zweispaltig zurückgeschaltet werden muss. +% \end{macro}^^A \inital@letter@vskip +% \begin{macro}{\letter@restonecolfalse,\letter@restonecoltrue, +% \ifletter@restonecol} +% \changes{v3.27}{2019/03/05}{added} +% Used above to save and restore the column mode. % \begin{macrocode} \newif\ifletter@restonecol % \end{macrocode} % \end{macro} -% \begin{macro}{\thisletter} -% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A -% Gibt den Wert des aktuellen Labels wieder. Man benötigt dies beispielsweise, -% um per |\ref{\thisletter.lastpage}| auf die letzte Seite zugreifen zu -% können. +% \begin{command}{\thisletter} +% \changes{v3.19}{2015/07/15}{added} +% The base value of the current letter label. This can be used to, e.g., +% reference the \texttt{\cs{thisletter}.lastpage} label. It is initialized to +% a unknown value, as long as we are outside any \env{letter} environment. % \begin{macrocode} \newcommand*{\thisletter}{outside.letter.undefined} % \end{macrocode} -% \end{macro}%^^A \thisletter -% \begin{macro}{\letterlastpage} -% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A +% \end{command}^^A \thisletter +% \begin{command}{\letterlastpage} +% \changes{v3.19}{2015/07/15}{add} +% Reference to the page of the \texttt{\cs{thisletter}.lastpage} label. % \begin{macrocode} \newcommand*{\letterlastpage}{\pageref{\thisletter.lastpage}} -% \end{macrocode}%^^A \letterlastpage -% \end{macro} -% \begin{macro}{\stopletter} -% Damit man Material am Ende des Briefes einschleusen kann. +% \end{macrocode}^^A \letterlastpage +% \end{command} +% \begin{command}{\stopletter} +% This is a kind of end of letter hook. But \cs{AtEndLetter} should be used to +% add code. % \begin{macrocode} \newcommand*{\stopletter}{} % \end{macrocode} -% \end{macro}%^^A \stopletter +% \end{command}^^A \stopletter % \begin{macro}{\@processto} -% \changes{v2.9r}{2004/06/16}{robust gegen leeren Empfänger}%^^A -% \changes{v3.27}{2019/03/24}{extended setting of variables}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% \begin{macro}{\@xproc} -% Die Adresse, die als Argument der Briefumgebung übergeben wird, muss in Name -% und Adresse zerlegt werden. -% \begin{macrocode} +% \changes{v2.9r}{2004/06/16}{supports empty addressee} +% \changes{v3.27}{2019/03/24}{extended setting of variables} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% The addressee argument of \env{letter} has to be split into the name and the +% address. +% \begin{description} +% \item[Note:] The specification clearly says, that optional arguments to |\\| +% are not supported. So we do not adapt that change of \LaTeX{} 2021/10/01. +% \item[Note:] Here we also have plans to change things. +% \end{description} % \begin{macrocode} \newcommand{\@processto}[1]{% % \end{macrocode} @@ -4597,7 +4334,7 @@ \expandafter\@xproc#1\\\@nil \ifx\reserved@b\@empty\else\expandafter\@xproc#1\@nil\fi % \end{macrocode} -% For the package set variable \texttt{addressee}: +% Plan: Set variable \var{addressee}: % \begin{macrocode} %<*package&willbe> % Fixme: The \cs{protected@edef}s are critical! @@ -4610,7 +4347,7 @@ }% }% % \end{macrocode} -% If \texttt{toname} is empty, set it: +% If \var{toname} is empty, set it: % \begin{macrocode} \Ifkomavarempty{toname}{% % Fixme: The \cs{protected@edef}s are critical! @@ -4618,7 +4355,7 @@ \noexpand\reserved@c{\noexpand\setkomavar{toname}{\reserved@a}}}% }{\let\reserved@a\reserved@c}% % \end{macrocode} -% If \texttt{toaddress} is empty, set it: +% If \var{toaddress} is empty, set it: % \begin{macrocode} \Ifkomavarempty{toaddress}{% % Fixme: The \cs{protected@edef}s are critical! @@ -4628,9 +4365,9 @@ }{\reserved@a}% %</package&willbe> % \end{macrocode} -% For the class simply set \texttt{toname} und \texttt{toaddress}: +% For now simply set \var{toname} and \var{toaddress}: % \changes{v3.27}{2019/10/28}{don't expand the contents of \cs{reserved@a} and -% \cs{reserved@b}}%^^A +% \cs{reserved@b}} % \begin{macrocode} %<*class|!willbe> \edef\reserved@a{% @@ -4640,90 +4377,95 @@ %</class|!willbe> }% } +% \end{macrocode} +% \begin{macro}{\@xproc} +% Macro to split two elements with |\\| separator. +% \begin{macrocode} \newcommand*{\@xproc}{} \long\def\@xproc#1\\#2\@nil{% % \end{macrocode} % \changes{v3.27}{2019/03/24}{do not directly set variables but -% \cs{reserved@a} and \cs{reserved@b}}%^^A +% \cs{reserved@a} and \cs{reserved@b}} % \begin{macrocode} \def\reserved@a{#1}\def\reserved@b{#2}% } % \end{macrocode} -% \end{macro}%^^A \@xproc -% \end{macro}%^^A \@processto -% \begin{macro}{\flushbottom} -% \changes{v2.97c}{2007/05/17}{neue Erweiterung}%^^A -% Das Verhalten muss auf der letzten Briefseite wieder \cs{raggedbottom} -% ähneln. Das wird über \cs{stopletter} erreicht. +% \end{macro}^^A \@xproc +% \end{macro}^^A \@processto +% \begin{command}{\flushbottom} +% \changes{v2.97c}{2007/05/17}{added} +% The \cs{stopletter} hook is used to make the last page similar to using +% \cs{raggedbottom}. +% \begin{description} +% \item[Note:] It is correct to have this change globally, because it can be +% used outside a letter, but should be valid for letters in this case too. +% \end{description} % \begin{macrocode} \g@addto@macro\flushbottom{% - \g@addto@macro\stopletter{\vskip \z@\@plus.0001fil\relax}% + \AtEndLetter{\vskip \z@\@plus.0001fil\relax}% } % \end{macrocode} -% \end{macro}%^^A \flushbottom -% \begin{Counter}{letter} -% \changes{v3.19}{2015/07/15}{neuer Zähler}%^^A -% Die Briefe werden durchnummeriert. +% \end{command}^^A \flushbottom +% \begin{counter}{letter} +% \changes{v3.19}{2015/07/15}{added} +% The counter used to number the letters and make them reference-able. % \begin{macrocode} \newcounter{letter} % \end{macrocode} -% \end{Counter} -% \end{environment}%^^A letter +% \end{counter} +% \end{environment}^^A letter % % -% \begin{macro}{\letterpagestyle} -% \changes{v3.19}{2015/07/15}{neue Anweisung}%^^A -% Analog zu \cs{titlepagestyle}, \cs{indexpagestyle} etc. gibt es jetzt auch -% ein \cs{letterpagestyle}. In der Voreinstellung ist dieser bei der Klasse -% leer. Dagegen wird beim Paket \texttt{plain.letter} verwendet. Durch den -% Unterschied wird faktisch die Kompatibilität des Pakets mit der Klasse -% jedoch verbessert! +% \begin{command}{\letterpagestyle} +% \changes{v3.19}{2015/07/15}{added} +% Similar to \cs{tilepagestyle}, \cs{indexpagestyle} etc. we have a +% \cs{letterpagestyle} for the page style of the letter environment. The +% initial value of the class and the package are different. For the class we +% use an empty value, which means not change, because it already uses an +% adapted page style. But the package does not change the usual page styles of +% the classes, and therefore has a new default \pstyle{plain.letter} for +% letters. % \begin{macrocode} \newcommand*{\letterpagestyle}{% %<package> plain.letter% } % \end{macrocode} -% \end{macro} +% \end{command} % % -% \begin{macro}{\AtBeginLetter} -% \changes{v2.8n}{2001/09/08}{Neu}%^^A +% \begin{command}{\AtBeginLetter} +% \changes{v2.8n}{2001/09/08}{added} % \begin{macro}{\@beginletterhook} -% \changes{v2.8n}{2001/09/08}{Neu}%^^A -% Wie oben zu sehen, wurde in den Anfang der Briefumgebung ein Haken -% eingefügt. Dieser wird auch tatsächlich intern genutzt. Er funktioniert -% prinzipiell wie der |\AtBeginDocument|-Haken. Zunächst macht der Haken rein -% gar nichts. +% \changes{v2.8n}{2001/09/08}{added} +% This is the hook at the beginning of a letter. Initially it is empty. % \begin{macrocode} \newcommand{\AtBeginLetter}{\g@addto@macro\@beginletterhook} \newcommand{\@beginletterhook}{} % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\AtEndLetter} -% \changes{v2.95}{2006/03/22}{Neu}%^^A -% Analog zu |\AtBeginLetter| gibt es auch ein |\AtEndLetter|. Als Haken wird -% hierbei |\stopletter| verwendet. +% \begin{command}{\AtEndLetter} +% \changes{v2.95}{2006/03/22}{added} +% At the end currently a user command \cs{stopletter} is used to represent the +% hook. An internal macro would be better but incompatible. % \begin{macrocode} \newcommand{\AtEndLetter}{\g@addto@macro\stopletter} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\stopbreaks} -% \begin{macro}{\startbreaks} +% \begin{command}{\stopbreaks} +% \begin{command}{\startbreaks} % \changes{v3.33}{2021/03/05}{\cs{relax} added} % \begin{macro}{\@nobreakvspace} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \changes{v3.33}{2021/03/05}{robust definition} % \begin{macro}{\@nobreakvspacex} % \begin{macro}{\@nobreakcr} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \changes{v3.33}{2021/03/05}{simplified} -% Innerhalb von Briefen wird der Umbruch etwas anders gehandhabt. -% Dadurch soll der Brieftext besser positioniert werden. +% Inside letters we have a slightly different page break. This should improve +% placement of letter texts (but I doubt, that it really does). % \begin{macrocode} \newcommand*{\stopbreaks}{\interlinepenalty \@M \def\par{\@@par\nobreak}\let\\=\@nobreakcr @@ -4739,22 +4481,23 @@ % \end{macro} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % -% \begin{macro}{\opening} -% \changes{v2.8n}{2001/09/08}{Komplett überarbeitet}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.8q}{2002/03/25}{\cs{@PapersizeWarning}}%^^A -% \changes{v2.95}{2003/03/23}{Absatzformatierung mit \cs{setparsizes} -% einstellen}%^^A -% \changes{v3.27}{2019/03/27}{Only \textsf{scrlttr2} uses \cs{@addrfield}, -% \cs{@locfield} and \cs{@foldmarks}}%^^A -% \changes{v3.27}{2019/03/27}{Only \textsf{scrlttr2} sets pagestyle}%^^A -% \changes{v3.27}{2019/03/31}{Only \textsf{scrlttr2} generates the first-page -% head here}%^^A -% Denn beim Eröffnungsgruß mit |\opening| wird neben sämtlichen Feldern auch -% der Titel und der Betreff gesetzt. +% \begin{command}{\opening} +% \changes{v2.8n}{2001/09/08}{re-implemented} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.8q}{2002/03/25}{\cs{@PapersizeWarning}} +% \changes{v2.95}{2003/03/23}{using \cs{setparsizes}} +% \changes{v3.27}{2019/03/27}{only \cls*{scrlttr2} uses \cs{@addrfield}, +% \cs{@locfield} and \cs{@foldmarks}} +% \changes{v3.27}{2019/03/27}{only \cls*{scrlttr2} sets pagestyle} +% \changes{v3.27}{2019/03/31}{only \cls*{scrlttr2} generates the first-page +% head here} +% \begin{description} +% \item[ToDO:] There are plans to not generate the notepaper head, foot and +% several other elements here but in \env{letter}. +% \end{description} % \begin{macrocode} \newcommand{\opening}[1]{% \@PapersizeWarning @@ -4776,71 +4519,54 @@ \@afterindentfalse\@afterheading } % \end{macrocode} -% \end{macro} +% \end{command} % % -% \begin{macro}{\closing} -% \changes{v2.2b}{1995/02/16}{{\cmd\fromsig} wird nicht mehr auf \cs{empty} -% getestet sondern direkt eingesetzt} -% \changes{v2.3b}{1996/01/14}{Abstand zwischen Schlussgruß und Signatur -% erhöht}%^^A -% \changes{v2.5d}{2000/06/10}{Abstand zwischen Schlussgruß und Signatur -% variabel}%^^A +% \begin{command}{\closing} +% \changes{v2.2b}{1995/02/16}{\cs{fromsig} used directly} +% \changes{v2.3b}{1996/01/14}{distance between closing text and signature +% increased} +% \changes{v2.5d}{2000/06/10}{distance between closing text and signature +% variable} % \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} -% \changes{v2.8q}{2002/02/05}{nicht mehr \cs{long}} -% \changes{v2.8q}{2002/02/05}{darf \texttt{\cmd{\\}[\dots]} enthalten} -% \changes{v2.95}{2003/03/23}{Absatzformatierung mit \cs{setparsizes}%^^A -% einstellen} -% Außer dem Eröffnungsgruß mit |\opening| gibt es natürlich auch einen -% Schlussgruß mit |\closing|, bei dem außerdem die Unterschrift u.\,ä. gesetzt -% wird. +% \changes{v2.8q}{2002/02/05}{not \cs{long}} +% \changes{v2.8q}{2002/02/05}{supports \texttt{\cmd{\\}[\dots]}} +% \changes{v2.9r}{2004/01/28}{length limited to \cs{hsize}} +% \changes{v2.9r}{2004/01/28}{support for empty closing text} +% \changes{v2.95}{2003/03/23}{using \cs{setparsizes}} +% \changes{v3.17}{2015/02/19}{re-implemented to be more mistake tolerant} +% \changes{v3.17}{2015/02/20}{\cs{}\cs{} replaced by \cs{tabularnewline}} +% \changes{v3.17}{2015/02/20}{several \cs{strut} added} +% \changes{v3.20}{2015/10/08}{line break after the closing text only in +% horizontal mode} +% \changes{v3.25}{2017/11/15}{\cs{unskip}\cs{strut} replaced by +% \cs{scr@endstrut}} +% Sets not only the closing text, that is given as argument, but also the +% signature. % \begin{macro}{\presig@skip} -% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen -% Schlussgruß und Signatur beinhaltet}%^^A -% \changes{v2.8q}{2001/10/09}{Ersetzt durch Pseudo-Länge sigbeforevskip}%^^A -% \end{macro} -% \begin{macro}{\setpresigskip} -% \changes{v2.5d}{2000/06/10}{Neues Makro, das den Abstand zwischen -% Schlussgruß und Signatur setzt}%^^A -% \changes{v2.8q}{2001/10/09}{Mit Hilfe der neuen Pseudo-Längen definiert}%^^A -% Das Makro |\presig@skip| beinhaltet dabei den Abstand zwischen Schlussgruß -% und Signatur. Da der Wert über ein Benutzerinterface per |\setpresigskip| -% gesetzt wird, muss hier kein kostbares Längenregister (skip oder dim) -% verschwendet werden, sondern ein Makro reicht aus. In |\setpresigskip| wird -% allerdings noch sichergestellt, dass die Fehlermeldung bei falschem -% Parameter möglichst nicht erst bei Verwendung auftritt. +% \changes{v2.5d}{2000/06/10}{added} +% \changes{v2.8q}{2001/10/09}{replaced by \plen{sigbeforevskip}} +% \end{macro} +% \begin{command}{\setpresigskip} +% \changes{v2.5d}{2000/06/10}{added} +% \changes{v2.8q}{2001/10/09}{using \plen{asigbeforesvskip}} +% \changes{v2.8q}{2001/10/09}{only for \file{KOMAold.lco}} +% \begin{description} +% \item[ToDo:] This has to be moved to +% \file{scrkernel-letterclassoptions.dtx}! +% \end{description} % \begin{macrocode} +%</body> %</letter> -%<lco&KOMAold>\def\setpresigskip{\@setplength{sigbeforevskip}} +%<lco&KOMAold&body>\def\setpresigskip{\setplength{sigbeforevskip}} %<*letter> +%<*body> % \end{macrocode} -% \end{macro} -% \begin{macro}{\@xtrimtempa} -% \changes{v2.8q}{2002/02/05}{Neu (intern)}%^^A -% \changes{v3.17}{2014/02/19}{entfernt}%^^A -% \begin{macro}{\@@xtrimtempa} -% \changes{v2.8q}{2002/02/05}{Neu (intern)}%^^A -% \changes{v3.17}{2014/02/19}{entfernt}%^^A -% \end{macro} -% \end{macro} -% \begin{macro}{\@tempdimaismaxwidthof} -% \changes{v2.8q}{2002/02/05}{Neu (intern)}%^^A -% \changes{v3.17}{2014/02/19}{entfernt}%^^A -% \end{macro} -% Jetzt endlich zum eigentlichen Befehl. -% \changes{v2.9r}{2004/01/28}{Längenbegrenzung auf \cs{hsize}}%^^A -% \changes{v2.9r}{2004/01/28}{das Argument darf leer sein}%^^A -% \changes{v3.17}{2015/02/19}{aus Rücksicht auf Leute, die ohne Rücksicht -% auf die Anleitung einfach machen, was ihnen gerade einfällt, neu -% implementiert}%^^A -% \changes{v3.17}{2015/02/20}{Weil manche Leute es unbedingt auf die Spitze -% treiben wollen, \cs{}\cs{} durch \cs{tabularnewline} ersetzt.}%^^A -% \changes{v3.17}{2015/02/20}{Weil manche Leute es unbedingt auf die Spitze -% treiben wollen, mehr \cs{strut} eingefügt.}%^^A -% \changes{v3.20}{2015/10/08}{Umbruch nach dem Gruß nur, wenn wir uns im -% horizontalen Modus befinden}%^^A -% \changes{v3.25}{2017/11/15}{Verwendung von \cs{scr@endstrut} statt -% \cs{unskip}\cs{strut}}%^^A +% \end{command}^^A \setpresigskip +% \begin{macro}{\@@xtrimtempa,\@xtrimtempa,\@tempdimaismaxwidthof} +% \changes{v2.8q}{2002/02/05}{added} +% \changes{v3.17}{2014/02/19}{removed} +% \end{macro}^^A \@@xtrimtempa,\@xtrimtempa,\@tempdimaismaxwidthof % \begin{macrocode} \newcommand*{\closing}[1]{{% \setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative\nobreak\par @@ -4864,32 +4590,32 @@ \nobreak\vskip\baselineskip } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\ps} -% \changes{v2.8n}{2001/09/08}{Komplett überarbeitet}%^^A -% Ebenfalls möglich ist ein Postscriptum. Dieser Befehl erwartet das -% Postscriptum nicht als Argument, sondern schaltet zum Nachtext um. +% \begin{command}{\ps} +% \changes{v2.8n}{2001/09/08}{re-implemented} +% Switch to printing of \emph{postscriptum}. % \begin{macrocode} \newcommand\ps{\par% - \ifdim\parskip=\z@% - \vskip\baselineskip% - \fi\startbreaks\noindent\ignorespaces% + \ifdim\parskip=\z@ + \vskip\baselineskip + \fi\startbreaks\noindent\ignorespaces } % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\cc} -% Darüber hinaus gibt es noch einen Verteiler. Dieser wird sauber formatiert. -% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt} -% \changes{v2.8n}{2001/09/08}{Komplett "uberarbeitet}%^^A -% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst}%^^A -% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf \texttt{1em plus 1fil} -% geändert}%^^A -% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf \texttt{\cs{z@} plus -% 1fil} geändert}%^^A -% \changes{v3.22}{2016/12/15}{fehlender Stern bei \cs{ifkomavaremptry} -% ergänzt}%^^A +% \end{command} +% +% \begin{command}{\cc} +% \changes{v2.6}{2001/01/03}{\cs{def} replaced by \cs{newcommand*}} +% \changes{v2.8n}{2001/09/08}{re-implemented} +% \changes{v2.9o}{2003/04/22}{\len{parfillskip} changed} +% \changes{v2.9q}{2004/04/26}{\len{parfillskip} changed to \texttt{1em plus +% 1fil}} +% \changes{v2.9r}{2004/05/25}{\len{parfillskip} changed to \texttt{\cs{z@} plus +% 1fil}} +% \changes{v3.22}{2016/12/15}{missing star at \cs{ifkomavaremptry*} added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by +% \cs{Ifkomavarempty}} +% Switch to the printing of the \emph{copy circulated}. % \begin{macrocode} \newcommand*{\cc}[1]{\par% \ifdim\parskip=\z@% @@ -4906,20 +4632,20 @@ \endgroup } % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\encl} -% Auch Anlagen werden ordentlich gesetzt. -% \changes{v2.4a}{1997/06/06}{der Doppelpunkt bei den Anlagen wird nur noch -% gesetzt, wenn \cs{enclname} nicht leer ist} -% \changes{v2.6}{2001/01/03}{\cs{def} durch \cs{newcommand*} ersetzt} -% \changes{v2.8n}{2001/09/08}{Komplett überarbeiten}%^^A -% \changes{v2.8q}{2002/01/31}{Fehlendes \% ergänzt}%^^A -% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} angepasst} -% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} auf \texttt{1em plus 1fil} -% geändert} -% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} auf \texttt{\cs{z@} plus -% 1fil} geändert} +% \end{command} +% +% \begin{command}{\encl} +% \changes{v2.4a}{1997/06/06}{don't print a colon for empty enclosure} +% \changes{v2.6}{2001/01/03}{\cs{def} replaced by \cs{newcommand*}} +% \changes{v2.8n}{2001/09/08}{re-implemented} +% \changes{v2.8q}{2002/01/31}{missing \% added} +% \changes{v2.9o}{2003/04/22}{\cs{parfillskip} changed} +% \changes{v2.9q}{2004/04/26}{\cs{parfillskip} changed to \texttt{1em plus +% 1fil}} +% \changes{v2.9r}{2004/05/25}{\cs{parfillskip} changed to \texttt{\cs{z@} plus +% 1fil}} +% The enclosures are given as argument of \cs{encl}. They are printed hanging, +% if the output name of \var{enclseparator} is not empty. % \begin{macrocode} \newcommand*{\encl}[1]{\par% \ifdim\parskip=\z@% @@ -4935,48 +4661,48 @@ \setlength{\parfillskip}{\z@ \@plus 1fil}\par \endgroup } +%</body> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \subsection{Briefspezifische Feld-Variablen} +% \subsection{Letter specific variables} % -% \begin{KOMAvar}{signature} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{place} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{location} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{backaddress} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A +% \begin{variable}{place,location,specialmail,title,fromlogo} +% \changes{v2.8q}{2002/01/28}{added} +% \begin{variable}{fromzipcode,PPcode,PPdatamatrix} +% \changes{v3.03}{2009/03/04}{added} +% \begin{variable}{addresseeimage} +% \changes{v3.03}{2009/03/04}{added} +% \changes{v3.03b}{2009/06/30}{typofix} +% \begin{variable}{signature} +% \changes{v2.8q}{2002/01/16}{added} +% \begin{variable}{backaddress} +% \changes{v2.8q}{2002/01/16}{added} % \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A -% \begin{KOMAvar}{specialmail} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{title} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{fromlogo} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% \begin{KOMAvar}{fromzipcode} -% \changes{v3.03}{2009/03/04}{Neu}%^^A -% \begin{KOMAvar}{PPcode} -% \changes{v3.03}{2009/03/04}{Neu}%^^A -% \begin{KOMAvar}{PPdatamatrix} -% \changes{v3.03}{2009/03/04}{Neu}%^^A -% \begin{KOMAvar}{addresseeimage} -% \changes{v3.03}{2009/03/04}{Neu}%^^A -% \changes{v3.03b}{2009/06/30}{Schreibfehler korrigiert}%^^A -% Zunächst besitzt die Briefklasse einige Variablen, die von Haus aus nicht -% über einen Ausgabenamen verfügen, weil sie üblicherweise ohne Ausgabe einer -% Bezeichung verwendet werden. Diese Variablen haben teilweise auch keinen -% vordefinierten Inhalt. Der Inhalt muss erst vom Anwender gesetzt -% werden. Teilweise gibt es aber auch einen vordefinierten Inhalt, der von -% anderen Variablen abhängt. +% ersetzt} +% There are several variables without output name. For most of them the user +% has to define a value, if it should be used in the notepaper. Only +% \var{backaddress} and \var{signature} have a default, that depends on the +% values of other variables. Unfortunately these defaults are not expandable, +% because of the not expandable \cs{usekomavar}. +% \begin{description} +% \item[ToDo:] We should define a expandable \cs{usekomavar} alternative +% without optional star and optional argument. +% \end{description} % \begin{macrocode} -\newkomavar{signature} -\setkomavar{signature}{\usekomavar{fromname}} +%<*body> \newkomavar{place} \newkomavar{location} +\newkomavar{specialmail} +\newkomavar{title} +\newkomavar{fromlogo} +\newkomavar{fromzipcode} +\newkomavar{PPcode} +\newkomavar{PPdatamatrix} +\newkomavar{addresseeimage} +\newkomavar{signature} +\setkomavar{signature}{\usekomavar{fromname}} \newkomavar{backaddress} \setkomavar{backaddress}{% \Ifkomavarempty{fromname}{}{% @@ -4985,46 +4711,24 @@ \Ifkomavarempty{fromaddress}{}{% \strut\ignorespaces\usekomavar{fromaddress}}% } -\newkomavar{specialmail} -\newkomavar{title} -\newkomavar{fromlogo} -\newkomavar{fromzipcode} -\newkomavar{PPcode} -\newkomavar{PPdatamatrix} -\newkomavar{addresseeimage} -%</letter> %</body> % \end{macrocode} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% +% \end{variable}^^A backaddress +% \end{variable}^^A signature +% \end{variable}^^A addresseeimage +% \end{variable}^^A fromzipcode,PPcode,PPdatamatrix +% \end{variable}^^A place,location,specialmail,title,fromlogo +% % \begin{option}{symbolicnames} -% \changes{v3.12}{2013/05/13}{neue Option}%^^A -% \changes{v3.17}{2015/03/16}{interne Speicherung der Werte}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\if@scrsymbols} -% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A -% \begin{macro}{\@scrsymbolstrue} -% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A -% \begin{macro}{\@scrsymbolsfalse} -% \changes{v3.12}{2013/05/13}{neu (intern)}%^^A -% \changes{v3.27}{2019/03/21}{neue Werte}%^^A -% Über diese Option kann eingestellt werden, dass an Stelle von -% sprachabhängigen Bezeichnern für einige Variablen Symbole verwendet -% werden. Statt nur boolsche Werte, sind ab \KOMAScript~3.27 auch die Werte -% \texttt{marvosym} oder \texttt{fontawesome} möglich. \texttt{marvosym} -% entspricht dabei dem bisherigen \texttt{true}. -% \begin{macrocode} -%<*option&letter> +% \changes{v3.12}{2013/05/13}{added} +% \changes{v3.17}{2015/03/16}{using internal value storage} +% \changes{v3.27}{2019/03/21}{new values \opt{\quotechar=fontawesome} and +% \opt{\quotechar=marvosym} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{macro}{\@scrsymbolsfalse,\@scrsymbolstrue,\if@scrsymbols} +% For some of the variable the print name can be a symbol instead of a name. +% \begin{macrocode} +%<*option> \newif\if@scrsymbols \KOMA@key{symbolicnames}[true]{% \KOMA@set@ifkey{symbolicnames}{@scrsymbols}{#1}% @@ -5090,15 +4794,12 @@ \endgroup \else % \end{macrocode} -% \changes{v3.20}{2016/04/01}{Name der Klasse oder des Pakets ist für die -% Ladeverzögerung von \textsf{marvosym} egal}%^^A -% \changes{v3.20}{2016/04/01}{Ladeverzögerung für das Font-Paket -% nur, wenn erforderlich und möglich}%^^A -% In der Dokumentpräambel kann das Paket \textsf{marvosym} selbst geladen -% werden. Allerdings funktioniert das nicht, solange wir im Optionen-Abschnitt -% sind. Also muss es ggf. verzögert werden. Wie lange es zu verzögern ist, -% hängt davon ab, ob wir uns in einer Klasse, einem Paket oder sonst einer -% Datei mit Optionen-Abschnitt befinden. +% \changes{v3.20}{2016/04/01}{need only extension for kind of loading delay} +% \changes{v3.20}{2016/04/01}{loading delay only if needed and available} +% In the document preamble we can load \pkg{macrosym} or \pkg{fontawesome}, +% but not while the options not has been processed. So in this case we have to +% delay it using \cs{AtEndOfClass} resp. \cs{AtEndOfPackage}. With an unknown +% extension we use \cs{AtBeginDocument}. % \begin{macrocode} \ifx\@fileswith@pti@ns\@badrequireerror \Ifstr{\@currext}{\@clsextension}{% @@ -5123,25 +4824,24 @@ %<package> scrletter.\scr@pkgextension }{symbolicnames}{false}% % \end{macrocode} -% \selectlanguage{english} % \begin{macro}{\scr@symbols@font} -% \changes{v3.27}{2019/03/21}{new (internal)}%^^A +% \changes{v3.27}{2019/03/21}{added} % The name of the font packages used for the symbols if symbols instead of % names are activated. % \begin{macro}{\scr@symbol@phone} -% \changes{v3.27}{2019/03/21}{new (internal)}%^^A +% \changes{v3.27}{2019/03/21}{added} % The phone symbole. % \begin{macro}{\scr@symbol@fax} -% \changes{v3.27}{2019/03/21}{new (internal)}%^^A +% \changes{v3.27}{2019/03/21}{added} % The fax symbole. % \begin{macro}{\scr@symbol@email} -% \changes{v3.27}{2019/03/21}{new (internal)}%^^A +% \changes{v3.27}{2019/03/21}{added} % The e-mail symbol. % \begin{macro}{\scr@symbol@mobilephone} -% \changes{v3.27}{2019/03/21}{new (internal)}%^^A +% \changes{v3.27}{2019/03/21}{added} % The mobile-phone symbol. % \begin{macro}{\scr@symbol@www} -% \changes{v3.27}{2019/03/21}{new (internal)}%^^A +% \changes{v3.27}{2019/03/21}{added} % The world-wide-web symbol. % \begin{macrocode} \newcommand*{\scr@symbols@font}{} @@ -5150,57 +4850,31 @@ \newcommand*{\scr@symbol@email}{\undefined} \newcommand*{\scr@symbol@mobilephone}{\undefined} \newcommand*{\scr@symbol@www}{\undefined} -%</option&letter> +%</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \selectlanguage{ngerman} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} -% -% \begin{KOMAvar}{placeseparator} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{subjectseparator} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{ccseparator} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{enclseparator} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{backaddressseparator} -% \changes{v2.8q}{2002/01/22}{Neu}%^^A -% \begin{KOMAvar}{phoneseparator} -% \changes{v2.8q}{2002/03/25}{Neu}%^^A -% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A -% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A -% \begin{KOMAvar}{faxseparator} -% \changes{v2.8q}{2002/03/25}{Neu}%^^A -% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A -% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A -% \begin{KOMAvar}{emailseparator} -% \changes{v2.8q}{2002/03/25}{Neu}%^^A -% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A -% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A -% \begin{KOMAvar}{urlseparator} -% \changes{v2.8q}{2002/03/25}{Neu}%^^A -% \changes{v3.12}{2013/05/29}{Option \texttt{symbolicnames} wird beachtet}%^^A -% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A -% \begin{KOMAvar}{mobilephoneseparator} -% \changes{v3.12}{2013/05/29}{Neu}%^^A -% \changes{v3.27}{2019/03/21}{Symbole sind indirekt gespeichert}%^^A -% \begin{KOMAvar}{zipcodeseparator} -% \changes{v3.03}{2009/03/04}{Neu}%^^A -% Daneben gibt es einige Trennzeichen. Diese haben ggf. als Ausgabenamen das -% Feld, für das sie als Trennzeichen dienen. Die Trennzeichen sind -% vordefiniert. +% \end{macro}^^A \scr@symbol@www +% \end{macro}^^A \scr@symbol@mobilephone +% \end{macro}^^A \scr@symbol@email +% \end{macro}^^A \scr@symbol@fax +% \end{macro}^^A \scr@symbol@phone +% \end{macro}^^A \scr@symbols@font +% \end{macro}^^A \if@scrsymbols +% \end{option}^^A symbolicnames +% +% \begin{variable}{placeseparator,subjectseparator,ccseparator,enclseparator, +% backaddressseparator} +% \changes{v2.8q}{2002/01/22}{added} +% \begin{variable}{phoneseparator,faxseparator,emailseparator,urlseparator, +% mobilephoneseparator} +% \changes{v2.8q}{2002/03/25}{added} +% \changes{v3.12}{2013/05/29}{support for option \opt{symbolicnames}} +% \changes{v3.27}{2019/03/21}{indirect saving of symbols} +% \begin{variable}{zipcodeseparator} +% \changes{v3.03}{2009/03/04}{added} +% We also have variables with (predefined) output names and predefined +% values. These are the separator variables. % \begin{macrocode} %<*body> -%<*letter> \newkomavar[\usekomavar{place}]{placeseparator} \setkomavar{placeseparator}{,\nobreakspace} \newkomavar[\subjectname]{subjectseparator} @@ -5226,26 +4900,17 @@ \newkomavar{zipcodeseparator} \setkomavar{zipcodeseparator}{\,--\,} % \end{macrocode} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% -% \selectlanguage{english}%^^A -% \begin{KOMAvar}{addressee} -% \changes{v3.27}{2019/03/24}{new variable}%^^A +% \end{variable}^^A zipcodeseparator +% \end{variable}^^A phoneseparator … mobilephoneseparator +% \end{variable}^^A placeseparator … backaddressseparator +% +% \begin{variable}{addressee} +% \changes{v3.27}{2019/03/24}{new variable} % The package needs a variable for the addressee (used for the address field). -% \begin{KOMAvar}{togivenname} -% \changes{v3.27}{2019/03/24}{new variable}%^^A -% \begin{KOMAvar}{tofamilyname} -% \changes{v3.27}{2019/03/24}{new variable}%^^A +% \begin{variable}{togivenname} +% \changes{v3.27}{2019/03/24}{new variable} +% \begin{variable}{tofamilyname} +% \changes{v3.27}{2019/03/24}{new variable} % The package allows to build \texttt{toname} by \texttt{togivenname} and % \texttt{tofamilyname}. % \begin{macrocode} @@ -5255,62 +4920,30 @@ \newkomavar{tofamilyname} %</package&willbe> % \end{macrocode} -% \end{KOMAvar}%^^A tofamilyname -% \end{KOMAvar}%^^A togivenname -% \end{KOMAvar}%^^A addressee -% \selectlanguage{ngerman}%^^A -% -% \begin{KOMAvar}{fromname} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{fromaddress} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{fromemail} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% \begin{KOMAvar}{fromurl} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% \begin{KOMAvar}{frombank} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% \begin{KOMAvar}{toname} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{toaddress} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{fromphone} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{frommobilephone} -% \changes{v3.12}{2013/05/29}{Neu}%^^A -% \begin{KOMAvar}{fromfax} -% \changes{v2.8q}{2002/01/28}{Neu}%^^A -% \begin{KOMAvar}{yourmail} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{yourref} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{myref} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{customer} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{invoice} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{subject} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{KOMAvar}{date} -% \changes{v2.8q}{2002/01/16}{Neu}%^^A -% \begin{macro}{\date} -% \changes{v3.17}{2015/03/05}{das Makro gibt eine Warnung aus}%^^A +% \end{variable}^^A tofamilyname +% \end{variable}^^A togivenname +% \end{variable}^^A addressee +% +% \begin{variable}{fromname,fromaddress,fromemail,fromurl,frombank, +% toname,toaddress, +% fromphone,fromfax, +% yourmail,yourref, +% myref,customer,invoice,subject,date} +% \changes{v2.8q}{2002/01/16}{added} +% \begin{variable}{frommobilephone} +% \changes{v3.12}{2013/05/29}{added} +% \begin{command}{\date} +% \changes{v3.17}{2015/03/05}{deprecated} % \begin{macro}{\scr@saved@date} -% \changes{v3.17}{2015/03/05}{Neu (intern)}%^^A -% Desweiteren gibt es einige Variable, die auch einen Ausgabenamen haben, weil -% dieser üblicherweise vorangestellt wird. Eine Besonderheit stellt dabei -% \texttt{subject} dar. Der Ausgabename beinhaltet dabei nämlich auch die -% Trennzeichen, die hinter dem Namen üblicherweise stehen. Diese sind wiederum -% ein Variable, deren Name der Ausgabename des Feldes ist. Will man also nur -% den Namen aber nicht die Trennzeichen ändern, so ändert man statt dem Namen -% von \texttt{subject} den Namen von \texttt{subjectseparator}. -% -% Ähnlich ist es mit \texttt{toaddress} und \texttt{fromaddress}. Dort ist der -% Wert von \texttt{toname} bzw. \texttt{fromname} der Ausgabename. Bei -% \texttt{toaddress} und \texttt{fromaddress} wird davon jedoch intern kein -% Gebrauch gemacht. Die Variable \texttt{date} wird bereits so vordefiniert, -% dass auch weiterhin \cs{date} funktioniert. +% \changes{v3.17}{2015/03/05}{added} +% Several variables with output name but without default value. Somehow +% special is \var{subject}, because the output name also contains the +% separator. To change the name only but not the separator change the output +% name of \var{subjectseparator}. \var{toaddress} and \var{fromaddress} are +% also special. Their output names are the values of \var{toname} +% resp. \var{fromname}. But this is not used initially. The initial value of +% \var{date} is \cs{@date}. So \cs{date} can still be used to change it, but +% this is not recommended. % \begin{macrocode} \newkomavar[\headfromname]{fromname} \newkomavar[\usekomavar{fromname}]{fromaddress} @@ -5352,41 +4985,28 @@ }% \scr@saved@date{#1}% } +%</body> % \end{macrocode} -% \end{macro}%^^A \scr@saved@date -% \end{macro}%^^A \date -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% \end{KOMAvar} -% -% \iffalse +% \end{macro}^^A \scr@saved@date +% \end{command}^^A \date +% \end{variable}^^A frommobilephone +% \end{variable}^^A fromname … date +% +% +% \begin{macrocode} %</letter> -% \fi +% \end{macrocode} % -% \iffalse -%</body> -% \fi % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-notepaper.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-pagestyles.dtx b/macros/latex/contrib/koma-script/source/scrkernel-pagestyles.dtx index 0c084715cb..63d02d9763 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-pagestyles.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-pagestyles.dtx @@ -1,8 +1,7 @@ -% \CheckSum{683} % \iffalse meta-comment % ====================================================================== % scrkernel-pagestyles.dtx -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-pagestyles.dtx -% Copyright (c) Markus Kohm, 2002-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-pagestyles.dtx 3393 2019-11-19 10:33:44Z kohm $ +%%% From File: $Id: scrkernel-pagestyles.dtx 3744 2022-03-05 16:30:02Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-11-19 11:33:44 +0100 (Tue, 19 Nov 2019) $ + \filedate$Date: 2022-03-05 17:30:02 +0100 (Sa, 05. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3393 $ + \filerevision$Revision: 3744 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-pagestyles.dtx}% @@ -74,456 +36,167 @@ (page styles)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-pagestyles.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{3} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-pagestyles.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2002/06/25}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/03/05}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/03/05}{whole implementation documentation in English} % -% \changes{v2.95}{2002/06/25}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \GetFileInfo{scrkernel-pagestyles.dtx} +% \title{The Code of the Default Page Styles of the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-pagestyles.dtx} provides the default page styles of the +% \KOMAScript{} classes. As already told decades ago, there are plans to +% remove this code and to require the \KOMAScript{} page style +% package---namely \pkg*{scrlayer-scrpage}---instead. +% \end{abstract} +% \tableofcontents % -% \section{Seitenstil} +% \section{User Manual} % -% Neben den Definitionen zum Seitenstil in dieser Datei gibt es auch -% noch das Paket \textsf{scrpage2} (siehe \texttt{scrpage.dtx}). -% Es\marginline{Geplant!} ist deshalb davon auszugehen, dass zukünftig die -% Definitionen hier komplett durch \textsf{scrpage2} ersetzt werden und -% \textsf{scrpage2} von den \KOMAScript-Klassen direkt geladen wird. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % -% \subsection{Optionen für die Trennlinien in Kopf und Fuß} +% \section{Implementation of the Page Styles of the \KOMAScript{} Classes} % -% \iffalse -%<*option> -% \fi -% -% \iffalse +% \begin{macrocode} %<*class> -% \fi +% \end{macrocode} +% +% \subsection{Options for the separation lines in page head and footer} % % \begin{option}{headsepline} -% \changes{v2.95c}{2006/08/11}{BugFix: Argument bei -% \cs{PassOptionsToPackage} vertauscht}%^^A -% \changes{v2.97c}{2007/04/19}{Option \texttt{headinclude} wird nicht -% mehr an \textsf{typearea} geschickt}%^^A -% \changes{v2.98c}{2008/03/26}{Option \texttt{headinclude} wird gesetzt, -% wobei kein Fehler ausgegeben wird, wenn sie nicht existiert.}%^^A -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.12}{2013/03/05}{wenn \textsf{typearea} noch gar nicht geladen -% ist, Option an dieses Paket schicken}%^^A -% \changes{v3.17}{2015/03/10}{Wert wird gespeichert}%^^A -% \changes{v3.18a}{2015/07/08}{BugFix: Argument bei -% \cs{PassOptionsToPackage} erneut vertauscht}%^^A -% \changes{v3.20}{2015/12/12}{Optionenweiterleitung an \textsf{typearea} -% entfernt}%^^A -% \begin{option}{headnosepline} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Der Kopfteil kann mit einer Linie vom Textbereich getrennt werden. -% \begin{macro}{\if@hsl} -% \begin{macro}{\@hsltrue} -% \begin{macro}{\@hslfalse} -% Die Entscheidung wird in einem Schalter gespeichert. +% \changes{v2.95c}{2006/08/11}{arguments of \cs{PassOptonsToPackage} fixed} +% \changes{v2.97c}{2007/04/19}{don't pass \opt{headinclude} to \pkg*{typearea}} +% \changes{v2.98c}{2008/03/26}{set \opt{headinclude}} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.12}{2013/03/05}{if \pkg*{typearea} has not been loaded, pass +% option to the package} +% \changes{v3.17}{2015/03/10}{using value storage} +% \changes{v3.18a}{2015/07/08}{arguments of \cs{PassOptionsToPackage} fixed +% again} +% \changes{v3.20}{2015/12/12}{don't pass option to \pkg*{typearea}} +% \begin{macro}{\@hslfalse,\@hsltrue,\if@hsl} +% Optional separation line between page head and text area---in other words: +% below the page head. % \begin{macrocode} +%<*option> \KOMA@ifkey{headsepline}{@hsl}% \KOMA@kav@add{.\KOMAClassFileName}{headsepline}{false} +% \end{macrocode} +% \begin{option}{headnosepline} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by +% \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} \KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} -% \end{option} +% \end{option}^^A headnosepline +% \end{macro}^^A \if@hsl +% \end{option}^^A headsepline % % % \begin{option}{footsepline} -% \changes{v2.0e}{1994/08/14}{bei \cs{PassOptionsToPackage} fehlte -% die Paket-Angabe}%^^A -% \changes{v2.95c}{2006/08/11}{BugFix: Argument bei -% \cs{PassOptionsToPackage} vertauscht}%^^A -% \changes{v2.97c}{2007/04/19}{Option \texttt{footinclude} wird nicht -% mehr an \textsf{typearea} geschickt}%^^A -% \changes{v2.98c}{2008/03/26}{Option \texttt{footinclude} wird gesetzt, -% wobei kein Fehler ausgegeben wird, wenn sie nicht existiert.}%^^A -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.12}{2013/03/05}{wenn \textsf{typearea} noch gar nicht geladen -% ist, Option an dieses Paket schicken}%^^A -% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch -% \cs{KOMAoptions} ersetzt}%^^A -% \changes{v3.12}{2013/08/26}{ggf. Satzspiegel neu berechnen}%^^A -% \changes{v3.13}{2014/07/07}{Satzspiegel wird nicht neu berechnet}%^^A -% \changes{v3.13}{2014/07/07}{\texttt{headinclude}-Fehler beseitigt}%^^A -% \changes{v3.17}{2015/03/10}{Wert wird gespeichert}%^^A -% \changes{v3.18a}{2015/07/08}{BugFix: Argument bei -% \cs{PassOptionsToPackage} erneut vertauscht}%^^A -% \changes{v3.20}{2015/12/12}{Optionenweiterleitung an \textsf{typearea} -% entfernt}%^^A -% \begin{option}{footnosepline} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Der Fußteil kann mit einer Linie vom Textbereich getrennt werden. -% \begin{macro}{\if@fsl} -% \begin{macro}{\@fsltrue} -% \begin{macro}{\@fslfalse} -% Die Entscheidung wird in einem Schalter gespeichert. +% \changes{v2.0e}{1994/08/14}{missing package at \cs{PassOptionsToPackage} +% added} +% \changes{v2.95c}{2006/08/11}{arguments of \cs{PassOptionsToPackage} fixed} +% \changes{v2.97c}{2007/04/19}{don't pass \opt{footinclude} to +% \pkg*{typearea}} +% \changes{v2.98c}{2008/03/26}{set \opt{footinclude}} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.12}{2013/03/05}{if \textsf{typearea} has not been loaded, pass +% option to package} +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} replaced by \cs{KOMAoptions}} +% \changes{v3.12}{2013/08/26}{recalculation of typing area} +% \changes{v3.13}{2014/07/07}{no recalculation of typing area} +% \changes{v3.13}{2014/07/07}{\opt{headinclude} mistake fixed} +% \changes{v3.17}{2015/03/10}{using value storage} +% \changes{v3.18a}{2015/07/08}{arguments of \cs{PassOptionsToPackage} fixed +% again} +% \changes{v3.20}{2015/12/12}{don't pass option to \pkg*{typearea}} +% \begin{macro}{\@fslfalse,\@fsltrue,\if@fsl} +% Optional separation line between text area and page footer---in other words: +% above the page footer. % \begin{macrocode} \KOMA@ifkey{footsepline}{@fsl}% \KOMA@kav@add{.\KOMAClassFileName}{footsepline}{false} -\KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} -% \end{option} -% -% In früheren Versionen wurde noch die Option \texttt{mpinclude} von -% den Klassen ausgewertet. Dies geschieht jetzt nur noch in -% \textsf{typearea}. Von den Klassen wird dann ggf. auf den dort -% definierten Schalter zugegriffen. Dieses Vorgehen ist deshalb -% sinnvoll, weil die Klassen ausnahmslos das \textsf{typearea}-Paket -% laden. -% -% -% \subsection{Optionen und Anweisungen für leere Seiten} -% -% \iffalse -%</class> -%<*class|extend> -% \fi -% -% \begin{option}{cleardoublepage} -% \changes{v2.95}{2004/08/24}{neuer Schalter}%^^A -% \changes{v2.96a}{2007/01/03}{Wert \texttt{current} sollte nun -% funktionieren}%^^A -% \changes{v2.98c}{2008/03/06}{verwendet \cs{def} statt \cs{let}, damit die -% Option \texttt{open} funktioniert}%^^A -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyStateProcessed}}%^^A -% \changes{v3.17}{2015/03/10}{Wert wird gespeichert}%^^A -% \begin{option}{cleardoubleempty} -% \changes{v2.8a}{2001/06/18}{neue Option}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{cleardoubleplain} -% \changes{v2.8a}{2001/06/18}{neue Option}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{cleardoublestandard} -% \changes{v2.8a}{2001/06/18}{neue Option}%^^A -% \changes{v2.8q}{2001/11/06}{\cs{cleardoublestandardpage} statt -% \cs{cleardoublestandard}} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt} -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{macro}{\cleardoublestandardpage} -% \changes{v2.8a}{2001/06/18}{neu}%^^A -% \changes{v2.96a}{2007/01/02}{korrekter Ersatzwert gesetzt}%^^A -% \begin{macro}{\cleardoubleusingstyle} -% \changes{v2.95}{2004/08/24}{neu}%^^A -% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} durch \cs{pagestyle} -% ersetzt} -% \begin{macro}{\cleardoubleemptypage} -% \changes{v2.8a}{2001/06/18}{neu}%^^A -% \begin{macro}{\cleardoubleplainpage} -% \changes{v2.8a}{2001/06/18}{neu}%^^A -% \begin{macro}{\cleardoubleoddpage} -% \changes{v3.00}{2008/09/27}{neu}%^^A -% \begin{macro}{\cleardoubleoddstandardpage} -% \changes{v2.98c}{2008/03/06}{neu}%^^A -% \begin{macro}{\cleardoubleoddusingstyle} -% \changes{v2.98c}{2008/03/06}{neu}%^^A -% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} durch \cs{pagestyle} -% ersetzt} -% \begin{macro}{\cleardoubleoddemptypage} -% \changes{v2.98c}{2008/03/06}{neu}%^^A -% \begin{macro}{\cleardoubleoddplainpage} -% \changes{v2.98c}{2001/06/18}{neu}%^^A -% \begin{macro}{\cleardoubleevenpage} -% \changes{v3.00}{2008/09/27}{neu}%^^A -% \begin{macro}{\cleardoubleevenstandardpage} -% \changes{v2.98c}{2008/03/06}{neu}%^^A -% \begin{macro}{\cleardoubleevenusingstyle} -% \changes{v2.98c}{2008/03/06}{neu}%^^A -% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} durch \cs{pagestyle} -% ersetzt} -% \begin{macro}{\cleardoubleevenemptypage} -% \changes{v2.98c}{2008/03/06}{neu}%^^A -% \begin{macro}{\cleardoubleevenplainpage} -% \changes{v2.98c}{2001/06/18}{neu}%^^A -% \begin{macro}{\cleardoublepage} -% \changes{v2.98c}{2001/06/18}{wird immer neu definiert}%^^A -% \changes{v2.98c}{2008/04/11}{neue Voreinstellung für Versionen nach -% 2.98c}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnotundefined} umbenannt in -% \cs{Ifnotundefined}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Bei Verwendung von \texttt{twoside} und \texttt{openright} bei den -% Klassen \textsf{scrbook} und \textsf{scrreprt} wird bei \cs{chapter} -% implizit \cs{cleardoublepage} ausgeführt. Das führt ggf. -% normalerweise zu einer linken Seite, auf der noch der Kolumnentitel -% des vorherigen Kapitels und eine Seitenzahl steht. Häufig wird -% stattdessen nur eine Seitenzahl oder auch gar nichts gewünscht. Es -% soll also der Seitenstil \texttt{plain} oder \texttt{empty} -% verwendet werden. Dies wird mit den Optionen ermöglicht. Dazu -% werden auch gleich neue Makros definiert: -% \begin{macrocode} -\KOMA@key{cleardoublepage}{% - \begingroup% - \def\@tempc{% - \endgroup% - \KOMA@unknown@keyval{cleardoublepage}{#1}{% - 'current' or any defined pagestyle e.g. 'empty','plain', 'headings'}% - }% - \Ifstr{#1}{current}{% - \def\@tempc{\endgroup% - \def\cleardoublepage{\cleardoublestandardpage}% - \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% - \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% - \FamilyKeyStateProcessed - \KOMA@kav@replacevalue{.% -%<package&extend> scrextend.\scr@pkgextension -%<class> \KOMAClassFileName - }{cleardoublepage}{current}% - }% - }{% - \Ifnotundefined{ps@#1}{% - \def\@tempc{\endgroup% - \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% - \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% - \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% - \FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.% -%<package&extend> scrextend.\scr@pkgextension -%<class> \KOMAClassFileName - }{cleardoublepage}{#1}% - }% - }{% % \end{macrocode} -% \changes{v3.13}{2014/03/01}{allow page style headings as value for class -% option}%^^A -% At class loading time page style \texttt{headings} is still undefined, but -% should be allowed as value for option \texttt{cleardoublepage}. -% \begin{macrocode} -%<*class> - \ifx\@currname\KOMAClassName - \ifx\@currext\@clsextension - \Ifstr{#1}{headings}{% - \def\@tempc{\endgroup% - \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% - \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% - \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% - \FamilyKeyStateProcessed - \KOMA@kav@xreplacevalue{.\KOMAClassFileName}% - {cleardoublepage}{#1}% - }% - }{}% - \fi - \fi -%</class> - }% - }% - \@tempc -} -\newcommand*{\cleardoubleoddstandardpage}{} -\let\cleardoubleoddstandardpage=\cleardoublepage -\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage - {\pagestyle{#1}\cleardoubleoddstandardpage}} -\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} -\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} -\newcommand*{\cleardoubleevenstandardpage}{% - \clearpage - \if@twoside\ifodd\c@page - \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi - \fi\fi -} -\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage - {\pagestyle{#1}\cleardoubleevenstandardpage}} -\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} -\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} -\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} -\renewcommand*{\cleardoublepage}{% - \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax - \cleardoubleemptypage - \else - \cleardoublestandardpage - \fi -} -\KOMA@kav@add{.% -%<package&extend> scrextend.\scr@pkgextension -%<class> \KOMAClassFileName -}{cleardoublepage}{% - \expandafter\ifnum \scr@v@is@gt{2.98c}empty\else current\fi -} -% \end{macrocode} -% Es ist zwar nicht unbedingt notwendig aber eventuell schöner, wenn der zuvor -% hinzugefügte, bedingte Wert am Ende noch expandiert wird. Der Umstand ist -% notwendig, weil während der Definition der Optionen die Kompatibilität noch -% nicht bekannt ist. Diese ergibt sich erst während \cs{KOMAProcessOptions}. +% \begin{option}{footnosepline} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by +% \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} -%<package&extend>\AtEndOfPackage{% -%<class>\AtEndOfClass{% - \KOMAoptionOf[\expandafter\edef\expandafter\@tempa\@firstofone]% - {% -%<package&extend> scrextend.\scr@pkgextension -%<class> \KOMAClassFileName - }{cleardoublepage}% - \KOMA@kav@removekey{.% -%<package&extend> scrextend.\scr@pkgextension -%<class> \KOMAClassFileName - }{cleardoublepage}% - \KOMA@kav@xadd{.% -%<package&extend> scrextend.\scr@pkgextension -%<class> \KOMAClassFileName - }{cleardoublepage}{\@tempa}% -} -\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} -\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} -\newcommand*{\cleardoublepageusingstyle}[1]{\clearpage - {\pagestyle{#1}\cleardoublestandardpage}} -\newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} -\newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} -%<*class> -\KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} -\KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} -\KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} -%</class> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% -% -% \iffalse -%</class|extend> +\KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false} %</option> -%<*body> -%<*class> -% \fi -% -% -% \subsection{Befehle für den Kompatibilitätsmodus} -% -% \begin{macro}{\headincludeon} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\headincludeoff} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\headseplineon} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\headseplineoff} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\footincludeon} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\footincludeoff} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\footseplineon} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% \begin{macro}{\footseplineoff} -% \changes{v2.95}{2004/07/21}{ersatzlos gestrichen}%^^A -% Da die \KOMAScript-Klassen ohnehin nicht mehr auf Kompatibilität zu -% \textsf{Script~2.0} überprüft werden, wurde der Kompatibilitätsmodus -% ersatzlos gestrichen. Dazu gehören nach über zehn Jahren nun auch diese -% Anweisungen. Ehemals waren sie wie folgt definiert: -% \begin{verbatim} -% \if@compatibility -% \newcommand*\headincludeon{\@hincltrue} -% \newcommand*\headincludeoff{\@hinclfalse} -% \newcommand*\headseplineon{\@hsltrue \@hincltrue} -% \newcommand*\headseplineoff{\@hslfalse \@hinclfalse} -% \newcommand*\footincludeon{\@fincltrue} -% \newcommand*\footincludeoff{\@finclfalse} -% \newcommand*\footseplineon{\@fsltrue \@fincltrue} -% \newcommand*\footseplineoff{\@fslfalse \@finclfalse} -% \fi -% \end{verbatim} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% -% \subsection{Definition der Standardseitenstile} -% -% \changes{v2.0e}{1994/08/10}{bei \textsf{scrbook} gibt es kein -% einseitiges Layout} -% \changes{v2.3a}{1995/07/08}{da bei \textsf{book} seit Version 1.2v -% die Option oneside wieder ein einseitiges Layout erzeugt, dieses -% wieder eingebaut} -% -% \begin{macro}{\ps@plain} -% \begin{macro}{\ps@myheadings} -% \begin{macro}{\ps@headings} -% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} umbenannt in -% \cs{Ifnumbered}}%^^A -% Es wird das Aussehen der Kopf- und Fußzeilen für die -% Standardseitenstile \texttt{empty}, \texttt{plain}, -% \texttt{headings} und \texttt{myheadings} festgelegt. Diese sind -% außerdem abhängig davon, ob es sich um einseitiges oder beidseitiges -% Layout handelt. -% -% Im Gegensatz zu den Seitenstilen der Standardklassen steht die -% Seitennummer beim \KOMAScript{} Paket immer in der Fußzeile. -% Außerdem sind Trennlinien zwischen Kopf- und Textbereich sowie -% zwischen Text- und Fußbereich möglich. -% -% Die Kopfzeile wird auch nicht mehr in Großbuchstaben gewandelt. -% -% \changes{v2.2a}{1995/02/07}{bei \textsf{scrbook} und -% \textsf{scrreprt} Punkt hinter der section-Nummer entfernt} -% \changes{v2.2c}{1995/05/25}{Punkt hinter der Kapitelnummer in der -% Kopfzeile entfernt}%^^A -% \changes{v2.2c}{1995/05/25}{Nummern in der Kopfzeile auf CJK -% umgestellt}%^^A -% \changes{v2.4f}{1996/10/08}{\cs{strut} in der Kopfzeile -% eingefügt} +% \end{macrocode} +% \end{option}^^A footnosepline +% \end{macro}^^A \if@fsl +% \end{option}^^A footsepline +% +% \begin{option}{mpinclude} +% \changes{v2.95}{2002/07/08}{moved to \pkg*{typearea}} +% \end{option}{mpinclude} +% +% +% \subsection{Definition of the standard page styles} +% +% +% \begin{pgstyle}{plain,myheadings,headings} +% \changes{v2.0e}{1994/08/10}{\cls*{scrbook} does not provide single-side page +% styles} +% \changes{v2.0e}{1994/08/17}{in single-side mode \cs{markboth} replaced by +% \cs{markright}} +% \changes{v2.1b}{1994/12/31}{in single-side mode \cs{markboth} replaced by +% \cs{markright}} +% \changes{v2.2a}{1995/02/07}{dot after section number in \cls*{scrbook} and +% \cls*{scrreprt} removed} +% \changes{v2.2a}{1995/02/07}{using \cs{subsectionmark} in single-side mode +% with \cls*{scrartcl}} +% \changes{v2.2a}{1995/02/07}{using \cs{sectionmark} in single-side mode with +% \cls*{scrreprt}} +% \changes{v2.2c}{1995/05/25}{dot after chapter number removed} +% \changes{v2.2c}{1995/05/25}{numbers in running heads support CJK format +% extension} +% \changes{v2.3a}{1995/07/08}{because \cls{book} from version 1.2v provides +% option \opt{oneside} single-side page styles added to \cls*{scrbook}} +% \changes{v2.4f}{1996/10/08}{\cs{strut} added to page head} +% \changes{v2.97c}{2007/07/18}{distinguish \opt{twoside} as late as possible} +% \changes{v3.08}{2010/10/28}{\cs{noindent} added before usage of variable +% \var{nexthead} or \var{nextfoot}} +% \changes{v3.10}{2011/08/31}{using \cs{MakeMarkcase}} +% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to \cs{Ifnumbered}} +% In difference to the standard classes, the \KOMAScript{} classes use +% pagination in the page footer for all page styles. Also an optional +% separation line below the page head and above the page footer is +% supported. The ugly usage of pool man's upper case for the running head of +% the standard classes is also not used, but optional. % \begin{macro}{\set@tempdima@hw} -% \changes{v2.8q}{2002/03/28}{neu (intern)}%^^A -% Um nicht ständig das Gleiche schreiben zu müssen wird hier ein -% internes Makro verwendet. +% \changes{v2.8q}{2002/03/28}{added} +% Because with \pkg*{typearea} option \opt{mpinclude} the head should be +% extended to the margin note column, \cs{set@tempdima@hw} sets +% \len{@tempdima} to the corresponding head width. +% \begin{description} +% \item[Note:] Package \pkg*{scrlayer} does not use this code, but allows +% to configure the width of head and foot independent, which is much +% better. +% \end{description} % \begin{macrocode} +%<*body> \newcommand*{\set@tempdima@hw}{% \setlength{\@tempdima}{\textwidth}% \if@mincl @@ -532,47 +205,34 @@ \fi } % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\pnumfont} -% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt} -% \begin{macro}{\headfont} -% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt} +% \end{macro}^^A \set@tempdima@hw +% \begin{fontelement}{pagenumber} +% \changes{v2.8o}{2001/09/14}{added} +% \begin{fontelement}{pagination} +% \changes{v2.8o}{2001/09/14}{alias added} +% \begin{fontelement}{pageheadfoot} +% \changes{v2.98c}{2008/02/14}{added} +% \begin{fontelement}{pagehead} +% \changes{v2.8o}{2001/09/14}{added with warning added} +% \changes{v2.98c}{2008/02/14}{changed to alias} +% \changes{v2.97c}{2007/09/25}{warning changed} +% \changes{v2.98c}{2008/02/14}{warning changed} +% \begin{fontelement}{pagefoot} +% \changes{v2.8o}{2001/09/14}{alias with warning added} +% \changes{v2.98c}{2008/02/14}{changed to element} +% \changes{v3.13}{2014/01/13}{warning changed} +% \begin{macro}{\pnumfont,\headfont} +% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} added} % \begin{macro}{\footfont} -% \changes{v2.98c}{2008/02/14}{Neu}%^^A -% Kopf- und Fußzeile sowie die Seitennummer werden in einer speziellen -% Schriftart gesetzt. Die drei Makros hier sind jedoch als interne -% Makros zu betrachten. +% \changes{v2.98c}{2008/02/14}{added} +% All these font settings are deprecated as user commands, but still valid as +% internal macros, used to define font elements. Because of using the old +% macros, we have to define elements manually instead of using \cs{newkomafont}. % \begin{macrocode} \newcommand*{\pnumfont}{\normalfont\normalcolor} \newcommand*{\headfont}{\normalfont\normalcolor\slshape} \newcommand*{\footfont}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{KOMAfont}{pagenumber} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{pagenumber}} -% \begin{KOMAfont}{pagination} -% \changes{v2.8o}{2001/09/14}{neues Alias-Element}%^^A -% \begin{KOMAfont}{pageheadfoot} -% \changes{v2.98c}{2008/02/14}{neues Element}%^^A -% \begin{KOMAfont}{pagehead} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{pagehead}} -% \changes{v2.98c}{2008/02/14}{neuer Alias}%^^A -% \begin{macro}{\scr@fnt@wrn@pagehead} -% \changes{v2.8o}{2001/09/14}{neue Warnung für Element \texttt{pagehead}} -% \changes{v2.97c}{2007/09/25}{Warnung geändert}%^^A -% \changes{v2.98c}{2008/02/14}{Warnung geändert}%^^A -% \begin{KOMAfont}{pagefoot} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{pagefoot}} -% \changes{v2.98c}{2008/02/14}{nicht länger ein Alias}%^^A -% \begin{macro}{\scr@fnt@wrn@pagefoot} -% \changes{v2.98c}{2008/02/14}{Neu (intern)}%^^A -% \changes{v3.13}{2014/01/13}{es wird \textsf{scrlayer-scrpage} an Stelle -% von \textsf{scrpage2} empfohlen}%^^A -% Hier werden die Elemente definiert, deren Schriftart dann geändert -% werden kann. % \begin{macrocode} \newcommand*{\scr@fnt@pagenumber}{\pnumfont} \aliaskomafont{pagination}{pagenumber} @@ -594,27 +254,31 @@ } %</!letter> % \end{macrocode} -% \end{macro} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{KOMAfont} -% \end{KOMAfont} -% -% -% \begin{macro}{\pagemark} -% \changes{v2.95}{2006/03/15}{nun für alle Klassen}%^^A -% \changes{v3.05}{2010/02/05}{eine zusätzliche Gruppe eingefügt}%^^A -% Das ist die Seitenmarke, die nun für alle Klassen verwendet wird. Damit -% wird es leichter, \textsf{fancyhdr} statt \textsf{scrpage2} zu verwenden. -% \begin{macro}{\letterpagemark} -% \changes{v3.17}{2015/03/20}{Neu (nur Paket \textsl{scrletter})}%^^A -% Für das Paket wird eine abweichende Definition verwendet, die innerhalb von -% \cs{begin{letter}} aktiviert wird. +% \end{macro}^^A \footfont +% \end{macro}^^A \pnumfont,\headfont +% \end{fontelement}^^A pagefoot +% \end{fontelement}^^A pagehead +% \end{fontelement}^^A pageheadfoot +% \end{fontelement}^^A pagination +% \end{fontelement}^^A pagenumber +% +% \begin{command}{\pagemark} +% \changes{v2.95}{2006/03/15}{available for all classes} +% \changes{v3.05}{2010/02/05}{group added} +% \begin{command}{\letterpagemark} +% \changes{v3.17}{2015/03/20}{added for \pkg*{scrletter}} +% The pagination used by all classes. Originally this has been defined to +% simplify usage of \pkg{fancyhdr} (instead of +% \pkg[https://www.ctan.org/pkg/koma-script-obsolete]{scrpage2}), because in +% this case you just have to use \cs{pagemark} instead of \cs{thepage} in the +% definitions of the fancy page style to support \KOMAScript. But neither the +% author nor the users of \pkg{fancyhdr} have used it. However, now it is +% useful for \pkg{scrlayer-scrpage} too. And because we use another pagination +% for letters, we define a second command for \pkg*{scrletter}. % \begin{macrocode} +%</body> %</class> -%<*class|letter> +%<*(class|letter)&body> \newcommand*{% %<class> \pagemark %<package> \letterpagemark @@ -622,31 +286,14 @@ {\usekomafont{pagenumber}{% %<letter> \pagename\nobreakspace \thepage}}} -%</class|letter> -%<*class> +%</(class|letter)&body> % \end{macrocode} -% \end{macro}%^^A \letterpagemark -% \end{macro}%^^A \pagemark -% -% Zurück zur Definition der Seitenstile. Hier gibt es erhebliche -% Unterschiede zwischen der Briefklasse und den anderen Klassen. Das beginnt -% schon damit, dass es spezielle Stile für doppelseitige Briefe nicht gibt. -% \changes{v2.1b}{1994/12/31}{im einseitigen Seitenstil \cs{markboth} durch -% \cs{markright} ersetzt}% -% \changes{v2.2a}{1995/02/07}{im einseitigen Seitenstil bei -% \textsf{scrartcl} und \texttt{oneside} \cs{subsectionmark} eingefügt}% -% \changes{v2.2a}{1995/02/07}{im einseitigen Seitenstil bei -% \textsf{scrreprt} und \texttt{oneside} \cs{sectionmark} eingefügt}% -% \changes{v2.0e}{1994/08/17}{im einseitigen Seitenstil \cs{markboth} durch -% \cs{markright} ersetzt}% -% \changes{v2.97c}{2007/07/18}{Unterscheidung auf \texttt{twoside} so spät -% wie möglich}% -% \changes{v3.10}{2011/08/31}{\cs{MakeMarkcase} wird beachtet}% -% Hinweis: Die \emph{even}-Varianten werden im einseitigen Satz vom -% \LaTeX-Kern selbst nicht verwendet. Es schadet also nicht, sie trotzdem -% identisch zum doppelseitigen Satz zu definieren. +% \end{command}^^A \letterpagemark +% \end{command}^^A \pagemark +% First of all we have to define the page styles of all classes but the letter +% class. % \begin{macrocode} -%<*!letter> +%<*class&!letter&body> \renewcommand*{\ps@plain}{% \renewcommand*{\@oddhead}{}% \let\@evenhead\@oddhead @@ -732,12 +379,11 @@ %<article> \renewcommand*{\subsectionmark}[1]{}% \renewcommand*{\sectionmark}[1]{}% } -%</!letter> +%</class&!letter&body> % \end{macrocode} -% \changes{v3.08}{2010/10/28}{\cs{noindent} added before usage of variable -% \texttt{nexthead} or \texttt{nextfoot}} +% And now the page styles of the letter class. % \begin{macrocode} -%<*letter> +%<*class&letter&body> \renewcommand*{\ps@plain}{% \renewcommand*{\@oddhead}{% \vbox{\vbox{\hsize=\textwidth\hbox to\textwidth{% @@ -806,12 +452,11 @@ \ps@headings \let\@mkboth\@gobbletwo } -%</letter> -%</class> +%</class&letter&body> % \end{macrocode} -% Das Briefpaket verwendet \textsf{scrlayer-scrpage} für die Seitenstile: +% The letter package already uses \pkg*{scrlayer-scrpage}: % \begin{macrocode} -%<*package&letter> +%<*package&letter&body> \RequirePackage{scrlayer-scrpage} \newpairofpagestyles{letter}{% \clearpairofpagestyles @@ -836,18 +481,14 @@ \rofoot[\ifnum\@pageat=5 \pagemark\fi]% {}% } -%</package&letter> +%</package&letter&body> % \end{macrocode} -% \end{macro}%^^A \ps@headings -% \end{macro}%^^A \ps@myheadings -% \end{macro}%^^A \ps@plain -% -% \selectlanguage{english}%^^A -% \begin{macro}{\ps@notepaper} -% \changes{v3.27}{2019/03/22}{new layer page style\texttt{notepaper}}%^^A -% \changes{v3.27}{2019/03/22}{new layer \texttt{notepaper}}%^^A -% From \KOMAScript~3.27 the \textsf{scrletter} package uses the layer -% \texttt{notepaper} to define the note-paper. With this layer it is possible +% \end{pgstyle}^^A plain,myheadings,headings +% +% \begin{pgstyle}{notepaper} +% \changes{v3.27}{2019/03/22}{plan added} +% There are plans for \pkg*{scrletter} package to use a new layer +% \texttt{notepaper} to define the notepaper. With this layer it is possible % to add several separated information blocks everywhere on the first % page. A \texttt{picture} mode layer is used, because this makes the % placement easier. It's a background layer, so the page contents are printed @@ -862,7 +503,7 @@ contents=\scr@notepaper@printallelements ]{notepaper} % \end{macrocode} -% For \cs{scr@notepaper@elements} see \texttt{scrkernel-notepaper}. +% For \cs{scr@notepaper@elements} see \file{scrkernel-notepaper.dtx}. % % A second layer is used for the foldmarks. Again it is a picture layer. But % this time it is an odd-sides-only layer. @@ -875,78 +516,269 @@ contents=\scr@foldmarks@printallelements ]{foldmarks} % \end{macrocode} -% For \cs{@hfoldmark} and \cs{@vfoldmark} see -% \texttt{scrkernel-notepaper.dtx}. +% For \cs{@hfoldmark} and \cs{@vfoldmark} see \file{scrkernel-notepaper.dtx}. % % Last but not least the page style. The foldmarks are below the notepaper. % \begin{macrocode} \DeclareNewPageStyleByLayers{notepaper}{foldmarks,notepaper} %</package&letter&body&willbe> % \end{macrocode} -% \end{macro}%^^A \ps@notepaper -% \selectlanguage{ngerman}%^^A +% \end{pgstyle}^^A notepaper % % -% \subsection{Festlegung des Seitenstils auf besonderen Seiten} +% \subsection{Selection of page styles for special pages} % -% So etwas gibt es derzeit nicht für Briefe. -% \iffalse -%<*class> -%<*!letter> -% \fi % -% \begin{macro}{\titlepagestyle} -% \changes{v2.8d}{2001/07/05}{neu}%^^A -% \begin{macro}{\partpagestyle} -% \changes{v2.8d}{2001/07/05}{neu}%^^A -% \changes{v3.00}{2008/08/05}{nicht mehr in \textsf{scrartcl} definiert} -% \changes{v3.18}{2015/06/10}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\chapterpagestyle} -% \changes{v2.8d}{2001/07/05}{neu}%^^A -% \changes{v3.18}{2015/05/20}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\indexpagestyle} -% \changes{v2.8d}{2001/07/05}{neu}%^^A -% Auf verschiedenen Seiten wird automatisch mit \cs{thispagestyle} auf -% einen anderen Seitenstil umgeschaltet. Welcher das ist, ist in -% diesem Makros abgelegt und kann bei Bedarf geändert werden. -% Voreingestellt ist der in früheren Versionen fest verdrahtete -% Seitenstil \texttt{plain}. +% \begin{command}{\titlepagestyle,\indexpagestyle} +% \changes{v2.8d}{2001/07/05}{added} +% For pages with the in-page title and for the first page of the index, +% \KOMAScript{} provides configurable page styles. These are initially +% \pstyle{plain}. % \begin{macrocode} +%<*class&!letter&body> \newcommand*{\titlepagestyle}{plain} \newcommand*{\indexpagestyle}{plain} +%</class&!letter&body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% \begin{command}{\partpagestyle} +% \changes{v2.8d}{2001/07/05}{added} +% \changes{v3.00}{2008/08/05}{not with \cls*{scrartcl}} +% \changes{v3.18}{2015/06/10}{indirect by \cs{DeclareSectionCommand}} +% \end{command} +% \begin{command}{\chapterpagestyle} +% \changes{v2.8d}{2001/07/05}{added} +% \changes{v3.18}{2015/05/20}{indirect by \cs{DeclareSectionCommand}} +% \end{command} % -% \iffalse -%</!letter> -% \fi % -% \subsection{Standardeinstellungen} +% \subsection{Selection of initial page style} % -% Der voreingestellte Seitenstil hängt von der verwendeten Klasse ab: +% The initial page style depends on the class: % \begin{macrocode} +%<*class&body> %<report|article|letter>\pagestyle{plain} %<book>\pagestyle{headings} % \end{macrocode} -% Die Nummerierung erfolgt hingegen immer mit arabischen Zahlen: +% But the pagination is always done using Arabic numbers. % \begin{macrocode} \pagenumbering{arabic} +%</class&body> % \end{macrocode} % -% \iffalse +% \section{Implementation of Interleaf Pages} +% +% \begin{description} +% \item[ToDo:] Move this code to a new file \file{scrkernel-interleaf.dtx}. +% \end{description} +% +% \begin{option}{cleardoublepage} +% \changes{v2.95}{2004/08/24}{added} +% \changes{v2.96a}{2007/01/03}{value \opt{\quotechar=current} fixed} +% \changes{v2.98c}{2008/03/06}{\cs{def} replaced by \cs{let}, because of +% option \opt{open}} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/10}{using value storage} +% \begin{command}{\cleardoublestandardpage} +% \changes{v2.8a}{2001/06/18}{added} +% \changes{v2.96a}{2007/01/02}{default value added} +% \begin{command}{\cleardoubleusingstyle} +% \changes{v2.95}{2004/08/24}{added} +% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} replaced by +% \cs{pagestyle}} +% \begin{command}{\cleardoubleemptypage,\cleardoubleplainpage} +% \changes{v2.8a}{2001/06/18}{added} +% \begin{command}{\cleardoubleoddpage,\cleardoubleoddstandardpage} +% \changes{v2.98c}{2008/03/06}{added} +% \begin{command}{\cleardoubleoddusingstyle} +% \changes{v2.98c}{2008/03/06}{added} +% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} replaced by +% \cs{pagestyle}} +% \begin{command}{\cleardoubleoddemptypage,\cleardoubleoddplainpage} +% \changes{v2.98c}{2001/06/18}{added} +% \begin{command}{\cleardoubleevenpage,\cleardoubleevenstandardpage} +% \changes{v2.98c}{2008/03/06}{added} +% \begin{command}{\cleardoubleevenusingstyle} +% \changes{v2.98c}{2008/03/06}{added} +% \changes{v3.06a}{2010/09/17}{\cs{thispagestyle} replaced by +% \cs{pagestyle}} +% \begin{command}{\cleardoubleevenemptypage,\cleardoubleevenplainpage} +% \changes{v2.98c}{2001/06/18}{added} +% \begin{command}{\cleardoublepage} +% \changes{v2.98c}{2001/06/18}{always redefining it} +% \changes{v2.98c}{2008/04/11}{new default from version 2.98c} +% \changes{v3.13}{2014/03/01}{allow page style \pstyle{headings} as value for +% class option} +% \changes{v3.28}{2019/11/18}{\cs{ifnotundefined} replaced by +% \cs{Ifnotundefined}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} replaced by \cs{Ifstr}} +% With options \opt{twoside} and \opt{openright}, which are both default with +% \cls*{scrbook} and available with \cls*{scrreprt}, \cs{chapter} imply +% \cs{cleardoublepage}. Usually this results in a new odd page and can insert +% an interleaf page. With the standard classes this interleaf page has the +% current active page style and therefore can have a running head and +% pagination. Mainstream typography uses empty pages without running head or +% pagination for interleaf pages. Some users also want a pagination but no +% running head. Option \opt{cleardoublepage} can be used to select all the +% often wishes and also every other page style. The corresponding commands are +% also defined and the option re-defines \cs{cleardoublepage} to use one of +% these additional commands. Similar is for \cs{cleardoubleoddpage} and +% \cs{cleardoubleevenpage}. +% \begin{macrocode} +%<*(class|scrextend)&option> +\KOMA@key{cleardoublepage}{% + \begingroup% + \def\@tempc{% + \endgroup% + \KOMA@unknown@keyval{cleardoublepage}{#1}{% + 'current' or any defined pagestyle e.g. 'empty','plain', 'headings'}% + }% + \Ifstr{#1}{current}{% + \def\@tempc{\endgroup% + \def\cleardoublepage{\cleardoublestandardpage}% + \def\cleardoubleoddpage{\cleardoubleoddstandardpage}% + \def\cleardoubleevenpage{\cleardoubleevenstandardpage}% + \FamilyKeyStateProcessed + \KOMA@kav@replacevalue{.% +%<package&extend> scrextend.\scr@pkgextension +%<class> \KOMAClassFileName + }{cleardoublepage}{current}% + }% + }{% + \Ifnotundefined{ps@#1}{% + \def\@tempc{\endgroup% + \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.% +%<package&extend> scrextend.\scr@pkgextension +%<class> \KOMAClassFileName + }{cleardoublepage}{#1}% + }% + }{% +% \end{macrocode} +% At class loading time page style \pstyle{headings} is still undefined, but +% should be allowed as value for option \opt{cleardoublepage}. +% \begin{description} +% \item[Note:] Page style \pstyle{plain} is already defined in the \LaTeX{} +% kernel and therefore does not need special treatment. +% \end{description} +% \begin{macrocode} +%<*class> + \ifx\@currname\KOMAClassName + \ifx\@currext\@clsextension + \Ifstr{#1}{headings}{% + \def\@tempc{\endgroup% + \def\cleardoublepage{\cleardoublepageusingstyle{#1}}% + \def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}% + \def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}% + \FamilyKeyStateProcessed + \KOMA@kav@xreplacevalue{.\KOMAClassFileName}% + {cleardoublepage}{#1}% + }% + }{}% + \fi + \fi %</class> -%</body> -% \fi + }% + }% + \@tempc +} +\newcommand*{\cleardoubleoddstandardpage}{} +\let\cleardoubleoddstandardpage=\cleardoublepage +\newcommand*{\cleardoubleoddpageusingstyle}[1]{\clearpage + {\pagestyle{#1}\cleardoubleoddstandardpage}} +\newcommand*{\cleardoubleoddemptypage}{\cleardoubleoddpageusingstyle{empty}} +\newcommand*{\cleardoubleoddplainpage}{\cleardoubleoddpageusingstyle{plain}} +\newcommand*{\cleardoubleevenstandardpage}{% + \clearpage + \if@twoside\ifodd\c@page + \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi + \fi\fi +} +\newcommand*{\cleardoubleevenpageusingstyle}[1]{\clearpage + {\pagestyle{#1}\cleardoubleevenstandardpage}} +\newcommand*{\cleardoubleevenemptypage}{\cleardoubleevenpageusingstyle{empty}} +\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}} +\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage} +\renewcommand*{\cleardoublepage}{% + \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax + \cleardoubleemptypage + \else + \cleardoublestandardpage + \fi +} +\KOMA@kav@add{.% +%<package&extend> scrextend.\scr@pkgextension +%<class> \KOMAClassFileName +}{cleardoublepage}{% + \expandafter\ifnum \scr@v@is@gt{2.98c}empty\else current\fi +} +% \end{macrocode} +% We expand the value at the end of the class or package. +% \begin{macrocode} +%<package&extend>\AtEndOfPackage{% +%<class>\AtEndOfClass{% + \KOMAoptionOf[\expandafter\edef\expandafter\@tempa\@firstofone]% + {% +%<package&extend> scrextend.\scr@pkgextension +%<class> \KOMAClassFileName + }{cleardoublepage}% + \KOMA@kav@removekey{.% +%<package&extend> scrextend.\scr@pkgextension +%<class> \KOMAClassFileName + }{cleardoublepage}% + \KOMA@kav@xadd{.% +%<package&extend> scrextend.\scr@pkgextension +%<class> \KOMAClassFileName + }{cleardoublepage}{\@tempa}% +} +\newcommand*{\cleardoubleoddpage}{\cleardoubleoddemptypage} +\newcommand*{\cleardoubleevenpage}{\cleardoubleevenemptypage} +\newcommand*{\cleardoublepageusingstyle}[1]{\clearpage + {\pagestyle{#1}\cleardoublestandardpage}} +\newcommand*{\cleardoubleemptypage}{\cleardoublepageusingstyle{empty}} +\newcommand*{\cleardoubleplainpage}{\cleardoublepageusingstyle{plain}} +% \end{macrocode} +% \end{command}^^A \cleardoublepage +% \end{command}^^A \cleardoubleevenplainpage,\cleardoubleevenemptypage +% \end{command}^^A \cleardoubleevenusingstyle +% \end{command}^^A \cleardoubleevenpage,\cleardoubleevenstandardpage +% \end{command}^^A \cleardoubleoddemptypage,\cleardoubleoddplainpage +% \end{command}^^A \cleardoubleoddusingstyle +% \end{command}^^A \cleardoubleoddpage,\cleardoubleoddstandardpage +% \end{command}^^A \cleardoubleemptypage,\cleardoubleplainpage +% \end{command}^^A \cleardoubleusingstyle +% \end{command}^^A \cleardoublestandardpage +% \begin{option}{cleardoubleempty,cleardoubleplain,cleardoublestandard} +% \changes{v2.8a}{2001/06/18}{added} +% \changes{v2.8q}{2001/11/06}{\cs{cleardoublestandardpage} replaced by +% \cs{cleardoublestandard}} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by +% \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macrocode} +%<*class> +\KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty} +\KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain} +\KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current} +%</class> +%</(class|scrextend)&option> +% \end{macrocode} +% \end{option}^^A cleardoublestandard,cleardoubleplain,cleardoubleempty +% \end{option}^^A cleardoublepage % -% \Finale % +% \Finale +% \PrintChanges +% \endinput -% -% end of file `scrkernel-pagestyles.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx b/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx index 10282eecd2..9c65fcd6bd 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-paragraphs.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-paragraphs.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-paragraphs.dtx 3596 2021-05-17 12:53:41Z kohm $ +%%% From File: $Id: scrkernel-paragraphs.dtx 3745 2022-03-07 09:14:34Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-05-17 14:53:41 +0200 (Mon, 17 May 2021) $ + \filedate$Date: 2022-03-07 10:14:34 +0100 (Mo, 07. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ + \filerevision$Revision: 3745 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-paragraphs.dtx}% @@ -73,63 +36,120 @@ (paragraphs)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-paragraphs.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{3} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-paragraphs.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.95}{2002/06/25}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/03/07}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/03/07}{whole implementation documentation in English} % -% \changes{v2.95}{2002/06/25}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \GetFileInfo{scrkernel-paragraphs.dtx} +% \title{The Code Related to Paragraph Building and Page Building of +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-paragraphs.dtx} does all the things about configuration of +% paragraphs and page breaking. Some of them are very special for +% \KOMAScript. +% \end{abstract} +% \tableofcontents % -% \section{Absatzformatierung und -umbruch} +% \section{User Manual} % -% In diesen Bereich gehört alles, was die Absatzformatierung selbst -% betrifft. Dazu kommen dann noch einige Kleinigkeiten aus dem -% Seitenumbruch. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % +% \section{Implementation of Paragraphs and Pages} % -% \iffalse +% Almost all of this code is for the classes only. +% \begin{macrocode} %<*class> -%<*option> -% \fi +% \end{macrocode} % -% \subsection{Optionen für das Absatzlayout} -% -% Ab Version 2.8i können wir auch mit Absatzlayouts umgehen, die einen -% Absatzabstand statt einem Absatzeinzug verlangen. Gesteuert wird -% dies über Optionen und Schalter. -% -% \begin{macro}{\setparsizes} -% \changes{v2.95}{2004/11/05}{neues Macro}%^^A -% \changes{v3.17}{2015/03/10}{löscht diverse \texttt{parskip}-Einstellungen -% aus der internen Liste}%^^A -% \changes{v3.19}{2015/07/29}{\cs{par@update} darf erst nach -% \cs{begin{document}} wieder \cs{default@par@update} werden}%^^A -% Über dieses Makro wird die Änderung der Absatzparameter |\parskip|, -% |\parindent|, |\parfillskip| gesetzt. Das erste Argument ist der Einzug, das -% zweite der Abstand und das dritte die Füllung. Aktiviert werden die -% Änderungen wie bei |\fontsize| über |\selectfont|. Obwohl in der -% Voreinstellung absolut gearbeitet wird, wird hier intern -% |\par@updaterelative| verwendet. +% \subsection{Options and macros to handle the paragraph layout} +% +% Already from version 2.8i \KOMAScript can handle paragraph skips instead of +% indenting paragraphs. But the corresponding code has changed a lot over the +% years. +% +% \begin{command}{\setparsizes} +% \changes{v2.95}{2004/11/05}{added} +% \changes{v3.17}{2015/03/10}{support for internal option value storage} +% \changes{v3.19}{2015/07/29}{\cs{par@update} should not reset itself to +% \cs{default@par@update} in the document preamble} +% \begin{macro}{\f@parindent} +% \changes{v2.95}{2004/11/05}{added} +% \begin{macro}{\f@parskip,\f@parfillskip} +% \changes{v2.95}{2004/11/05}{added} +% \changes{v2.95}{2004/11/05}{meaning changed} +% \begin{macro}{\scr@parindent} +% \changes{v2.95}{2004/11/05}{added} +% \begin{macro}{\scr@parskip,\scr@parfillskip} +% \changes{v2.95}{2004/11/05}{added} +% \changes{v2.95}{2004/11/05}{meaning changed} +% Command +% \begin{quote} +% \cs{setparsizes}\marg{indent}\marg{skip}\marg{fill} +% \end{quote} +% not only sets the three main paragraph parameters of \TeX: \len{parskip}, +% \len{parindent}, \len{parfillskip}. Because of option \opt{parskip=relative} +% it has to use a kind of delayed setting of these parameters at least at the +% document preamble. So these settings are not activated until +% \cs{selectfont}. To do so, not the \TeX{} parameters are changed, but the +% current values of the \TeX{} parameters are stored to \cs{f@parindent}, +% \cs{f@parskip} and \cs{f@parfillskip} and the new values are stored to +% \cs{scr@parindent}, \cs{scr@parskip} and \cs{scr@parfillskip} +% only. Additionally \cs{par@update} is used to activate these new +% values. Later we will use a hook to automatically execute \cs{par@update} +% with every \cs{selectfont}. The current value storage is initialized twice: +% First immediately and second inside at the end of the class. +% \begin{description} +% \item[ToDo:] Is the second initialization really needed? Wouldn't it be done +% with the class options? Here user changes are not to be expected, because +% we are still inside the class and therefore there is no user interaction. +% \end{description} +% \begin{macro}{\par@update} +% \changes{v2.95}{2004/11/05}{added} +% \changes{v3.20}{2016/02/22}{\cs{AtBeginDocument} code added} +% \begin{macro}{\default@par@update} +% \changes{v2.95}{2004/11/05}{added} +% \begin{macro}{\par@updaterelative} +% \changes{v2.95}{2004/11/05}{added} +% \changes{v3.36}{2022/03/07}{using \cs{reserved@a} instead of \cs{@tempa}} +% \begin{macro}{\parindent@update,\parskip@update,\parfillskip@update} +% \changes{v2.95}{2004/11/05}{added} +% \changes{v3.36}{2022/03/07}{using \cs{reserved@a} and \cs{reserved@b} +% instead if \cs{@tempa} and \cs{@tempb}} +% The initial \cs{par@update} action is to do nothing. But with +% \opt{parskip=relative} it always and after \cs{setparsizes} it once (or in +% the document preamble also always) has to reactivate the new values. This is +% done using \cs{default@par@update} and +% \cs{par@updaterelative}. \cs{default@par@update} is either a do nothing +% (\opt{parskip=absolute}) or \cs{par@updaterelative} +% (\opt{parskip=relative}). \cs{par@updaterelative} does the real update. +% \begin{description} +% \item[ToDo:] Sometimes internally \cs{par@updaterelative} is used instead of +% \cs{selectfont} to do an immediate update after \cs{setparsizes}. But is +% this correct? Wouldn't be \cs{selectfont} the correct action, to also +% reset the definition of \cs{par@update}? +% \item[ToDO:] Does the \cs{AtBeginCode} execution of \cs{par@update} make +% sense? The \cs{par@update} is done after the initial \cs{normalsize} and +% the initial \cs{selectfont}. So shouldn't this be enough? +% \end{description} % \begin{macrocode} +%<*option> \newcommand*{\setparsizes}[3]{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% @@ -152,145 +172,123 @@ \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{half+}% \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{half*}% } -% \end{macrocode} -% \begin{macro}{\f@parindent} -% \changes{v2.95}{2004/11/05}{neu (intern)}%^^A -% Eingestellter Absatzeinzug. -% \begin{macro}{\f@parskip} -% \changes{v2.8i}{2001/07/22}{neu (intern)}%^^A -% \changes{v2.95}{2004/11/05}{Bedeutung geändert}%^^A -% Eingestellter Absatzabstand. -% \begin{macro}{\f@parfillskip} -% \changes{v2.8i}{2001/07/22}{neu (intern)}%^^A -% \changes{v2.95}{2004/11/05}{Bedeutung geändert}%^^A -% Eingestellte Absatzfüllung. -% -% Diese drei Werte werden automatisch bei der Font-Initialisierung eingestellt -% und sind vorher ungültig! -% \begin{macrocode} \newcommand*{\f@parindent}{\the\parindent} \newcommand*{\f@parskip}{\the\parskip} \newcommand*{\f@parfillskip}{\the\parfillskip} +\newcommand*{\scr@parindent}{1em} +\newcommand*{\scr@parskip}{\z@} +\newcommand*{\scr@parfillskip}{\z@ \@plus 1fil} \AtEndOfClass{% \edef\f@parindent{\the\parindent}% \edef\f@parskip{\the\parskip}% \edef\f@parfillskip{\the\parfillskip}% } -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\par@update} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% \changes{v3.20}{2016/02/22}{wird möglichst früh \cs{AtBeginDocument} -% ausgeführt}%^^A -% Dieses Makro wird später in |\selectfont| die Änderung vornehmen. -% \begin{macro}{\default@par@update} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% In der Voreinstellung findet keine Änderung statt. Dies wird jedoch durch -% die Auswahl einer entsprechenden Option geändert. -% \begin{macrocode} \newcommand*{\par@update}{} \let\par@update\relax \newcommand*{\default@par@update}{} \let\default@par@update\relax \AtBeginDocument{\par@update} +%</option> % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{option}{parskip} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{primäre \textsf{keyval}-Option}%^^A -% \changes{v3.08}{2010/12/14}{neuer Wert \texttt{never}}%^^A -% \changes{v3.12}{2013/03/05}{Nutzung der Status-Signalisierung mit -% \cs{FamilyKeyState}.}%^^A -% \changes{v3.17}{2015/03/10}{Wert wird gespeichert}%^^A -% \changes{v3.26b}{2019/02/01}{\cs{baselineskip} durch 1\cs{baselineskip} -% ersetzt}%^^A -% \begin{option}{parskip-} -% \changes{v2.8l}{2001/08/16}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{parskip+} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{parskip*} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{halfparskip} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{halfparskip-} -% \changes{v2.8l}{2001/08/16}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{halfparskip+} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{halfparskip*} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{parindent} -% \changes{v2.8i}{2001/07/22}{neue Option}%^^A -% \changes{v2.95}{2006/03/11}{obsolet}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} -% ersetzt}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Diese neun Optionen steuern die Umschaltung zwischen den Modi. Dabei -% schalten alle \texttt{parskip}-Optionen einen Absatzabstand ein, -% wohingegen die \texttt{parindent}-Option den Absatzeinzug -% einschaltet. Die \texttt{+}-Variante sorgt außerdem dafür, dass -% die letzte Zeile eines Absatzes maximal zu zwei Dritteln gefüllt -% wird. Entsprechend sorgt die \texttt{*}-Variante für eine maximale -% Füllung von drei Vierteln. Die normale Variante sorgt lediglich -% für einen freien Raum von 1\,em. Die \texttt{-}-Variante sorgt für -% überhaupt nichts. -% \begin{macro}{\scr@parindent} -% \changes{v2.95}{2004/11/05}{neu (intern)}%^^A -% Der einzustellende Absatzeinzug. -% \begin{macro}{\scr@parskip} -% \changes{v2.8i}{2001/07/22}{neu (intern)}%^^A -% \changes{v2.95}{2004/11/05}{Bedeutung geändert}%^^A -% Der einzustellende Absatzabstand. -% \begin{macro}{\scr@parfillskip} -% \changes{v2.8i}{2001/07/22}{neu (intern)}%^^A -% \changes{v2.95}{2004/11/05}{Bedeutung geändert}%^^A -% Die einzustellende Absatzfüllung. +% Because of the currently complicated initialization, i.e., when switching +% between \cs{parskip=absolute} and \cs{parskip=relative}, we currently define +% \cs{par@updaterelative} not before the class options has been processed. New +% values are only set, if between the last \cs{setparsizes} and the current +% \cs{par@updaterelative} (e.g. inside \cs{selectfont}) the user has not +% changed the \TeX{} variables. If he has changed the \TeX{} variables instead +% of using \cs{setparsizes} we think, he does not want any other change. And +% because of to be able to do the tests inside a group without permanent +% change of \cs{reserved@a} we use three additional helpers. % \begin{macrocode} -\newcommand*{\scr@parindent}{1em} -\newcommand*{\scr@parskip}{\z@} -\newcommand*{\scr@parfillskip}{\z@ \@plus 1fil} +%<*body> +\newcommand*{\par@updaterelative}{% + \begingroup + \edef\reserved@a{\the\parindent}\ifx\reserved@a\f@parindent + \aftergroup\parindent@update +%<*trace> + \else + \ClassInfo{\KOMAClassName}{\string\parindent\space not changed}% +%</trace> + \fi + \edef\reserved@a{\the\parskip}\ifx\reserved@a\f@parskip + \aftergroup\parskip@update +%<*trace> + \else + \ClassInfo{\KOMAClassName}{\string\parskip\space not changed}% +%</trace> + \fi + \edef\reserved@a{\the\parfillskip}\ifx\reserved@a\f@parfillskip + \aftergroup\parfillskip@update +%<*trace> + \else + \ClassInfo{\KOMAClassName}{\string\parfillskip\space not changed}% +%</trace> + \fi + \endgroup +} +\newcommand*{\parindent@update}{% + \scr@defaultunits\parindent\scr@parindent + \begingroup + \let\reserved@b\endgroup + \edef\reserved@a{\the\parindent}\ifx\reserved@a\f@parindent\else + \def\reserved@b{\endgroup\edef\f@parindent{\the\parindent}}% +%<trace> \ClassInfo{\KOMAClassName}{\string\parindent=\the\parindent}% + \fi + \reserved@b +} +\newcommand*{\parskip@update}{% + \scr@defaultunits\parskip\scr@parskip + \begingroup + \let\reserved@b\endgroup + \edef\reserved@a{\the\parskip}\ifx\reserved@a\f@parskip\else + \def\reserved@b{\endgroup\edef\f@parskip{\the\parskip}}% +%<trace> \ClassInfo{\KOMAClassName}{\string\parskip=\the\parskip}% + \fi + \reserved@b +} +\newcommand*{\parfillskip@update}{% + \scr@defaultunits\parfillskip\scr@parfillskip + \begingroup + \let\reserved@b\endgroup + \edef\reserved@a{\the\parfillskip}\ifx\reserved@a\f@parfillskip\else + \def\reserved@b{\endgroup\edef\f@parfillskip{\the\parfillskip}}% +%<trace> \ClassInfo{\KOMAClassName}{\string\parfillskip=\the\parfillskip}% + \fi + \reserved@b +} +%</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \parindent@update,\parskip@update,\parfillskip@update} +% \end{macro}^^A \par@updaterelative +% \end{macro}^^A \default@par@update +% \end{macro}^^A \par@update +% \end{macro}^^A \scr@parskip,\scr@parfillskip +% \end{macro}^^A \scr@parindent +% \end{macro}^^A \f@parskip,\f@parfillskip +% \end{macro}^^A \f@parindent +% \end{command}^^A \setparsizes % -% Neu bei \KOMAScript-3 ist, dass die Optionen wie bei \textsf{scrlttr2} über -% eine eingzige \textsf{keyval} gesetzt werden können. +% \begin{option}{parskip} +% \changes{v2.8i}{2001/07/22}{added} +% \changes{v2.95}{2006/03/11}{changed into \pkg{keyval} option} +% \changes{v3.08}{2010/12/14}{value \opt{\quotechar=never} added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}.} +% \changes{v3.17}{2015/03/10}{using value storage} % \changes{v3.25}{2017/09/27}{typo fix in \cs{FamilyKeyStateUnknownValue}} +% \changes{v3.26b}{2019/02/01}{\cs{baselineskip} replaced by 1\cs{baselineskip}} +% \begin{option}{parindent,parskip-,parskip+,parskip*, +% halfparskip,halfparskip-,halfparskip+,halfparskip*} +% \changes{v2.8i}{2001/07/22}{added} +% \changes{v2.95}{2006/03/11}{obsolete} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by +% \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/20}{deprecated} +% Originally we have had nine options for all the paragraph indent and skip +% settings. Using \pkg*{scrbase} we have only one option with additional +% settings for relative and absolute values and paragraph indent without glue +% for paragraph skip. % \begin{macrocode} +%<*option> \KOMA@key{parskip}[true]{% \begingroup \KOMA@set@ncmdkey{parskip}{@tempa}{% @@ -417,59 +415,41 @@ \KOMA@DeclareDeprecatedOption{parindent}{parskip=false} \KOMA@kav@add{.\KOMAClassFileName}{parskip}{false} \KOMA@kav@add{.\KOMAClassFileName}{parskip}{absolute} -% \end{macrocode} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% -% Hierfür\marginline{Geplant!} sollte eine keyval-Option mit Werten definiert -% werden. Dazu dann neue Werte für absolutes oder relatives Verhalten. -% -% \iffalse %</option> -%<*body> -% \fi -% +% \end{macrocode} +% \end{option}^^A parindent … halfparskip* +% \end{option}^^A parskip % -% \subsection{Abatzformatierung} +% \changes{v2.8i}{2001/07/22}{don't change \cs{baselinestretch}} % -% \changes{v2.8i}{2001/07/22}{\cs{baselinestretch} wird nicht -% umdefiniert} -% \begin{Length}{lineskip} -% \begin{Length}{normallineskip} -% Minimaler Zeilenabstand: +% \begin{length}{\lineskip,\normallineskip} +% The minimum line skip. % \begin{macrocode} +%<*body> \setlength{\lineskip}{\p@} \setlength{\normallineskip}{\p@} % \end{macrocode} -% \end{Length} -% \end{Length} -% -% \begin{Length}{columnsep} -% \begin{Length}{columnseprule} -% Spaltenabstand und Spaltentrennlinie (nicht bei Briefen): -% \begin{macrocode} -%<*!letter> -\setlength{\columnsep}{10\p@} -\setlength{\columnseprule}{\z@} -%</!letter> -% \end{macrocode} -% \end{Length} -% \end{Length} +% \end{length} % -% \selectlanguage{english} -% \begin{macro}{\selectfont} +% \begin{command}{\selectfont} +% \changes{v2.95}{2004/11/05}{added} % \changes{v3.33}{2021/01/21}{from \LaTeX{} 2021/06/01 use hook instead of -% patch} -% Note, we use 2021/05/01 instead of the official \LaTeX{} release date, -% because there were relevant earlier \LaTeX{} developer releases with that -% date. +% patch} +% \begin{macro}{\scr@selectfont,\scr@new@selectfont} +% \changes{v2.95}{2006/04/14}{added} +% \changes{v3.10}{2010/09/28}{\pkg{everysel} support fixed} +% \changes{v3.10}{2010/09/28}{\pkg{tracefnt} supported} +% \changes{v3.10b}{2011/03/13}{\pkg{everysel} can be loaded inside +% \cs{begin\{document\}}} +% Because of \opt{parskip=relative} we need a hook to activate the changes of +% the paragraph values. A good place to do so is \cs{selectfont}. With +% \KOMAScript{} 3.00 we needed to patch this command. But from \LaTeX{} +% 2021/06/01 we can use a new generic hook. +% \begin{description} +% \item[Note:] We use 2021/05/01 instead of the official \LaTeX{} release date, +% because there were relevant earlier \LaTeX{} developer releases with that +% date. +% \end{description} % \begin{macrocode} \IfLTXAtLeastTF{2021/05/01}{% \AddToHook{selectfont}{\par@update}% @@ -503,25 +483,6 @@ }% }% }{% -% \end{macrocode} -% \selectlanguage{ngerman} -% \changes{v2.95}{2004/11/05}{neue Änderung} -% Spätestens ab Version~3.0 soll die Möglichkeit bestehen, |\parskip|, -% |\parindent| und |\parfillskip| mit der Schriftgröße automatisch -% anzupassen. Dazu muss |\selectfont| entsprechend erweitert werden. -% \begin{macro}{\scr@selectfont} -% \changes{v2.95}{2006/04/14}{neue Erweiterung} -% \changes{v3.10}{2010/09/28}{\textsf{everysel}-Behandlung korrigiert} -% \changes{v3.10}{2010/09/28}{\textsf{tracefnt}-Behandlung hinzugefügt} -% \begin{macro}{\scr@new@selectfont} -% \changes{v2.95}{2006/04/14}{neue Erweiterung} -% \changes{v3.10}{2010/09/28}{\textsf{everysel}-Behandlung korrigiert} -% \changes{v3.10}{2010/09/28}{\textsf{tracefnt}-Behandlung hinzugefügt} -% \changes{v3.10b}{2011/03/13}{\textsf{everysel} kann jetzt auch während -% \cs{begin}\marg{document} geladen werden} -% Damit das auch bei Verwendung des \textsf{everysel}-Pakets funktioniert, -% wird hier zusätzliche Vorsorge getroffen. -% \begin{macrocode} \newcommand*{\scr@selectfont}{} \expandafter\let\expandafter\scr@selectfont\csname selectfont \endcsname \BeforePackage{everysel}{% @@ -535,12 +496,6 @@ }% \AfterPackage{everysel}{% \scr@ifundefinedorrelax{@EverySelectfont@Init}{% -% \end{macrocode} -% Jetzt gibt es zwei Möglichkeiten: Entweder wurde ein \textsf{everysel} -% verwendet, bei dem alles anders funktioniert, oder es wurde während -% \cs{begin}\marg{document} geladen. In beiden Fällen versuchen wir einen -% direkten Patch: -% \begin{macrocode} \expandafter\ifx\csname selectfont \endcsname\scr@new@selectfont \ClassWarningNoLine{\KOMAClassName}{% \string\selectfont\space already changed}% @@ -550,9 +505,6 @@ \csname selectfont \endcsname \fi }{% -% \end{macrocode} -% In diesem Fall muss hingegen indirekt gepatcht werden. -% \begin{macrocode} \g@addto@macro\@EverySelectfont@Init{% \expandafter\g@addto@macro\csname selectfont \endcsname{\par@update}% \expandafter\let\expandafter\scr@new@selectfont @@ -570,106 +522,22 @@ \expandafter\let\expandafter\scr@new@selectfont\csname selectfont \endcsname } % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\par@updaterelative} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% Die eigentliche Änderung verbirgt sich in |\par@updaterelative|. Ggf. wird -% |\par@update| zu |\par@updaterelative|. -% \begin{macrocode} -\newcommand*{\par@updaterelative}{% -% \end{macrocode} -% Die neuen Werte werden nur gesetzt, wenn die bisherigen Werten den -% erwarteten Werten entsprechen. Sonst lassen wir lieber die Finger davon, -% weil wir dann davon ausgehen, dass der Anwender die so setzen wollte. -% \begin{macrocode} - \begingroup - \edef\@tempa{\the\parindent}\ifx\@tempa\f@parindent - \aftergroup\parindent@update -%<*trace> - \else - \ClassInfo{\KOMAClassName}{\string\parindent\space not changed}% -%</trace> - \fi - \edef\@tempa{\the\parskip}\ifx\@tempa\f@parskip - \aftergroup\parskip@update -%<*trace> - \else - \ClassInfo{\KOMAClassName}{\string\parskip\space not changed}% -%</trace> - \fi - \edef\@tempa{\the\parfillskip}\ifx\@tempa\f@parfillskip - \aftergroup\parfillskip@update -%<*trace> - \else - \ClassInfo{\KOMAClassName}{\string\parfillskip\space not changed}% -%</trace> - \fi - \endgroup -} -% \end{macrocode} -% \begin{macro}{\parindent@update} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% \begin{macro}{\parskip@update} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% \begin{macro}{\parfillskip@update} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% Ein paar Hilfsmakros. -% \begin{macrocode} -\newcommand*{\parindent@update}{% - \scr@defaultunits\parindent\scr@parindent - \begingroup - \let\@tempb\endgroup - \edef\@tempa{\the\parindent}\ifx\@tempa\f@parindent\else - \def\@tempb{\endgroup\edef\f@parindent{\the\parindent}}% -%<trace> \ClassInfo{\KOMAClassName}{\string\parindent=\the\parindent}% - \fi - \@tempb -} -\newcommand*{\parskip@update}{% - \scr@defaultunits\parskip\scr@parskip - \begingroup - \let\@tempb\endgroup - \edef\@tempa{\the\parskip}\ifx\@tempa\f@parskip\else - \def\@tempb{\endgroup\edef\f@parskip{\the\parskip}}% -%<trace> \ClassInfo{\KOMAClassName}{\string\parskip=\the\parskip}% - \fi - \@tempb -} -\newcommand*{\parfillskip@update}{% - \scr@defaultunits\parfillskip\scr@parfillskip - \begingroup - \let\@tempb\endgroup - \edef\@tempa{\the\parfillskip}\ifx\@tempa\f@parfillskip\else - \def\@tempb{\endgroup\edef\f@parfillskip{\the\parfillskip}}% -%<trace> \ClassInfo{\KOMAClassName}{\string\parfillskip=\the\parfillskip}% - \fi - \@tempb -} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@selectfont,\scr@new@selectfont +% \end{command}^^A \selectfont % % \begin{macro}{\scr@defaultunits} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% \changes{v3.19}{2015/08/22}{\cs{setlength} wegen \textsf{tikz} -% eliminiert}%^^A +% \changes{v2.95}{2004/11/05}{added} +% \changes{v3.19}{2015/08/22}{\cs{setlength} replaced because of \pkg{tikz}} % \begin{macro}{\scr@@defaultunits} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A +% \changes{v2.95}{2004/11/05}{added} % \begin{macro}{\scr@@@defaultunits} -% \changes{v2.95}{2004/11/05}{neues internes Macro}%^^A -% \changes{v3.19}{2015/08/22}{\cs{setlength} und \cs{addtolength} wegen -% \textsf{tikz} eliminiert}%^^A -% Damit |\par@updaterelative| überhaupt funktionieren kann, wird -% |\scr@defaultunits| benötigt. Dieses Makro arbeitet prinzipiell wie -% |\@defaultunits| bekommt aber Dimension bzw. Skip als erstes und den Wert -% als zweites Argument. Als Besonderheit dürften im Wert auch andere -% Dimensions bzw. Skips vor und nach \texttt{plus} und \texttt{minus} -% verwendet werden. Es sind also auch Angaben der Art "`\texttt{12 plus 1 -% minus 2}"' sowie -% "`\texttt{\string\baselineskip\string\@plus.1\string\baselineskip}"' -% gültig. +% \changes{v2.95}{2004/11/05}{added} +% \changes{v3.19}{2015/08/22}{\cs{setlength} and \cs{addtolength} replaced +% because of \pkg{tikz}} +% Above we've already used \cs{scr@defaultunits} inside +% \cs{par@updaterelative}. This is very similar to the \LaTeX{} kernel macro +% \cs{@defaultunits}, but accepts dimensions or skips as first and second +% value. % \begin{macrocode} \newcommand*{\scr@defaultunits}[2]{% \begingroup @@ -702,23 +570,27 @@ \advance#1\@tempskipa \fi } +%</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@@@defaultunits +% \end{macro}^^A \scr@@defaultunits +% \end{macro}^^A \scr@defaultunits +% +% \subsection{Extra list code} % -% Absatzabstand und Absatzeinzug: % \begin{macro}{\@list@extra} -% \changes{v2.8q}{2001/11/06}{neu (intern)}%^^A -% \changes{v2.95c}{2006/08/03}{\cs{parsep} fixed} +% \changes{v2.8q}{2001/11/06}{added} +% \changes{v2.95c}{2006/08/03}{\len{parsep} fixed} % \begin{macro}{\add@extra@listi} -% \changes{v2.9h}{2002/09/03}{neu (intern)}%^^A -% Ab Version 2.8i wird hier optionsabhängig gearbeitet. Dabei müssen -% auch die Befehle bei der Umschaltung der Schriftgröße für \cs{small} -% und \cs{footnotesize} geändert werden. +% \changes{v2.9h}{2002/09/03}{added} +% Some parameters of lists have to change, depending on the settings for +% paragraphs. +% \begin{description} +% \item[ToDo:] Move this code to \file{scrkernel-listsandtabulars.dtx} or +% \file{scrkernel-fontsizes.dtx}. +% \end{description} % \begin{macrocode} +%<*body> \newcommand*{\@list@extra}{% \ifdim\parskip>\z@\topsep\z@\parsep\parskip\itemsep\z@\fi } @@ -726,20 +598,27 @@ \expandafter\let\csname #1@listi\endcsname=\@listi \def\@listi{\csname #1@listi\endcsname\@list@extra}% } +%</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@list@extra +% \end{macro}^^A \add@extra@listi +% +% \subsection{Patching other packages} % -% \selectlanguage{english} -% \begin{macro}{\deferred@thm@head}%^^A -% \changes{v3.27}{2019/02/10}{new patch of \textsf{amsthm}}%^^A -% Unfortunatly \Package{amsthm} has a problem if a class handles \cs{topsep} -% this way, because it is only prepared for the case, that \cs{parskip} and -% \cs{parsep} are changed manually without influence to \cs{topsep}. So the +% \begin{macro}{\deferred@thm@head} +% \changes{v3.27}{2019/02/10}{new patch of \textsf{amsthm}} +% Unfortunatly \pkg{amsthm} has a problem if a class handles \len{topsep} +% this way, because it is only prepared for the case, that \len{parskip} and +% \len{parsep} are changed manually without influence to \len{topsep}. So the % initial distance is missing. To avoid this problem, we need to patch the % package's internal command \cs{deferred@thm@head}. This is not nice, but % unfortunaltly needed. +% \begin{description} +% \item[ToDo:] Move this code to the package patch code of +% \file{scrkernel-miscellaneous.dtx} resp. a new file as noted there. +% \end{description} % \begin{macrocode} +%<*body> \AfterPackage{amsthm}{% \RequirePackage{xpatch}% \xpatchcmd{\deferred@thm@head}{\addvspace{-\parskip}}{}{% @@ -753,37 +632,33 @@ }% }% } +%</body> % \end{macrocode} % \end{macro} -% \selectlanguage{ngerman} -% \iffalse -%</body> -%</class> -%<*class|clo> -%<*body|10pt|11pt|12pt> -% \fi -% \changes{v2.98c}{2008/03/26}{Umstellung für die pt-Dateien}%^^A -% \changes{v3.17}{2015/03/25}{Aktualisierung der Absatzeinstellungen}%^^A +% +% \subsection{Extra code for font sizes} +% +% \begin{description} +% \item[ToDo:] Move this to \file{scrkernel-fontsizes.dtx}. +% \end{description} +% \begin{macrocode} +% \end{macrocode} +% +% \changes{v2.98c}{2008/03/26}{changed to be used in font size files} +% \changes{v3.17}{2015/03/25}{update of paragraph settings} % \begin{macro}{\@listi} -% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} durch \cs{l@addto@macro} -% ersetzt} +% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} replaced by \cs{l@addto@macro}} % \changes{v3.01}{2008/11/13}{\cs{@listi} wird auf jeden Fall ausgeführt} % \begin{macro}{\@listI} -% \begin{macro}{\@listii} -% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} durch \cs{l@addto@macro} -% ersetzt} -% \begin{macro}{\@listiii} -% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} durch \cs{l@addto@macro} -% ersetzt} -% \begin{macro}{\footnotesize} -% \changes{v2.9h}{2002/09/03}{etwas robuster}%^^A -% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} durch \cs{l@addto@macro} -% ersetzt} -% \begin{macro}{\small} -% \changes{v2.9h}{2002/09/03}{etwas robuster}%^^A -% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} durch \cs{l@addto@macro} -% ersetzt} +% \begin{macro}{\@listii,\@listiii} +% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} replaced by \cs{l@addto@macro}} +% \begin{command}{\footnotesize,\small} +% \changes{v2.9h}{2002/09/03}{improved} +% \changes{v2.98c}{2008/03/27}{\cs{g@addto@macro} replaced by \cs{l@addto@macro}} % \begin{macrocode} +%</class> +%<*class|clo> +%<*body|10pt|11pt|12pt> %<10pt|11pt|12pt>\@ifundefined{@list@extra}{}{% %<10pt|11pt|12pt> \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi \l@addto@macro{\@listi}{\@list@extra}% @@ -794,46 +669,56 @@ \l@addto@macro{\small}{\protect\add@extra@listi{sml}}% %<10pt|11pt|12pt>} %<10pt|11pt|12pt>\@listi +%</body|10pt|11pt|12pt> +%</class|clo> +%<*class> % \end{macrocode} +% \end{command} % \end{macro} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \iffalse -%</body|10pt|11pt|12pt> -%</class|clo> -%<*class> -%<*body> -% \fi % % -% \subsection{Umbruchsteuerung} +% \subsection{Page layout parameters} % -% Für die Umbruchsteuerung sind einige Penalties zuständig. Diese sind -% im \LaTeX-Kern definiert. Leider sind \cs{@lowpenalty}, -% \cs{@medpenalty} und \cs{@highpenalty} aber nicht mit -% Voreinstellungen versehen, besitzen einheitlich die Voreinstellung -% 0. Hier werden deshalb die Werte aus den Standardklassen übernommen: +% \begin{length}{\columnsep,\columnseprule} +% Initial column separation. Note, we do not support two column letters. So +% this is not initialized for the letter class. % \begin{macrocode} +%<*!letter&body> +\setlength{\columnsep}{10\p@} +\setlength{\columnseprule}{\z@} +%</!letter&body> +% \end{macrocode} +% \end{length} +% +% +% \subsection{Penalties} +% +% The initial values for the penalties are the same as for the standard classes. +% \begin{macrocode} +%<*body> \@lowpenalty = 51 \@medpenalty =151 \@highpenalty =301 +%</body> % \end{macrocode} % % -% \iffalse -%</body> +% \begin{macrocode} %</class> -% \fi -% +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-paragraphs.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: + diff --git a/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx b/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx index b3d2f623cf..4c891a8620 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-pseudolengths.dtx @@ -1,8 +1,7 @@ -% \CheckSum{223} % \iffalse meta-comment % ====================================================================== % scrkernel-pseudolengths.dtx -% Copyright (c) Markus Kohm, 2006-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-pseudolengths.dtx -% Copyright (c) Markus Kohm, 2006-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-pseudolengths.dtx 3262 2019-10-10 08:25:29Z kohm $ +%%% From File: $Id: scrkernel-pseudolengths.dtx 3701 2022-02-14 09:17:40Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-10-10 10:25:29 +0200 (Thu, 10 Oct 2019) $ + \filedate$Date: 2022-02-14 10:17:40 +0100 (Mo, 14. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1872 $ + \filerevision$Revision: 3701 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-pseudolengths.dtx}% @@ -74,93 +36,106 @@ (pseudo length)] }% \reserved@a -% \iffalse -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-pseudolengths.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-pseudolengths.dtx} \end{document} %</dtx> -% \fi +% \fi^^A meta-comment +% +% \changes{v2.95}{2002/06/20}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/14}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/14}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-pseudolengths.dtx} +% \title{Handling of Lengths Stored in Macros for +% \href{https://komascript.de}{\KOMAScript} Letter Class and Packages} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-pseudolength.dtx} provides storing lengths in macros. This +% feature has been introduced with \cls*{scrlttr2} in 2002, because at that +% time there where only 256 skip registers for \LaTeX{} lengths and +% \cls*{scrlttr2} needs several lengths to specify the positions of several +% notepaper elements. Some time later The \LaTeX{} Team (at long last) has +% decided to recommend \eTeX{} as \TeX{} engine for +% \LaTeX.\!\footnote{Currently \pdfTeX{} with \eTeX{} extensions is the +% recommended \TeX{} engine for \LaTeX.} \,Therefore the usage of the so +% called \emph{pseudo lengths} in \KOMAScript{} wouldn't be necessary any +% longer. But they exist and will be used at least for compatibility also in +% future versions of \cls*{scrlttr2} and \pkg*{scrletter}. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% \section{Implementation of Package \pkg*{typearea} and Additional Class +% Features} % -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2006/03/22}{% -% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} -% -% \section{Pseudo-Längen für Briefe} -% -% Pseudo-Längen wurden für \textsf{scrlttr2} eingeführt, um Längenregister zu -% sparen. Tatsächlich hat das \LaTeX-Team kurz darauf entschieden, dass -% künftig \eTeX{} die empfohlene Maschine für \LaTeX{} sein soll, wodurch die -% Einführung von Pseudo-Längen nachträglich überflüssig wurde. Es gibt sie nun -% aber einmal und aus Gründen der Kompatiblität wird es sie für Briefe auch -% weiterhin geben. -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse +% \begin{macrocode} %<*letter> -% \fi -% -% \iffalse -%<*option> -% \fi -% -% \subsection{Option} -% Das Prinzip der Pseudo-Längen wird nicht durch Optionen beeinflusst. +% \end{macrocode} +% +% \subsection{Options} +% The method of pseudo lengths is not influenced by options. % % -% \iffalse -%</option> -%<*body> -% \fi +% \subsection{Commands and macros for pseudo lengths} % -% \subsection{Anweisungen für Pseudo-Längen} +% For the calculation of the positions of several elements of the notepaper +% several lengths are needed. To not use a lot \LaTeX{} lengths (and therefore +% \TeX{} skip registers) they are stored in macros. So we also need some +% additional commands to not only store lengths values in macros but also for +% arithmetic operations on such macros and even to test, if a pseudo lengths +% exists or not. % -% Zu Berechnung der Feldpositionen werden verschiedene Dimensions-Variablen -% benötigt. Um jedoch nicht unnötig viele Längenregister zu verbrauchen, wird -% hier mit einer Pseudo-Längen-Arithmetik gearbeitet. % -% \selectlanguage{english}%^^A -% \begin{macro}{\Ifplength} -% \changes{v3.27}{2019/03/29}{new}%^^A +% \begin{command}{\Ifplength} +% \changes{v3.27}{2019/03/29}{added} % \begin{macro}{\if@plength} -% \changes{v3.27}{2019/03/29}{new (internal)}%^^A +% \changes{v3.27}{2019/03/29}{added} +% \changes{v3.36}{2022/02/14}{deprecated} % Test whether or not a given pseudo-length (\texttt{\#1}) already exists. If -% so execute the second argument, otherwise the third. It's somehow -% inconsistent to use \cs{Ifplength} instead of \cs{ifplength}, but as it does -% not act as a \TeX{} switch but a \LaTeX{} command it is better not to use -% \cs{if\dots}. +% so execute argument \texttt{\#2}, otherwise \texttt{\#3}. % \begin{macrocode} -\newcommand*{\if@plength}[1]{% +%<*body> +\newcommand*{\Ifplength}[1]{% \@ifundefined{ltr@len@#1}{\@secondoftwo}{\@firstoftwo}% } -\newcommand*{\Ifplength}{\if@plength} +\newcommand*{\if@plength}{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrletter}{% + Internal macro `\string\if@plength' is deprecated.\MessageBreak + Please use `\string\Ifplength' instead}% + \Ifplength +} % \end{macrocode} -% \end{macro}%^^A\Ifplength -% \end{macro}%^^A\if@plength -% \selectlanguage{ngerman}%^^A +% \end{macro}^^A \if@plength +% \end{command}^^A \Ifplength +% % +% \begin{command}{\newplength} +% \changes{v2.8q}{2001/10/06}{added} +% \changes{v2.8q}{2001/10/06}{retired compatibility to +% \cls[https://www.ctan.org/pkg/koma-script-obsolete]{scrlettr}} +% \changes{v3.26}{2018/04/26}{user command instead of internal macro} +% \changes{v3.27}{2019/03/29}{changed error message} % \begin{macro}{\@newplength} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% \changes{v2.8q}{2001/10/06}{Kompatibilität zu \texttt{scrlettr.cls}%^^A -% aufgegeben} -% \changes{v3.27}{2019/03/29}{Fehlermeldung angepasst}%^^A -% Dieses Makro definiert eine neue Pseude-Länge und setzt sie auf den -% Wert 0. Eine Pseudo-Länge ist ein Makro, das eine Länge enthält. +% \changes{v3.36}{2022/02/14}{deprecated} +% Define a new pseudo length (\texttt{\#1}) and initialize it with 0. % \begin{macrocode} -\newcommand*{\@newplength}[1]{% +\newcommand*{\newplength}[1]{% \@ifundefined{ltr@len@#1}{% \expandafter\let\csname ltr@len@#1\endcsname=\z@% }{% @@ -169,63 +144,64 @@ }{% pseudo-length \expandafter\string\csname ltr@len@#1\endcsname already defined% - }{% + }{% You've tried to define a new pseudo-length using\MessageBreak \string\@newplength\space or \string\newplength.\MessageBreak - Please, try another name}% + Please, try another name% }% - } + }% +} +\newcommand*{\@newplength}{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrletter}{% + Internal macro `\string\@newplength' is deprecated.\MessageBreak + Please use `\string\newplength' instead}% + \newplength +} % \end{macrocode} % \end{macro} +% \end{command} % -% \begin{macro}{\newplength} -% \changes{v3.26}{2018/04/26}{Neu} -% Anweisung auf Anwenderebene verfügbar. -% \begin{macrocode} -\newcommand*{\newplength}{\@newplength} -% \end{macrocode} -% \end{macro} % -% \begin{macro}{\useplength} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% \changes{v2.97c}{2007/09/17}{\cs{dimexpr} statt \cs{number} verwendet, -% wenn \eTeX{} verwendet wird} -% \changes{v3.25}{2017/11/29}{\eTeX{} ist zwingend} -% \changes{v3.25}{2017/11/29}{\cs{dimexpr} durch \cs{glueexpr} ersetzt}%^^A -% Natürlich muss auf eine solche Pseudo-Länge auch wieder lesend -% zugeriffen werden können. Wir definieren dies hier so, dass es -% außerdem möglich ist, ein Vorzeichen oder einen Faktor zu verwenden. Dafür -% wird allerdings \eTeX{} benötigt. +% \begin{command}{\useplength} +% \changes{v2.8q}{2001/10/06}{added} +% \changes{v2.97c}{2007/09/17}{with \eTeX{} using \cs{dimexpr} instead of \cs{number}} +% \changes{v3.25}{2017/11/29}{\eTeX{} is mandatory} +% \changes{v3.25}{2017/11/29}{\cs{dimexpr} replaced by \cs{glueexpr}} +% Read the value of a pseudo length like a skip register. This can be done +% using \cs{glueexpr}. % \begin{macrocode} \newcommand*{\useplength}[1]{% \glueexpr \csname ltr@len@#1\endcsname\relax}% % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\setlengthtoplength} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Eine echte Länge soll auf das Vielfache einer Pseudo-Länge gesetzt -% werden. Dabei wird der Faktor als optionaler Parameter übergeben. -% Der erste obligatorische Parameter ist die Länge, der zweite -% obligatorische Parameter ist die Pseudo-Länge. +% \end{command} +% +% \begin{command}{\setlengthtoplength} +% \changes{v2.8q}{2001/10/06}{added} +% Set a real \LaTeX{} length (usually a \TeX{} skip, but \TeX{} dimensions are +% also valid) to a multiple of a pseudo length. The factor is given by the +% optional argument \texttt{\#1}. The length is mandatory argument \textrm{\#2} +% and the name of the pseudo length the also mandatory \texttt{\#3}. % \begin{macrocode} \newcommand*{\setlengthtoplength}[3][]{% \setlength{#2}{\useplength{#3}}% \setlength{#2}{#1#2}} % \end{macrocode} -% \end{macro} +% \end{command} % +% \begin{command}{\setplength} +% \changes{v2.8q}{2001/10/06}{added} +% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt} +% \changes{v3.36}{2018/04/26}{user command instead of internal macro} % \begin{macro}{\@setplength} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt}%^^A -% Natürlich wird ebenfalls eine Möglichkeit benötigt, einer -% Pseudo-Länge einen Wert zuzuweisen. Dies geschieht unter lokaler -% Anwendung einer Länge, damit sichergestellt ist, dass eine -% Längenangabe übergeben wird. Dabei wird das zuvor definierte Makro -% \cs{setlengthtoplength} verwendet. +% \changes{v3.36}{2022/02/14}{deprecated} +% We also need a command to set a pseudo length (\texttt{\#2}) to a new value +% (\texttt{\#3}). Locally we use a length to do so, because we want error +% messages about illegal values here and not when using the pseudo value. Once +% more an optional factor (\texttt{\#1}) is provided (but does not make much sense). % \begin{macrocode} -\newcommand*{\@setplength}[3][]{% +\newcommand*{\setplength}[3][]{% \begingroup% \setlength{\@tempskipa}{\glueexpr #3\relax}% \setlength{\@tempskipa}{#1\@tempskipa}% @@ -235,27 +211,24 @@ }% \@tempa } +\newcommand*{\@setplength}{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrletter}{% + Internal macro `\string\@setplength' is deprecated.\MessageBreak + Please use `\string\setplength' instead}% + \setplength +} % \end{macrocode} % \end{macro} +% \end{command} % -% \begin{macro}{\setplength} -% \changes{v3.26}{2018/04/26}{Neu}%^^A -% Anweisung auf Anwenderebene verfügbar. -% \begin{macrocode} -\newcommand*{\setplength}{\@setplength} -% \end{macrocode} -% \end{macro} % -% \begin{macro}{\setplengthtowidth} -% \changes{v3.26}{2018/04/26}{Neu} -% \begin{macro}{\setplengthtoheight} -% \changes{v3.26}{2018/04/26}{Neu} -% \begin{macro}{\setplengthtodepth} -% \changes{v3.26}{2018/04/26}{Neu} -% \begin{macro}{\setplengthtototalheight} -% \changes{v3.26}{2018/04/26}{Neu} -% Man kann auch die Breite, Höhe, Tiefe oder Höhe + Tiefe eines Inhalts -% verwenden, um eine Pseudolänge zu definieren. +% \begin{command}{\setplengthtowidth,\setplengthtoheight,\setplengthtodepth, +% \setplengthtototalheight} +% \changes{v3.26}{2018/04/26}{added} +% First three commands are similar to \cs{settowidth}, \cs{settoheight} and +% \cs{settodepth} but with pseudo length instead of a \LaTeX{} length. The +% last one is a combination of \cs{setplengthtoheight} + \cs{setplengthtodepth}. % \begin{macrocode} \newcommand*{\setplengthtowidth}[3][]{% \begingroup @@ -300,33 +273,35 @@ \@tempa } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% % -% \begin{macro}{\addtolengthplength} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% Wenn wir schon dabei sind, soll statt dem Setzen auch das Addieren -% funktionieren. Hier ist die Erschwernis, dass der Faktor nur für -% die Pseudo-Länge und nicht für das Endergebnis gelten soll. +% \begin{command}{\addtolengthplength} +% \changes{v2.8q}{2001/10/06}{added} +% This provides a plus operation of a pseudo length \texttt{\#3} to a \LaTeX{} +% length \texttt{\#2}. Again an optional factor \texttt{\#1} is possible. % \begin{macrocode} \newcommand*{\addtolengthplength}[3][]{% \begingroup% \setlengthtoplength[{#1}]{\@tempskipa}{#3}% \edef\@tempa{\endgroup% \noexpand\addtolength{#2}{\the\@tempskipa}}% - \@tempa% - } + \@tempa% +} % \end{macrocode} +% \end{command} +% % +% \begin{command}{\addtoplength} +% \changes{v2.8q}{2001/10/06}{added} +% \changes{v3.25}{2017/11/29}{using \cs{glueexpr}} +% \changes{v3.36}{2018/04/26}{user command instead of internal macro} % \begin{macro}{\@addtoplength} -% \changes{v2.8q}{2001/10/06}{Neu}%^^A -% \changes{v3.25}{2017/11/29}{\cs{glueexpr} eingefügt}%^^A -% Ebenso wird ein Makro benötigt, mit dem zu einer Pseudo-Länge das -% Vielfache eines Wertes addiert werden kann. +% \changes{v3.36}{2022/02/14}{deprecated} +% This provides a plus operation for one pseudo length \texttt{\#3} to another +% pseudo length \texttt{\#2}. Again an optional factor \texttt{\#1} is possible. % \begin{macrocode} -\newcommand*{\@addtoplength}[3][]{% +\newcommand*{\addtoplength}[3][]{% \begingroup% \setlength{\@tempskipa}{\glueexpr #3\relax}% \setlength{\@tempskipa}{#1\@tempskipa}% @@ -335,34 +310,33 @@ \noexpand\expandafter\noexpand\renewcommand\noexpand\expandafter*% \noexpand\csname ltr@len@#2\noexpand\endcsname{\the\@tempskipa}% }% - \@tempa% - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\addtoplength} -% \changes{v3.26}{2018/04/26}{Neu} -% Anweisung auf Anwenderebene verfügbar. -% \begin{macrocode} -\newcommand*{\addtoplength}{\@addtoplength} + \@tempa% +} +\newcommand*{\@addtoplength}{% +%<class> \ClassWarning{\KOMAClassName}{% +%<package> \PackageWarning{scrletter}{% + Internal macro `\string\@addtoplength' is deprecated.\MessageBreak + Please use `\string\addtoplength' instead}% + \addtoplength} +%</body> % \end{macrocode} % \end{macro} +% \end{command} % -% \iffalse -%</body> -% \fi % -% \iffalse +% \begin{macrocode} %</letter> -% \fi -% +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-pseudolengths.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx b/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx index 35ffefe9de..71ceb54ce7 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-sections.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-sections.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-sections.dtx 3621 2021-10-15 10:20:41Z kohm $ +%%% From File: $Id: scrkernel-sections.dtx 3770 2022-03-22 16:27:02Z kohm $ % The runs of run-time file generation: %<preidentify>%%% (run: preidentify) % - everything that is needed before selfidentification of resulting files @@ -73,13 +37,12 @@ %<exit>%%% (run: exit) % - everything, that should be done immediately before leaving the file %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-10-15 12:20:41 +0200 (Fri, 15 Oct 2021) $ + \filedate$Date: 2022-03-22 17:27:02 +0100 (Di, 22. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3621 $ + \filerevision$Revision: 3770 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-sections.dtx}% @@ -87,87 +50,89 @@ KOMA-Script source (disposition)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-sections.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{3} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-sections.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} +% \changes{v2.3h}{1996/01/20}{configurable font sized for headings} +% \changes{v2.95}{2002/06/26}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.15}{2014/12/09}{reordered code in \file{scrkernel-sections.dtx}} +% \changes{v3.36}{2022/03/08}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/03/21}{the whole implementation documentation in English} % -% \changes{v2.3h}{1996/01/20}{Größenbefehle in den Überschriften -% variabilisiert}%^^A -% \changes{v2.95}{2002/06/26}{erste Version aus der Aufteilung von -% \texttt{scrclass.dtx}}%^^A -% \changes{v3.15}{2014/12/09}{Code in Datei \texttt{scrkernel-section} komplett -% umsortiert}%^^A +% \GetFileInfo{scrkernel-sections.dtx} +% \title{The Code for Parts, Chapters, Sections etc.\@ of +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-sections.dtx} implements all the options, macros and user +% commands used for the sectioning of documents. +% \end{abstract} +% \tableofcontents % -% \section{Gliederung} +% \section{User Manual} % -% Zur Gliederung gehören neben den üblichen Gliederungsbefehlen -% \cs{chapter} \dots \cs{subparagraph} auch alle Optionen und Befehle, -% die diese Gliederung beeinflussen. Eingeschränkt gehören auch die -% Befehle dazu, die Inhaltsverzeichniseinträge zu den -% Gliederungsbefehlen erzeugen oder unmittelbar formatieren. Diese -% Entscheidung wurde getroffen, weil die Zusammengehörigkeit eher hier -% gesehen wird, als bei den Verzeichnissen selbst. +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % -% \changes{v2.8e}{2001/07/10}{\cs{@maybeasf} entfernt} +% \section{Implementation of Parts, Chapters, Section etc.} % -% Die Briefklasse hat keine derartige Gliederung. Beim Briefpaket wird die -% Gliederung über die verwendete Klasse bestimmt. -% \iffalse -%<*!letter> -% \fi +% The letter class does not provide sectioning. +% \begin{macrocode} +%<*class&!letter> +% \end{macrocode} % -% \subsection{Vakatseiten} +% \begin{macro}{@maybeasf} +% \changes{v2.8e}{2001/07/10}{removed} +% \end{macro} % -% Bei \textsf{scrbook} und \textsf{scrreprt} gibt es im doppelseitigen Modus -% ggf. Vakatseiten. +% \subsection{Interleaf pages} +% +% With \cls*{scrbook} and \cls*{scrreprt} chapters can optionally (or by +% default) start automatically on a odd page. So if the last page before +% already was an odd page, we have to insert a so called interleaf page. The +% main handling of interleaf pages is already defined in +% \file{scrkernel-pagestyles.dtx} (but there is a ToDo note to move is to a +% new file). Here we only support the optional selection of the start page of +% a chapter. % % \begin{option}{open} -% \changes{v2.98c}{2008/03/06}{Neue Option}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}%^^A -% Bei \textsf{scrreprt} und \textsf{scrbook} kann per Option eingestellt -% werden, ob beispielsweise Kapitel nur auf linken oder rechten Seiten -% beginnen dürfen oder auf jeder Seite. -% \begin{macro}{\if@openright} -% \begin{macro}{\@openrighttrue} -% \begin{macro}{\@openrightfalse} -% Der Zustand wird dann in einem Schalter und durch umdefinieren von -% \cs{cleardoublestandardpage} gespeichert. Die Voreinstellungen sind je nach -% Klasse unterschiedlich. -% \begin{macrocode} -%<*class> +% \changes{v2.98c}{2008/03/06}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/09}{using internal value storage} +% \changes{v3.18}{2015/05/22}{initialization using \opt{headings}} +% \begin{macro}{\@openrighttrue,\@openrightfalse,\if@openright} +% The option supports three values: +% \begin{center} +% \begin{tabular}{llll} +% \opt{open} & \cs{if@openright} & \cs{cleardoublestandardpage} & +% meaning\\\hline +% \opt{=any} & \cs{iffalse} & \cs{cleardoubleoddstandardpage} & +% chapters on any page\\ +% \opt{=right} & \cs{iftrue} & \cs{cleardoubleoddstandardpage} & +% chapters on odd pages\\ +% \opt{=left} & \cs{iftrue} & \cs{cleardoubleevenstandardpage} & +% chapters on even pages\\ +% \end{tabular} +% \end{center} +% \begin{macrocode} %<*book|report> %<*prepare> \newif\if@openright %<report>\@openrightfalse %<book>\@openrighttrue %</prepare> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macrocode} %<*option> \KOMA@key{open}{% \KOMA@set@ncmdkey{open}{@tempa}{% @@ -196,58 +161,57 @@ \fi } %</option> -% \end{macrocode} -% \changes{v3.18}{2015/05/22}{indirekte Initialisierung} -% Die Initialisierung erfolgt indirekt über Option \texttt{headings}. -% \begin{macrocode} %<*execoption> %<book>\KOMAExecuteOptions{headings=openright} %<report>\KOMAExecuteOptions{headings=openany} %</execoption> % \end{macrocode} -% \end{option} +% \end{macro}^^A \if@openright +% \end{option}^^A open % -% \begin{option}{openright} -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% \begin{option}{openany} -% \changes{v2.98c}{2008/03/05}{obsolet}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% Zusätzlich gibt es einige Standardoptionen, die natürlich auch mit -% \KOMAScript{} funktionieren sollen. +% \begin{option}{openright,openany} +% \changes{v2.98c}{2008/03/05}{obsolete} +% \changes{v3.01a}{2008/11/21}{standard instead of obsolete} +% Two deprecated options of \KOMAScript{} 2. % \begin{macrocode} %<*option> \KOMA@DeclareStandardOption{openright}{open=right} \KOMA@DeclareStandardOption{openany}{open=any} %</option> %</book|report> -%</class> % \end{macrocode} -% \end{option} -% \end{option} +% \end{option}^^A openright,openany % % -% \subsection{Behandlung von Gliederungsnummern} +% \subsection{Numbers and the auto dot feature} % -% Die Möglichkeit der Nummerierung ist allen Ebenen bis auf \cs{minisec} -% gemeinsam. +% Not only parts, chapter, section etc.\@ are numbered. But several other +% numbers are related to these numbers. The feature we define here is also +% known as the auto dot feature. % % \begin{option}{numbers} -% \changes{v2.98c}{2008/03/07}{Neue Option}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}%^^A -% Dies ist die zentrale Option zur Konfiguration der Nummerierung. Dabei geht -% es primär um die Gliederungsnummern, es sind jedoch auch davon abgeleitete -% Nummern betroffen. +% \changes{v2.98c}{2008/03/07}{added} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.17}{2015/03/09}{using internal value storage} % \begin{macro}{\scr@dotchangeatdocument} -% \changes{v2.98c}{2008/03/07}{Neu (intern)}%^^A -% Da die Umschaltung zwischen automatischem Endpunkt, immer Endpunkt und kein -% Endpunkt unbedingt \emph{vor} \cs{begin{document}} erfolgen muss, wird eine -% Fehlermeldung ausgegeben, falls das jemand zu einem späteren Zeitpunkt -% probiert. Umschaltmöglichkeiten sind auf die Klassen beschränkt. +% \changes{v2.98c}{2008/03/07}{added} +% The \opt{numbers} option provides several settings for the dot at the end of +% such numbers. But because the setting is always document global, this option +% cannot be changed inside the document, but in the document preamble only. If +% you try to change it inside the document, the error of +% \cs{scr@dotchangedatdocument} will be raised. Currently following values to +% the option are supported: +% \begin{center} +% \begin{tabular}{ll} +% \opt{numbers} & meaning\\\hline +% \opt{=auto} & automatically detect, if the dot has to be added\\ +% \opt{=enddot} & always use a dot at the end\\ +% \opt{=noenddot}& don't use a dot at the end\\ +% \end{tabular} +% \end{center} +% The criterion for automatically adding a dot is: Does any sectioning number +% contain something else but an Arabic number for a number portion? % \begin{macrocode} -%<*class> %<*prepare> \newcommand*{\scr@dotchangeatdocument}[1]{% \ClassError{\KOMAClassName}{% @@ -259,15 +223,6 @@ }% } %</prepare> -% \end{macrocode} -% \end{macro} -% Normalerweise wird automatisch entschieden, ob Nummern mit einem -% Punkt enden müssen oder nicht. Um dies abzuschalten, muss nur der -% gewünschte Zustand eingeschaltet und die Umschaltmöglichkeit -% entfernt werden. Die Umschaltung kann jedoch nicht direkt erfolgen, sondern -% erfolgt zeitverzögert in \cs{begin{document}}. Hier wird nur das Makro -% umgeschaltet, das dort verwendet wird. -% \begin{macrocode} %<*option> \KOMA@key{numbers}{% \KOMA@set@ncmdkey{numbers}{@tempa}{% @@ -297,62 +252,180 @@ %</option> %<execoption>\KOMAExecuteOptions{numbers=autoendperiod} % \end{macrocode} -% \end{option} -% -% \begin{option}{pointednumbers} -% \changes{v2.3h}{1995/01/19}{neue Option}%^^A -% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so, -% bei \texttt{pointednumber} wird explizit ein Fehler gemeldet} -% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformatfalse} wird -% direkt auf \cs{@altsecnumformattrue} gesetzt} -% \changes{v2.98c}{2008/03/07}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{option}{pointlessnumbers} -% \changes{v2.3h}{1995/01/19}{neue Option}%^^A -% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so, -% bei \texttt{pointlessnumber} wird explizit ein Fehler gemeldet} -% \changes{v2.4g}{1996/11/04}{\cs{@altsecnumformattrue} wird direkt -% auf \cs{@altsecnumformatfalse} gesetzt} -% \changes{v2.98c}{2008/03/07}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Diese Optionens sind nun wirklich veraltet und sollten nicht mehr verwendet -% werden! +% \end{macro}^^A \scr@dotchangeatdocument +% \end{option}^^A numbers +% +% \begin{option}{pointednumbers,pointlessnumbers} +% \changes{v2.3h}{1995/01/19}{added} +% \changes{v2.4g}{1996/11/04}{option name fixed} +% \changes{v2.4g}{1996/11/04}{immediate setting \cs{@altsecnumformatfalse} +% to \cs{@altsecnumformattrue}} +% \changes{v2.98c}{2008/03/07}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} +% Two deprecated options. % \begin{macrocode} %<*option> \KOMA@DeclareDeprecatedOption{pointednumbers}{numbers=enddot} \KOMA@DeclareDeprecatedOption{pointlessnumbers}{numbers=noenddot} %</option> % \end{macrocode} -% Übrigens weiß ich, wie blödsinnig die Namen der Optionen sind. Aber -% das ist nun nicht mehr zu ändern. -% \end{option} -% \end{option} +% \end{option}^^A pointednumbers,pointlessnumbers +% +% \begin{command}{\autodot} +% \changes{v2.7}{2001/01/03}{added} +% \begin{macro}{\@altsecnumformattrue,\@altsecnumformatfalse,\if@altsecnumformat} +% \changes{v2.3c}{1995/08/06}{added} +% \begin{macro}{\@autodottrue,\@autodotfalse,\if@autodot} +% \changes{v2.8e}{2001/07/10}{added} +% \changes{v2.9k}{2003/01/12}{write to \cs{@mainaux}} +% \changes{v2.95}{2004/01/15}{write to \cs{@mainaux} just before closing the +% file} +% \changes{v2.96a}{2006/12/07}{using \cs{immediate}} +% \changes{v3.00}{2008/10/07}{global} +% \changes{v3.20}{2016/03/25}{using \cs{csname}\dots\cs{endcsname}} +% Depending on \cs{if@altsecnumformat} \cs{autodot} shows a dot or nothing. +% \begin{description} +% \item[ToDo:] Add an optional look forward feature to also not add a dot, if +% the next character is a punctuation character, e.g. a dot, semicolon, +% comma etc. +% \end{description} +% \cs{if@autodot} is the current result of the inspection of all sectioning +% numbers. If it is \cs{iftrue}, switching on the dot will be written to the +% main \file{aux}-file. +% \begin{macrocode} +%<*prepare> +\newif\if@altsecnumformat\@altsecnumformatfalse +\newif\if@autodot +\renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} +\renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse} +\@autodotfalse +%</prepare> +%<*body> +\BeforeClosingMainAux{% + \if@autodot\if@filesw\immediate\write\@mainaux{% + \string\global\string\csname\space @altsecnumformattrue\string\endcsname}% + \fi\fi} +%</body> +% \end{macrocode} +% \end{macro}^^A \if@autodot +% \end{macro}^^A \if@altsecnumformat +% +% \begin{macro}{\scr@altsecnumhook,\scr@altsecnumhooktrue,\scr@altsecnumhookfalse} +% \changes{v2.98c}{2008/03/07}{added} +% Used by option \opt{numbers} for (de-)activation of the dot in the document +% preamble and to overwrite the setting found in the \file{aux}-file. +% \begin{description} +% \item[Note:] The hook is executed after reading the main \file{aux}-file. So +% the overwriting of the setting does work. It is needed as long a boolean +% switch is used, because otherwise option \opt{numbers=auto} would not be +% able to reset option \opt{numbers=enddot} ot \opt{numbers=noenddot}. With +% this code we simply can use an empty \cs{scr@altsecnumhook} for +% \opt{numbers=auto} and two compellent definitions for the other cases. +% \end{description} +% \begin{macrocode} +%<*prepare> +\newcommand*{\scr@altsecnumhook}{} +\AtBeginDocument{\scr@altsecnumhook} +\newcommand*{\scr@altsecnumhooktrue}{% + \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue +} +\newcommand*{\scr@altsecnumhookfalse}{% + \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse +} +%</prepare> +% \end{macrocode} +% \end{macro}^^A \scr@altsecnumhook,\scr@altsecnumhooktrue,\scr@altsecnumhookfalse +% +% \begin{macro}{\@maybeautodot,\@@maybeautodot} +% \changes{v2.8e}{2001/07/10}{added} +% \changes{v3.00}{2008/10/07}{not any longer needed \cs{aftergroup} removed} +% We scan a \cs{the\meta{counter}} command to decide, if the automatic dot has +% to be added (later). It sets \cs{@autodottrue}, if there is any kind of +% alphabetic or Roman numbering command inside the one time expansion of the +% \cs{the\meta{counter}} given as argument. +% \begin{description} +% \item[Note:] This is a heuristic only. It would, e.g., fail, if you are +% using another macro, that expands to the output of the counter, e.g., +%\begin{verbatim} +% \def\myalph{\alph}\def\thesection{\myalph{section}} +%\end{verbatim} +% However, it seems that the heuristic is so good, that in more than twenty +% years nobody has complained about. +% \end{description} +% \begin{macrocode} +%<*body> +\newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% + \expandafter\@@maybeautodot #1\@stop\endgroup\fi +} +\newcommand*{\@@maybeautodot}[1]{% + \ifx #1\@stop\let\@@maybeautodot\relax + \else + \ifx #1\Alph \@autodottrue\fi + \ifx #1\alph \@autodottrue\fi + \ifx #1\Roman \@autodottrue\fi + \ifx #1\roman \@autodottrue\fi + \ifx #1\@Alph \@autodottrue\fi + \ifx #1\@alph \@autodottrue\fi + \ifx #1\@Roman \@autodottrue\fi + \ifx #1\@roman \@autodottrue\fi + \ifx #1\romannumeral \@autodottrue\fi + \fi + \@@maybeautodot +} +%</body> +% \end{macrocode} +% \end{macro}^^A \@maybeautodot,\@@maybeautodot % -% \begin{Counter}{secnumdepth} -% Dieser Zähler gibt an, bis zu welcher Ebene die Gliederungsüberschriften -% nummeriert werden. +% \begin{macrocode} +%<*body> +\newcommand*\autodot{\if@altsecnumformat.\fi} +%</body> +% \end{macrocode} +% \end{command}^^A \autodot +% +% +% \subsection{Definition and handling of sectioning commands} +% +% Some of the \LaTeX{} kernel features are used here too. But almost none of +% these features is enough to implement all the functionality of \KOMAScript{} +% classes. So we redefine several of the \LaTeX{} kernel macros to extend them +% and define several new features. +% \begin{description} +% \item[ToDo:] Don't redefine \LaTeX{} kernel macros, but define new macros +% for the interface. Maybe this should also be swapped to a new package used +% by the classes. +% \end{description} +% +% \begin{counter}{secnumdepth} +% The counter rules down to which section level the headings should be +% numbered. +% \begin{description} +% \item[ToDo:] Move this behind the declaration of the section levels to be +% able to use symbolic value \cs{subsectionnumdepth}. It is not related to +% the auto dot feature. +% \end{description} % \begin{macrocode} %<*body> %<book|report>\setcounter{secnumdepth}{2} %<article>\setcounter{secnumdepth}{3} %</body> % \end{macrocode} -% \end{Counter} +% \end{counter} % % -% \begin{macro}{\ifnumbered} -% \changes{v3.12}{2013/12/16}{new command}%^^A -% \changes{v3.28}{2019/11/19}{renamed to \cs{Ifnumbered}}%^^A -% \begin{macro}{\Ifnumbered} -% \changes{v3.28}{2019/11/19}{renamed from \cs{ifnumbered}}%^^A -% \begin{macro}{\ifunnumbered} -% \changes{v3.12}{2013/12/16}{new command}%^^A -% \changes{v3.28}{2019/11/19}{renamed to \cs{Ifunnumbered}}%^^A -% \begin{macro}{\Ifunnumbered} -% \changes{v3.28}{2019/11/19}{renamed from \cs{ifunnumbered}}%^^A -% Test, ob eine Gliederungsebene (\texttt{\#1}) nummeriert wird. Falls das der -% Fall ist, wird das zweite Argument verwendet, sonst das dritte. Bei -% \cs{ifunnumbered} ist die Logik genau vertauscht. +% \begin{command}{\ifnumbered,\Ifnumbered} +% \changes{v3.12}{2013/12/16}{added} +% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to \cs{Ifnumbered}} +% \begin{command}{\ifunnumbered,\Ifunnumbered} +% \changes{v3.12}{2013/12/16}{added} +% \changes{v3.28}{2019/11/19}{\cs{ifunnumbered} renamed to \cs{Ifunnumbered}} +% Commands +% \begin{quote}\raggedright +% \cs{Ifnumbered}\marg{section level name}\marg{numbered}\marg{not numbered}\\ +% \cs{Ifunnumbered}\marg{section level name}\marg{not numbered}\marg{numbered}\\ +% \end{quote} +% If \meta{section level name} has to be numbered, execute code \meta{numbered} +% otherwise execute code \meta{not numbered}. % \begin{macrocode} %<*body> \providecommand*{\ifnumbered}{% @@ -392,240 +465,90 @@ \Ifnumbered{#1}{\@secondoftwo}{\@firstoftwo}% } %</body> -%</class> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% +% \end{command}^^A \Ifunnumbered +% \end{command}^^A \ifnumbered % -% \subsection{\KOMAScript-eigene Befehle zur Definition von -% Gliederungsbefehlen} % -% Die Funktionalität des \LaTeX-Kerns genügt \KOMAScript{} bei der Definition -% von Gliederungsebenen nicht. -% -% \begin{macro}{\scr@activate@xsection} -% \changes{v3.10}{2011/08/30}{neu (intern)}%^^A -% Hiermit wird die Erweiterung für das optionale Argument der -% Gliederungsbefehle eingeschaltet. -% \begin{macro}{\scr@osectarg}%^^A -% Für die nicht per \cs{@startsection} implementierten Befehle geht das -% einfach durch Umschaltung von \cs{scr@osectarg}. Bei 0 ist die Aktivierung -% nicht aktiv. Bei 1 landet das optionale Argument hingegen im Kopf, bei 2 -% im Inhaltsverzeichnis und bei 3 in beiden. Die Voreinstellung ist deshalb -% ebenfalls 0. -% -% Da Option \texttt{headings} darauf zurückgreift, müssen die beiden Makros -% bereits vorab definiert werden. +% \begin{macro}{\scr@activate@xsection,\scr@osectarg} +% \changes{v3.10}{2011/08/30}{added} +% Option \opt{headings=optiontotocandhead}, \opt{headings=optiontotoc} and +% \opt{headings=optiontohead} used +% \begin{quote} +% \cs{scr@activate@xsection}\marg{value} +% \end{quote} +% with the values 3, 2 and 1 to activate the extended optional argument. This +% sets \cs{scr@osectarg} to the corresponding value. The initial value 0 +% deactivates the extended optional argument. +% \begin{description} +% \item[ToDo:] Do we really need \cs{scr@activate@xsection}, that is used +% inside option \opt{headings} only? +% \end{description} % \begin{macrocode} -%<*class> %<*prepare> \newcommand*{\scr@osectarg}{0} \newcommand*{\scr@activate@xsection}[1]{% \renewcommand*{\scr@osectarg}{#1}% } %</prepare> -%</class> -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\if@altsecnumformat} -% \changes{v2.3c}{1995/08/06}{neuer Schalter}%^^A -% \begin{macro}{\@altsecnumformattrue} -% \begin{macro}{\@altsecnumformatfalse} -% Dieses Schalter wird für die Umschaltung auf Duden-Regel~6 bei der -% Numerierung benötigt. -% \begin{macro}{\if@autodot} -% \changes{v2.8e}{2001/07/10}{neuer Schalter}%^^A -% \begin{macro}{\@autodottrue} -% \changes{v3.00}{2008/10/07}{arbeitet nun gobal}%^^A -% \begin{macro}{\@autodotfalse} -% \changes{v3.00}{2008/10/07}{arbeitet nun gobal}%^^A -% Nach Duden 20.~Auflage, Regel~5 wird in der Gliederung kein Punkt gesetzt, -% wenn diese rein mit arabischen Zahlen erfolgt. Nach Regel~6 folgt jedoch ein -% Punkt, wenn die Gliederung auch römische Zahlen oder Großbuchstaben -% enthält. Aus Konsistenzgründen muss der Punkt in diesem Fall immer gesetzt -% werden. \KOMAScript{} bietet dafür einen Automatismus. -% -% Damit die Umschaltung auch wieder zurück auf Regel~5 automatisch erfolgen -% kann, wird ein zweiter Schalter benötigt. -% \begin{macrocode} -%<*class> -%<*prepare> -\newif\if@altsecnumformat\@altsecnumformatfalse -\newif\if@autodot -\renewcommand*{\@autodottrue}{\global\let\if@autodot\iftrue} -\renewcommand*{\@autodotfalse}{\global\let\if@autodot\iffalse} -\@autodotfalse -%</prepare> -% \end{macrocode} -% Dabei soll die Umstellung des Punktes beim zweiten TeX-Lauf bereits am -% Anfang aktiv sein. Deshalb wird die Information am Ende in die aux-Datei -% geschrieben. -% \changes{v2.9k}{2003/01/12}{es wird direkt in \cs{@mainaux} geschrieben}%^^A -% \changes{v2.95}{2004/01/15}{es wird erst unmittelbar vor dem Schließen -% der Haupt-aux-Datei in diese geschrieben}%^^A -% \changes{v2.96a}{2006/12/07}{es wird \cs{immediate} geschrieben}%^^A -% \changes{v3.20}{2016/03/25}{es wird \cs{csname}\dots\cs{endcsname} -% verwendet}%^^A -% \begin{macrocode} -%<*body> -\BeforeClosingMainAux{% - \if@autodot\if@filesw\immediate\write\@mainaux{% - \string\global\string\csname\space @altsecnumformattrue\string\endcsname}% - \fi\fi} -%</body> -% \end{macrocode} -% \end{macro}%^^A \@autodotfalse -% \end{macro}%^^A \@autodottrue -% \end{macro}%^^A \if@autodot -% \end{macro}%^^A \@altsecnumformatfalse -% \end{macro}%^^A \@altsecnumformattrue -% \end{macro}%^^A \if@altsecnumformat -% -% \begin{macro}{\scr@altsecnumhook} -% \changes{v2.98c}{2008/03/07}{Neu (intern)}%^^A -% \begin{macro}{\scr@altsecnumhooktrue} -% \changes{v2.98c}{2008/03/07}{Neu (intern)}%^^A -% \begin{macro}{\scr@altsecnumhookfalse} -% \changes{v2.98c}{2008/03/07}{Neu (intern)}%^^A -% Es werden drei Hilfsmakros benötigt. Das erste davon wird bei -% \cs{begin{document}} ausgeführt (nachdem die \texttt{aux}-Datei gelesen -% wurde!) und schaltet den gewünschten Zustand ein. Dazu wird es per Option -% ggf. auf die eine oder andere Bedeutung umgeschaltet. Im Auto-Fall ist es -% übrigens \cs{@empty}. -% \begin{macrocode} -%<*prepare> -\newcommand*{\scr@altsecnumhook}{} -\AtBeginDocument{\scr@altsecnumhook} -\newcommand*{\scr@altsecnumhooktrue}{% - \@altsecnumformattrue\global\let\@altsecnumformatfalse\@altsecnumformattrue -} -\newcommand*{\scr@altsecnumhookfalse}{% - \@altsecnumformatfalse\global\let\@altsecnumformattrue\@altsecnumformatfalse -} -%</prepare> -% \end{macrocode} -% \end{macro}%^^A \scr@altsecnumhooktrue -% \end{macro}%^^A \scr@altsecnumhookfalse -% \end{macro}%^^A \scr@altsecnumhook -% -% \begin{macro}{\@maybeautodot} -% \changes{v2.8e}{2001/07/10}{neu (intern)}%^^A -% Ob der automatische Punkt aktiviert werden muss, wird aufgrund der -% Darstellung eines Zählers entschieden. Diese wird dem Makro als Argument -% übergeben (\cs{thepart}, \cs{thechapter} etc.). Durch Verwendung einer -% Gruppe, werden alle Definitionen lokal gehalten. -% \begin{macrocode} -%<*body> -\newcommand{\@maybeautodot}[1]{\if@autodot\else\begingroup% - \expandafter\@@maybeautodot #1\@stop\endgroup\fi -} -% \end{macrocode} -% \begin{macro}{\@@maybeautodot} -% \changes{v2.8e}{2001/07/10}{neu (intern)}%^^A -% \changes{v3.00}{2008/10/07}{neuerdings überflüssige \cs{aftergroup}%^^A -% entfernt}%^^A -% Die expandierte Darstellung wird dann auf Darstellungsbefehle für -% Zähler gescannt. -% \begin{macrocode} -\newcommand*{\@@maybeautodot}[1]{% - \ifx #1\@stop\let\@@maybeautodot\relax - \else - \ifx #1\Alph \@autodottrue\fi - \ifx #1\alph \@autodottrue\fi - \ifx #1\Roman \@autodottrue\fi - \ifx #1\roman \@autodottrue\fi - \ifx #1\@Alph \@autodottrue\fi - \ifx #1\@alph \@autodottrue\fi - \ifx #1\@Roman \@autodottrue\fi - \ifx #1\@roman \@autodottrue\fi - \ifx #1\romannumeral \@autodottrue\fi - \fi - \@@maybeautodot -} -%</body> % \end{macrocode} -% \end{macro}%^^A \@@maybeautodot -% \end{macro}%^^A \@maybeautodot -% -% \begin{macro}{\autodot} -% \changes{v2.7}{2001/01/03}{neu}%^^A -% Dieses Makro setzt dann den Punkt nach Bedarf. -% \begin{macrocode} -%<*body> -\newcommand*\autodot{\if@altsecnumformat.\fi} -%</body> -% \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@activate@xsection,\scr@osectarg % % % \begin{macro}{\@startsection} -% \changes{v3.13a}{2014/09/11}{Vollständige Neudefinition zur Optimierung -% der Erweiterung für das optionale Argument}%^^A +% \changes{v3.13a}{2014/09/11}{re-definition for extended optional argument} % \begin{macro}{\scr@startsection} -% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A -% \changes{v3.18}{2015/05/22}{verwende \cs{numexpr} für Argument 2} -% \changes{v3.18}{2015/05/22}{verwende \cs{glueexpr} für Argument 3--5} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \changes{v3.26}{2018/09/18}{\texttt{afterindent}-Einstellung wird -% beachtet}%^^A +% \changes{v3.13a}{2014/09/11}{added} +% \changes{v3.18}{2015/05/22}{using \cs{numexpr} for argument 2} +% \changes{v3.18}{2015/05/22}{using \cs{glueexpr} for arguments 3--5} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \changes{v3.26}{2018/09/18}{supporting \opt{afterindent}} % \begin{macro}{\scr@saved@startsection} -% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A -% \changes{v3.20}{2016/04/12}{Tests funktionieren jetzt auch mit -% \textsf{amsgen}}%^^A -% \KOMAScript{} benötigt ein eigenes \cs{@startsection}, weil die -% Funktionalität des \cs{@startsection} aus dem \LaTeX-Kern nicht -% genügt. Bevor allerdings die eigene Definition in Angriff genommen wird, -% muss kontrolliert werden, ob die aufgefundene Definition noch den -% Erwartungen entspricht. Alles andere wäre ein deutlicher Hinweis, dass -% eventuell in \KOMAScript{} ebenfalls eine Anpassung vorzunehmen wäre. -% Da es offenbar Leute gibt, die bei der Umdefinierung von \cs{section} -% etc. mit Hilfe von \cs{@startsection} Leerzeichen zwischen die Argumente -% packen und gleichzeitig \textsf{amsgen} verwenden, sorgen wir hier dafür, -% dass dann trotzdem noch die Warnungen funktionieren und nebenbei der Code -% mit etwas Glück sogar ebenfalls. Dazu ist es notwendig, dass die Version von -% \cs{@startsection} gespeichert wird, die \cs{kernel@ifstar} verwendet. -% \begin{macro}{\startsection@sectionname} -% \changes{v3.26}{2018/05/14}{Neue Anweisung für Paketautoren}%^^A -% \begin{macro}{\startsection@secnumdepth} -% \changes{v3.26}{2018/05/14}{Neue Anweisung für Paketautoren}%^^A -% \begin{macro}{\startsection@indent} -% \changes{v3.26}{2018/05/14}{Neue Anweisung für Paketautoren}%^^A -% \begin{macro}{\startsection@beforeskip} -% \changes{v3.26}{2018/05/14}{Neue Anweisung für Paketautoren}%^^A -% \begin{macro}{\startsection@afterskip} -% \changes{v3.26}{2018/05/14}{Neue Anweisung für Paketautoren}%^^A -% \begin{macro}{\if@startsection@runin} -% \changes{v3.26}{2018/05/14}{Neue Anweisung für Paketautoren}%^^A -% \begin{macro}{\startsection@afterindent} -% \changes{v3.26}{2018/09/18}{Neue Anweisung für Paketautoren}%^^A -% Ab dem Zeitpunkt des Aufrufs des Do-Hooks -% \texttt{heading/postinit} sind die Makros -% \cs{startsection@sectionname}, \cs{startsection@secnumdepth}, -% \cs{startsection@indent}, \cs{startsection@beforeskip}, -% \cs{if@startsection@indentafter}, \cs{startsection@afterskip}, -% \cs{if@startsection@runin} und \cs{startsection@afterindent} gültig. Die -% \cs{\dots indent}- und \cs{\dots skip}-Makros sind dabei skips (oder -% \cs{glueexpr}) und somit wie Längen verwendbar. Bei den beiden \cs{\dots -% skip}-Makros handelt es sich bereits um effektive Abstände, es wurden also -% etwaige Fallunterscheidungen bezüglich des Vorzeichens des Arguments für -% \cs{scr@startsection} bereits aufgelöst. Das \cs{if\dots}-Makro ist entweder -% \cs{iftrue} oder \cs{iffalse}. Ein \cs{if@startsection@afterindent} -% existiert nicht, weil \cs{if@afterindent} zu dem Zeitpunkt bereits gültig -% ist. Außerhalb von \cs{scr@startsection} ist die Verwendung dieser Macros -% unzulässig, bzw. das Ergebnis unspezifiziert. Ebenso sind diese Macros als -% \emph{read-only} zu betrachten! -%^^A TODO: Der ganze Test hier ist eigentlich Unfug. Beim Laden -%^^A der Klasse sollte die Kern-Anweisung noch unverändert sein, da Pakete -%^^A normalerweise erst danach zum Zuge kommen und sie umdefinieren -%^^A können. Also müsste eigentlich \cs{AtBeginDocument} getestet werden. Ich -%^^A werde mir das gelegentlich noch einmal vornehmen müssen. +% \changes{v3.13a}{2014/09/11}{added} +% \changes{v3.20}{2016/04/12}{supporting \pkg{amsgen}} +% \begin{macro}{\startsection@sectionname,\startsection@secnumdepth, +% \startsection@indent,\startsection@beforeskip, +% \startsection@afterskip,\startsection@afterindent, +% \@startsection@runintrue,\@startsection@runinfalse, +% \if@startsection@runin} +% \changes{v3.26}{2018/05/14}{added} +% The \cs{@startsection} of the \LaTeX{} kernel does not provide all the +% features we need for \KOMAScript. And the generic hooks of \LaTeX{} do not +% allow to change it wide enough. So we either have to use \pkg{xparse} to +% patch it very much or we have to define our own version. In this case +% patching is too fragile, so we define \cs{scr@startsection} and store the +% original definition in \cs{scr@saved@startsection}. +% \begin{description} +% \item[Note:] Package \pkg{amsgen} redefines \cs{@ifstar}. The new version +% does not ignore white spaces. So testing the original definition using +% \cs{@ifstar} may fail. It is better to use \cs{kernel@ifstar}. +% \item[ToDo:] All the testing here doesn't make much sense, because we are +% inside a class and packages like \pkg{amsgen} should not yet have been +% loaded. So the test only needs to test, if the \LaTeX{} kernel has been +% changed. +% \item[Note:] In our own \cs{scr@startsection} the macros +% \cs{startsection@sectionname}, \cs{startsection@secnumdepth}, +% \cs{startsection@indent}, \cs{startsection@beforeskip}, +% \cs{startsection@afterskip}, \cs{if@afterindent}, +% \cs{if@startsection@runin}, and \cs{startsection@afterindent} are valid +% from executing the do hook \dhook{heading/postinit}. So they can be used +% inside all the hooks. +% \item[Note:] \cs{startsection@indent}, \cs{startsection@beforeskip}, +% \cs{startsection@afterskip} and \cs{startsection@afterindent} are either +% skips or \cs{glueexpr}, that can be used like skips. +% \item[Note:] \cs{startsection@beforeskip} and \cs{startsection@afterskip} +% are effective values already. Not special treatment for negative or +% positive values must be done. +% \item[Note:] \cs{if@startsection@runin} +% are either \cs{iftrue} or \cs{iffalse}. +% \item[Note:] \cs{if@startsection@indentafter} does not exist and is not +% needed, because \cs{if@afterindent} is already valid and also either +% \cs{iftrue} or \cs{iffalse}. +% \item[Note:] Using one of the \cs{startsection@\dots} +% resp. \cs{if@startsection@\dots} macros outside \cs{scr@startsection} is +% not allowed and the result is unspecified. Inside \cs{scr@startsection} +% they have to be interpreted as constants, so changing them is not allowed! +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\scr@saved@startsection}[6]{% @@ -768,23 +691,24 @@ \fi % \end{macrocode} % \begin{macro}{\scr@sect@runin} -% \changes{v3.26}{2018/09/18}{neu (intern)} -% Diese Hilfsanweisung nimmt die Fallunterscheidung vor, ob eine Spitzmarke -% oder eine freistehende Überschrift oder abhängig vom Vorzeichen des -% Abstandes danach eine Spitzmarke oder eine freistehende Überschrift gesetzt -% werden soll. Die Voreinstellung ist sicherheitshalber letzteres. Diese -% Voreinstellung wird auch bei jedem Aufruf von \cs{@xsect} erneut -% erzwungen. Auch in \cs{scr@startsection} wird die Anweisung angepasst. +% \changes{v3.26}{2018/09/18}{added} +% Depending on sectioning feature \opt{runin} the macro expands to the first +% argument, if a in-text heading aka run-in heading has to used, the second +% argument, if a free-standing heading has to be used, or the third argument, +% of run-in or free-standing depends on the sign of \opt{afterskip}. The +% initial definition is depending on the sign of \opt{afterskip}. This initial +% definition is also done inside \cs{@xsect}. \cs{scr@startsection} also +% redefines \cs{scr@sect@runin}. So it should always be the currently valid +% definition, even if \cs{scr@startsection} is used with a section command, +% that does not provide all the variable of \KOMAScript. % \begin{macrocode} \newcommand*{\scr@sect@runin}[3]{#3} % \end{macrocode} -% \end{macro}%^^A \scr@sect@runin +% \end{macro}^^A \scr@sect@runin % \begin{macro}{\scr@startsection@ulm@error} -% \changes{v3.26}{2018/05/14}{Neue interne Anweisung} -% Ich bin mir bewusst, dass die Fehlerausgabe, die hier definiert wird, -% vermutlich nie aufgerufen wird, da ein Paketautor hierzu eines der Makros -% bereits vor dem ersten \cs{scr@startsection}-Befehl verwenden -% müsste. Trotzdem verwende ich es quasi zwecks Initialisierung. +% \changes{v3.26}{2018/05/14}{added} +% This is the initial error message for using one of the internal macros +% before \cs{scr@startsection}. This should never happen. % \begin{macrocode} \newcommand*{\scr@startsection@ulm@error}[1]{% \ClassError{\KOMAClassName}{% @@ -812,23 +736,15 @@ \newcommand*\startsection@afterindent{% \scr@startsection@ulm@error\startsection@afterindent} % \end{macrocode} -% \end{macro}%^^A \scr@startsection@ulm@error -% \end{macro}%^^A \scr@startsection@afterindent -% \end{macro}%^^A \if@startsection@runin -% \end{macro}%^^A \startsection@afterskip -% \end{macro}%^^A \startsection@beforeskip -% \end{macro}%^^A \startsection@indent -% \end{macro}%^^A \startsection@secnumdepth -% \end{macro}%^^A \startsection@sectionname +% \end{macro}^^A \scr@startsection@ulm@error +% \end{macro}^^A \startsection@sectionname … \scr@startsection@runin % \begin{macro}{\At@startsection} -% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren}%^^A -% \changes{v3.27}{2019/02/04}{Umgestellt auf \cs{AddtoDoHook}}%^^A -% \changes{v3.27}{2019/02/04}{deprecated}%^^A -% Mit Hilfe dieser Anweisung kann Code in die Ausführung von \KOMAScript's -% eigenem \cs{scr@startsection} an der Stelle eingefügt werden, an der -% \cs{if@afterindent} und \cs{@tempskipa} bereits korrekt eingestellt sind, -% aber noch bevor \emph{pentaly} und Abstand gesetzt wurden bzw. \cs{everypar} -% gelöscht wurde. +% \changes{v3.14}{2014/09/11}{added} +% \changes{v3.27}{2019/02/04}{using \cs{AddtoDoHook}} +% \changes{v3.27}{2019/02/04}{deprecated} +% This is deprecated now. You should use the corresponding +% \dhook{heading/postinit} do hook. However the do hooks are command specific, +% but the argument of \cs{At@startsection} is style specific. % \begin{macrocode} \newcommand*{\At@startsection}[1]{% \ClassInfo{\KOMAClassName}{% @@ -841,24 +757,25 @@ } % \end{macrocode} % \begin{macro}{\scr@doonlyifstyleofargis} -% \changes{v3.27}{2019/02/04}{neu (intern)} -% Hilfsmakro für \cs{At@startsection}, \cs{Before@sect} und \cs{Before@@sect}. +% \changes{v3.27}{2019/02/04}{added} +% Execute the first argument only, of the style of the third argument is the +% second argument. % \begin{macrocode} \newcommand*{\scr@doonlyifstyleofargis}[3]{% \IfSectionCommandStyleIs{#3}{#2}{#1}{}% } % \end{macrocode} -% \end{macro}%^^A \scr@doonlyifstyleofargis -% \end{macro}%^^A \At@startsection +% \end{macro}^^A \scr@doonlyifstyleofargis +% \end{macro}^^A \At@startsection % \begin{macro}{\Before@ssect} -% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren} -% \changes{v3.27}{2019/02/04}{Umgestellt auf \cs{AddtoDoHook}} +% \changes{v3.14}{2014/09/11}{added} +% \changes{v3.27}{2019/02/04}{using \cs{AddtoDoHook}} % \changes{v3.27}{2019/02/04}{deprecated} % \changes{v3.35}{2021/10/15}{\cs{ClassWarning} instead of \cs{ClassInfo}} % \changes{v3.35}{2021/10/15}{Usage of \cs{scr@doonlyifstyleofargis} fixed} -% Mit Hilfe dieser Anweisung kann Code in die Ausführung von \KOMAScript's -% eigenem \cs{scr@startsection} unmittelbar vor dem Aufruf von \cs{@ssect} -% eingefügt werden. +% This is deprecated now. You should use the corresponding +% \dhook{heading/branch/star} do hook. However the do hooks are command +% specific, but the argument of \cs{Before@ssect} is style specific. % \begin{macrocode} \newcommand*{\Before@ssect}[1]{% \ClassWarning{\KOMAClassName}{% @@ -870,16 +787,16 @@ \AddtoDoHook{heading/branch/star}{\scr@doonlyifstyleofargis{#1}{section}}% } % \end{macrocode} -% \end{macro}%^^A \Before@ssect +% \end{macro}^^A \Before@ssect % \begin{macro}{\Before@sect} -% \changes{v3.14}{2014/09/11}{Neue Anweisung für Paketautoren}%^^A -% \changes{v3.27}{2019/02/04}{Umgestellt auf \cs{AddtoDoHook}}%^^A -% \changes{v3.27}{2019/02/04}{deprecated}%^^A -% Mit Hilfe dieser Anweisung kann Code in die Ausführung von \KOMAScript's -% eigenem \cs{scr@startsection} unmittelbar vor dem Aufruf von \cs{@sect} -% eingefügt werden. +% \changes{v3.14}{2014/09/11}{added} +% \changes{v3.27}{2019/02/04}{using \cs{AddtoDoHook}} +% \changes{v3.27}{2019/02/04}{deprecated} % \changes{v3.35}{2021/10/15}{\cs{ClassWarning} instead of \cs{ClassInfo}} % \changes{v3.35}{2021/10/15}{Usage of \cs{scr@doonlyifstyleofargis} fixed} +% This is deprecated now. You should use the corresponding +% \dhook{heading/branch/nostar} do hook. However the do hooks are command +% specific, but the argument of \cs{Before@sect} is style specific. % \begin{macrocode} \newcommand*{\Before@sect}[1]{% \ClassWarning{\KOMAClassName}{% @@ -891,11 +808,13 @@ \AddtoDoHook{heading/branch/nostar}{\scr@doonlyifstyleofargis{#1}{section}}% } % \end{macrocode} -% \end{macro}%^^A \Before@sect -% \begin{macro}{\scr@section@dblarg} -% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A -% \begin{macro}{\scr@section@xdblarg} -% \changes{v3.13a}{2014/09/11}{Neue interne Anweisung}%^^A +% \end{macro}^^A \Before@sect +% \begin{macro}{\scr@section@dblarg,\scr@section@xdblarg} +% \changes{v3.13a}{2014/09/11}{added} +% Similar to the \LaTeX{} kernel macros \cs{@dblarg} and \cs{@xdblarg} but +% preserve the definition of \cs{scr@osectarg}. So changes of +% \cs{scr@osectarg} inside the definition of the command of the first +% argument, are locally to the execution of that command. % \begin{macrocode} \newcommand{\scr@section@dblarg}[1]{% \kernel@ifnextchar[%] @@ -910,10 +829,16 @@ \reserved@a } % \end{macrocode} -% \end{macro}%^^A \scr@section@xdblarg -% \end{macro}%^^A \scr@section@dblarg -% \end{macro}%^^A \scr@saved@startsection -% \end{macro}%^^A \scr@startsection +% \end{macro}^^A \scr@section@dblarg,\scr@section@xdblarg +% \end{macro}^^A \scr@saved@startsection +% \end{macro}^^A \scr@startsection +% \begin{description} +% \item[ToDo:] Currently we still redefine \cs{@startsection} to use either +% \cs{scr@saced@startsection} or \cs{scr@startsection}. But it would be +% better to not redefine a \LaTeX{} kernel macro. However, if not doing so, +% packages, that use \cs{@startsection} would not support \KOMAScript{} +% features without detecting \KOMAScript{} and using \cs{scr@startsection}. +% \end{description} % \begin{macrocode} \renewcommand*{\@startsection}{% \ifnum \scr@osectarg=\z@ @@ -924,15 +849,15 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@startsection +% \end{macro}^^A \@startsection % -% \begin{macro}{\UseNumberUsageError} -% \changes{v3.27}{2019/02/02}{Neu} -% \begin{macro}{\IfUseNumber} -% \changes{v3.27}{2019/02/02}{Explizite Fehlermeldung bei Verwendung außerhalb -% von Überschriften}%^^A -% Diese Anweisung ist nur innerhalb von Überschriften definiert. Wird sie -% außerhalb verwendet, so gibt sie einen entsprechenden Fehler aus. +% \begin{command}{\UseNumberUsageError} +% \changes{v3.27}{2019/02/02}{added} +% \begin{command}{\IfUseNumber} +% \changes{v3.27}{2019/02/02}{error if used outside sectioning command} +% Command \cs{IfUseNumner} is defined only inside sectioning commands. Using +% it outside is not specified. To report an error in this case, it should be +% set to \cs{UseNumberUsageError} outside a sectioning command. % \begin{macrocode} %<*body> \newcommand*{\UseNumberUsageError}[2]{% @@ -949,16 +874,15 @@ \let\IfUseNumber\UseNumberUsageError %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \IfUseNumnr +% \end{command}^^A \UseNumberUsageError +% % -% \begin{macro}{\SecDef} -% \changes{v3.13a}{2014/09/11}{neue Anweisung}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\secdef} -% \changes{v3.13a}{2014/09/11}{Vollständige Neudefinition zur Optimierung -% der Erweiterung für das optionale Argument}%^^A +% \begin{command}{\SecDef} +% \changes{v3.13a}{2014/09/11}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \begin{command}{\secdef} +% \changes{v3.13a}{2014/09/11}{re-definition because of extended optional argument} % \begin{macrocode} %<*body> \newcommand*{\SecDef}[2]{\kernel@ifstar{#2}{\scr@section@dblarg{#1}}} @@ -966,33 +890,37 @@ \let\secdef\SecDef %</body> % \end{macrocode} -% \end{macro}%^^A \secdef -% \end{macro}%^^A \SecDef +% \end{command}^^A \secdef +% \end{command}^^A \SecDef % \begin{macro}{\scr@sect} -% \changes{v3.10}{2011/08/30}{entfällt}%^^A -% \end{macro}%^^A \scr@sect +% \changes{v3.10}{2011/08/30}{removed} +% \end{macro}^^A \scr@sect % \begin{macro}{\@sect} -% \changes{v3.10}{2011/08/30}{Vollständige Neudefinition zur Realisierung -% der Erweiterung für das optionale Argument}%^^A -% \changes{v3.10}{2011/08/30}{Verwendung von +% \changes{v3.10}{2011/08/30}{re-definition because of extended optional argument} +% \changes{v3.10}{2011/08/30}{using % \cs{csname}\texttt{add\#1tocentry}\cs{endcsname} -% bzw. \cs{addtocentrydefault}}%^^A -% \changes{v3.18}{2015/05/20}{definiert \cs{IfUsePrefixLine} intern}%^^A -% \changes{v3.18}{2015/05/22}{Verwendung von \cs{numexpr} für Argument 2}%^^A -% \changes{v3.18}{2015/05/22}{Verwendung von \cs{gluexpr} für Argument -% 3--5}%^^A -% \changes{v3.19}{2015/07/17}{Verwendung von \cs{sectionlinesformat} und -% \cs{sectioncatchphraseformat}}%^^A -% \changes{v3.27}{2019/07/08}{neue Option \texttt{nonumber}}%^^A -% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnung -% entfernt}%^^A +% resp. \cs{addtocentrydefault}} +% \changes{v3.18}{2015/05/20}{defines \cs{IfUsePrefixLine} locally} +% \changes{v3.18}{2015/05/22}{using \cs{numexpr} for argument 2} +% \changes{v3.18}{2015/05/22}{using \cs{gluexpr} for arguments 3--5} +% \changes{v3.19}{2015/07/17}{using \cs{sectionlinesformat} and +% \cs{sectioncatchphraseformat}} +% \changes{v3.27}{2019/07/08}{new optional \opt{nonumber}} +% \changes{v3.30}{2020/02/25}{orphan spaces removed} % \begin{macro}{\scr@latex@sect} -% \changes{v3.27}{2019/07/24}{Neu (intern für \textsf{scrhack})}%^^A -% Damit auch alle mit \cs{@startsection} definierten Gliederungsebenen -% bei der Entscheidung berücksichtigt werden, muss ein internes Makro -% des \LaTeX-Kerns erweitert werden. Für die Ebenen \cs{part} und -% \cs{chapter} wird der Test direkt in der Definition der Befehle -% erledigt. +% \changes{v3.27}{2019/07/24}{added to be used by \pkg*{scrhack}} +% Because we want to support the extended optional argument for all commands +% defined using \cs{@startsection} we also have to redefine \cs{@sect}. Once +% again several security tests are done, before redefining an internal +% \LaTeX{} kernel macro. +% \begin{description} +% \item[ToDo:] It would be better not to redefine an internal \LaTeX{} kernel +% macro, but use a own definition in our own \cs{scr@startsection}. But in +% this case packages, that use \cs{@sect} would not automatically support +% several \KOMAScript{} features. +% \item[Note:] \cs{chapter} and \cs{part} do not use \cs{@sect} but +% \cs{SecDef}. +% \end{description} % \begin{macrocode} %<*body> \def\scr@latex@sect#1#2#3#4#5#6[#7]#8{% @@ -1037,7 +965,7 @@ of \string\@sect}% \fi % \end{macrocode} -% \end{macro}%^^A \scr@latex@sect +% \end{macro}^^A \scr@latex@sect % \begin{macrocode} %<trace>\ClassInfo{\KOMAClassName}{redefining LaTeX kernel macro \string\@sect} \def\@sect#1#2#3#4#5#6[#7]#8{% @@ -1061,12 +989,12 @@ \fi \fi % \end{macrocode} -% \changes{v3.23}{2017/02/04}{support for \textsf{minitoc}}%^^A +% \changes{v3.23}{2017/02/04}{support for \pkg{minitoc}} % \changes{v3.23}{2017/03/24}{usage of \cs{ext@figure} and \cs{ext@table} -% instead of \texttt{lof} and \texttt{lot}}%^^A +% instead of \texttt{lof} and \texttt{lot}} % Add the \texttt{xsect} entries to \texttt{lof} and \texttt{lot}. Note, that -% the original \cs{starsection} tests of \textsf{minitoc} has a bug and so -% does not work. And the original code of \textsf{minitoc} has hard coded +% the original \cs{starsection} tests of \pkg{minitoc} has a bug and so +% does not work. And the original code of \pkg{minitoc} has hard coded % \texttt{lot} and \texttt{lof} instead of \cs{ext@figure} and % \cs{ext@table}. This is a fixed one: % \begin{macrocode} @@ -1089,8 +1017,7 @@ \fi \let\@svsec\@empty % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/02}{execute counter reset list}%^^A +% \changes{v3.31}{2020/06/02}{execute counter reset list} % Even for not numbered sections, the reset list für the section counter has % to be executed. % \begin{macrocode} @@ -1101,10 +1028,9 @@ \endgroup \fi % \end{macrocode} -% \changes{v3.31}{2020/06/02}{\cs{hy@insteadofrefstepcounter} added}%^^A -% At this point we have to make sure, that the \textsf{hyperref} code for not +% \changes{v3.31}{2020/06/02}{\cs{hy@insteadofrefstepcounter} added} +% At this point we have to make sure, that the \pkg{hyperref} code for not % increasing a counter is executed. -% \selectlanguage{ngerman}% % \begin{macrocode} \hy@insteadofrefstepcounter{#1}% \else @@ -1113,11 +1039,8 @@ \protected@edef\@svsec{\@seccntformat{#1}\relax}% \fi % \end{macrocode} -% \changes{v3.26}{2018/09/18}{\cs{scr@sect@runin} beachten}%^^A -% Falls \cs{scr@sect@runin} nicht definiert ist, wird es jetzt höchste Zeit -% dafür. Und natürlich nutzen wir es dann für die Entscheidung Spitzmarke oder -% nicht. -% \changes{v3.27}{2019/02/02}{\cs{IfUseNumber} lokal definiert}%^^A +% \changes{v3.26}{2018/09/18}{support for \cs{scr@sect@runin}} +% \changes{v3.27}{2019/02/02}{\cs{IfUseNumber} defined locally} % \begin{macrocode} \ifdim \scr@sect@runin{\z@}{\p@}{\glueexpr #5\relax}>\z@ @@ -1128,11 +1051,8 @@ \let\IfUseNumber\@firstoftwo \fi % \end{macrocode} -% \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}%^^A -% Das Farbänderungen im Schriftargument erlaubt sein sollen und diese aktuelle -% \cs{penalty}-Werte wieder aufheben, verbiete ich hier einen Umbruch nach -% der Fontänderung. -% \changes{v3.27}{2019/02/02}{\cs{scr@do@at} hinzugefügt}%^^A +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} +% \changes{v3.27}{2019/02/02}{\cs{scr@do@at} added} % \begin{macrocode} \ExecuteDoHook{heading/begingroup/#1}% #6{\nobreak\interlinepenalty \@M @@ -1161,10 +1081,10 @@ \csname add#1tocentry\endcsname{}{\@currenttocentry}% \else % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/06}{use \cs{\dots tocformat}}% -%^^ATODO: move \cs{autodot} to the definition of \cs{\dots tocformat} -% \selectlanguage{ngerman}% +% \changes{v3.31}{2020/06/06}{using \cs{\dots tocformat}}% +% \begin{description} +% \item[ToDo:] Move \cs{autodot} to the definition of \cs{\dots tocformat}. +% \end{description} % \begin{macrocode} \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname @@ -1176,11 +1096,8 @@ \fi \else % \end{macrocode} -% \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}%^^A -% \changes{v3.27}{2019/02/02}{\cs{ExecuteDoHook} eingefügt}%^^A -% Da Farbänderungen im Schriftargument erlaubt sein sollen und diese aktuelle -% \cs{penalty}-Werte wieder aufheben, verbiete ich hier einen Umbruch nach -% der Fontänderung. +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} +% \changes{v3.27}{2019/02/02}{\cs{ExecuteDoHook} added} % \begin{macrocode} \def\@svsechd{% \ifx\@svsec\@empty @@ -1213,10 +1130,10 @@ \csname add#1tocentry\endcsname{}{\@currenttocentry}% \else % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/06}{use \cs{\dots tocformat}}% -%^^ATODO: move \cs{autodot} to the definition of \cs{\dots tocformat} -% \selectlanguage{ngerman}% +% \changes{v3.31}{2020/06/06}{using \cs{\dots tocformat}}% +% \begin{description} +% \item[ToDo:] Move \cs{autodot} to the definition of \cs{\dots tocformat}. +% \end{description} % \begin{macrocode} \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname @@ -1233,26 +1150,26 @@ \@xsect{\glueexpr #5\relax}% } % \end{macrocode} -% \begin{macro}{\scr@ds@tocentry} -% \changes{v3.10}{2011/08/30}{neu (intern)}%^^A -% \begin{macro}{\@currenttocentry} -% \changes{v3.22}{2016/07/12}{\cs{scr@ds@tocentry} (semi-intern) -% umbenannt}%^^A -% \begin{macro}{\scr@ds@head} -% \changes{v3.10}{2011/08/30}{neu (intern)}%^^A -% \begin{macro}{\@currentheadentry} -% \changes{v3.22}{2016/07/12}{\cs{scr@ds@head} (semi-intern) -% umbenannt}%^^A +% \begin{macro}{\scr@ds@tocentry,\@currenttocentry} +% \changes{v3.10}{2011/08/30}{added} +% \changes{v3.22}{2016/07/12}{\cs{scr@ds@tocentry} renamed to \cs{@currenttocentry}} +% \begin{macro}{\scr@ds@head,\@currentheadentry} +% \changes{v3.10}{2011/08/30}{added} +% \changes{v3.22}{2016/07/12}{\cs{scr@ds@head} renamed to \cs{@currentheadentry}} % \begin{macro}{\@currentlabelname} -% \changes{v3.22}{2016/07/12}{neu (semi-intern)} -% \begin{macro}{\if@scr@tempswa} -% \changes{v3.10}{2011/08/30}{neu (intern)}%^^A -% \begin{macro}{\if@currentusenumber} -% \changes{v3.27}{2019/07/08}{neu (semi-intern)}%^^A +% \changes{v3.22}{2016/07/12}{added} +% \begin{macro}{\@scr@tempswatrue,\@scr@tempswafalse,\if@scr@tempswa} +% \changes{v3.10}{2011/08/30}{added} +% \begin{macro}{\@currentusenumbertrue,\@currentusenumberfalse,\if@currentusenumber} +% \changes{v3.27}{2019/07/08}{added} % \begin{macro}{\scr@istest} -% \changes{v3.10}{2011/08/30}{neu (intern)}%^^A -% Für die Realisierung werden noch ein paar Key-Value-Definitionen und ein -% paar Hilfsmakros benötigt: +% \changes{v3.10}{2011/08/30}{added} +% We are using several \pkg*{scrbase} options to handle the extended +% optional argument features. +% \begin{description} +% \item[ToDo:] Is there a general initialization hook to make additional such +% options at package author level possible? +% \end{description} % \begin{macrocode} \DefineFamily{KOMAarg} \DefineFamilyMember[.section]{KOMAarg} @@ -1287,72 +1204,68 @@ } \newif\if@scr@tempswa % \end{macrocode} -% \end{macro}%^^A \scr@istest -% \end{macro}%^^A \if@currentusenumber -% \end{macro}%^^A \if@scr@tempswa -% \end{macro}%^^A \@currentlabelname -% \end{macro}%^^A \@currentheadentry -% \end{macro}%^^A \scr@ds@head -% \end{macro}%^^A \@currenttocentry -% \end{macro}%^^A \scr@ds@tocentry -% \begin{macro}{\sectionlinesformat} -% \changes{v3.19}{2015/07/17}{neue Anweisung}%^^A -% Diese Anweisung definiert das Format der eigentlichen Überschriften im Stil -% \texttt{section}, wenn mit Überschriftenzeilen gearbeitet -% wird. Fonteinstellungen sind zu diesem Zeitpunkt bereits erfolgt. Die -% Argumente sind: +% \end{macro}^^A \scr@istest +% \end{macro}^^A \if@currentusenumber +% \end{macro}^^A \if@scr@tempswa +% \end{macro}^^A \@currentlabelname +% \end{macro}^^A \scr@ds@head,\@currentheadentry +% \end{macro}^^A \scr@ds@tocentry,\@currenttocentry +% +% \begin{command}{\sectionlinesformat,\sectioncatchphraseformat} +% \changes{v3.19}{2015/07/17}{added} +% Headings with style \texttt{section} can either be free-standing or +% in-line. Free-standing headings are printed using: +% \begin{quote} +% \cs{sectionlinesformat}\marg{level name}\marg{indent}\marg{number}\marg{text} +% \end{quote} +% The in-line headings are printed using: +% \begin{quote} +% \cs{sectioncatchphraseformat}\marg{level name}\marg{indent}\marg{number}\marg{text} +% \end{quote} +% The \meta{level name} can also be interpreted as the section command +% name. The \meta{indent} is the horizontal indent of the first line of the +% heading. The \meta{number} is either empty for not numbered headings or the +% formatted number to be used. \meta{text} is the formatted text to be +% used. Formatted text means, the fonts are already set and \cs{@@par} for the +% end of paragraph already has been added to the \meta{text} of +% \cs{sectionlinesformat}. But if the user uses more paragraphs than this +% final one, the user is responsible to prevent page breaks! % \begin{description} -% \item[\meta{Ebene} --] der Name der Gliederungebene -% \item[\meta{Einzug} --] ein eventuell zu verwendender horizontaler -% Einzug. -% \item[\meta{Gliederungsnummer} --] die bereits fertig formatierte -% Gliederungsnummer oder leer, falls keine Gliederungsnummer auszugeben ist. -% \item[\meta{Text} --] der Text der Überschrift. +% \item[Note:] Argument \meta{indent} is a kind of design mistake. It would +% have been better to get the indent by the attributes of the \meta{level +% name}. However having an argument makes it easier for users to redefine +% the command. % \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{\sectionlinesformat}[4]{% \@hangfrom{\hskip #2#3}{#4}% } -% \end{macrocode} -% \end{macro}%^^A \sectionlinesformat -% \begin{macro}{\sectioncatchphraseformat} -% \changes{v3.19}{2015/07/17}{neue Anweisung}%^^A -% Diese Anweisung definiert das Format der eigentlichen Überschriften im -% Stil \texttt{section}, wenn mit Spitzmarken gearbeitet -% wird. Fonteinstellungen sind zu diesem Zeitpunkt bereits erfolgt. Die -% Argumente sind: -% \begin{description} -% \item[\meta{Ebene} --] der Name der Gliederungebene -% \item[\meta{Einzug} --] ein eventuell zu verwendender horizontaler -% Einzug. -% \item[\meta{Gliederungsnummer} --] die bereits fertig formatierte -% Gliederungsnummer 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. -% \begin{macrocode} \newcommand{\sectioncatchphraseformat}[4]{% \hskip #2#3#4% } % \end{macrocode} -% \end{macro}%^^A \sectioncatchphraseformat -% \end{macro}%^^A \@sect +% \end{command}^^A \sectionlinesformat,\sectioncatchphraseformat +% \end{macro}^^A \@sect % % \begin{macro}{\@ssect} -% \changes{v3.19}{2015/07/17}{Vollständige Neudefinition zur Realisierung -% der Erweiterung für die Formatieurng der Überschrift}%^^A +% \changes{v3.19}{2015/07/17}{re-definition because of several new features} % \begin{macro}{\scr@latex@ssect} -% \changes{v3.27}{2019/07/24}{Neu (intern für \textsf{scrhack})}%^^A -% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnung -% entfernt}%^^A -% Das wird für Überschriften ohne Nummer verwendet. Im Prinzip machen wir hier -% dasselbe wie zuvor. +% \changes{v3.27}{2019/07/24}{added to be used by \pkg*{scrhack})} +% \changes{v3.30}{2020/02/25}{orphan space removed} +% The star variant of section commands do not use \cs{@sect} but +% \cs{@ssect}. Here we have the problem, that the command name argument is +% missing. The whole definition is very similar to \cs{@sect} but without a +% number, ToC entry or running head. +% \begin{description} +% \item[Note:] we do not have to support an extended optional argument, +% because there isn't an optional argument. +% \item[ToDo:] It would be better not to redefine an internal \LaTeX{} kernel +% macro, but use a own definition in our own \cs{scr@startsection}. But in +% this case packages, that use \cs{@ssect} would not automatically support +% several \KOMAScript{} features. +% \item[Note:] \cs{chapter} and \cs{part} do not use \cs{@ssect} but +% \cs{SecDef}. +% \end{description} % \begin{macrocode} \def\scr@latex@ssect#1#2#3#4#5{% \@tempskipa #3\relax @@ -1377,7 +1290,7 @@ of \string\@ssect}% \fi % \end{macrocode} -% \end{macro}%^^A \scr@latex@ssect +% \end{macro}^^A \scr@latex@ssect % \begin{macrocode} %<trace>\ClassInfo{\KOMAClassName}{redefining LaTeX kernel macro %<trace> \string\@ssect} @@ -1393,11 +1306,9 @@ \def\scr@s@ct@@nn@m@{\string\scr@s@ct@@nn@m@}% }{% % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/02}{execute counter reset list}%^^A +% \changes{v3.31}{2020/06/02}{execute counter reset list} % Even for not numbered sections, the reset list für the corresponding section % counter has to be executed. -% \selectlanguage{ngerman}% % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.31}\relax\else \begingroup @@ -1407,22 +1318,16 @@ \fi }% % \end{macrocode} -% \changes{v3.26}{2018/09/18}{\cs{scr@sect@runin} beachten}%^^A -% Falls \cs{scr@sect@runin} nicht definiert ist, wird es jetzt höchste Zeit -% dafür. Und natürlich nutzen wir es dann für die Entscheidung Spitzmarke oder -% nicht. -% \changes{v3.27}{2019/02/02}{\cs{IfUseNumber} lokal definiert}%^^A +% \changes{v3.26}{2018/09/18}{support for \cs{scr@sect@runin}} +% \changes{v3.27}{2019/02/02}{defining \cs{IfUseNumber} locally} % \begin{macrocode} \ifdim \scr@sect@runin{\z@}{\p@}{\glueexpr #3\relax}>\z@ \begingroup \let\IfUseNumber\@secondoftwo % \end{macrocode} -% \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}%^^A -% \changes{v3.27}{2019/02/02}{\cs{ExecuteDoHook} eingefügt}%^^A -% Das Farbänderungen im Schriftargument erlaubt sein sollen und diese aktuelle -% \cs{penalty}-Werte wieder aufheben, verbiete ich hier einen Umbruch nach -% der Fontänderung. +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} +% \changes{v3.27}{2019/02/02}{\cs{ExecuteDoHook} added} % \begin{macrocode} \edef\reserved@a{% \noexpand\ExecuteDoHook{heading/begingroup/\scr@s@ct@@nn@m@}% @@ -1440,10 +1345,7 @@ \noexpand\ExecuteDoHook{heading/begingroup/\scr@s@ct@@nn@m@}% \unexpanded{#4}{% % \end{macrocode} -% \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}%^^A -% Das Farbänderungen im Schriftargument erlaubt sein sollen und diese aktuelle -% \cs{penalty}-Werte wieder aufheben, verbiete ich hier einen Umbruch nach -% der Fontänderung. +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} % \begin{macrocode} \noexpand\nobreak \noexpand\sectioncatchphraseformat{\scr@s@ct@@nn@m@}% @@ -1457,16 +1359,18 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@ssect +% \end{macro}^^A \@ssect % \begin{macro}{\@xsect} -% \changes{v3.26}{2018/09/18}{wird umdefiniert}%^^A -% \changes{v3.30}{2020/02/25}{unerwünschtes Leerzeichen am Ende der Warnung -% entfernt}%^^A +% \changes{v3.26}{2018/09/18}{re-definition} +% \changes{v3.30}{2020/02/25}{orphan space removed} % \begin{macro}{\scr@latex@xsect} -% \changes{v3.27}{2019/07/24}{Neu (intern für \textsf{scrhack})}%^^A -% Wir brauchen zum Einen in \cs{@xsect} einen Fallunterscheidung nach -% \cs{scr@sect@runin} und zum Anderen muss diese Fallunterscheidung am Ende -% wieder zurückgesetzt werden. +% \changes{v3.27}{2019/07/24}{added to be used by \pkg*{scrhack}} +% We need a differentiation with \cs{scr@sect@runin} to be initialized in +% \cs{@xsect} and also need to reset this internal macro at the end. +% \begin{description} +% \item[ToDo:] It would be better not to redefine the internal \LaTeX{} kernel +% macro, but to define and use our own one. +% \end{description} % \begin{macrocode} %<*body> \def\scr@latex@xsect#1{% @@ -1504,7 +1408,7 @@ of \string\@xsect}% \fi % \end{macrocode} -% \end{macro}%^^A \scr@latex@xsect +% \end{macro}^^A \scr@latex@xsect % \begin{macrocode} %<trace>\ClassInfo{\KOMAClassName}{redefining LaTeX kernel macro %<trace> \string\@xsect} @@ -1543,20 +1447,18 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@xsect -% -% \begin{macro}{\IfUsePrefixLine} -% \changes{v3.18}{2015/06/09}{außerhalb von Gliederungsbefehlsstilen -% definiert}%^^A -% Eigentlich ist diese Anweisung nur innerhalb von Gliederungsbefehlen -% sinnvoll und wurde bis \KOMAScript{} 3.17c auch nur dort definiert. Dann gab -% es aber Leute, die \cs{chapterformat} missbraucht haben und gleich meldete -% sich jemand, die nicht verstehen konnte, warum die Anweisung dann einen -% Fehler produzieren muss. Wenn man den Code nicht verstanden hat, dann ist -% das nämlich so. Deshalb gebe ich jetzt eine Warnung aus, dass die Verwendung -% nicht unbedingt zu dem Resultat führt, das erwartet wird. +% \end{macro}^^A \@xsect +% +% \begin{command}{\IfUsePrefixLine} +% \changes{v3.18}{2015/06/09}{added} % \begin{macro}{\scr@IfUsePrefixLineWarning} -% \changes{v3.18}{2015/06/09}{neu (intern)} +% \changes{v3.18}{2015/06/09}{added} +% This command makes sense inside the section commands only. But users often +% tried to use it outside instead of \cs{ifnumbered}. This mostly has resulted +% in a undefined command sequence error users did not understand. So now, we +% use an internal definition to be uses outside the section commands, that +% results in a warning with more information about the mistake and that does +% neither use the first nor the second argument (instead of using both of them). % \begin{macrocode} %<*body> \newcommand*{\scr@IfUsePrefixLineWarning}[2]{% @@ -1578,52 +1480,68 @@ \let\IfUsePrefixLine\scr@IfUsePrefixLineWarning %</body> % \end{macrocode} -% \end{macro}%^^A \scr@IfUsePrefixLineWarning -% \end{macro}%^^A \IfUsePrefixLine +% \end{macro}^^A \scr@IfUsePrefixLineWarning +% \end{command}^^A \IfUsePrefixLine % % -% \begin{macro}{\raggedsection} -% \changes{v2.3h}{1996/01/20}{Überschriften werden \cs{raggedsection}%^^A -% gesetzt}%^^A -% \changes{v2.3h}{1996/01/20}{\cs{raggedsection} ist als \cs{raggedright} -% voreingestellt}%^^A -% Dieses Makro gibt an, wie die Überschriften formatiert -% werden. Voreingestellt ist linksbündig. Da dies nicht nur die Formatierung -% von \cs{section} (und darunter), sondern auch die Voreinstellung für die -% höheren Ebenen ist, wird die Definition hier vorgezogen. +% \begin{command}{\raggedsection} +% \changes{v2.3h}{1996/01/20}{added} +% Should be either \cs{raggedleft}, \cs{raggedright}, \cs{centering} or +% empty. Empty means no change, which is usually justified. Users could also +% use other alignment/justification commands like the commands of package +% \pkg{ragged2e}. The initial value is \cs{raggedright}. +% \begin{description} +% \item[Note:] We are here in the class. So usually \cs{raggedright} is the +% \cs{raggedright} of the \LaTeX{} kernel. This also means: no hyphenation. +% \item[Note:] We define is already here, because it is not only used for +% style \texttt{section} but also as initial default of the \emph{higher +% level} styles. +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\raggedsection}{} \let\raggedsection\raggedright %</body> % \end{macrocode} -% \end{macro}%^^A \raggedsection +% \end{command}^^A \raggedsection % % -% \begin{macro}{\DeclareSectionCommand} -% \changes{v3.15}{2014/11/21}{neue Anweisung}%^^A -% \changes{v3.17}{2015/03/23}{Komplettumbau, um stilabhängige Optionen zu -% ermöglichen}%^^A -% \changes{v3.18}{2015/05/22}{\cs{scr@dsc@def@style@\dots @command} -% definiert alle Stil abhängigen Anweisungen}%^^A -% \changes{v3.20}{2015/10/03}{\cs{DeclareTOCStyleEntry} -% definiert die Verzeichnisstil abhängigen Anweisungen}%^^A -% Definition neuer oder Umdefinition existierender Gliederungsbefehle. Ebenso -% wird ein Verzeichniseintrag erzeugt, falls ein solcher noch nicht -% existiert. Die Deklaration geschieht über diverse Optionen: -%^^A (Achtung: Unbedingt daran denken, die Optionen in -%^^A \cs{ProvideSectionCommands} ebenfalls zu definieren!!!) +% All the options of \cs{DeclareSectionCommand} are options of family +% \texttt{KOMAarg} member \texttt{.dsc}. % \begin{macrocode} %<*body> \DefineFamily{KOMAarg} \DefineFamilyMember[.dsc]{KOMAarg} % \end{macrocode} -% \begin{macro}{\DeclareSectionCommandStyleOption} -% \changes{v3.17}{2015/03/23}{neue Anweisung}%^^A -% Definiert eine neue Option für einen Stil eines Gliederungsbefehls. Das -% erste Argument ist der Stil, das zweite der Name der Option, das dritte ist -% die Definition. Sollte innerhalb der Definition eine Familie benötigt -% werden, so ist \texttt{KOMAarg} zu verwenden. +% \begin{command}{\DeclareSectionCommandStyleOption} +% \changes{v3.17}{2015/03/23}{added} +% \begin{command}{\AddToSectionCommandOptionsDoList,\RelaxSectionCommandOptions} +% \changes{v3.20}{2015/11/18}{added} +% \begin{macro}{\@AddToSectionCommandOptionsDoList,\scr@dsc@doopts} +% \changes{v3.20}{2015/11/18}{added} +% The basic command to define a section command style option is: +% \begin{quote} +% \cs{DeclareSectionCommandStyleOption}\marg{style}\marg{option}\marg{definition} +% \end{quote} +% Is similar to a corresponding \cs{DefineFamilyKey}. But the option +% definition is not done immediately but added to +% \cs{scr@dsc@style@\meta{style}@options} which is executed later inside +% \cs{DeclareSectionCommand} after detection of the \opt{style} option. The +% option is also added to the \emph{section command options do list} of +% \cs{scr@dsc@doopts} using +% \begin{quote} +% \cs{AddToSectionCommandOptionsDoList}\marg{option} +% \end{quote} +% This is used, e.g., to relax all options inside \cs{DeclareSectionCommand} +% using \cs{RelaxSectionCommandOptions} to not have options defined, that are +% used by one style, while declaring a command of another style, that does not +% support the option. +% \begin{description} +% \item[Note:] We also could have used another option member for every style +% to avoid such problems. With \LaTeX3 also usage of +% \pkg[https://www.ctan.org/pkg/l3kernel]{l3keys}, which provides a kind of +% hierarchical options, would have been possible. +% \end{description} % \begin{macrocode} \newcommand*{\DeclareSectionCommandStyleOption}[3]{% \AddToSectionCommandOptionsDoList{#2}% @@ -1631,20 +1549,6 @@ \DefineFamilyKey[.dsc]{KOMAarg}{#2}{#3}% }% } -% \end{macrocode} -% \begin{macro}{\DeclareSectionCommandDummyOption} -% \changes{v3.17}{2015/03/23}{neue Anweisung (intern)}%^^A -% \changes{v3.20}{2015/11/18}{wird nicht mehr benötigt}%^^A -% \end{macro}%^^A \DeclareSectionCommandDummyOption -% \begin{macro}{\AddToSectionCommandOptionsDoList} -% \changes{v3.20}{2015/11/18}{neu} -% \begin{macro}{\@AddToSectionCommandOptionsDoList} -% \changes{v3.20}{2015/11/18}{neu (intern)} -% \begin{macro}{\scr@dsc@doopts} -% \changes{v3.20}{2015/11/18}{neu (intern)} -% Registriert eine neue Gliederungsbefehlsoption, indem sie der internen Liste -% der Gliederungsbefehlsoptionen hinzugefügt wird. -% \begin{macrocode} \newcommand*{\AddToSectionCommandOptionsDoList}[1]{% \kernel@ifnextchar [%] {\@AddToSectionCommandOptionListWithDefault{#1}}% @@ -1655,14 +1559,6 @@ \l@addto@macro\scr@dsc@doopts{\do[{#2}]{#1}} }% \newcommand*{\scr@dsc@doopts}{} -% \end{macrocode} -% \end{macro}%^^A \scr@dsc@dooptions -% \end{macro}%^^A \@AddToSectionCommandOptionsListWithDefault -% \end{macro}%^^A \AddToSectionCommandOptionsDoList -% \begin{macro}{\RelaxSectionCommandOptions} -% \changes{v3.20}{2015/11/18}{neu} -% Diese Option macht alle Gliederungsbefehlsoptionen ungültig. -% \begin{macrocode} \newcommand*{\RelaxSectionCommandOptions}{% \begingroup \def\do@endgroup{\endgroup}% @@ -1678,14 +1574,45 @@ \do@endgroup } % \end{macrocode} -% \end{macro}%^^A \RelaxSectionCommandOptions -% \end{macro}%^^A \DeclareSectionCommandStyleOption -% \begin{macro}{\DeclareSectionCommandStyleLengthOption} -% \changes{v3.17}{2015/03/23}{neue Anweisung}%^^A -% \changes{v3.20}{2016/04/25}{Argument wird ggf. expandiert}%^^A -% Definiert eine für die aktuelle Ebene \cs{scr@dsc@current} eine neue -% Längenoption und speichert das Ergebnis in einem Makro, das sich aus -% Argument 3 gefolgt von der aktuellen Ebene gefolgt von Argument 4 ergibt. +% \end{macro}^^A \@AddToSectionCommandOptionsListWithDefault,\scr@dsc@dooptions +% \end{command}^^A \AddToSectionCommandOptionsDoList,\RelaxSectionCommandOptions +% \end{command}^^A \DeclareSectionCommandStyleOption +% We provide several kinds of options: +% \begin{command}{\DeclareSectionCommandDummyOption} +% \changes{v3.17}{2015/03/23}{added} +% \changes{v3.20}{2015/11/18}{removed} +% \end{command}^^A \DeclareSectionCommandDummyOption +% \begin{command}{\DeclareSectionCommandStyleLengthOption, +% \DeclareSectionCommandStyleNumberOption, +% \DeclareSectionCommandStyleFontOption} +% \changes{v3.17}{2015/03/23}{added} +% \changes{v3.20}{2016/04/25}{argument expansion} +% All these commands have the four arguments: +% \begin{quote} +% \marg{style}\marg{option}\marg{prefix}\marg{postfix} +% \end{quote} +% Most of the commands all correspond to \pkg*{scrbase} option declaration +% commands: +% \begin{center} +% \begin{tabular}{lll} +% \cs{DeclareSectionCommand} & \pkg*{scrbase} & meaning \\\hline +% \cs{DeclareSectionCommandStyleLengthOption} +% & \cs{FamilyLengthMacroKey} & length option\\ +% \cs{DeclareSectionCommandStyleNumberOption} +% & \cs{FamilyCounterMacroKey} & numerical option\\ +% \cs{DeclareSectionCommandStyleFontOption} +% & & font element option\\ +% \end{tabular} +% \end{center} +% The \meta{macro} of the corresponding \pkg*{scrbase} command is build by +% \meta{prefix}\cs{scr@dsc@current}\meta{postfix}. For +% \cs{DeclareSectionCommandStyleOption} the build name is the font +% element instead. However, before using (setting) the option, +% \cs{scr@dsc@current} has to be defined to be \meta{level name} +% (aka \emph{section command name}). Depending on \cs{ifscr@dsc@expandtopt} +% (see option \opt{expandtopt}) lengths given as argument to the option of +% \cs{DeclareSectionCommandStyleLengthOption} is expanded to a \texttt{pt} +% value instead of used as it is. % \begin{macrocode} \newcommand*{\DeclareSectionCommandStyleLengthOption}[4]{% \DeclareSectionCommandStyleOption{#1}{#2}{% @@ -1702,15 +1629,6 @@ \fi }% } -% \end{macrocode} -% \end{macro}%^^A \DeclareSectionCommandStyleLengthOption -% \begin{macro}{\DeclareSectionCommandStyleNumberOption} -% \changes{v3.17}{2015/03/23}{neue Anweisung}%^^A -% \changes{v3.20}{2016/04/25}{Argument wird expandiert}%^^A -% Definiert eine für die aktuelle Ebene \cs{scr@dsc@current} eine neue -% Zahlenoption und speichert das Ergebnis in einem Makro, das sich aus -% Argument 3 gefolgt von der aktuellen Ebene gefolgt von Argument 4 ergibt. -% \begin{macrocode} \newcommand*{\DeclareSectionCommandStyleNumberOption}[4]{% \DeclareSectionCommandStyleOption{#1}{#2}{% \protected@edef\reserved@a{% @@ -1721,14 +1639,6 @@ \fi }% } -% \end{macrocode} -% \end{macro}%^^A \DeclareSectionCommandStyleNumberOption -% \begin{macro}{\DeclareSectionCommandStyleFontOption} -% \changes{v3.17}{2015/03/23}{neue Anweisung}%^^A -% Definiert für die aktuelle Ebene \cs{scr@dsc@current} eine neue -% Schrift und speichert das Ergebnis in einem Element, das sich aus -% Argument 3 gefolgt von der aktuellen Ebene gefolgt von Argument 4 ergibt. -% \begin{macrocode} \newcommand*{\DeclareSectionCommandStyleFontOption}[4]{% \DeclareSectionCommandStyleOption{#1}{#2}{% \IfExistskomafont{#3\scr@dsc@current#4}{% @@ -1740,16 +1650,22 @@ }% } % \end{macrocode} -% \end{macro}%^^A \DeclareSectionCommandStyleFontOption -% \begin{macro}{\DeclareSectionCommandStyleFuzzyOption} -% \changes{v3.26}{2018/09/18}{neue Anweisung}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Definiert für die aktuelle Ebene \cs{scr@dsc@current} eine neue -% Fuzzy-Auswahl. Eine Fuzzy-Auswahl akzeptiert neben den Werten für -% boolsche-Schalter noch einen weiteren Wert. Es wird davon eine Anweisung -% mit drei Argumenten definiert. Abhängig vom Wert wird das erste -% (\texttt{true}), zweite (\texttt{false}) oder dritte (\emph{sonst}) Argument -% ausgeführt. Der erlaubte weitere Wert wird als 5. Argument angegeben. +% \end{command}^^A \DeclareSectionCommandStyleLengthOption … +% \begin{command}{\DeclareSectionCommandStyleFuzzyOption} +% \changes{v3.26}{2018/09/18}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% We also have a kind of fuzzy option. A fuzzy option defined by +% \begin{quote} +% \cs{DeclareSectionCommandStyleFuzzyOption}\meta{style}\meta{option}% +% \meta{prefix}\meta{postfix}\meta{also} +% \end{quote} +% is an option, that provides three values: \texttt{true} (and the aliases +% \texttt{on} and \texttt{yes}), \texttt{false} (and the aliases \texttt{off} +% and \texttt{no}), and a third one \meta{also}. It defines a macro with the +% name \meta{prefix}\cs{scr@dsc@current}\meta{postfix} and three arguments. If +% the option is true, the macro expands to the first argument. If the option +% is false, the macro expands to the second argument. If the option is +% \meta{also} the macro expands to the third argument. % \begin{macrocode} \newcommand*{\DeclareSectionCommandStyleFuzzyOption}[5]{% \DeclareSectionCommandStyleOption{#1}{#2}{% @@ -1772,81 +1688,94 @@ }% } % \end{macrocode} -% \end{macro}%^^A \DeclareSectionCommandStyleFuzzyOptions +% \end{command}^^A \DeclareSectionCommandStyleFuzzyOptions % +% These types of options are used to define all the options of a style, e.g., % \begin{macro}{\scr@dsc@style@section@options} -% \changes{v3.17}{2015/03/23}{neue Anweisung (intern)}%^^A -% Dann für die Optionen des Stils \texttt{section}: +% \changes{v3.17}{2015/03/23}{added} +% the option declarations of style \texttt{section}: % \begin{macrocode} \newcommand*{\scr@dsc@style@section@options}{} % \end{macrocode} -% \begin{description}\item[\texttt{indent}] -% Linker Einzug der Überschrift +% \begin{description} +% \item[\opt{indent=\meta{length}}:] +% the left indent of the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{section} {indent}{scr@}{@sectionindent} % \end{macrocode} % \begin{description} -% \item[\texttt{afterindent}] -% \changes{v3.26}{2018/09/18}{neue Option \texttt{afterindent}}%^^A -% Fuzzy-Logik. Ein boolcher Wert gibt an, ob die erste Zeile nach der -% Überschrift eingezogen werden soll. Als dritter Wert ist \texttt{bysign} -% möglich. Dann hängt die Entscheidung für den Einzug vom Vorzeichen von -% \texttt{beforeskip} ab. Ein negativer Wert bedeutet dann, dass der -% Absatzeinzug nach der Überschrift unterdrückt werden soll. +% \item[\opt{afterindent=\meta{fuzzy}}:] +% \changes{v3.26}{2018/09/18}{option \opt{afterindent}} +% fuzzy logic. A boolean value states whether to indent the first line +% after the heading. With additional \opt{afterindent=bysign} the decision +% depends on the sign of \opt{beforeskip}. Negative values of +% \opt{beforeskip} result in no paragraph indent. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFuzzyOption{section} {afterindent}{scr@}{@afterindent} {bysign} % \end{macrocode} -% \begin{description}\item[\texttt{beforeskip}] -% Gibt den vertikalen Abstand vor der Übeschrift an. Im Fall von -% \texttt{afterindent=bysign} wird der Absolutwert verwendet. +% \begin{description} +% \item[\opt{beforeskip=\meta{length}}:] +% The vertical distance before the heading. If \opt{afterindent=bysign}, the +% absolute value of \meta{length} is used. Otherwise the \meta{length} can +% also be negative to move up the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{section} {beforeskip}{scr@}{@beforeskip} % \end{macrocode} -% \begin{description}\item[\texttt{runin}] -% \changes{v3.26}{2018/09/18}{neue Option \texttt{runin}}%^^A -% Fuzzy-Logik. Ein boolscher Wert gibt an, dass die Überschrift als -% Spitzmarke (\texttt{true}) oder als eigene Zeile (\texttt{false}) gesetzt -% werden soll. Als dritter Wert ist \texttt{bysign} möglich. Dann hängt -% Spitzmarke oder nicht vom Vorzeichen von \texttt{afterskip} ab. Spitzmarke -% gibt es dann bei einem negativen Wert von \texttt{afterskip}. +% \begin{description} +% \item[\opt{runin=\meta{fuzzy}}:] +% \changes{v3.26}{2018/09/18}{option \opt{runin}} +% fuzzy logic. A boolean value states whether the heading is run-in (or +% free-standing). With additional \opt{runin=bysign} the decision depends on +% the sign of \opt{afterskip}. Negative values of \opt{afterskip} result in +% a run-in heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFuzzyOption{section} {runin}{scr@}{@runin} {bysign} % \end{macrocode} -% \begin{description}\item[\texttt{afterskip}] Im Fall einer Spitzmarke (siehe -% \texttt{runin}) der horizontale Abstand nach der Überschrift. Im Fall einer -% freistehenden Überschrift der vertikale Abstand nach der Überschrift. Falls -% die Spitzmarke über das Vorzeichen aktiviert wird, wird immer der Betrag des -% Wertes verwendet! +% \begin{description} +% \item[\opt{afterskip=\meta{length}}:] +% In case of a run-in heading (see option \opt{runin}) the horizontal +% distance after the heading. In case of a free-standing heading the +% vertical distance after the heading. If the run-in heading is activated by +% a negative \meta{length}, the absolute value is used. Otherwise the +% \meta{length} can also be negative, which usually does not make much +% sense. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{section} {afterskip}{scr@}{@afterskip} % \end{macrocode} -% \begin{description}\item[\texttt{font}] Schrifteinstellungen für das -% Element.\end{description} +% \begin{description} +% \item[\opt{font=\meta{font settings}}:] +% The font setting for the font element of the heading. +% \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFontOption{section}{font}{}{} % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@section@options +% \end{macro}^^A \scr@dsc@style@section@options % \begin{macro}{\scr@dsc@def@style@section@command} -% \changes{v3.18}{2015/05/21}{neue Anweisung (intern)}%^^A -% \changes{v3.20}{2016/01/19}{korrekte Spitzmarkenprüfung für -% \cs{parfillskip}-Änderung}%^^A -% Diese Anweisung left fest, wie ein Gliederungsbefehl für den Stil -% \texttt{section} zu definieren ist. Das einzige Argument ist dabei der -% \meta{Name} der Gliederungsebene, beispielsweise \texttt{section}, -% \texttt{subsection} etc. Hier ist es recht einfach, da lediglich -% \cs{\meta{Name}} per \cs{scr@startsection} definiert werden muss. +% \changes{v3.18}{2015/05/21}{added} +% \changes{v3.20}{2016/01/19}{inline section test fixed} +% Macro +% \begin{quote} +% \cs{scr@dsc@def@style@section@command}\marg{command name} +% \end{quote} +% defines a section command \cs{\meta{command name}} of style +% \texttt{section}. +% \begin{description} +% \item[Note:] Here we already use our own \cs{scr@startsection} instead of +% \cs{@startsection}. So maybe not redefining \cs{@startsection} or +% redefining \cs{@startsection} only optionally wouldn't be a big step. +% \end{description} % \begin{macrocode} \newcommand*{\scr@dsc@def@style@section@command}[1]{% \@namedef{#1}{% @@ -1867,18 +1796,20 @@ }% } % \end{macrocode} -% \end{macro}%^^A \scr@dsc@def@style@section@command +% \end{macro}^^A \scr@dsc@def@style@section@command % % \begin{macro}{\scr@dsc@style@chapter@options} -% \changes{v3.17}{2015/03/23}{neue Anweisung (intern)}%^^A -% Dann für die Optionen des Stils \texttt{chapter}: +% \changes{v3.17}{2015/03/23}{added} +% Now, the option declaration of style \texttt{chapter} (similar, but not the +% same): % \begin{macrocode} %<*book|report> \newcommand*{\scr@dsc@style@chapter@options}{} % \end{macrocode} % \begin{description} -% \item[\texttt{pagestyle}] Seitenstil für die Anfangsseite der -% Gliederungsebene. +% \item[\opt{pagestyle=\meta{name}}:] +% The page style, that should be used for the starting page of the chapter +% like outline level. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleOption{chapter}{pagestyle}{% @@ -1887,65 +1818,72 @@ }% % \end{macrocode} % \begin{description} -% \item[\texttt{afterindent}] -% \changes{v3.26}{2018/09/18}{neue Option \texttt{afterindent}}%^^A -% Fuzzy-Logik. Ein boolcher Wert gibt an, ob die erste Zeile nach der -% Überschrift eingezogen werden soll. Als dritter Wert ist \texttt{bysign} -% möglich. Dann hängt die Entscheidung für den Einzug vom Vorzeichen von -% \texttt{beforeskip} ab. Ein negativer Wert bedeutet dann, dass der -% Absatzeinzug nach der Überschrift unterdrückt werden soll. +% \item[\opt{afterindent=\meta{fuzzy}}:] +% \changes{v3.26}{2018/09/18}{option \opt{afterindent}} +% fuzzy logic. A boolean value states whether to indent the first line +% after the heading. With additional \opt{afterindent=bysign} the decision +% depends on the sign of \opt{beforeskip}. Negative values of +% \opt{beforeskip} result in no paragraph indent. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFuzzyOption{chapter} {afterindent}{scr@}{@afterindent} {bysign} % \end{macrocode} -% \begin{description}\item[\texttt{beforeskip}] -% Gibt den vertikalen Abstand vor der Übeschrift an. Im Fall von -% \texttt{afterindent=bysign} wird der Absolutwert verwendet. +% \begin{description} +% \item[\opt{beforeskip=\meta{length}}:] +% The vertical distance before the heading. If \opt{afterindent=bysign}, the +% absolute value of \meta{length} is used. Otherwise the \meta{length} can +% also be negative to move up the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{chapter} {beforeskip}{scr@}{@beforeskip} % \end{macrocode} % \begin{description} -% \item[\texttt{innerskip}] Der Absolutwert gibt den vertikalen Abstand -% innerhalb der Überschrift zwischen Präfix-Zeile und Text an. +% \item[\opt{innerskip=\meta{length}}:] +% The vertical distance between the prefix line and the text (if a prefix +% line is used). % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{chapter} {innerskip}{scr@}{@innerskip} % \end{macrocode} % \begin{description} -% \item[\texttt{afterskip}] Der Absolutwert gibt den vertikalen Abstand nach -% der Überschrift an. +% \item[\opt{afterskip=\meta{length}}:] +% The vertical distance after the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{chapter} {afterskip}{scr@}{@afterskip} % \end{macrocode} % \begin{description} -% \item[\texttt{font}] Schrifteinstellungen für das Element. +% \item[\opt{font=\meta{font settings}}:] +% The font setting for the font element of the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFontOption{chapter}{font}{}{} % \end{macrocode} % \begin{description} -% \item[\texttt{prefixfont}] Schrifteinstellungen für die Präfixzeile des -% Elements. +% \item[\opt{prefixfont=\meta{font settings}}:] +% The font setting for the font element of the prefix line of the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFontOption{chapter}{prefixfont}{}{prefix} % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@chapter@options +% \end{macro}^^A \scr@dsc@style@chapter@options % \begin{macro}{\scr@dsc@def@style@chapter@command} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung left fest, wie ein Gliederungsbefehl für den Stil -% \texttt{chapter} zu definieren ist. Das einzige Argument ist dabei der -% \meta{Name} der Gliederungsebene, normalerweise \texttt{chapter}. -% Das ist etwas komplizierter als bei \cs{scr@dsc@def@style@section@command}, -% da hier eine ganze Reihe von miteinander verschachtelten Anweisungen zu -% definieren sind. +% \changes{v3.18}{2015/05/22}{added} +% Macro +% \begin{quote} +% \cs{scr@dsc@def@style@chapter@command}\marg{command name} +% \end{quote} +% defines a section command \cs{\meta{command name}} of style +% \texttt{chapter}. We need some more macros to be initialized than with +% \cs{scr@dsc@def@style@section@command}. +% \begin{description} +% \item[ToDo:] Make a more generic (and general) interface for this. +% \end{description} % \begin{macrocode} \newcommand*{\scr@dsc@def@style@chapter@command}[1]{% \@namedef{#1}{\scr@startchapter{#1}}% @@ -1960,27 +1898,31 @@ %</book|report> % \end{macrocode} % \begin{macro}{\scr@dsc@style@chapter@subcommands} -% \selectlanguage{english}%^^A -% \changes{v3.30}{2020/04/08}{new (internal)} +% \changes{v3.30}{2020/04/08}{added} % Internal name list of additional commands to be defined for style -% \texttt{part} commands. +% \texttt{chapter} commands. This is used, to decide, if a new section command +% declaration is really new or already redefines some commands. This should +% help to avoid, e.g., defining a new chapter command \cs{schapter}, if +% \cs{chapter} is already defines, because \cs{schapter} would redefine the +% \cs{@schapter} of \cs{chapter}. % \begin{macrocode} \newcommand*{\scr@dsc@style@chapter@subcommands}[1]{% @#1,@s#1,@make#1head,@makes#1head,@@make#1head,@@makes#1head,set#1preamble% } % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@chapter@subcommands -% \end{macro}%^^A \scr@dsc@def@style@chapter@command +% \end{macro}^^A \scr@dsc@style@chapter@subcommands +% \end{macro}^^A \scr@dsc@def@style@chapter@command % % \begin{macro}{\scr@dsc@style@part@options} -% \changes{v3.17}{2015/03/23}{neue Anweisung (intern)}%^^A -% Dann für die Optionen des Stils \texttt{part}: +% \changes{v3.17}{2015/03/23}{added} +% Now the options for style \texttt{part} (very similar to \texttt{chapter}): % \begin{macrocode} \newcommand*{\scr@dsc@style@part@options}{} % \end{macrocode} % \begin{description} -% \item[\texttt{pagestyle}] Seitenstil für die Anfangsseite der -% Gliederungsebene. +% \item[\opt{pagestyle=\meta{name}}:] +% The page style, that should be used for the starting page of the chapter +% like outline level. % \end{description} % \begin{macrocode} %<*report|book> @@ -1991,30 +1933,32 @@ %</report|book> % \end{macrocode} % \begin{description} -% \item[\texttt{afterindent}] -% \changes{v3.26}{2018/09/18}{neue Option \texttt{afterindent}}%^^A -% Fuzzy-Logik. Ein boolcher Wert gibt an, ob die erste Zeile nach der -% Überschrift eingezogen werden soll. Als dritter Wert ist \texttt{bysign} -% möglich. Dann hängt die Entscheidung für den Einzug vom Vorzeichen von -% \texttt{beforeskip} ab. Ein negativer Wert bedeutet dann, dass der -% Absatzeinzug nach der Überschrift unterdrückt werden soll. +% \item[\opt{afterindent=\meta{fuzzy}}:] +% \changes{v3.26}{2018/09/18}{option \opt{afterindent}} +% fuzzy logic. A boolean value states whether to indent the first line +% after the heading. With additional \opt{afterindent=bysign} the decision +% depends on the sign of \opt{beforeskip}. Negative values of +% \opt{beforeskip} result in no paragraph indent. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFuzzyOption{part} {afterindent}{scr@}{@afterindent} {bysign} % \end{macrocode} -% \begin{description}\item[\texttt{beforeskip}] -% Gibt den vertikalen Abstand vor der Übeschrift an. Im Fall von -% \texttt{afterindent=bysign} wird der Absolutwert verwendet. +% \begin{description} +% \item[\opt{beforeskip=\meta{length}}:] +% The vertical distance before the heading. If \opt{afterindent=bysign}, the +% absolute value of \meta{length} is used. Otherwise the \meta{length} can +% also be negative to move up the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{part} {beforeskip}{scr@}{@beforeskip} % \end{macrocode} % \begin{description} -% \item[\texttt{innerskip}] Der Absolutwert gibt den vertikalen Abstand -% innerhalb der Überschrift zwischen Präfix-Zeile und Text an. +% \item[\opt{innerskip=\meta{length}}:] +% The vertical distance between the prefix line and the text (if a prefix +% line is used). % \end{description} % \begin{macrocode} %<*book|report> @@ -2023,32 +1967,41 @@ %</book|report> % \end{macrocode} % \begin{description} -% \item[\texttt{afterskip}] Der Absolutwert gibt den vertikalen Abstand nach -% der Überschrift an. +% \item[\opt{afterskip=\meta{length}}:] +% The vertical distance after the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleLengthOption{part} {afterskip}{scr@}{@afterskip} % \end{macrocode} % \begin{description} -% \item[\texttt{font}] Schrifteinstellungen für das Element. +% \item[\opt{font=\meta{font settings}}:] +% The font setting for the font element of the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFontOption{part}{font}{}{} % \end{macrocode} % \begin{description} -% \item[\texttt{font}] Schrifteinstellungen für die Präfixzeile des Elements. +% \item[\opt{prefixfont=\meta{font settings}}:] +% The font setting for the font element of the prefix line of the heading. % \end{description} % \begin{macrocode} \DeclareSectionCommandStyleFontOption{part}{prefixfont}{}{prefix} % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@part@options -% \begin{macro}{\scr@dsc@def@style@part@ommand} -% \changes{v3.18}{2015/05/23}{neue Anweisung (intern)} -% Diese Anweisung legt fest, wie ein Gliederungsbefehl für den Stil -% \texttt{part} zu definieren ist. Das einzige Argument ist dabei der -% \meta{Name} der Gliederungsebene, normalerweise \texttt{part}. -% Das ist ganz ähnlich wie bei \cs{scr@dsc@def@style@chapter@command}. +% \end{macro}^^A \scr@dsc@style@part@options +% \begin{macro}{\scr@dsc@def@style@part@command} +% \changes{v3.18}{2015/05/23}{added} +% Macro +% \begin{quote} +% \cs{scr@dsc@def@style@part@command}\marg{command name} +% \end{quote} +% defines a section command \cs{\meta{command name}} of style +% \texttt{part}. This looks like a mixture of +% \cs{scr@dsc@def@style@section@command} and +% \cs{scr@dsc@def@style@chapter@command}. +% \begin{description} +% \item[ToDo:] Make a more generic (and general) interface for this. +% \end{description} % \begin{macrocode} \newcommand*{\scr@dsc@def@style@part@command}[1]{% \@namedef{#1}{\scr@startpart{#1}}% @@ -2059,8 +2012,7 @@ } % \end{macrocode} % \begin{macro}{\scr@dsc@style@part@subcommands} -% \selectlanguage{english}%^^A -% \changes{v3.30}{2020/04/08}{new (internal)} +% \changes{v3.30}{2020/04/08}{added} % Internal name list of additional commands to be defined for style % \texttt{part} commands. % \begin{macrocode} @@ -2068,19 +2020,18 @@ @#1,@s#1,@end#1,set#1preamble% } % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@part@subcommands -% \end{macro}%^^A \scr@dsc@def@style@part@command +% \end{macro}^^A \scr@dsc@style@part@subcommands +% \end{macro}^^A \scr@dsc@def@style@part@command % % \begin{macro}{\scr@dsc@style@section@neededoptionstest} -% \changes{v3.17}{2015/03/24}{Neu (intern)}%^^A -% \changes{v3.24}{2017/04/25}{Voreinstellungen für \texttt{indent} und -% \texttt{font}}%^^A -% \changes{v3.26}{2018/09/18}{\texttt{runin} und \texttt{afterindent} -% beachten}%^^A -% Dieses Anweisung überprüft, ob alle notwendigen Eigenschaften für die -% Definition der spezifischen Gliederungsebene im section-Stil bekannt -% sind. Sollte das nicht der Fall sein, meldet sie einen Fehler und sorgt sie -% mit \cs{aftergroup}\cs{@gobbletwo} dafür, dass die Definition unterbleibt. +% \changes{v3.17}{2015/03/24}{added} +% \changes{v3.24}{2017/04/25}{initial values of \opt{indent} and +% \opt{font}} +% \changes{v3.26}{2018/09/18}{supporting \opt{runin} and \opt{afterindent}} +% This macro checks, that all attributes needed for the definition of a +% section command (with style \texttt{section}) are properly setup. If not, an +% error is reported and the definition is prevented (using +% \cs{aftergroup}\cs{@gobbletwo} inside \cs{scr@declaresectioncommanderror}). % \begin{macrocode} \newcommand*{\scr@dsc@style@section@neededoptionstest}{% \scr@ifundefinedorrelax{scr@\scr@dsc@current @sectionindent}{% @@ -2121,17 +2072,17 @@ }{}% } % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@section@neededoptionstest +% \end{macro}^^A \scr@dsc@style@section@neededoptionstest % % \begin{macro}{\scr@dsc@style@chapter@neededoptionstest} -% \changes{v3.17}{2015/03/24}{Neu (intern)}%^^A -% \changes{v3.24}{2017/04/25}{Voreinstellungen für alle außer auf Ebene -% \texttt{chapter}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Dieses Anweisung überprüft, ob alle notwendigen Eigenschaften für die -% Definition der spezifischen Gliederungsebene im chapter-Stil bekannt -% sind. Sollte das nicht der Fall sein, meldet sie einen Fehler und sorgt sie -% mit \cs{aftergroup}\cs{@gobbletwo} dafür, dass die Definition unterbleibt. +% \changes{v3.17}{2015/03/24}{added} +% \changes{v3.24}{2017/04/25}{initial values for all but level +% \texttt{chapter}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% This macro checks, that all attributes needed for the definition of a +% chapter command (with style \texttt{chapter}) are properly setup. If not, an +% error is reported and the definition is prevented (using +% \cs{aftergroup}\cs{@gobbletwo} inside \cs{scr@declaresectioncommanderror}). % \begin{macrocode} %<*book|report> \newcommand*{\scr@dsc@style@chapter@neededoptionstest}{% @@ -2212,17 +2163,16 @@ } %</book|report> % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@chapter@neededoptionstest +% \end{macro}^^A \scr@dsc@style@chapter@neededoptionstest % % \begin{macro}{\scr@dsc@style@part@neededoptionstest} -% \changes{v3.17}{2015/03/24}{Neu (intern)} -% \changes{v3.24}{2017/04/25}{Voreinstellungen für alle außer auf Ebene -% \texttt{part}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Dieses Anweisung überprüft, ob alle notwendigen Eigenschaften für die -% Definition der spezifischen Gliederungsebene im part-Stil bekannt -% sind. Sollte das nicht der Fall sein, meldet sie einen Fehler und sorgt sie -% mit \cs{aftergroup}\cs{@gobbletwo} dafür, dass die Definition unterbleibt. +% \changes{v3.17}{2015/03/24}{added} +% \changes{v3.24}{2017/04/25}{initial values for all but level \texttt{part}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% This macro checks, that all attributes needed for the definition of a +% part command (with style \texttt{part}) are properly setup. If not, an +% error is reported and the definition is prevented (using +% \cs{aftergroup}\cs{@gobbletwo} inside \cs{scr@declaresectioncommanderror}). % \begin{macrocode} \newcommand*{\scr@dsc@style@part@neededoptionstest}{% %<*book|report> @@ -2306,27 +2256,51 @@ }{}% } % \end{macrocode} -% \end{macro}%^^A \scr@dsc@style@part@neededoptionstest +% \end{macro}^^A \scr@dsc@style@part@neededoptionstest % -% \begin{macro}{\ifscr@dsc@parametersonly} -% \changes{v3.17}{2015/03/24}{neu}%^^A -% \changes{v3.20}{2015/11/18}{es gibt keine Dummy-Optionen mehr}%^^A -% Dieser Schalter wird verwendet, um die Einstellungen entsprechend dem -% aktuell gültigen Stil zu ändern, die zugehörige Anweisung selbst aber nicht -% neu zu definieren. Er wird von einem leeren \texttt{style}-Wert lokal -% gesetzt. +% \begin{macro}{\scr@dsc@parametersonlytrue,\scr@dsc@parametersonlyfalse, +% \ifscr@dsc@parametersonly} +% \changes{v3.17}{2015/03/24}{added} +% \changes{v3.20}{2015/11/18}{dummy options removed} +% In the first option pass of \cs{DeclareSectionCommand} this is set to true, +% if the \opt{style} option is used without value, to change the settings of a +% command without running \cs{scr@dsc@def@style@\meta{style}@command} and +% therefore without defining the command itself. +% \begin{description} +% \item[ToDo:] Is this a not documented feature? What's the sense? +% \end{description} % \begin{macrocode} \newif\ifscr@dsc@parametersonly % \end{macrocode} -% \end{macro}%^^A \ifscr@dsc@parametersonly +% \end{macro}^^A \ifscr@dsc@parametersonly % +% \begin{command}{\DeclareSectionCommand} +% \changes{v3.15}{2014/11/21}{added} +% \changes{v3.17}{2015/03/23}{re-implemented because of style depending +% options} +% \changes{v3.18}{2015/05/22}{\cs{scr@dsc@def@style@\dots @command} +% defines style depending macros} +% \changes{v3.20}{2015/10/03}{using \cs{DeclareTOCStyleEntry}} +% The main command to define new section commands or redefine existing section +% commands. Incidentally it also defines the corresponding ToC entry command. +% \begin{quote} +% \cs{DeclareSectionCommand}\oarg{options}\marg{command name} +% \end{quote} +% is used to define \cs{\meta{command name}}. The \meta{options} are used to +% specify the behave of the command. It is declared as optional +% argument. However for new commands not all the options are really optional. +% \begin{description} +% \item[Note:] Don't forget to declare all options, that are defined for +% \cs{DeclareSectionCommand} also for \cs{ProvideSectionCommands}! +% \end{description} % \begin{macrocode} \newcommand*{\DeclareSectionCommand}[2][]{% \edef\scr@dsc@current{#2}% % \end{macrocode} -% Im ersten Durchlauf werden nur die Stil-Optionen ausgewertet: +% The first pass to get the: % \begin{description} -% \item[\texttt{style}] Stil der Gliederungsebene +% \item[\opt{style=\meta{name}}:] +% style of the section command. % \end{description} % \begin{macrocode} \scr@dsc@parametersonlyfalse @@ -2345,16 +2319,16 @@ }% % \end{macrocode} % \begin{description} -% \item[\texttt{tocstyle}] -% \changes{v3.20}{2015/11/12}{Option \texttt{tocstyle} frühzeitig -% auswerten}%^^A -% \changes{v3.27}{2019/10/02}{Präfix für die Speicherung des -% Verzeichnisstils geändert}%^^A -% Verzeichnis-Eintrags-Stil, damit auch für diesen anschließend die Optionen -% definiert bzw. aktiviert werden können. Zu beachten ist hier, dass ab -% \textsf{tocbasic} 3.27 der Stil korrekter Weise in \cs{scr@tso@\meta{level -% name}@style} statt in \cs{scr@dte@\meta{level name}@style} gespeichert -% wird. Zur Sicherheit werden hier beide Makros behandelt. +% \item[\opt{tocstyle=\meta{name}}:] \changes{v3.20}{2015/11/12}{early +% evaluation of option \opt{tocstyle}} \changes{v3.27}{2019/10/02}{prefix +% for storing directory style changed} style of the ToC entry. From +% \pkg*{tocbasic} 3.27 the style name macro has been changed from +% \cs{scr@dte@\meta{level name}@style} to \cs{scr@tso@\meta{level +% name}@style}. +% \begin{description} +% \item[ToDo:] Don't support deprecated \cs{scr@dte@\meta{level name}@style} +% any longer. +% \end{description} % \end{description} % \begin{macrocode} \DefineFamilyKey[.dsc]{KOMAarg}{tocstyle}{% @@ -2382,12 +2356,11 @@ }% % \end{macrocode} % \begin{description} -% \item[\texttt{@else@}] -% \changes{v3.20}{2015/11/18}{Option \texttt{tocstyle} frühzeitig -% auswerten}%^^A -% Damit keine anderen Optionen ausgewertet werden müssen aber auch nicht als -% unbekannte Optionen einen Fehler erzeugen, wird diese Spezialoption -% definiert, die einfach nur \cs{FamilyKeyStateProcessed} setzt. +% \item[\texttt{@else@=\meta{value}}:] +% \changes{v3.20}{2015/11/18}{early evaluation of option \opt{tocstyle}} +% All other options are ignored using the \opt{@else@} option, which simply +% accepts every option. So the first pass does not report any unknown +% options. % \end{description} % \begin{macrocode} \DefineFamilyKey[.dsc]{KOMAarg}{@else@}{% @@ -2404,10 +2377,8 @@ }% \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}% % \end{macrocode} -% \changes{v3.20}{2015/11/18}{Rüchnahme der Optionen nach dem ersten -% Durchgang}%^^A -% Nach dem ersten Druchgang müssen alle Optionen wieder zurückgenommen -% werden. +% \changes{v3.20}{2015/11/18}{Resetting options after first pass} +% After the first pass we have to reset these options. % \begin{macrocode} \RelaxFamilyKey[.dsc]{KOMAarg}{@else@}% \RelaxFamilyKey[.dsc]{KOMAarg}{tocstyle}% @@ -2420,14 +2391,13 @@ \endgroup \@firstofone{% % \end{macrocode} -% \changes{v3.20}{2015/11/12}{keine Dummy-Optionen für den echten Lauf}%^^A -% Nachdem nun der Stil für den Gliederungsbefehl bekannt ist, können wir -% dessen Optionen aktivieren: +% \changes{v3.20}{2015/11/12}{dummy options for main pass removed} +% Now, we know the style and can activate all the options of the style. % \begin{macrocode} %<trace> \typeout{TRACE: style=\@nameuse{scr@\scr@dsc@current @style}}% \@nameuse{scr@dsc@style@\@nameuse{scr@\scr@dsc@current @style}@options}% % \end{macrocode} -% Außerdem muss der Verzeichniseintrags-Stils initialisiert werden: +% And initialize the ToC style. % \begin{macrocode} %<trace> \typeout{TRACE: tocstyle=% %<trace> \@nameuse{scr@tso@\scr@dsc@current @style}}% @@ -2438,14 +2408,16 @@ }{}% % \end{macrocode} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.21}{2016/06/12}{erlaube auch \texttt{tocentry} an Stelle von -% \texttt{toc} als Präfix}%^^A -% An dieser Stelle müssen die Optionen des Verzeichniseintrags auf Optionen -% der Gliederungsebene abgebildet werden. Dazu erhalten sie in der -% Gliederungebene den Präfix \texttt{toc}. Das bedeutet gleichzeitig, dass es -% keine Verzeichniseintragsoption Namens \texttt{style} geben kann und dass -% Gliederungsoptionen nicht mit \texttt{toc} beginnen dürfen. +% \cs{kernel@ifnextchar}} +% \changes{v3.21}{2016/06/12}{support for prefix \opt{tocentry} instead of +% \opt{toc}} +% We also have to define options for all the ToC style options by adding the +% prefix \opt{toc} to the names of these options. This also means a ToC style +% option \opt{style} must not exist (because we already have an option +% \opt{tocstyle}). This is the main reason, \cs{DeclareTOCStyleEntry} has not +% such an option but a corresponding argument. Additionally ToC style options +% should never start with \opt{toc} (because of the ugly resulting +% \opt{toctoc\dots}). % \begin{macrocode} \let\scr@dsc@tocstyle@options\@empty \let\scr@dsc@extra@relax@opts\@empty @@ -2502,26 +2474,30 @@ \do@endgroup }% % \end{macrocode} -% Die Optionen für die Stile von Verzeichniseintrag und Gliederungsebene -% werden nicht erneut benötigt, müssten aber natürlich erneut verarbeitet -% werden. +% Make option \opt{style} and \opt{tocstyle} (fast) dummies, because they +% already have been handled completely. % \begin{macrocode} \DefineFamilyKey[.dsc]{KOMAarg}{style}{\FamilyKeyStateProcessed}% \DefineFamilyKey[.dsc]{KOMAarg}{tocstyle}{\FamilyKeyStateProcessed}% % \end{macrocode} -% Dazu kommen einige Optionen, die es schlicht immer gibt: -% \begin{description}\item[\texttt{expandtopt}] Schalter, um die Längen zur -% Definitionszeit statt zur Anwendungszeit komplett zu expandieren. Das -% bedingt dann aber auch, dass die Längen nicht mehr abhängig von der -% aktuellen Schriftgröße sind.\end{description} +% Some options exist for all section command styles and therefore are defined +% here and not a part of the style options: +% \begin{description} +% \item[\opt{expandtopt=\meta{boolean}}:] +% If \texttt{true} all lengths are expanded at setting time to unit pt +% instead of used unchanged. With this, the lengths are not depending on the +% font size of usage time but on the current font size. +% \end{description} % \begin{macrocode} \FamilyBoolKey[.dsc]{KOMAarg}{expandtopt}{scr@dsc@expandtopt}% \scr@dsc@expandtoptfalse % \end{macrocode} -% \begin{description}\item[\texttt{increaselevel}] Automatische Erhöhung des -% Wertes von Option \texttt{level} mit Säumniswert 1. Diese Option wird nur -% definiert, wenn \cs{DeclareSectionCommands} verwendet wurde, was an -% \cs{scr@local@levelincrease} erkannt wird.\end{description} +% \begin{description} +% \item[\opt{increaselevel=\meta{number}}:] +% Automatically increase \opt{level} by \meta{number} (with default 1). This +% is needed for \cs{DeclareSectionCommands} and therefore only defined if +% \cs{scr@local@levelincrease} is defined. +% \end{description} % \begin{macrocode} \scr@ifundefinedorrelax{scr@local@levelincrease}{% \RelaxFamilyKey[.dsc]{KOMAarg}{increaselevel}% @@ -2530,8 +2506,10 @@ {\scr@local@levelincrease}% }% % \end{macrocode} -% \begin{description}\item[\texttt{level}] nummerische -% Gliederungsebene\end{description} +% \begin{description} +% \item[\opt{level=\meta{number}}:] +% The numerical outline level of the command. +% \end{description} % \begin{macrocode} \scr@ifundefinedorrelax{scr@local@leveloffset}{% \edef\reserved@a{% @@ -2554,28 +2532,31 @@ }\reserved@a }% % \end{macrocode} -% \changes{v3.19}{2015/09/09}{neue Eigenschaft \texttt{counterwithout}} -% \begin{description}\item[\texttt{counterwithout}] Der Zähler dieser Ebene -% soll nicht länger abhängen vom angegebenen Zähler. +% \begin{description} +% \item[\opt{counterwithout=\meta{name}}:] +% \changes{v3.19}{2015/09/09}{option \opt{counterwithout}} +% The counter of this command should not depend on the counter +% \cnt{name} any longer. % \end{description} % \begin{macrocode} \FamilyStringKey[.dsc]{KOMAarg}{counterwithout}{\scr@local@counterwithout}% \let\scr@local@counterwithout\relax % \end{macrocode} -% \begin{description}\item[\texttt{counterwithin}] Der Zähler dieser Ebene -% soll abhängen vom angegebenen Zähler. +% \begin{description} +% \item[\opt{counterwithin=\meta{name}}:] +% The counter of this command depends on the counter \cnt{name}. % \end{description} % \begin{macrocode} \FamilyStringKey[.dsc]{KOMAarg}{counterwithin}{\scr@local@counterwithin}% \let\scr@local@counterwithin\relax % \end{macrocode} % \begin{description} -% \item[\texttt{toclevel}] Ebene im Inhaltsverzeichnis (Voreinstellung ist -% derselbe Wert wie für level); diese Option gibt es nur, wenn der -% Verzeichnisstil sie unterstützt (was jeder Verzeichnisstil -% sollte); wenn allerdings ein Offset dafür definiert ist, dann wird die -% Option nicht einfach an den Stil weitergereicht, muss also noch einmal -% umdefiniert werden. +% \item[\opt{toclevel=\meta{number}}:] +% The numerical ToC entry level. Default is \opt{level}. This option exists +% only, if the ToC style supports it. But because with +% \cs{DeclareSectionCommands} we need an offset for this (similar to the +% increase of \opt{level}). So we have to redefine it in case of existing +% \cs{scr@local@tocleveloffset}. % \end{description} % \begin{macrocode} \scr@ifundefinedorrelax{scr@local@tocleveloffset}{}{% @@ -2595,8 +2576,8 @@ }% }% % \end{macrocode} -% \changes{v3.20}{2015/11/12}{Optionen werden nur temporär definiert}%^^A -% Optionen ausführen und anschließend wieder freigeben. +% \changes{v3.20}{2015/11/12}{only temporary definition of options} +% The main pass of options execution. Afterwards reset all the options. % \begin{macrocode} \FamilyExecuteOptions[.dsc]{KOMAarg}{#1}% \scr@dsc@extra@relax@opts @@ -2611,11 +2592,10 @@ \RelaxFamilyKey[.dsc]{KOMAarg}{level}% \RelaxFamilyKey[.dsc]{KOMAarg}{counterwithin}% % \end{macrocode} -% Testen, ob alle benötigten Optionen für die (Um-)Definierung des -% Gliederungsbefehls gesetzt sind, -% \changes{v3.27}{2019/02/07}{\texttt{level} darf nicht -\cs{maxdimen} -% sein}%^^A -% wobei \texttt{level} nicht -\cs{maxdimen} ist: +% Now, we can test, if all needed options has been defined. +% \changes{v3.27}{2019/02/07}{\opt{level} must no be -\cs{maxdimen}} +% Also test, that \opt{level} is not -\len{maxdimen}, because this value is +% used internally to switch of numbering locally. % \begin{macrocode} \begingroup \def\local@endgroup{\endgroup}% @@ -2643,14 +2623,13 @@ }% \local@endgroup % \end{macrocode} -% Wenn alle Informationen für die (Um-)Definierung des Gliederungsbefehls -% zusammen sind \dots +% If the configuration is compete, we are ready for the (re-)definition of the +% command. % \begin{macrocode} \@firstofone{% % \end{macrocode} -% Zunächst sicherstellen, dass der Zähler existiert und ggf. dessen -% Ausgabe anpassen: -% \changes{v3.20}{2015/10/15}{fehlendes \cs{expandafter} ergänzt}%^^A +% \changes{v3.20}{2015/10/15}{missing \cs{expandafter} added} +% First of all we need a counter: % \begin{macrocode} \@ifundefined{c@#2}{\newcounter{#2}}{}% \ifx\scr@local@counterwithout\relax @@ -2674,7 +2653,7 @@ \@namedef{#2format}{\csname the#2\endcsname\autodot\enskip}% }{}% % \end{macrocode} -% Dann den eigentlichen Gliederungsbefehl definieren: +% Then the command itself (but only, if the \opt{style} was not empty): % \begin{macrocode} \ifscr@dsc@parametersonly \ClassInfo{\KOMAClassName}{% @@ -2697,11 +2676,10 @@ }% \fi % \end{macrocode} -% Zu jedem Gliederungsbefehl gehört auch ein Befehl für den Kolumnentitel, der -% bei \KOMAScript{} außerdem eine Formatierung des Zählers benötigt. Falls -% \textsf{scrlayer} geladen ist, wird das über dessen Befehl -% |\DeclareSectionNumberDepth| erledigt, sonst direkt: -% \changes{v3.15a}{2015/01/21}{fix: \cs{endskip} statt \cs{enskip}}%^^A +% We also need commands for the running head and a corresponding number +% formatting. With \pkg*{scrlayer} this can and should be done using +% \cs{DeclareSectionNumberDepth}. Otherwise we do it step by step. +% \changes{v3.15a}{2015/01/21}{\cs{endskip} instead of \cs{enskip}} % \begin{macrocode} \@ifundefined{DeclareSectionNumberDepth}{% \@ifundefined{#2markformat}{% @@ -2714,8 +2692,7 @@ \DeclareSectionNumberDepth{#2}{\csname #2numdepth\endcsname}% }% % \end{macrocode} -% Und es gehören Befehle dazu, um einen Eintrag ins Inhaltsverzeichnis zu -% schreiben und den Eintrag auch darzustellen: +% We also need macros to generate and print the ToC entry. % \begin{macrocode} \expandafter\providecommand\expandafter*% \csname add#2tocentry\endcsname[2]{% @@ -2735,12 +2712,11 @@ \DeclareTOCStyleEntry[\scr@dsc@tocstyle@options]{default}{#2}% }{}% % \end{macrocode} -% \changes{v3.20}{2015/0/07}{\textsf{hyperref} bei den Ebenen der -% Verzeichniseinträge berücksichtigen}%^^A -% \changes{v3.26}{2018/06/27}{Einstellungen von \textsl{hyperref} -% überschreiben}%^^A -% \changes{v3.26}{2018/06/27}{Notfallbehandlung für Lücken in den -% Bookmark-Ebenen}%^^A +% \changes{v3.20}{2015/0/07}{support for ToC levels with \pkg{hyperref}} +% \changes{v3.26}{2018/06/27}{overwrite ToC levels of \pkg{hyperref}} +% \changes{v3.26}{2018/06/27}{fallback handling of gaps in the bookmark +% levels} +% And we need extra code for \pkg{hyperref} and the bookmarks. % \begin{macrocode} \if@atdocument \let\reserved@a\@firstofone @@ -2817,12 +2793,12 @@ } % \end{macrocode} % \begin{macro}{\scr@declaresectioncommanderror} -% \changes{v3.15}{2014/11/21}{neue (interne) Anweisung}%^^A -% Gibt einen Fehler aus, falls \cs{DeclareSectionCommand} zu wenige Optionen -% übergeben wurde. Das erste Argument ist der Name des zu deklarierenden -% Befehls, das zweite ist eine textuelle Beschreibung der fehlenden Option und -% das dritte ist der Name der fehlenden Option. Als Seiteneffekt sorgt der -% Befehl dafür, dass die Deklaration nicht stattfindet. +% \changes{v3.15}{2014/11/21}{added} +% It there were not enough options to \cs{DeclareSectionCommand} to define the +% command, we report an error and also execute +% \cs{aftergroup}\cs{@gobbletwo}. So the |\@firstofone{…}| code after +% |\endgroup| resp. |\local@endgroup| inside \cs{DeclareSectionCommand} that +% defines the new section command etc. will never be used in such a case. % \begin{macrocode} \newcommand*{\scr@declaresectioncommanderror}[3]{% \ClassError{\KOMAClassName}{% @@ -2835,17 +2811,10 @@ \aftergroup\@gobbletwo } % \end{macrocode} -% \end{macro}%^^A \scr@declaresectioncommanderror +% \end{macro}^^A \scr@declaresectioncommanderror % \begin{macro}{\scr@declaresectioncommandwarning} -% \changes{v3.24}{2017/04/25}{neue (interne) Anweisung}%^^A -% In einigen Fällen genügt es hingegen eine Warnung oder Info für fehlende -% Optionen auszugeben und einen Defaultwert zu verwenden. Das erste Argument -% ist auch hier der Name des zu deklarierenden Befehls, das zweite eine -% textuelle Beschreibung der fehlenden Option und das dritte der Name der -% fehlenden Option. Das vierte ist der Defaultwert, der ersatzweise verwendet -% wird. Der Befehl hat wie \cs{scr@declaresectioncommanderror} einen -% Seiteneffekt. In diesem Fall wird \cs{local@endgroup} um das fünfte Argument -% erweitert. +% \changes{v3.24}{2017/04/25}{added} +% Sometimes a warning and extension of \cs{local@endgroup} is enough. % \begin{macrocode} \newcommand*{\scr@declaresectioncommandwarning}[5]{% \ClassInfo{\KOMAClassName}{% @@ -2857,18 +2826,19 @@ \l@addto@macro\local@endgroup{#5}% } % \end{macrocode} -% \end{macro}%^^A \scr@declaresectioncommandwarning -% \end{macro}%^^A \DeclareSectionCommand +% \end{macro}^^A \scr@declaresectioncommandwarning +% \end{command}^^A \DeclareSectionCommand +% % -% \begin{macro}{\DeclareNewSectionCommand} -% \changes{v3.15}{2014/11/21}{neue Anweisung}%^^A -% \changes{v3.25}{2018/03/10}{zusätzliche Tests und Fehlermeldungen bei +% \begin{command}{\DeclareNewSectionCommand} +% \changes{v3.15}{2014/11/21}{added} +% \changes{v3.25}{2018/03/10}{additional tests and errors about % \cs{the\dots}, \cs{\dots mark}, \cs{\dots format}, -% \cs{\dots markformat}}%^^A -% \changes{v3.30}{2020/04/08}{unerwünschte Leerzeichen eliminiert}%^^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. +% \cs{\dots markformat}} +% \changes{v3.30}{2020/04/08}{orphan spaces removed} +% This is similar to \cs{DeclareSectionCommand} but reports an error, if the +% command or a main helper already exist. So it can be used for new commands +% only. % \begin{macrocode} \newcommand*{\DeclareNewSectionCommand}[2][]{% \@ifundefined{#2}{% @@ -2882,9 +2852,8 @@ }% \if@tempswa % \end{macrocode} -% \changes{v3.30}{2020/04/08}{erweiterte Neuheitsprüfung}%^^A -% Es wird der Stil benötigt, um zu ermitteln, ob die Unterbefehle für diesen -% Stil möglicherweise bereits definiert sind. +% \changes{v3.30}{2020/04/08}{extended test for really new} +% After the general user commands, we just have to detect the style \dots % \begin{macrocode} \expandafter\let\expandafter\scr@dsc@current \csname scr@tso@##2@style\endcsname @@ -2898,7 +2867,8 @@ \RelaxFamilyKey[.dsc]{KOMAarg}{style}% \@tempswatrue % \end{macrocode} -% Wenn der Stil definiert ist und Unterbefehle kennt, diese ebenfalls testen. +% \dots{} to gut through the \cs{scr@dsc@style@\meta{style}@subcommands} and +% test, if one of them exists. % \begin{macrocode} \@ifundefined{scr@dsc@current}{}{% \scr@ifundefinedorrelax{scr@dsc@style@\scr@dsc@current @subcommands}{% @@ -2919,6 +2889,10 @@ \let\scr@dsc@current\relax \fi \if@tempswa +% \end{macrocode} +% If not, we can use \cs{DeclareSectionCommand}. Otherwise just report an +% error. +% \begin{macrocode} \DeclareSectionCommand[{#1}]{#2}% \else \ClassError{\KOMAClassName}{% @@ -2952,13 +2926,14 @@ }% } % \end{macrocode} -% \end{macro}%^^A \DeclareNewSectionCommand +% \end{command}^^A \DeclareNewSectionCommand % -% \begin{macro}{\RedeclareSectionCommand} -% \changes{v3.15}{2014/11/21}{neue Anweisung}%^^A -% Basierend auf |\DeclareSectionCommand| wird eine Gliederungsanweisung -% umdefiniert, die zuvor bereits existierte. Wichtig zu bemerken ist, dass -% die ganzen Hilfsanweisungen nicht zu exisieren brauchen. +% \begin{command}{\RedeclareSectionCommand} +% \changes{v3.15}{2014/11/21}{added} +% This is much easier than \cs{DeclareNewSectionCommand} because it tests only +% for the main command and uses \cs{DeclareSectionCommand} if the main command +% already exists. So all the additional commands and main helpers do not need +% to exist. % \begin{macrocode} \newcommand*{\RedeclareSectionCommand}[2][]{% \@ifundefined{#2}{% @@ -2978,10 +2953,18 @@ }% } % \end{macrocode} -% \end{macro}%^^A \RedeclareSectionCommand +% \end{command}^^A \RedeclareSectionCommand % -% \begin{macro}{\ProvideSectionCommand} -% \changes{v3.15}{2014/11/21}{neue Anweisung}%^^A +% \begin{command}{\ProvideSectionCommand} +% \changes{v3.15}{2014/11/21}{added} +% This is much easier than \cs{DeclareNewSectionCommand} because currently it +% tests only for the command itself but nor for the helpers. +% \begin{description} +% \item[ToDo:] This is dangerous, because +% e.g. |\ProvideSectionCommand{schapter}| would break \cs{chapter} (because +% of \cs{@schapter}). So maybe it should do the same tests as +% \cs{DeclareNewSectionCommand} and at least warn. +% \end{description} % Basierend auf |\DeclareSectionCommand| wird eine Gliederungsanweisung % definiert, wenn sie zuvor noch nicht existierte. Wichtig zu bemerken ist, % dass die ganzen Hilfsanweisungen bereits existieren dürfen. @@ -2996,16 +2979,22 @@ }% } % \end{macrocode} -% \end{macro}%^^A \ProvideSectionCommand -% -% \begin{macro}{\DeclareSectionCommands} -% \changes{v3.15}{2014/12/03}{neue Anweisung}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} eingefügt}%^^A -% Basierend auf \cs{DeclareSectionCommand} können gleich mehrere -% Gliederungsanweisungen definiert werden. Dabei sorgt Option -% \texttt{increaselevel} dafür, dass die Werte von \texttt{level} und -% \texttt{toclevel} automatisch von Befehl zu Befehl um den angegebenen Wert -% (Default ist 1) erhöht werden. +% \end{command}^^A \ProvideSectionCommand +% +% \begin{command}{\DeclareSectionCommands} +% \changes{v3.15}{2014/12/03}{added} +% \changes{v3.26}{2018/08/29}{using \cs{scr@trim@spaces}} +% Based on \cs{DeclareSectionCommand} this one can be used to define several +% commands at once. The commands are given as a comma-separated list of +% commands. There is one additional option \opt{increaselevel=\meta{number}} +% to add \meta{number} to the \opt{level} at each call of +% \cs{DeclareSectionCommand} but the first one. The definition of this option +% is done inside \cs{DeclareSectionCommand} if \cs{scr@local@levelincrease} is +% defined. Because of the first run, we initialize it with 0. The same has to +% be done for \cs{scr@local@leveloffset} and \cs{scr@local@tocleveloffset}. +% At the end we also have to un-define these local commands. Otherwise later +% usage of \cs{DeclareSectionCommand} would be detected as part of +% \cs{DeclareSectionCommands}. % \begin{macrocode} \newcommand*{\DeclareSectionCommands}[2][]{% \edef\reserved@a{#2}% @@ -3024,16 +3013,19 @@ \let\scr@local@tocleveloffset\relax } % \end{macrocode} -% \end{macro}%^^A \DeclareSectionCommands +% \end{command}^^A \DeclareSectionCommands % -% \begin{macro}{\DeclareNewSectionCommands} -% \changes{v3.15}{2014/12/03}{neue Anweisung}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} eingefügt}%^^A -% Im Unterschied zu \cs{DeclareNewSectionCommand} führt diese Anweisung die -% Änderung auch dann aus, wenn die Anweisung bereits deklariert war. Eine -% Fehlermeldung wird aber natürlich trotzdem ausgegeben. Dieser Unterschied -% ist jedoch notwendig, weil sonst Option \texttt{increaselevel} für -% nachfolgende Befehle nicht mehr korrekt arbeiten würde. +% \begin{command}{\DeclareNewSectionCommands} +% \changes{v3.15}{2014/12/03}{added} +% \changes{v3.26}{2018/08/29}{using \cs{scr@trim@spaces}} +% Because of \opt{increaselevel} we cannot simply use +% \cs{DeclareNewSectionCommand} inside, but have to use +% \cs{DeclareSectionCommand} even for already defined commands (but +% nevertheless report an error). +% \begin{description} +% \item[ToDo:] Is this really the correct error action? Does it really matter, +% if \opt{increaselevel} would be wrong after already reporting an error? +% \end{description} % \begin{macrocode} \newcommand*{\DeclareNewSectionCommands}[2][]{% \edef\reserved@a{#2}% @@ -3067,16 +3059,19 @@ \let\scr@local@tocleveloffset\relax } % \end{macrocode} -% \end{macro}%^^A \DeclareNewSectionCommands +% \end{command}^^A \DeclareNewSectionCommands % -% \begin{macro}{\RedeclareSectionCommands} -% \changes{v3.15}{2014/12/03}{neue Anweisung}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} eingefügt}%^^A -% Im Unterschied zu \cs{RedeclareNewSectionCommands} führt diese Anweisung die -% Änderung auch dann aus, wenn die Anweisung noch nicht deklariert war. Eine -% Fehlermeldung wird aber natürlich trotzdem ausgegeben. Dieser Unterschied -% ist jedoch notwendig, weil sonst Option \texttt{increaselevel} für -% nachfolgende Befehle nicht mehr korrekt arbeiten würde. +% \begin{command}{\RedeclareSectionCommands} +% \changes{v3.15}{2014/12/03}{added} +% \changes{v3.26}{2018/08/29}{using \cs{scr@trim@spaces}} +% Because of \opt{increaselevel} we cannot simply use +% \cs{RedeclareSectionCommand} inside, but have to use +% \cs{DeclareSectionCommand} even for not yet defined commands (but +% nevertheless report an error). +% \begin{description} +% \item[ToDo:] Is this really the correct error action? Does it really matter, +% if \opt{increaselevel} would be wrong after already reporting an error? +% \end{description} % \begin{macrocode} \newcommand*{\RedeclareSectionCommands}[2][]{% \edef\reserved@a{#2}% @@ -3108,16 +3103,16 @@ \let\scr@local@tocleveloffset\relax } % \end{macrocode} -% \end{macro}%^^A \RedeclareSectionCommands +% \end{command}^^A \RedeclareSectionCommands % -% \begin{macro}{\ProvideSectionCommands} -% \changes{v3.15}{2014/12/03}{neue Anweisung}%^^A -% \changes{v3.17}{2015/03/23}{Umbau, um stilabhängige Optionen zu -% ermöglichen}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} eingefügt}%^^A -% Hier wird es nun wirklich schwierig, weil wir irgendwie dafür sorgen müssen, -% dass Option \texttt{increaselevel} funktioniert, auch wenn gar nichts -% definiert werden darf. Das macht die Geschichte ein wenig auswändig. +% \begin{command}{\ProvideSectionCommands} +% \changes{v3.15}{2014/12/03}{added} +% \changes{v3.17}{2015/03/23}{re-implemented because of style depending +% options} +% \changes{v3.26}{2018/08/29}{using \cs{scr@trim@spaces}} +% This is the real problematic case, because \opt{increaselevel} should be +% used even for commands, that must not be defined. However, maybe a solution +% like this should be used for the two previous commands too. % \begin{macrocode} \newcommand*{\ProvideSectionCommands}[2][]{% \edef\reserved@a{#2}% @@ -3133,10 +3128,8 @@ \reserved@a }{% % \end{macrocode} -% Wenn die Anweisung bereits definiert ist, dann müssen wir trotzdem die -% Optionen auswerten, wobei allerdings nur die Option \texttt{level} und -% \texttt{increaselevel} eine Wirkung haben dürfen. Der Rest wird per -% \texttt{@else}-Optionen erledigt. +% If the command already exists, process options \opt{level}, \opt{toclevel} +% and \opt{increaselevel} and ignore all others using an \opt{@else@} option. % \begin{macrocode} \DefineFamilyKey[.dsc]{KOMAarg}{@else@}{\FamilyKeyStateProcessed}% \FamilyCounterMacroKey[.dsc]{KOMAarg}{increaselevel}[1]% @@ -3166,11 +3159,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \ProvideSectionCommands +% \end{command}^^A \ProvideSectionCommands % -% \begin{macro}{\IfSectionCommandStyleIs} -% \selectlanguage{english}%^^A -% \changes{v3.27}{2019/02/04}{new}%^^A +% \begin{command}{\IfSectionCommandStyleIs} +% \changes{v3.27}{2019/02/04}{added} % Test whether ot not the section command of argument 1 has the style of % argument 2. If so: use argument 3, of not: use argument 4. % \begin{macrocode} @@ -3201,19 +3193,18 @@ } %</body> % \end{macrocode} -% \end{macro} +% \end{command} % % \begin{option}{bookmarkpackage} -% \selectlanguage{english}%^^A -% \changes{v3.26}{2018/06/27}{new option}%^^A -% Package \textsf{hyperref} has problems with bookmark level gaps. So if +% \changes{v3.26}{2018/06/27}{added} +% Package \pkg{hyperref} has problems with bookmark level gaps. So if % either the users omits a heading level or defines a heading with a level % that distinguish more than one from the previous or following level, there % would be a problem. One recommended solution for this would be to use -% package \textsf{bookmark}. So if we load this package, we can use the same +% package \pkg{bookmark}. So if we load this package, we can use the same % value for bookmark levels and TOC levels even within -% \textsf{scrartcl}. Nevertheless we allow the user to decide not to use -% \textsf{bookmark}, but then it is not my fault, if something strange +% \cls*{scrartcl}. Nevertheless we allow the user to decide not to use +% \pkg{bookmark}, but then it is not my fault, if something strange % happens. % \begin{macrocode} %<*option> @@ -3225,13 +3216,13 @@ \@ifpackageloaded{bookmark}{}{% \if@scr@autoloadbookmarkpackage % \end{macrocode} -% \changes{v3.27}{2019/06/26}{try to translate \textsf{hyperref} driver to -% \textsf{bookmark} driver option}%^^A -% The name of the \textsf{hyperref} driver is in \cs{Hy@driver}. But -% \textsf{bookmark} does not provide the same drivers, so we try to translate -% the curreny known \textsf{hyperref} drivers to \textsf{bookmark} -% drivers. Also we do not load \textsf{bookmark} with a driver option but -% define \textsf{bookmark}'s \cs{BookmarkDriverDefault}. +% \changes{v3.27}{2019/06/26}{try to translate \pkg{hyperref} driver to +% \pkg{bookmark} driver option} +% The name of the \pkg{hyperref} driver is in \cs{Hy@driver}. But +% \pkg{bookmark} does not provide the same drivers, so we try to translate +% the curreny known \pkg{hyperref} drivers to \pkg{bookmark} +% drivers. Also we do not load \pkg{bookmark} with a driver option but +% define \pkg{bookmark}'s \cs{BookmarkDriverDefault}. % \begin{macrocode} \scr@ifundefinedorrelax{Hy@driver}{% \ClassWarning{\KOMAClassName}{% @@ -3241,11 +3232,11 @@ }% }{% % \end{macrocode} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Note: \texttt{hpdftex}, \texttt{hluatex}, \texttt{hxetex} and \texttt{hvtex} % do not need to be translated, because they are autodetected by -% \textsf{bookmark} as well. \texttt{hypertex}, \texttt{hdviwindo}, -% \texttt{htex4ht} and \texttt{latex2html} are not known by \textsf{bookmark}, +% \pkg{bookmark} as well. \texttt{hypertex}, \texttt{hdviwindo}, +% \texttt{htex4ht} and \texttt{latex2html} are not known by \pkg{bookmark}, % so we stay with the default (usually \texttt{dvips}). % \begin{macrocode} \Ifstr{\Hy@driver}{hdvips}{% @@ -3283,9 +3274,9 @@ }% % \end{macrocode} % \changes{v3.33}{2021/02/17}{workaround for catcode changes of -% \textsf{babel-spanish}} -% For \textsf{babel-spanish} we need to deactivate quoting before loading -% \textsf{bookmark}. +% \pkg{babel-spanish}} +% For \pkg{babel-spanish} we need to deactivate quoting before loading +% \pkg{bookmark}. % \begin{macrocode} \@ifundefined{es@quoting}{% \RequirePackage{bookmark}% @@ -3305,8 +3296,8 @@ \fi }% % \end{macrocode} -% \changes{v3.26b}{2019/01/17}{workaround for \cs{@beginmainauxhook} added}%^^A -% Sometimes \textsf{auxhook} is not able to recognize that it cannot use a +% \changes{v3.26b}{2019/01/17}{workaround for \cs{@beginmainauxhook} added} +% Sometimes \pkg{auxhook} is not able to recognize that it cannot use a % patch of \cs{document} to execute \cs{@beginmainauxhook} if it is loaded via % \cs{AtBeginDocument}. In this case we do it here. % \begin{macrocode} @@ -3335,28 +3326,27 @@ }% } %</option> -%</class> % \end{macrocode} -% \selectlanguage{ngerman}%^^A -% \end{option}%^^A bookmarkpackage +% \end{option}^^A bookmarkpackage % % -% \subsection{Definitionen für Präambeln} +% \subsection{Preambles of parts or chapters} % -% Bei den \KOMAScript-Klassen \textsf{scrbook} und \textsf{scrreprt} -% können \cs{part} und \cs{chapter} mit Präambeln versehen werden. Es -% wird gleichzeitig eine Präambel über und unter der jeweiligen -% Überschrift unterstützt. +% The \KOMAScript{} classes \cls*{scrbook} and \cls*{scrreprt} provide +% preambles above and below the headings of parts and chapters. The preamble +% above is printed into the usual distance above the headings. It does not +% increase this distance to avoid \emph{jumping headings}. However here we +% have only the generic code for preambles. The user commands are defined by +% \cs{scr@dsc@style@chapter@command} and \cs{scr@dsc@style@part@command}. % % \begin{macro}{\use@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A -% Dieses Makro dient allgemein zum Setzen einer Präambel (für -% Gliederungsüberschriften), wenn eine solche definiert ist. Als -% Argument wird der Name der Präambel übergeben, an den automatisch -% \texttt{@preamble} angehängt wird. Zum Schluss wird die gespeicherte -% Präambel gelöscht. -% \begin{macrocode} -%<*class> +% \changes{v2.8p}{2001/09/25}{added} +% Used as a general macro to print the stored preamble code and clean the +% storage. Preambles are only printed, if the storage is defined. But an empty +% defined storage would be printed. The argument is the name of the storage, +% e.g., \texttt{chapter@o}, \texttt{chapter@u}, \texttt{part@o}, +% \texttt{part@u}. +% \begin{macrocode} %<*book|report> %<*body> \newcommand*{\use@preamble}[1]{% @@ -3368,58 +3358,56 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\set@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A +% \changes{v2.8p}{2001/09/25}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Das Makro \cs{set@preamble} dient allgemein der Defintion einer -% Präambel (für Gliederungsüberschriften). Als Argument wird der -% Name der Gliederungsebene übergeben. Danach folgt ein optionales -% Argument, das die Position der Präambel angibt. Darauf folgt ein -% weiteres optionales Argument, das die Breite der Präambel -% angibt. Ist nur ein optionales Argument angegeben, so ist es die -% Position. Es folgt ein obligatorisches Argument mit dem Inhalt der -% Präambel. Die Definition der Präambel erfolgt global. +% \cs{kernel@ifnextchar}} +% Macro +% \begin{quote} +% \cs{set@preamble}\marg{level name}\oarg{position}\oarg{width}\marg{text} +% \end{quote} +% defines a preamble code stored into \cs{\meta{preamble name}@preamble}. The +% \meta{preamble name} is build depending on the \meta{level name} and the +% \meta{position}. The \meta{position} is a combination of vertical and +% horizontal position and used to generate not only the \meta{preamble name} +% but also options for the \cs{parbox} used to encapsulate the \meta{text} +% into a preamble code. The \meta{width} is also used for the \cs{parbox}. +% \begin{description} +% \item[Note:] The definition of a preamble is global and the definition of a +% new preamble of the same \meta{preamble name} overwrite an existing one. +% \end{description} % \begin{macro}{\set@@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A +% \changes{v2.8p}{2001/09/25}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\set@@@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A +% \changes{v2.8p}{2001/09/25}{added} % \begin{macro}{\set@@@@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A -% \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt}%^^A -% \changes{v3.12}{2012/10/16}{b mit derselben Funktion wie u erlaubt}%^^A -% \changes{v3.12a}{2014/02/14}{b korrigiert}%^^A -% Da mehrere optionale Argumente nach einem obligatorischen Argument -% auszuwerten sind, werden diverse Hilfsmakros benötigt. +% \changes{v2.8p}{2001/09/25}{added} +% \changes{v2.8q}{2001/11/27}{missing brace added} +% \changes{v3.12}{2012/10/16}{allow \texttt{o} as alias for \texttt{b}} +% \changes{v3.12a}{2014/02/14}{\texttt{b} fixed} +% We need a lot of helpers because of not using \pkg*{xparse} but having +% several optional arguments. At least one optional argument? If not use an +% empty default for the first one and \len{hsize} for the second one. % \begin{macrocode} \newcommand*{\set@preamble}[1]{% -% \end{macrocode} -% Zunächst wird das erste optionale Argument gesucht. -% \begin{macrocode} \kernel@ifnextchar [%] {\set@@preamble{#1}}{\set@@@preamble{#1}[][\hsize]}% } -\newcommand*{\set@@preamble}{} -\def\set@@preamble#1[#2]{% % \end{macrocode} -% Wenn ein optionales Argument existiert, kann es auch ein zweites -% geben. Wenn nicht, wird mit der Voreinstellung gearbeitet. +% Or even two optional argument? If not use default \len{hsize}. % \begin{macrocode} +\newcommand*{\set@@preamble}{} +\def\set@@preamble#1[#2]{% \kernel@ifnextchar [%] {\set@@@preamble{#1}[{#2}]}{\set@@@preamble{#1}[{#2}][\hsize]}% } -\newcommand{\set@@@preamble}{} -\long\def\set@@@preamble#1[#2][#3]#4{% % \end{macrocode} -% Dies ist das Hauptmakro, das die eigentliche Arbeit macht. Es muss -% \cs{long} definiert werden, da die Präambel auch aus mehreren -% Absätzen bestehen kann. -% -% Zunächst wird das Positionsargument ausgewertet. Dies geschieht mit -% lokalen Hilfsmakros und einer Schleife. Zur Funktion der Schleife -% siehe im dokumentierten \LaTeX-Kern. +% From here we know all optional arguments and have to process the composite +% \meta{position}. % \begin{macrocode} +\newcommand{\set@@@preamble}{} +\long\def\set@@@preamble#1[#2][#3]#4{% \begingroup \def\prmbl@pos{#2}\let\prmbl@hpos\relax\let\prmbl@vpos\relax \expandafter \@tfor \expandafter \@tempa @@ -3448,37 +3436,28 @@ \fi }% % \end{macrocode} -% Wurde keine horizontale oder vertikale Ausrichtung definiert, so -% wird nun der Standardwert dafür eingesetzt. +% If the horizontal or vertical position is still unclear use defaults. % \begin{macrocode} \@ifundefined{prmbl@hpos}{\def\prmbl@hpos{0}}{}% \@ifundefined{prmbl@vpos}{\def\prmbl@vpos{0}}{}% % \end{macrocode} -% Nun sind die Positionen ermittelt und es werden abhängig davon -% entsprechende Päambelmakros definiert. +% From the vertical position we can build the \meta{preamble name} and the +% vertical position of the \cs{parbox} the horizontal is used for the +% horizontal skip before and after the \cs{parbox}. % \begin{macrocode} \ifcase\prmbl@hpos -% \end{macrocode} -% Zunächst links unten und oben: -% \begin{macrocode} \ifcase\prmbl@vpos \set@@@@preamble{#1@u}{t}{#3}{}{\hfil}{#4}% \else \set@@@@preamble{#1@o}{b}{#3}{}{\hfil}{#4}% \fi \or -% \end{macrocode} -% Dann zentriert unten und oben: -% \begin{macrocode} \ifcase\prmbl@vpos \set@@@@preamble{#1@u}{t}{#3}{\hfil}{\hfil}{#4}% \else \set@@@@preamble{#1@o}{b}{#3}{\hfil}{\hfil}{#4}% \fi \else -% \end{macrocode} -% Zum Schluss rechts und oben: -% \begin{macrocode} \ifcase\prmbl@vpos \set@@@@preamble{#1@u}{t}{#3}{\hfil}{}{#4}% \else @@ -3488,12 +3467,8 @@ \endgroup } % \end{macrocode} -% Es folgt das Makro, mit dem die Definition tatsächlich -% stattfindet. Das erste Argument ist der Name der Präambel, das -% zweite die Positionsoption für die verwendete \cs{parbox}, das -% dritte ist die Breite der \cs{parbox}, dann zwei Argumente mit der -% horizontalen Ausrichtung vor und nach der \cs{parbox} und das -% sechste Agument ist schließlich der Inhalt der \cs{parbox}. +% Last but not least add the horizontal aligned \cs{parbox} to the preamble +% storage. % \begin{macrocode} \newcommand{\set@@@@preamble}[6]{% \expandafter\gdef\csname #1@preamble\endcsname{% @@ -3501,14 +3476,10 @@ }% } % \end{macrocode} -% % \begin{macro}{\set@preamble@hpos} -% \changes{v2.8q}{2001/09/25}{neu (intern)}%^^A -% Eines der Hilfsmakros dient dazu, die horizontale Position der -% Präambel einzustellen, falls dies nicht bereits erfolgt ist. Ist es -% bereits nicht über"-einstimmend erfolgt, wird ein Fehler -% ausgegeben. Dieses Makro ist extrem intern und funktioniert nur im -% Kontext vor \cs{set@preamble}. +% \changes{v2.8q}{2001/09/25}{added} +% Either store the horizontal preamble position if not yet defined or if +% already defined but illegal report it as an error. % \begin{macrocode} \newcommand*{\set@preamble@hpos}[2]{% \@ifundefined{prbml@hpos}{% @@ -3529,11 +3500,11 @@ }% } % \end{macrocode} -% \end{macro}%^^A \set@preamble@hpos +% \end{macro}^^A \set@preamble@hpos % \begin{macro}{\set@preamble@vpos} -% \changes{v2.8q}{2001/09/25}{neu (intern)}%^^A -% Das Hilfsmakro für die vertikale Position funktioniert in gleicher -% Weise. +% \changes{v2.8q}{2001/09/25}{added} +% Either store the vertical position if not yet defined or if already defined +% but illegal report it as an error. % \begin{macrocode} \newcommand*{\set@preamble@vpos}[2]{% \@ifundefined{prbml@vpos}{% @@ -3555,143 +3526,108 @@ } %</body> %</book|report> -%</class> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \set@preamble@vpos +% \end{macro}^^A \set@@@@preamble +% \end{macro}^^A \set@@@preamble +% \end{macro}^^A \set@@preamble +% \end{macro}^^A \set@preamble +% % +% \subsection{Deprecated code for the ToC} % -% \subsubsection{\KOMAScript-eigene Befehle für Verzeichniseinträge} -% Wie schon bei den Gliederungsbefehlen genügt \KOMAScript{} nicht, was der -% \LaTeX-Kern für Verzeichniseinträge zu bieten hat. +% Before using \pkg*{tocbasic} we needed additional code for our extended +% version of \cs{@dottedtocline}. However this has been removed in +% \KOMAScript~v3.36. +% +% \begin{description} +% \item[ToDo:] This should be moved to \file{scrkernel-listsof.dtx} or should +% be removed. +% \end{description} % % \begin{macro}{\bprot@dottedtocline} -% \changes{v2.96a}{2006/11/30}{neu (intern)}%^^A -% \changes{v3.27}{2019/02/25}{veraltet}%^^A -% Dieses Makro wird benötigt, um die Ebenen unterhalb von \cs{chapter} -% bzw. \cs{section} im Inhaltsverzeichnis ebenfalls vor unerwünschten -% Umbrüchen zwischen Eintrag und Unterebene zu schützen. -% \begin{macrocode} -%<*class> -%<*body> -\newcommand*{\bprot@dottedtocline}[5]{% - \expandafter\ifnum\scr@v@is@gt{2.96}\relax - \ClassWarning{\KOMAClassName}{% - usage of `\string\bprot@dottedtocline' is deprecated.\MessageBreak - Maybe an old auxiliary file has been used.\MessageBreak - Note, this command will be removed from\MessageBreak - KOMA-Script soon. So if this warning message\MessageBreak - persists after one more LaTeX run, you should\MessageBreak - redeclare the corresponding ToC entries using\MessageBreak - \string\DeclareTOCStyleEntry[\MessageBreak - \space\space level=\detokenize{#1},\MessageBreak - \space\space indent=\detokenize{#2},\MessageBreak - \space\space numwidth=\detokenize{#3}]{default}{...},\MessageBreak - where `...' is the name of the ToC level.\MessageBreak - Note, in future usage of `\string\bprot@dottedtocline'\MessageBreak - could result in an error% - }% - \ifnum #1>\c@tocdepth \else - \ifnum \lastpenalty<\numexpr 20010-#1\relax - \addpenalty{\@lowpenalty}% - \fi - \@dottedtocline{#1}{#2}{#3}{#4}{#5}% - \penalty \numexpr 20009-#1\relax - \fi - \else - \@dottedtocline{#1}{#2}{#3}{#4}{#5}% - \fi -} -%</body> -%</class> -% \end{macrocode} +% \changes{v2.96a}{2006/11/30}{added} +% \changes{v3.27}{2019/02/25}{deprecated} +% \changes{v3.36}{2022/03/15}{removed} % \end{macro} % % -% \subsection{Grobeinteilung von Büchern} +% \subsection{Rough structuring of books} % -% Bei Büchern gibt es teilweise eine Einteilung in Vorderteil, Hauptteil und -% Endteil, die nicht wirklich eine Gliederung darstellt, sondern auf -% Gliederung, Seitennummerierung etc. Einfluss nimmt. +% Some books have a kind of rough structuring into front matter, main matter +% and back matter. This has consequences for the page numbering and the +% numbering of headings and other elements. % -% \begin{macro}{\if@mainmatter} -% \begin{macro}{\@mainmattertrue} -% \begin{macro}{\@mainmatterfalse} -% \changes{v2.3a}{1995/07/08}{\cs{if@mainmatter} Anforderung verschoben}%^^A -% Über diesen Schalter wird bei Buchklassen festgelegt, ob wir uns im -% Hauptteil des Dokuments befinden oder nicht. Die eigentliche -% Umschaltung geschieht mit Hilfe der Befehle \cs{frontmatter}, -% \cs{mainmatter}, \cs{backmatter}. Ohne Umschaltung befinden wir uns -% bereits im Hauptteil. +% \begin{macro}{\@mainmattertrue,\@mainmatterfalse,\if@mainmatter} +% For the numbering of headings and other elements we only need to know +% whether we are in the main matter or not, because chapters outside the main +% matter do not provide a number. A boolean switch is best for this. By +% default we already start with the main matter. % \begin{macrocode} -%<*class> %<*book> %<*body> \newif\if@mainmatter\@mainmattertrue % \end{macrocode} -% \end{macro}%^^A \@mainmatterfalse -% \end{macro}%^^A \@mainmattertrue -% \end{macro}%^^A \if@mainmatter +% \end{macro}^^A \@mainmattertrue,\if@mainmatter % -% \begin{macro}{\frontmatter} -% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten}%^^A -% \changes{v2.5h}{1999/12/29}{Option \texttt{twoside} beachten}%^^A -% \changes{v3.00}{2008/09/27}{\cs{cleardoubleoddpage} statt -% \cs{cleardoublepage}}%^^A -% Der Vorspann enthält bei Büchern oftmals Inhaltsverzeichnis, Vorwort -% und dergleichen und wird mit kleinen römischen Seitenzahlen -% versehen. +% \begin{command}{\frontmatter} +% \changes{v2.4e}{1996/07/02}{support for \opt{open\quotechar=any}} +% \changes{v2.5h}{1999/12/29}{support for \opt{twoside}} +% \changes{v3.00}{2008/09/27}{\cs{cleardoublepage} replaced by +% \cs{cleardoubleoddpage}} +% Switching to the front matter always needs a new odd page, because we change +% the page numbering to lowercase Roman numbers. % \begin{macrocode} \newcommand*\frontmatter{% \if@twoside\cleardoubleoddpage\else\clearpage\fi \@mainmatterfalse\pagenumbering{roman}% } % \end{macrocode} -% \end{macro}%^^A \frontmatter -% \begin{macro}{\mainmatter} -% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten}%^^A -% \changes{v2.5h}{1999/12/29}{Option \texttt{twoside} beachten}%^^A -% \changes{v3.00}{2008/09/27}{\cs{cleardoubleoddpage} statt -% \cs{cleardoublepage}}%^^A -% Der Hauptteil ist das Fleisch der Bücher. +% \end{command}^^A \frontmatter +% \begin{command}{\mainmatter} +% \changes{v2.4e}{1996/07/02}{support for \opt{open\quotechar=any}} +% \changes{v2.5h}{1999/12/29}{support for \opt{twoside}} +% \changes{v3.00}{2008/09/27}{\cs{cleardoublepage} replaced by +% \cs{cleardoubleoddpage}} +% Switching back to main matter always needs a new odd page, because we change +% the page numbering to Arabic numbers. % \begin{macrocode} \newcommand*\mainmatter{% \if@twoside\cleardoubleoddpage\else\clearpage\fi \@mainmattertrue\pagenumbering{arabic}% } % \end{macrocode} -% \end{macro}%^^A \mainmatter -% \begin{macro}{\backmatter} -% \changes{v3.00}{2008/09/27}{\cs{cleardoubleoddpage} statt -% \cs{cleardoublepage}}%^^A -% Auch wenn nicht ganz einzusehen ist, warum das anders sein soll, -% wird hier nicht nach der Option \texttt{twoside}, sondern nach -% \texttt{openright} unterschieden. +% \end{command}^^A \mainmatter +% \begin{command}{\backmatter} +% \changes{v3.00}{2008/09/27}{\cs{cleardoublepage} replaced by +% \cs{cleardoubleoddpage}} +% Only with \opt{open=right} we start a new odd page when starting the back +% matter. +% \begin{description} +% \item[ToDo:] This does not make any sense, because the page numbering is not +% changed. And it seems to be even wrong for \opt{open=left}! So why does +% \cls*{book} use this and why shall we do so too? +% \end{description} % \begin{macrocode} \newcommand*\backmatter{% \if@openright\cleardoubleoddpage\else\clearpage\fi\@mainmatterfalse } %</body> %</book> -%</class> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \selectlanguage{english} % \subsection{Appendix} % -% The classes (except \textsf{scrlttr2}) does provide an appendix switch, +% The classes (except \cls*{scrlttr2}) does provide an appendix switch, % similar but not identical to the standard classes. % -% \begin{macro}{\appendix} +% \begin{command}{\appendix} % Activation of the appendix switch over to numbering of chapters % resp. sections with uppercase letters. -% \changes{v2.2d}{1995/05/28}{\textsf{scrartcl} doesn't have a chapter -% counter} +% \changes{v2.2d}{1995/05/28}{\cls*{scrartcl} doesn't have a chapter +% counter} % \changes{v2.3c}{1995/08/06}{alternative section numbering in appendix} % \changes{v2.8}{2001/06/15}{new \cs{appendixmore}} % \changes{v2.8e}{2001/07/10}{\cs{@altsecnumformattrue} removed} @@ -3701,12 +3637,11 @@ % \changes{v3.20}{2016/12/05}{improved warning} % \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \changes{v3.34}{2021/04/30}{\LaTeX{} hook added} -% \begin{macro}{\appendixmore} -% \changes{v2.8}{2001/06/15}{new} +% \begin{command}{\appendixmore} +% \changes{v2.8}{2001/06/15}{added} % \cs{appendixmore} is deprecated with \LaTeX{} 2020/10/01 (or newer) but % still executed as a kind of hook. % \begin{macrocode} -%<*class> %<*body> \newcommand*\appendix{% \Ifstr{\@currenvir}{appendix}{% @@ -3748,91 +3683,89 @@ %<*prepare> \IfLTXAtLeastTF{2020/10/01}{\NewHook{\KOMAClassName/appendix}}{} %</prepare> -%</class> % \end{macrocode} -% \end{macro} -% \end{macro} -% +% \end{command} +% \end{command} % -% \selectlanguage{ngerman} -% \subsection{Teile} % -% \changes{v2.8e}{2001/07/10}{\cs{@thepart} entfernt} +% \subsection{Parts} % -% Teile sind bei den unterschiedlichen Klassen unterschiedlich definiert. +% \begin{macro}{\@thepart} +% \changes{v2.8e}{2001/07/10}{removed} +% \end{macro} % -% \begin{macro}{\size@part} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, -% wenn es keine Auswirkung auf den Zeilen abstand hat}%^^A -% \begin{macro}{\size@partnumber} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, -% wenn es keine Auswirkung auf den Zeilen abstand hat}%^^A -% Hier werden diese Befehle nur vordefiniert. Ihre tatsächliche Einstellung -% erfolgt über die (Vor-)Auswahl von Option \texttt{headings}. +% The definition of parts depends on the class. +% +% \begin{fontelement}{partnumber,part} +% \changes{v2.8o}{2001/09/14}{pre-added as macro} +% \changes{v2.8p}{2001/09/23}{added} +% \changes{v2.96a}{2006/12/02}{undocumented support for last macro expects an +% argument} +% \begin{fontelement}{partprefix} +% \changes{v3.18}{2015/06/10}{alias added} +% Definition of the font elements used by \cs{part}. The settings are done by +% option \texttt{headings} later. Everything is prepared before this option is +% used the first time. The elements are defined manually because of +% compatibility with \KOMAScript~v2.8o before font elements has been +% implemented in \KOMAScript~v2.8p. % \begin{macrocode} -%<*class> %<*prepare> \newcommand*{\size@part}{} +\newcommand*{\scr@fnt@part}{\size@part} \newcommand*{\size@partnumber}{} +\newcommand*{\scr@fnt@partnumber}{\size@partnumber} +\aliaskomafont{partprefix}{partnumber} %</prepare> % \end{macrocode} -% \end{macro}%^^A \size@partnumber -% \end{macro}%^^A \size@part -% -% -% \begin{macro}{\partheadstartvskip} -% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}%^^A -% \changes{v3.15}{2014/11/24}{\textsf{scrartcl} definiert und verwendet -% \cs{scr@part@beforeskip}}%^^A -% \begin{macro}{\partheadmidvskip} -% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}%^^A -% \begin{macro}{\partheadendvskip} -% \changes{v2.95a}{2006/07/10}{neue Konfiguratonsmöglichkeit}%^^A -% \changes{v3.15}{2014/11/24}{\textsf{scrartcl} definiert und verwendet -% \cs{scr@part@afterskip}}%^^A -% \begin{macro}{\parheademptypage} -% \changes{v3.02}{2009/01/01}{neue Konfigurationsmöglichkeit}%^^A -% Diese vier Makros werden verwendet, um den Abstand über in und unter der -% Überschrift eines Teils und die leere Rückseite zu definieren. Prinzipiell -% kann damit auch der Umbruch zwischen Nummer und Text entfernt werden. -% Da die Größe nicht über Option \texttt{headings} beeinflusst werden kann, -% müssen diese Hilfsmakros nicht bereits vor den Optionen definiert werden. -% -% Zur Erhöhung der Kompatibilität mit \cs{DeclareSectionCommand} werden -% zunächst einige Hilfsanweisung definiert und verwendet. -% \begin{macro}{\scr@part@sectionbeforeskip} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}%^^A -% \changes{v3.17}{2015/03/25}{umbenannt in \cs{scr@part@beforeskip}}%^^A -% \begin{macro}{\scr@part@sectionafterskip} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}%^^A -% \changes{v3.17}{2015/03/25}{umbenannt in \cs{scr@part@afterskip}}%^^A +% \end{fontelement}^^A partprefix +% \end{fontelement}^^A partnumber,part +% +% +% \begin{command}{\partheadstartvskip,\partheadendvskip} +% \changes{v2.95a}{2006/07/10}{added} +% \changes{v3.15}{2014/11/24}{\cls*{scrartcl} defines and uses +% \cs{scr@part@beforeskip} resp. \cs{scr@part@afterskip}} +% \begin{command}{\partheadmidvskip} +% \changes{v2.95a}{2006/07/10}{added} +% \begin{command}{\parheademptypage} +% \changes{v3.02}{2009/01/01}{added} +% These commands are the distance before and after a part heading, between the +% prefix line and the text line of the heading and also the empty retro page +% of a part. +% +% \begin{macro}{\scr@part@sectionbeforeskip,\scr@part@beforeskip} +% \changes{v3.15}{2014/11/24}{added} +% \changes{v3.17}{2015/03/25}{\cs{scr@part@sectionbeforeskip} renamed to +% \cs{scr@part@beforeskip}} +% \begin{macro}{\scr@part@sectionafterskip,\scr@part@sectionbeforeskip} +% \changes{v3.15}{2014/11/24}{added} +% \changes{v3.17}{2015/03/25}{\cs{scr@part@sectionafterskip} renamed to +% \cs{scr@part@afterskip}} % \begin{macro}{\scr@part@sectionindent} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung (unbenutzt)}%^^A -% \changes{v3.17}{2015/03/24}{entfernt}%^^A -% \end{macro}%^^A \scr@part@sectionindent -% \end{macro}%^^A \scr@part@sectionafterskip -% \end{macro}%^^A \scr@part@sectionbeforeskip -% \begin{macro}{\scr@part@beforeskip} -% \changes{v3.17}{2015/03/25}{neu (intern) aus Umdefinierung von -% \cs{scr@part@ectionbeforeskip}}%^^A +% \changes{v3.15}{2014/11/24}{added} +% \changes{v3.17}{2015/03/24}{removed} +% \end{macro}^^A \scr@part@sectionindent % \begin{macro}{\scr@part@innerskip} -% \changes{v3.17}{2015/03/24}{neu (intern)}%^^A -% \begin{macro}{\scr@part@afterskip} -% \changes{v3.17}{2015/03/25}{neu (intern) aus Umdefinierung von -% \cs{scr@part@ectionbeforeskip}}%^^A +% \changes{v3.17}{2015/03/24}{added} % \begin{macro}{\scr@part@style} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}%^^A -% Es wird der leere Stil verwendet, mit dem Neudefinitionen von \cs{part} -% über \cs{DeclareSectionCommand} verhindert werden. +% \changes{v3.15}{2014/11/24}{added} +% All the skips and the page style are used by \cs{DeclareSectionCommand} +% resp. the style \texttt{part}. We define it as early as possible. Even the +% style of \cs{part} is already defined here. +% \begin{description} +% \item[ToDo:] Do we need them in the \texttt{prepare} run or can we move then +% even to the \texttt{body} run? +% \item[ToDo:] Do we really need to define \cs{scr@part@style}? +% \end{description} % \begin{macrocode} %<*prepare> \newcommand*{\scr@part@beforeskip}{% %<article> 4ex % \end{macrocode} -% Hinweis: Das |+\baselineskip| wird benötigt, um Kompatibilitätsprobleme mit -% der Umdefinierung von |\chapterheadstartvskip| zu vermeiden. +% \begin{description} +% \item[Note:] The |+\baselineskip| is needed, to stay as compatible as +% possible with prior definitions of \cs{chapterheadstartvskip}. +% \end{description} % \begin{macrocode} %<report|book> \z@ \@plus 1fil + \baselineskip } @@ -3843,10 +3776,10 @@ } \newcommand*{\scr@part@style}{part} % \end{macrocode} -% \end{macro}%^^A \scr@part@style -% \end{macro}%^^A \scr@part@afterskip -% \end{macro}%^^A \scr@part@innerskip -% \end{macro}%^^A \scr@part@beforeskip +% \end{macro}^^A \scr@part@style +% \end{macro}^^A \scr@part@afterskip +% \end{macro}^^A \scr@part@innerskip +% \end{macro}^^A \scr@part@beforeskip % \begin{macrocode} \newcommand*{\partheadstartvskip}{% %<article> \addvspace{\@tempskipa}% @@ -3871,30 +3804,27 @@ %</report|book> %</prepare> % \end{macrocode} -% \end{macro}%^^A \partheademptypage -% \end{macro}%^^A \partheadendvskip -% \end{macro}%^^A \partheadmidvskip -% \end{macro}%^^A \partheadstartvskip +% \end{command}^^A \partheademptypage +% \end{command}^^A \partheadmidvskip +% \end{command}^^A \partheadstartvskip,\partheadendvskip % % % \begin{macro}{\scr@startpart} -% \changes{v3.18}{2015/05/23}{neue Anweisung (intern)}%^^A -% Diese Anweisung ist von der ursprünglichen Definition von \cs{part} -% abgeleitet und erbt deren ChangeLog-Einträge. -% \changes{v2.8d}{2001/07/05}{\cs{partpagestyle} statt \texttt{plain}}%^^A -% \changes{v2.8p}{2001/09/27}{Präambel über der Überschrift hinzugefügt}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{SecDef}}%^^A -% \changes{v3.19}{2015/08/25}{Seitenstil nur ändern wenn definiert und nicht -% leer}%^^A -% \changes{v3.26}{2018/10/14}{Option \texttt{afterindent} wird beachtet}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Die Anweisung definiert den Gliederungsüberschriften-Stil -% \texttt{part}. Dazu bekommt sie als einziges explizites Argument den -% \meta{Namen} der Gliederungsüberschrift. Weitere Argumente wie ein -% optionaler Stern oder ein optionales Argument für Inhaltsverzeichnis und -% Kolumnentitel sowie ein obligatorisches Argument für den Text der -% Überschrift sind implizit, das heißt, sie werden erst im weiteren Verlauf -% von Unter-Macros eingelesen und verarbeitet. +% \changes{v2.8d}{2001/07/05}{using \cs{partpagestyle}} +% \changes{v2.8p}{2001/09/27}{preamble above heading} +% \changes{v3.13a}{2014/09/11}{using \cs{SecDef}} +% \changes{v3.18}{2015/05/23}{added} +% \changes{v3.19}{2015/08/25}{ignoring empty \cs{partpagestyle}} +% \changes{v3.26}{2018/10/14}{supporting option \opt{afterindent}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% The macro +% \begin{quote} +% \cs{scr@startpart}\marg{part command name} +% \end{quote} +% is now part of the style \texttt{part}. However, the main parts +% of the code are from the original definition of \cs{part}. It has only one +% argument: The name of the part command, i.e., \texttt{part}. All arguments +% to the part command will be processed later. % \begin{macrocode} %<*body> \newcommand*{\scr@startpart}[1]{% @@ -3936,30 +3866,34 @@ % \end{macrocode} % % \begin{macro}{\scr@@startpart} -% \changes{v3.18}{2015/05/23}{neue Anweisung (intern)}%^^A -% Diese Anweisung ist von der ursprünglichen Definition von \cs{@part} -% abgeleitet und erbt deren ChangeLog-Einträge. -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.95}{2002/08/13}{\cs{centering} und \cs{@parskipfalse}% -% \cs{@parskip@indent} vertauscht}%^^A -% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} -% ersetzt}%^^A -% \changes{v3.27}{2019/07/08}{neue Option \texttt{nonumber}}%^^A -% Die Anweisung macht die eigentliche Arbeit für den Fall einer -% Gliederungsanweisung ohne Stern. Das erste obligatorische Argument ist der -% \meta{Name} der Gliederungsanweisung. Das zweite eigentlich optionale -% Argument, das hier jedoch zwingend ist, ist der \meta{Spezial-Text} für -% Kolumnentitel und Inhaltsverzeichnis. Das dritte obligatorische Argument -% ist der \meta{Text} für die Überschrift. +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.95}{2002/08/13}{\cs{centering} and \cs{@parskipfalse}% +% \cs{@parskip@indent} switched} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and \cs{@parskip@indent} +% replaced} +% \changes{v3.18}{2015/05/23}{added} +% \changes{v3.27}{2019/07/08}{support for option \opt{nonumber}} +% The macro +% \begin{quote} +% \cs{scr@@startpart}\marg{part command name}\oarg{extended optional +% argument}\marg{part heading} +% \end{quote} +% is now part of the style \texttt{part}. However, the main parts +% of the code are from the original definition of \cs{@part}. Therefore it has +% the mandatory and optional arguments of a non-star variant of, i.e., +% \cs{part} but an additional first argument. +% \begin{description} +% \item[Note:] \meta{extended optional argument} is named as optional, however +% here it is already mandatory, because it is a delimited argument. +% \end{description} % \begin{macrocode} \newcommand{\scr@@startpart}{} \long\def\scr@@startpart#1[#2]#3{% \ExecuteDoHook{heading/branch/nostar/#1}% % \end{macrocode} -% \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle}%^^A -% Für das erweitere optionale Argument muss hier eine key-value-Auswertung -% erfolgen, falls das erweitere optionale Argument aktiviert ist: +% \changes{v3.10}{2011/08/30}{extended optional argument} +% First of all, depending in \opt{headings=optionto\dots} we have different +% defaults for the options. % \begin{macrocode} \ifnum \scr@osectarg=\z@ \@scr@tempswafalse @@ -3981,28 +3915,29 @@ \fi \fi % \end{macrocode} -% Als nächstes muss für nummerierte Überschriften dieser Ebene sowohl der -% Zähler erhöht also auch ein nummerierter Eintrag ins Inhaltsverzeichnis -% erstellt werden. -% \changes{v2.8e}{2001/07/10}{\cs{@maybeautodot} wird aufgerufen}%^^A -% \changes{v3.08}{2010/11/01}{Verwendung von \cs{addparttocentry}}%^^A -% \changes{v3.18}{2015/05/20}{Verwendung von \cs{add\meta{Name}tocentry} in -% \cs{typeout}}%^^A -% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} umbenannt in -% \cs{Ifnumbered}}%^^A -% \changes{v3.31}{2020/06/02}{\cs{@maybeautodot}\cs{thepart} entfernt}%^^A +% \changes{v2.8e}{2001/07/10}{using \cs{@maybeautodot}} +% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to +% \cs{Ifnumbered}} +% \changes{v3.31}{2020/06/02}{\cs{@maybeautodot}\cs{thepart} removed} +% For numbered headings we have to increase the counter and write a process +% information to the \file{log} and the terminal. % \begin{macrocode} \Ifnumbered{#1}{% \refstepcounter{#1}% \expandafter\@maybeautodot\csname the#1\endcsname \typeout{#1 \csname the#1\endcsname.}% - \ifx\@currenttocentry\@empty\else % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/06}{use \cs{\dots tocformat}}% -%^^ATODO: move \cs{autodot} to the definition of \cs{\dots tocformat} -% \selectlanguage{ngerman}% +% \changes{v3.08}{2010/11/01}{using \cs{addparttocentry}} +% \changes{v3.18}{2015/05/20}{using \cs{add\meta{Name}tocentry} for +% \cs{typeout}} +% \changes{v3.31}{2020/06/06}{using \cs{\dots tocformat}} +% And if the ToC entry is not empty add a numbered entry to the table of +% contents. +% \begin{description} +% \item[ToDo:] Move \cs{autodot} to the definition of \cs{\dots tocformat}. +% \end{description} % \begin{macrocode} + \ifx\@currenttocentry\@empty\else \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname {\csname the#1\endcsname}% @@ -4016,11 +3951,10 @@ \fi }{% % \end{macrocode} -% \changes{v3.18}{2015/05/23}{Resetliste auch bei nicht nummerierten -% Überschriften abarbeiten}%^^A -% Für alle nicht nummerieten Überschriften dieser Ebene trotzdem die -% Resetliste des Zählers ausführen und ggf. einen Verzeichniseintrag -% erstellen. +% \changes{v3.18}{2015/05/23}{execute counter reset list for not numbered +% headings} +% For not numbered headings we still have to process the reset list of the +% counter and write a process information to the \file{log} and the terminal. % \begin{macrocode} \expandafter\ifnum\scr@v@is@lt{3.18}\relax\else \begingroup @@ -4029,13 +3963,18 @@ \endgroup \fi \typeout{#1 without number}% - \ifx\@currenttocentry\@empty\else % \end{macrocode} -% An dieser Stelle muss ggf. der \textsf{hyperref}-Hook für nicht nummerierte -% Inhaltsverzeichniseinträge ausgeführt werden. -% \changes{v3.08}{2010/11/01}{Verwendung von \cs{addparttocentry}}%^^A -% \changes{v3.18}{2015/05/23}{\cs{addparttocentry} verallgemeinert}%^^A +% \changes{v3.08}{2010/11/01}{using \cs{addparttocentry}} +% \changes{v3.18}{2015/05/23}{generalized \cs{addparttocentry}} +% And before writing a not numbered entry to the table of contents we have to +% execute also the \pkg{hyperref} hook \cs{hy@insteadofrefstepcounter}. +% \begin{description} +% \item[Note:] \pkg*{scrhack} uses the existence of this command to detect a +% \KOMAScript{} class. Shouldn't this be changed using, e.g., +% \cs{KOMAClassName}? +% \end{description} % \begin{macrocode} + \ifx\@currenttocentry\@empty\else \hy@insteadofrefstepcounter{#1}% \scr@ifundefinedorrelax{add#1tocentry}{% \addtocentrydefault{#1}% @@ -4045,29 +3984,28 @@ \fi }% % \end{macrocode} -% Es folgt das eigentliche Setzen der Überschrift. Übrigens ist der ganze Code -% oben bei \cs{scr@@startchapter} praktisch identisch. Lediglich das -% Abarbeiten der Resetliste gibt es dort bereits seit Version~3.15. In -% \cs{scr@@startchapter} wird an dieser Stelle dann \cs{@make\dots head} -% ausgeführt. Das könnte man eigentlich irgendwann hier genauso machen. -% \changes{v2.2c}{1995/05/25}{Part-Ausgabe auf CJK umgestellt}%^^A -% \changes{v2.4b}{1996/03/29}{\cs{size@partnumer} durch -% \cs{size@partnumber} ersetzt}%^^A -% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor \cs{size@part} und -% \cs{size@partnumber} aufgerufen}%^^A -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} behebt einen -% Bug im color Paket}%^^A -% \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 -% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} umbenannt in -% \cs{Ifnumbered}}%^^A +% \changes{v2.2c}{1995/05/25}{support for CJK} +% \changes{v2.4b}{1996/03/29}{\cs{size@partnumer} replaced by +% \cs{size@partnumber}} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} used before \cs{size@part} or +% \cs{size@partnumber}} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} after \cs{sectfont}} +% \changes{v3.18}{2015/05/23}{\cs{size@\dots} replaced by \cs{usekomafont}} +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} +% \changes{v3.25}{2017/09/07}{defining \cs{IfUseNumber} locally} +% \changes{v3.25}{2017/09/07}{\cs{sectfont} replaced by \cs{usekomafont}} +% \changes{v3.25}{2017/09/07}{using \cs{partlineswithprefixformat}} +% \changes{v3.25}{2018/02/12}{using correct fontelement} +% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to +% \cs{Ifnumbered}} +% Now the main printing code. +% \begin{description} +% \item[ToDo:] This code is almost the same as \cs{scr@@startchapter}. Only +% the procession of the reset list was there already with +% \KOMAScript~v3.15. And in \cs{scr@@startchapter} we are using +% \cs{@make\meta{name}head} here. So maybe we should do the same here and +% really use the same definition instead of having it twice. +% \end{description} % \begin{macrocode} \begingroup \def\IfUseNumber{\Ifnumbered{#1}}% @@ -4089,9 +4027,9 @@ } }% % \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. +% \changes{v3.10}{2011/08/30}{using\cs{@mkboth{}{}} if \cs{partmark} is +% \cs{@gobble}} +% The running head. % \begin{macrocode} \expandafter\ifx\csname #1mark\endcsname\@gobble \@mkboth{}{}% @@ -4102,7 +4040,7 @@ \ExecuteDoHook{heading/endgroup/#1}% \endgroup % \end{macrocode} -% Ganz zum Schluss muss noch einmal ein Abstand eingefügt werden. +% The final distance. % \begin{macrocode} %<*article> \nobreak @@ -4112,57 +4050,56 @@ %</article> %<book|report> \@nameuse{@end#1}% % \end{macrocode} -% \changes{v3.26}{2018/10/14}{Verwendung von \@cs{@afterheading} für -% \textsf{scrbook} und \textsf{scrreprt}}%^^A -% Ab \KOMAScript{} 3.26 wird hier \cs{@afterheading} für alle Klassen -% aufgerufen. Damit kann der Einzug nach der Überschrift eingestellt werden. +% \changes{v3.26}{2018/10/14}{using \@cs{@afterheading} with +% \cls*{scrbook} or \cls*{scrreprt}} +% And \cs{@afterheading} for all classes. % \begin{macrocode} \@afterheading } % \end{macrocode} -% \end{macro}%^^A \scr@@startpart +% \end{macro}^^A \scr@@startpart % % \begin{macro}{\scr@@startspart} -% \changes{v3.18}{2015/05/23}{neue Anweisung (intern)}%^^A -% Diese Anweisung ist von der ursprünglichen Definition von \cs{@spart} -% abgeleitet und erbt deren ChangeLog-Einträge. -% \changes{v2.4n}{1997/05/28}{in der Sternvariante \cs{chaptermark}%^^A -% bzw. \cs{sectionmark} eingefügt, um die Kolumnentitel zu -% löschen}%^^A -% \changes{v2.6a}{2000/01/20}{zum Löschen der Kolumnentitel wird -% nun \cs{@mkboth} verwendet}%^^A -% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}}%^^A -% \changes{v2.95}{2002/08/13}{\cs{centering} und -% \cs{@parskipfalse}\cs{@parskip@indent} vertauscht}%^^A -% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} und \cs{@parskip@indent} -% ersetzt}%^^A -% Die Anweisung macht die eigentliche Arbeit für den Fall einer -% Gliederungsanweisung mit Stern. Das erste obligatorische Argument ist der -% \meta{Name} der Gliederungsanweisung. Das zweite obligatorische Argument -% ist der \meta{Text} für die Überschrift. +% \changes{v2.4n}{1997/05/28}{added \cs{chaptermark} resp. +% \cs{sectionmark} to star variant} +% \changes{v2.6a}{2000/01/20}{using \cs{@mkboth} to delete the running head} +% \changes{v2.8q}{2001/11/13}{\cs{@parskipfalse}\cs{@parskip@indent}} +% \changes{v2.95}{2002/08/13}{\cs{centering} and +% \cs{@parskipfalse}\cs{@parskip@indent} swapped} +% \changes{v2.95}{2004/11/05}{\cs{@parskipfalse} and\cs{@parskip@indent} +% replaced} +% \changes{v3.18}{2015/05/23}{added} +% The macro +% \begin{quote} +% \cs{scr@@startspart}\marg{part command name}\marg{part heading} +% \end{quote} +% is now part of the style \texttt{part}. However, the main parts +% of the code are from the original definition of \cs{@spart}. Therefore it has +% the mandatory argument of a star variant of, i.e., \cs{part} but an +% additional first argument. % \begin{macrocode} \newcommand{\scr@@startspart}[2]{% \ExecuteDoHook{heading/branch/star/#1}% % \end{macrocode} -% Für Leute, die unbedingt nach der Sternversion noch ein \cs{addcontentsline} -% anfügen wollen, muss hier ebenfalls der \textsf{hyperref}-Hook ausgeführt -% werden. Allerdings passiert das hier entsprechend dem Vorgehen von -% \textsf{hyperref} selbst in einer Gruppe, in der zusätzlich \cs{@mkboth} zu -% \cs{@gobbletwo} gemacht wird, auch wenn ich absolut nicht versehe, was das -% soll. +% Some users don't learn to use \cs{addpart} for not numbered parts with entry +% to the table of contents but insist in using \cs{addcontentsline}. Despite +% this should not be used, because at least \cs{addparttocentry} should be +% used, we tolerate this by using our \pkg{hyperref} hook. +% \begin{description} +% \item[ToDo:] I don't understand why \pkg{hyperref} uses a group here and +% locally sets \cs{@mkboth} to \cs{@gobbletwo}. However, I've copied this. +% \end{description} % \begin{macrocode} \begingroup \let\@mkboth\@gobbletwo \hy@insteadofrefstepcounter{#1}% \endgroup % \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 +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} +% \changes{v3.25}{2017/09/07}{difining \cs{IfUseNumber} locally} +% \changes{v3.25}{2017/09/07}{\cs{sectfont} replaced by \cs{usekomafont}} +% \changes{v3.25}{2017/09/07}{using \cs{partlineswithprefixformat}} +% Now the printing similar to \cs{scr@@startpart}. % \begin{macrocode} \begingroup \let\IfUseNumber\@secondoftwo @@ -4188,50 +4125,40 @@ %<book|report> \@nameuse{@end#1}% } % \end{macrocode} -% \end{macro}%^^A \scr@@startspart +% \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{command}{\partlineswithprefixformat} +% \changes{v3.25}{2017/09/07}{added} +% Command +% \begin{quote} +% \cs{partlineswithprefixformat}\marg{command name}\marg{number}\marg{text} +% \end{quote} +% is used to print a part heading with a prefix line. \meta{number} is the +% completely formatted prefix line inclusive the vertical distance below. The +% \meta{text} is the text of the heading also formatted and with final +% \cs{@@par}. But if the user uses more paragraphs than this final one, the +% user is responsible to prevent page breaks! % \begin{macrocode} \newcommand{\partlineswithprefixformat}[3]{% #2#3% } % \end{macrocode} -% \end{macro}%^^A \partlineswithprefixformat +% \end{command}^^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} -% abgeleitet und erbt deren ChangeLog-Einträge. -% \changes{v2.3g}{1996/01/14}{\cs{@endpart} wird für -% \textsf{scrartcl} nicht mehr definiert}%^^A -% \changes{v2.4e}{1996/07/02}{Option \texttt{openany} beachten}%^^A -% \changes{v2.6c}{2000/06/10}{\cs{@endpart} fügt nur noch in -% beidseitigen Dokumenten bei Verwendung von \texttt{openright} eine -% Leerseite ein}%^^A -% \changes{v2.8p}{2001/09/27}{\cs{vbox} eingefügt}%^^A -% \changes{v2.8p}{2001/09/27}{\cs{use@preamble} ersetzt -% \cs{@part@preamble}}%^^A -% \changes{v3.02}{2009/01/01}{Verwendung des neuen -% \cs{partheademptypage}}%^^A -% Die Anweisung wird bei \textsf{scrbook} und \textsf{screprt} verwendet, um -% die Überschrift abzuschließen. \textsf{scrartcl} hat keine solche Anweisung. -% Da einzige Argument ist der \meta{Name} der Gliederungsanweisung. +% \changes{v2.3g}{1996/01/14}{\cs{@endpart} not defined for \cls*{scrartcl}} +% \changes{v2.4e}{1996/07/02}{supporting option \opt{openany}} +% \changes{v2.6c}{2000/06/10}{\cs{@endpart} respects \opt{open\quotechar=right}} +% \changes{v2.8p}{2001/09/27}{\cs{vbox} added} +% \changes{v2.8p}{2001/09/27}{\cs{@part@preamble} replaced by \cs{use@preamble}} +% \changes{v3.02}{2009/01/01}{using \cs{partheademptypage}} +% \changes{v3.18}{2015/05/23}{added} +% Before \KOMAScript~v3.18 this code was part of \cs{part}. \cls*{scrbook} and +% \cls*{scrreprt} use this macro to finalize the heading, e.g., print a +% preamble, to the final distance or new page and add an empty retro +% page. \cls*{scrartcl} does not have such a command, because with +% \cls*{scrartcl} parts are simple headings not pages. As usual the argument +% is the name of the part command, e.g., \texttt{part}. % \begin{macrocode} %<*book|report> \newcommand*{\scr@@endpart}[1]{% @@ -4246,30 +4173,34 @@ } %</book|report> % \end{macrocode} -% \end{macro}%^^A \scr@@endpart -% \end{macro}%^^A \scr@startpart +% \end{macro}^^A \scr@@endpart +% \end{macro}^^A \scr@startpart % % % \begin{macro}{\hy@insteadofrefstepcounter} -% \changes{v3.18}{2015/05/22}{neu (intern und \textsf{hyperref})} +% \changes{v3.18}{2015/05/22}{added to be used by \pkg{hyperref}} % \begin{macro}{\scr@chapter@before@hyperref@patch} -% \changes{v3.27}{2019/07/24}{neu (intern für \textsf{scrhack})} +% \changes{v3.27}{2019/07/24}{added to be used by \pkg*{scrhack}} % \begin{macro}{\scr@chapter@after@hyperref@patch} -% \changes{v3.27}{2019/07/24}{neu (intern für \textsf{scrhack})} -% \changes{v3.32}{2020/09/11}{\cs{AfterPackage!} durch -% \cs{AfterAtEndOfPackage} ersetzt} -% Normalerweise führt \textsf{hyperref} via \cs{refstepcounter} -% Initialisierungen für ein nachfolgendes \cs{addcontentsline} durch. Wenn -% allerdings eine nicht nummerierte Überschrift ins Inhaltsverzeichnis -% eingetragen wird, dann fehlt das vorherige \cs{refstepcounter}. Statt -% \cs{@chapter}, \cs{@schapter}, \cs{@part}, \cs{@spart} etc. direkt zu -% patchen, erscheint es mir sinnvoller einen Hook dafür zu definieren, der -% dann von \textsf{hyperref} entsprechend definiert werden kann. Solange -% \textsf{hyperref} das nicht macht, versuche ich mich selbst daran und kann -% nur hoffen, dass es funktioniert. Dabei verwende ich im Gegensatz zu -% \textsf{hyperref} für \cs{Hy@MakeCurrentHrefAuto} kein \cs{Hy@chapapp}, weil -% ja \cs{autoref} für nicht nummerierte Überschriften ohnehin sinnlos -% ist. Stattdessen verwende ich den Gliederungsbefehl. +% \changes{v3.27}{2019/07/24}{added to be used by \pkg*{scrhack}} +% \changes{v3.32}{2020/09/11}{\cs{AfterPackage!} replaced by +% \cs{AfterAtEndOfPackage}} +% Usually \pkg{hyperref} uses \cs{refstepcounter} to process extra codes for +% anchors and bookmarks. However, if a not numbered heading is used, +% \pkg{hyperref} cannot use \cs{refstepcounter} but still has to add +% code. Usually \pkg{hyperref} patchs several commands like \cs{@chapter}, +% \cs{@schapter}, \cs{@part}, \cs{@spart} etc. to do so. But I think, it would +% be better to provide a hook for this, \pkg*{hyperref} can change. So we've +% designed \cs{hy@insteadofrefstepcounter}. Unfortunately \pkg{hyperref} +% currently does not care for this, but still does its patches. So we need to +% prevent \pkg{hyperref} from doing so and additionally define +% \cs{hy@insteadofrefstepcounter} ourselves. But because \cs{autoref} is +% nonsense for not numbered headings, I do not use \cs{Hy@chapapp} for +% \cs{Hy@MakeCurrentHrefAuto}. +% \begin{description} +% \item[ToDo:] Explain the Oberdiek support team, what we are doing here and +% what they should do. +% \end{description} % \begin{macrocode} \newcommand*{\hy@insteadofrefstepcounter}[1]{} \let\hy@insteadofrefstepcounter\@gobble @@ -4294,92 +4225,81 @@ } \AfterAtEndOfPackage{hyperref}{\scr@chapter@after@hyperref@patch} % \end{macrocode} -% \end{macro}%^^A \scr@after@hyperref@patch -% \end{macro}%^^A \scr@before@hyperref@patch -% \end{macro}%^^A \hy@insteadofrefstepcounter -% -% \begin{macro}{\addparttocentry} -% \changes{v3.08}{2010/11/01}{Neu}%^^A -% Seit Version~3.08 wird der Eintrag nicht direkt innerhalb von \cs{part} -% per \cs{addcontentsline} erzeugt, sondern indirekt über diese Anweisung. Das -% erste Argument ist dabei die (formatierte) Nummer bzw. bei nicht -% nummerierten Teilen leer. Das zweite Argument ist der Überschriftstext für -% das Verzeichnis. Durch diesen indirekten Weg, kann die Anweisung einfach -% umdefiniert werden. Verwendet wird hier die Standardanweisung für -% Inhaltsverzeichniseinträge, die in \texttt{scrkliof.dtx} definiert ist: +% \end{macro}^^A \scr@after@hyperref@patch +% \end{macro}^^A \scr@before@hyperref@patch +% \end{macro}^^A \hy@insteadofrefstepcounter +% +% \begin{command}{\addparttocentry} +% \changes{v3.08}{2010/11/01}{added} +% We do not use \cs{addcontentsline} directly for the entries to the table of +% contents. Using +% \begin{quote} +% \cs{addparttocentry}\marg{number}\marg{text} +% \end{quote} +% allows easy manipulation of such entries and additional actions. If the +% \meta{number} is completely empty no number should be used. Internally the +% generic \cs{addtocentrydefault} it used, which uses \cs{nonumberline} +% instead of \cs{numberline} in this case. See \file{scrkernel-listsof.dtx} +% for more information. % \begin{macrocode} \newcommand*{\addparttocentry}[2]{% \addtocentrydefault{part}{#1}{#2}% } % \end{macrocode} -% \end{macro}%^^A \addparttocentry -% -% -% \begin{macro}{\part} -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@startpart}}%^^A -% \begin{macro}{\@part} -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@@startpart}}%^^A -% \begin{macro}{\@spart} -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@@startspart}}%^^A -% \begin{macro}{\@endpart} -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@@endpart}}%^^A -% \begin{macro}{\setpartpreamble} -% \changes{v2.8f}{2001/07/12}{neu}%^^A -% \changes{v2.8p}{2001/09/27}{Verwendung von \cs{use@preamble}}%^^A -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@@endpart}}%^^A -% \begin{macro}{\part@u@preamble} -% \changes{v2.8p}{2001/09/27}{neu (intern)}%^^A -% \changes{v2.8p}{2001/09/27}{Ersatz für \cs{part@preamble}}%^^A -% \changes{v3.12a}{2014/02/14}{flaschen (\cs{part@preamble@u}) Namen -% korrigiert}%^^A -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@@endpart}}%^^A +% \end{command}^^A \addparttocentry +% +% +% \begin{command}{\part} +% \changes{v3.18}{2015/05/23}{indirect definition} +% \begin{macro}{\@part,\@spart,\@endpart} +% \changes{v3.18}{2015/05/23}{indirect definition} +% \begin{command}{\setpartpreamble} +% \changes{v2.8f}{2001/07/12}{added} +% \changes{v2.8p}{2001/09/27}{using \cs{use@preamble}} +% \changes{v3.18}{2015/05/23}{indirect definition} +% \begin{macro}{\part@preamble,\part@u@preamble} +% \changes{v2.8p}{2001/09/27}{added} +% \changes{v2.8p}{2001/09/27}{\cs{part@preamble} renamed to \cs{part@u@preamble}} +% \changes{v3.12a}{2014/02/14}{name fixed} +% \changes{v3.18}{2015/05/23}{indirect definition} % \begin{macro}{\part@o@preamble} -% \changes{v2.8p}{2001/09/27}{neu (intern)}%^^A -% \changes{v3.12a}{2014/02/14}{flaschen Namen (\cs{part@preamble@o}) -% korrigiert}%^^A -% \changes{v3.18}{2015/05/23}{siehe \cs{scr@dsc@def@style@part@command} und -% \cs{scr@@endpart}}%^^A -% Diese Anweisungen werden indirekt über \cs{DeclareSectionCommand} und -% \cs{scr@dsc@def@style@part@command} bzw. \cs{setpartpreamble} definiert. -% \end{macro}%^^A \setpartpreamble -% \end{macro}%^^A \part@u@preamble -% \end{macro}%^^A \part@o@preamble -% \end{macro}%^^A \@endpart -% \end{macro}%^^A \@spart -% \end{macro}%^^A \@part -% \end{macro}%^^A \part -% -% \begin{macro}{\addpart} -% \changes{v2.8c}{2001/06/29}{neu}%^^A -% \changes{v2.8d}{2001/07/05}{\cs{partpagestyle} statt \texttt{plain}}%^^A -% \changes{v2.95a}{2006/07/10}{support of preamble added}%^^A -% \changes{v3.11b}{2012/07/29}{missing negativ \cs{vskip} added}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{SecDef}}%^^A -% \changes{v3.15a}{2015/01/22}{Anpassung an geänderte Abstandsbehandlung bei -% \cs{part} und \cs{@spart}}%^^A -% \changes{v3.18}{2015/05/25}{Komplett neu definiert}%^^A +% \changes{v2.8p}{2001/09/27}{added} +% \changes{v3.12a}{2014/02/14}{name fixed} +% \changes{v3.18}{2015/05/23}{indirect definition} +% All these commands and macros are not defined explicitly but by using +% \cs{DeclareSectionCommand} later. See also +% \cs{scr@dsc@def@style@part@command} and \cs{setpartpreamble}. +% \end{macro}^^A \part@o@preamble +% \end{macro}^^A \part@u@preamble +% \end{command}^^A \setpartpreamble +% \end{macro}^^A \@part,\@spart,\@endpart +% \end{command}^^A \part +% +% \begin{command}{\addpart} +% \changes{v2.8c}{2001/06/29}{added} +% \changes{v2.8d}{2001/07/05}{using \cs{partpagestyle}} +% \changes{v2.95a}{2006/07/10}{support of preamble added} +% \changes{v3.11b}{2012/07/29}{missing negativ \cs{vskip} added} +% \changes{v3.13a}{2014/09/11}{using \cs{SecDef}} +% \changes{v3.15a}{2015/01/22}{distance adaption} +% \changes{v3.18}{2015/05/25}{redefinition} % \begin{macro}{\@addpart} -% \changes{v2.8c}{2001/06/29}{neu (intern)}%^^A -% \changes{v2.8l}{2001/08/17}{erst eintragen, dann ausgeben}%^^A -% \changes{v2.95}{2004/07/20}{kann Kolumnentitel erzeugen}%^^A -% \changes{v3.00}{2008/07/01}{Notlösung für \textsf{hyperref} eingefügt}%^^A -% \changes{v3.08}{2010/11/02}{Verwendung von \cs{addparttocentry}}%^^A -% \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle}%^^A -% \changes{v3.10}{2011/08/30}{Wenn \cs{partmark} \cs{@gobble} ist, wird -% \cs{@mkboth}{}{} aufgerufen.}%^^A -% \changes{v3.17}{2015/04/20}{Es wird \cs{addpartmark} verwendet und auch -% nie \cs{@mkboth}{}{} aufgerufen.}%^^A -% \changes{v3.18}{2015/05/25}{Komplett neu definiert}%^^A +% \changes{v2.8c}{2001/06/29}{added} +% \changes{v2.8l}{2001/08/17}{first ToC then output} +% \changes{v2.95}{2004/07/20}{support for running head} +% \changes{v3.00}{2008/07/01}{\pkg{hyperref} workaround} +% \changes{v3.08}{2010/11/02}{using \cs{addparttocentry}} +% \changes{v3.10}{2011/08/30}{extended optional argument} +% \changes{v3.10}{2011/08/30}{using \cs{@mkboth{}{}} if \cs{partmark} is +% \cs{@gobble}} +% \changes{v3.17}{2015/04/20}{using \cs{addpartmark} but never \cs{@mkboth}} +% \changes{v3.18}{2015/05/25}{redefinition} % \begin{macro}{\@saddpart} -% \changes{v2.8c}{2001/06/29}{neu (intern)}%^^A -% \changes{v3.18}{2015/05/25}{Komplett neu definiert}%^^A +% \changes{v2.8c}{2001/06/29}{added} +% \changes{v3.18}{2015/05/25}{redefinition} +% The improved not numbered version of \cs{part}. Note: This could also be +% done using the extended optional argument of \cs{part} and option +% \opt{nonumber=true}. So this command becomes more and more deprecated. % \begin{macrocode} \newcommand\addpart{% \SecDef\@addpart\@saddpart @@ -4400,83 +4320,77 @@ \addpartmark{}% } % \end{macrocode} -% \end{macro}%^^A \@saddpart -% \end{macro}%^^A \@addpart -% \end{macro}%^^A \addpart +% \end{macro}^^A \@saddpart +% \end{macro}^^A \@addpart +% \end{command}^^A \addpart % % % \begin{macro}{\l@part} -% \changes{v2.97c}{2007/06/21}{\cs{sectfont}\cs{large} durch Verwendung von -% Element \texttt{partentry} ersetzt}%^^A -% \changes{v2.97c}{2007/06/21}{Element \texttt{partentrypagenumber} wird -% verwendet}%^^A -% \changes{v3.15}{2014/12/23}{Verwendung von \cs{parttocdepth} und -% \cs{scr@part@numwidth}}%^^A -% \changes{v3.20}{2015/10/06}{Überführung in Verzeichnisstil}%^^A -% Der Eintrag für \cs{part}. Es werden einige Hilfsmakros passend zu -% \cs{DeclareSectionCommand} definiert. Dadurch können diverse Einstellungen -% darüber geändert werden. Es kann jedoch derzeit kein neuer Stil zugewiesen -% werden. +% \changes{v2.97c}{2007/06/21}{\cs{sectfont}\cs{large} replaced by font +% element \fnt{partentry}} +% \changes{v2.97c}{2007/06/21}{using font element \fnt{partentrypagenumber}} +% \changes{v3.15}{2014/12/23}{using \cs{parttocdepth} and +% \cs{scr@part@numwidth}} +% \changes{v3.20}{2015/10/06}{replaced by usage of ToC style} % \begin{macro}{\scr@part@tocindent} -% \changes{v3.15}{2014/12/02}{neue (interne) Anweisung}%^^A -% \changes{v3.18}{2015/06/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \changes{v3.20}{2015/11/06}{wird nun auch verwendet}%^^A -% Der Einzug des Eintrags noch vor der Nummer. -% \end{macro}%^^A \scr@part@tocindent +% \changes{v3.15}{2014/12/02}{added} +% \changes{v3.18}{2015/06/09}{indirect by \cs{DeclareSectionCommand}} +% \end{macro}^^A \scr@part@tocindent % \begin{macro}{\scr@part@tocnumwidth} -% \changes{v3.15}{2014/12/02}{neue (interne) Anweisung}%^^A -% \changes{v3.18}{2015/06/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% Die definierte Breite der Nummer für den Eintrag ins Inhaltsverzeichnis. +% \changes{v3.15}{2014/12/02}{added} +% \changes{v3.18}{2015/06/09}{indirect by\cs{DeclareSectionCommand}} +% These macros are not longer defined explicitly but by +% \cs{DeclareTOCEntryStyle} and indirectly by \cs{DeclareSectionCommand}. % \end{macro} -% \end{macro}%^^A \l@part -% -% -% \begin{Counter}{part} -% \begin{macro}{\thepart} -% \begin{macro}{\partformat} -% \changes{v2.3c}{1995/08/06}{Duden Regel 6}%^^A -% \changes{v2.5f}{1999/02/14}{überflüssiges Leerzeichen am Ende -% entfernt}%^^A -% \changes{v2.7h}{2001/04/22}{verlorenen Backslash in \cs{autodot}%^^A -% wieder eingefügt}%^^A -% Jede Gliederungsebene benötigt einen Zähler für die Gliederungsnummer und -% eine Darstellung des Zählers (\cs{the\dots}). Desweiteren wird eine -% Formatierung des Zählers in den Gliederungsüberschriften -% (\texttt{\bslash\dots format}) benötigt. +% \end{macro}^^A \l@part +% +% +% \begin{counter}{part} +% \begin{command}{\thepart} +% \begin{command}{\partformat} +% \changes{v2.3c}{1995/08/06}{auto dot feature} +% \changes{v2.5f}{1999/02/14}{orphan spaces removed} +% \changes{v2.7h}{2001/04/22}{missing backslash of \cs{autodot} fixed} +% Because we don't use the default Arabic numbering, we still define the +% counter for \cs{part}, it's printing and the formatting explicitly. % \begin{macrocode} \newcounter{part} \renewcommand*{\thepart}{\@Roman\c@part} \newcommand*{\partformat}{\partname~\thepart\autodot} % \end{macrocode} -% \end{macro}%^^A \partformat -% \end{macro}%^^A \thepart -% \end{Counter}{part} +% \end{command}^^A \partformat +% \end{command}^^A \thepart +% \end{counter}{part} % % -% \begin{macro}{\partname} -% Namen der Gliederungsebenen \cs{part}. +% \begin{command}{\partname} +% \changes{v3.36}{2022/03/15}{explicit definition for English languages} +% The name of a part used for the prefix line and maybe for the ToC entry. % \begin{macrocode} \newcommand*\partname{Part} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\partname{Part} % \end{macrocode} -% \end{macro}%^^A \partname +% \end{command}^^A \partname % % -% \begin{macro}{\partmark} -% \changes{v2.9r}{2004/07/20}{neu (für \textsf{scrpage2})}%^^A -% \changes{v3.18}{2015/05/24}{Voreinstellung von \cs{@gobble} zu -% \cs{@mkboth{}{}} geändert} +% \begin{command}{\partmark} +% \changes{v2.9r}{2004/07/20}{added} +% \changes{v3.18}{2015/05/24}{default changed from \cs{@gobble} to +% \cs{@mkboth{}{}}} +% Initially \cs{part} should simply empty the left and right mark if an +% automatic running head is used. This is independent from the page style. % \begin{macrocode} \newcommand*{\partmark}[1]{\@mkboth{}{}} % \end{macrocode} -% \end{macro}%^^A \partmark +% \end{command}^^A \partmark % -% \begin{macro}{\addpartmark} -% \changes{v3.17}{2015/04/20}{neue Anweisung}%^^A -% \changes{v3.18}{2015/05/24}{abhängig von \cs{partnumdepth}}%^^A -% Analog zu \cs{addchapmark} für \cs{addpart}. Auch dabei gilt, dass -% \cs{if@mainmatter} hier auch von \textsf{scrreprt} definiert wird. Das ist -% Absicht und vereinfacht dem einen oder anderen Paket oder Benutzer -% vielleicht die Arbeit. +% \begin{command}{\addpartmark} +% \changes{v3.17}{2015/04/20}{added} +% \changes{v3.18}{2015/05/24}{depends on \cs{partnumdepth}} +% To be used to add the marks with \cs{addpart}. Locally we define +% \cs{if@mainmatter}, because it makes life easier for users or package +% authors, who (re-)define \cs{partmark}. % \begin{macrocode} \newcommand*\addpartmark[1]{% \begingroup @@ -4487,101 +4401,79 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \addpartmark +% \end{command}^^A \addpartmark % % -% \begin{macro}{\raggedpart} -% \changes{v2.95a}{2006/07/10}{neue Konfigurationsmöglichkeit}%^^A -% Die Ausrichtung der Überschrift von \cs{part} kann davon abweichend über -% \cs{raggedpart} konfiguriert werden. Die Voreinstellung ist von der -% Klasse abhängig. +% \begin{command}{\raggedpart} +% \changes{v2.95a}{2006/07/10}{added} +% Style \texttt{part} does not use \cs{raggedsection} but +% \cs{raggedpart}. However for \cls*{scrartcl} the default is the same. But +% \cls*{scrbook} and \cls*{scrreprt} use \cs{centering} as default. +% \begin{description} +% \item[Note:] Because of using \cs{let} inside a class, \cs{raggedright} +% should be without hyphenation when we define \cs{raggedpart}. +% \end{description} % \begin{macrocode} \newcommand*{\raggedpart}{} %<article>\let\raggedpart\raggedsection %<report|book>\let\raggedpart\centering % \end{macrocode} -% \end{macro} -% -% \begin{KOMAfont}{part} -% \changes{v2.8p}{2001/09/23}{neues Element \texttt{part}}%^^A -% \begin{macro}{\scr@fnt@part} -% \changes{v2.8p}{2001/09/23}{neues Element \texttt{part}}%^^A -% \begin{KOMAfont}{partnumber} -% \changes{v2.8p}{2001/09/23}{neues Element \texttt{partnumber}}%^^A -% \begin{macro}{\scr@fnt@partnumber} -% \changes{v2.8p}{2001/09/23}{neues Element \texttt{partnumber}}%^^A -% \begin{KOMAfont}{partprefix} -% \changes{v3.18}{2015/06/10}{neues Alias-Element \texttt{partprefix}}%^^A -% \begin{macrocode} -\newcommand*{\scr@fnt@part}{\size@part} -\newcommand*{\scr@fnt@partnumber}{\size@partnumber} -\aliaskomafont{partprefix}{partnumber} -% \end{macrocode} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} +% \end{command} % -% \begin{KOMAfont}{partentry} -% \changes{v2.97c}{2007/06/21}{neues Font-Element}%^^A -% \changes{v3.06}{2010/06/09}{Verwendung von \texttt{sectioning} durch -% \texttt{disposition} ersetzt}%^^A -% Schrift für den \cs{part}-Eintrag im Inhaltsverzeichnis. +% \begin{fontelement}{partentry} +% \changes{v2.97c}{2007/06/21}{added} +% \changes{v3.06}{2010/06/09}{\fnt{sectioning} replaced by \fnt{disposition}} +% \cs{part} entries to the table of contents are \cs{large}. % \begin{macrocode} \newkomafont{partentry}{\usekomafont{disposition}\large} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{partentrypagenumber} -% \changes{v2.97c}{2007/06/21}{neues Font-Element}%^^A -% Schrift für die Seitenzahl des \cs{part}-Eintrags im Inhaltsverzeichnis -% abweichend von \texttt{partentry}. +% \begin{fontelement}{partentrypagenumber} +% \changes{v2.97c}{2007/06/21}{added} +% The page number of the ToC entry should be unchanged. % \begin{macrocode} \newkomafont{partentrypagenumber}{} %</body> -%</class> % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % % -% \subsection{Kapitel} +% \subsection{Chapters} % -% Bei den Klassen \texttt{scrbook} und \texttt{scrreprt} gibt es im -% Unterschied zu \texttt{scrartcl} auch noch die Kapitelebene. Für die -% Definition des Kapitelstils mittels \cs{DeclareSectionCommand} werden neben -% den Optionen und \cs{scr@dsc@def@style@chapter@command} noch diverse -% Anweisungen benötigt. Diese sind allesamt von der ursprünglichen Definition -% für Kapitel abgeleitet. Eine Besonderheit ist dabei, dass \textsf{hyperref} -% dem neuen Code durch (inkompatible) Umdefinierung von \cs{@schapter} und -% \cs{@chapter} in die Quere kommt. Das gilt es also zusätzlich zu verhindern -% und dennoch \cs{hyperref} zu berücksichtigen. Dies gelingt am einfachsten -% durch einen neuen Hook, den \cs{hyperref} zukünftig gerne selbst passend -% umdefinieren kann. Wer sonst noch an \cs{@chapter} und \cs{@schaper} -% herumdoktert und dabei \KOMAScript{} aus dem Tritt bringt, ist selbst -% schuld. +% Classes \cls*{scrbook} and \cls*{scrreprt} provide chapters. These are +% realized by \cs{DeclareSectionCommand} and the \texttt{chapter} style. The +% style is represented by \cs{scr@dsc@def@style@chapter@command} and several +% helpers. +% \begin{description} +% \item[Note:] Package \pkg{hyperref} is not really compatible with +% \KOMAScript{} classes, because it redefines \cs{@schapter} and +% \cs{@chapter} incompatible. However, currently \KOMAScript{} has a build +% in workaround for this. But this workaround itself depends on internal +% code of \pkg{hyperref}. It would be better, if \pkg{hyperref} would +% provide an interface for class authors and would redefine internal macros +% of classes only as fallback if classes do not use this +% interface. \KOMAScript{} also provides an alternative. \pkg*{hyperref} +% could redefine a single command \cs{hy@insteadofrefstepcounter}. +% \item[Note:] Any package, that changes internal macros like \cs{@chapter}, +% \cs{@schapter}, \cs{@makechapterhead}, \cs{@makeschapterhead} is +% incompatible with \KOMAScript{} classes. Neither \KOMAScript{} nor the +% \KOMAScript{} author is responsible for this. Package authors are welcome +% to ask for interfaces they need, e.g., a good idea would be to define a +% own headings style. +% \end{description} % % \begin{option}{chapterprefix} -% \changes{v2.8}{2001/06/15}{neue Option}%^^A -% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option}%^^A -% \changes{v3.18}{2015/05/22}{die Option bezieht sich allgemein auf den -% Gliederungsstil}%^^A -% \begin{option}{nochapterprefix} -% \changes{v2.8}{2001/06/15}{neue Option}%^^A -% \changes{v2.95c}{2006/08/21}{obsolete Option}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% Normalerweise verwenden \textsf{scrbook} und \textsf{scrreprt} nicht -% die enorm großen Überschriften von \textsf{book} und -% \textsf{report}, die mit einem Absatz "`Kapitel \emph{Nummer}"' -% beginnen. Mit der Option \texttt{chapterprefix} kann dies jetzt -% wieder aktiviert werden. Die Option, zur Deaktivierung heißt -% entsprechend \textsf{nochapterprefix}. -% Um für Spezialanwendungen auch innerhalb des Dokuments eine -% Umschaltung zu ermöglichen bzw. für die Optionen -% \texttt{appendixprefix} und \texttt{noappendixprefix} erfolgt die -% Umschaltung durch einen Schalter. -% \begin{macrocode} -%<*class> +% \changes{v2.8}{2001/06/15}{added} +% \changes{v2.95c}{2006/08/21}{changed to \pkg{keyval} option} +% \changes{v3.18}{2015/05/22}{option correlates with style not level} +% \begin{macro}{\@chapterprefixtrue,\@chapterprefixfalse,\if@chapterprefix} +% Initially \KOMAScript{} does not use the enormous chapter headings with +% prefix line ``Chapter \meta{number}'' but a more subtle one. However, either +% \opt{chapterprefix} or \opt{headings=twolinechapter} can be used to +% reactivate the prefix line. The current setting is available via the boolean +% switch \cs{if@chapterprefix}. +% \begin{macrocode} %<*book|report> %<prepare>\newif\if@chapterprefix %<*option> @@ -4600,23 +4492,32 @@ }% \fi } -\KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false} \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelinechapter}% +% \end{macrocode} +% \begin{option}{nochapterprefix} +% \changes{v2.8}{2001/06/15}{added} +% \changes{v2.95c}{2006/08/21}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} +% Deprecated option for compatibility with \KOMAScript~2.9u only. +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false} %</option> % \end{macrocode} -% \end{option} -% \end{option} +% \end{option}^^A nochapterprefix +% \end{macro}^^A \if@chapterprefix +% \end{option}^^A chapterprefix +% % -% \selectlanguage{english} % \begin{option}{appendixprefix} -% \changes{v2.8}{2001/06/15}{new option} -% \changes{v2.95c}{2006/08/21}{re-implementation as \textsf{keyval} option} +% \changes{v2.8}{2001/06/15}{added} +% \changes{v2.95c}{2006/08/21}{re-implementation as \pkg{keyval} option} % \changes{v3.12}{2013/03/05}{usage of \cs{FamilyKeyState}} % \changes{v3.17}{2015/03/09}{internal value storage} % \changes{v3.34}{2021/04/30}{usage of \LaTeX{} hook, if available} -% \changes{v3.34}{2021/04/30}{new value \texttt{default} with \LaTeX{} hooks} +% \changes{v3.34}{2021/04/30}{new value \opt{\quotechar=default} with \LaTeX{} +% hooks} % If the appendix chapters should be with or without prefix line independent -% from the chapters of the main part, option \Option{appendixprefix} can be +% from the chapters of the main part, option \opt{appendixprefix} can be % used. This does not set up a new boolean but just activates or deactivates % the boolean for chapters inside \cs{appendix}. From \KOMAScript{} v3.34 and % \LaTeX{} 2020/10/01 this is done using a new \LaTeX{} hook. Otherwise still @@ -4680,91 +4581,82 @@ }% } % \end{macrocode} -% \end{option}%^^A appendixprefix -% % \begin{option}{noappendixprefix} -% \changes{v2.8}{2001/06/15}{new option} -% \changes{v2.95c}{2006/08/21}{obsolete option} +% \changes{v2.8}{2001/06/15}{added} +% \changes{v2.95c}{2006/08/21}{obsolete} % \changes{v3.01a}{2008/11/20}{deprecated} % \begin{macrocode} \KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false} %</option> % \end{macrocode} -% \end{option}%^^A noappendixprefix +% \end{option}^^A noappendixprefix +% \end{option}^^A appendixprefix % % -% \selectlanguage{ngerman} -% \begin{macro}{\size@chapter} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten, -% wenn es keine Auswirkung auf den Zeilen abstand hat}%^^A -% \begin{macro}{\size@chapterprefix} -% \changes{v2.96a}{2006/12/02}{neu (intern)}%^^A -% Hier werden diese Befehle nur vordefiniert. Ihre tatsächliche Einstellung -% erfolgt über die (Vor-)Auswahl von Option \texttt{headings}. +% \begin{fontelement}{chapter} +% \changes{v2.8o}{2001/09/14}{added} +% \changes{v2.96a}{2006/12/02}{undocumented support for last macro expects an +% argument} +% \begin{fontelement}{chapterprefix} +% \changes{v2.8o}{2001/09/14}{added by macro} +% \changes{v2.96a}{2006/12/02}{added} +% Definition of the font elements used by \cs{chapter}. The settings are done +% by option \opt{headings} later. Everything is prepared before this option +% is used the first time. The manual definition is used, because of +% compatibility with \KOMAScript{} 2.9u. However, using the old macros is +% deprecated and not supported any longer. % \begin{macrocode} %<*prepare> \newcommand*{\size@chapter}{} +\newcommand*{\scr@fnt@chapter}{\size@chapter} \newcommand*{\size@chapterprefix}{\size@chapter} +\newcommand*{\scr@fnt@chapterprefix}{\size@chapterprefix} %</prepare> % \end{macrocode} -% \end{macro} -% \end{macro} -% -% -% \begin{macro}{\chapterheadstartvskip} -% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@beforeskip} wird -% definiert und verwendet}%^^A -% \begin{macro}{\chapterheadendvskip} -% \changes{v3.11c}{2013/02/13}{\cs{chapterheadstartvskip} und -% \cs{chapterheadendvskip} haben in \textsf{scrartcl} nichts verloren}%^^A -% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@afterskip} wird -% definiert und verwendet}%^^A -% \changes{v3.15}{2014/12/10}{\cs{vspace} durch \cs{vskip} ersetzt, damit -% \cs{lastskip} korrekt gesetzt ist} -% \begin{macro}{\chapterheadmidvskip} -% \changes{v3.15}{2014/11/20}{neue Anweisung}%^^A -% \changes{v3.17}{2015/03/25}{\cs{scr@chapter@innerskip} wird -% definiert und verwendet}%^^A -% Mit diesen Anweisungen wird üblicherweise der Abstand zwischen -% oberem Rand des Textbereichs und der Überschrift bzw. der Abstand -% zwischen der Überschrift und dem Text des Kapitels gesetzt. Man kann -% die Anweisungen aber zusätzlich auch für andere Zwecke -% missbrauchen. Das ist der Grund warum diese Makros keine Längen, -% sondern komplette Anweisungen enthalten. In der Voreinstellung -% enthalten sie jedoch gar nichts. Die tatsächlichen Werte werden -% durch die Optionen festgelegt. Dabei wird \cs{chapterheadmidvskip} nur -% verwendet, wenn Option \texttt{chapterprefix} aktiv ist. -% -% Zur Erhöhung der Kompatibilität mit \cs{DeclareSectionCommand} werden -% zunächst einige Hilfsanweisung definiert und verwendet. -% \begin{macro}{\scr@chapter@beforeskip} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}%^^A -% \changes{v3.17}{2015/03/25}{umbenannt in -% \cs{scr@chapter@beforeskip}}%^^A -% \begin{macro}{\scr@chapter@afterskip} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}%^^A -% \changes{v3.17}{2015/03/25}{umbenannt in -% \cs{scr@chapter@afterskip}}%^^A -% \begin{macro}{\scr@chapter@sectionindent} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung (unbenutzt)}%^^A -% \changes{v3.17}{2015/04/24}{entfernt}%^^A -% \end{macro}%^^A \scr@chapter@sectionindent -% \end{macro}%^^A \scr@chapter@afterskip -% \end{macro}%^^A \scr@chapter@beforeskip -% \begin{macro}{\scr@chapter@beforeskip} -% \changes{v3.17}{2015/03/25}{Neu (intern) aus Umdefinierung von -% \cs{scr@chapter@sectionbeforeskip}}%^^A +% \end{fontelement}^^A chapterprefix +% \end{fontelement}^^A chapter +% +% +% \begin{command}{\chapterheadstartvskip} +% \changes{v3.15}{2014/11/24}{defining and using \cs{scr@chapter@beforeskip}} +% \begin{command}{\chapterheadmidvskip} +% \changes{v3.15}{2014/11/20}{added} +% \changes{v3.17}{2015/03/25}{defining and using \cs{scr@chapter@innerskip}} +% \begin{command}{\chapterheadendvskip} +% \changes{v3.11c}{2013/02/13}{\cs{chapterheadstartvskip} and +% \cs{chapterheadendvskip} removed from \cls*{scrartcl}} +% \changes{v3.15}{2014/11/24}{defining and using \cs{scr@chapter@afterskip}} +% \changes{v3.15}{2014/12/10}{\cs{vspace} replaced by \cs{vskip} because of +% \cs{lastskip}} +% These commands are the distance before a chapter heading, between the +% prefix line and the text line of the heading and after the chapter heading. +% \cs{chapterheadmidvskip} is only used with option \opt{chapterprefix} +% resp. \opt{headings=twolinechapter}. +% +% \begin{macro}{\scr@chapter@sectionbeforeskip,\scr@chapter@beforeskip} +% \changes{v3.15}{2014/11/24}{added} +% \changes{v3.17}{2015/03/25}{\cs{scr@chapter@sectionbeforeskip} renamed to +% \cs{scr@chapter@beforeskip}} % \begin{macro}{\scr@chapter@innerskip} -% \changes{v3.17}{2015/03/25}{Neu (intern)}%^^A -% \begin{macro}{\scr@chapter@afterskip} -% \changes{v3.17}{2015/03/25}{Neu (intern) aus Umdefinierung von -% \cs{scr@chapter@sectionafterskip}}%^^A +% \changes{v3.17}{2015/03/25}{added} +% \begin{macro}{\scr@chapter@sectionafterskip,\scr@chapter@afterskip} +% \changes{v3.15}{2014/11/24}{added} +% \changes{v3.17}{2015/03/25}{\cs{scr@chapter@sectionafterskip} renamed to +% \cs{scr@chapter@afterskip}} +% \begin{macro}{\scr@chapter@sectionindent} +% \changes{v3.15}{2014/11/24}{added} +% \changes{v3.17}{2015/04/24}{removed} +% \end{macro}^^A \scr@chapter@sectionindent % \begin{macro}{\scr@chapter@style} -% \changes{v3.15}{2014/11/24}{neue (interne) Anweisung}%^^A -% Dabei wird der leere Stil verwendet, mit dem Neudefinitionen von \cs{part} -% über \cs{DeclareSectionCommand} verhindert werden. Gleichzeitig können -% jedoch Einstellungen einiger Werte darüber erfolgen. +% \changes{v3.15}{2014/11/24}{added} +% All the skips and the page style are used by \cs{DeclareSectionCommand} +% resp. the style \texttt{chapter}. We define it as early as possible. Even the +% style of \cs{chapter} is already defined here. +% \begin{description} +% \item[ToDo:] Do we need them in the \texttt{prepare} run or can we move then +% even to the \texttt{body} run? +% \item[ToDo:] Do we really need to define \cs{scr@chapter@style}? +% \end{description} % \begin{macrocode} %<*prepare> \newcommand*{\scr@chapter@beforeskip}{\z@} @@ -4775,33 +4667,32 @@ \let\scr@chapter@innerskip\z@ \newcommand*{\scr@chapter@style}{chapter} % \end{macrocode} -% \end{macro}%^^A \scr@chapter@style -% \end{macro}%^^A \scr@chapter@innerskip -% \end{macro}%^^A \scr@chapter@beforeskip -% \end{macro}%^^A \scr@chapter@afterskip +% \end{macro}^^A \scr@chapter@style +% \end{macro}^^A \scr@chapter@afterskip +% \end{macro}^^A \scr@chapter@innerskip +% \end{macro}^^A \scr@chapter@beforeskip % \begin{macrocode} \newcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}} \newcommand*{\chapterheadendvskip}{\vskip\@tempskipa} \newcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa} %</prepare> % \end{macrocode} -% \end{macro}%^^A \chapterheadmidvskip -% \end{macro}%^^A \chapterheadendvskip -% \end{macro}%^^A \chapterheadstartvskip +% \end{command}^^A \chapterheadendvskip +% \end{command}^^A \chapterheadmidvskip +% \end{command}^^A \chapterheadstartvskip % % % \begin{macro}{\scr@startchapter} -% \changes{v3.18}{2015/05/22}{neue Anweisung (für Paketautoren)} -% \changes{v3.19}{2015/08/25}{Seitenstil nur ändern wenn definiert und nicht -% leer}%^^A -% Diese Anweisung legt fest, wie der konkrete Aufruf für Überschriften des -% Stils \texttt{chapter} lautet. Einziges Argument ist dabei der Name der -% Gliederungsebene, beispielsweise \texttt{chapter}. Alle anderen benötigten -% Werte ergeben sich aus den Einstellungen für die Gliederungsebene. Beim -% tatsächlichen Aufruf wird dann daran wie üblich noch optional noch entweder -% ein Stern oder ein Argument für Kolumnentitel und Inhaltsverzeichniseintrag -% und der Text der Überschrift angehängt. Diese Anweisung wurde von der -% ursprünglichen Definition von \cs{chapter} abgeleitet. +% \changes{v3.18}{2015/05/22}{added} +% \changes{v3.19}{2015/08/25}{ignore empty page styles} +% The macro +% \begin{quote} +% \cs{scr@startchapter}\marg{chapter command name} +% \end{quote} +% is now part of the style \texttt{chapter}. However, the main parts +% of the code are from the original definition of \cs{chapter}. It has only one +% argument: The name of the chapter command, i.e., \texttt{chapter}. All +% arguments to the part command will be processed later. % \begin{macrocode} %<*body> \newcommand*{\scr@startchapter}[1]{% @@ -4830,20 +4721,29 @@ % \end{macrocode} % % \begin{macro}{\scr@@startchapter} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung nimmt die Rolle des ursprüngliche \cs{@chapter} ein und -% erbst damit auch die ganzen noch relevanten ChangeLog-Einträge dieser -% Anweisung. +% \changes{v3.18}{2015/05/22}{added} +% The macro +% \begin{quote} +% \cs{scr@@startchapter}\marg{chapter command name}\oarg{extended optional +% argument}\marg{chapter heading} +% \end{quote} +% is now part of the style \texttt{chapter}. However, the main parts +% of the code are from the original definition of \cs{@chapter}. Therefore it +% has the mandatory and optional arguments of a non-star variant of, i.e., +% \cs{chapter} but an additional first argument. +% \begin{description} +% \item[Note:] \meta{extended optional argument} is named as optional, however +% here it is already mandatory, because it is a delimited argument. +% \end{description} % \begin{macrocode} \newcommand*{\scr@@startchapter}{} \def\scr@@startchapter#1[#2]#3{% \ExecuteDoHook{heading/branch/nostar/#1}% % \end{macrocode} -% \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle}%^^A -% \changes{v3.27}{2019/07/08}{neue Option \texttt{nonumber}}%^^A -% Für das erweitere optionale Argument muss hier eine key-value-Auswertung -% erfolgen, falls das erweitere optionale Argument aktiviert ist: +% \changes{v3.10}{2011/08/30}{extended optional argument} +% \changes{v3.27}{2019/07/08}{option \opt{nonumber} added} +% First of all, depending in \opt{headings=optionto\dots} we have different +% defaults for the options. % \begin{macrocode} \ifnum \scr@osectarg=\z@ \@scr@tempswafalse @@ -4865,16 +4765,15 @@ \fi \fi % \end{macrocode} -% Als nächstes muss für nummerierte Überschriften dieser Ebene sowohl der -% Zähler erhöht also auch ein nummerierter Eintrag ins Inhaltsverzeichnis -% erstellt werden. -% \changes{v2.8e}{2001/07/10}{\cs{@maybeautodot} wird aufgerufen}%^^A -% \changes{v3.08}{2010/11/01}{Verwendung von \cs{addchaptertocentry}}%^^A -% \changes{v3.18}{2015/05/20}{Verwendung von \cs{add\meta{Name}tocentry}}%^^A -% \changes{v3.18}{2015/05/22}{Verwendung von \meta{Name} statt \cs{@chapapp} -% in \cs{typeout}}%^^A -% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} umbenannt in -% \cs{Ifnumbered}}%^^A +% \changes{v2.8e}{2001/07/10}{using \cs{@maybeautodot}} +% \changes{v3.08}{2010/11/01}{using \cs{addchaptertocentry}} +% \changes{v3.18}{2015/05/20}{using \cs{add\meta{name}tocentry}} +% \changes{v3.18}{2015/05/22}{using \meta{name} instead of \cs{@chapapp} +% in \cs{typeout}} +% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to +% \cs{Ifnumbered}} +% For numbered headings we have to increase the counter and write a process +% information to the \file{log} and the terminal. % \begin{macrocode} \Ifnumbered{#1}{% %<book> \if@mainmatter @@ -4887,10 +4786,10 @@ \typeout{#1 \csname the#1\endcsname.}% \ifx\@currenttocentry\@empty\else % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/06}{use \cs{\dots tocformat}}% -%^^ATODO: move \cs{autodot} to the definition of \cs{\dots tocformat} -% \selectlanguage{ngerman}% +% \changes{v3.31}{2020/06/06}{using \cs{\dots tocformat}}% +% \begin{description} +% \item[ToDo]: Move \cs{autodot} to the definition of \cs{\dots tocformat}. +% \end{description} % \begin{macrocode} \@ifundefined{#1tocformat}{% \expandafter\gdef\csname #1tocformat\endcsname @@ -4903,12 +4802,11 @@ }{\csname\@ifundefined{#1tocformat}{the#1}{#1tocformat}\endcsname}% {\@currenttocentry}% \fi + \else % \end{macrocode} -% Für alle nicht nummerieten Überschriften dieser Ebene trotzdem die -% Resetliste des Zählers ausführen und ggf. einen Verzeichniseintrag -% erstellen. +% For not numbered headings we still have to process the reset list of the +% counter and write a process information to the \file{log} and the terminal. % \begin{macrocode} - \else \expandafter\ifnum\scr@v@is@lt{3.15}\relax\else \begingroup \let\@elt\@stpelt @@ -4918,8 +4816,13 @@ \typeout{#1 without number}% \ifx\@currenttocentry\@empty\else % \end{macrocode} -% An dieser Stelle muss ggf. der \textsf{hyperref}-Hook für nicht nummerierte -% Inhaltsverzeichniseinträge ausgeführt werden. +% And before writing a not numbered entry to the table of contents we have to +% execute also the \pkg{hyperref} hook \cs{hy@insteadofrefstepcounter}. +% \begin{description} +% \item[Note:] \pkg*{scrhack} uses the existence of this command to detect a +% \KOMAScript{} class. Shouldn't this be changed using, e.g., +% \cs{KOMAClassName}? +% \end{description} % \begin{macrocode} \hy@insteadofrefstepcounter{#1}% \scr@ifundefinedorrelax{add#1tocentry}{% @@ -4930,18 +4833,21 @@ \fi \fi % \end{macrocode} -% Jetzt kommt der Kolumnentitel an die Reihe. +% Set the mark for the running head. Here we have to do a one step expansion +% of \cs{@currentheadentry}, because otherwise it would change with every +% \cs{section}, \cs{subsection} \dots % \begin{macrocode} \csname #1mark\expandafter\endcsname\expandafter{\@currentheadentry}% % \end{macrocode} -% Und die Abstände in die andere Verzeichnisse. -% \changes{v2.8g}{2001/07/18}{per \cs{float@addtolists} wird nun -% auch ein vertikaler Abstand in Listen des \texttt{float}-Pakets -% eingebaut}%^^A -% \changes{v3.00}{2008/07/01}{jetzt auch Kapiteleinträge in andere -% float-Verzeichnisse mit hyperref}%^^A -% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A +% \changes{v2.8g}{2001/07/18}{support for \cs{float@addtolists}} +% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by \cs{Iftocfeature}} +% Depending on feature \texttt{chapteratlist} we have to add a vertical space +% to other directories. And for compatibility we also support the deprecated +% \cs{float@addtolists} but not without warning. +% \begin{description} +% \item[ToDo:] Why do we add the gap here but also use \cs{addctontentsline} +% in \cs{addchaptertocentry}? Is this a bug? Should this be standardized? +% \end{description} % \begin{macrocode} \ifdim \@chapterlistsgap>\z@ \doforeachtocfile{% @@ -4955,12 +4861,20 @@ }% \fi % \end{macrocode} -% Jetzt kommt die eigentliche Überschrift. An dieser Stelle wird ab -% Version~3.18 nicht mehr stur \cs{@makecshapterhead} verwendet, sondern eine -% Anweisung, die vom Namen der Gliederungsüberschrift abhängig ist. -% \changes{v3.18}{2015/05/22}{\cs{@makechapterhead} durch -% \cs{@make\meta{Name}head} ersetzt}%^^A +% \changes{v3.18}{2015/05/22}{\cs{@makechapterhead} replaced by +% \cs{@make\meta{Name}head}} +% \changes{v3.36}{2022/03/16}{warning about deprecated \cs{@makechapterhead}} +% Setting the heading itself is more or less a call of \cs{@make\meta{command +% name}head}. +% \begin{description} +% \item[ToDo:] Using \cs{scr@makechapterhead}\marg{command name} would be the +% better solution. However in this case, every redefinition of +% \cs{@makechapterhead} would be ignored. So currently we support such +% deprecated redefinition of internal macro \cs{@makechapterhead} for +% \cs{chapter}. But this will be changed in future. +% \end{description} % \begin{macrocode} + \scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d{#1}% \if@twocolumn \if@at@twocolumn \@nameuse{@make#1head}{#3}% @@ -4971,36 +4885,84 @@ \@nameuse{@make#1head}{#3}% \fi % \end{macrocode} -% Und das Ganze endet schließlich mit: -% \changes{v3.18}{2015/05/21}{\cs{@afterheading} in jedem Fall}%^^A +% \changes{v3.18}{2015/05/21}{always using \cs{@afterheading}} +% And finally the end of every outline command. % \begin{macrocode} \@afterheading } % \end{macrocode} -% \end{macro}%^^A \scr@@startchapter +% \begin{macro}{\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d} +% \changes{v3.36}{2022/03/16}{added} +% The test and warning used inside \cs{scr@@startchapter}. +% \begin{macrocode} +\expandafter\ifnum\scr@v@is@ge{3.36}% + \newcommand*{\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d}[1]{% + \Ifstr{#1}{chapter}{% + \begingroup + \def\reserved@a{\scr@makechapterhead{chapter}}% + \ifx\@makechapterhead\reserved@a\else + \ClassWarningNoLine{\KOMAClassName}{% + Redefinition of \string\@makechapterhead\space detected.\MessageBreak + Note: KOMA-Script does use styles for commands like\MessageBreak + \string\chapter. Currently it internally still provides and\MessageBreak + uses \string\@makechapterhead, but a completely different\MessageBreak + definition compared to the standard classes.\MessageBreak + So redefining or using internal \string\@makechapterhead\MessageBreak + by users or package authors may already break\MessageBreak + KOMA-Script and will not work with a coming version,\MessageBreak + that will remove this deprecated code}% + \let\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d\@gobbble + \fi + \endgroup + }{}% + } +\else + \let\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d\@gobble +\fi +% \end{macrocode} +% \end{macro}^^A \scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d +% \end{macro}^^A \scr@@startchapter % % \begin{macro}{\scr@@startschapter} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung nimmt die Rolle des ursprüngliche \cs{@schapter} ein sie ist -% sehr viel einfacher gestrickt als \cs{scr@@startchapter}. +% \changes{v3.18}{2015/05/22}{added} +% The macro +% \begin{quote} +% \cs{scr@@startschapter}\marg{chapter command name}\marg{chapter heading} +% \end{quote} +% is now part of the style \texttt{chapter}. However, the main parts +% of the code are from the original definition of \cs{@schapter}. Therefore it +% has the mandatory argument of a star variant of, i.e., \cs{chapter} but an +% additional first argument. % \begin{macrocode} \newcommand*{\scr@@startschapter}[2]{% \ExecuteDoHook{heading/branch/star/#1}% % \end{macrocode} -% Für Leute, die unbedingt nach der Sternversion noch ein \cs{addcontentsline} -% anfügen wollen, muss hier ebenfalls der \textsf{hyperref}-Hook ausgeführt -% werden. Allerdings passiert das hier entsprechend dem Vorgehen von -% \textsf{hyperref} selbst in einer Gruppe, in der zusätzlich \cs{@mkboth} zu -% \cs{@gobbletwo} gemacht wird, auch wenn ich absolut nicht versehe, was das -% soll. +% Some users don't learn to use \cs{addchapter} for not numbered parts with +% entry to the table of contents but insist in using +% \cs{addcontentsline}. Despite this should not be used, because at least +% \cs{addchaptertocentry} should be used, we tolerate this by using our +% \pkg{hyperref} hook. +% \begin{description} +% \item[ToDo:] I don't understand why \pkg{hyperref} uses a group here and +% locally sets \cs{@mkboth} to \cs{@gobbletwo}. However, I've copied this. +% \end{description} % \begin{macrocode} \begingroup \let\@mkboth\@gobbletwo \hy@insteadofrefstepcounter{#1}% \endgroup % \end{macrocode} -% Dann wird die eigentliche Überschrift ausgegeben. +% Setting the heading itself is more or less a call of \cs{@makes\meta{command +% name}head}. +% \begin{description} +% \item[ToDo:] Using \cs{scr@makeschapterhead}\marg{command name} would be the +% better solution. However in this case, every redefinition of +% \cs{@makeschapterhead} would be ignored. So currently we support such +% deprecated redefinition of internal macro \cs{@makeschapterhead} for +% \cs{chapter}. But this will be changed in future. +% \end{description} % \begin{macrocode} + \scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d{#1}% \if@twocolumn \if@at@twocolumn \@nameuse{@makes#1head}{#2}% @@ -5011,40 +4973,61 @@ \@nameuse{@makes#1head}{#2}% \fi % \end{macrocode} -% Und das Ganze endet schließlich mit: -% \changes{v3.18}{2015/05/21}{\cs{@afterheading} in jedem Fall}%^^A +% \changes{v3.18}{2015/05/21}{always using \cs{@afterheading}} +% And finally the end of every outline command. % \begin{macrocode} \@afterheading } % \end{macrocode} -% \end{macro}%^^A \scr@@startschapter +% \begin{macro}{\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d} +% \changes{v3.36}{2022/03/16}{added} +% The test and warning used inside \cs{scr@@startschapter}. +% \begin{macrocode} +\expandafter\ifnum\scr@v@is@ge{3.36}% + \newcommand*{\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d}[1]{% + \Ifstr{#1}{chapter}{% + \begingroup + \def\reserved@a{\scr@makeschapterhead{chapter}}% + \ifx\@makeschapterhead\reserved@a\else + \ClassWarningNoLine{\KOMAClassName}{% + Redefinition of \string\@makeschapterhead\space detected.\MessageBreak + Note: KOMA-Script does use styles for commands like\MessageBreak + \string\chapter. Currently it internally still provides and\MessageBreak + uses \string\@makeschapterhead, but a completely different\MessageBreak + definition compared to the standard classes.\MessageBreak + So redefining or using internal \string\@makeschapterhead\MessageBreak + by users or package authors may already break\MessageBreak + KOMA-Script and will not work with a coming version,\MessageBreak + that will remove this deprecated code}% + \let\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d\@gobble + \fi + \endgroup + }{}% + } +\else + \let\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d\@gobble +\fi +% \end{macrocode} +% \end{macro}^^A \scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d +% \end{macro}^^A \scr@@startschapter % -%% \begin{macro}{\if@at@twocolumn} -% \changes{v2.7b}{2001/01/05}{neu (intern)}%^^A +%% \begin{macro}{\@at@twocolumntrue,\@at@twocolumnfalse,\if@at@twocolumn} +% \changes{v2.7b}{2001/01/05}{added} % \begin{macro}{\scr@topnewpage} -% \changes{v2.7b}{2001/01/05}{neu (intern)}%^^A -% \changes{v2.8q}{2001/11/27}{fehlende Klammern ergänzt}%^^A +% \changes{v2.7b}{2001/01/05}{added} +% \changes{v2.8q}{2001/11/27}{braces fixed} % \begin{macro}{\@topnewpage} -% \changes{v2.7b}{2001/01/05}{neu (\LaTeX{} intern)}%^^A -% \changes{v2.7g}{2001/04/17}{vergessenes \cs{long} ergänzt}%^^A -% \changes{v3.01}{2008/11/13}{Verwendung von -% \cs{scr@float@addtolists@warning} (aus \texttt{scrkliof.dtx})}%^^A -% Interessant ist dabei die Erweiterung, daß jedes Kapitel mit einer -% Präambel versehen werden kann. Diese wird im zweispaltigen Satz wie -% die Überschrift selbst einspaltig gesetzt. Intern wird dies für -% die Preambel des Index und der Bibliography verwendet. Dabei -% entsteht aber wiederum das Problem, dass der Indexkopf innerhalb von -% \cs{twocolumn} ausgegeben wird andererseits aber innerhalb von -% \cs{chapter} das Makro \cs{@topnewpage} verwendet wird. Damit würde -% dann also \cs{@topnewpage} innerhalb von \cs{@topnewpage} -% aufgerufen. Das ist jedoch nicht erlaubt. Als muss der Aufruf von -% \cs{@topnewpage} in \cs{@chapter} und \cs{@schapter} verhindert -% werden, wenn wir uns bereits in \cs{@topnewpage} befinden. Eine -% Möglichkeit dafür wäre, einen Schalter in den Index-Kopf -% einzubauen. Ich wähle hingegen die Methode, \cs{@topnewpage} -% entsprechend umzudefinieren. Damit kann dann auch der Anwender -% \cs{@chapter} innerhalb des optionalen Arguments von \cs{twocolumn} -% verwenden. Ein Schalter wird allerdings trotzdem gebraucht. +% \changes{v2.7b}{2001/01/05}{added} +% \changes{v2.7g}{2001/04/17}{missing \cs{long} added} +% In the code above we use \cs{if@at@twocolumn} to detect, if we already +% inside the optional argument of \cs{twocolumn}. A clean definition of this +% feature would redefine \LaTeX{} command \cs{twocolumn}. Here we use the ugly +% hack to redefine the internal macro \cs{@topnewpage} of the \LaTeX{} kernel +% instead. This macro is used to print the optional argument. So we can add +% switching on and of the boolean switch before and after it. With this, +% packages can simply use chapter commands also inside the optional argument +% of \cs{twocolumn} instead of need to use an internal command like +% \cs{@makechapterhead}. % \begin{macrocode} \newif\if@at@twocolumn \newcommand*\scr@topnewpage{} @@ -5053,67 +5036,46 @@ \@at@twocolumntrue\scr@topnewpage[{#1}]\@at@twocolumnfalse } % \end{macrocode} -% \end{macro}%^^A \@topnewpage -% \end{macro}%^^A \scr@topnewpage -% \end{macro}%^^A \if@at@twocolumn +% \end{macro}^^A \@topnewpage +% \end{macro}^^A \scr@topnewpage +% \end{macro}^^A \if@at@twocolumn % % \begin{macro}{\scr@makechapterhead} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung nimmt die Rolle des ursprüngliche \cs{@makechapterhead} -% ein. Mit dem neuen Mechanismus könnte man auf diesen zusätzlichen Schritt -% verzichten. Aus Gründen der Kompatibilität wurde er aber übernommen. Daher -% übernimmt sie auch die ChangeLog-Einträge der alten Anweisung. -% \changes{v2.7b}{2001/01/05}{Kapitel können grundsätzlich mit einer -% Präambel versehen werden}%^^A -% \changes{v2.8p}{2001/09/25}{es gibt verschiedene Arten von Präambeln}%^^A -% \changes{v3.15}{2014/12/10}{\cs{nobreak} am Ende entfernt}%^^A +% \changes{v2.7b}{2001/01/05}{support for chapter preamble} +% \changes{v2.8p}{2001/09/25}{support for different kinds of preambles} +% \changes{v3.15}{2014/12/10}{\cs{nobreak} removed} +% \changes{v3.18}{2015/05/22}{added} +% \begin{macro}{\scr@@makechapterhead} +% \changes{v3.18}{2015/05/22}{added} +% \changes{v2.8q}{2002/04/18}{\cs{raggedsection} also for the prefix} +% \changes{v2.9p}{2003/06/28}{setting \cs{parfillskip} to \cs{fill}} +% \changes{v2.96a}{2006/12/02}{distance after the prefix line only if prefix line} +% \changes{v2.97b}{2007/03/09}{\cs{endgraf} fixed} +% \changes{v3.15}{2014/11/20}{re-implementation} +% \changes{v3.15}{2014/12/09}{\cs{raggedchapter} replaced by \cs{raggedsection}} +% \changes{v3.17}{2015/04/03}{using \cs{usefontofkomafont} for initial font +% changed} +% Macros +% \begin{quote}\raggedright +% \cs{scr@makechapterhead}\marg{chapter command name}\marg{heading}\\ +% \cs{scr@@makechapterhead}\marg{chapter command name}\marg{heading} +% \end{quote} +% are used inside the definition of style \texttt{chapter} and replace +% \cs{@makechapterhead} resp. \cs{@@makechapterhead} there. So they have one +% more argument than \cs{@makechapterhead} of the standard classes. % \begin{macrocode} \newcommand*{\scr@makechapterhead}[2]{% \use@chapter@o@preamble{#1}% \@nameuse{@@make#1head}{#2}% \use@preamble{#1@u}% } -% \end{macrocode} -% \end{macro}%^^A \scr@makechapterhead -% -% \begin{macro}{\scr@makeschapterhead} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung nimmt die Rolle des ursprüngliche \cs{@makeschapterhead} -% ein. Mit dem neuen Mechanismus könnte man auf diesen zusätzlichen Schritt -% verzichten. Aus Gründen der Kompatibilität wurde er aber übernommen. Daher -% übernimmt sie auch die ChangeLog-Einträge der alten Anweisung. -% \begin{macrocode} -\newcommand*{\scr@makeschapterhead}[2]{% - \use@chapter@o@preamble{#1}% - \@nameuse{@@makes#1head}{#2}% - \use@preamble{#1@u}% -} -% \end{macrocode} -% \end{macro}%^^A \scr@makeschapterhead -% -% \begin{macro}{\scr@@makechapterhead} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung nimmt die Rolle des ursprüngliche \cs{@@makechapterhead} -% ein. Daher übernimmt sie auch die ChangeLog-Einträge der alten Anweisung. -% \changes{v2.8q}{2002/04/18}{\cs{raggedsection} wird bei Option -% \texttt{chapterprefix} auch auf den Präfix angewendet}%^^A -% \changes{v2.9p}{2003/06/28}{\cs{parfillskip} auf \cs{fill} gesetzt}%^^A -% \changes{v2.96a}{2006/12/02}{Abstand nach der Präfixzeile nur, wenn eines -% Präfixzeile ausgegeben wurde}%^^A -% \changes{v2.97b}{2007/03/09}{\cs{endgraf} korrigiert}%^^A -% \changes{v3.15}{2014/11/20}{Generalumbau}%^^A -% \changes{v3.15}{2014/12/09}{\cs{raggedchapter} ersetzt -% \cs{raggedsection}}%^^A -% \changes{v3.17}{2015/04/03}{Verwendung von \cs{usefontofkomafont} für die -% initiale Fontumstellung}%^^A -% \begin{macrocode} \newcommand*{\scr@@makechapterhead}[2]{% % \end{macrocode} -% Der Absolutwert des Abstandes davor wird eingefügt. -% \changes{v3.22}{2016/12/21}{\cs{@afterindentrue} wird bei positivem -% \texttt{beforeskip} gesetzt}%^^A -% \changes{v3.26}{2018/09/18}{Beachtung von Einstellung -% \texttt{afterindent}}%^^A +% \changes{v3.22}{2016/12/21}{\cs{@afterindentrue} if \opt{beforeskip} is +% positive} +% \changes{v3.26}{2018/09/18}{using \opt{afterindent}} +% Depending on \opt{afterindent} we set \cs{if@afterindent} and set the +% initial vertical skip using \cs{@tempskipa} and \cs{chapterheadstartvskip}. % \begin{macrocode} \@tempskipa=\glueexpr \csname scr@#1@beforeskip\endcsname\relax\relax \csname scr@#1@afterindent\endcsname @@ -5124,31 +5086,25 @@ }% \chapterheadstartvskip % \end{macrocode} -% Dann die eigentliche Überschrift innerhalb einer Gruppe. -% \changes{v3.20}{2015/12/23}{\cs{parfillskip} auf \texttt{\cs{z@} plus -% 1fil} gesetzt}%^^A -% \changes{v3.27}{2019/02/02}{Setzen von \cs{parindent} und \cs{parfillskip} -% verschoben}%^^A +% \changes{v3.19}{2015/08/02}{using \cs{chapterlinesformat} and +% \cs{chapterlineswithprefixformat}} +% \changes{v3.19}{2015/08/02}{using font element \fnt{disposition} instead of +% \cs{sectfont}} +% \changes{v3.19a}{2015/10/03}{missing local definition of \cs{IfUseNumber} +% added} +% \changes{v3.20}{2015/12/23}{setting \cs{parfillskip} to \texttt{\cs{z@} plus +% 1fil}} +% \changes{v3.27}{2019/02/02}{setting of \cs{parindent} and \cs{parfillskip} +% moved} +% \changes{v3.27}{2019/02/02}{\cs{ExecuteDoHook} added} +% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} renamed to +% \cs{Ifnumbered}} +% For the heading itself a group is used. Using group braces instead of +% \cs{begingroup} makes it possible to do a very ugly hack inside a +% redefinition of \cs{chapterheadstartvskip}. Nevertheless, such hacks are not +% recommended. % \begin{macrocode} {% -% \end{macrocode} -% \changes{v3.19}{2015/08/02}{Verwendung von \cs{chapterlinesformat} und -% \cs{chapterlineswithprefixformat}}%^^A -% \changes{v3.19}{2015/08/02}{Verwendung von Element \texttt{disposition} an -% Stelle von Befehl \cs{sectfont}}%^^A -% \changes{v3.19a}{2015/10/03}{Bug durch vergessene Definition von -% \cs{IfUseNumber} behoben}%^^A -% \changes{v3.27}{2019/02/02}{\cs{ExecuteDoHook} eingefügt}%^^A -% \changes{v3.28}{2019/11/19}{\cs{ifnumbered} umbenannt in -% \cs{Ifnumbered}}%^^A -% Ab Version~3.19 wurde der Code weitgehend umgebaut, um die Befehle -% \cs{chapterlinesformat} für die hängende Version und -% \cs{chapterlinesandprefixformat} für die Version mit Präfixzeile zu -% verwenden. Dadurch entfällt dann auch die Verwendung von -% \cs{usefontofkomafont}. Ich bin mir bewusst, dass dadurch diverse Hacks -% bezüglich der Kapitelüberschriften nicht mehr funktionieren. Dafür kann man -% diese Hacks nun durch saubere Lösungen ersetzen. -% \begin{macrocode} \def\IfUseNumber{\Ifnumbered{#1}}% %<book> \if@mainmatter\else\let\IfUseNumber\@secondoftwo\fi \ExecuteDoHook{heading/begingroup/#1}% @@ -5194,38 +5150,53 @@ }% \nobreak\par\nobreak % \end{macrocode} -% Zum Schluss der Absolutwert des Abstandes dahinter. -% \changes{v3.26}{2018/09/20}{Betragsbildung entfernt}%^^A +% \changes{v3.26}{2018/09/20}{no absolute value} +% Last but not least the final skip. +% \begin{description} +% \item[Note:] \cs{@afterheading} will be added by \cs{scr@@startchapter}. +% \end{description} % \begin{macrocode} \@tempskipa=\glueexpr \csname scr@#1@afterskip\endcsname\relax\relax \chapterheadendvskip } % \end{macrocode} -% \end{macro}%^^A \scr@@makechapterhead +% \end{macro}^^A \scr@makechapterhead +% \end{macro}^^A \scr@@makechapterhead % +% \begin{macro}{\scr@makeschapterhead} +% \changes{v3.18}{2015/05/22}{added} % \begin{macro}{\scr@@makeschapterhead} -% \changes{v3.18}{2015/05/22}{neue Anweisung (intern)} -% Diese Anweisung nimmt die Rolle des ursprüngliche \cs{@@makechapterhead} -% ein. Sie ist um einiges einfacher als \cs{scr@@makechapterhead} orientiert -% sich aber prinzipiell daran. -% \changes{v2.9p}{2003/06/28}{\cs{parfillskip} auf \cs{fill} gesetzt}%^^A -% \changes{v2.9q}{2004/03/24}{Klammerung an \cs{@@makechapterhead}%^^A -% angepasst}%^^A -% \changes{v3.15}{2014/12/09}{\cs{raggedchapter} ersetzt -% \cs{raggedsection}}%^^A -% \changes{v3.19}{2015/08/02}{an die Änderungen bei \cs{scr@@makechapterhead} -% angepasst}%^^A -% \changes{v3.20}{2015/12/23}{\cs{parfillskip} auf \texttt{\cs{z@} plus -% 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 -% \changes{v3.26}{2018/09/18}{Beachtung von Einstellung -% \texttt{afterindent}}%^^A -% \changes{v3.26}{2018/09/20}{Betragsbildung für \texttt{afterskip} -% entfernt}%^^A +% \changes{v2.9p}{2003/06/28}{to \cs{parfillskip} to \cs{fill}} +% \changes{v2.9q}{2004/03/24}{same braces like \cs{@@makechapterhead}} +% \changes{v3.15}{2014/12/09}{\cs{raggedchapter} replaced by +% \cs{raggedsection}} +% \changes{v3.18}{2015/05/22}{added} +% \changes{v3.19}{2015/08/02}{same changes like \cs{scr@@makechapterhead}} +% \changes{v3.20}{2015/12/23}{setting \cs{parfillskip} to \texttt{\cs{z@} plus +% 1fil}} +% \changes{v3.25}{2017/09/07}{\cs{IfUseNumber} fixed} +% \changes{v3.26}{2018/09/20}{no absolute of \opt{afterskip}} +% Macros +% \begin{quote}\raggedright +% \cs{scr@makeschapterhead}\marg{chapter command name}\marg{heading}\\ +% \cs{scr@@makeschapterhead}\marg{chapter command name}\marg{heading} +% \end{quote} +% are used inside the definition of style \texttt{chapter} and replace +% \cs{@makeschapterhead} resp. \cs{@@makeschapterhead} there. So they have one +% more argument than \cs{@makeschapterhead} of the standard classes. % \begin{macrocode} +\newcommand*{\scr@makeschapterhead}[2]{% + \use@chapter@o@preamble{#1}% + \@nameuse{@@makes#1head}{#2}% + \use@preamble{#1@u}% +} \newcommand*{\scr@@makeschapterhead}[2]{% +% \end{macrocode} +% \changes{v3.22}{2016/12/21}{\cs{@afterindentrue} if positive +% \opt{beforeskip}} +% \changes{v3.26}{2018/09/18}{supporting \opt{afterindent}} +% This is a simplified version of \cs{scr@@makechapterhead}. +% \begin{macrocode} \@tempskipa=\glueexpr \csname scr@#1@beforeskip\endcsname\relax\relax \csname scr@#1@afterindent\endcsname {\@afterindenttrue}{\@afterindentfalse}{% @@ -5264,29 +5235,22 @@ \chapterheadendvskip } % \end{macrocode} -% \end{macro}%^^A \scr@@makeschapterhead -% -% \begin{macro}{\chapterlinesformat} -% \changes{v3.19}{2015/08/02}{neue Anweisung} -% \begin{macro}{\chapterlineswithprefixformat} -% \changes{v3.19}{2015/08/02}{neue Anweisung} -% Diese Anweisung definiert das Format der eigentlichen Überschriften im Stil -% \texttt{chapter}, wenn mit Überschriftenzeilen gearbeitet -% wird. Fonteinstellungen sind zu diesem Zeitpunkt bereits erfolgt. Die -% Argumente sind: -% \begin{description} -% \item[\meta{Befehlsname} --] der Name der Gliederungsebene, normalerweise -% \texttt{chapter}. -% \item[\meta{Gliederungsnummer} --] die bereits fertig formatierte -% Gliederungsnummer (bei \cs{chapterlineswithprefixformat} 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. +% \end{macro}^^A \scr@@makeschapterhead +% \end{macro}^^A \scr@makeschapterhead +% +% \begin{command}{\chapterlinesformat,\chapterlineswithprefixformat} +% \changes{v3.19}{2015/08/02}{added} +% Commands +% \begin{quote}\raggedright +% \cs{chapterlinesformat}\marg{command name}\marg{number}\marg{text}\\ +% \cs{chapterlineswithprefixformat}\marg{command name}\marg{number}\marg{text} +% \end{quote} +% are used to print a chapter heading either a free standing one or a free +% stranding one with prefix line. \meta{number} is the completely formatted +% prefix line inclusive the vertical distance below. The \meta{text} is the +% text of the heading also formatted and with final \cs{@@par}. But if the +% user used more paragraphs than this is final one, the user is responsible to +% prevent page breaks! % \begin{macrocode} \newcommand{\chapterlinesformat}[3]{% \@hangfrom{#2}{#3}% @@ -5295,20 +5259,16 @@ #2#3% } % \end{macrocode} -% \end{macro}%^^A \chapterlineswithprefixformat -% \end{macro}%^^A \chapterlinesformat +% \end{command}^^A \chapterlinesformat,\chapterlineswithprefixformat % % \begin{macro}{\use@chapter@o@preamble} -% \changes{v3.15}{2014/12/08}{Anpassung an geänderte Abstandsbehandlung}%^^A -% \changes{v3.15a}{2015/02/02}{Korrektur, zur Verhinderung falscher -% \texttt{overfull \cs{vbox}} Meldungen}%^^A -% \changes{v3.18}{2015/05/20}{Verwendung befehlsabhängiger Abstände und -% Warnungen}%^^A -% \changes{v3.18}{2015/05/22}{Bekommt ein Argument und setzt die Prämabel -% der Anweisung nicht des Stils}%^^A -% Das Makro wird benötigt, weil das Setzen der oberen Präambel etwas -% mehr Aufwand bedeutet. Die Anweisung spart Platz, da sie zweimal -% verwendet wird. +% \changes{v3.15}{2014/12/08}{distances adapted} +% \changes{v3.15a}{2015/02/02}{avoiding \texttt{overfull \cs{vbox}}} +% \changes{v3.18}{2015/05/20}{using command depending distances and warnings} +% \changes{v3.18}{2015/05/22}{has an argument and prints the preamble of the +% command instead of the style} +% Used by \cs{scr@makechapterhead} and \cs{scr@makeschapterhead} to set the +% preamble above chapter headings. % \begin{macrocode} \newcommand*{\use@chapter@o@preamble}[1]{% {% @@ -5362,22 +5322,32 @@ }% } % \end{macrocode} -% \end{macro}%^^A \use@chapter@o@preamble -% \end{macro}%^^A \scr@startchapter +% \end{macro}^^A \use@chapter@o@preamble +% \end{macro}^^A \scr@startchapter % -% \begin{macro}{\addchaptertocentry} -% \changes{v3.08}{2010/11/01}{Neu}%^^A -% \changes{v3.12}{2013/09/24}{Behandlung von \cs{if@chaptertolists} hier}%^^A -% \changes{v3.12}{2013/09/24}{Verwendung von \cs{addxcontentsline}}%^^A +% \begin{command}{\addchaptertocentry} +% \changes{v3.08}{2010/11/01}{added} +% \changes{v3.12}{2013/09/24}{support for \cs{if@chaptertolists}} +% \changes{v3.12}{2013/09/24}{using\cs{addxcontentsline}} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A -% Seit Version~3.08 wird der Eintrag nicht direkt innerhalb von \cs{chapter} -% per \cs{addcontentsline} erzeugt, sondern indirekt über diese Anweisung. Das -% erste Argument ist dabei die (formatierte) Nummer bzw. bei nicht -% nummerierten Kapiteln leer. Das zweite Argument ist der Überschriftstext für -% das Verzeichnis. Durch diesen indirekten Weg, kann die Anweisung einfach -% umdefiniert werden. Verwendet wird hier die Standardanweisung für -% Inhaltsverzeichniseinträge, die in \texttt{scrkliof.dtx} definiert ist: +% \cs{Iftocfeature}} +% We do not use \cs{addcontentsline} directly for the entries to the table of +% contents. Using +% \begin{quote} +% \cs{addchaptertocentry}\marg{number}\marg{text} +% \end{quote} +% allows easy manipulation of such entries and additional actions. If the +% \meta{number} is completely empty no number should be used. Internally the +% generic \cs{addtocentrydefault} it used, which uses \cs{nonumberline} +% instead of \cs{numberline} in this case. See \file{scrkernel-listsof.dtx} +% for more information. +% \begin{description} +% \item[ToDo:] Here we also do the entries to other directories. But we have +% also code for this in \cs{scr@@startchapter} at least for the vertical +% space. Shouldn't we combine both places to one place? And shouldn't this +% be done here only, because of handling of user calls of +% \cs{addchaptertocentry}? +% \end{description} % \begin{macrocode} \newcommand*{\addchaptertocentry}[2]{% \addtocentrydefault{chapter}{#1}{#2}% @@ -5391,130 +5361,67 @@ \fi } % \end{macrocode} -% \end{macro}%^^A \addchaptertocentry -% -% \begin{macro}{\@chapter} -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command} -% und \cs{scr@@startchapter}}%^^A -% \begin{macro}{\@makechapterhead} -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command} -% und \cs{scr@makechapterhead}}%^^A -% \begin{macro}{\@@makechapterhead} -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command} -% und \cs{scr@@makechapterhead}}%^^A -% \begin{macro}{\@schapter} -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command} -% und \cs{scr@@startschapter}}%^^A -% \begin{macro}{\@makeschapterhead} -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command} -% und \cs{scr@makeschapterhead}}%^^A -% \begin{macro}{\@@makeschapterhead} -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command} -% und \cs{scr@@makeschapterhead}}%^^A -% \begin{macro}{\setchapterpreamble} -% \changes{v2.7b}{2001/01/05}{neu}%^^A -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command}}%^^A -% \begin{macro}{\chapter@u@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command}}%^^A -% \begin{macro}{\chapter@o@preamble} -% \changes{v2.8p}{2001/09/25}{neu (intern)}%^^A -% \changes{v3.18}{2015/05/22}{siehe \cs{scr@dsc@def@style@chapter@command}}%^^A -% All diese Anweisungen wurden in früheren Versionen von \KOMAScript{} -% explizit definiert. Nun werden sie nur noch indirekt über -% \cs{scr@dsc@def@style@chapter@command} definiert und verwenden dabei andere -% interne Anweisungen als früher. Deshalb funktionieren ggf. das Patchen mit -% \textsf{etoolbox}, \textsf{xpatch} und ähnlichen Paketen nicht mehr. Das ist -% der Preis für die neuen Möglichkeiten. -% \end{macro}%^^A \chapter@o@preamble -% \end{macro}%^^A \chapter@u@preamble -% \end{macro}%^^A \setchapterpreamble -% \end{macro}%^^A \@@makeschapterhead -% \end{macro}%^^A \@makeschapterhead -% \end{macro}%^^A \@schapter -% \end{macro}%^^A \@@makechapterhead -% \end{macro}%^^A \@makechapterhead -% \end{macro}%^^A \@chapter -% -% \begin{macro}{\addchap} -% \changes{v2.0e}{1994/08/10}{\cs{sectdef} durch \cs{secdef} ersetzt}%^^A -% \changes{v2.0e}{1994/08/10}{\cs{addcontensline} durch -% \cs{addcontentsline} ersetzt}%^^A -% \changes{v2.0e}{1994/08/10}{\cs{@makechapterhead} durch -% \cs{@makeschapterhead} ersetzt}%^^A -% \changes{v2.0e}{1994/08/10}{\cs{afterheadings} durch -% \cs{@afterheading} ersetzt}%^^A -% \changes{v2.1a}{1994/10/29}{Argument von \cs{chaptermark}%^^A -% entfernt bei \textsf{scrbook}}%^^A -% \changes{v2.0e}{1994/10/12}{mehrfach \cs{markboth} durch -% \cs{sectionmark} ersetzt}%^^A -% \changes{v2.2b}{1995/03/20}{\cs{chaptermark} durch \cs{@mkboth} -% ersetzt}%^^A -% \changes{v2.8d}{2001/07/05}{\cs{chapterpagestyle} statt -% \texttt{plain}}%^^A -% \changes{v3.00}{2008/07/01}{jetzt auch Kapiteleinträge in andere -% float-Verzeichnisse mit hyperref}%^^A -% \changes{v3.01}{2008/11/13}{Verwendung von -% \cs{scr@float@addtolists@warning} (aus \texttt{scrkliof.dtx})}%^^A -% \changes{v3.08}{2010/11/01}{Verwendung von \cs{addchaptertocentry}}%^^A -% \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{SecDef}}%^^A -% \changes{v3.18}{2015/05/22}{Komplett neu definiert}%^^A -% \KOMAScript{} bietet in \textsf{scrbook} und \textsf{scrreprt} den -% zusätzlichen Gliederungsbefehl \cs{addchap}. Es handelt sich dabei -% um einen mit \cs{chapter*} vergleichbaren Befehl, bei dem jedoch der -% Kolumnentitel korrigiert wird und ein Eintrag ins Inhaltsverzeichnis -% erfolgt (nicht in der Stern-Variante). -% -% Die Definition von \cs{addcap} sah bis zu Version 2.7 so aus: -% \begin{verbatim} -% \newcommand\addchap{\if@openright\cleardoublepage\else\clearpage\fi -% \thispagestyle{plain}% -% \global\@topnum\z@ -% \@afterindentfalse -% \secdef\@addchap\@saddchap} -% \def\@addchap[#1]#2{\typeout{#2} -% \addcontentsline{toc}{chapter}{#1} -% \if@twoside\@mkboth{#1}{}\else\@mkboth{}{#1}\fi -% \addtocontents{lof}{\protect\addvspace{10\p@}}% -% \addtocontents{lot}{\protect\addvspace{10\p@}}% -% \if@twocolumn -% \@topnewpage[\@makeschapterhead{#2}]% -% \else -% \@makeschapterhead{#2}% -% \@afterheading -% \fi} -% \def\@saddchap#1{\@mkboth{}{} -% \if@twocolumn -% \@topnewpage[\@makeschapterhead{#1}]% -% \else -% \@makeschapterhead{#1}% -% \@afterheading -% \fi} -% \end{verbatim}\vspace{-\baselineskip} -% Dies führte jedoch zu Problemen im Zusammenhang mit -% \textsf{hyperref}, da hierbei keine korrekten Links erzeugt -% werden. Mit dem \texttt{hypertex}-Treiber von \textsf{hyperref} -% bis Version 6.71a werden auch in der neuen Implementierung keine -% korrekten Links erzeugt. Dies ist jedoch ein Bug in jenem -% Treiber. Mit neuen Versionen tritt das Problem nicht mehr auf. -% Deshalb wurde der Code wie folgt vereinfacht. Von wesentlicher -% Bedeutung ist dabei der Aufruf von \cs{chapter*}, da in -% \texttt{hpdftex.def} das interne Makro \cs{@schapter} so umdefiniert -% wird, dass ein korrekter Link erzeugt wird. +% \end{command}^^A \addchaptertocentry +% +% \begin{macro}{\@chapter,\@makechapterhead,\@@makechapterhead, +% \@schapter,\@makeschapterhead,\@@makeschapterhead} +% \changes{v3.18}{2015/05/22}{indirect by \cs{DeclareSectionCommand}} +% \begin{command}{\setchapterpreamble} +% \changes{v2.7b}{2001/01/05}{added} +% \changes{v3.18}{2015/05/22}{indirect by \cs{DeclareSectionCommand}} +% \begin{macro}{\chapter@u@preamble,\chapter@o@preamble} +% \changes{v2.8p}{2001/09/25}{added} +% \changes{v3.18}{2015/05/22}{indirect by \cs{DeclareSectionCommand}} +% All these commands and macros are not defined explicitly but by using +% \cs{DeclareSectionCommand} later. See also +% \cs{scr@dsc@def@style@chapter@command} and \cs{setchapterpreamble}. +% \end{macro}^^A \chapter@u@preamble,\chapter@o@preamble +% \end{command}^^A \setchapterpreamble +% \end{macro}^^A \@chapter … \@@makeschapterhead +% +% \begin{command}{\addchap} +% \changes{v2.0e}{1994/08/10}{\cs{sectdef} replaced by h \cs{secdef}} +% \changes{v2.0e}{1994/08/10}{\cs{addcontensline} replaced by +% \cs{addcontentsline}} +% \changes{v2.0e}{1994/08/10}{\cs{@makechapterhead} replaced by +% \cs{@makeschapterhead}} +% \changes{v2.0e}{1994/08/10}{\cs{afterheadings} replaced by +% \cs{@afterheading}} +% \changes{v2.1a}{1994/10/29}{argument of \cs{chaptermark} removed from +% \cls*{scrbook}} +% \changes{v2.0e}{1994/10/12}{several \cs{markboth} replaced by +% \cs{sectionmark}} +% \changes{v2.2b}{1995/03/20}{several \cs{chaptermark} replaced by +% \cs{@mkboth}} +% \changes{v2.8d}{2001/07/05}{using \cs{chapterpagestyle}} +% \changes{v3.08}{2010/11/01}{using \cs{addchaptertocentry}} +% \changes{v3.10}{2011/08/30}{extended optional argument} +% \changes{v3.13a}{2014/09/11}{using \cs{SecDef}} +% \changes{v3.18}{2015/05/22}{redefinition} % \begin{macro}{\@addchap} -% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addchapmark}}%^^A -% \changes{v3.17}{2015/04/20}{\cs{scr@ds@head} in \cs{addchapmark} -% expandieren}%^^A -% \changes{v3.18}{2015/05/22}{Komplett neu definiert}%^^A +% \changes{v3.12}{2013/02/26}{using \cs{addchapmark}} +% \changes{v3.17}{2015/04/20}{expanding \cs{scr@ds@head} in \cs{addchapmark}} +% \changes{v3.18}{2015/05/22}{redefinition} % \begin{macro}{\@saddchap} -% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addchapmark}}%^^A -% \changes{v3.18}{2015/05/22}{Komplett neu definiert}%^^A -% Seit \KOMAScript~3.18 wurden die Definitionen noch einmal deutlich -% vereinfacht. Deshalb wird nun auch nur noch für \cs{addchap*} die neue -% Anweisung \cs{addchapmark} benötigt. Bei \cs{addchap} geht es hingegen -% einfach über \cs{chaptermark} innerhalb von \cs{chapter}. +% \changes{v3.12}{2013/02/26}{using \cs{addchapmark}} +% \changes{v3.18}{2015/05/22}{redefinition} +% Since \KOMAScript{} 3.18 using +% \begin{quote} +% \cs{addchap}\oarg{head or ToC entry}\marg{heading} +% \end{quote} +% is very similar to +% |\chapter[nonumber=true,…]{…}| but also works if the extended optional +% argument is not activated. And +% \begin{quote} +% \cs{addchap*}\marg{heading} +% \end{quote} +% is just a \cs{chapter*}\marg{heading} with additional |\addchapmark{}| to +% empty the running head. +% \begin{description} +% \item[Note:] Because of simply manipulating \cnt{secnumdepth} this should +% also work with packages like \pkg{hyperref} as long as they support +% chapters without numbering. +% \end{description} % \begin{macrocode} \newcommand\addchap{% \SecDef\@addchap\@saddchap @@ -5535,20 +5442,19 @@ \addchapmark{}% }% % \end{macrocode} -% In \texttt{hyperref} bis Version 6.71a ist ein dicker Bug. In -% verschiedenen \texttt{def}-Dateien wird dort das \emph{interne} -% \KOMAScript-Makro \cs{@addchap} umdefiniert, ohne sicherzustellen, -% dass das Makro auch noch so aussieht, wie man das erwartet hat. Die -% sauberste Lösung wäre sicher gewesen dort \cs{@addchap} nur zu -% ergänzen, so wie man das auch bei \cs{@schapter} gemacht hatte. Ab -% Version 6.71b ist dieser Bug behoben. Damit ich nicht eines Fehlers -% verdächtigt werde, wird ggf. eine entsprechende Meldung ausgegeben. -% \changes{v2.7e}{2001/04/16}{fehlende, schließende Klammer -% ergänzt}%^^A -% \changes{v2.7f}{2001/04/17}{fehlendes Klammerpaar ergänzt}%^^A -% \changes{v2.8q}{2001/11/17}{\cs{AfterPackage} zur Überprüfung der -% \textsf{hyperref}-Version verwendet}%^^A -% \changes{v3.27a}{2019/11/11}{Meldung korrigiert}%^^A +% \changes{v2.7e}{2001/04/16}{braces fixed} +% \changes{v2.7f}{2001/04/17}{braces fixed} +% \changes{v2.8q}{2001/11/17}{using \cs{AfterPackage} to test for +% \pkg{hyperref} version} +% \changes{v3.27a}{2019/11/11}{warning fixed} +% \begin{description} +% \item[ToDo:] Unfortunately \pkg{hyperref} until version 6.71a has a big fat +% bug. It redefines the internal \KOMAScript{} macro \cs{@addchap} without +% testing the definition. From version 6.71b this is done only, if a very +% old \KOMAScript{} is used. However, I would prefer removing all such code +% from \pkg{hyperref}. Currently we warn, if such an old \pkg{hyperref} is +% used. But this will be removed in future. +% \end{description} % \begin{macrocode} %<*book> \AfterPackage{hyperref}{% @@ -5564,103 +5470,107 @@ %</book> %</body> % \end{macrocode} -% \end{macro}%^^A \@saddchap -% \end{macro}%^^A \@addchap -% \end{macro}%^^A \addchap +% \end{macro}^^A \@saddchap +% \end{macro}^^A \@addchap +% \end{command}^^A \addchap % % % \begin{macro}{\l@chapter} -% \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}}%^^A -% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{chapter}-Eintrag im -% Inhaltsverzeichnis und übergeordneten Einträgen verhindern}%^^A -% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{chapter}-Eintrag im -% Inhaltsverzeichnis und untergeordneten Einträgen verhindern}%^^A -% \changes{v2.97c}{2007/06/21}{\cs{sectfont} durch Verwendung von -% Element \texttt{chapterentry} ersetzt}%^^A -% \changes{v2.97c}{2007/06/21}{Element \texttt{chapterentrypagenumber} wird -% verwendet}%^^A -% \changes{v2.97c}{2007/06/21}{weitgehend umgeschrieben, um linksbündige -% Einträge zu ermöglichen}%^^A -% \changes{v3.15}{2014/12/22}{Verwendung von \cs{chaptertocdepth} und -% \cs{scr@chapter@tocnumwidth}}%^^A -% \changes{v3.15}{2014/12/10}{Verwendung von \cs{addvspace} statt \cs{vskip} -% für den Abstand am Anfang}%^^A -% \changes{v3.20}{2015/10/06}{überführt in Verzeichnisstil}%^^A -% Für die Definition des Kapiteleintrags ins Inhaltsverzeichnis werden einige -% Parameter von \cs{DeclareSectionCommand} definiert und teilweise -% verwendet. Damit kann man dann zumindest einige Änderungen mit -% \cs{DeclareSectionCommand} vornehmen, allerdings noch keine komplette -% Neugestaltung des Eintrags erreichen. +% \changes{v2.9k}{2003/01/02}{supporting option \opt{tocleft}} +% \changes{v2.96b}{2006/11/30}{prevent page break between chapter entry and +% parent} +% \changes{v2.96b}{2006/11/30}{prevent page break between chapter entry and +% child} +% \changes{v2.97c}{2007/06/21}{\cs{sectfont} replaced by font element +% \fnt{chapterentry}} +% \changes{v2.97c}{2007/06/21}{using font element +% \fnt{chapterentrypagenumber}} +% \changes{v2.97c}{2007/06/21}{re-implemented to support left aligned entries} +% \changes{v3.15}{2014/12/22}{using \cs{chaptertocdepth} and +% \cs{scr@chapter@tocnumwidth}} +% \changes{v3.15}{2014/12/10}{initial skip with \cs{addvspace} instead of +% \cs{vskip}} +% \changes{v3.20}{2015/10/06}{re-implemented using ToC styles} % \begin{macro}{\scr@chapter@tocindent} -% \changes{v3.15}{2014/12/02}{neue (interne) Anweisung}%^^A -% \changes{v3.18}{2015/05/20}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \changes{v3.20}{2015/11/06}{wird nun auch verwendet}%^^A -% Der Einzug des Eintrags noch vor der Nummer. -% \end{macro}%^^A \scr@chapter@tocindent +% \changes{v3.15}{2014/12/02}{added} +% \changes{v3.18}{2015/05/20}{indirect definition by \cs{DeclareSectionCommand}} +% \changes{v3.20}{2015/11/06}{really used} +% \end{macro}^^A \scr@chapter@tocindent % \begin{macro}{\scr@chapter@tocnumwidth} -% \changes{v3.15}{2014/12/02}{neue (interne) Anweisung}%^^A -% \changes{v3.18}{2015/05/20}{indirekt über \cs{DeclareSectionCommand}}%^^A -% Die Breite der Nummer des Eintrags wird tatsächlich verwendet. +% \changes{v3.15}{2014/12/02}{added} +% \changes{v3.18}{2015/05/20}{indirect definition by \cs{DeclareSectionCommand}} % \end{macro} % \begin{option}{chapterentrydots} -% \changes{v3.15}{2014/12/10}{Neu}%^^A -% Seit Version~3.15 kann man mit dieser Option Pünktchen zwischen Text und -% Seitenzahl in den Kapiteleinträgen einschalten. +% \changes{v3.15}{2014/12/10}{added} +% Option +% \begin{quote} +% \opt{chapterentrydots=\meta{boolean}} +% \end{quote} +% is the main difference of ToC entry style \texttt{chapter} to ToC entry +% style \texttt{tocline}. It activates the dots between the entry text and the +% page number. +% \begin{description} +% \item[ToDo:] This should be moved to \file{scrkernel-tocstyle.dtx}. +% \end{description} % \begin{macrocode} %<*option> \KOMA@ifkey{chapterentrydots}{@chapterentrywithdots} %</option> % \end{macrocode} -% \end{option}%^^A chapterentrydots -% \begin{macro}{\raggedchapterentry} -% \changes{v2.97c}{2007/06/21}{neue Anweisung}%^^A -% \changes{v3.20}{2016/02/23}{wird nicht mehr verwendet}%^^A -% \changes{v3.21}{2016/06/06}{siehe \texttt{scrkernel-tocstyle.dtx}, -% Stil \texttt{tocline}, Eigenschaft \texttt{raggedentrytext}}%^^A -% Ausrichtung des Textes der Kapiteleinträge im Inhaltsverzeichnis. +% \end{option}^^A chapterentrydots +% \begin{command}{\raggedchapterentry} +% \changes{v2.97c}{2007/06/21}{added} +% \changes{v3.20}{2016/02/23}{removed} +% \changes{v3.21}{2016/06/06}{see \file{scrkernel-tocstyle.dtx}, +% style \texttt{tocline}, option \opt{raggedentrytext}} +% The initial setting of option \opt{raggedtext} of chapter ToC entry style +% \texttt{tocline} resp. \texttt{chapter}. +% \begin{description} +% \item[ToDo:] Do we really need this definition? Every definition but +% \cs{raggedright} results in justified text. So not defining it would be +% almost the same. It just would not reserve the macro. But this could be +% done in \file{scrkernel-tocstyle.dtx}. +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\raggedchapterentry}{} % \end{macrocode} -% \end{macro}%^^A \raggedchapterentry -% \end{macro}%^^A \l@chapter +% \end{command}^^A \raggedchapterentry +% \end{macro}^^A \l@chapter % % \begin{macro}{\l@chapteratlist} -% \changes{v2.96a}{2006/12/03}{neues Macro}%^^A -% Dieses Makro wird ggf. für die Kapiteleinträge in den Listen der -% Gleitumgebungen verwendet. Zunächst einmal wird hier dasselbe verwendet, wie -% für die Kapiteleinträge ins Inhaltsverzeichnis. +% \changes{v2.96a}{2006/12/03}{added} +% This is used for chapter entries to other directories by the table of +% contents. By default it uses \cs{l@chapter}. But users can redefine it +% using, i.e., \cs{DeclareTOCStyleEntry}. However in this case they have to +% setup all the attributes/options on their own. % \begin{macrocode} \newcommand*{\l@chapteratlist}{\l@chapter} % \end{macrocode} -% \end{macro}%^^A \l@chapteratlist -% -% \begin{Counter}{chapter} -% \begin{macro}{\thechapter} -% \begin{macro}{\chapterformat} -% \changes{v2.3c}{1995/08/06}{Duden Regel 6}%^^A -% \changes{v2.7}{2000/01/03}{einfaches Leerzeichen durch \cs{enskip}%^^A -% ersetzt}%^^A -% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} eingefügt}%^^A -% \changes{v2.8o}{2001/09/19}{\cs{chapappifchapterprefix} statt -% \cs{chapappifprefix}} ^^A -% \changes{v2.96a}{2006/12/02}{\cs{mbox} eingefügt, um \cs{caps} zu -% ermöglichen}%^^A -% \changes{v3.17}{2015/03/08}{\cs{enskip} not in prefix line mode}%^^A -% \begin{macro}{\chaptermarkformat} -% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer erhöht}%^^A -% \changes{v2.3c}{1995/08/06}{Duden Regel 6}%^^A -% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} eingefügt}%^^A -% \changes{v2.8o}{2001/09/19}{\cs{chapappifchapterprefix} statt -% \cs{chapappifprefix}}%^^A -% \changes{v3.03a}{2009/04/03}{Tilde durch \cs{nobreakspace} ersetzt, um die -% Kompatibilität mit Spanisch zu verbessern}%^^A -% Jede Gliederungsebene benötigt einen Zähler für die -% Gliederungsnummer und eine Darstellung des Zählers -% (\cs{the\dots}). Desweiteren wird eine Formatierung des Zählers in -% den Gliederungsüberschriften (\texttt{\bslash\dots format}) und eine -% Formatierung des Zählers in der Kopfzeile -% (\texttt{\bslash\dots markformat}) benötigt. +% \end{macro}^^A \l@chapteratlist +% +% \begin{counter}{chapter} +% \begin{command}{\thechapter} +% \begin{command}{\chapterformat} +% \changes{v2.3c}{1995/08/06}{auto dot feature} +% \changes{v2.7}{2000/01/03}{white space replaced by \cs{enskip}} +% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} added} +% \changes{v2.8o}{2001/09/19}{\cs{chapappifprefix} replaced by +% \cs{chapappifchapterprefix}} +% \changes{v2.96a}{2006/12/02}{\cs{mbox} added} +% \changes{v3.17}{2015/03/08}{\cs{enskip} not in prefix line mode} +% \begin{command}{\chaptermarkformat} +% \changes{v2.3a}{1995/07/08}{space after chapter number increased} +% \changes{v2.3c}{1995/08/06}{auto dot feature} +% \changes{v2.8}{2001/06/15}{\cs{chapappifprefix} added} +% \changes{v2.8o}{2001/09/19}{\cs{chapappifprefix} replaced by +% \cs{chapappifchapterprefix}} +% \changes{v3.03a}{2009/04/03}{tilde replaced by \cs{nobreakspace} for better +% \pkg{babel-spanish} support} +% The counter would also be defined by \cs{DeclareSectionCommand}. But because +% of handling \cs{frontmatter} and \cs{backmatter} and prefix lines we cannot +% use the default definition of the formatting. So we define it already before +% calling \cs{DeclareSectionCommand} for \cs{chapter}. % \begin{macrocode} \newcounter{chapter} \renewcommand*{\thechapter}{\@arabic\c@chapter} @@ -5671,61 +5581,74 @@ \newcommand*\chaptermarkformat{\chapappifchapterprefix{\ }% \thechapter\autodot\enskip} % \end{macrocode} -% \end{macro}%^^A \chaptermarkformat -% \end{macro}%^^A \chapterformat -% \end{macro}%^^A \thechapter -% \end{Counter}%^^A chapter +% \end{command}^^A \chaptermarkformat +% \end{command}^^A \chapterformat +% \end{command}^^A \thechapter +% \end{counter}^^A chapter % % -% \begin{macro}{\chaptername} -% Name der Gliederungsebenen \cs{chapter}. +% \begin{command}{\chaptername} +% \changes{v3.36}{2022/03/15}{explicit definition for English languages} +% The name of a chapter, e.g., used for the prefix line and maybe for the ToC +% entry. % \begin{macrocode} \newcommand*\chaptername{Chapter} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\chaptername{Chapter} % \end{macrocode} -% \end{macro}%^^A \chaptername +% \end{command}^^A \chaptername % % -% \begin{macro}{\appendixname} -% Der Name des Anhangs. +% \begin{command}{\appendixname} +% \changes{v3.36}{2022/03/15}{explicit definition for English languages} +% The same for appendix chapters. % \begin{macrocode} \newcommand*\appendixname{Appendix} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\appendixname{Appendix} % \end{macrocode} -% \end{macro}%^^A \appendixname -% -% -% \begin{macro}{\chapappifprefix} -% \changes{v2.8}{2001/06/15}{neu}%^^A -% \changes{v2.8o}{2001/09/19}{obsolet}%^^A -% \begin{macro}{\chapappifchapterprefix} -% \changes{v2.8o}{2001/09/19}{neu}%^^A -% \changes{v2.8o}{2001/09/19}{Argument ist nicht optional}%^^A -% \changes{v3.18}{2015/06/09}{verwendet \cs{IfChapterUsePrefixLine}}%^^A -% \begin{macro}{\IfChapterUsesPrefixLine} -% \changes{v3.18}{2015/06/09}{neu (intern)} -% \begin{macro}{\chapapp} -% \changes{v2.8}{2001/06/15}{neu}%^^A -% Das in \cs{chapterformat} verwendete Makro -% \cs{chapappifchapterprefix} setzt abhängig von \cs{if@chapterprefix} -% noch das Makro \cs{chapapp} gefolgt vom obliatorischen Argument. -% \cs{chapapp} macht \cs{@chapapp} auf Anwenderebene verfügbar. Der -% Vorteil des neuen \cs{chapappifchapterprefix} gegenüber dem alten -% \cs{chapappifprefix} ist, dass nun beim Umdefinieren von -% \cs{chapterformat} und \cs{chaptermarkformat} wieder -% \cs{renewcommand} verwendet werden kann und beim Umschalten in den -% Anhang die Kopfzeile korrekt ist, weil das Makro nun nicht mehr -% geschützt ist, sondern direkt expandiert. -% \begin{macrocode} -\newcommand*{\chapappifprefix}[1][]{% - \ClassWarning{\KOMAClassName}{% - Please don't use obsolete command - \string\chapappifprefix.\MessageBreak - The new command \string\chapappifchapterprefix\space has - an\MessageBreak - obligatory instead of an optional argument. Use that\MessageBreak - new command% - }% - \chapappifchapterprefix{#1}% -} +% \end{command}^^A \appendixname +% +% +% \begin{command}{\chapappifprefix} +% \changes{v2.8}{2001/06/15}{added} +% \changes{v2.8o}{2001/09/19}{deprecated} +% \changes{v3.36}{2022/03/18}{removed} +% \begin{description} +% \item[Note:] Command \cs{chapappifprefix} has been removed in \KOMAScript{} +% v3.36, because it is deprecated from \KOMAScript{} v2.8o and there never has +% been a compatibility switch for versions before \KOMAScript{} v2.9. +% \end{description} +% \end{command}^^A \chapappifprefix +% +% +% \begin{command}{\chapappifchapterprefix} +% \changes{v2.8o}{2001/09/19}{added} +% \changes{v3.18}{2015/06/09}{using \cs{IfChapterUsePrefixLine}} +% \begin{command}{\IfChapterUsesPrefixLine} +% \changes{v3.18}{2015/06/09}{added} +% \begin{command}{\chapapp} +% \changes{v2.8}{2001/06/15}{added} +% \begin{macro}{\@chapapp} +% The \LaTeX{} standard classes provide an internal macro \cs{@chapapp} that +% is either \cs{chaptername} or \cs{appendixname} depending on whether we are +% inside or outside the appendix. For compatibility with lots of packages +% \KOMAScript{} does provide this too. But for the user level this is +% cumbersome. So \KOMAScript{} does also provide a \emph{read only specified} +% user command \cs{chapapp}. \KOMAScript{} itself uses \cs{chapapp} inside +% \begin{quote} +% \cs{chapappifchapterprefix}\marg{then string} +% \end{quote} +% that outputs \cs{then string} prefixed by \cs{chapapp} only, if +% \opt{chapterprefix} (resp. \opt{headings=twolinechapter}) has been activated +% and therefore a chapter prefix line has to be used. A more general version +% \cs{chapterifchapterprefix} is +% \begin{quote} +% \cs{IfChapterUsesPrefixLine}\marg{then code}\marg{else code} +% \end{quote} +% that executes \cs{then code} if a chapter prefix line has to be used and +% \cs{else code} otherwise (both without extra prefix). +% \begin{macrocode} \newcommand*{\chapappifchapterprefix}[1]{% \IfChapterUsesPrefixLine{\chapapp#1}{}% } @@ -5733,38 +5656,37 @@ \if@chapterprefix\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi } \newcommand*{\chapapp}{\@chapapp} -% \end{macrocode} -% \begin{macro}{\@chapapp} -% Dieses Makro enthält den Kapitelname (\cs{chaptername}), der sich im -% Anhang üblicherweise ändert (\cs{appendixname}). -% \begin{macrocode} \newcommand*\@chapapp{\chaptername} % \end{macrocode} -% \end{macro}%^^A \@chapapp -% \end{macro}%^^A \chapapp -% \end{macro}%^^A \IfChapterUsePrefixLine -% \end{macro}%^^A \chapappifchapterprefix -% \end{macro}%^^A \chapappifprefix +% \end{macro}^^A \@chapapp +% \end{command}^^A \chapapp +% \end{command}^^A \IfChapterUsePrefixLine +% \end{command}^^A \chapappifchapterprefix % % -% \begin{macro}{\chaptermark} -% Da \cs{chapter} nicht mit Hilfe von \cs{@startsection} definiert -% wird, wird auch \cs{chaptermark} nicht automatisch definiert. Es -% wird aber in den Seitenstilen benötigt bzw. umdefiniert. Also hier -% vorsorglich eine Dummy-Definition: +% \begin{command}{\chaptermark} +% Before selecting a page style with automatic running head, \cs{chapter} +% should simply not change the left or right mark. +% \begin{description} +% \item[ToDo:] Do we really need this or would the later +% \cs{DeclareSectionCommand} be enough to do the initial definition? +% \end{description} % \begin{macrocode} \newcommand*\chaptermark[1]{} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\addchapmark} -% \changes{v3.12}{2013/03/26}{neue Anweisung}%^^A -% Für \cs{addchapmark} gilt dies hingegen nicht. Das wird nicht von den Stilen -% definiert, sondern direkt mit der gewünschten Definition -% initialisiert. Bitte nicht davon verwirren lassen, dass \cs{if@mainmatter} -% hier auch von \textsf{scrreprt} definiert wird. Das ist Absicht und -% vereinfacht dem einen oder anderen Paket oder Benutzer vielleicht die -% Arbeit. +% \begin{command}{\addchapmark} +% \changes{v3.12}{2013/03/26}{added} +% \cs{addchap} and marks for running heads are a little bit more +% complicated. Currently we are using a local redefinition of +% \cs{if@mainmatter} and setting of \cnt{secnumdept} to switch of numbering +% and then using \cs{chaptermark}. So the \cs{chaptermark} definition should +% always respect at least one of these settings. +% \begin{description} +% \item[Note:] The ToDo note at \cs{chaptermark} is not relevant for this +% definition. +% \end{description} % \begin{macrocode} \newcommand*\addchapmark[1]{% \begingroup @@ -5775,185 +5697,183 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \addchapmark +% \end{command}^^A \addchapmark % % -% \begin{macro}{\raggedchapter} -% \changes{v3.15}{2014/12/09}{neu}%^^A -% Da das doch recht häufig gewünscht wird, kann man die Ausrichtung der -% Kapitelüberschrift auch getrennt von der Ausrichtung der übrigen -% Überschriften einstellen. +% \begin{command}{\raggedchapter} +% \changes{v3.15}{2014/12/09}{added} +% Style \texttt{chapter} does not use \cs{raggedsection} but +% \cs{raggedchapter}. However, the initial value is \cs{raggedsection}, so a +% change of \cs{raggedsection} would also change the initial behave of +% \cs{raggedchapter}. Nevertheless the alignment of chapters in independent +% from the alignment of sections, if wanted. % \begin{macrocode} \newcommand*{\raggedchapter}{\raggedsection} % \end{macrocode} -% \end{macro} -% +% \end{command} % -% \begin{KOMAfont}{chapter} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{chapter}}%^^A -% \begin{macro}{\scr@fnt@chapter} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{chapter}}%^^A -% \begin{KOMAfont}{chapterprefix} -% \changes{v2.96a}{2006/12/02}{neues Element \texttt{chapterprefix}}%^^A -% \begin{macro}{\scr@fnt@chapterprefix} -% \changes{v2.96a}{2006/12/02}{neues Element \texttt{chapterprefix}}%^^A -% \begin{macrocode} -\newcommand*{\scr@fnt@chapter}{\size@chapter} -\newcommand*{\scr@fnt@chapterprefix}{\size@chapterprefix} -% \end{macrocode} -% \end{macro}%^^A \scr@fnt@chapterprefix -% \end{KOMAfont} chapterprefix -% \end{macro}%^^A \scr@fnt@chapter -% \end{KOMAfont}%^^A chapter % -% \begin{KOMAfont}{chapterentry} -% \changes{v2.97c}{2007/06/21}{neues Font-Element}%^^A -% \changes{v3.06}{2010/06/09}{Verwendung von \texttt{sectioning} durch -% \texttt{disposition} ersetzt}%^^A -% Schrift für den \cs{chapter}-Eintrag im Inhaltsverzeichnis. +% \begin{fontelement}{chapterentry} +% \changes{v2.97c}{2007/06/21}{added} +% \changes{v3.06}{2010/06/09}{font element \fnt{sectioning} replaced by +% \fnt{disposition}} +% \cs{chapter} entries to the table of contents initially using +% \fnt{disposition}, the basic font of all outlines. % \begin{macrocode} \newkomafont{chapterentry}{\usekomafont{disposition}} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{chapterentrypagenumber} -% \changes{v2.97c}{2007/06/21}{neues Font-Element}%^^A -% Schrift für die Seitenzahl des \cs{chapter}-Eintrags im Inhaltsverzeichnis -% abweichend von \texttt{chapterentry}. +% \begin{fontelement}{chapterentrypagenumber} +% \changes{v2.97c}{2007/06/21}{added} +% The page number of \cs{chapter} entries to the table of contents is +% initially the same as the entry at whole. % \begin{macrocode} \newkomafont{chapterentrypagenumber}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{chapterentrydots} -% \changes{v3.15}{2014/12/10}{neues Font-Element}%^^A -% \changes{v3.27}{2019/10/28}{überflüssiges \cs{normalfont} entfernt}%^^A -% Schrift für die optionalen Pünktchen des \cs{chapter}-Eintrags im -% Inhaltsverzeichnis abweichend von \texttt{chapterentry} und -% \cs{normalfont}\cs{normalsize}. +% \begin{fontelement}{chapterentrydots} +% \changes{v3.15}{2014/12/10}{added} +% \changes{v3.27}{2019/10/28}{\cs{normalfont} removed} +% If the optional dots for \cs{chapter} entries to the table of contents are +% used, we can change the font of the dots also. It is used for the +% \texttt{linefill} of \pkg*{tocbasic} ToC entry style \texttt{chapter}, that +% uses ToC entry style \texttt{tocline} where the line filler is always +% prefixed by \cs{normalfont}\cs{normalsize}. So the setting is relative to +% this. The color is relative to the color of \fnt{chapterentry}. % \begin{macrocode} \newkomafont{chapterentrydots}{} %</body> %</book|report> -%</class> % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % % -% \subsection{Abschnitte und Untergliederungen} +% \subsection{Section, subsections and more} % -% Alle Ebenen ab \cs{section} ähneln sich so sehr, dass sie gemeinsam -% behandelt werden. Lediglich bei \textsf{scrartl} gibt es für \cs{section} -% selbst noch ein paar Besonderheiten. +% The outline levels of sections, subsections, subsubsection, paragraphs and +% subparagraphs are all very similar. There are only some special treatments +% of sections with \cls*{scrartcl}, because there \cs{section} is a high-level +% command. % -% \begin{macro}{\size@section} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \begin{macro}{\size@subsection} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \begin{macro}{\size@subsubsection} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \begin{macro}{\size@paragraph} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% \begin{macro}{\size@subparagraph} -% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A -% Hier werden diese Befehle nur vordefiniert. Ihre tatsächliche Einstellung -% erfolgt über die (Vor-)Auswahl von Option \texttt{headings}. +% \begin{fontelement}{section,subsection,subsubsection, +% paragraph,subparagraph} +% \changes{v2.8o}{2001/09/14}{added} +% Definition of the font elements used by \cs{section}, \cs{subsection}, +% \cs{subsubsection}, \cs{paragraph} and \cs{subparagraph}. The settings are +% done by option \texttt{headings} later. Everything is prepared before this +% option is used the first time. The definition of the font element is done +% manually to stay compatible with old \KOMAScript{} versions using another +% internal macro than the default of \cs{newkomafont}. % \begin{macrocode} -%<*class> %<*prepare> \newcommand*{\size@section}{} +\newcommand*{\scr@fnt@section}{\size@section} \newcommand*{\size@subsection}{} +\newcommand*{\scr@fnt@subsection}{\size@subsection} \newcommand*{\size@subsubsection}{} +\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} \newcommand*{\size@paragraph}{} +\newcommand*{\scr@fnt@paragraph}{\size@paragraph} \newcommand*{\size@subparagraph}{} +\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} %</prepare> % \end{macrocode} -% \end{macro}%^^A \size@subparagraph -% \end{macro}%^^A \size@paragraph -% \end{macro}%^^A \size@subsubsection -% \end{macro}%^^A \size@subsection -% \end{macro}%^^A \size@section +% \end{fontelement}^^A section … subparagraph % % % \begin{macro}{\l@section} -% \changes{v2.9k}{2003/01/02}{Anpassung an Option \texttt{tocleft}}%^^A -% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{section}-Eintrag im -% Inhaltsverzeichnis und übergeordneten Einträgen verhindern}%^^A -% \changes{v2.96b}{2006/11/30}{Umbruch zwischen \cs{section}-Eintrag im -% Inhaltsverzeichnis und untergeordneten Einträgen verhindern}%^^A -% \changes{v2.97c}{2007/06/21}{\cs{sectfont} durch Verwendung von -% Element \texttt{sectionentry} ersetzt}%^^A -% \changes{v2.97c}{2007/06/21}{Element \texttt{sectionentrypagenumber} wird -% verwendet}%^^A -% \changes{v2.97c}{2007/06/21}{weitgehend umgeschrieben, um linksbündige -% Einträge zu ermöglichen}%^^A -% \changes{v3.15}{2014/11/24}{\cs{sectiontocdepth}, -% \cs{scr@section@tocindent} und \cs{scr@section@tocnumwidth} werden -% verwendet}%^^A -% \changes{v3.20}{2015/10/06}{Überführung in Verzeichnisstil}%^^A -% Bei der Artikel-Klasse folgt die Formatierung für -% \cs{section}-Einträge, an Stelle der Einträge für \cs{chapter} -% der Buch- oder der Bericht-Klasse. Bei diesen handelt es sich hier -% stattdessen um eine normale Ebene. +% \changes{v2.9k}{2003/01/02}{supporting option \opt{tocleft}} +% \changes{v2.96b}{2006/11/30}{preventing page break between section entry and +% parent} +% \changes{v2.96b}{2006/11/30}{preventing page break between section entry and +% child} +% \changes{v2.97c}{2007/06/21}{\cs{sectfont} replaced by font element +% \fnt{sectionentry}} +% \changes{v2.97c}{2007/06/21}{using font element +% \fnt{sectionentrypagenumber}} +% \changes{v2.97c}{2007/06/21}{re-implemented to support left aligned entries} +% \changes{v3.15}{2014/11/24}{using \cs{sectiontocdepth}, +% \cs{scr@section@tocindent} and \cs{scr@section@tocnumwidth}} +% \changes{v3.20}{2015/10/06}{re-implemented using ToC styles} % \begin{option}{sectionentrydots} -% \changes{v3.15}{2014/12/10}{Neu}%^^A -% Seit Version~3.15 kann man mit dieser Option Pünktchen zwischen Text und -% Seitenzahl in den Kapiteleinträgen einschalten. +% \changes{v3.15}{2014/12/10}{added} +% With \cls*{scrartcl} option +% \begin{quote} +% \opt{sectionentrydots=\meta{boolean}} +% \end{quote} +% is the main difference of ToC entry style \texttt{section} to ToC entry +% style \texttt{tocline}. It activates the dots between the entry text and the +% page number. +% \begin{description} +% \item[ToDo:] This should be moved to \file{scrkernel-tocstyle.dtx}. +% \end{description} % \begin{macrocode} %<*article> %<*option> \KOMA@ifkey{sectionentrydots}{@sectionentrywithdots} %</option> % \end{macrocode} -% \end{option}%^^A sectionentrydots -% \begin{macro}{\raggedsectionentry} -% \changes{v2.97c}{2007/06/21}{neue Anweisung}%^^A -% \changes{v3.20}{2016/02/23}{nicht mehr verwendet}%^^A -% Ausrichtung des Textes der Abschnittseinträge im Inhaltsverzeichnis. +% \end{option}^^A sectionentrydots +% \begin{command}{\raggedsectionentry} +% \changes{v2.97c}{2007/06/21}{added} +% \changes{v3.20}{2016/02/23}{removed} +% The initial setting of option \opt{raggedtext} of section ToC entry style +% \texttt{tocline} resp. \texttt{section}. +% \begin{description} +% \item[ToDo:] Do we really need this definition? Every definition but +% \cs{raggedright} results in justified text. So not defining it would be +% almost the same. It just would not reserve the macro. But this could be +% done in \file{scrkernel-tocstyle.dtx}. +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\raggedsectionentry}{} %</body> %</article> % \end{macrocode} -% \end{macro}%^^A \raggedsectionentry -% \end{macro}%^^A \l@section -% -% -% \begin{macro}{\addsec} -% \changes{v2.0e}{1994/10/12}{mehrfach \cs{markboth} durch -% \cs{sectionmark} ersetzt}%^^A -% \changes{v2.2b}{1995/03/20}{\cs{sectionmark} durch \cs{@mkboth} -% ersetzt}%^^A -% \changes{v2.3h}{1995/01/21}{jetzt auch bei \textsf{scrbook} und -% \textsf{scrreprt}}%^^A -% \changes{v2.4g}{1996/11/04}{\cs{section*} vorgezogen, damit -% dadurch provozierte Seitenumbrüche im Inhaltsverzeichnis -% berücksichtigt werden}%^^A -% \changes{v2.5d}{1998/01/03}{\cs{@mkboth} bedingt durch -% \cs{markright} ersetzt}%^^A -% \changes{v2.7a}{2001/01/04}{\cs{addsec} für eine bessere -% Unterstützung von \textsf{hyperref} geändert}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{SecDef}}%^^A +% \end{command}^^A \raggedsectionentry +% \end{macro}^^A \l@section +% +% +% \begin{command}{\addsec} +% \changes{v2.0e}{1994/10/12}{several \cs{markboth} replaced by +% \cs{sectionmark}} +% \changes{v2.2b}{1995/03/20}{\cs{sectionmark} replaced by \cs{@mkboth}} +% \changes{v2.3h}{1995/01/21}{also available with \cls*{scrbook} and +% \cls*{scrreprt}} +% \changes{v2.4g}{1996/11/04}{\cs{section*} moved because of page breaks in +% the table of contents} +% \changes{v2.5d}{1998/01/03}{\cs{@mkboth} replaced by conditional +% \cs{markright}} +% \changes{v2.7a}{2001/01/04}{supporting \pkg{hyperref}} +% \changes{v3.13a}{2014/09/11}{using \cs{SecDef}} % \begin{macro}{\@addsec} -% \changes{v3.10}{2011/08/30}{Verwendung von \cs{addsectiontocentry}}%^^A -% \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle}%^^A -% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addsecmark}}%^^A -% \changes{v3.18}{2015/05/22}{komplett neu definiert}%^^A +% \changes{v3.10}{2011/08/30}{using \cs{addsectiontocentry}} +% \changes{v3.10}{2011/08/30}{extended optional argument} +% \changes{v3.12}{2013/02/26}{using \cs{addsecmark}} +% \changes{v3.18}{2015/05/22}{redefinition} % \begin{macro}{\@saddsec} -% \changes{v3.12}{2013/02/26}{Verwendung von \cs{addsecmark}}%^^A -% \changes{v3.17}{2015/04/20}{\cs{scr@ds@head} in \cs{addsecmark} -% expandieren}%^^A -% \KOMAScript{} bietet in allen drei Hauptklassen den zusätzlichen -% Gliederungsbefehl \cs{addsec}. Es handelt sich dabei um einen mit -% \cs{section*} vergleichbaren Befehl, bei dem jedoch der -% Kolumnentitel korrigiert wird und ein Eintrag ins Inhaltsverzeichnis -% erfolgt (nicht in der Stern-Variante). -% -% Mit Version~3.18 wurde \cs{addsec} deutlich vereinfacht. Seither verwendet -% nur noch \cs{@saddsec} die Anweiung \cs{addsecmark}, während \cs{@addsec} -% direkt über das \cs{sectionmark} von \cs{section} arbeitet. +% \changes{v3.12}{2013/02/26}{using \cs{addsecmark}} +% \changes{v3.17}{2015/04/20}{expanding \cs{scr@ds@head} in \cs{addsecmark}} +% Since \KOMAScript{} 3.18 using +% \begin{quote} +% \cs{addsec}\oarg{head or ToC entry}\marg{heading} +% \end{quote} +% is very similar to +% |\section[nonumber=true,…]{…}| but also works if the extended optional +% argument is not activated. And +% \begin{quote} +% \cs{addsec*}\marg{heading} +% \end{quote} +% is just a \cs{section*}\marg{heading} with additional |\addsecmark{}| to +% empty the running head. +% \begin{description} +% \item[Note:] Because of simply manipulating \cnt{secnumdepth} this should +% also work with packages like \pkg{hyperref} as long as they support +% sections without numbering. +% \end{description} % \begin{macrocode} %<*body> \newcommand\addsec{\SecDef\@addsec\@saddsec} @@ -5972,30 +5892,28 @@ \section*{#1}\addsecmark{}% } % \end{macrocode} -% \end{macro}%^^A \@saddsec -% \end{macro}%^^A \@addsec -% \end{macro}%^^A \addsec -% -% -% \begin{macro}{\minisec} -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} -% behebt einen Bug im color Paket}%^^A -% \changes{v2.9o}{2003/01/31}{\cs{nobreak} nach dem Gruppenende -% behebt einen Bug im color Paket}%^^A -% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig -% von Option \texttt{version})}%^^A -% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak}%^^A -% entfernt}%^^A -% \changes{v3.13a}{2014/08/07}{Absicherung der Abstände bei -% aufeinanderfolgenden Überschriften entsprechend \cs{@startsection}}%^^A -% \changes{v3.26}{2018/05/14}{fehlendes \cs{interlinepenalty}\cs{@M} -% ergänzt}%^^A -% \begin{KOMAfont}{minisec} -% \changes{v2.96a}{2006/12/03}{\texttt{minisec} ist ein eigenes -% Fontelement}%^^A -% \changes{v3.21}{2016/06/12}{fehlendes \cs{nobreak} ergänzt}%^^A -% In \KOMAScript{} gibt es diese zusätzliche Gliederungsebene, die -% immer ohne Nummer und ohne Eintrag ins Inhaltsverzeichnis erfolgt. +% \end{macro}^^A \@saddsec +% \end{macro}^^A \@addsec +% \end{command}^^A \addsec +% +% +% \begin{command}{\minisec} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} after \cs{sectfont} added} +% \changes{v2.9o}{2003/01/31}{\cs{nobreak} after group end} +% \changes{v2.96a}{2006/11/30}{initial value of \cs{parfillskip} depending on +% \opt{version}} +% \changes{v2.96a}{2006/12/03}{not needed \cs{nobreak} removed} +% \changes{v3.13a}{2014/08/07}{handling of distances of immediate following +% headings like \cs{@startsection}} +% \changes{v3.26}{2018/05/14}{missing \cs{interlinepenalty}\cs{@M} added} +% \begin{fontelement}{minisec} +% \changes{v2.8o}{2001/09/14}{using font element \fnt{minisec}} +% \changes{v3.21}{2016/06/12}{missing \cs{nobreak} added} +% \cs{minisec} is a very special additional outline of \KOMAScript. It is +% always free standing but without numbering. Something like +% \cs{sectionlinesformat} is not supported currently. Also entries to the +% table of contents or marks for an automatic running head are not +% supported. However a dedicated font element is provided. % \begin{macrocode} \newkomafont{minisec}{} \newcommand\minisec[1]{% @@ -6020,81 +5938,81 @@ \@afterheading } % \end{macrocode} -% \end{KOMAfont} -% \end{macro} -% -% -% \begin{macro}{\addsectiontocentry} -% \changes{v3.10}{2011/08/30}{Neu}%^^A -% Entsprechend \cs{addparttocentry} und \cs{addchaptertocentry}. +% \end{fontelement}^^A minisec +% \end{command}^^A \minisec +% +% +% \begin{command}{\addsectiontocentry,\addsubsectiontocentry, +% \addsubsubsectiontocentry, +% \addparagraphtocentry,\addsubparagraphtocentry} +% \changes{v3.10}{2011/08/30}{added} +% We do not use \cs{addcontentsline} directly for the entries to the table of +% contents. Using +% \begin{quote}\raggedright +% \cs{addsectiontocentry}\marg{number}\marg{text}\\ +% \cs{addsubsectiontocentry}\marg{number}\marg{text}\\ +% \cs{addsubsubsectiontocentry}\marg{number}\marg{text}\\ +% \cs{addparagraphtocentry}\marg{number}\marg{text}\\ +% \cs{addsubparagraphtocentry}\marg{number}\marg{text}\\ +% \end{quote} +% allows easy manipulation of such entries and additional actions. If the +% \meta{number} is completely empty no number should be used. Internally the +% generic \cs{addtocentrydefault} it used, which uses \cs{nonumberline} +% instead of \cs{numberline} in this case. See \file{scrkernel-listsof.dtx} +% for more information. +% \begin{description} +% \item[ToDo:] Should this be moved to \file{scrkernel-listsof.dtx} or even to +% \file{scrkernel-tocstyle.dtx}? +% \item[ToDo:] Are these really needed or would the implicit definition by the +% later \cs{DeclareSectionCommand} be enough as it is already used for +% \cs{addsubsubsectiontocentry}? +% \end{description} % \begin{macrocode} \newcommand*{\addsectiontocentry}[2]{% \addtocentrydefault{section}{#1}{#2}% } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\addsubsectiontocentry} -% \changes{v3.10}{2011/08/30}{Neu}%^^A -% Entsprechend \cs{addparttocentry} usw. -% \begin{macrocode} \newcommand*{\addsubsectiontocentry}[2]{% \addtocentrydefault{subsection}{#1}{#2}% } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\addparagraphtocentry} -% \changes{v3.10}{2011/08/30}{Neu}%^^A -% Entsprechend \cs{addparttocentry} usw. -% \begin{macrocode} \newcommand*{\addparagraphtocentry}[2]{% \addtocentrydefault{paragraph}{#1}{#2}% } -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\addsubparagraphtocentry} -% \changes{v3.10}{2011/08/30}{Neu}%^^A -% Entsprechend \cs{addparttocentry} usw. -% \begin{macrocode} \newcommand*{\addsubparagraphtocentry}[2]{% \addtocentrydefault{subparagraph}{#1}{#2}% } % \end{macrocode} -% \end{macro} -% -% -% \begin{Counter}{section} -% \begin{macro}{\thesection} -% \changes{v2.97e}{2007/11/23}{Kapitelnummer nur im Hauptteil}%^^A -% \changes{v3.03b}{2009/06/09}{\cs{relax} im Kompatibilitätstest durch ein -% Leerzeichen ersetzt, obwohl das die Wartbarkeit verschlechtert, aber -% \textsf{hyperref} hat mit dem \cs{relax} ein nicht dokumentieres -% Problem}%^^A -% \changes{v3.27}{2019/06/26}{Umstellung auf \cs{scr@v@is@gt}}%^^A -% \begin{macro}{\sectionmarkformat} -% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer -% erhöht}%^^A -% \changes{v2.3c}{1995/08/06}{Duden Regel 6}%^^A -% \begin{Counter}{subsection} -% \begin{macro}{\thesubsection} -% \begin{macro}{\subsectionmarkformat} -% \changes{v2.3a}{1995/07/08}{Leerraum nach der Kapitelnummer -% erhöht}%^^A -% \changes{v2.3c}{1995/08/06}{Duden Regel 6}%^^A -% \begin{Counter}{subsubsection} -% \begin{macro}{\thesubsubsection} -% \begin{Counter}{paragraph} -% \begin{macro}{\theparagraph} -% \begin{Counter}{subparagraph} -% \begin{macro}{\thesubparagraph} -% Jede Gliederungsebene benötigt einen Zähler für die -% Gliederungsnummer und eine Darstellung des Zählers -% (\cs{the\dots}). Desweiteren wird eine Formatierung des Zählers in -% den Gliederungsüberschriften (\texttt{\bslash\dots format}) und eine -% Formatierung des Zählers in der Kopfzeile -% (\texttt{\bslash\dots markformat}) benötigt. +% \end{command} +% +% +% \begin{counter}{section} +% \begin{command}{\thesection} +% \changes{v2.97e}{2007/11/23}{chapter number prefix only in main matter} +% \changes{v3.03b}{2009/06/09}{\cs{relax} replaced by white space for better +% support of \pkg{hyperref}} +% \changes{v3.27}{2019/06/26}{using \cs{scr@v@is@gt}} +% \begin{command}{\sectionmarkformat} +% \changes{v2.3a}{1995/07/08}{space after number increased} +% \changes{v2.3c}{1995/08/06}{auto dot feature} +% \begin{counter}{subsection} +% \begin{command}{\thesubsection} +% \begin{command}{\subsectionmarkformat} +% \changes{v2.3a}{1995/07/08}{space after number increased} +% \changes{v2.3c}{1995/08/06}{auto dot feature} +% \begin{counter}{subsubsection} +% \begin{command}{\thesubsubsection} +% \begin{counter}{paragraph} +% \begin{command}{\theparagraph} +% \begin{counter}{subparagraph} +% \begin{command}{\thesubparagraph} +% The counter would also be defined by \cs{DeclareSectionCommand}. But because +% of handling \cs{frontmatter} and \cs{backmatter} and prefix lines we cannot +% use the default definition of the formatting of \cnt{section}. So we define +% it already before calling \cs{DeclareSectionCommand} for \cs{section}. +% \begin{description} +% \item[ToDo:] Do we really need the explicit definition of \cnt{subsection}, +% \cnt{subsubsection}, \cnt{paragraph}, and \cnt{subparagraph} of would the +% implicit definition by \cs{DeclareSectionCommand} be enough for these. +% \end{description} % \begin{macrocode} %<*book|report> \newcounter{section}[chapter] @@ -6131,36 +6049,34 @@ } % \end{macrocode} % \begin{macro}{\@seccntformat} -% \changes{v2.3c}{1995/08/06}{CJK erweitert}%^^A -% \changes{v2.9p}{2004/01/07}{\cs{protect} eingefügt}%^^A -% \changes{v2.97}{2007/01/24}{Workaround für das blöde \cs{protect}}%^^A -% \changes{v3.17}{2015/02/23}{verwendet \cs{\dots format}, wenn es -% existiert}%^^A -% \changes{v3.17}{2015/03/31}{verwendet \cs{protect} für \cs{\dots -% format}}%^^A -% \begin{macro}{\othersectionlevelsformat} -% \changes{v2.7}{2000/01/03}{neu}%^^A -% \changes{v2.7}{2000/01/03}{\cs{quad} durch \cs{enskip} ersetzt}%^^A -% \changes{v2.7i}{2001/05/17}{\cs{let} durch \cs{def} ersetzt}%^^A -% \changes{v2.97}{2007/01/24}{statt einem Argument jetzt drei}%^^A -% Bei den Ebenen ab \cs{section} erfolgt die Formatierung der -% Gliederungnummer in der Überschrift mit einer gemeinsamen -% Anweisung. Die interne Anweisung \cs{@seccntformat} wird dabei von -% \LaTeX-Kern verwendet und muss umdefiniert werden, um eine -% entsprechende Anweisung auf Anwenderebene verfügbar zu haben. -% Ab Version 2.9p wurde in \cs{@seccntformat} ein \cs{protect} vor -% \cs{othersectionlevelsformat} eingefügt. Damit wurde es für den Benutzer -% deutlich einfacher, die Anweisung \cs{othersectionlevelsformat} -% umzudefinieren. Dafür war dadurch aber \cs{the\dots} nicht mehr -% expandiert. Das wiederum gab Probleme, wenn \cs{@seccntformat} für den -% \cs{mark}-Mechanismus genutzt wurde. Deshalb hat -% \cs{othersectionlevelsformat} ab Version 2.97 drei Argumente statt nur -% eines. Das zweite Argument sollte vom Anwender ignoriert werden, es -% existiert nur, um die Kompatibitlität Umdefinitionen zu erhalten, bei denen -% \cs{othersectionlevelsformat} nur ein Argument besitzt. Das dritte Argument -% ist die \cs{the\dots}-Anweisung. Das zweite Argument funktioniert so, das es -% das dritte Argument frisst, falls \cs{othersectionlevelsformat} nur ein -% Argument liest. +% \changes{v2.3c}{1995/08/06}{CJK support extended} +% \changes{v2.9p}{2004/01/07}{\cs{protect} added} +% \changes{v2.97}{2007/01/24}{workaround for the ugly \cs{protect}} +% \changes{v3.17}{2015/02/23}{using \cs{\dots format} if exists} +% \changes{v3.17}{2015/03/31}{using \cs{protect} for \cs{\dots format}} +% \begin{command}{\othersectionlevelsformat} +% \changes{v2.7}{2000/01/03}{added} +% \changes{v2.7}{2000/01/03}{\cs{quad} replaced by \cs{enskip}} +% \changes{v2.7i}{2001/05/17}{\cs{let} replaced by \cs{def}} +% \changes{v2.97}{2007/01/24}{three arguments instead of only one} +% With \KOMAScript~2 \cs{othersectionlevelsformat} has had only one argument, +% the \cs{…format} command of the level. But with there has been expansion +% issues. So we have had to change the definition to +% \begin{quote} +% \cs{othersectionlevelsformat}\marg{level name}\marg{ignore +% command}\marg{the command} +% \end{quote} +% Users who use or redefine \cs{othersectionlevelsformat} should always ignore +% the \meta{ignore command}. It is used to internally handle deprecated +% definitions of \cs{othersectionlevelsformat} with only one +% argument. \meta{level name} is the name of the level command, e.g., +% |subsubsection|. \meta{the command} is the \cs{the…} command corresponding +% with \marg{level name}. See the definition of \cs{@seccntformat} for more +% information about the internal usage of \cs{othersectionlevelsformat}. +% \begin{description} +% \item[ToDo:] Can we somehow change this for \KOMAScript~4 to no longer +% support the second argument (unless a low compatibility level is used)? +% \end{description} % \begin{macrocode} \newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip} \renewcommand*{\@seccntformat}[1]{% @@ -6175,26 +6091,28 @@ \fi } % \end{macrocode} -% \end{macro}%^^A \othersectonlevelsformat -% \end{macro}%^^A \@seccntformat -% \end{macro}%^^A \thesubparagraph -% \end{Counter}%^^A subparagraph -% \end{macro}%^^A \theparagraph -% \end{Counter}%^^A paragraph -% \end{macro}%^^A \thesubsubsection -% \end{Counter}%^^A subsubsection -% \end{macro}%^^A \subsectionformat -% \end{macro}%^^A \thesubsection -% \end{Counter}%^^A subsection -% \end{macro}%^^A \sectionformat -% \end{macro}%^^A \thesection -% \end{Counter}%^^A section -% -% -% \begin{macro}{\addsecmark} -% \changes{v3.12}{2013/03/26}{neue Anweisung}%^^A -% \cs{addsecmark} wird nicht von den Seitenstilen definiert, sondern direkt -% mit der gewünschten Definition initialisiert. +% \end{command}^^A \othersectonlevelsformat +% \end{macro}^^A \@seccntformat +% \end{command}^^A \thesubparagraph +% \end{counter}^^A subparagraph +% \end{command}^^A \theparagraph +% \end{counter}^^A paragraph +% \end{command}^^A \thesubsubsection +% \end{counter}^^A subsubsection +% \end{command}^^A \subsectionformat +% \end{command}^^A \thesubsection +% \end{counter}^^A subsection +% \end{command}^^A \sectionformat +% \end{command}^^A \thesection +% \end{counter}^^A section +% +% +% \begin{command}{\addsecmark} +% \changes{v3.12}{2013/03/26}{added} +% \cs{addsec} and marks for running heads are a little bit +% complicated. Currently we are using a local setting of \cnt{secnumdept} to +% switch of numbering and then using \cs{sectionmark}. So the \cs{sectionmark} +% definition should always respect \cnt{secnumdepth}. % \begin{macrocode} \newcommand*\addsecmark[1]{% \begingroup @@ -6203,193 +6121,122 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \addsecmark -% -% \begin{KOMAfont}{section} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{section}}%^^A -% \begin{macro}{\scr@fnt@section} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{section}}%^^A -% \begin{KOMAfont}{subsection} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{subsection}}%^^A -% \begin{macro}{\scr@fnt@subsection} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{subsection}}%^^A -% \begin{KOMAfont}{subsubsection} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{subsubsection}}%^^A -% \begin{macro}{\scr@fnt@subsubsection} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{subsubsection}}%^^A -% \begin{KOMAfont}{paragraph} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{paragraph}}%^^A -% \begin{macro}{\scr@fnt@paragraph} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{paragraph}}%^^A -% \begin{KOMAfont}{subparagraph} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{subparagraph}}%^^A -% \begin{macro}{\scr@fnt@subparagraph} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{subparagraph}}%^^A -% \begin{KOMAfont}{minisec} -% \changes{v2.8o}{2001/09/14}{neuer Ersatz für das Element -% \texttt{minisec}}%^^A -% \changes{v2.96a}{2007/01/08}{Alias für das Element \texttt{minisec}%^^A -% entfernt, da es nun ein eigenes Element ist}%^^A -% Definition der Elemente der Gliederung, deren Schrift geändert -% werden kann. -% \begin{macrocode} -\newcommand*{\scr@fnt@section}{\size@section} -\newcommand*{\scr@fnt@subsection}{\size@subsection} -\newcommand*{\scr@fnt@subsubsection}{\size@subsubsection} -\newcommand*{\scr@fnt@paragraph}{\size@paragraph} -\newcommand*{\scr@fnt@subparagraph}{\size@subparagraph} -% \end{macrocode} -% \end{KOMAfont}%^^A minisec -% \end{macro} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} -% \end{macro} -% \end{KOMAfont} +% \end{command}^^A \addsecmark +% % -% \begin{KOMAfont}{sectionentry} -% \changes{v2.97c}{2007/06/21}{neues Font-Element}%^^A -% \changes{v3.06}{2010/06/09}{Verwendung von \texttt{sectioning} durch -% \texttt{disposition} ersetzt}%^^A -% Schrift für den \cs{section}-Eintrag im Inhaltsverzeichnis. +% \begin{fontelement}{sectionentry} +% \changes{v2.97c}{2007/06/21}{added} +% \changes{v3.06}{2010/06/09}{font element \fnt{sectioning} replaced by +% \fnt{disposition}} +% With \cls*{scrartcl} \cs{section} entries to the table of contents initially +% using \fnt{disposition}, the basic font of all outlines. % \begin{macrocode} %<*article> \newkomafont{sectionentry}{\usekomafont{disposition}} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{sectionentrypagenumber} -% \changes{v2.97c}{2007/06/21}{neues Font-Element}%^^A -% Schrift für die Seitenzahl des \cs{section}-Eintrags im Inhaltsverzeichnis -% abweichend von \texttt{sectionentry}. +% \begin{fontelement}{sectionentrypagenumber} +% \changes{v2.97c}{2007/06/21}{added} +% The page number of \cs{section} entries to the table of contents is +% initially the same as the entry at whole with \cls*{scrartcl}. % \begin{macrocode} \newkomafont{sectionentrypagenumber}{} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{sectionentrydots} -% \changes{v3.15}{2014/12/10}{neues Font-Element}%^^A -% \changes{v3.27}{2019/10/28}{überflüssiges \cs{normalfont} entfernt}%^^A -% Schrift für die optionalen Pünktchen des \cs{section}-Eintrags im -% Inhaltsverzeichnis abweichend von \texttt{sectionentry} und -% \cs{normalfont}\cs{normalsize}. +% \begin{fontelement}{sectionentrydots} +% \changes{v3.15}{2014/12/10}{added} +% \changes{v3.27}{2019/10/28}{\cs{normalfont} removed} +% If the optional dots for \cs{section} entries to the table of contents are +% used, we can change the font of the dots also. It is used for the +% \texttt{linefill} of \pkg*{tocbasic} ToC entry style \texttt{section}, that +% uses ToC entry style \texttt{tocline} where the line filler is always +% prefixed by \cs{normalfont}\cs{normalsize}. So the setting is relative to +% this. The color is relative to the color of \fnt{sectionentry}. % \begin{macrocode} \newkomafont{sectionentrydots}{} %</article> % \end{macrocode} -% \end{KOMAfont} -% -% -% \begin{macro}{\partnumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.18}{2015/05/24}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\chapternumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.18}{2015/05/20}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\sectionnumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subsectionnumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subsubsectionnumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\paragraphnumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subparagraphnumdepth} -% \changes{v3.12}{2013/12/16}{new read only command}%^^A -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% Diese dürfen nur gelesen, sollten aber nie umdefiniert werden und geben die -% Nummerierungsebene der Gliederungsanweisungen an (nicht zu verwechseln mit -% der Verzeichnisebene der Gliederungsanweisungen). -% \begin{macro}{\parttocdepth} -% \changes{v3.15}{2014/12/22}{neue Anweisung}%^^A -% \changes{v3.18}{2015/05/25}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\chaptertocdepth} -% \changes{v3.15}{2014/12/22}{neue Anweisung}%^^A -% \changes{v3.18}{2015/05/20}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\sectiontocdepth} -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subsectiontocdepth} -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subsubsectiontocdepth} -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\paragraphtocdepth} -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subparagraphtocdepth} -% \changes{v3.15}{2014/12/09}{indirekt über \cs{DeclareSectionCommand}}%^^A -% Diese dürfen nur gelesen, sollten aber nie umdefiniert werden und geben die -% Verzeichnisebene der Gliederungsanweisungen an. -% \begin{macro}{\part} -% \changes{v3.18}{2015/05/25}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% \changes{v3.26}{2018/06/27}{Definition nach \cs{section} verschoben (wegen -% bookmark level fix)}%^^A -% \begin{macro}{\chapter} -% \changes{v2.8d}{2001/07/05}{\cs{chapterpagestyle} statt -% \texttt{plain}}%^^A -% \changes{v3.18}{2015/05/20}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% Als Besonderheit werden für \cs{chapter} nur diejenigen Werte gesetzt, die -% nicht über Optionen eingestellt werden können und daher vorab deklariert -% werden müssen. Bei den Anweisungen der unteren Ebenen werden hingegen alle -% Einstellungen über \cs{DeclareSectionCommand} vorgenommen. -% \begin{macro}{\section} -% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor -% \cs{size@section} aufgerufen}%^^A -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} -% behebt einen Bug im color Paket}%^^A -% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig -% von Option \texttt{version})}%^^A -% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{scr@startsection}}%^^A -% \changes{v3.15}{2014/11/24}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subsection} -% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor -% \cs{size@subsection} aufgerufen}%^^A -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} -% behebt einen Bug im color Paket}%^^A -% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig -% von Option \texttt{version})}%^^A -% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{scr@startsection}}%^^A -% \changes{v3.15}{2014/11/24}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subsubsection} -% \changes{v2.3d}{1995/08/19}{wird bei \texttt{scrartcl} nun -% ebenfalls numeriert und ins Inhaltsverzeichnis geschrieben}%^^A -% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor -% \cs{size@subsubsection} aufgerufen}%^^A -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} -% behebt einen Bug im color Paket}%^^A -% \changes{v2.96a}{2006/11/30}{Standardwert für \cs{parfillskip} (abhängig -% von Option \texttt{version})}%^^A -% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{scr@startsection}}%^^A -% \changes{v3.15}{2014/11/24}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\paragraph} -% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor -% \cs{size@paragraph} aufgerufen}%^^A -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} -% behebt einen Bug im color Paket}%^^A -% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt}%^^A -% \changes{v3.15}{2014/11/24}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% \begin{macro}{\subparagraph} -% \changes{v2.8p}{2001/09/22}{\cs{sectfont} wird nun vor -% \cs{size@subparagraph} aufgerufen}%^^A -% \changes{v2.8q}{2002/02/28}{\cs{nobreak} nach \cs{sectfont} -% behebt einen Bug im color Paket}%^^A -% \changes{v2.96a}{2006/12/03}{alle nicht benötigten \cs{nobreak} entfernt}%^^A -% \changes{v3.13a}{2014/09/11}{Verwendung von \cs{scr@startsection}}%^^A -% \changes{v3.15}{2014/11/24}{Verwendung von \cs{DeclareSectionCommand}}%^^A -% \changes{v3.15}{2014/11/24}{\cs{parindent} durch \cs{scr@parindent} -% ersetzt}%^^A -% Die Standardgliederungsbefehle \cs{section} bis \cs{subparagraph} -% sind seit \KOMAScript{} v3.15 über die von \KOMAScript{} bereitgestellte -% Schnittstelle \cs{DeclareSectionCommand} definiert. +% \end{fontelement} +% +% +% \begin{command}{\partnumdepth,\chapternumdepth, +% \sectionnumdepth,\subsectionnumdepth,\subsubsectionnumdepth, +% \paragraphnumdepth,\subparagraphnumdepth, +% \parttocdepth,\chaptertocdepth +% \sectiontocdepth,\subsectiontocdepth,\subsubsectiontocdepth, +% \paragraphtocdepth,\subparagraphtocdepth} +% \changes{v3.12}{2013/12/16}{added} +% \changes{v3.15}{2014/12/09}{indirect definition by +% \cs{DeclareSectionCommand}} +% The section numbering levels, to be compared with counter +% \cnt{secnumdepth}, and the table of contents entry levels, to be compared +% with counter \cs{tocdepth}, of all outline commands defined by the +% \KOMAScript{} classes. +% \begin{description} +% \item[Note:] These are specified to be \emph{read only}. They are defined by +% \cs{DeclareSectionCommand}. +% \end{description} +% \end{command}^^A \partnumdepth … \subparagraphtocdepth +% +% \begin{command}{\part} +% \changes{v3.18}{2015/05/25}{indirect definition by \cs{DeclareSectionCommand}} +% \changes{v3.26}{2018/06/27}{definition moved behind \cs{section} because of +% bookmark level workaround} +% \begin{command}{\chapter} +% \changes{v2.8d}{2001/07/05}{using \cs{chapterpagestyle}} +% \changes{v3.18}{2015/05/20}{indirect definition by \cs{DeclareSectionCommand}} +% \begin{command}{\section} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} before \cs{size@section}} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} after \cs{sectfont} added} +% \changes{v2.96a}{2006/11/30}{initial value of \cs{parfillskip} depending on +% option \opt{version}} +% \changes{v2.96a}{2006/12/03}{not needed \cs{nobreak} removed} +% \changes{v3.13a}{2014/09/11}{using \cs{scr@startsection}} +% \changes{v3.15}{2014/11/24}{indirect definition by \cs{DeclareSectionCommand}} +% \begin{command}{\subsection} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} before \cs{size@subsection}} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} after \cs{sectfont} added} +% \changes{v2.96a}{2006/11/30}{initial value of \cs{parfillskip} depending on +% option \opt{version}} +% \changes{v2.96a}{2006/12/03}{not needed \cs{nobreak} removed} +% \changes{v3.13a}{2014/09/11}{using \cs{scr@startsection}} +% \changes{v3.15}{2014/11/24}{indirect definition by \cs{DeclareSectionCommand}} +% \begin{command}{\subsubsection} +% \changes{v2.3d}{1995/08/19}{with \cls*{scrartcl} also numbered and added to +% ToC} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} added before +% \cs{size@subsubsection}} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} added after \cs{sectfont}} +% \changes{v2.96a}{2006/11/30}{initial value of \cs{parfillskip} depending on +% option \opt{version}} +% \changes{v2.96a}{2006/12/03}{not needed \cs{nobreak} removed} +% \changes{v3.13a}{2014/09/11}{using \cs{scr@startsection}} +% \changes{v3.15}{2014/11/24}{indirect definition by \cs{DeclareSectionCommand}} +% \begin{command}{\paragraph} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} added before +% \cs{size@paragraph}} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} added after \cs{sectfont}} +% \changes{v2.96a}{2006/12/03}{not needed \cs{nobreak} removed} +% \changes{v3.15}{2014/11/24}{indirect definition by \cs{DeclareSectionCommand}} +% \begin{command}{\subparagraph} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} added before +% \cs{size@subparagraph}} +% \changes{v2.8q}{2002/02/28}{\cs{nobreak} added after \cs{sectfont}} +% \changes{v2.96a}{2006/12/03}{not needed \cs{nobreak} removed} +% \changes{v3.13a}{2014/09/11}{using \cs{scr@startsection}} +% \changes{v3.15}{2014/11/24}{indirect definition by \cs{DeclareSectionCommand}} +% \changes{v3.15}{2014/11/24}{\cs{parindent} replaced by \cs{scr@parindent}} +% Commands \cs{part}, \cs{chapter}, \cs{section}, \cs{subsection}, +% \cs{subsubection}, \cs{paragraph} and \cs{subparagraph} are defined using +% \cs{DeclareSectionCommand}. The definition of \cs{part} must be \emph{after} +% \cs{section} because of the bookmark level workaround (see definition of +% \cs{DelcareSectionCommand}. The declaration of \cs{chapter} uses only those +% settings that do not depend on options, because settings by class options +% must no be overwritten here. So all settings that do depend on class options +% have to be initialized before the options (see the \texttt{prepare} code of +% such options above). For the lower levels this is only the case for the font. % \begin{macrocode} %<*book|report> \DeclareSectionCommand[% @@ -6483,118 +6330,188 @@ \def\scr@subparagraph@sectionindent{\scr@parindent}% \fi %</body> -%</class> -% \end{macrocode} -% \end{macro}%^^A \subparagraph -% \end{macro}%^^A \paragraph -% \end{macro}%^^A \subsubsection -% \end{macro}%^^A \subsection -% \end{macro}%^^A \section -% \end{macro}%^^A \chapter -% \end{macro}%^^A \part -% \end{macro}%^^A \subparargraphtocdepth -% \end{macro}%^^A \paragraphtocdepth -% \end{macro}%^^A \subsubsectiontocdepth -% \end{macro}%^^A \subsectiontocdepth -% \end{macro}%^^A \sectiontocdepth -% \end{macro}%^^A \chaptertocdepth -% \end{macro}%^^A \parttocdepth -% \end{macro}%^^A \subparargraphnumdepth -% \end{macro}%^^A \paragraphnumdepth -% \end{macro}%^^A \subsubsectionnumdepth -% \end{macro}%^^A \subsectionnumdepth -% \end{macro}%^^A \sectionnumdepth -% \end{macro}%^^A \chapternumdepth -% \end{macro}%^^A \partnumdepth -% -% -% \subsection{Font und Größeneinstellungen} -% -% Die Einstellungen für die einzelnen Ebenen werden bei den Definitonen der -% Ebenen vorgenommen. Hier gibt es nur Einstellungen, die nicht einer -% einzelnen Ebene zugeordnet sind. -% -% \begin{KOMAfont}{disposition} -% \changes{v2.95b}{2006/07/30}{neues Element \texttt{disposition}}%^^A -% \begin{KOMAfont}{sectioning} -% \begin{macro}{\scr@fnt@disposition} -% \changes{v2.95b}{2006/07/30}{neues Element \texttt{disposition}}%^^A +% \end{macrocode} +% \end{command}^^A \subparagraph +% \end{command}^^A \paragraph +% \end{command}^^A \subsubsection +% \end{command}^^A \subsection +% \end{command}^^A \section +% \end{command}^^A \chapter +% \end{command}^^A \part +% +% +% \subsection{Fonts} +% +% The font settings of dedicated elements of the the corresponding section +% levels already have been done. But there are also some elements that do not +% correspond with a single section level. +% +% \begin{fontelement}{disposition} +% \changes{v2.95b}{2006/07/30}{added} +% \begin{fontelement}{sectioning} +% \changes{v2.95b}{2006/07/30}{added} % \begin{macro}{\sectfont} -% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} eingefügt}%^^A -% \changes{v3.12}{2013/11/11}{wird wegen Option -% \texttt{headings!=standardclasses} früher definiert}%^^A -% \changes{v3.20}{2016/01/29}{\cs{sffamily} durch \cs{@gr@gsffamily} -% ersetzt}%^^A -% Dies Schriftart nicht nur für die Gliederungsbefehle. Dieses Makro -% ist als intern zu betrachten. Der Anwender sollte stattdessen das -% entsprtechende Fontelement verwenden. -% \begin{macrocode} -%<*prepare> +% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} added} +% \changes{v3.12}{2013/11/11}{earlier definition to support option +% \opt{headings\quotechar=standardclasses}} +% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}} +% This element is not only used by all section levels before the dedicated +% element of the single level is used. It is also used by other elements like +% the \fnt{chaptertocentry}. The command \cs{sectfont} instead of the +% \cs{newkomafont} default is used for compatibility only. So it is specified +% as internal. Using it as user command is deprecated! +% \begin{macrocode} +%</class&!letter> +%<*(class&!letter)|(package&extend)> +%<*prepare> \newcommand*{\sectfont}{\normalcolor\@gr@gsffamily\bfseries} %</prepare> +%</(class&!letter)|(package&extend)> +%<*class&!letter> %<*body> \newcommand*{\scr@fnt@disposition}{\sectfont} \aliaskomafont{sectioning}{disposition} %</body> % \end{macrocode} -% \end{macro}%^^A \sectfont -% \end{macro}%^^A \scr@fnt@disposition -% \end{KOMAfont}%^^A sectioning -% \end{KOMAfont}%^^A disposition +% \end{macro}^^A \sectfont +% \end{fontelement}^^A sectioning +% \end{fontelement}^^A disposition % % % \begin{option}{headings} -% \changes{v2.3h}{1996/01/20}{Größe von \cs{chapter} um eine Stufe -% verringert}%^^A -% \changes{v2.3h}{1996/01/20}{Verwendung von \cs{chapterheadstartvskip} und -% \cs{chapterheadendvskip} an Stelle von festen vertikalen Abständen am -% Anfang und am Ende eines Kapitels}%^^A -% \changes{v2.7c}{2000/01/19}{vertikale Abstände nach der Kapitelüberschrift -% geringfügig verändert und mit Leim versehen, um mit \cs{flushbottom} zu -% besseren Ergebnissen zu gelangen}%^^A -% \changes{v2.98c}{2008/03/10}{Neue Option}%^^A -% \changes{v3.10}{2011/08/30}{Integration der Erweiterung für das optionale -% Argument der Gliederungsbefehle}%^^A -% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit -% \cs{FamilyKeyState}}%^^A -% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} durch \cs{KOMAoptions} -% ersetzt}%^^A -% \changes{v3.12}{2013/11/11}{neuer Wert \texttt{standardclasses}}%^^A -% \changes{v3.15}{2014/11/24}{\cs{scr@chapter@beforeskip} und -% \cs{scr@chapter@afterskip} werden verwendet}%^^A -% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}%^^A -% \changes{v3.18}{2015/05/20}{Werte für \cs{scr@chapter@beforeskip} -% negiert}%^^A -% Dies ist eine neue zentrale Option für Überschriften. Dabei ergibt sich -% nun auch das Problem, dass die Gesamtmenge der Überschriften mal -% \emph{headings} (Überschriften), mal \emph{sectioning} -% (Abschnittseinteilung) und mal \emph{disposition} (Gliederung) genannt -% wird. Es wäre gut gewesen, sich bei Zeiten Gedanken darüber zu machen, wie -% man das am besten einheitlich nennt. -% \begin{macrocode} -%<*class> +% \changes{v2.3h}{1996/01/20}{Size of \cs{chapter} decreased by one grade +% step} +% \changes{v2.3h}{1996/01/20}{using \cs{chapterheadstartvskip} and +% \cs{chapterheadendvskip}} +% \changes{v2.7c}{2000/01/19}{vertical distance after chapters slightly +% changed and glue added} +% \changes{v2.98c}{2008/03/10}{added} +% \changes{v3.10}{2011/08/30}{extended optional argument} +% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}} +% \changes{v3.12}{2013/08/26}{\cs{KOMA@options} replaced by \cs{KOMAoptions}} +% \changes{v3.12}{2013/11/11}{value \opt{\quotechar=standardclasses} added} +% \changes{v3.15}{2014/11/24}{using \cs{scr@chapter@beforeskip} and +% \cs{scr@chapter@afterskip}} +% \changes{v3.17}{2015/03/09}{using internal value storage} +% \changes{v3.18}{2015/05/20}{values of \cs{scr@chapter@beforeskip} negative} +% Option \opt{headings} is the main switch for the headings of all outlines. +% It provides the following values: +% \begin{macrocode} %<*option> \KOMA@key{headings}{% \KOMA@set@ncmdkey{headings}{@tempa}{% +% \end{macrocode} +% \begin{description} +% \item[\opt{=big}:] use big sized headings. This also changes the distances +% of chapter and redefined \cs{chapterheadstartvskip} and +% \cs{chapterheadendvskip} (\cls*{scrbook} and \cls*{scrreprt} only). +% \end{description} +% \begin{macrocode} {big}{0},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=normal}:] use medium sized headings. This also changes the +% distances of chapter and redefined \cs{chapterheadstartvskip} and +% \cs{chapterheadendvskip} (\cls*{scrbook} and \cls*{scrreprt} only). +% \end{description} +% \begin{macrocode} {normal}{1},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=small}:] use small sized headings. This also changes the +% distances of chapter and redefined \cs{chapterheadstartvskip} and +% \cs{chapterheadendvskip} (\cls*{scrbook} and \cls*{scrreprt} only). +% \end{description} +% \begin{macrocode} {small}{2},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=openany}:] same as \opt{open=any} for \cls*{scrbook} and +% \cls*{scrreprt}. +% \end{description} +% \begin{macrocode} %<*book|report> {openany}{3},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=openright}:] same as \opt{open=right} for \cls*{scrbook} and +% \cls*{scrreprt}. +% \end{description} +% \begin{macrocode} {openright}{4},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=openleft}:] same as \opt{open=left} for \cls*{scrbook} and +% \cls*{scrreprt}. +% \end{description} +% \begin{macrocode} {openleft}{5},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=twolinechapter}:] use chapter headings with two lines. The first +% line is a kind of prefix line with the number and a prefix text only. The +% second one is the heading text. +% \end{description} +% \begin{macrocode} {twolinechapter}{6},{chapterprefix}{6},{chapterwithprefix}{6},% {chapterwithprefixline}{6},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=onelinechapter}:] use chapter headings without the prefix line. +% \end{description} +% \begin{macrocode} {onelinechapter}{7},{nochapterprefix}{7},{chapterwithoutprefix}{7},% {chapterwithoutprefixline}{7},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=twolineappendix}:] use chapter headings with two lines in the +% appendix. This overwrites \opt{headings=onelinechapter} for the chapters +% of the appendix. +% \end{description} +% \begin{macrocode} {twolineappendix}{8},{appendixprefix}{8},{appendixwithprefix}{8},% {appendixwithprefixline}{8},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=onelineappendix}:] use chapter headings without prefix line in +% the appendix. This overwrites \opt{headings=twolinechapter} for the +% chapters of the appendix. +% \end{description} +% \begin{macrocode} {onelineappendix}{9},{noappendixprefix}{9},{appendixwithoutprefix}{9},% {appendixwithoutprefixline}{9},% %</book|report> +% \end{macrocode} +% \begin{description} +% \item[\opt{=optiontotocandhead}:] activates the extended option handling of +% all outline commands and uses an unspecified optional argument as default +% of for the running head and the ToC entry. +% \end{description} +% \begin{macrocode} {optiontotocandhead}{10},{optiontoheadandtoc}{10},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=optiontotoc}:] activates the extended option handling of all +% outline commands and uses an unspecified optional argument as default for +% the ToC entry only. +% \end{description} +% \begin{macrocode} {optiontotoc}{11},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=optiontohead}:] activated the extended option handling of all +% outline commands and uses an unspecified optional argument as default fot +% the running head. +% \end{description} +% \begin{macrocode} {optiontohead}{12},% +% \end{macrocode} +% \begin{description} +% \item[\opt{=standardclasses}:] reconfigure headings (at least the fonts) to +% look more like the headings of the standard classes than the defaults of +% \KOMAScript. +% \end{description} +% \begin{macrocode} {standardclasses}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed @@ -6605,17 +6522,15 @@ \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}% \KOMA@kav@add{.\KOMAClassFileName}{headings}{big}% % \end{macrocode} -% Als erstes kümmern wir uns um die drei Größenabstufungen für die -% Überschriften, die \KOMAScript{} bietet, und zwar in der Reihenfolge -% \texttt{big}, \texttt{normal}, \texttt{small}. Es sei darauf hingewiesen, -% dass die Verwendung dieser Option alle Änderungen an -% \cs{chapterheadstartvskip} oder \cs{chapterheadendvskip} oder den -% Font-Elementen für die einzelnen Überschriften aufhebt macht! -% -% Hinweis: Es wurde |+\baselineskip+\parskip| hinzugefügt, um -% Kompatibilitätsprobleme zu vermeiden. Die entsprechenden Werte werden in der -% Präambel aber wieder abgezogen, um Überschriften wirklich mit -% |beforeskip=0pt| an den oberen Rand zu bekommen. +% First of all we handle the three size values. +% \begin{description} +% \item[Note:] These are redefining \cs{chapterheadstartvkip} and +% \cs{chapterheadendvskip}. +% \item[Note:] The |+\baselineskip+\parskip| is needed to stay compatible with +% old version of \KOMAScript{} not providing \cs{DeclareSectionCommand}. They +% are regarded inside setting of the preamble to print heading with +% |beforeskip=0pt| at the very beginning of the text area. +% \end{description} % \begin{macrocode} %<*book|report> \renewcommand*{\scr@chapter@beforeskip}{-3.3\baselineskip-\parskip}% @@ -6630,15 +6545,15 @@ }% \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}% %</book|report> - \renewcommand*{\size@part}{\Huge}% - \renewcommand*{\size@partnumber}{\huge}% -%<book|report> \renewcommand*{\size@chapter}{\huge}% -%<book|report> \renewcommand*{\size@chapterprefix}{\size@chapter}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% + \setkomafont{part}{\Huge}% + \setkomafont{partnumber}{\huge}% +%<book|report> \setkomafont{chapter}{\huge}% +%<book|report> \setkomafont{chapterprefix}{\size@chapter}% + \setkomafont{section}{\Large}% + \setkomafont{subsection}{\large}% + \setkomafont{subsubsection}{\normalsize}% + \setkomafont{paragraph}{\normalsize}% + \setkomafont{subparagraph}{\normalsize}% \or % normal \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}% \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}% @@ -6658,21 +6573,21 @@ }% \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}% %</book|report> - \renewcommand*{\size@part}{\huge}% - \renewcommand*{\size@partnumber}{\huge}% + \setkomafont{part}{\huge}% + \setkomafont{partnumber}{\huge}% %<*book|report> - \renewcommand*{\size@chapter}{\LARGE}% - \renewcommand*{\size@chapterprefix}{\size@chapter}% - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% + \setkomafont{chapter}{\LARGE}% + \setkomafont{chapterprefix}{\size@chapter}% + \setkomafont{section}{\Large}% + \setkomafont{subsection}{\large}% %</book|report> %<*article> - \renewcommand*{\size@section}{\large}% - \renewcommand*{\size@subsection}{\normalsize}% + \setkomafont{section}{\large}% + \setkomafont{subsection}{\normalsize}% %</article> - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% + \setkomafont{subsubsection}{\normalsize}% + \setkomafont{paragraph}{\normalsize}% + \setkomafont{subparagraph}{\normalsize}% \or % small \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}% \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}% @@ -6692,24 +6607,23 @@ }% \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}% %</book|report> - \renewcommand*{\size@part}{\LARGE}% - \renewcommand*{\size@partnumber}{\LARGE}% + \setkomafont{part}{\LARGE}% + \setkomafont{partnumber}{\LARGE}% %<*book|report> - \renewcommand*{\size@chapter}{\Large}% - \renewcommand*{\size@chapterprefix}{\size@chapter}% - \renewcommand*{\size@section}{\large}% + \setkomafont{chapter}{\Large}% + \setkomafont{chapterprefix}{\size@chapter}% + \setkomafont{section}{\large}% %</book|report> %<*article> - \renewcommand*{\size@section}{\normalsize}% + \setkomafont{section}{\normalsize}% %</article> - \renewcommand*{\size@subsection}{\normalsize}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% + \setkomafont{subsection}{\normalsize}% + \setkomafont{subsubsection}{\normalsize}% + \setkomafont{paragraph}{\normalsize}% + \setkomafont{subparagraph}{\normalsize}% % \end{macrocode} -% Für \textsf{scrbook} und \textsf{scrreprt} gibt es dann noch die -% Möglichkeit, auch hierüber die Optionen \texttt{open=any}, -% \texttt{open=right} und \texttt{open=left} zu setzen. +% \cls*{scrbook} and \cls*{scrreprt} also provide settings that are delegated +% to option \opt{open}. % \begin{macrocode} \or % openany %<*book|report> @@ -6724,9 +6638,8 @@ \KOMAoptions{open=left}% %</book|report> % \end{macrocode} -% Für \textsf{scrbook} und \textsf{scrreprt} gibt es dann noch die -% Möglichkeit, auch hierüber die Optionen \texttt{chapterprefix} und -% \texttt{appendixprefix} zu setzen. +% \cls*{scrbook} and \cls*{scrreprt} also provide settings that are delegated +% to option \opt{chapterprefix} and \opt{appendixprefix}. % \begin{macrocode} \or % twolinechapter %<*book|report> @@ -6740,13 +6653,12 @@ %<*book|report> \KOMAoptions{appendixprefix=true}% %</book|report> - \or % onelineappend + \or % onelineappendix %<*book|report> \KOMAoptions{appendixprefix=false}% %</book|report> % \end{macrocode} -% Ab Version~3.10 wird über diese Option auch noch die Erweiterung für das -% optionale Argument der Gliederungsüberschriften aktiviert und gesteuert. +% We have also options to handle the extended optional argument. % \begin{macrocode} \or % optiontotocandhead \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}% @@ -6767,8 +6679,8 @@ \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontohead}% \scr@activate@xsection{1}% % \end{macrocode} -% Ab Version~3.12 gibt es noch die Möglichkeit, die Überschriftengrößen der -% Standardklassen zu emulieren. +% Last but not least the option to activate the standard class emulation of +% headings. % \begin{macrocode} \or % standardclasses \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}% @@ -6783,20 +6695,20 @@ \renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}% \renewcommand*{\chapterheadendvskip}{\vskip\@tempskipa}% \renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}% - \renewcommand*{\size@part}{\Huge}% - \renewcommand*{\size@partnumber}{\huge}% - \renewcommand*{\size@chapter}{\Huge}% - \renewcommand*{\size@chapterprefix}{\huge}% + \setkomafont{part}{\Huge}% + \setkomafont{partnumber}{\huge}% + \setkomafont{chapter}{\Huge}% + \setkomafont{chapterprefix}{\huge}% %</book|report> %<*article> - \renewcommand*{\size@part}{\huge}% - \renewcommand*{\size@partnumber}{\Large}% + \setkomafont{part}{\huge}% + \setkomafont{partnumber}{\Large}% %</article> - \renewcommand*{\size@section}{\Large}% - \renewcommand*{\size@subsection}{\large}% - \renewcommand*{\size@subsubsection}{\normalsize}% - \renewcommand*{\size@paragraph}{\normalsize}% - \renewcommand*{\size@subparagraph}{\normalsize}% + \setkomafont{section}{\Large}% + \setkomafont{subsection}{\large}% + \setkomafont{subsubsection}{\normalsize}% + \setkomafont{paragraph}{\normalsize}% + \setkomafont{subparagraph}{\normalsize}% \renewcommand*{\sectfont}{\bfseries}% %<book|report> \KOMAoptions{open=right,chapterprefix=true}% \fi @@ -6805,61 +6717,38 @@ \KOMA@kav@add{.\KOMAClassFileName}{headings}{big} %<book|report>\KOMA@kav@add{.\KOMAClassFileName}{headings}{onelinechapter} % \end{macrocode} -% \end{option}%^^A headings -% -% \begin{option}{bigheadings} -% \changes{v2.3h}{1996/01/20}{neue Option}%^^A -% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so; bei -% Verwendung des alten, falschen Namens wird ein Fehler -% ausgegeben}%^^A -% \changes{v2.98c}{2008/03/10}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{macro}{\@bigheadings} -% \changes{v2.98c}{2008/03/10}{entfernt}%^^A -% \begin{option}{normalheadings} -% \changes{v2.3h}{1996/01/20}{neue Option}%^^A -% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so; bei -% Verwendung des alten, falschen Namens wird ein Fehler -% ausgegeben}%^^A -% \changes{v2.98c}{2008/03/10}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{macro}{\@normalheadings} -% \changes{v2.98c}{2008/03/10}{entfernt}%^^A -% \begin{option}{smallheadings} -% \changes{v2.3h}{1996/01/20}{neue Option}%^^A -% \changes{v2.4g}{1996/11/04}{die Option heißt nun wirklich so; bei -% Verwendung des alten, falschen Namens wird ein Fehler -% ausgegeben}%^^A -% \changes{v2.98c}{2008/03/10}{obsolet}%^^A -% \changes{v3.01a}{2008/11/20}{deprecated}%^^A -% \begin{macro}{\@smallheadings} -% \changes{v2.98c}{2008/03/10}{entfernt}%^^A +% \end{option}^^A headings +% +% \begin{option}{bigheadings,normalheadings,smallheadings} +% \changes{v2.3h}{1996/01/20}{added} +% \changes{v2.4g}{1996/11/04}{option name fixed} +% \changes{v2.98c}{2008/03/10}{obsolete} +% \changes{v3.01a}{2008/11/20}{deprecated} +% \begin{macro}{\@bigheadings,\@normalheadings,\@smallheadings} +% \changes{v2.98c}{2008/03/10}{removed} +% \end{macro}^^A \@bigheadings … \@smallheadings +% We also have some deprecated options. % \begin{macrocode} \KOMA@DeclareDeprecatedOption{bigheadings}{headings=big} \KOMA@DeclareDeprecatedOption{normalheadings}{headings=normal} \KOMA@DeclareDeprecatedOption{smallheadings}{headings=small} %</option> -%</class> % \end{macrocode} -% \end{macro}%^^A \@smallheadings -% \end{option}%^^A smallheadings -% \end{macro}%^^A \@normalheadings -% \end{option}%^^A normalheadings -% \end{macro}%^^A \@bigheadings -% \end{option}%^^A bigheadings -% -% -% \iffalse -%</!letter> -% \fi +% \end{option}^^A smallheading,normalheadings,bigheadings % +% \begin{macrocode} +%</class&!letter> +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-sections.dtx' -%%% Local Variables: -%%% mode: doctex -%%% coding: utf-8 -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-title.dtx b/macros/latex/contrib/koma-script/source/scrkernel-title.dtx index 986d89ffa5..5d4963fe4e 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-title.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-title.dtx @@ -1,8 +1,7 @@ -% \CheckSum{981} % \iffalse meta-comment % ====================================================================== % scrkernel-title.dtx -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-title.dtx -% Copyright (c) Markus Kohm, 2002-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-title.dtx 3390 2019-11-18 17:09:35Z kohm $ +%%% From File: $Id: scrkernel-title.dtx 3747 2022-03-08 09:24:07Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $ + \filedate$Date: 2022-03-08 10:24:07 +0100 (Di, 08. Mär 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1638 $ + \filerevision$Revision: 3747 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-title.dtx}% @@ -73,78 +35,82 @@ KOMA-Script source (title pages)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-title.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{3} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-title.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2002/06/26}{% -% erste Version aus der Aufteilung von \texttt{scrclass.dtx}} +% \changes{v2.95}{2002/06/26}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/03/08}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/03/08}{whole implementation documentation in English} % -% \section{Die Titelei} +% \GetFileInfo{scrkernel-title.dtx} +% \title{The Code to Implement the Extended Titles of +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-title.dtx} implements on-page titles and title pages, that +% are extended a lot comparing with the titles of the standard classes. +% \end{abstract} +% \tableofcontents % -% Die Titelei ist gegenüber den Standardklassen erheblich -% erweitert. Trotzdem kann ein Titel einer Standardklasse unmittelbar -% mit einer \KOMAScript-Klasse gesetzt werden. Briefe besitzen allerdings -% keine Titelei im eigentlichen Sinne. +% \section{User Manual} % -% \StopEventually{\PrintIndex\PrintChanges} +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \iffalse -%<*!letter> -% \fi +% \MaybeStop{\PrintIndex} % -% \iffalse -%<*option> -% \fi % +% \section{Implementation of Titles} % -% \subsection{Optionen der Titelei} +% This kind of titles are not needed for letters. % +% \begin{macrocode} +%<*!letter> +% \end{macrocode} +% % \begin{option}{titlepage} -% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option}%^^A -% \changes{v3.12}{2013/11/21}{neuer Wert \texttt{firstiscover}}%^^A -% \changes{v3.17}{2015/03/10}{interne Speicherung des Werts}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{option}{notitlepage} -% \changes{v2.95c}{2006/08/21}{Option ist obsolet}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% Es werden zei Arten von Titeln unterstützt. Da sind zum einen eigene -% Titelseiten, zum anderen sogenannte Titelköpfe, also Titel, die nicht eine -% eigene Seite erhalten, sondern am Anfang einer Seite stehen. Zwischen den -% beiden Arten wird mit einer Option umgeschaltet. Ab Version~3.12 unterstützt -% \KOMAScript{} außerdem die Einstellung \texttt{titlepage=firstiscover} bei -% der die erste Titelseite als Umschlagseite gesetzt wird. -% \begin{macro}{\if@titlepage} -% \begin{macro}{\@titlepagetrue} -% \begin{macro}{\@titlepagefalse} -% Die gewählte Einstellung wird in einem Schalter gespeichert. +% \changes{v2.95c}{2006/08/21}{using \pkg*{scrkbase}} +% \changes{v3.12}{2013/11/21}{value \opt{\quotechar=firstiscover} added} +% \changes{v3.17}{2015/03/10}{using internal value storage} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{macro}{\@titlepagetrue,\@titlepagefalse,\if@titlepage} +% \begin{macro}{\@titlepageiscoverpagetrue,\@titlepageisvoerpagefalse, +% \if@titlepageiscoverpage} +% \changes{v3.12}{2013/11/21}{added} +% There is support for two kinds of titles: in-page titles also known as title +% heads and title pages. Usually title pages are the title pages of the inner +% book. But some users prefer to interpret them as cover instead. With +% \KOMAScript{} this does in fact makes some sense, but only, if the user uses +% the mock title and wants to interpret it not as mock title but as cover. So +% we provide the following values: +% \begin{description} +% \item[\opt{=false}:] use a in-page title (\cs{@titlepagefalse}, +% \cs{@titlepageiscoverpagefalse}), +% \item[\opt{=true}:] use several title pages (\cs{@titlepagetrue}, +% \cs{@titlepageiscoverpagefalse}), +% \item[\opt{=firstiscover}:] use several title pages and the first one is the +% cover (\cs{@titlepagetrue}, \cs{@titlepageiscoverpagetrue}). We do not +% test, if this is was originally a mock title of a main title. +% \end{description} +% With package \pkg*{scrextend} this feature is defined as activatable. And +% the initial values differ from class to class. % \begin{macrocode} +%<*option> %<*class> \newif\if@titlepage %<article>\@titlepagefalse %<report|book>\@titlepagetrue %</class> -% \end{macrocode} -% Im Falle von \textsf{scrextend} ist die Option Teil der Erweiterung. -% \begin{macrocode} %<*package&extend> \scr@ext@activateable{title}{% \scr@ifundefinedorrelax{if@titlepage}{% @@ -156,11 +122,6 @@ \@titlepageiscoverpagefalse }{}% %</package&extend> -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \begin{macrocode} %<*class|package> %<class>\newif\if@titlepageiscoverpage \KOMA@key{titlepage}[true]{% @@ -196,7 +157,7 @@ }{titlepage}{\if@titlepage true\else false\fi} %<*extend> % \end{macrocode} -% Diese Erweiterung soll dann auch tatsächlich sofort aktiviert werden: +% For \pkg*{scrextend} we allow to activate the feature at load time. % \begin{macrocode} \def\scr@ext@immediate@title{% \scr@ext@activate{title}% @@ -205,94 +166,58 @@ } %</extend> %</class|package> +% \end{macrocode} +% \begin{option}{notitlepage} +% \changes{v2.95c}{2006/08/21}{obsolete} +% \changes{v3.01a}{2008/11/21}{standard not obsolete} +% \begin{macrocode} \KOMA@DeclareStandardOption% %<package> [scrextend]% {notitlepage}{titlepage=false} -% \end{macrocode} -% \end{option} -% \end{option} -% -% \begin{option}{abstract} -% \changes{v2.95c}{2006/08/21}{neue \textsf{keyval}-Option}%^^A -% \begin{option}{abstracton} -% \changes{v2.95c}{2006/08/21}{Option ist obsolet}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% \changes{v3.27}{2019/03/13}{deprecated statt standard}%^^A -% \begin{option}{abstractoff} -% \changes{v2.95c}{2006/08/21}{Option ist obsolet}%^^A -% \changes{v3.01a}{2008/11/21}{standard statt obsolet}%^^A -% \changes{v3.27}{2019/03/13}{deprecated statt standard}%^^A -% Obwohl die Zusammenfassung nicht unbedingt auf einer Titelseite steht, -% gehört sie doch zur Titelei und wird daher hier mit behandelt. Die -% Zusammenfassung kann mit einem standardmäßigen Titel versehen werden. Der -% Titel kann aber auch unterdrückt werden. -% \iffalse -%<*class> -%<*article|report> -% \fi -% Bei Büchern gibt es keine Zusammenfassung als gesonderte Umgebung. Als -% Ersatz kann bei Büchern auf \cs{addchap*} zurückgegriffen werden. -% \begin{macro}{\if@abstrt} -% \changes{v3.17}{2015/03/10}{wird von \cs{KOMA@ifkey} definiert}%^^A -% \begin{macro}{\@abstrttrue} -% \begin{macro}{\@abstrtfalse} -% Die Enscheidung, ob der Titel der Zusammenfassung gesetzt werden soll, wird -% in einem Schalter gespeichert. -% \begin{macrocode} -\KOMA@ifkey{abstract}{@abstrt} -\KOMA@DeclareDeprecatedOption{abstracton}{abstract=true} -\KOMA@DeclareDeprecatedOption{abstractoff}{abstract=false} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{option} -% \end{option} -% \end{option} -% \iffalse -%</article|report> -%</class> -% \fi -% -% -% \iffalse %</option> -%<*body> -% \fi -% -% -% \subsection{Definitionen der Titelei} +% \end{macrocode} +% \end{option}^^A notitlepage +% \end{macro}^^A \if@titlepageiscoverpage +% \end{macro}^^A \if@titlepage +% \end{option}^^A titlepage % -% \begin{macro}{\extratitle} +% \begin{command}{\extratitle} % \begin{macro}{\@extratitle} -% \begin{macro}{\frontispiece} -% \changes{v3.25}{2017/11/21}{neu} +% \begin{command}{\frontispiece} +% \changes{v3.25}{2017/11/21}{added} % \begin{macro}{\@frontispiece} -% \changes{v3.25}{2017/11/21}{neu (intern)} -% \begin{macro}{\titlehead} +% \changes{v3.25}{2017/11/21}{added} +% \begin{command}{\titlehead} % \begin{macro}{\@titlehead} -% \begin{macro}{\subject} +% \begin{command}{\subject} % \begin{macro}{\@subject} -% \begin{macro}{\subtitle} -% \changes{v2.97c}{2007/06/20}{neue Möglichkeit}%^^A +% \begin{command}{\subtitle} +% \changes{v2.97c}{2007/06/20}{neue Möglichkeit} % \begin{macro}{\@subtitle} -% \changes{v2.97c}{2007/06/20}{neu (intern)}%^^A -% \begin{macro}{\publishers} +% \changes{v2.97c}{2007/06/20}{added} +% \begin{command}{\publishers} % \begin{macro}{\@publishers} -% \begin{macro}{\uppertitleback} +% \begin{command}{\uppertitleback} % \begin{macro}{\@uppertitleback} -% \begin{macro}{\lowertitleback} +% \begin{command}{\lowertitleback} % \begin{macro}{\@lowertitleback} -% \begin{macro}{\dedication} +% \begin{command}{\dedication} % \begin{macro}{\@dedication} -% Da der Titel im \KOMAScript{} Paket wesentlich mehr Angaben erlaubt -% als bei den Standardklassen, gibt es natürlich auch einige Befehle, -% mit denen diese gesetzt werden können. Alle zusätzlichen Angaben -% sind optional und können auch weggelassen werden. In diesem Fall -% werden Leerfelder verwendet. Bis auf \cs{subject} sind alle -% Zusatzbefehle \cs{long} deklariert, können also ganze Absätze -% enthalten. +% The \LaTeX{} kernel already provides user commands \cs{title}, \cs{author}, +% \cs{date}, which store their arguments globally into macros \cs{@title}, +% \cs{@author} and \cs{@date}. But for \KOMAScript{} these are not enough for +% several pages of title and even not for the main title. So several more +% similar commands and macros are defined. All additional user commands but +% \cs{subject} are long. +% \begin{description} +% \item[ToDo:] Make them all robust as \LaTeX{} from 2018/10/01 does. However +% this could be incompatible with \pkg{uni-titlepage}, so when doing the +% change, don't forget to also change \pkg{uni-titlepage} if needed. +% \end{description} +% For package \pkg*{scrextend} all the code is added to the activatable +% \texttt{title}. % \begin{macrocode} +%<*body> %<package&extend>\scr@ext@addto@activateable{title}{% \newcommand*{\@extratitle}{}% \newcommand{\extratitle}[1]{\gdef\@extratitle{% @@ -341,37 +266,41 @@ }}% % \end{macrocode} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} +% \end{command} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % % \begin{macro}{\next@tpage} -% \changes{v2.3b}{1995/07/24}{\cs{null} entfernt.} -% \changes{v2.3g}{1996/01/14}{\cs{newpage} durch \cs{clearpage} ersetzt} -% \changes{v3.11c}{2013/02/14}{Fußnoten der letzten Titelseite ausgeben}%^^A -% \changes{v3.11c}{2013/02/14}{Fußnoten für die nächste Titelseite -% initialisieren}%^^A -% \changes{v3.20}{2015/10/14}{\cs{setparsizes} bzw. entsprechende Angaben -% für die Längen eingefügt}%^^A +% \changes{v2.3b}{1995/07/24}{\cs{null} removed} +% \changes{v2.3g}{1996/01/14}{\cs{newpage} replaced by \cs{clearpage}} +% \changes{v3.11c}{2013/02/14}{output \cs{@thanks}} +% \changes{v3.11c}{2013/02/14}{initialize \cs{@thanks}} +% \changes{v3.20}{2015/10/14}{\cs{setparsizes} resp. similar code added} % \begin{macro}{\next@tdpage} -% \changes{v3.11c}{2013/02/14}{neue Anweisung (intern)}%^^A -% \changes{v3.12}{2013/11/21}{\cs{titlepage@restore} hinzugefügt} -% Innerhalb eines Titels auf die nächste Seite bzw. nächste rechte Seite -% umschalten. +% \changes{v3.11c}{2013/02/14}{added} +% \changes{v3.12}{2013/11/21}{\cs{titlepage@restore} added} +% Because we have more than one title page but all title pages inside one +% \env{titlepage} environment, we need a special kind of +% \cs{newpage}/\cs{clearpage}. +% \begin{description} +% \item[ToDo:] Replace the original \cs{clearpage} and \cs{cleardoublepage} +% inside \env{titlepage} by these two macros. With this, users could also +% have more than one page inside a \env{titlepage} environment. +% \end{description} % \begin{macrocode} \newcommand*{\next@tpage}{% \@thanks\global\let\@thanks\@empty @@ -387,58 +316,68 @@ \next@tpage\if@twoside \ifodd\value{page}\else\null\next@tpage\fi\fi } % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\maketitle} -% \changes{v3.11c}{2013/02/14}{Schmutztitel bei Titelkopf in eigene -% Anweisung verlagert}%^^A -% \changes{v3.11c}{2013/02/14}{Verwendung von \cs{next@tdpage}}%^^A -% Mit dieser Anweisung wird der Titel generiert, dessen Inhalt zuvor -% gesetzt wurde. Es muss unterschieden werden, ob der Titel auf einer -% eigenen Titelseite oder als Seitenkopf erstellt werden soll. Der -% \KOMAScript-Titel ist u.\,U. sehr groß. Im Fall dass diverse -% Zusatzelemente verwendet werden, sollte eigentlich immer eine -% Titelseite verwendet werden.% -% \changes{v2.1a}{1994/10/29}{das Hilfskonstrukt \cs{@maketitle} -% wurde aus der Unterscheidung herausgenommen (für den Fall, dass -% \cs{maketitle} von einem Paket überladen wird)}%^^A -% \changes{v2.3a}{1995/07/08}{\texttt{plus} durch \cs{@plus} -% ersetzt}%^^A -% \changes{v2.3a}{1995/07/08}{\texttt{fill} durch \cs{fill} -% ersetzt}%^^A -% \changes{v2.3d}{1995/08/19}{\cs{fill} durch \texttt{fill} -% ersetzt}%^^A -% \changes{v2.3a}{1995/07/08}{\cs{vfil} durch \cs{vfill} ersetzt}%^^A -% \changes{v2.3b}{1995/07/24}{Umbruch bei \cs{@extratitle} in der -% beidseitigen Titelseite korrigiert}%^^A -% \changes{v2.3g}{1996/01/14}{\cs{footnote} funktioniert nun auch -% im Titel}%^^A -% \changes{v2.4}{1996/02/25}{\cs{footnote} funktioniert nun -% wirklich im Titel}%^^A -% \changes{v2.4h}{1996/11/09}{egal ob der Titel auf eine Extraseite -% kommt oder nicht, \cs{@title} wird mit \cs{sectfont} gesetzt, -% wobei die Größe neuerdings danach eingestellt wird}%^^A -% \changes{v2.4l}{1997/02/06}{symbolische Fußnoten und -% Fußnotensymbolbreiten von 0\,pt zur besseren Zentrierung des -% Autors sind auch bei Titelseiten angebracht}%^^A -% \changes{v2.8p}{2001/09/22}{\cs{titlefont} an Stelle von -% \cs{sectfont}}%^^A -% \changes{v2.95c}{2006/08/21}{Absatzgrundeinstellungen}%^^A -% \changes{v2.97c}{2007/08/31}{Vakatseiten in der Titelei immer im -% Seitenstil \texttt{empty}}%^^A -% \changes{v3.04a}{2009/07/14}{die Unterscheidung, ob Titelseite oder -% Titelkopf sollte erst in \cs{maketitle} und nicht schon bei dessen -% Definition erfolgen}%^^A -% \changes{v3.12}{2013/05/29}{Verwendung neuer Font-Elemente -% \texttt{titlehead}, \texttt{author}, \texttt{date}, \texttt{publishers}, -% \texttt{dedication}}%^^A -% \changes{v3.25}{2017/11/21}{Verwendung von \cs{@frontispiece}}%^^A +% \end{macro}^^A \next@tdpage +% \end{macro}^^A \next@tpage +% +% \begin{command}{\maketitle} +% \changes{v2.3a}{1995/07/08}{\texttt{plus} replaced by \cs{@plus}} +% \changes{v2.3a}{1995/07/08}{\texttt{fill} replaced by \cs{fill}} +% \changes{v2.3a}{1995/07/08}{\cs{vfil} replaced by \cs{vfill}} +% \changes{v2.3a}{1995/07/08}{using \cs{@makefnmark} in \cs{@makefntext}} +% \changes{v2.3a}{1995/07/08}{\cs{@makefnmark} and \cs{@makefntext} +% independent from math mode} +% \changes{v2.3b}{1995/07/24}{page break inside \cs{@extratitle} in +% double-sided mode fixed} +% \changes{v2.3d}{1995/08/19}{\cs{fill} replaced by \texttt{fill}} +% \changes{v2.3e}{1995/08/30}{support but ignore optional argument in +% single-sided mode} +% \changes{v2.3g}{1996/01/14}{several \cs{null} to \cs{next@tpage} added} +% \changes{v2.3g}{1996/01/14}{\cs{footnote} in titles fixed} +% \changes{v2.3g}{1996/01/14}{deleting \cs{@date}, \cs{title} etc. to save memory} +% \changes{v2.3g}{1996/01/14}{\cs{gdef} replaced by \cs{global}\cs{let}} +% \changes{v2.4}{1996/02/25}{\cs{footnote} in titles fixed again} +% \changes{v2.4h}{1996/11/09}{always use \cs{sectfont} followed by the side +% for the \cs{@title}} +% \changes{v2.4l}{1997/02/06}{using footnote symbols with width 0} +% \changes{v2.4l}{1997/02/06}{redefining \cs{\@makefnmark} instead of +% \cs{@makefntext} only} +% \changes{v2.8d}{2001/07/05}{using \cs{titlepagestyle} for in-page title} +% \changes{v2.8p}{2001/09/22}{\cs{sectfont} replaced by \cs{titlefont}} +% \changes{v2.95c}{2006/08/21}{setting paragraph base values} +% \changes{v2.97c}{2007/08/31}{interleaf pages with page style +% \pstyle{emmpty}} +% \changes{v3.04a}{2009/07/14}{distinguishing in-page titles and title pages +% inside \cs{maketitle} instead of loading time} +% \changes{v3.11c}{2013/02/14}{mock title moved to new macro} +% \changes{v3.11c}{2013/02/14}{using \cs{next@tdpage}} +% \changes{v3.12}{2013/05/29}{using font elements \fnt{titlehead}, +% \fnt{author}, \fnt{date}, \fnt{publishers}, \fnt{dedication}} +% \changes{v3.12}{2013/11/21}{support for +% \opt{titlepage\quotechar=firstiscover}} +% \changes{v3.12}{2013/11/21}{retro page only if needed} +% \changes{v3.12}{2013/11/21}{kill the title macros only in compatibility mode} +% \changes{v3.12a}{2014/03/03}{orphan spaced fixed} +% \changes{v3.12a}{2014/03/03}{output extra/mock title in one-side mode only +% if not empty} +% \changes{v3.12a}{2014/03/03}{\cs{next@tdpage} removed from \cs{@maketitle} +% and \cs{@makeextrattitle}} +% \changes{v3.13}{2013/10/31}{\cs{next@tdpage} replaced by +% \cs{cleardoubleemptypage} after dedication (last title page)} +% \changes{v3.19}{2015/08/25}{don't use empty \cs{titlepagestyle}} +% \changes{v3.25}{2017/11/21}{support for \cs{@frontispiece}} +% \changes{v3.27}{2019/01/01}{warning for not empty retro page in single-sided +% mode} +% \changes{v3.27}{2019/03/18}{empty \cs{@thanks} after usage} +% \changes{v3.27}{2019/03/18}{deleting \cs{@thanks} always globally} +% The user command that prints either the in-page title or the title pages +% with all the title macros filled before. % \begin{macrocode} %<package&extend>\let\maketitle\relax\let\@maketitle\relax \newcommand*\maketitle[1][1]{% % \end{macrocode} -% Da ab Version~3.12 auch mehrere \cs{maketitle} möglich sind, muss ggf. für -% eine korrekte Definition von \cs{and} gesorgt werden: +% To support several \cs{maketitle} in the same document, we have to take care +% to use the correct \cs{and} every time. So we define it here (instead of +% outside). % \begin{macrocode} \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax \else @@ -449,8 +388,8 @@ }% \fi % \end{macrocode} -% Es folgt die eigentliche Definition, die davon abhängt, ob wir uns im -% doppelseitigen Modus befinden oder nicht. +% Depending on in-page titles or title pages, we have to use different +% code. First the title pages. % \begin{macrocode} \if@titlepage \begin{titlepage} @@ -459,14 +398,10 @@ %<!extend> #1% }% % \end{macrocode} -% \changes{v3.12}{2013/11/21}{Berücksichtigung von -% \texttt{titlepage!=firstiscover}}%^^A -% \changes{v3.27}{2019/03/18}{immer \cs{global} beim Löschen von -% \cs{@thanks}}%^^A -% Ab Version~3.12 gibt es hier eine Sonderbehandlung für die erste Titelseite, -% falls es sich dabei um eine Umschlagsseite handeln soll. In diesem Fall -% werden die Maße der Seite verändert, was später per \cs{titlepage@restore} -% ggf. wieder zurückgenommen wird. +% From \KOMAScript~3.12 we need special treatment for the case this is the +% first title page and the first one should be the cover. The changes here has +% to be restored later. So we locally define \cs{titlepage@restore} to restore +% the original parameters. % \begin{macrocode} \if@titlepageiscoverpage \edef\titlepage@restore{% @@ -553,10 +488,8 @@ \vfill\null \if@twoside % \end{macrocode} -% \changes{v3.12}{2013/11/21}{Rückseite wird nur bei Bedarf ausgegeben.}%^^A -% Ab Version~3.12 wird die Rückseite der Titelseite nur noch bei Bedarf -% ausgegeben. Das gilt aber nur, wenn keine Kompatibilität mit früheren -% Versionen verlangt ist. +% From \KOMAScript~3.12 we show the retro page only if needed. It is needed in +% double-sided mode, if the upper and lower elements are not empty. % \begin{macrocode} \@tempswatrue \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax @@ -577,10 +510,8 @@ \@thanks\global\let\@thanks\@empty \fi % \end{macrocode} -% \changes{v3.27}{2019/01/01}{Warnung für nicht leere Titelrückseite bei -% einseitigen Dokumenten}%^^A -% Bei einseitigen Dokumenten werden eventuell gesetzte Inhalte von -% \cs{uppertitleback} oder \cs{lowertitleback} nicht ausgegeben. +% In single-sided mode, we warn for used but never printed upper and lower +% retro page variables. % \begin{macrocode} \else \ifx\@uppertitleback\@empty\else @@ -605,41 +536,24 @@ \next@tdpage\null\vfill {\centering\usekomafont{dedication}{\@dedication \par}}% \vskip \z@ \@plus3fill - \@thanks\global\let\@thanks\@empty % \end{macrocode} -% \changes{v3.12}{2013/10/31}{Nach der Widmung kein \cs{next@tdpage}, -% sondern nur \cs{cleardoubleemptypage}}%^^A +% \begin{description} +% \item[ToDo:] Why can't we use \cs{next@tdpage} here? Would this be a +% problem, if we redefine \cs{cleardoublepage} to \cs{next@tdpage}? +% \end{description} % \begin{macrocode} + \@thanks\global\let\@thanks\@empty \cleardoubleemptypage \fi % \end{macrocode} -% Falls wir uns noch immer auf einer Umschlagseite befinden, muss diese hier -% beendet werden. +% If we are still at a cover page, we have to restore the title page. % \begin{macrocode} \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi \end{titlepage} + \else % \end{macrocode} -% \changes{v2.3a}{1995/07/08}{Verwendung von \cs{@makefnmark} in -% \cs{@makefntext}}%^^A -% \changes{v2.3a}{1995/07/08}{Definition von \cs{@makefnmark} und -% \cs{@makefntext} unabhängig von math}%^^A -% \changes{v2.3e}{1995/08/30}{optionales Argument bei der -% einseitigen Version erlauben und ignorieren}%^^A -% \changes{v2.3g}{1996/01/14}{mehrfach \cs{null} bei -% \cs{next@tpage} ergänzt}%^^A -% \changes{v2.4l}{1997/02/06}{es ist nicht mehr notwendig \cs{\@makefntext} -% umzudefinieren, stattdessen wird nur \cs{\@makefnmark} umdefiniert}%^^A -% \changes{v2.8d}{2001/07/05}{\cs{titlepagestyle} statt -% \texttt{plain}}%^^A -% \changes{v3.12a}{2014/03/03}{Leerzeichenfehler behoben}%^^A -% \changes{v3.12a}{2014/03/03}{Schmutztitel wird nur ausgegeben, wenn er -% nicht leer ist}%^^A -% \changes{v3.12a}{2014/03/03}{\cs{next@tdpage} aus \cs{@maketitle} und -% \cs{@makeextrattitle} entfernt}%^^A -% \changes{v3.19}{2015/08/25}{Seitenstil nur ändern wenn nicht leer}%^^A -% \changes{v3.27}{2019/03/18}{\cs{@thanks} nach Benutzung löschen}%^^A +% Now, the in-page title. % \begin{macrocode} - \else \par \@tempcnta=% %<extend> ##1% @@ -723,20 +637,10 @@ \endgroup \fi \setcounter{footnote}{0}% -% \end{macrocode} -% \changes{v3.12}{2013/11/21}{die Titelei wird nur noch bei Kompatibilität -% zu früheren Versionen zerstört}%^^A -% \begin{macrocode} \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax \let\thanks\relax \let\maketitle\relax \let\@maketitle\relax -% \end{macrocode} -% \changes{v2.3g}{1996/01/14}{Verwendung von \cs{global}\cs{let} -% statt \cs{gdef}, um Speicher zu sparen} -% \changes{v2.3g}{1996/01/14}{\cs{@date} und \cs{title} -% u.\,ä. ebenfalls löschen, um Speicher zu sparen} -% \begin{macrocode} \global\let\@thanks\@empty \global\let\@author\@empty \global\let\@date\@empty @@ -765,17 +669,16 @@ }% % \end{macrocode} % \begin{macro}{\@maketitle} -% \changes{v2.95c}{2006/08/21}{Absatzgrundeinstellungen}%^^A -% \changes{v3.11c}{2012/02/14}{Schmutztitel in eigene Anweisung verlagert}%^^A -% \changes{v3.12a}{2014/03/03}{\cs{next@tdpage} aus \cs{@maketitle} -% entfernt}%^^A +% \changes{v2.95c}{2006/08/21}{default paragraph settings} +% \changes{v3.11c}{2012/02/14}{extra/mock title moved to \cs{@makeextratitle}} +% \changes{v3.12a}{2014/03/03}{\cs{next@tdpage} removed} % \begin{macro}{\@makeextratitle} -% \changes{v3.11c}{2013/02/14}{neue Anweisung (intern)}%^^A -% \changes{v3.12a}{2014/03/03}{\cs{next@tdpage} aus \cs{@makeextrattitle} -% entfernt}%^^A -% Damit wird im Fall des Titelkopfes die eigentliche Arbeit geleistet. +% \changes{v3.11c}{2013/02/14}{added} +% \changes{v3.12a}{2014/03/03}{\cs{next@tdpage} removed} % \begin{macro}{\@makefrontispiece} -% \changes{v3.25}{2017/11/21}{neu}%^^A +% \changes{v3.25}{2017/11/21}{added} +% These do the printing of the main title, the extra or mock title and the +% frontispiece (retro page of the mock title). % \begin{macrocode} \newcommand*{\@makeextratitle}{% \ifx\@extratitle\@empty \else @@ -828,56 +731,59 @@ \vskip 2em }% % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@makefrontispiece +% \end{macro}^^A \@makeextratitle +% \end{macro}^^A \@maketitle +% \end{command}^^A \maketitle % -% \begin{macro}{\coverpagetopmargin} -% \changes{v3.12}{2013/11/21}{neu}%^^A -% Oberer Rand für Umschlagsseiten. +% \begin{command}{\coverpagetopmargin} +% \changes{v3.12}{2013/11/21}{added} +% Top margin of a cover page (\opt{titlepage=firstiscover}). % \begin{macrocode} \newcommand*{\coverpagetopmargin}{% \dimexpr \topmargin+1in\relax } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\coverpagebottommargin} -% \changes{v3.12}{2013/11/21}{neu}%^^A -% Unterer Rand für Umschlagsseiten. +% \begin{command}{\coverpagebottommargin} +% \changes{v3.12}{2013/11/21}{added} +% Bottom margin of a cover page (\opt{titlepage=firstiscover}). % \begin{macrocode} \newcommand*{\coverpagebottommargin}{% 2\dimexpr\coverpagetopmargin\relax } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\coverpageleftmargin} -% \changes{v3.12}{2013/11/21}{neu}%^^A -% Linker Rand für Umschlagsseiten. +% \begin{command}{\coverpageleftmargin} +% \changes{v3.12}{2013/11/21}{added} +% Left margin of a cover page (\opt{titlepage=firstiscover}). % \begin{macrocode} \newcommand*{\coverpageleftmargin}{% \dimexpr \evensidemargin+1in\relax } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\coverpagerightmargin} -% \changes{v3.12}{2013/11/21}{neu}%^^A -% Oberer Rand für Umschlagsseiten. +% \begin{command}{\coverpagerightmargin} +% \changes{v3.12}{2013/11/21}{added} +% Right margin of a cover page (\opt{titlepage=firstiscover}). % \begin{macrocode} \newcommand*{\coverpagerightmargin}{\coverpageleftmargin} % \end{macrocode} -% \end{macro} -% -% -% \subsection{Umgebung für die Titelseite} +% \end{command} % % \begin{environment}{titlepage} -% Die Titelseite bedarf ebenfalls einer gesonderter Umgebung. Beim -% zweispaltigen Layout soll die Titelseite z.\,B. einspaltig gedruckt -% werden. +% The environment to be used for title pages. Title pages are always +% one-columned and use page style \pstyle{empty}. We have to take care to +% reset this at the end of the title page. +% \begin{description} +% \item[ToDo:] Wouldn't it be better to use \cs{pagestyle} instead of +% \cs{thispagestyle}, because \cs{pagestyle} would also be valid, if a user +% uses more than one page inside a \env{titlepage} environment? +% \item[ToDo:] See the note about \cs{next@tpage} above. +% \end{description} % \begin{macrocode} %<package&extend>\scr@ifundefinedorrelax{titlepage}{% \newenvironment{titlepage}{% @@ -898,115 +804,139 @@ % \end{macrocode} % \end{environment} % -% Im Fall von \textsf{scrextend} muss jetzt das Kürzel \emph{title} beendet -% werden: +% In case of package \pkg*{scrextend} the code of activatable \texttt{title} +% is complete and should be used if activated. % \begin{macrocode} %<package&extend>}\csname scr@ext@immediate@title\endcsname % \end{macrocode} % -% \subsection{Fonts für den Titel} -% -% \begin{macro}{\titlefont} -% \changes{v2.8p}{2001/09/22}{neu}%^^A -% Wie oben zu sehen ist, wird in der Titelei ein eigenes Schriftmakro -% verwendet. Dieses ist als internes Makro zu verstehen. Der Anwender -% sollte stattdessen auf das entsprechende Element zugreifen (siehe -% unten). -% \begin{macro}{\subject@font} -% \changes{v2.8q}{2002/01/14}{neu (intern)}%^^A -% \changes{v2.95}{2002/06/26}{jetzt auch bei \textsf{scrbook}, -% \textsf{scrreprt} und \textsf{scrartcl}} -% Ebenso verhält es sich mit den \emph{Subject} im Titel. Hier ist -% aber von vornherein ein internes Makro definiert. -% \begin{macrocode} -\newcommand*\titlefont{\sectfont}% -\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{KOMAfont}{subtitle} -% \changes{v2.97c}{2007/06/20}{neu}%^^A +% \begin{fontelement}{subtitle} +% \changes{v2.97c}{2007/06/20}{added} % \begin{macrocode} \newkomafont{subtitle}{\usekomafont{title}\large}% % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{titlehead} -% \changes{v3.12}{2013/05/29}{neu}%^^A +% \begin{fontelement}{titlehead} +% \changes{v3.12}{2013/05/29}{added} % \begin{macrocode} \newkomafont{titlehead}{}% % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{author} -% \changes{v3.12}{2013/05/29}{neu}%^^A +% \begin{fontelement}{author} +% \changes{v3.12}{2013/05/29}{added} % \begin{macrocode} \newkomafont{author}{\Large} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{date} -% \changes{v3.12}{2013/05/29}{neu}%^^A +% \begin{fontelement}{date} +% \changes{v3.12}{2013/05/29}{added} % \begin{macrocode} \newkomafont{date}{\Large} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{publishers} -% \changes{v3.12}{2013/05/29}{neu}%^^A +% \begin{fontelement}{publishers} +% \changes{v3.12}{2013/05/29}{added} % \begin{macrocode} \newkomafont{publishers}{\Large} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{KOMAfont}{dedication} -% \changes{v3.12}{2013/05/29}{neu}%^^A +% \begin{fontelement}{dedication} +% \changes{v3.12}{2013/05/29}{added} % \begin{macrocode} \newkomafont{dedication}{\Large} % \end{macrocode} -% \end{KOMAfont} +% \end{fontelement} % -% \begin{macro}{\scr@fnt@title} -% \changes{v2.8o}{2001/09/14}{neues Element \texttt{title}} -% \begin{macro}{\scr@fnt@subject} -% \changes{v2.8q}{2002/01/14}{neues Element \texttt{subject}} -% \changes{v2.95}{2002/06/26}{jetzt auch bei \textsf{scrbook}, -% \textsf{scrreprt} und \textsf{scrartcl}} -% Die beiden Elemente, deren Schrift geändert werden kann. +% \begin{fontelement}{title} +% \changes{v2.8o}{2001/09/14}{added} +% \begin{macro}{\titlefont} +% \changes{v2.8p}{2001/09/22}{added} +% Font to be used for the title. The font element has to be defined manually, +% because of compatibility with \KOMAScript{} up to version 2.8n and old +% \LaTeX~2.09 style \textsc{Script 2.0}. \cs{titlefont} is a user command for +% compatibility only. So we index it a internal macro. % \begin{macrocode} +\newcommand*\titlefont{\sectfont}% \newcommand*{\scr@fnt@title}{\titlefont}% +% \end{macrocode} +% \end{macro} +% \end{fontelement} +% +% \begin{fontelement}{subject} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v2.95}{2002/06/26}{also with \cls*{scrbook}, \cls*{scrreprt}, +% \cls*{scrartcl}} +% \begin{macro}{\subject@font} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v2.95}{2002/06/26}{also defined with \cls*{scrbook}, +% \cls*{scrreprt}, \cls*{scrartcl}} +% This has to be defined manually, because of compatibility with \KOMAScript{} +% up to version 2.8n and old \LaTeX~2.09 style \textsc{Script 2.0}. +% \begin{macrocode} +\newcommand*{\subject@font}{\normalfont\normalcolor\bfseries\Large}% \newcommand*{\scr@fnt@subject}{\subject@font}% +%</body> % \end{macrocode} % \end{macro} -% \end{macro} +% \end{fontelement} % +% \begin{macrocode} +%</!letter> +% \end{macrocode} % -% \subsection{Umgebung für die Zusammenfassung} +% \section{Implementation of the Abstract} +% +% The abstract is not part of the title but related to it. But maybe it is +% also a kind of section. +% \begin{description} +% \item[ToDo:] Should this be moved to \file{scrkernel-sections.dtx} or a new +% file \file{scrkernel-abstract.dtx}? +% \end{description} +% It is only defined for the classes \cls*{scrartcl} and \cls*{scrreprt} but +% not for \cls*{scrbook}, \cls*{scrlttr2} or package \pkg*{scrextend}. +% \begin{macrocode} +%<*class&(article|report)> +% \end{macrocode} +% +% \begin{option}{abstract} +% \changes{v2.95c}{2006/08/21}{added} +% \begin{macro}{\@abstrttrue,\@abstrtfalse,\if@abstrt} +% \changes{v3.17}{2015/03/10}{using \pkg*{scrkbase}} +% \KOMAScript{} provides abstracts with and without titles and only for the +% classes \cls*{scrartcl} and \cls*{scrreprt}. Books usually use a chapter for +% the abstract. We just need a simple boolean option, that sets a boolean +% switch. +% \begin{macrocode} +%<*option> +\KOMA@ifkey{abstract}{@abstrt} +% \end{macrocode} +% \begin{option}{abstracton,abstractoff} +% \changes{v2.95c}{2006/08/21}{obsolete} +% \changes{v3.01a}{2008/11/21}{standard not obsolete} +% \changes{v3.27}{2019/03/13}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{abstracton}{abstract=true} +\KOMA@DeclareDeprecatedOption{abstractoff}{abstract=false} +%</option> +% \end{macrocode} +% \end{option}^^A abstracton,abstractoff +% \end{macro}^^A \if@abstrt +% \end{option}^^A abstract % % \begin{environment}{abstract} -% \textsf{scrartcl} und \textsf{scrreprt} bieten die Möglichkeit einer -% Zusammenfassung, eines sogenannten \emph{Abstracts}. Wenn eine -% Titelseite verlangt wurde, wird auch die Zusammenfassung auf eine -% eigene Seite gesetzt. \textsf{scrbook} kennt keine Zusammenfassung -% dieser Art. In Büchern werden Zusammenfassungen üblicherweise mit -% Kapitelcharakter gesetzt. -% \iffalse -%<*class> -%<*article|report> -% \fi -% \changes{v2.3a}{1995/07/08}{\cs{@endparpenalty} zur Verhinderung -% eines Seitenumbruchs nach dem Abstract-Kopf eingefügt}%^^A -% \changes{v2.3g}{1996/01/14}{\cs{@beginparpenalty} zur -% Verhinderung eines Seitenumbruchs vor dem Abstract-Kopf -% eingefügt}%^^A -% \changes{v2.7a}{2001/01/04}{statt \cs{section*} wird nun -% \cs{addsec*} verwendet, damit die Kolumnentitel korrekt -% behandelt werden}%^^A -% \changes{v3.04a}{2009/07/14}{die Unterscheidung, ob Titelseite oder -% Titelkopf sollte erst in der Umgebung und nicht schon bei deren -% Definition erfolgen}%^^A +% \changes{v2.3a}{1995/07/08}{\cs{@endparpenalty} added} +% \changes{v2.3g}{1996/01/14}{\cs{@beginparpenalty} added} +% \changes{v2.7a}{2001/01/04}{\cs{section*} replaced by \cs{addsec*}} +% \changes{v3.04a}{2009/07/14}{\cs{if@titlepage} moved inside environment} +% The abstract is different for documents with title page. We provide an +% abstract with or without title. % \begin{macrocode} +%<*body> \newenvironment{abstract}{% \if@titlepage \titlepage @@ -1041,35 +971,33 @@ \fi } % \end{macrocode} -% \end{environment}%^^A abstract +% \end{environment}^^A abstract % -% \begin{macro}{\abstractname} -% Name der Zusammenfassung. +% \begin{command}{\abstractname} +% \changes{v3.36}{2022/03/08}{explicit definition for English languages} +% The name of the abstract (if a title is used). % \begin{macrocode} \newcommand*\abstractname{Abstract} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\abstractname{Abstract} +%</body> % \end{macrocode} -% \end{macro}%^^A \abstractname -% -% \iffalse -%</article|report> -%</class> -% \fi +% \end{command}^^A \abstractname % +% \begin{macrocode} +%</class&(article|report)> +% \end{macrocode} % -% \iffalse -%</body> -% \fi -% -% \iffalse -%</!letter> -% \fi % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-title.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx b/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx index 4da01b388d..f092e44a3b 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-tocstyle.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-tocstyle.dtx -% Copyright (c) Markus Kohm, 2015-2021 +% Copyright (c) Markus Kohm, 2015-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-tocstyle.dtx -% Copyright (c) Markus Kohm, 2015-2021 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-tocstyle.dtx 3613 2021-07-15 12:25:10Z kohm $ +%%% From File: $Id: scrkernel-tocstyle.dtx 3703 2022-02-15 07:41:54Z kohm $ % The runs of run-time file generation: %<preidentify>%%% (run: preidentify) % - everything that is needed before selfidentification of resulting files @@ -75,13 +39,12 @@ % - everything, that should be done immediately before leaving the file % (unused) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-07-15 14:25:10 +0200 (Thu, 15 Jul 2021) $ + \filedate$Date: 2022-02-15 08:41:54 +0100 (Di, 15. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3613 $ + \filerevision$Revision: 3703 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-tocstyle.dtx}% @@ -89,51 +52,55 @@ KOMA-Script source (TOC styles)] }% \reserved@a -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[main=english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-tocstyle.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{This is version \fileversion\ of file - \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{3} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-tocstyle.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{english} -% \section{Directory Styles} -% -% Directory (or ToC) styles are provided in cooperation with sectioning -% styles. But they are also part of the basic functions of directories aka -% tables or lists of contents. In \KOMAScript{} this is handled by package -% \Package{tocbasic}. See the \KOMAScript{} manuals for more information. -% -% \StopEventually{\PrintIndex\PrintChanges} -% % \changes{v3.20}{2015/11/13}{new} +% \changes{v3.36}{2022/02/14}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/14}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-tocstyle.dtx} +% \title{The Predifined Directory Styles of +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{tocbasic} and the +% \href{https://komascript.de}{\KOMAScript} Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \file{scrkernel-tocstyle.dtx} provides the predefined directory (or ToC) +% styles. The basic styles of \pkg*{tocbasic} are defined independent from +% the \KOMAScript{} classes. However, the \KOMAScript{} classes define their +% own styles depending on the styles of \pkg*{tocbasic}. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % +% \section{Implementation of the Basic ToC Styles of Package +% \pkg*{tocbasic} and the Specific ToC Styles of the \KOMAScript{} classes} % % \subsection{Settings independent from directories but nevertheless basis for % them} % % Before \KOMAScript~3.20 the commands here were part of the \KOMAScript{} -% classes. But now they are part of package \Package{tocbasic}, because they +% classes. But now they are part of package \pkg*{tocbasic}, because they % are more basic than only to be used by the \KOMAScript{} classes. % -% \iffalse -%<*package> -% \fi % -% \begin{macro}{\numberline} +% \begin{command}{\numberline} % \changes{v3.20}{2016/03/10}{\cs{numberline} defined indirectly by % \cs{scr@numberline}} % \begin{macro}{\scr@numberline} @@ -146,7 +113,7 @@ % This macro is used indirectly in the ToC and has to be redefined to fulfil % rules~5 and 6 of DUDDEN, 20th edition. % \begin{macrocode} -%<*body> +%<*package&body> \newcommand*{\scr@numberline}[1]{% \numberline@box{% \numberline@prefix @@ -157,8 +124,8 @@ }% } % \end{macrocode} -% \begin{macro}{\usetocbasicnumberline} -% \changes{v3.20}{2016/03/15}{new} +% \begin{command}{\usetocbasicnumberline} +% \changes{v3.20}{2016/03/15}{added} % The macro tests, whether \cs{numberline} used \cs{scr@numberline}. If not, % the optional argument is executed and a afterwards \cs{numberline} is % redefined. @@ -180,26 +147,26 @@ \if@tempswa #1\renewcommand*{\numberline}[1]{\scr@numberline{##1}}\fi } % \end{macrocode} -% \end{macro}%^^A \usetocbasicnumberline +% \end{command}^^A \usetocbasicnumberline % \begin{macro}{\numberline@prefix} -% \changes{v3.06}{2010/05/18}{new (internal)} +% \changes{v3.06}{2010/05/18}{added} % The default is just empty. It can be used, e.g., to print something before % the number or to make the number right aligned. % \begin{macrocode} \newcommand*{\numberline@prefix}{} % \end{macrocode} -% \end{macro}%^^A \numberline@prefix +% \end{macro}^^A \numberline@prefix % \begin{macro}{\numberline@postfix} -% \changes{v3.06}{2010/05/18}{neu (intern)} +% \changes{v3.06}{2010/05/18}{added} % The default is \cs{hfil} to make the number left aligned. % \begin{macrocode} \newcommand*{\numberline@postfix}{\hfil} % \end{macrocode} -% \end{macro}%^^A \numberline@postfix +% \end{macro}^^A \numberline@postfix % \begin{macro}{\numberline@numberformat} -% \changes{v3.06}{2010/05/18}{new (internal)} +% \changes{v3.06}{2010/05/18}{added} % \changes{v3.12}{2013/11/22}{don't output anything, if argument expands to -% an empty string}%^^A +% an empty string} % \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}} % Used to fulfil rules~5 and 6 of DUDEN, 20th edition. % \begin{macrocode} @@ -208,7 +175,7 @@ } % \end{macrocode} % \begin{macro}{\numberline@numberprefix} -% \changes{v3.20}{2016/03/15}{new (internal)} +% \changes{v3.20}{2016/03/15}{added} % Used to prefix the number inside \cs{numberline@numberformat}. In opposite % to \cs{numberline@prefix} it is only used, if the argument of % \cs{numberline@numberformat} and therefore the argument of \cs{numberline} @@ -216,9 +183,9 @@ % \begin{macrocode} \newcommand*{\numberline@numberprefix}{} % \end{macrocode} -% \end{macro}%^^A \numberline@numberprefix +% \end{macro}^^A \numberline@numberprefix % \begin{macro}{\numberline@numberpostfix} -% \changes{v3.20}{2016/03/15}{new (internal)} +% \changes{v3.20}{2016/03/15}{added} % Used to postfix the number inside \cs{numberline@numberformat}. In opposite % to \cs{numberline@prefix} it is only used, if the argument of % \cs{numberline@numberformat} and therefore the argument of \cs{numberline} @@ -226,33 +193,25 @@ % \begin{macrocode} \newcommand*{\numberline@numberpostfix}{} % \end{macrocode} -% \end{macro}%^^A \numberline@numberpostfix -% \end{macro}%^^A \numberline@numberformat +% \end{macro}^^A \numberline@numberpostfix +% \end{macro}^^A \numberline@numberformat % \begin{macro}{\numberline@box} -% \changes{v3.06}{2010/05/18}{new (internal)} +% \changes{v3.06}{2010/05/18}{added} % Is used to put the sectioning number into a box. % \begin{macrocode} \newcommand*{\numberline@box}[1]{\hb@xt@\@tempdima{#1}} -%</body> +%</package&body> % \end{macrocode} -% \end{macro}%^^A \numberline@box -% \end{macro}%^^A \scr@numberline -% -% \iffalse -%</package> -%<*class> -% \fi +% \end{macro}^^A \numberline@box +% \end{macro}^^A \scr@numberline % % \begin{macrocode} -%<*body> +%<*class&body> \let\numberline\scr@numberline -%</body> +%</class&body> % \end{macrocode} -% \end{macro}%^^A \numberline +% \end{command}^^A \numberline % -% \iffalse -%</class> -% \fi % % \subsection{The basics of the styles} % @@ -261,9 +220,9 @@ % command that defines the entry command and the corresponding options. The % options are used to provide configuration features. % -% \iffalse +% \begin{macrocode} %<*package> -% \fi +% \end{macrocode} % % \changes{v3.20}{2015/11/17}{ToC styles have the \texttt{KOMAarg} member % \texttt{.dte}} @@ -275,7 +234,7 @@ % \end{macrocode} % % \begin{macro}{\@DefineTOCEntryOption} -% \changes{v3.20}{2015/04/10}{new (internal)} +% \changes{v3.20}{2015/04/10}{added} % The definition of the options is done by a general interface. Important is, % that the definition of the option is done indirectly, which means: Here we % define a command, that defines the options when needed. Note, not only the @@ -289,12 +248,10 @@ % \meta{definition} % \item[\marg{definition}: \meta{code},] definition of the option % \end{description} -% \begin{macro}{\@DefineTOCEntryOptionWithoutDefault} -% \changes{v3.20}{2015/11/10}{new (internal)} -% \begin{macro}{\@DefineTOCEntryOptionWithDefault} -% \changes{v3.20}{2015/11/10}{new (internal)} +% \begin{macro}{\@DefineTOCEntryOptionWithoutDefault,\@DefineTOCEntryOptionWithDefault} +% \changes{v3.20}{2015/11/10}{added} % Because of the options argument at position 3 (and because we've made this -% before \Package{xparse} became part of the \LaTeX{} kernel), we need two +% before \pkg{xparse} became part of the \LaTeX{} kernel), we need two % auxiliary macros. % \begin{macrocode} %<*body> @@ -316,12 +273,11 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryOption +% \end{macro}^^A \@DefineTOCEntryOptionWithoutDefault,\@DefineTOCEntryOptionWithDefault +% \end{macro}^^A \@DefineTOCEntryOption % % \begin{macro}{\@RelaxTOCEntryOptions} -% \changes{v3.20}{2015/04/10}{new (internal)} +% \changes{v3.20}{2015/04/10}{added} % Reset all options of the current do-list back to \cs{relax}. % \begin{macrocode} %<*body> @@ -340,10 +296,10 @@ \newcommand{\scr@dte@gobbleopt}[1][]{} %</body> % \end{macrocode} -% \end{macro}%^^A \@RelaxTOCEntryOptions +% \end{macro}^^A \@RelaxTOCEntryOptions % % \begin{macro}{\@DefineTOCEntryListOption} -% \changes{v3.31}{2020/06/11}{new (internal)}%^^A +% \changes{v3.31}{2020/06/11}{added} % Use \cs{DefineTOCEntryOption} to define an option that represents a list. % It has following parameters: % \begin{description} @@ -356,9 +312,9 @@ % \item[\oarg{init}: \meta{code},] initialization of the option % \end{description} % Between the \meta{prefix} and \meta{postfix} automatically -% \cs{scr@dte@current} will be added. A copy option using ``\texttt{:=}'' -% instead of ``\texttt{=}'' and an add (append) option using ``\texttt{+=}'' -% instead of ``\texttt{=}'' is also defined. +% \cs{scr@dte@current} will be added. A copy option using ``\opt{:=}'' +% instead of ``\opt{=}'' and an add (append) option using ``\opt{+=}'' +% instead of ``\opt{=}'' is also defined. % \begin{macrocode} %<*body> \newcommand*{\@DefineTOCEntryListOption}[2]{% @@ -368,7 +324,7 @@ } % \end{macrocode} % \begin{macro}{\@DefineTOCEntryListOptionWithoutDefault} -% \changes{v3.31}{2020/06/11}{new (internal)}%^^A +% \changes{v3.31}{2020/06/11}{added} % This is the case without default value. So we only have to define % the three internal options, that manipulate a macro. % \begin{macrocode} @@ -396,9 +352,9 @@ }% } % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryListOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryListOptionWithoutDefault % \begin{macro}{\@DefineTOCEntryListOptionWithDefault} -% \changes{v3.31}{2020/06/11}{new (internal)}%^^A +% \changes{v3.31}{2020/06/11}{added} % This is the case with a default value. It's almost the same, but the % argument numbers and using \cs{DefineFamilyKey} with optional argument. % \begin{macrocode} @@ -428,11 +384,11 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryListOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryListOption +% \end{macro}^^A \@DefineTOCEntryListOptionWithDefault +% \end{macro}^^A \@DefineTOCEntryListOption % % \begin{macro}{\@DefineTOCEntryLengthOption} -% \changes{v3.20}{2015/12/04}{new (internal)} +% \changes{v3.20}{2015/12/04}{added} % Use \cs{DefineTOCEntryOption} to define an option that represents a length % macro. The parameters are: % \begin{description} @@ -446,27 +402,22 @@ % \end{description} % Later, when the option is defines, between \meta{prefix} and \meta{postfix} % will be added \cs{scr@dte@current} automatically. This is the name of the -% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to -% the option \marg{option} itself a copy option \marg{option}\texttt{:} will +% entry level, e.g., |subsection| or |figure|. Additionally to +% the option \marg{option} itself a copy option \marg{option}\opt{:} will % be defined. So it seems, that for the copy option a colon is before the % equal sign. The value of the copy option has to be the name of another entry % level and it copies the value of the same option of that entry % level. Additionally an additive option with appended plus sign is % defined. It adds the new value to the existing one. -% \begin{macro}{\@DefineTOCEntryLengthOptionWithoutDefault} -% \changes{v3.20}{2015/11/10}{new (internal)} +% \begin{macro}{\@DefineTOCEntryLengthOptionWithoutDefault, +% \@DefineTOCEntryLengthOptionWithDefault} +% \changes{v3.20}{2015/11/10}{added} % \changes{v3.27}{2019/10/02}{automatic definition of copy option} % \changes{v3.27}{2019/10/03}{automatic definition of add option} -% \begin{macro}{\@DefineTOCEntryLengthOptionWithDefault} -% \changes{v3.20}{2015/11/10}{new (internal)} -% \changes{v3.27}{2019/10/02}{automatic definition of copy option} -% \changes{v3.27}{2019/10/03}{automatic definition of add option} -% \begin{macro}{\@DefineTOCEntryLengthOptionMacro} -% \changes{v3.20}{2015/11/10}{new (internal)} -% \begin{macro}{\@DefineTOCEntryAddLengthOptionMacro} -% \changes{v3.27}{2019/10/03}{new (internal)} +% \begin{macro}{\@DefineTOCEntryLengthOptionMacro,\@DefineTOCEntryAddLengthOptionMacro} +% \changes{v3.27}{2019/10/03}{added} % Because of the options argument at position 3 (and because we've made this -% before \Package{xparse} became part of the \LaTeX{} kernel), we need three +% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three % auxiliary macros. % \begin{macrocode} %<*body> @@ -553,14 +504,12 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryAddLengthOptionMacro -% \end{macro}%^^A \@DefineTOCEntryLengthOptionMacro -% \end{macro}%^^A \@DefineTOCEntryLengthOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryLengthOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryLengthOption +% \end{macro}^^A \@DefineTOCEntryAddLengthOptionMacro,\@DefineTOCEntryLengthOptionMacro +% \end{macro}^^A \@DefineTOCEntryLengthOptionWithDefault,\@DefineTOCEntryLengthOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryLengthOption % % \begin{macro}{\@DefineTOCEntryNumberOption} -% \changes{v3.20}{2015/12/04}{new (internal)} +% \changes{v3.20}{2015/12/04}{added} % Use \cs{DefineTOCEntryOption} to define an option that represents a number % macro. The parameters are: % \begin{description} @@ -574,27 +523,22 @@ % \end{description} % Later, when the option is defines, between \meta{prefix} and \meta{postfix} % will be added \cs{scr@dte@current} automatically. This is the name of the -% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to -% the option \marg{option} itself a copy option \marg{option}\texttt{:} will +% entry level, e.g., |subsection| or |figure|. Additionally to +% the option \marg{option} itself a copy option \marg{option}\opt{:} will % be defined. So it seems, that for the copy option a colon is before the % equal sign. The value of the copy option has to be the name of another entry % level and it copies the value of the same option of that entry % level. Additionally an additive option with appended plus sign is % defined. It adds the new value to the existing one. -% \begin{macro}{\@DefineTOCEntryNumberOptionWithoutDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \begin{macro}{\@DefineTOCEntryNumberOptionWithoutDefault, +% \@DefineTOCEntryNumberOptionWithDefault} +% \changes{v3.20}{2015/11/12}{added} % \changes{v3.27}{2019/10/02}{automatic definition of copy option} % \changes{v3.27}{2019/10/03}{automatic definition of add option} -% \begin{macro}{\@DefineTOCEntryNumberOptionWithDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} -% \changes{v3.27}{2019/10/02}{automatic definition of copy option} -% \changes{v3.27}{2019/10/03}{automatic definition of add option} -% \begin{macro}{\@DefineTOCEntryNumberOptionMacro} -% \changes{v3.20}{2015/11/12}{new (internal)} -% \begin{macro}{\@DefineTOCEntryAddNumberOptionMacro} -% \changes{v3.27}{2019/10/03}{neu (intern)} +% \begin{macro}{\@DefineTOCEntryNumberOptionMacro,\@DefineTOCEntryAddNumberOptionMacro} +% \changes{v3.27}{2019/10/03}{added} % Because of the options argument at position 3 (and because we've made this -% before \Package{xparse} became part of the \LaTeX{} kernel), we need three +% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three % auxiliary macros. % \begin{macrocode} %<*body> @@ -669,14 +613,12 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryAddNumberOptionMacro -% \end{macro}%^^A \@DefineTOCEntryNumberOptionMacro -% \end{macro}%^^A \@DefineTOCEntryNumberOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryNumberOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryNumberOption +% \end{macro}^^A \@DefineTOCEntryAddNumberOptionMacro,\@DefineTOCEntryNumberOptionMacro +% \end{macro}^^A \@DefineTOCEntryNumberOptionWithDefault,\@DefineTOCEntryNumberOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryNumberOption % % \begin{macro}{\@DefineTOCEntryBooleanOption} -% \changes{v3.20}{2015/12/04}{new (internal)} +% \changes{v3.20}{2015/12/04}{added} % Use \cs{DefineTOCEntryOption} to define an option that represents a boolean % switch. The parameters are: % \begin{description} @@ -690,22 +632,20 @@ % \end{description} % Later, when the option is defines, between \meta{prefix} and \meta{postfix} % will be added \cs{scr@dte@current} automatically. This is the name of the -% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to -% the option \marg{option} itself a copy option \marg{option}\texttt{:} will +% entry level, e.g., |subsection| or |figure|. Additionally to +% the option \marg{option} itself a copy option \marg{option}\opt{:} will % be defined. So it seems, that for the copy option a colon is before the % equal sign. The value of the copy option has to be the name of another entry % level and it copies the value of the same option of that entry % level. -% \begin{macro}{\@DefineTOCEntryBoolOptionWithoutDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} -% \changes{v3.27}{2019/10/02}{automatic definition of copy option} -% \begin{macro}{\@DefineTOCEntryBoolOptionWithDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \begin{macro}{\@DefineTOCEntryBoolOptionWithoutDefault, +% \@DefineTOCEntryBoolOptionWithDefault} +% \changes{v3.20}{2015/11/12}{added} % \changes{v3.27}{2019/10/02}{automatic definition of copy option} % \begin{macro}{\@DefineTOCEntryBoolOptionMacro} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \changes{v3.20}{2015/11/12}{added} % Because of the options argument at position 3 (and because we've made this -% before \Package{xparse} became part of the \LaTeX{} kernel), we need three +% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three % auxiliary macros. % \begin{macrocode} %<*body> @@ -761,13 +701,12 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryBoolOptionMacro -% \end{macro}%^^A \@DefineTOCEntryBoolOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryBoolOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryBooleanOption +% \end{macro}^^A \@DefineTOCEntryBoolOptionMacro +% \end{macro}^^A \@DefineTOCEntryBoolOptionWithDefault,\@DefineTOCEntryBoolOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryBooleanOption % % \begin{macro}{\@DefineTOCEntryIfOption} -% \changes{v3.20}{2015/12/06}{new (internal)} +% \changes{v3.20}{2015/12/06}{added} % Use \cs{DefineTOCEntryOption} to define an option that represents an if % command. The option itself is a boolean option. The parameters are: % \begin{description} @@ -780,22 +719,20 @@ % \end{description} % Later, when the option is defines, between \meta{prefix} and \meta{postfix} % will be added \cs{scr@dte@current} automatically. This is the name of the -% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to -% the option \marg{option} itself a copy option \marg{option}\texttt{:} will +% entry level, e.g., |subsection| or |figure|. Additionally to +% the option \marg{option} itself a copy option \marg{option}\opt{:} will % be defined. So it seems, that for the copy option a colon is before the % equal sign. The value of the copy option has to be the name of another entry % level and it copies the value of the same option of that entry % level. -% \begin{macro}{\@DefineTOCEntryIfOptionWithoutDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} -% \changes{v3.27}{2019/10/02}{automatic definition of copy option} -% \begin{macro}{\@DefineTOCEntryIfOptionWithDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \begin{macro}{\@DefineTOCEntryIfOptionWithoutDefault, +% \@DefineTOCEntryIfOptionWithDefault} +% \changes{v3.20}{2015/11/12}{added} % \changes{v3.27}{2019/10/02}{automatic definition of copy option} % \begin{macro}{\@DefineTOCEntryIfOptionMacro} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \changes{v3.20}{2015/11/12}{added} % Because of the options argument at position 3 (and because we've made this -% before \Package{xparse} became part of the \LaTeX{} kernel), we need three +% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three % auxiliary macros. % \begin{macrocode} %<*body> @@ -851,13 +788,12 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DefineTOCEntryIfOptionMacro -% \end{macro}%^^A \@DefineTOCEntryIfOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryIfOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryIfOption +% \end{macro}^^A \@DefineTOCEntryIfOptionMacro +% \end{macro}^^A \@DefineTOCEntryIfOptionWithDefault,\@DefineTOCEntryIfOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryIfOption % % \begin{macro}{\@DefineTOCEntryCommandOption} -% \changes{v3.20}{2015/11/17}{new (internal)} +% \changes{v3.20}{2015/11/17}{added} % Use \cs{DefineTOCEntryOption} to define an option that represents a % macro. The parameters are: % \begin{description} @@ -871,31 +807,29 @@ % \end{description} % Later, when the option is defines, between \meta{prefix} and \meta{postfix} % will be added \cs{scr@dte@current} automatically. This is the name of the -% entry level, e.g., \texttt{subsection} or \texttt{figure}. Additionally to -% the option \marg{option} itself a copy option \marg{option}\texttt{:} will +% entry level, e.g., |subsection| or |figure|. Additionally to +% the option \marg{option} itself a copy option \marg{option}\opt{:} will % be defined. So it seems, that for the copy option a colon is before the % equal sign. The value of the copy option has to be the name of another entry % level and it copies the value of the same option of that entry % level. Additionally an appending option with appended plus sign is % defined. It appends the new code to the existing one. % \begin{macro}{\@DefineTOCEntryCommandOptionWithoutDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \changes{v3.20}{2015/11/12}{added} % \begin{macro}{\@@DefineTOCEntryCommandOptionWithoutDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \changes{v3.20}{2015/11/12}{added} % \changes{v3.27}{2019/10/02}{automatic definition of copy option} % \changes{v3.27}{2019/10/03}{automatic definition of add option} % \begin{macro}{\@DefineTOCEntryCommandOptionWithDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \changes{v3.20}{2015/11/12}{added} % \begin{macro}{\@@DefineTOCEntryCommandOptionWithDefault} -% \changes{v3.20}{2015/11/12}{new (internal)} +% \changes{v3.20}{2015/11/12}{added} % \changes{v3.27}{2019/10/02}{automatic definition of copy option} % \changes{v3.27}{2019/10/03}{automatic definition of add option} -% \begin{macro}{\@DefineTOCEntryCommandOptionMacro} -% \changes{v3.20}{2015/11/12}{new (internal)} -% \begin{macro}{\@@DefineTOCEntryCommandOptionMacro} -% \changes{v3.20}{2015/11/26}{new (internal)} +% \begin{macro}{\@DefineTOCEntryCommandOptionMacro,\@@DefineTOCEntryCommandOptionMacro} +% \changes{v3.20}{2015/11/26}{added} % Because of the options argument at position 3 (and because we've made this -% before \Package{xparse} became part of the \LaTeX{} kernel), we need three +% before \pkg{xparse} became part of the \LaTeX{} kernel), we need three % auxiliary macros. % \begin{macrocode} %<*body> @@ -941,9 +875,7 @@ \unexpanded\expandafter{\scr@dte@doopts}\noexpand\do{#2:}% }% \else -%<class> \ClassError{\KOMAClassName -%<package> \PackageError{tocbasic% - }{only one argument supported}{% + \PackageError{tocbasic}{only one argument supported}{% \string\DefineTOCEntryCommandOption\space currently supports only commands with\MessageBreak at most one argument not #5}% @@ -1001,9 +933,7 @@ \unexpanded\expandafter{\scr@dte@doopts}\noexpand\do{#2:}% }% \else -%<class> \ClassError{\KOMAClassName -%<package> \PackageError{tocbasic% - }{only one argument supported}{% + \PackageError{tocbasic}{only one argument supported}{% \string\DefineTOCEntryCommandOption\space currently supports only commands with\MessageBreak at most two argument not #6}% @@ -1020,18 +950,16 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@@DefineTOCEntryCommandOptionMacro -% \end{macro}%^^A \@DefineTOCEntryCommandOptionMacro -% \end{macro}%^^A \@@DefineTOCEntryCommandOptionWithDefault -% \end{macro}%^^A \@DefineTOCEntryCommandOptionWithDefault -% \end{macro}%^^A \@@DefineTOCEntryCommandOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryCommandOptionWithoutDefault -% \end{macro}%^^A \@DefineTOCEntryCommandOption +% \end{macro}^^A \@@DefineTOCEntryCommandOptionMacro,\@DefineTOCEntryCommandOptionMacro +% \end{macro}^^A \@@DefineTOCEntryCommandOptionWithDefault +% \end{macro}^^A \@DefineTOCEntryCommandOptionWithDefault +% \end{macro}^^A \@@DefineTOCEntryCommandOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryCommandOptionWithoutDefault +% \end{macro}^^A \@DefineTOCEntryCommandOption % -% \begin{macro}{\@AddToDeclareTOCStyleEntryPreCheckNeeds} -% \changes{v3.20}{2015/12/06}{new (internal)} -% \begin{macro}{\@PreToDeclareTOCStyleEntryPreCheckNeeds} -% \changes{v3.20}{2015/12/06}{new (internal)} +% \begin{macro}{\@AddToDeclareTOCStyleEntryPreCheckNeeds, +% \@PreToDeclareTOCStyleEntryPreCheckNeeds} +% \changes{v3.20}{2015/12/06}{added} % Before the existence of the mandatory commands can be tested in % \cs{DeclareTOCStyleEntry}, a hook will be executed. To add code to this hook % we have this command with the following parameter: @@ -1054,11 +982,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@PreToDeclareTOCStyleEntryPreCheckNeeds -% \end{macro}%^^A \@AddToDeclareTOCStyleEntryPreCheckNeeds +% \end{macro}^^A \@AddToDeclareTOCStyleEntryPreCheckNeeds,\@PreToDeclareTOCStyleEntryPreCheckNeeds % % \begin{macro}{\@TOCEntryStyleNeedsCommandByOption} -% \changes{v3.20}{2015/12/04}{new (internal)} +% \changes{v3.20}{2015/12/04}{added} % Adds one or more commands to the list of mandatory commands. The parameters % are: % \begin{description} @@ -1080,12 +1007,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@TOCEntryStyleNeedsCommandByOption +% \end{macro}^^A \@TOCEntryStyleNeedsCommandByOption % -% \begin{macro}{\TOCEntryStyleInitCode} -% \changes{v3.20}{2015/11/19}{new} -% \begin{macro}{\TOCEntryStyleStartInitCode} -% \changes{v3.20}{2015/11/25}{new} +% \begin{command}{\TOCEntryStyleInitCode,\TOCEntryStyleStartInitCode} +% \changes{v3.20}{2015/11/25}{added} % Executes commands before a ToC entry level command of this style is defined % and before the \emph{needs} list will be executed. The parameters are: % \begin{description} @@ -1113,10 +1038,9 @@ }% } % \end{macrocode} -% \end{macro}%^^A \TOCEntryStyleStartInitCode -% \end{macro}%^^A \TOCEntryStyleInitCode +% \end{command}^^A \TOCEntryStyleInitCode,\TOCEntryStyleStartInitCode % \begin{macro}{\@ExecuteTOCEntryStyleInitCode} -% \changes{v3.20}{2015/12/04}{new (internal)} +% \changes{v3.20}{2015/12/04}{added} % Executes the init code of one style. The first argument is the name of the % style, the second the name of the ToC entry level, which will be used as % argument of the init code (see above). @@ -1165,33 +1089,28 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \ExecuteTOCEntryStyleInitCode +% \end{macro}^^A \@ExecuteTOCEntryStyleInitCode +% % -% \selectlanguage{ngerman} -% \begin{macro}{\DeclareTOCStyleEntry} -% \changes{v3.20}{2015/11/13}{neu} -% Diese Anweisung definiert einen Verzeichniseintragsbefehl. Dabei wird auch -% geprüft, ob all benötigten Befehle definiert sind. Falls das nicht der Fall -% ist, wird der Verzeichniseintragsbefehl nicht definiert, sondern ein Fehler -% gemeldet. Für die Definition werden folgende Argumente verwendet. +% \begin{command}{\DeclareTOCStyleEntry} +% \changes{v3.20}{2015/11/13}{added} +% This user command defines a new ToC entry command. It tests, if all needed +% style macros are already defined. Otherwise an error will be shown and the +% ToC entry command will not be defined. The arguments are: % \begin{description} -% \item[\oarg{Optionen}:] Komma separierte Liste von Optionen für die -% Definition des Eintrags. -% \item[\marg{Stil}:] Der Stil \meta{string}, in dem der Verzeichniseintrag -% sein soll. -% \item[\marg{Gliederungsebene}:] Der Name \meta{string} der Gliederungsebene -% für die ein Verzeichniseintrag definiert werden soll. +% \item[\oarg{options}:] comma-separated list of options to specify the entry; +% \item[\marg{style}:] a string, that specifies the style of the ToC entry; +% \item[\marg{level name}:] a string, that specifies the name of the +% sectioning level (or float environment), related to the ToC entry; % \end{description} -% Es wird außerdem eine Anweisung \cs{scr@dte@def@l@\meta{Stil}} benötigt, -% über die dann die eigentliche Definition der Eintragsanweisung -% erfolgt. Diese hat genau ein Argument: \meta{Gliederungsebene}. +% The real macro to define a ToC entry command is +% \cs{scr@dte@def@l@\meta{style}}. That needs exactly one argument, the +% \meta{level name}. % \begin{macrocode} %<*body> \newcommand*{\DeclareTOCStyleEntry}[3][]{% \scr@ifundefinedorrelax{scr@dte@def@l@#2}{% -%<class> \ClassError{\KOMAClassName -%<package> \PackageError{tocbasic% - }{toc entry style `#2' undefined}{% + \PackageError{tocbasic}{toc entry style `#2' undefined}{% Somebody told me to define toc entry `#3' with style `#2',\MessageBreak but I do not know style `#2'.\MessageBreak You should first define the style then define the entry.\MessageBreak @@ -1222,9 +1141,7 @@ \aftergroup\@tempswatrue \def\do##1##2##3##4{% \scr@ifundefinedorrelax{##1#3##2}{% -%<class> \ClassError{\KOMAClassName -%<package> \PackageError{tocbasic% - }{toc style `#2' needs ##4}{% + \PackageError{tocbasic}{toc style `#2' needs ##4}{% Usually the ##4 is defined using option `##3'.\MessageBreak In some cases it may be set defining command `\expandafter\string\csname ##1#3##2\endcsname'.\MessageBreak @@ -1241,25 +1158,23 @@ \if@tempswa \@nameuse{scr@dte@def@l@#2}{#3}% % \end{macrocode} -% \changes{v3.27}{2019/10/02}{macro name prefix for style information -% changed}%^^A +% \changes{v3.27}{2019/10/02}{macro name prefix for style information changed} % Note: Before \KOMAScript~3.27 the style name of an entry was stored in % \cs{scr@dte@\meta{level name}@style}. But this war wrong, because the prefix -% \texttt{scr@dte} is used for attributes of the style (while declaring an +% |scr@dte| is used for attributes of the style (while declaring an % entry), but the style is an attribute of the entry. So usage of the prefix -% \texttt{scr@tso} would be much better. This means usage of +% |scr@tso| would be much better. This means usage of % \cs{scr@dte@\meta{level name}@style} is deprecated and should be replaced by % \cs{scr@tso@\meta{level name}@style}. % \begin{macrocode} \expandafter\edef\csname scr@dte@#3@style\endcsname{#2}% \expandafter\edef\csname scr@tso@#3@style\endcsname{#2}% % \end{macrocode} -% \changes{v3.21}{2016/06/09}{\cs{toclevel@\emph{ebene}} wird für -% \textsf{hyperref} neu gesetzt}%^^A -% Da verschiedene Pakete davon ausgehen, dass die Ebene -% \textsf{hyperref}-kompatibel gespeichert ist, setzen wir die hier -% zusätzlich. Das \textsf{hyperref} die Einstellungen ggf. überschreibt, -% machen wir das in der Dokumentpräambel auch mehrfach. +% \changes{v3.21}{2016/06/09}{\cs{toclevel@\emph{level}} added for \pkg{hyperref}} +% At least \pkg{hyperref}, but several other packages too, depend on a +% \pkg{hyperref} compatible storage of the level number. So we define it here +% additionally. Unfortunately \pkg{hyperref} overwrites this definition, so we +% do so after loading the package and sometimes also at |\begin{document}|. % \begin{macrocode} \expandafter\let\csname toclevel@#3\expandafter\endcsname \csname #3tocdepth\endcsname @@ -1279,10 +1194,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \DeclareTOCStyleEntry +% \end{command}^^A \DeclareTOCStyleEntry % -% \begin{macro}{\DeclareTOCStyleEntries} -% \changes{v3.26}{2018/08/27}{new}%^^A +% \begin{command}{\DeclareTOCStyleEntries} +% \changes{v3.26}{2018/08/27}{added} % Use \cs{DeclareTOCStyleEntry} to define a list of entries, all with the same % options and style. % \begin{macrocode} @@ -1305,26 +1220,24 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \DeclareTOCStyleEntries +% \end{command}^^A \DeclareTOCStyleEntries % -% \begin{macro}{\DeclareTOCEntryStyle} -% \changes{v3.20}{2015/11/17}{neu} +% \begin{command}{\DeclareTOCEntryStyle} +% \changes{v3.20}{2015/11/17}{added} % \begin{macro}{\@DeclareTOCEntryStyle} -% \changes{v3.20}{2015/11/17}{neu (intern)} -% Über diese Anweisung wir ein neuer Stil für TOC-Einträge definiert. Ein Stil -% besteht aus: +% \changes{v3.20}{2015/11/17}{added} +% The user command is used to define a new style for ToC entries. The +% arguments are: % \begin{description} -% \item[\marg{Stil}:] Der Stil \meta{string}, der definiert werden soll. -% \item[\oarg{Initialisierungscode}:] Dieser Code wird bei der Definition -% eines Verzeichnisbefehls ausgeführt und enthält beispielsweise -% Optionendeklarationen. Es ist zu beachten, dass dieser Code ggf. auch -% mehrfach ausgeführt werden kann! -% \item[\marg{Code}:] Der Code, der ausgeführt wird, wenn ein -% Verzeichniseintrag ausgegeben werden soll. +% \item[\marg{style}:] a string, that represents the name of the style; +% \item[\oarg{initialization code}:] code, e.g., to initialize the options, +% that will be used to define the ToC entry command (note: this code can be +% executed more than once); +% \item[\marg{code}:] code, that will be used to generate a ToC entry while +% loading the auxiliary file of the ToC; % \end{description} -% Unabhängig davon, ob eine \meta{Optionendeklaration} angegeben ist oder -% nicht, wird immer eine Option \texttt{level} definiert, über die die -% Verzeichnisebene einen nummerischen Wert erhält. +% Independent from the \meta{initialization code}, \opt{level} is always +% defined, because a numerical ToC level is always needed. % \begin{macrocode} %<*body> \newcommand*{\DeclareTOCEntryStyle}[1]{% @@ -1348,91 +1261,60 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \@DeclareTOCEntryStyle -% \end{macro}%^^A \DeclareTOCEntryStyle +% \end{macro}^^A \@DeclareTOCEntryStyle +% \end{command}^^A \DeclareTOCEntryStyle % -% \begin{macro}{\TOC@EntryStartHook} -% \changes{v3.20}{2016/01/12}{neu (intern)} -% Bei jedem Eintrag, der über einen Eintragsstil von \KOMAScript{} definiert -% ist, kann vor dem jeweiligen Eintrag über einen Haken eine Reihe -% von Anweisungen ausgeführt werden. Innerhalb dieser Anweisungen ist -% \texttt{\#1} der Name der Gliederungsebene. In der Regel dürfen diese -% Anweisungen keinerlei Ausgaben tätigen und weder \cs{lastpenalty} noch -% \cs{lastskip} verändern. Der Anwender ist dafür selbst verantwortlich! Weil -% diese Einschränkung jedoch etwas kritisch ist und der Aufruf ohnehin ein -% \cs{makeatletter} benötigt, wird nur der Haken definiert aber keine -% Anweisung, um diesen zu ändern oder zu erweitern. -% \begin{macrocode} -%<*body> -\newcommand*{\TOC@EntryStartHook}[1]{} -%</body> -% \end{macrocode} -% \end{macro}%^^A \TOC@EntryStartHook % -% \begin{macro}{\TOC@EntryEndHook} -% \changes{v3.20}{2016/01/12}{neu (intern)} -% Bei jedem Eintrag, der über einen Eintragsstil von \KOMAScript{} definiert -% ist, kann nach dem jeweiligen Eintrag über einen Haken eine Reihe -% von Anweisungen ausgeführt werden. Innerhalb dieser Anweisungen ist -% \texttt{\#1} der Name der Gliederungsebene. In der Regel dürfen diese -% Anweisungen keinerlei Ausgaben tätigen und weder \cs{lastpenalty} noch -% \cs{lastskip} verändern. Der Anwender ist dafür selbst verantwortlich! Weil -% diese Einschränkung jedoch etwas kritisch ist und der Aufruf ohnehin ein -% \cs{makeatletter} benötigt, wird nur der Haken definiert aber keine -% Anweisung, um diesen zu ändern oder zu erweitern. +% \begin{macro}{\TOC@EntryStartHook,\TOC@EntryEndHook} +% \changes{v3.20}{2016/01/12}{added} +% For every ToC entry, that has been defined by \KOMAScript{}, there is one +% \emph{hook}, that will be executed before the corresponding ToC entry, and +% another \emph{hook}, that will executed after the corresponding ToC entry. Inside +% the \emph{hook} commands \texttt{\#1} is the name of the ToC level. Generally +% the \emph{hook} commands should not do any output and should neither change +% \cs{lastpenalty} nor \len{lastskip}. The user is responsible for this! +% However, because this \emph{hook} is very dangerous, we only have two +% internal macros for it but no user command to add new commands to the +% hook. So it is a kind of last chance mechanism. % \begin{macrocode} %<*body> +\newcommand*{\TOC@EntryStartHook}[1]{} \newcommand*{\TOC@EntryEndHook}[1]{} %</body> % \end{macrocode} -% \end{macro}%^^A \TOC@EntryEndHook +% \end{macro}^^A \TOC@EntryStartHook,\TOC@EntryEndHook +% % -% \begin{macro}{\CloneTOCEntryStyle} -% \changes{v3.20}{2015/11/25}{neu} -% Diese Anweisung dupliziert einen Stil samt seiner Optionen und -% Befehle. Anschließend kann man ihn beispielsweise verändern. Das erste -% Argument ist der Name des ursprünglichen Stils, das zweite der neue Name. +% \begin{command}{\CloneTOCEntryStyle} +% \changes{v3.20}{2015/11/25}{added} +% The user command clones the style from \texttt{\#1} to style +% \texttt{\#2}. After cloning you can change the new style. % \begin{macrocode} %<*body> \newcommand*{\CloneTOCEntryStyle}[2]{% % \end{macrocode} -% Als erstes wird die Anweisung kopiert, mit der die \cs{l@\dots}-Anweisungen -% definiert werden. +% First of all copy the ToC entry command. % \begin{macrocode} \expandafter\let\csname scr@dte@def@l@#2\expandafter\endcsname \csname scr@dte@def@l@#1\endcsname % \end{macrocode} -% Der Init-Code wird kopiert. +% Then copy the \meta{initialization code}. % \begin{macrocode} \expandafter\let\csname scr@dte@#2@init\expandafter\endcsname \csname scr@dte@#1@init\endcsname } %</body> % \end{macrocode} -% \end{macro} -% -% -% \subsection{Vorgefertigte Verzeichniseintragsstile} +% \end{command} % -% Hier wird quasi an Beispielen gezeigt, wie man Verzeichniseintragsstile -% definieren kann. Einige dieser Stile sind sehr grundlegend. Andere sind -% stellen Erweiterungen der grundlegenden Stile dar. Die Stile können über -% mehrere \texttt{docstrip}-Durchgänge einzeln in den Quelltext gelangen. % -% \begin{macro}{\@pnumwidth} -% \changes{v3.27}{2019/05/11}{aus den Klassen in das Paket verschoben}%^^A -% \begin{macro}{\@tocrmarg} -% \changes{v3.27}{2019/05/11}{aus den Klassen in das Paket verschoben}%^^A -% \begin{macro}{\@dotsep} -% \changes{v3.27}{2019/05/11}{aus den Klassen in das Paket verschoben}%^^A -% Einige Makros für die Formatierung der Verzeichniseinträge: +% \begin{macro}{\@pnumwidth,\@tocrmarg,\@dotsep} +% \changes{v3.27}{2019/05/11}{moved from the classes to the package} % \begin{description} -% \item[\cs{@pnumwidth}] ist der Platz für die Seitenzahl. -% \item[\cs{@tocrmarg}] ist der rechte Rand bei mehrzeiligen -% Verzeichniseinträgen. Dieser wird hier größer als \cs{@pnumwidth} -% gewählt. -% \item[\cs{\@dotsep}] ist der Abstand zwischen den einzelnen -% Punkten. +% \item[\cs{@pnumwidth}] is the space of the page number. +% \item[\cs{@tocrmarg}] is the right margin of entries with more than one +% line. Usually this should be larger than \cs{@pnumwidth}. +% \item[\cs{\@dotsep}] is the space between the dots of a dotted connecting line. % \end{description} % \begin{macrocode} %<*body> @@ -1442,18 +1324,22 @@ %</body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % % -% \iffalse -%<*style> -% \fi +% \subsection{Predefined ToC entry styles} +% +% You can read this code as examples for defining ToC entry styles using the +% commands from the previous sections. Some of them are very basic. Others are +% extensions of the basic styles. \file{scrdocstrip.tex} has to process this +% code several times to generate all the styles. % +% \begin{macrocode} +%<*style> +% \end{macrocode} +% % \begin{macro}{\scr@dte@def@l@gobble} -% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil -% \texttt{gobble}}%^^A -% Der aller einfachste Verzeichniseintragsstil ist \texttt{gobble}. Er nimmt +% \changes{v3.20}{2015/11/20}{ToC style \texttt{gobble} added} +% Der aller einfachste Verzeichniseintragsstil ist |gobble|. Er nimmt % die beiden Argumente für den Verzeichniseintrag und die Seitenzahl und % vergisst sie unabhängig von der Ebene des Eintrags einfach. Daher benötigt % dieser Stil auch keinerlei Optionen oder Initialisierung. @@ -1463,49 +1349,36 @@ \DeclareTOCEntryStyle{gobble}{}% %</gobble> % \end{macrocode} -% \end{macro}%^^A \scr@dte@def@l@gobble +% \end{macro}^^A \scr@dte@def@l@gobble % % \begin{macro}{\scr@dte@def@l@dottedtocline} -% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil -% \texttt{dottedtocline}}%^^A -% Der einfachste echte Verzeichniseintragsstil ist -% \texttt{dottedtocline}. Dieser verwendet einfach nur die -% \LaTeX-Kern-Anweisung \cs{dottedtocline}. Für \KOMAScript{} selbst sollte -% man dieses Stil nicht verwenden. Man kann ihn aber beispielsweise mit den -% Standardklassen verwenden, wenn man kompatibel bleiben will. Dieser benötigt -% jedoch bereits Angaben bezüglich der Nummernbreite und des -% Eintragseinzugs. Der ohnehin immer definierte Level wird ebenfalls -% ausgewertet. +% \changes{v3.20}{2015/11/20}{ToC style \texttt{dottedtocline} added} +% The most simple real ToC entry style is |dottedtocline|. It used the +% \LaTeX{} kernel macro \cs{@dottedtocline}. You should not use this style for +% \KOMAScript. But it may be useful to be used with the standard +% classes. However, in my opinion style |tocline| would always be the better one. % \begin{macro}{\scr@dte@def@l@undottedtocline} -% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil -% \texttt{undottedtocline}}%^^A -% Im Unterschied dazu entspricht der Verzeichniseintragsstil -% \texttt{undottedtocline} dem der \texttt{chapter}-Ebene der -% Standardklassen. Im Unterschied zu diesen wird jedoch ein Eintragseinzug -% unterstützt. +% \changes{v3.20}{2015/11/20}{ToC style \texttt{undottedtocline} added} +% Style |undottedtocline| corresponds to the style, that is used for chapter +% entries of the standard class \cls*{book} or \cls*{report}. In opposite to +% that, it also supports an horizontal indent. So you can alternatively +% interpret it as a variant of |dottedtocline| without dots. % \begin{macro}{\scr@dte@def@l@largetocline} -% \changes{v3.20}{2015/11/20}{neuer Verzeichniseintragsstil -% \texttt{largetocline}}%^^A -% Im Unterschied dazu entspricht der Verzeichniseintragsstil -% \texttt{largetocline} dem der \texttt{part}-Ebene der Standardklassen. Im -% Unterschied zu diesen wird jedoch ein Eintragseinzug unterstützt. Eine -% Nummernbreite gibt es hingegen nicht. Stattdessen werden die Einträge nicht -% hängend gesetzt. +% \changes{v3.20}{2015/11/20}{ToC style \texttt{largetocline} added} +% Style |largetocline| corresponds to the style, that is used for part entries +% of the standard classes. Once again and in opposite to the original code of +% the standard classes, this style supports an entry indent. But an additional +% number width is not supported. Instead the entries will be printed hanging. % \begin{macro}{\scr@dte@def@l@tocline} -% \changes{v3.20}{2015/11/22}{neuer Verzeichniseintragsstil -% \texttt{tocline}}%^^A -% Das hingegen wird der hochflexible Stil für Verzeichniseinträge, die aus -% einer oder mehreren Zeilen bestehen. Dieser wird später über diverse -% Hilfsmakros definiert. +% \changes{v3.20}{2015/11/22}{ToC style \texttt{tocline} added} +% |tocline| is a very flexible style. It is intended to be used for entries with +% one or more line. It is used for all the ToC entries of the \KOMAScript{} +% classes. The classes also clone this style several times. % \begin{macro}{\scr@dte@def@l@toctext} -% \changes{3.27}{2019/07/08}{neuer Verzeichniseintragsstil -% \texttt{toctext}}%^^A -% Während alle bisherigen Stile Zeilen oder eigentlich Absätze im Verzeichnis -% erstellen, soll dieser Stil lediglich Text innerhalb eines Absatzes -% erzeugen. Die einzelnen Einträge werden also hintereinander -% ausgegeben. Dabei können auch Zeilenumbrüche innerhalb eines Eintrags -% vorkommen. Dieser Stil teilt einige, wenige Optionen mit dem Stil -% \texttt{tocline}. Die Stile haben aber auch eigene Optionen. +% \changes{3.27}{2019/07/08}{ToC style \texttt{toctext} added} +% So far all mentioned styles are intended to generate one paragraph per +% entry. Style |toctext| generated only one paragraph for all consecutive +% entries. So it prints \emph{text inside} a paragraph. % \begin{macrocode} %<*dottedtocline|undottedtocline|largetocline|tocline|toctext> %<*dottedtocline> @@ -1529,10 +1402,8 @@ \DeclareTOCEntryStyle{tocline}[{% %</tocline> % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.31}{2020/06/09}{style \texttt{toctext} has also option -% \texttt{beforeskip}}%^^A -% \selectlanguage{ngerman}%^^A +% \changes{v3.31}{2020/06/09}{style \texttt{toctext} also provides option +% \opt{beforeskip}} % \begin{macrocode} %<*tocline|toctext> \DefineTOCEntryLengthOption{beforeskip}% @@ -1544,7 +1415,7 @@ \DefineTOCEntryIfOption{dynnumwidth}% {scr@tso@}{@dynnumwidth}{dynamic number width flag}% % \end{macrocode} -% \changes{v3.31}{2020/06/08}{option for indent follows list}%^^A +% \changes{v3.31}{2020/06/08}{option for indent follows list} % \begin{macrocode} \DefineTOCEntryListOption{indentfollows}% {scr@tso@}{@indentfollows}{list of levels that define the indent}% @@ -1598,10 +1469,10 @@ {scr@tso@}{@pagenumberformat}[1]{page number format}% %</tocline|toctext> % \end{macrocode} -% \changes{v3.27}{2019/05/24}{neue Option \texttt{pagenumberwidth}}%^^A -% \changes{v3.27}{2019/05/24}{neue Option \texttt{rightindent}}%^^A -% Die Optionen \texttt{pagenumberwidth} und \texttt{rightindent} ersetzen -% innerhalb des Stils \texttt{tocline} die Makros \cs{@pnumwidth} und +% \changes{v3.27}{2019/05/24}{new option \opt{pagenumberwidth}} +% \changes{v3.27}{2019/05/24}{new option \opt{rightindent}} +% Die Optionen \opt{pagenumberwidth} und \opt{rightindent} ersetzen +% innerhalb des Stils |tocline| die Makros \cs{@pnumwidth} und % \cs{@tocrmarg}. % \begin{macrocode} %<*tocline> @@ -1613,10 +1484,10 @@ {scr@tso@}{@rightindent}{entry's text right indent}% %</tocline|toctext> % \end{macrocode} -% \changes{v3.21}{2016/06/06}{neue Option \texttt{raggedentrytext}}%^^A -% Die Option \texttt{raggedentrytext} muss leider etwas umständlich definiert -% werden, damit sie mit der früheren Definition eines Makros -% \cs{raggedchapterentry} halbwegs kompatibel ist. +% \changes{v3.21}{2016/06/06}{new option \opt{raggedentrytext}} +% Unfortunately definition of option \opt{raggedentrytext} is somehow +% cumbersome, to be more or less compatible with former definition of +% \cs{raggedchapterentry}. % \begin{macrocode} %<*tocline> \DefineTOCEntryOption{raggedentrytext}[true]{% @@ -1645,11 +1516,11 @@ {scr@tso@}{@numwidth}{entry number width}% %</dottedtocline|undottedtocline|tocline> % \end{macrocode} -% Die Ebene, \texttt{level} bzw. \cs{\dots tocdepth}, kann auf zweierlei Arten -% automatisch bestimmt werden. Zum einen wird für Sub-Ebenen die Elternebene -% um eins erhöht verwendet, falls die Elternebene bereits definiert ist. -% \changes{v3.21}{2016/06/09}{\cs{the} eingefügt}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% Automatic setting of the numerical level of option \opt{level} resp. command +% \cs{\meta{entry name}tocdepth} can be done either by increasing the parent +% level number of a sub level, if the parent level has already be defined: +% \changes{v3.21}{2016/06/09}{\cs{the} inserted} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{macrocode} %<*tocline|toctext> \scr@ifundefinedorrelax{#1tocdepth}{% @@ -1663,9 +1534,8 @@ }{}% %</tocline|toctext> % \end{macrocode} -% War der Weg über Elternebenen nicht erfolgreich oder wurde er nicht -% verwendet, so werden Standardwerte angenommen, wie sie bei den -% Standardklassen und bei \KOMAScript{} zutreffen. +% or, if this cannot be used, by using a standard value analogues to the +% values of the standard classes and the \KOMAScript{} classes. % \begin{macrocode} \@ifundefined{#1tocdepth}{% \Ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{% @@ -1678,8 +1548,8 @@ \Ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{% \Ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{% % \end{macrocode} -% Für unbekannte Anweisungen wird stattdessen eine eventuell vorhandene -% Gliederungsebene auch als Verzeichnisebene übernommen: +% As last chance, we can use the same number already used for a headings level +% with the same name. % \begin{macrocode} \expandafter\let\csname #1tocdepth\expandafter\endcsname \csname #1numdepth\endcsname @@ -1694,7 +1564,7 @@ }% }{}% % \end{macrocode} -% Der Einzug kann wie der Level aus der Elternebene gebildet werden +% The indent can also be defined automatically by a parent level. % \begin{macrocode} %<*tocline|toctext> \scr@ifundefinedorrelax{scr@tso@#1@indent}{% @@ -1724,16 +1594,16 @@ }{}% }{% % \end{macrocode} -% Kompatibilität mit älteren \KOMAScript-Klassen. +% Former \KOMAScript{} versions use another macro name, that is also defined +% for compatibility. % \begin{macrocode} \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}% }% }{}% %</tocline|toctext> % \end{macrocode} -% Die Breite der Seitenzahlbox und der rechte Einzug können ebenfalls aus den -% Elternelementen gebildet werden, allerdings muss hier nur der Wert -% übernommen werden. +% The width of the page number box and the right margin can simply be copied +% from a parent level. % \begin{macrocode} %<*tocline> \scr@ifundefinedorrelax{scr@tso@#1@pagenumberwidth}{% @@ -1766,9 +1636,9 @@ }{}% %</tocline|toctext> % \end{macrocode} -% War das nicht erfolgreich oder wird es nicht genutzt, so werden -% Standardwerte verwendet, die sowohl für die Standardklasse als auch die -% \KOMAScript-Klassen zutreffend sind. +% If all the automatic setting methods were not successful, we try standard +% values used from the standard classes or older versions of the \KOMAScript{} +% classes. % \begin{macrocode} \@ifundefined{scr@tso@#1@indent}{% %<*dottedtocline|undottedtocline|largetocline> @@ -1779,8 +1649,9 @@ \Ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{% \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{% % \end{macrocode} -% Ab hier hängt es nun davon ab, ob es eine Kapitel-Ebene gibt oder -% nicht. Dazu sollte die Kapitelebene bereits definiert sein! +% The follow code needs information about the existence of the chapter +% level. So the chapter level should already be defined, before the first +% usage! % \begin{macrocode} \scr@ifundefinedorrelax{l@chapter}{% \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{% @@ -1795,7 +1666,7 @@ \@namedef{scr@tso@#1@indent}{10em}% }{% % \end{macrocode} -% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden! +% If nothing helps, the user has to define the values. % \begin{macrocode} }% }% @@ -1815,7 +1686,7 @@ \@namedef{scr@tso@#1@indent}{12em}% }{% % \end{macrocode} -% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden! +% Once more: if nothing helps, the user has to define the values. % \begin{macrocode} }% }% @@ -1830,14 +1701,14 @@ %<*dottedtocline|undottedtocline|largetocline> }{% % \end{macrocode} -% Kompatibilität mit älteren \KOMAScript-Klassen. +% Once again, for compatibility with former versions of \KOMAScript: % \begin{macrocode} \@namedef{scr@tso@#1@indent}{\@nameuse{scr@#1@tocindent}}% }% %</dottedtocline|undottedtocline|largetocline> }{}% % \end{macrocode} -% Für die Nummernbreite gibt es ebenfalls beide Wege. +% Almost the same for the number width: % \begin{macrocode} %<*dottedtocline|undottedtocline|tocline> %<*tocline> @@ -1865,8 +1736,7 @@ \Ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{% \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{% % \end{macrocode} -% Ab hier hängt es nun davon ab, ob es eine Kapitel-Ebene gibt oder -% nicht. Dazu sollte die Kapitelebene bereits definiert sein! +% Depending on existence of the chapter level: % \begin{macrocode} \scr@ifundefinedorrelax{chapter}{% \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{% @@ -1881,7 +1751,7 @@ \@namedef{scr@tso@#1@numwidth}{5m}% }{% % \end{macrocode} -% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden! +% Need option to be set. % \begin{macrocode} }% }% @@ -1901,7 +1771,7 @@ \@namedef{scr@tso@#1@numwidth}{6em}% }{% % \end{macrocode} -% Für unbekannte Ebenen muss der Wert selbst per Option gesetzt werden! +% Need option to be set. % \begin{macrocode} }% }% @@ -1915,7 +1785,7 @@ %<*dottedtocline|undottedtocline> }{% % \end{macrocode} -% Kompatibilität mit älteren \KOMAScript-Klassen. +% Compatibility with old \KOMAScript{} versions. % \begin{macrocode} \@namedef{scr@tso@#1@numwidth}{\@nameuse{scr@#1@tocnumwidth}}% }% @@ -1924,9 +1794,8 @@ %</dottedtocline|undottedtocline|tocline> %<*tocline> % \end{macrocode} -% Die Standardeinstellungen für die drei Penalty-Hooks sind einfach die -% Standardanweisungen dafür. Dabei ist das so definiert, dass Änderungen an -% den Standardanweisungen direkte Auswirkungen haben. +% The three penalty hooks. Here simply the default commands are used by +% default. % \begin{macrocode} \expandafter\providecommand% \csname scr@tso@#1@LastTOCLevelWasLower\endcsname{\LastTOCLevelWasLower}% @@ -1935,11 +1804,10 @@ \expandafter\providecommand% \csname scr@tso@#1@LastTOCLevelWasHigher\endcsname{\LastTOCLevelWasHigher}% % \end{macrocode} -% Die Voreinstellung für den vertikalen Abstand ist Null mit ein klein wenig -% Leim, um den Seitenumbruch zu optimieren. Das genügt bei einer normalen -% A4-Seite aber gerade mal für den Ausgleich einer Zeile. Bei den höheren -% Ebenen werden stattdessen die Voreinstellungen der Standardklassen -% verwendet. +% The default of the vertical distance of entries is 0 plus some glue. But +% this is enough only for at least one line, if needed for vertical +% justification. For the higher levels (part and chapter resp. section) the +% defaults of the standard classes are used. These have some more glue. % \begin{macrocode} \@ifundefined{scr@tso@#1@beforeskip}{% \Ifstr{#1}{part}{% @@ -1960,12 +1828,8 @@ }{}% %</tocline> % \end{macrocode} -% \selectlanguage{english}%^^A -% \changes{v3.31}{2020/06/09}{\texttt{beforeskip} default also for style -% \texttt{toctext}}%^^A -% For style \texttt{toctext} a default without glue is used to stay -% compatible. -% \selectlanguage{ngerman}%^^A +% \changes{v3.31}{2020/06/09}{\opt{beforeskip} default also for style \texttt{toctext}} +% For style |toctext| a default without glue is used to stay compatible. % \begin{macrocode} %<*toctext> \expandafter\providecommand\expandafter*% @@ -1973,8 +1837,8 @@ %</toctext> %<*tocline> % \end{macrocode} -% Es ist gut zu wissen, wie breit die breiteste Nummer ist, damit wir -% ggf. prüfen können, ob entsprechende Bedingungen eingehalten werden. +% It would be good to know the width of the widest number. We will use this to +% test several conditions. % \begin{macrocode} \@ifundefined{scr@dte@#1@maxnumwidth}{% \expandafter\newlength\csname scr@dte@#1@maxnumwidth\endcsname @@ -1984,17 +1848,15 @@ \g@addto@macro{\scr@dte@donumwidth}{\do{#1}}% %</tocline> % \end{macrocode} -% Eine dieser Bedingungen ist, dass ein Mindestabstand zwischen Nummer und -% Text eingehalten wird. +% One condition is a minimum distance between number and text. % \begin{macrocode} %<*tocline|toctext> \expandafter\providecommand\expandafter*% \csname scr@tso@#1@numsep\endcsname{.4em}% %</tocline|toctext> % \end{macrocode} -% Beim Absatzstil gibt es die Möglichkeit, am Anfang des Absatzes, zwischen -% den Einträgen und am Ende der Einträge und nach dem letzten Eintrag einen -% speziellen Text ausgeben zu lassen. +% The |toctext| style support the output of some text before the first entry +% of a paragraph, between the entries and after the last entry of a paragraph. % \begin{macrocode} %<*toctext> \expandafter\providecommand% @@ -2009,10 +1871,8 @@ \csname scr@tso@#1@afterpar\endcsname{}% %</toctext> % \end{macrocode} -% Jede Ebene kann ihre eigene Formatierungsanweisung für die Nummer haben. -% Jede Ebene kann auch ihre eigene Formatierungsanweisung für Nummer und Text -% haben. Für \texttt{part} wird hier die Voreinstellung der Standardklassen -% verwendet. +% Formatting for only the number and formatting for number and text are +% provided. For part we use the formatting of the standard classes as default. % \begin{macrocode} %<*tocline|toctext> \expandafter\providecommand% @@ -2041,18 +1901,16 @@ %</tocline> %</tocline|toctext> % \end{macrocode} -% Nach der Nummer kann wahlweise ein Zeilenumbruch erfolgen, wobei in diesem -% Fall der Text wieder auf Höhe der Nummer und nicht erst danach -% erfolgt. Gesteuert wird das über einen Schalter. In der Voreinstellung -% machen wird das nicht. +% After the number a line break is optional. In this case the text starts +% again at the horizontal position of the number and not behind it. The +% default is, not to break after the number. % \begin{macrocode} %<*tocline> \expandafter\providecommand \csname Ifscr@tso@#1@breakafternumber\endcsname[2]{##2}% % \end{macrocode} -% Die Verbindung zwischen Ende des Eintrags und den Seitenzahlen erfolgt -% normalerweise mit Pünktchen. Das wird auch genau die Voreinstellung für die -% Option werden. In der Voreinstellung wird mit \cs{hfill} gefüllt. +% The default of the connection between the end of the text and the page +% number column is a simple \cs{hfill}. Here you can optionally use dots as usual. % \begin{macrocode} \@ifundefined{scr@tso@#1@linefill}{% \Ifstr{#1}{part}{% @@ -2072,24 +1930,24 @@ }% }{}% % \end{macrocode} -% Keine Verbindung bedeutet nicht automatisch, dass die Seitenzahlen nach vorn -% rutschen. Das passiert erst, wenn die sie flatternd gesetzt werden: +% If you don't want a connection, this does not automatically mean, that the +% page number moves forwards to the end of the text. This only happens, if the +% entry is set ragged. % \begin{macrocode} \expandafter\providecommand\csname Ifscr@tso@#1@raggedpage\endcsname[2]{##2}% % \end{macrocode} -% Auch die Seitenzahl kann speziell formatiert werden, wenn das gewünscht ist. +% Optionally you can use a formatting for the page number. % \begin{macrocode} \Ifstr{#1}{part}{% % \end{macrocode} -% Für \texttt{part} normalerweise groß und fett: +% With parts this is usually large and bold. % \begin{macrocode} \expandafter\providecommand% \csname scr@tso@#1@pagenumberformat\endcsname[1]{\large\bfseries ##1}% }{% % \end{macrocode} -% \changes{v3.25}{2017/11/23}{Seitenzahlen für \texttt{chapter}-Einräge in der -% Voreinstellung fett}%^^A -% Für \texttt{chapter} nur fett: +% \changes{v3.25}{2017/11/23}{default of page numbers of chapter entries is bold} +% With chapters it is bold. % \begin{macrocode} \Ifstr{#1}{chapter}{% \expandafter\providecommand% @@ -2098,16 +1956,16 @@ \scr@ifundefinedorrelax{l@chapter}{% \Ifstr{#1}{section}{% % \end{macrocode} -% \changes{v3.25}{2017/11/23}{Seitenzahlen für \texttt{section}-Einräge in der -% Voreinstellung unter Umständen fett}%^^A -% Für \texttt{section} ggf. auch fett: +% \changes{v3.25}{2017/11/23}{default of page numbers of section entries maybe +% bold} +% With sections sometimes bold. % \begin{macrocode} \expandafter\providecommand% \csname scr@tso@#1@pagenumberformat\endcsname[1]{\bfseries ##1}% }{}% }{}% % \end{macrocode} -% Sonst in normaler Schrift und Farbe: +% All others in normal font and normal color. % \begin{macrocode} \expandafter\providecommand% \csname scr@tso@#1@pagenumberformat\endcsname[1]{% @@ -2115,18 +1973,16 @@ }% }% % \end{macrocode} -% Wobei die Seitenzahl normaleweise in eine Box fester Breite gesetzt wird. -% \changes{v3.27}{2019/10/02}{Breite der Seitenzahlbox verallgemeinert}%^^A +% Sometimes the page number has a box with defined width. +% \changes{v3.27}{2019/10/02}{consequent use of width of page number box} % \begin{macrocode} \expandafter\providecommand% \csname scr@tso@#1@pagenumberbox\endcsname[1]{% \hb@xt@\@nameuse{scr@dte@pagenumberwidth}{\hfil ##1}}% \expandafter\providecommand\csname Ifscr@tso@#1@dynnumwidth\endcsname[2]{##2}% % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/08}{init indent follows list}%^^A +% \changes{v3.31}{2020/06/08}{init indent follows list} % This command defines a list of levels that specify the indent (if not empty). -% \selectlanguage{ngerman}%^^A % \begin{macrocode} \expandafter\providecommand\csname Ifscr@tso@#1@dynindent\endcsname[2]{##2}% \scr@ifundefinedorrelax{scr@tso@#1@indentfollows}{% @@ -2140,12 +1996,11 @@ }{}% %</tocline> % \end{macrocode} -% \changes{v3.27}{2019/07/08}{Initialisierung von \texttt{raggedentry}}%^^A -% \changes{v3.27}{2019/07/08}{Initialisierung von \texttt{prepagenumber}}%^^A -% Im Stil \texttt{toctext} muss außerdem initialisiert werden, ob der Eintrag -% im Flattersatz oder im Blocksatz gesetzt werden soll und was unmittelbar vor -% der Seitenzahl auszugeben ist (\texttt{linefill} wäre dafür eine unpassende -% Bezeichnung). +% \changes{v3.27}{2019/07/08}{initialization of \opt{raggedentry}} +% \changes{v3.27}{2019/07/08}{initialization of \opt{prepagenumber}} +% With style |toctext| we have to initialize ragged or justified text and what +% to print immediately before the page number (\opt{linefill} wouldn't have +% been a suitable term). % \begin{macrocode} %<*toctext> \expandafter\providecommand% @@ -2155,12 +2010,10 @@ %</toctext> }]{% % \end{macrocode} -% \changes{v3.27}{2019/05/12}{Berücksichtigung von Verzeichniseigenschaft -% \texttt{noindent}}%^^A +% \changes{v3.27}{2019/05/12}{support for \opt{noindent}} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A -% Damit ist die Initialisierung abgeschlossen und wir kommen zur -% Eintragsanweisung selbst: +% \cs{Iftocfeature}} +% Initialization complete. Next we have the output code or macro. % \begin{macrocode} %<*dottedtocline> \Iftocfeature{\@currext}{noindent}{% @@ -2174,9 +2027,9 @@ %<*undottedtocline|largetocline> \ifnum \c@tocdepth >\numexpr \@nameuse{#1tocdepth}-\@ne\relax % \end{macrocode} -% An dieser Stelle gibt es einen kleinen Unterschied zwischen der -% \texttt{chapter}-Ebene und der \texttt{section}-Ebene von -% \textsf{article}. Diesen machen wir hier an der nummerischen Ebene fest. +% Here we have a little difference between chapters and the sections of +% \cls*{article}. We do this by the level. So if you change the levels, the +% result would change too. % \begin{macrocode} \ifnum \@nameuse{#1tocdepth}<\@ne \scr@ifundefinedorrelax{chapter}{% @@ -2197,35 +2050,30 @@ %<largetocline> \setlength\@tempdima{3em}% \begingroup % \end{macrocode} -% Es sei darauf hingewiesen, dass hier eigentlich zweimal \cs{@tocrmarg} -% statt \cs{@pnumwidth} verwendet werden müsste. Allerdings habe ich -% beschlossen, diesen schon vor Jahren gemeldeten Fehler aus -% Kompatibilitätsgründen vorerst von den Standardklassen zu übernehmen. +% Note: Here we should use two \cs{@tocrmarg} correctly. I've reported this +% bug in the standard classes years ago without any change. So for +% compatibility I've decided to accept it as feature and two times +% \cs{@pnumwith} like the standard classes. % \begin{macrocode} \parindent \z@ \rightskip \@pnumwidth \parfillskip -\@pnumwidth % \end{macrocode} -% Die Standardklassen fügen an dieser Stelle noch eine Gruppe ein, die dann -% leider vor dem abschließenden \cs{par} bereits beendet wird. Das führt -% natürlich zu falschen Zeilenabständen bei mehrzeiligen Einträgen. Ich habe -% lange überlegt, aber schließlich beschlossen, diesen Fehler nicht aus den -% Standardklassen zu übernehmen. Das war mir dann doch zu krass! Schlimmer -% noch, würde man den Fehler übernehmen, müsste man das Setzen von -% \cs{leftskip} abändern, weil natürlich auch das erst am Absatzende -% wirklich zur Geltung kommt. +% The standard classes use a group at this point. This group ends before the +% final \cs{par}. This can result in wrong baseline skip for multi line +% entries. It was a hard decision, but I've decided to avoid this bug, because +% it was much too strange. Moreover, with the bug, the setting of +% \len{leftskip} would have to be changed, because here also the value at the +% end of the paragraph is used. % \begin{macrocode} \leavevmode %<largetocline> \large \bfseries % \end{macrocode} -% Es sei darauf hingewiesen, dass hier eigentlich auch bei -% \texttt{largetocline} \cs{@tempdima} mit berücksichtigt werden -% müsste. Das geht nur deshalb nicht, weil bei den Standardklassen \cs{part} -% kein \cs{numberline} verwendet. Deshalb werden mehrzeilige Einträge auch -% nicht korrekt eingerückt. Auch das habe ich aus Kompatibilitätsgründen -% beibehalten. -% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A +% Note, here we also should use \cs{@tempdima} with style |largetocline|. But +% we cannot do so, only because the standard classes do not use +% \cs{numberline} for parts. Because of this, multi line entries are not +% correctly indented. To do this same is also because of compatibility. +% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by \cs{Iftocfeature}} % \begin{macrocode} %<undottedtocline> \advance\leftskip\@tempdima \Iftocfeature{\@currext}{noindent}{% @@ -2239,11 +2087,10 @@ ##1% %<undottedtocline> \nobreak % \end{macrocode} -% Hier schließlich ist \cs{@pnumwidth} aufgrund des vorherigen -% \cs{large} nicht mehr derselbe absolute Wert wie bei Einträgen ohne -% \cs{large}. Deshalb müsste eigentlich noch vor dem \cs{large} der Wert -% beispielsweise in eine Länge wie \cs{@tempdimb} übertragen und dann hier -% verwendet werden. Auch das habe ich aus Kompatibilitätsgründen übernommen. +% Here \cs{@pnumwidth} is not the same absolute value for entries with +% \cs{large} as for entries without \cs{large}. So correctly, e.g., the value +% should be transferred via \len{@temdimb}. But because of compatibility this +% bug hat also been interpreted as feature. % \begin{macrocode} \hfil \nobreak\hb@xt@\@pnumwidth{\hss ##2}% \par @@ -2268,14 +2115,13 @@ } %</dottedtocline|undottedtocline|largetocline|tocline|toctext> % \end{macrocode} -% \end{macro}%^^A \scr@dte@def@l@toctext -% \end{macro}%^^A \scr@dte@def@l@tocline -% \end{macro}%^^A \scr@dte@def@l@largetocline -% \end{macro}%^^A \scr@dte@def@l@undottedtocline -% \end{macro}%^^A \scr@dte@def@l@dottedtocline +% \end{macro}^^A \scr@dte@def@l@toctext +% \end{macro}^^A \scr@dte@def@l@tocline +% \end{macro}^^A \scr@dte@def@l@largetocline +% \end{macro}^^A \scr@dte@def@l@undottedtocline +% \end{macro}^^A \scr@dte@def@l@dottedtocline % -% Für den Stil \texttt{tocline} werden diverse weitere Einstellungen und -% Befehle benötigt: +% Style |tocline| needs several additional settings and macros: % \begin{macrocode} %<*tocline> \AtBeginDocument{% @@ -2300,39 +2146,34 @@ }% } % \end{macrocode} -% \begin{macro}{\scr@dte@nosub} -% \changes{v3.20}{2015/11/23}{neu (intern)} -% \begin{macro}{\@scr@dte@nosub} -% \changes{v3.20}{2015/11/23}{neu (intern)} -% Über diese Hilfsmacros werden die Buchstaben \texttt{sub} am Anfang des -% Arguments entfernt. Stehen diese gar nicht am Anfang, so wird ein Fehler -% wegen falscher Verwendung von \cs{@scr@de@nosub} gemeldet. +% \begin{macro}{\scr@dte@nosub,\@scr@dte@nosub} +% \changes{v3.20}{2015/11/23}{added} +% These helper macros are used to recognize the |sub| prefix at the start of +% an argument and remove it. If there isn't a |sub| at the very beginning, we +% report an error, because of wrong usage of \cs{@scr@de@nusub}. % \begin{macrocode} \newcommand*{\scr@dte@nosub}[1]{\@scr@dte@nosub #1\relax} \newcommand*{\@scr@dte@nosub}{} \def\@scr@dte@nosub sub#1\relax{#1} % \end{macrocode} -% \end{macro}%^^A \@scr@dte@nosub -% \end{macro}%^^A \scr@dte@nosub +% \end{macro}^^A \scr@dte@nosub,\@scr@dte@nosub % \begin{macro}{\scr@dte@tocline} -% \changes{v3.20}{2015/11/22}{neu (intern)}%^^A -% \changes{v3.27}{2019/05/12}{Berücksichtigun von Verzeichniseigenschaft -% \texttt{noindent}}%^^A -% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A -% In gewisser Weise entspricht diese Anweisung der \LaTeX-Kern-Anweisung -% \cs{dottedtocline}. Allerdings werden hier vielfältige -% Eingriffsmöglichkeiten untersützt, die jeweils durch Optionen gesteuert -% werden können. Daher hat der Befehl auch nur drei Argumente: +% \changes{v3.20}{2015/11/22}{added} +% \changes{v3.27}{2019/05/12}{support for \opt{noindent}} +% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by \cs{Iftocfeature}} +% This is somehow like the \LaTeX{} kernel macro \cs{@dottedtocline}. But it +% supports a lot of more attributes, not only the level, the numberwidth, the +% indent and the text. The attributes are handled by options. So we need only +% three arguments: % \begin{description} -% \item[\marg{Ebene}:] Der Name \meta{string} der Verzeichnisebene. -% \item[\marg{Eintrag}:] Der Verzeichniseintrag \meta{string}. -% \item[\marg{Seite}:] Die Seitenzahl \meta{string} des Verzeichniseintrags. +% \item[\marg{level name}:] the name of the ToC entry level; +% \item[\marg{entry}:] the ToC entry; +% \item[\marg{page number}:] the page number of the ToC entry. % \end{description} -% \begin{Length}{\scr@dte@tocline@numberwidth} -% \changes{v3.20}{2016/01/15}{neu (intern)} -% Für alle, die es interessiert, gibt diese Länge die tatsächliche Breite der -% formatierten Nummer an. +% \begin{length}{\scr@dte@tocline@numberwidth} +% \changes{v3.20}{2016/01/15}{added} +% Sometimes the real width of a formatted number is of interest. So we store +% it in \len{scr@dte@tocline@numberwidth}. % \begin{macrocode} \newlength\scr@dte@tocline@numberwidth \newcommand*{\scr@dte@tocline}[3]{% @@ -2341,12 +2182,10 @@ \tocbasic@DependOnPenaltyAndTOCLevel{#1}% \addvspace{\@nameuse{scr@tso@#1@beforeskip}}\relax % \end{macrocode} -% \selectlanguage{english}% -% \changes{v3.31}{2020/06/08}{code for indent following list processing}%^^A +% \changes{v3.31}{2020/06/08}{code for indent following list processing} % If a indent following list exists and the depth of an entry is lower than % the depth of the current entry, use the maximum of the ident + number width % for the indent of this entry. -% \selectlanguage{ngerman}%^^A % \begin{macrocode} \@nameuse{Ifscr@tso@#1@dynindent}{% \expandafter\ifx\csname scr@tso@#1@indentfollows\endcsname\@empty @@ -2402,8 +2241,7 @@ \@afterindenttrue \interlinepenalty\@M % \end{macrocode} -% \changes{v3.21}{2016/06/06}{\cs{ragged\dots entry} wird (wieder) -% ausgewertet}%^^A +% \changes{v3.21}{2016/06/06}{\cs{ragged\dots entry} is supported (again)} % \begin{macrocode} \expandafter\ifx\csname ragged#1entry\endcsname\raggedright \addtolength\rightskip\@flushglue @@ -2431,26 +2269,23 @@ \null\nobreak\hskip -\leftskip {% % \end{macrocode} -% An dieser Stelle wenden wir einen Trick an, um die Breite einer eventuell -% vorhandenen Nummer während deren Ausgabe auszumessen. Dazu ist es eine -% schlichte Notwendigkeit, dass \cs{numberline} die interne Definition -% verwendet. +% Here we use a trick to detect the width of an eventually existing number +% while printing it. For this it is a must to use the internal definition of +% \cs{numberline}. % \begin{macrocode} \usetocbasicnumberline \let\scr@dte@numberline@box\numberline@box \def\numberline@box##1{% \sbox\scr@dte@tocline@numbox{\@nameuse{scr@tso@#1@numberformat}{##1}}% % \end{macrocode} -% Die Zuweisung an die aktuelle Länge der Nummer muss global erfolgen, weil -% wir hier in einer Gruppe sind. -% \changes{v3.22}{2016/12/02}{fehlendes zweites \cs{relax} ergänzt}%^^A +% We are inside a group, so we have to set the length globally. % \begin{macrocode} \global\scr@dte@tocline@numberwidth \dimexpr\wd\scr@dte@tocline@numbox+\@nameuse{scr@tso@#1@numsep}\relax % \end{macrocode} -% \changes{v3.22}{2016/12/02}{fehlendes zweites \cs{relax} ergänzt}%^^A -% Achtung: Hier braucht es ein zweites \cs{relax}, weil das erste von -% \cs{dimexpr} aufgezehrt wird. +% \changes{v3.22}{2016/12/02}{missing second \cs{relax} added} +% Attention: We need two \cs{relax}, because the first one is eaten by +% \cs{dimexpr}. % \begin{macrocode} \relax \ifdim \scr@dte@tocline@numberwidth @@ -2461,9 +2296,7 @@ \ifdim \scr@dte@tocline@numberwidth >\dimexpr \@nameuse{scr@tso@#1@numwidth}% +\@nameuse{scr@tso@#1@numsep}\relax\relax -%<class> \ClassWarning{\KOMAClassName -%<package> \PackageWarning{tocbasic% - }{% + \PackageWarning{tocbasic}{% number width of #1 toc entries should be increased!\MessageBreak Currently used number width = @@ -2488,12 +2321,11 @@ \normalfont\normalsize\@nameuse{scr@tso@#1@linefill}% \nobreak % \end{macrocode} -% \changes{v3.27}{2019/10/02}{\cs{scr@dte@pagenumberwidth} wird definiert}% -% Damit hier keine Abhängigkeit eine Eintragsvariablen von einer -% Eintragsvariablen existiert wird lokal \cs{scr@dte@pagenumberwidth} zu -% \cs{scr@tso@\meta{Eintragsname}@pagenumberwidth}, so dass in der Definition -% von \cs{scr@tso@\meta{Eintragsname}@pagenumberbox} dieses lokale Makro -% verwendet werden kann. +% \changes{v3.27}{2019/10/02}{\cs{scr@dte@pagenumberwidth} is defined} +% We don't want a dependency of entry variable from entry variables. So +% locally \cs{scr@dte@pagenumberwidth} will become +% \cs{scr@tso@\meta{Eintragsname}@pagenumberwidth} and in the definition of +% \cs{scr@tso@\meta{Eintragsname}@pagenumberbox} we use this local macro. % \begin{macrocode} \expandafter\let\expandafter\scr@dte@pagenumberwidth \csname scr@tso@#1@pagenumberwidth\endcsname @@ -2509,40 +2341,30 @@ \fi } % \end{macrocode} -% \end{Length}%^^A \scr@dte@tocline@numberwidth +% \end{length}^^A \scr@dte@tocline@numberwidth % \begin{macro}{\scr@dte@tocline@numbox} -% \changes{v3.20}{2015/11/25}{neue Box (intern)} -% Wird benötigt, um die Breite der Nummer auszumessen und die Nummer später -% wieder zu verwenden. +% \changes{v3.20}{2015/11/25}{new (\emph{box})} +% Needed to measure the width of the number and use the number later. % \begin{macrocode} \newsavebox\scr@dte@tocline@numbox % \end{macrocode} -% \end{macro}%^^A \scr@dte@tocline@numbox -% \begin{macro}{\tocbasic@DependOnPenaltyAndTOCLevel} -% \changes{v3.20}{2015/11/23}{neu}%^^A -% \changes{v3.20}{2016/03/12}{Anpassung an \textsf{tocbasic}-Syntax für -% Befehle für Paketautoren}%^^A -% Führt eine gespeicherte Aktion in Abhängigkeit davon aus, ob der aktuelle -% Penalty-Wert darauf schließen lässt, dass zuvor ein Eintrag mit einem -% höheren, demselben oder einem tieferen Wert für die Ebene erfolgte. -% \begin{macro}{\tocbasic@SetPenaltyByTOCLevel} -% \changes{v3.20}{2015/11/23}{neu} -% \changes{v3.20}{2016/03/12}{Anpassung an \textsf{tocbasic}-Syntax für -% Befehle für Paketautoren}%^^A -% Setze die Strafpunkte für einen Umbruch entsprechend der aktuellen -% Verzeichnisebene. -% \begin{macro}{\LastTOCLevelWasHigher} -% \changes{v3.20}{2015/11/23}{neu} -% Standardaktion, falls der vorherige Level einen größeren Wert hatte: Umbruch -% erlauben. -% \begin{macro}{\LastTOCLevelWasSame} -% \changes{v3.20}{2015/11/23}{neu} -% Standardaktion, falls der vorherige Level denselben Wert hatte: Umbruch -% erlauben. -% \begin{macro}{\LastTOCLevelWasLower} -% Standardaktion, falls der vorherige Level einen kleineren Wert hatte: -% Penalty beibehalten und damit den Umbruch verbieten. -% \changes{v3.20}{2015/11/23}{neu} +% \end{macro}^^A \scr@dte@tocline@numbox +% \begin{macro}{\tocbasic@DependOnPenaltyAndTOCLevel, +% \tocbasic@SetPenaltyByTOCLevel} +% \changes{v3.20}{2015/11/23}{added} +% \changes{v3.20}{2016/03/12}{changed for \pkg*{tocbasic} syntax of package +% author macros} +% \cs{tocbasic@DepenedOnPenaltyAndTOCLevel} executes a saved action depending +% on whether the current penalty value stands for an entry with higher, same, +% or lower entry level. +% \cs{tocbasic@SetPenaltyByTOCLevel} sets the penalty for the page break +% depending on the current entry level. +% \begin{command}{\LastTOCLevelWasHigher,\LastTOCLevelWasSame, +% \LastTOCLevelWasLower} +% \changes{v3.20}{2015/11/23}{added} +% Standard action, if the previous entry level was higher (allow page break), +% same (allow page break), or lower (keep penalty and therefore prevent page +% break). % \begin{macrocode} \newcommand*{\tocbasic@DependOnPenaltyAndTOCLevel}[1]{% \ifnum \lastpenalty<\numexpr 20009-\@nameuse{#1tocdepth}\relax @@ -2561,15 +2383,12 @@ \newcommand*{\LastTOCLevelWasSame}{\ifvmode\addpenalty{\@lowpenalty}\fi} \newcommand*{\LastTOCLevelWasLower}{} % \end{macrocode} -% \end{macro}%^^A \tocbasic@SetPenaltyByTOCLevel -% \end{macro}%^^A \tocbasic@DependOnPenaltyAndTOCLevel -% \end{macro}%^^A \LastTOCLevelWasLower -% \end{macro}%^^A \LastTOCLevelWasSame -% \end{macro}%^^A \LastTOCLevelWasHigher -% \begin{macro}{\TOCLineLeaderFill} -% \changes{v3.20}{2015/11/14}{neu} -% Füllt den Abstand zwischen Text und Seitenzahl komplett. Hat als einziges -% optionales Argument das Füllzeichen. +% \end{command}^^A \LastTOCLevelWasHigher … \LastTOCLevelWasLower +% \end{macro}^^A \tocbasic@SetPenaltyByTOCLevel,\tocbasic@DependOnPenaltyAndTOCLevel +% \begin{command}{\TOCLineLeaderFill} +% \changes{v3.20}{2015/11/14}{added} +% Filler between the last text line and the page number. The optional argument +% \texttt{\#1} is the character used for filling. % \begin{macrocode} \newcommand*{\TOCLineLeaderFill}[1][.]{% \leaders\hbox{$\m@th @@ -2578,14 +2397,13 @@ } %</tocline> % \end{macrocode} -% \end{macro}%^^A \TOCLineLeaderFill -% \end{macro}%^^A \scr@dte@tocline +% \end{command}^^A \TOCLineLeaderFill +% \end{macro}^^A \scr@dte@tocline % -% \selectlanguage{english} % \begin{macro}{\scr@dte@toctext} -% \changes{v3.27}{2019/07/08}{new (internal)}%^^A +% \changes{v3.27}{2019/07/08}{added} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A +% \cs{Iftocfeature}} % This is the command to format entries that will be accumalted into a single % paragraph. This is somehow special, because the settings of one entrie can % influence another one. The three arguments are: @@ -2609,7 +2427,7 @@ \@nameuse{scr@tso@#1@onstartentry}% \else % \end{macrocode} -% \changes{v3.31}{2020/06/09}{use of option \texttt{beforeskip}}%^^A +% \changes{v3.31}{2020/06/09}{use of option \opt{beforeskip}} % In v-mode it is a new text entry. Before leaving v-mode the vertical space % is added. % \begin{macrocode} @@ -2642,9 +2460,9 @@ \rightskip \@nameuse{scr@tso@#1@rightindent}\relax \parfillskip \z@ \@plus 1fill\relax % \end{macrocode} -% \changes{v3.31}{2020/06/09}{redefinition of \cs{addvspace}}%^^A -% \changes{v3.31}{2020/06/09}{redefinition of \cs{addpenalty}}%^^A -% Now, make sure, that the first non-\texttt{toctext} entry does do a \cs{par} +% \changes{v3.31}{2020/06/09}{redefinition of \cs{addvspace}} +% \changes{v3.31}{2020/06/09}{redefinition of \cs{addpenalty}} +% Now, make sure, that the first non-|toctext| entry does do a \cs{par} % before it uses \cs{addpenalty} or \cs{addvspace}. Before version~3.31 this % has been done by redefining \cs{@noitemerr} but this does not work, because % it ignores the argument of \cs{addpenalty} or \cs{addvspace}. So, this more @@ -2707,9 +2525,8 @@ \fi } % \end{macrocode} -% \begin{macro}{\scr@dte@toctext@raggedright} -% \begin{macro}{\scr@dte@toctext@parend} -% \begin{macro}{\scr@dte@toctext@lastend} +% \begin{macro}{\scr@dte@toctext@raggedright,\scr@dte@toctext@parend, +% \scr@dte@toctext@lastend} % Helper macros to store some information for later usage. % \begin{macrocode} \newcommand*{\scr@dte@toctext@raggedright}{} @@ -2717,17 +2534,15 @@ \newcommand*{\scr@dte@toctext@lastend}{} %</toctext> % \end{macrocode} -% \end{macro}%^^A \scr@dte@toctext@lastend -% \end{macro}%^^A \scr@dte@toctext@parend -% \end{macro}%^^A \scr@dte@toctext@raggedright -% \end{macro}%^^A \scr@dte@toctext -% \selectlanguage{ngerman} +% \end{macro}^^A \scr@dte@toctext@raggedright … \scr@dte@toctext@lastend +% \end{macro}^^A \scr@dte@toctext +% % % \begin{macro}{\scr@dte@def@l@default} -% \changes{v3.20}{2015/12/16}{neu im Paket}%^^A -% Bereits im Paket gibt es einen Standardstil. Anderen Paketen ist es nicht -% gestattet diesen umzudefinieren. Klassen ist das hingegen gestattet, damit -% sie einen Dokument weiten Standardstil festlegen können. +% \changes{v3.20}{2015/12/16}{new for the package} +% The package \pkg*{tocbasic} already has a standard style. Other packages +% should not change the standard style. But classes are allowed to clone (or +% define) another standard style for documents made with that class. % \begin{macrocode} %<*default> %%% (run: style,dottedtocline) @@ -2736,27 +2551,28 @@ % \end{macrocode} % \end{macro} % -% \iffalse +% \begin{macrocode} %</style> %</package> -% \fi +% \end{macrocode} % -% \subsubsection{Von den \KOMAScript-Klassen genutzte Stile} % -% \iffalse +% \subsubsection{The styles used by the \KOMAScript{} classes} +% +% \begin{macrocode} %<*class> %<*style> -% \fi +% \end{macrocode} % -% Einige Stile sollen nur definiert werden, wenn die Definition in die Klasse -% geschrieben wird: +% Some styles are defined by the classes only. They are only defined for the +% classes, that use them. So not all styles are available by all classes and +% even not all styles are the same with every class. % % \begin{macro}{\scr@dte@def@l@part} -% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{part}}%^^A -% Dieser Verzeichnisstil existiert bei \textsf{scrbook}, \textsf{scrreprt} und -% \textsf{scrartcl}. Das Format des Eintrags und der Seitenzahl wird dabei -% über die Elemente \texttt{partentry} und \texttt{partentrypagenumber} -% realisiert. +% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{part} added} +% This style exists with \cls*{scrbook}, \cls*{scrreprt} and +% \cls*{scrartcl}. The formatting of the entry and the page number is defined +% by the font elements \fnt{partentry} and \fnt{partentrypagenumber}. % \begin{macrocode} %<*part> %%% (run: class,style,part) @@ -2774,13 +2590,12 @@ } %</part> % \end{macrocode} -% \end{macro}%^^A \scr@dte@def@l@part +% \end{macro}^^A \scr@dte@def@l@part % % \begin{macro}{\scr@dte@def@l@chapter} -% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{chapter}}%^^A -% \changes{v3.27}{2019/10/28}{Font Element \texttt{chapterentrydots} wird -% angewendet}%^^A -% Dieser Verzeichnisstil existier bei \textsf{scrbook} und \textsf{scrreprt}. +% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{chapter} added} +% \changes{v3.27}{2019/10/28}{using font element \fnt{chapterentrydots}} +% This style exists with \cls*{scrbook} and \cls*{scrreprt} only. % \begin{macrocode} %<*chapter> %%% (run: class,style,chapter) @@ -2804,16 +2619,15 @@ } %</chapter> % \end{macrocode} -% \end{macro}%^^A \scr@dte@def@l@chapter +% \end{macro}^^A \scr@dte@def@l@chapter % % \begin{macro}{\scr@dte@def@l@section} -% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{section}}%^^A -% \changes{v3.27}{2019/10/28}{Font Element \texttt{sectionentrydots} wird -% angewendet}%^^A -% Bei den Klassen \textsf{scrbook} und \textsf{scrreprt} ist das der Stil für -% die \emph{kleinen} Verzeichnisebenen. Bei \textsf{scrartcl} ist es dagegen -% der Stil für die obere Verzeichnisebene und entspricht damit obigem Stil -% \texttt{chapter}. +% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{section} added} +% \changes{v3.27}{2019/10/28}{using font element \fnt{sectionentrydots}} +% With classes \cls*{scrbook} and \cls*{scrreprt} this is the style of the +% \emph{minor} entry level. With \cls*{scrartcl} this is the style of the top +% entry level (below the part level). So with \cls*{scrartcl} it is similar +% to the chapter style of \cls*{scrbook} or \cls*{scrreprt}. % \begin{macrocode} %<*section> %%% (run: class,style,section) @@ -2847,12 +2661,12 @@ %</article> %</section> % \end{macrocode} -% \end{macro}%^^A \scr@dte@def@l@section +% \end{macro}^^A \scr@dte@def@l@section % % \begin{macro}{\scr@dte@def@l@subsection} -% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{subsection}}%^^A -% Dieser Stil existiert nur bei \textsf{scrartcl} und entspricht dann dem Stil -% \texttt{section} bei \textsf{scrbook} und \textsf{scrreprt}. +% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{subsection} added} +% This style exists with \cls*{scrartcl} only. It is the minor level style +% similar to the section style with \cls*{scrbook} and \cls*{scrreprt}. % \begin{macrocode} %<*subsection&article> %%% (run: class,style,subsection) @@ -2863,12 +2677,12 @@ } %</subsection&article> % \end{macrocode} -% \end{macro}%^^A \scr@dte@def@l@subsection +% \end{macro}^^A \scr@dte@def@l@subsection % % \begin{macro}{\scr@dte@def@l@default} -% \changes{v3.20}{2015/12/07}{neuer Verzeichnisstil \texttt{default}}%^^A -% Dieser Stil entspricht bei \textsf{scrbook} und \textsf{scrreprt} dem Stil -% \texttt{section} und bei \textsf{scrartcl} dem Stil \textsf{subsection}. +% \changes{v3.20}{2015/12/07}{ToC entry style \texttt{default} added} +% With classes \cls*{scrbook} and \cls*{scrreprt} this is a clone of the +% section style. With \cls*{scrartcl} this is a clone of the subsection style. % \begin{macrocode} %<*default> %%% (run: class,style,default) @@ -2878,18 +2692,21 @@ % \end{macrocode} % \end{macro} % -% \iffalse +% \begin{macrocode} %</style> %</class> -% \fi +% \end{macrocode} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-tocstyle.dtx' -%%% Local Variables: -%%% mode: doctex -%%% coding: utf-8 -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: + diff --git a/macros/latex/contrib/koma-script/source/scrkernel-typearea.dtx b/macros/latex/contrib/koma-script/source/scrkernel-typearea.dtx index ec6e89babf..50691df27b 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-typearea.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-typearea.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrkernel-typearea.dtx -% Copyright (c) Markus Kohm, 2002-2020 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-typearea.dtx -% Copyright (c) Markus Kohm, 2002-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi^^A meta-comment -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse meta-comment -%%% From File: $Id: scrkernel-typearea.dtx 3488 2020-04-27 13:04:43Z kohm $ +%%% From File: $Id: scrkernel-typearea.dtx 3699 2022-02-11 15:53:36Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<options>%%% (run: options) @@ -65,9 +29,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2020-04-27 15:04:43 +0200 (Mon, 27 Apr 2020) $ + \filedate$Date: 2022-02-11 16:53:36 +0100 (Fr, 11. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3488 $ + \filerevision$Revision: 3699 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-typearea.dtx}[% @@ -86,7 +50,6 @@ (type area)] %</dtx|(package&typearea&identify)> %<*dtx> -%^^A The ins file: \ifx\documentclass\undefined \input scrdocstrip.tex \@@input scrkernel-version.dtx @@ -111,49 +74,56 @@ \let\endbatchfile\relax \fi \endbatchfile -%^^A The documentation driver (needed only for checksum calculation): -\documentclass{scrdoc} -\usepackage[main=english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-typearea.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{This is \fileversion\ of file \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-typearea.dtx} \end{document} %</dtx> % \fi^^A meta-comment -%^^A The documentation part: % -% \changes{v2.95}{2002/06/20}{first version after splitting -% \texttt{scrclass.dtx}}%^^A -% \changes{v3.24}{2017/07/23}{reorganization of code into semantic -% portions}%^^A -% \changes{v3.24}{2017/07/23}{start of English translation}%^^A +% \changes{v2.95}{2002/06/20}{first version after splitting \file{scrclass.dtx}} +% \changes{v3.24}{2017/07/23}{reorganization of code into semantic portions} +% \changes{v3.24}{2017/07/23}{start of English translation} +% \changes{v3.36}{2022/02/11}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/11}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-typearea.dtx} +% \title{Calculation of the Typeing Area with +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{typearea} +% and Additional Commands for the \href{https://komascript.de}{\KOMAScript} +% Classes} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \filename{} contains macros for the typing area. These result not only in +% the package \pkg*{typearea} but also provide features for the +% \KOMAScript{} classes. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} % -% \section{Typing Area Macros} +% You can find the user documentation of package \pkg*{typearea} and the +% commands implemented here in the \KOMAScript{} manual, either the German +% \file{scrguide} or the English \file{scrguien}. % -% This section contains macros for the typing area. These result not only in -% the package \Package{typearea} but also provide features for the -% \KOMAScript{} classes. +% \MaybeStop{\PrintIndex} % -% \StopEventually{\PrintIndex\PrintChanges} +% \section{Implementation of Package \pkg*{typearea} and Additional Class +% Features} % -%^^A The source part: % % \subsection{Loading packages} % -% Package \Package{typearea} needs package \Package{scrkbase}. But this will -% be loaded by \File{scrkernel-basics.dtx} just after the identify run of this +% Package \pkg*{typearea} needs package \pkg*{scrkbase}. But this will +% be loaded by \file{scrkernel-basics.dtx} just after the identify run of this % file. It does not need other packages. % -% The \KOMAScript{} classes need package \Package{typearea}. This will be +% The \KOMAScript{} classes need package \pkg*{typearea}. This will be % loaded here as an early body action. Nevertheless, at this state the typing % area option code for the classes has already been loaded. So before loading % the almost identical option code of the package, some macros have to be @@ -170,11 +140,11 @@ \let\x@@paper =\relax \let\scr@pti@nerr@r =\relax % \end{macrocode} -% Now we can load \Package{typearea}: +% Now we can load \pkg*{typearea}: % \changes{v2.95}{2002/06/22}{Use \cs{KOMAScriptVersion} while loading -% \Package{typearea}}%^^A +% \pkg*{typearea}} % We use \cs{KOMAScriptVersion} to verify the identical versions of -% \KOMAScript{} and the package. See \File{scrkernel-version.dtx} for more +% \KOMAScript{} and the package. See \file{scrkernel-version.dtx} for more % information about this verification. % \begin{macrocode} \RequirePackage{typearea}[\KOMAScriptVersion] @@ -184,19 +154,19 @@ % \subsection{Selection of paper size} % % Before we can define page margins and a typing area, we have to define the -% paper size. Beside \Package{typearea} also \Package{scrletter} uses some of +% paper size. Beside \pkg*{typearea} also \pkg*{scrletter} uses some of % this code, because it needs the paper size, too. % -% \begin{macro}{\PaperNameToSize} -% \changes{v3.23}{2017/02/22}{new}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\PaperNameToSize} +% \changes{v3.23}{2017/02/22}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}} % This command sets \cs{paperheight} and \cs{paperwidth} depending on % the name of a paper size. It currently supports the ISO formats of the % series A, B, C and D and the American formats letter, legal and -% executive. The command is defined using \Macro{providecommand} so a class -% can define it different before loading \Package{typearea}. The first +% executive. The command is defined using \cs{providecommand} so a class +% can define it different before loading \pkg*{typearea}. The first % optional argument is the error class. Error classes will be defined using -% \Macro{ProvideUnknownPaperSizeError} later. The second argument is the name +% \cs{ProvideUnknownPaperSizeError} later. The second argument is the name % of the paper size. % \begin{macrocode} %<*package&options> @@ -225,8 +195,8 @@ } % \end{macrocode} % \begin{macro}{\ISO@PaperNameToSize} -% \changes{v3.23}{2017/02/22}{new (internal)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A +% \changes{v3.23}{2017/02/22}{new (internal)} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}} % For ISO paper sizes a sub-macro is used. It has to split the series and the % root. % \begin{macrocode} @@ -278,8 +248,8 @@ \else % \end{macrocode} % The paper size is not a supported ISO format. If -% \Macro{scr@UnknownPaperSize@}\meta{errorclass} is defined, use it to show -% the error. If not, use \Macro{scr@UnknownPaperSize@error}. This means, +% \cs{scr@UnknownPaperSize@}\meta{errorclass} is defined, use it to show +% the error. If not, use \cs{scr@UnknownPaperSize@error}. This means, % \meta{errorclass} \texttt{error} has to be defined. % \begin{macrocode} \scr@ifundefinedorrelax{scr@UnknownPaperSize@#1}{% @@ -291,11 +261,11 @@ }% }{} % \end{macrocode} -% \begin{macro}{\ProvideUnknownPaperSizeError} -% \changes{v3.23}{2017/02/22}{new}%^^A +% \begin{command}{\ProvideUnknownPaperSizeError} +% \changes{v3.23}{2017/02/22}{added} % Define a new error class for unknown paper formats. The argument is the new % error class. Each error class is represented by a command -% \Macro{scr@UnknownPaperSize@}\meta{errorclass}. That command also has +% \cs{scr@UnknownPaperSize@}\meta{errorclass}. That command also has % exactly one argument, the unknown paper size. % \begin{macrocode} \providecommand*{\ProvideUnknownPaperSizeError}[1]{% @@ -303,15 +273,10 @@ \csname scr@UnknownPaperSize@#1\endcsname[1]% } % \end{macrocode} -% \begin{macro}{\scr@UnkownPaperSize@error} -% \changes{v3.23}{2017/02/22}{new (internal)} -% \begin{macro}{\scr@UnkownPaperSize@warning} -% \changes{v3.23}{2017/02/22}{new (internal)} -% \begin{macro}{\scr@UnkownPaperSize@info} +% \begin{macro}{\scr@UnkownPaperSize@error,\scr@UnkownPaperSize@warning, +% \scr@UnkownPaperSize@info,\scr@UnkownPaperSize@ignore} % \changes{v3.23}{2017/02/22}{new (internal)} -% \begin{macro}{\scr@UnkownPaperSize@ignore} -% \changes{v3.23}{2017/02/22}{new (internal)} -% Error handling (error classes) for \Macro{PaperNameToSize}. +% Error handling (error classes) for \cs{PaperNameToSize}. % \begin{macrocode} \ProvideUnknownPaperSizeError{error}{% \PackageError{% @@ -345,46 +310,15 @@ %</typearea> %</package&options> % \end{macrocode} -% \end{macro}%^^A \scr@UnknownPaperSize@error -% \end{macro}%^^A \scr@UnknownPaperSize@warning -% \end{macro}%^^A \scr@UnknownPaperSize@info -% \end{macro}%^^A \scr@UnknownPaperSize@ignore -% \end{macro}%^^A \ProvideUnknownPaperSizeError -% \end{macro}%^^A \ISO@PaperNameToSize -% \end{macro}%^^A \PaperNameToSize -% -% \begin{option}{a4paper} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{a5paper} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{b5paper} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{letterpaper} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{legalpaper} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{executivepaper} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{landscape} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A -% \begin{option}{portrait} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated}%^^A +% \end{macro}^^A \scr@UnknownPaperSize@error … \scr@UnknownPaperSize@ignore +% \end{command}^^A \ProvideUnknownPaperSizeError +% \end{macro}^^A \ISO@PaperNameToSize +% \end{command}^^A \PaperNameToSize +% +% \begin{option}{a4paper,a5paper,b5paper,letterpaper,legalpaper,executivepaper, +% landscape,portrait} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{the option is standard but not deprecated} % The paper sizes of the standard classes are a special case. For % compatibility they are declared explicitly. Note: There is still a pattern % matching implementation for other paper size options, but the usage of those @@ -401,26 +335,19 @@ \KOMA@DeclareStandardOption[typearea]{portrait}{paper=portrait} %</package&typearea&options> % \end{macrocode} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} -% \end{option} +% \end{option}^^A a4paper … portrait % % \begin{option}{paper} -% \changes{v2.95}{2002/12/03}{new implementation}%^^A -% \changes{v3.01b}{2008/12/09}{height and width swapped}%^^A -% \changes{v3.02c}{2009/02/12}{new \Option{paper!=seascape}}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A -% \changes{v3.22}{2016/07/29}{paper orientation depends on format name}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v2.95}{2002/12/03}{added} +% \changes{v3.01b}{2008/12/09}{height and width swapped} +% \changes{v3.02c}{2009/02/12}{new \opt{paper\quotechar=seascape}} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} +% \changes{v3.22}{2016/07/29}{paper orientation depends on format name} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Normally, the paper size should be set using this option. It provides the % ISO series A, B, C, D, value pairs -% \Option{(\meta{width},\meta{height})} and the orientations -% \Option{portrait}, \Option{landscape} and \Option{seascape}. +% \opt{(\meta{width},\meta{height})} and the orientations +% \opt{portrait}, \opt{landscape} and \opt{seascape}. % \begin{macrocode} %<*package&typearea&options> \KOMA@key{paper}{% @@ -572,33 +499,23 @@ }% } % \end{macrocode} -% \begin{macro}{\if@seascape} -% \changes{v3.02c}{2009/02/12}{new}%^^A -% \begin{macro}{\@seascapetrue} -% \changes{v3.02c}{2009/02/12}{new}%^^A -% \begin{macro}{\@seascapefalse} -% \changes{v3.02c}{2009/02/12}{new}%^^A +% \begin{macro}{\if@seascape,\@seascapetrue,\@seascapefalse} +% \changes{v3.02c}{2009/02/12}{added} % This switch stores only whether or not the landscape orientation should be -% up-side-down. Currently this makes sense only using \File{dvips}. +% up-side-down. Currently this makes sense only using \file{dvips}. % \begin{macrocode} \newif\if@seascape % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \begin{macro}{\if@landscape} -% \begin{macro}{\@landscapetrue} -% \begin{macro}{\@landscapefalse} +% \begin{macro}{\if@landscape,\@landscapetrue,\@landscapefalse} % This switch stores whether using portrait or landscape orientation. % \begin{macrocode} \newif\if@landscape % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \begin{macro}{\maybe@pair} -% \changes{v2.95}{2002/12/03}{new (internal)}%^^A -% \changes{v2.97e}{2007/11/26}{works really}%^^A +% \changes{v2.95}{2002/12/03}{added} +% \changes{v2.97e}{2007/11/26}{works really} % Test whether the following parameter is of kind \texttt{\meta{first % argument}:\meta{second argument}}. If so \cs{@tempa} will become \meta{first % argument} and \cs{@tempb} will become \meta{second argument} and @@ -614,15 +531,15 @@ } %</package&typearea&options> % \end{macrocode} -% \end{macro} -% \end{option} +% \end{macro}^^A \maybe@pair +% \end{option}^^A paper % -% \subsection{Special handling of \Package{geometry}} +% \subsection{Special handling of \pkg*{geometry}} % % \begin{option}{usegeometry} -% \changes{v3.17}{2015/02/07}{new}%^^A -% \Package{typearea} optionally can pass several settings to package -% \Package{geometry}. The user decides whether or not to use this. +% \changes{v3.17}{2015/02/07}{added} +% \pkg*{typearea} optionally can pass several settings to package +% \pkg{geometry}. The user decides whether or not to use this. % \begin{macrocode} %<*package&typearea&options> \KOMA@ifkey{usegeometry}{@ta@usegeometry} @@ -633,37 +550,36 @@ % % \subsection{Setting the output paper size} % -% The document paper format of option \Option{paper} is one thing. It is used +% The document paper format of option \opt{paper} is one thing. It is used % only for calculation of the dimensions used by \TeX{}. Originally % \textsc{dvi} does not know something like a paper size. It just contained % relative movements from the current position starting with the % origin. Setting up a page size depends on the output driver or back-end. % % \begin{option}{pagesize} -% \changes{v2.7g}{2001/04/17}{new}%^^A -% \changes{v2.95}{2002/08/27}{new implementation}%^^A -% \changes{v3.02c}{2009/02/14}{new \Option{pagesize!=false}}%^^A -% \changes{v3.05a}{2010/03/18}{new \Option{pagesize!=dvipdfmx}}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A -% \changes{v3.17a}{2015/05/03}{logic redesigned}%^^A -% \changes{v3.20}{2015/07/10}{\File{luatex} as a synonym of -% \File{pdftex}}%^^A -% This option is the main element for telling pdf\TeX, \File{dvips} or V\TeX{} +% \changes{v2.7g}{2001/04/17}{added} +% \changes{v2.95}{2002/08/27}{new implementation} +% \changes{v3.02c}{2009/02/14}{new \opt{pagesize\quotechar=false}} +% \changes{v3.05a}{2010/03/18}{new \opt{pagesize\quotechar=dvipdfmx}} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} +% \changes{v3.17a}{2015/05/03}{logic redesigned} +% \changes{v3.20}{2015/07/10}{\file{luatex} as a synonym of \file{pdftex}} +% This option is the main element for telling pdf\TeX, \file{dvips} or V\TeX{} % which paper size to use. It is also used by some deprecated options. Here % are the values and their meanings: -% \begin{labeling}[~--]{\Option{automedia}} -% \item[\Option{auto}] combination of options \Option{pdftex} and -% \Option{dvips}. -% \item[\Option{automedia}] like \Option{auto} with additional setting of +% \begin{labeling}[~--]{\opt{automedia}} +% \item[\opt{auto}] combination of options \opt{pdftex} and +% \opt{dvips}. +% \item[\opt{automedia}] like \opt{auto} with additional setting of % \cs{mediawidth} and \cs{mediaheight} if available. -% \item[\Option{dvips}] adds a \File{dvips} \cs{special} to set the paper +% \item[\opt{dvips}] adds a \file{dvips} \cs{special} to set the paper % size. This should be done only once in the document preamble. Usage inside % the document body is not fully supported and will raise a warning. -% \item[\Option{dvipdfmx}] adds a \File{dvipdfmx} \cs{special} to set the +% \item[\opt{dvipdfmx}] adds a \file{dvipdfmx} \cs{special} to set the % paper size. -% \item[\Option{false}] switch of the automatic driver page size setting, +% \item[\opt{false}] switch of the automatic driver page size setting, % i.e., if there are changes inside the document. -% \item[\Option{pdftex}] set \cs{pdfpagewidth} and \cs{pdfpageheight} if +% \item[\opt{pdftex}] set \cs{pdfpagewidth} and \cs{pdfpageheight} if % available. % \end{labeling} % \begin{macrocode} @@ -711,41 +627,41 @@ } % \end{macrocode} % \begin{macro}{\@pagesizelast} -% This internal macro stores the current value of option \Option{pagesize} and -% is needed to use the correct signalling if option \Option{paper} is used +% This internal macro stores the current value of option \opt{pagesize} and +% is needed to use the correct signalling if option \opt{paper} is used % inside the document and the initial setup in |\begin{document}|. % \begin{macrocode} \newcommand\@pagesizelast{auto} \AtBeginDocument{% \KOMAExecuteOptions[.typearea.\scr@pkgextension]{pagesize=\@pagesizelast}% % \end{macrocode} -% \end{macro}%^^A \@pagesizelast +% \end{macro}^^A \@pagesizelast % % \begin{macro}{\set@pdftexpagesize} -% \changes{v2.95}{2002/08/27}{new (internal)}%^^A +% \changes{v2.95}{2002/08/27}{added} % \changes{v3.20}{2015/07/10}{if \cs{pdfpage\dots} does not exist -% \cs{page\dots} will be tried (needed for lua\TeX{}~0.80.1)}%^^A +% \cs{page\dots} will be tried (needed for lua\TeX{}~0.80.1)} % \begin{macro}{\set@dvipspagesize} -% \changes{v2.95}{2002/08/27}{new (internal)}%^^A -% \changes{v3.02c}{2009/02/13}{respecting \Option{seascape}}%^^A -% \changes{v3.02c}{2009/02/14}{can be used inside the document}%^^A +% \changes{v2.95}{2002/08/27}{added} +% \changes{v3.02c}{2009/02/13}{respecting \opt{seascape}} +% \changes{v3.02c}{2009/02/14}{can be used inside the document} % \changes{v3.12}{2012/02/06}{not expanded % \cs{let}\cs{if@tempswa}\cs{if@dvips} does even work is the later is not -% yet defined}%^^A +% yet defined} % \changes{v3.28}{2019/11/18}{\cs{ifnotundefined} renamed into -% \cs{Ifnotundefined}}%^^A +% \cs{Ifnotundefined}} % \begin{macro}{\setnot@dvipspagesize} -% \changes{v2.95}{2002/08/27}{new (internal)}%^^A +% \changes{v2.95}{2002/08/27}{added} % \begin{macro}{\set@dvipdfmxpagesize} -% \changes{v3.05a}{2010/03/18}{new (internal)}%^^A +% \changes{v3.05a}{2010/03/18}{added} % \begin{macro}{\set@vtexpagesize} -% \changes{v2.95}{2002/08/27}{new (internal)}%^^A +% \changes{v2.95}{2002/08/27}{added} % \changes{v3.28}{2019/11/18}{\cs{ifnotundefined} renamed into -% \cs{Ifnotundefined}}%^^A +% \cs{Ifnotundefined}} % \begin{macro}{\scr@updatedvipspagesize} -% \changes{v3.02c}{2009/02/14}{new (internal)}%^^A -% \changes{v3.12}{2013/05/10}{deactivated, if \cs{XeTeXversion} exists}%^^A -% Option \Option{pagesize} needs some internal macros. +% \changes{v3.02c}{2009/02/14}{added} +% \changes{v3.12}{2013/05/10}{deactivated, if \cs{XeTeXversion} exists} +% Option \opt{pagesize} needs some internal macros. % \begin{description} % \item{Attention:} The definition of these macros may change at usage of % themselves or at |\begin{document}|. @@ -755,12 +671,12 @@ \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax \renewcommand*{\set@dvipspagesize}{% % \end{macrocode} -% \changes{v3.12}{2012/11/23}{use paper size update only for DVI and PS}%^^A +% \changes{v3.12}{2012/11/23}{use paper size update only for DVI and PS} % \changes{v3.12}{2012/02/06}{not expanded -% \cs{let}\cs{if@tempswa}\cs{if@dvips} does even work is the later is not -% yet defined}%^^A -% Test whether unspecified \textsc{DVI} output or specified \textsc{PS} output -% is used. Only in that cases the \textsc{PS} code for paper size updates will +% \cs{let}\cs{if@tempswa}\cs{if@dvips} does even work if the later is not +% yet defined} +% Test whether unspecified \textsc{dvi} output or specified \textsc{ps} output +% is used. Only in that cases the \textsc{ps} code for paper size updates will % be used. % \begin{macrocode} \begingroup @@ -782,7 +698,7 @@ }{% % \end{macrocode} % If \cs{AtBeginShipoutNext} is available (mostly because of loading package -% \Package{atbegshi}) use it so execute the code at least before other code +% \pkg{atbegshi}) use it so execute the code at least before other code % that has been added to \cs{shipout}. Unfortunately this is not reliable. If % \cs{AtBeginShipout} is used after \cs{set@dvipspagesize} (this means the % recalculation of the typing area and the margins) but before the current @@ -804,7 +720,7 @@ }{% % \end{macrocode} % If \cs{AtNextShipout} is available (mostly because of loading package -% \Package{everyshi} use it to execute the code at least before other code +% \pkg{everyshi} use it to execute the code at least before other code % that has been added to \cs{shipout}. Unfortunately this is not reliable. If % \cs{AtNextShipout} or \cs{EveryShipout} is used after \cs{set@dvipspagesize} % (this means the recalculation of the typing area and the margins) but before @@ -844,7 +760,7 @@ % \end{macrocode} % And now the definition that is used before |\begin{document}| but executed % the first time inside |\begin{document}|. -% \changes{3.21}{2016/05/27}{two missing backslashs added} +% \changes{v3.21}{2016/05/27}{two missing backslashs added} % \begin{macrocode} \newcommand*{\set@pdftexpagesize}{% \scr@ifundefinedorrelax{pdfpagewidth}{% @@ -864,10 +780,10 @@ }{}% }{}% % \end{macrocode} -% \changes{v3.22}{2016/08/04}{\textsf{preview} workaround}%^^A -% If package \Package{preview} has been loaded with option \Option{tightpage}, +% \changes{v3.22}{2016/08/04}{\pkg{preview} workaround} +% If package \pkg{preview} has been loaded with option \opt{tightpage}, % which can be recognized by a defined macro \cs{pr@nextbb}, and if the -% package is active, we do not add \textsc{DVI} specials, because it would +% package is active, we do not add \textsc{dvi} specials, because it would % disturb Xe\LaTeX. % \begin{macrocode} \scr@ifundefinedorrelax{pr@nextbb}{}{% @@ -942,15 +858,15 @@ % \end{option} % % \begin{option}{dvips} -% \changes{v2.7g}{2001/04/17}{new}%^^A -% \changes{v2.95}{2002/08/27}{new implementation}%^^A -% \changes{v2.98c}{2008/04/09}{replacement changed}%^^A -% \changes{v2.98c}{2008/04/09}{info instead of warning}%^^A -% \changes{v3.01a}{2008/11/21}{it's a standard option not deprecated}%^^A +% \changes{v2.7g}{2001/04/17}{added} +% \changes{v2.95}{2002/08/27}{new implementation} +% \changes{v2.98c}{2008/04/09}{replacement changed} +% \changes{v2.98c}{2008/04/09}{info instead of warning} +% \changes{v3.01a}{2008/11/21}{it's a standard option not deprecated} % This option is a kind of obsolete. It is now implemented using -% \Option{pagesize}. But because this is a standard option using several other +% \opt{pagesize}. But because this is a standard option using several other % packages we only show a standard option information instead of a deprecated -% option warning. Note: Usage of \Option{pagesize=automedia} can still result +% option warning. Note: Usage of \opt{pagesize=automedia} can still result % in a warning message! % \begin{macrocode} %<*package&typearea&options> @@ -962,13 +878,12 @@ % \end{option} % % \begin{option}{pdftex} -% \changes{v2.7g}{2001/04/17}{new}%^^A -% \changes{v2.95}{2002/08/27}{new implementation}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{it's a standard option not deprecated}%^^A +% \changes{v2.7g}{2001/04/17}{added} +% \changes{v2.95}{2002/08/27}{new implementation} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{it's a standard option not deprecated} % This option is a kind of obsolete. It is now implemented using -% \Option{pagesize}. But because this is a standard option using several other +% \opt{pagesize}. But because this is a standard option using several other % packages we only show a standard option information instead of a deprecated % option warning. % \begin{macrocode} @@ -982,32 +897,29 @@ % % \subsection{Influencing left and right margin proportions} % -% Options like \Option{twoside} or \Option{twocolumn} influence the +% Options like \opt{twoside} or \opt{twocolumn} influence the % proportions of the left and right margin and indirectly also the top and the % bottom margin. They are also very important for the document classes. % % \begin{option}{oneside} -% \changes{v2.97e}{2007/11/23}{pass option from class to -% \Package{typearea}}%^^A -% \changes{v3.01a}{2008/11/21}{it's a standard option not deprecated}%^^A +% \changes{v2.97e}{2007/11/23}{pass option from class to \pkg*{typearea}} +% \changes{v3.01a}{2008/11/21}{it's a standard option not deprecated} % \begin{option}{twoside} -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v2.97e}{2007/11/23}{pass option from class to -% \Package{typearea}}%^^A -% \changes{v3.00}{2008/07/09}{new option \Option{twoside!=semi}}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v2.97e}{2007/11/23}{pass option from class to \pkg*{typearea}} +% \changes{v3.00}{2008/07/09}{new option \opt{twoside\quotechar=semi}} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} % \changes{v3.13a}{2014/04/09}{the class also uses status signaling with -% \cs{FamilyKeyStateProcessed}}%^^A +% \cs{FamilyKeyStateProcessed}} % \changes{v3.17}{2015/03/17}{automatic usage of \cs{flushbottom} and -% \cs{raggedbottom}}%^^A -% \changes{v3.17}{2015/03/17}{early setting of default}%^^A -% \changes{v3.17}{2015/03/18}{use \cs{cleardoubleoddpage} if available}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\if@semitwoside} -% \changes{v3.00}{2008/07/09}{new boolean switch (intern)}%^^A -% \begin{macro}{\if@twoside} -% \changes{v3.00}{2008/07/09}{switch also sets \cs{if@semitwoside}}%^^A +% \cs{raggedbottom}} +% \changes{v3.17}{2015/03/17}{early setting of default} +% \changes{v3.17}{2015/03/18}{use \cs{cleardoubleoddpage} if available} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{macro}{\if@semitwoside,\@semitwosidetrue,\@semitwosidefalse} +% \changes{v3.00}{2008/07/09}{new boolean switch (intern)} +% \begin{macro}{\if@twoside,\@twosidetrue,\@twosidefalse} +% \changes{v3.00}{2008/07/09}{switch also sets \cs{if@semitwoside}} % Do we have a single sided or double sided layout? % \begin{macrocode} %<*package&typearea&options> @@ -1040,16 +952,16 @@ \KOMA@set@ifkey{twoside}{% % \end{macrocode} % \changes{v3.20}{2015/11/02}{not existing order dependency of -% \Option{twocolumn} and \Option{twoside} fixed}%^^A -% \changes{v3.27}{2019/03/05}{no \emph{Extrawurst} for letters}%^^A -% \changes{v3.27}{2019/03/05}{mising \cs{sloppy} in twocolumn mode added}%^^A +% \opt{twocolumn} and \opt{twoside} fixed} +% \changes{v3.27}{2019/03/05}{no special treatment for letters} +% \changes{v3.27}{2019/03/05}{missing \cs{sloppy} in twocolumn mode added} % From v3.17 until 3.19a the classes used a local switch -% \Macro{if@tempswa}. As a result of this option \Option{twocolumn} was not +% \cs{if@tempswa}. As a result of this option \opt{twocolumn} was not % able to recognize double sided layout. Because of this it was essential to -% handle option \Option{twocolumn} before option \Option{twoside}. This has -% been solved using \Macro{if@twoside} in the classes too. Another solution +% handle option \opt{twocolumn} before option \opt{twoside}. This has +% been solved using \cs{if@twoside} in the classes too. Another solution % could have been to move the implementation and execution of -% \Option{twocolumn} before \Option{twoside}. But I don't know whether or not +% \opt{twocolumn} before \opt{twoside}. But I don't know whether or not % this would have been reliable and the solution here is more simple. % \begin{macrocode} @twoside% @@ -1096,27 +1008,24 @@ {oneside}{twoside=false} %</(class|(package&typearea))&options> % \end{macrocode} -% \end{option}%^^A twoside -% \end{option}%^^A oneside +% \end{option}^^A twoside +% \end{option}^^A oneside % % \begin{option}{onecolumn} -% \changes{v2.95}{2002/12/04}{option moved to package \Package{typearea}}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v2.97e}{2007/11/23}{the classes pass the option to -% \Package{typearea}}%^^A -% \changes{v3.01a}{2008/11/21}{standard option but not deprecated}%^^A +% \changes{v2.95}{2002/12/04}{option moved to package \pkg*{typearea}} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v2.97e}{2007/11/23}{the classes pass the option to \pkg*{typearea}} +% \changes{v3.01a}{2008/11/21}{standard option but not deprecated} % \begin{option}{twocolumn} -% \changes{v2.95}{2002/12/04}{option moved to package \Package{typearea}}%^^A -% \changes{v2.97e}{2007/11/23}{the classes pass the option to -% \Package{typearea}}%^^A -% \changes{v2.98a}{2007/01/08}{passing the correct option}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A +% \changes{v2.95}{2002/12/04}{option moved to package \pkg*{typearea}} +% \changes{v2.97e}{2007/11/23}{the classes pass the option to \pkg*{typearea}} +% \changes{v2.98a}{2007/01/08}{passing the correct option} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} % \changes{v3.13a}{2014/04/09}{the class also uses status signaling with -% \cs{FamilyKeyStateProcessed}}%^^A +% \cs{FamilyKeyStateProcessed}} % \changes{v3.20}{2016/02/16}{\cs{sloppy}, \cs{raggedbottom} and -% \cs{flushbottom} delayed}%^^A -% \changes{v3.27}{2019/03/05}{no \emph{Extrawurst} for letters}%^^A +% \cs{flushbottom} delayed} +% \changes{v3.27}{2019/03/05}{no extra treatment for letters} % Do we have a single column or two columns layout? % \begin{macrocode} %<*(class|(package&typearea))&options> @@ -1170,8 +1079,8 @@ {onecolumn}{twocolumn=false} %</(class|(package&typearea))&options> % \end{macrocode} -% \end{option}%^^A twocolumn -% \end{option}%^^A onecolumn +% \end{option}^^A twocolumn +% \end{option}^^A onecolumn % % % \subsection{Influencing size of head and foot and margins} @@ -1182,10 +1091,10 @@ % area or not. % % \begin{option}{headlines} -% \changes{v2.95}{2002/12/06}{new implementation using \textsf{keyval}}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A +% \changes{v2.95}{2002/12/06}{new implementation using \pkg{keyval}} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} % \begin{option}{footlines} -% \changes{v3.12}{2013/03/26}{new}%^^A +% \changes{v3.12}{2013/03/26}{added} % These are two of the recommended options to set the height of the page head % and footer. Here we set the height by the number of base lines. The number % is a factor to \cs{baselineskip} and therefore a real number. @@ -1215,13 +1124,13 @@ % \end{option} % % \begin{option}{headheight} -% \changes{v2.98c}{2008/04/06}{new}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A +% \changes{v2.98c}{2008/04/06}{added} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} % \begin{option}{footheight} -% \changes{v3.12}{2013/03/26}{new}%^^A +% \changes{v3.12}{2013/03/26}{added} % Instead of setting the height of the page head or footer by the number of % base lines, we can set it also using a length or length value. Note, via -% \Macro{documenclass} or \Macro{usepackage} only length values are supported +% \cs{documenclass} or \cs{usepackage} only length values are supported % (due to an expansion problem by the \LaTeX{} kernel with both commands). % \begin{macrocode} %<*package&typearea&options> @@ -1249,20 +1158,17 @@ % \end{option} % % \begin{option}{headinclude} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} % This options determines whether or not the head is part of the typing % area. % \begin{option}{headexclude} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A -% \begin{macro}{\if@hincl} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{deprecated} +% \begin{macro}{\if@hincl,\@hincltrue,\@hinclfalse} +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} % \changes{v2.97c}{2007/04/19}{direct initialization via \cs{if@hsl}, -% if already defined}%^^A -% \begin{macro}{\@hincltrue} -% \begin{macro}{\@hinclfalse} +% if already defined} % We use a boolean switch to store the decision. % \begin{macrocode} %<*package&typearea&options> @@ -1272,30 +1178,27 @@ %</package&typearea&options> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % \end{option} % % \begin{option}{headsepline} -% \changes{v3.20}{2015/12/12}{\Package{typearea} itself reacts on -% \Option{headsepline}}%^^A -% Until \KOMAScript{} v3.20 \Package{typearea} was not able to handle -% sequences of options \Option{headsepline} and \Option{headinclude} to get -% always a correct result. Until v3.18a \Option{headinclude} was prioritized -% against \Option{headsepline} if used as global options but not if used via -% \Macro{KOMAoptions}. In v3.18a a bug has been fixed with the result that -% \Option{headsepline} was prioritized against \Option{headinclude} if used +% \changes{v3.20}{2015/12/12}{\pkg*{typearea} itself reacts on \opt{headsepline}} +% Until \KOMAScript{} v3.20 \pkg*{typearea} was not able to handle +% sequences of options \opt{headsepline} and \opt{headinclude} to get +% always a correct result. Until v3.18a \opt{headinclude} was prioritized +% against \opt{headsepline} if used as global options but not if used via +% \cs{KOMAoptions}. In v3.18a a bug has been fixed with the result that +% \opt{headsepline} was prioritized against \opt{headinclude} if used % as global options. But intentionally -% \Option{headinclude=false,}\Option{headsepline} or -% \Option{headinclude=true,}\Option{headsepline=false} always should use the -% setting of option \Option{headsepline} independent of setting this as -% global options or using \Macro{KOMAoptions}. Similar with -% \Option{headsepline,}\Option{headinclude=false} or -% \Option{headsepline=false,},\Option{headinclude} the setting of -% \Option{headinclude} should be used. To achieve this \Package{typearea} -% itself has to interpret not only \Option{headinclude} but also -% \Option{headsepline} (as an alias of \Option{headinclude}). +% \opt{headinclude=false,}\opt{headsepline} or +% \opt{headinclude=true,}\opt{headsepline=false} always should use the +% setting of option \opt{headsepline} independent of setting this as +% global options or using \cs{KOMAoptions}. Similar with +% \opt{headsepline,}\opt{headinclude=false} or +% \opt{headsepline=false,},\opt{headinclude} the setting of +% \opt{headinclude} should be used. To achieve this \pkg*{typearea} +% itself has to interpret not only \opt{headinclude} but also +% \opt{headsepline} (as an alias of \opt{headinclude}). % \begin{macrocode} %<*package&typearea&options> \KOMA@key{headsepline}[true]{% @@ -1306,23 +1209,20 @@ } %</package&typearea&options> % \end{macrocode} -% \end{option}%^^A headsepline +% \end{option}^^A headsepline % % \begin{option}{footinclude} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} % \begin{option}{footexclude} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{deprecated} % This options determines whether or not the page footer is part of the typing % area. -% \begin{macro}{\if@fincl} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A +% \begin{macro}{\if@fincl,\@fincltrue,\@finclfalse} +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} % \changes{v2.97c}{2007/04/19}{direct initialization via \cs{if@fsl}, -% if already defined}%^^A -% \begin{macro}{\@fincltrue} -% \begin{macro}{\@finclfalse} +% if already defined} % We use a boolean switch to store the decision. % \begin{macrocode} %<*package&typearea&options> @@ -1332,32 +1232,28 @@ %</package&typearea&options> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % \end{option} % % \begin{option}{footsepline} -% \changes{v3.23}{2017/03/03}{has to set \cs{if@fincl} instead of -% \cs{if@hincl}}%^^A -% \changes{v3.20}{2015/12/12}{\Package{typearea} itself reacts on -% \Option{footsepline}}%^^A -% Until \KOMAScript{} v3.20 \Package{typearea} was not able to handle -% sequences of options \Option{footsepline} and \Option{footinclude} to get -% always a correct result. Until v3.18a \Option{footinclude} was prioritized -% against \Option{footsepline} if used as global options but not if used via -% \Macro{KOMAoptions}. In v3.18a a bug has been fixed with the result that -% \Option{footsepline} was prioritized against \Option{footinclude} if used +% \changes{v3.23}{2017/03/03}{has to set \cs{if@fincl} instead of \cs{if@hincl}} +% \changes{v3.20}{2015/12/12}{\pkg*{typearea} itself reacts on \opt{footsepline}} +% Until \KOMAScript{} v3.20 \pkg*{typearea} was not able to handle +% sequences of options \opt{footsepline} and \opt{footinclude} to get +% always a correct result. Until v3.18a \opt{footinclude} was prioritized +% against \opt{footsepline} if used as global options but not if used via +% \cs{KOMAoptions}. In v3.18a a bug has been fixed with the result that +% \opt{footsepline} was prioritized against \opt{footinclude} if used % as global options. But intentionally -% \Option{footinclude=false,}\Option{footsepline} or -% \Option{footinclude=true,}\Option{footsepline=false} always should use the -% setting of option \Option{footsepline} independent of setting this as -% global options or using \Macro{KOMAoptions}. Similar with -% \Option{footsepline,}\Option{footinclude=false} or -% \Option{footsepline=false,},\Option{footinclude} the setting of -% \Option{footinclude} should be used. To achieve this \Package{typearea} -% itself has to interpret not only \Option{footinclude} but also -% \Option{footsepline} (as an alias of \Option{footinclude}). +% \opt{footinclude=false,}\opt{footsepline} or +% \opt{footinclude=true,}\opt{footsepline=false} always should use the +% setting of option \opt{footsepline} independent of setting this as +% global options or using \cs{KOMAoptions}. Similar with +% \opt{footsepline,}\opt{footinclude=false} or +% \opt{footsepline=false,},\opt{footinclude} the setting of +% \opt{footinclude} should be used. To achieve this \pkg*{typearea} +% itself has to interpret not only \opt{footinclude} but also +% \opt{footsepline} (as an alias of \opt{footinclude}). % \begin{macrocode} %<*package&typearea&options> \KOMA@key{footsepline}[true]{% @@ -1368,24 +1264,21 @@ } %</package&typearea&options> % \end{macrocode} -% \end{option}%^^A footsepline +% \end{option}^^A footsepline % % \begin{option}{mpinclude} -% \changes{v2.8q}{2002/03/28}{new}%^^A -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A +% \changes{v2.8q}{2002/03/28}{added} +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} % \begin{option}{mpexclude} -% \changes{v2.8q}{2002/03/28}{new}%^^A -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A +% \changes{v2.8q}{2002/03/28}{added} +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{deprecated} % Some documents have a lot of large margin notes. Optical these margin notes % are more part of the typing area than the margin. This options determines % whether or not margin notes should be part of the typing area. -% \begin{macro}{\if@mincl} -% \changes{v2.95}{2002/07/08}{new implementation using \textsf{keyval}}%^^A -% \begin{macro}{\@mincltrue} -% \begin{macro}{\@minclfalse} +% \begin{macro}{\if@mincl,\@mincltrue,\@minclfalse} +% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}} % We use a boolean switch to store the decision. Note, if the margin notes are % part of the typing area, you should increase the divisor. % \begin{macrocode} @@ -1395,8 +1288,6 @@ %</package&typearea&options> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % \end{option} % \end{option} % @@ -1404,11 +1295,11 @@ % \subsection{Typing area for the emulation of the standard classes} % % For the emulation of the standard classes we need a dedicated size of the -% typing area, if and only if no explicit \Option{DIV} has been given by +% typing area, if and only if no explicit \opt{DIV} has been given by % option. The emulation of the standard classes is a class feature. We could -% do it before \Package{typearea} and then deactivate initial setting of +% do it before \pkg*{typearea} and then deactivate initial setting of % margins and typing area. But it is more easy to use \cs{areaset} after -% loading \Package{typearea}. The standard letter class cannot be emulated. +% loading \pkg*{typearea}. The standard letter class cannot be emulated. % \begin{macrocode} %<*class&body&!letter> \if@scr@emulatestandardclasses @@ -1451,21 +1342,20 @@ % % \subsection{Using a predefined divisor depending on the font size} % -% Some years ago \Package{typearea} provides the feature to use a hard coded +% Some years ago \pkg*{typearea} provides the feature to use a hard coded % or user defined divisor depending on the document font size. The feature to % define such predefined divisors is deprecated, because it can be used only % for integer font sizes in pt. Nevertheless, for compatibility reasons it is % still implemented. % % \begin{macro}{\ta@divlist} -% \changes{v2.0e}{1994/10/28}{new (internal)}%^^A -% \changes{v2.6}{2000/01/04}{the list provides values from font size -% 1\,pt}%^^A +% \changes{v2.0e}{1994/10/28}{added} +% \changes{v2.6}{2000/01/04}{the list provides values from font size 1\,pt} % \begin{macro}{\ta@divlistelse} -% \changes{v2.6}{2000/01/04}{neu (internal)}%^^A +% \changes{v2.6}{2000/01/04}{added} % We need a default settings for 10\,pt, 11\,pt and 12\,pt. But we define it % only if they has not been defined before. So classes could define other -% defaults before loading \Package{typearea}. +% defaults before loading \pkg*{typearea}. % \begin{macrocode} %<*package&typearea&init> \providecommand\ta@divlist{{}{}{}{}{}{}{}{}{}{8}{10}{12}} @@ -1484,10 +1374,10 @@ % depending on the font size given by the real number argument. The real % number will be rounded to the nearest integer. % \changes{v2.4g}{1996/11/04}{usage of the default value list} -% \changes{v2.6}{2000/01/04}{usage of the extended list}%^^A -% \changes{v2.8q}{2002/03/28}{respect option \Option{mpinclude}}%^^A -% \changes{v2.96}{2006/08/11}{font size does not need to be an integer}%^^A -% \changes{v3.25}{2018/03/05}{paper size test added}%^^A +% \changes{v2.6}{2000/01/04}{usage of the extended list} +% \changes{v2.8q}{2002/03/28}{respect option \opt{mpinclude}} +% \changes{v2.96}{2006/08/11}{font size does not need to be an integer} +% \changes{v3.25}{2018/03/05}{paper size test added} % \begin{macrocode} %<*package&typearea&body> \newcommand*{\ta@divfor}[1]{% @@ -1563,18 +1453,12 @@ % \end{macrocode} % \end{macro} % -% The documentation of the deprecated part of the feature is still in German. -% \selectlanguage{ngerman} % -% \begin{macro}{\SetDIVList} -% \changes{v2.1a}{1994/10/28}{neu}%^^A -% \changes{v2.6}{2000/01/04}{\cs{ta@divlist} enthält Werte für -% Schriftgrößen ab 1pt}%^^A -% \changes{v3.24}{2017/07/23}{deprecated command}%^^A -% Der Befehl \cs{SetDIVList} tut nichts weiter als die innere Variable -% für die schriftgrößenabhängige \emph{DIV}-Liste \cs{ta@divlist} neu -% zu definieren. Dabei können \emph{DIV}-Werte für Größen ab 10\,pt -% gesetzt werden. +% \begin{command}{\SetDIVList} +% \changes{v2.1a}{1994/10/28}{new} +% \changes{v2.6}{2000/01/04}{\cs{ta@divlist} holds values for font sizes from 1\,pt} +% \changes{v3.24}{2017/07/23}{deprecated} +% The command is deprecated. Don't use it any longer. % \begin{macrocode} %<*package&typearea&body> \newcommand*\SetDIVList[1]{% @@ -1587,14 +1471,12 @@ any longer}% \def\ta@divlist{{}{}{}{}{}{}{}{}{}#1}} % \end{macrocode} -% \end{macro} +% \end{command}^^A \SetDIVList % -% \begin{macro}{\SetXDIVList} -% \changes{v2.6}{2000/01/04}{neu}%^^A -% \changes{v3.24}{2017/07/23}{deprecated command}%^^A -% Da mit \cs{SetDIVList} aus Kompatibilitätsgründen nur Werte für -% Größen ab 10\,pt gesetzt werden können, wird für Werte ab 1\,pt -% ein neuer Befehl benötigt. +% \begin{command}{\SetXDIVList} +% \changes{v2.6}{2000/01/04}{neu} +% \changes{v3.24}{2017/07/23}{deprecated} +% The command is deprecated. Don't use it any longer. % \begin{macrocode} \newcommand*\SetXDIVList[1]{% \PackageWarning{typearea}{\string\SetXDIVList\space is @@ -1607,9 +1489,8 @@ \def\ta@divlist{#1}} %</package&typearea&body> % \end{macrocode} -% \end{macro} +% \end{command}^^A \SetXDIVList % -% \selectlanguage{english} % % \subsection{Calculation of typing area and margins} % @@ -1620,32 +1501,32 @@ % The parameters and the calculation is needed before the options can be % processed. % -% \begin{Length}{\ta@bcor} +% \begin{ilength}{\ta@bcor} % \changes{v2.2a}{1995/01/25}{definition of the dimension before option -% \Option{BCOR}}%^^A +% \opt{BCOR}} % \changes{v2.7g}{2001/04/17}{definition using \cs{newlength} instead of -% \cs{newdimen}}%^^A +% \cs{newdimen}} % We need a length to store the binding correction. It is initializes to 0\,pt -% implicitly by \Macro{newlength}. +% implicitly by \cs{newlength}. % \begin{macrocode} %<*package&typearea&options> \newlength{\ta@bcor} % \end{macrocode} -% \end{Length} +% \end{ilength} % % \begin{macro}{\ta@div} % \changes{v2.2a}{1995/01/25}{definition of the dimension before option -% \Option{BCOR}}%^^A +% \opt{BCOR}} % We need a counter for the divisor (aka \emph{DIV}). It is initializes to -% 0\,pt implicitly by \Macro{newcount}. +% 0\,pt implicitly by \cs{newcount}. So it is not a \LaTeX{} counter but a +% \TeX{} counter. % \begin{macrocode} \newcount\ta@div %</package&typearea&options> % \end{macrocode} % \end{macro} % -% \begin{Length}{\ta@hblk} -% \begin{Length}{\ta@vblk} +% \begin{ilength}{\ta@hblk,\ta@vblk} % Width of one horizontal resp. height of one vertical block. % \begin{macrocode} %<*package&typearea&body> @@ -1653,10 +1534,9 @@ \newlength{\ta@vblk} %</package&typearea&body> % \end{macrocode} -% \end{Length} -% \end{Length} +% \end{ilength} % -% \begin{Length}{\ta@temp} +% \begin{ilength}{\ta@temp} % Used several times instead of \cs{@tempdima}, \cs{@tempdimb} or another % temporary dimension or glue of the LaTeX{} kernel. Nevertheless I should % think about not using this temporary length any longer. @@ -1665,13 +1545,13 @@ \newlength{\ta@temp} %</package&typearea&body> % \end{macrocode} -% \end{Length} +% \end{ilength} % % \begin{option}{BCOR} -% \changes{v2.2a}{1995/01/25}{new}%^^A -% \changes{v2.95}{2002/12/04}{new implementation using \textsf{keyval}}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v2.2a}{1995/01/25}{added} +% \changes{v2.95}{2002/12/04}{new implementation using \pkg{keyval}} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % The value is written into the length \cs{ta@bcor}. Several symbolic values % are supported that have to be converted into a length. Note, while loading % the package symbolic values are nonsense. @@ -1687,8 +1567,8 @@ % \end{macrocode} % After loading the package we have to do a little bit more, because we need % to recalculate the areas. -% \changes{v3.13}{2014/06/30}{\cs{FamilyKeyStateProcessed} added}%^^A -% \changes{v3.24}{2017/07/23}{\cs{KOMA@kav@xreplacevalue} added}%^^A +% \changes{v3.13}{2014/06/30}{\cs{FamilyKeyStateProcessed} added} +% \changes{v3.24}{2017/07/23}{\cs{KOMA@kav@xreplacevalue} added} % \begin{macrocode} \AtEndOfPackage{% \KOMA@key{BCOR}{% @@ -1702,20 +1582,20 @@ % \end{option} % % \begin{option}{DIV} -% \changes{v2.2a}{1995/01/25}{new option}%^^A -% \changes{v2.95}{2002/12/04}{new implementation using \textsf{keyval}}%^^A -% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}%^^A +% \changes{v2.2a}{1995/01/25}{new option} +% \changes{v2.95}{2002/12/04}{new implementation using \pkg{keyval}} +% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}} % The value is written into the counter \cs{ta@div}. Several symbolic values % are supported and have to be converted into a counter. Note, while loading % the package symbolic values are nonsense. % \begin{macro}{\@lastdiv} -% \changes{v3.30}{2020/03/24}{init the internal macro}%^^A -% This internal macro stores the last value to option \texttt{DIV}. It is +% \changes{v3.30}{2020/03/24}{init the internal macro} +% This internal macro stores the last value to option \opt{DIV}. It is % initialized with \cs{relax}. % \begin{macrocode} %<package&typearea&init>\newcommand*{\@lastdiv}{\z@}\let\@lastdiv\relax % \end{macrocode} -% \end{macro}%^^A \@lastdiv +% \end{macro}^^A \@lastdiv % \begin{macrocode} %<*package&typearea&options> \def\movet@reserved@a@to@nnil#1\@nnil{\def\reserved@a{#1}}% @@ -1751,8 +1631,8 @@ % \end{macrocode} % After loading the package we have to do a little bit more, because we need % to recalculate the areas. -% \changes{v3.13}{2014/06/30}{\cs{FamilyKeyStateProcessed} added}%^^A -% \changes{v3.24}{2017/07/23}{\cs{KOMA@kav@xreplacevalue} added}%^^A +% \changes{v3.13}{2014/06/30}{\cs{FamilyKeyStateProcessed} added} +% \changes{v3.24}{2017/07/23}{\cs{KOMA@kav@xreplacevalue} added} % \begin{macrocode} \AtEndOfPackage{% \KOMA@key{DIV}{% @@ -1765,13 +1645,13 @@ % \end{macrocode} % \end{option} % -% \begin{macro}{\typearea} +% \begin{command}{\typearea} % This is the real reason for the package: calculation of typing area and % margins providing an optional binding correction and depending on a % divisor. % \begin{macro}{\@typearea} -% \changes{v2.4n}{1997/05/28}{moved main calculation into \cs{@typearea}}%^^A -% \changes{v2.95}{2002/08/20}{\cs{selectfont} added}%^^A +% \changes{v2.4n}{1997/05/28}{moved main calculation into \cs{@typearea}} +% \changes{v2.95}{2002/08/20}{\cs{selectfont} added} % The calculation itself is done in \cs{@typearea}. This command does not need % any parameters because it uses \cs{ta@div} and \cs{ta@bcor}. % \begin{macrocode} @@ -1793,7 +1673,7 @@ % whether or not is should be part of the typing area and whether of not we % have a double sided document. % \changes{v2.8q}{2002/03/28}{\cs{marginparwidth} depends on -% \Option{mpinclude}}%^^A +% \opt{mpinclude}} % \begin{macrocode} \if@mincl \marginparwidth=\ta@hblk @@ -1821,11 +1701,11 @@ \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor % \end{macrocode} -% \changes{v3.12}{2013/10/15}{use alternating \texttt{BCOR} with -% \texttt{twoside!=semi}} +% \changes{v3.12}{2013/10/15}{use alternating \opt{BCOR} with +% \opt{twoside\quotechar=semi}} % From v3.12 the binding correction is part of the inner margin also for -% \Option{twoside=semi}. If compatibility to earlier release is selected the -% binding correction with \Option{twoside=semi} is always added to the left +% \opt{twoside=semi}. If compatibility to earlier release is selected the +% binding correction with \opt{twoside=semi} is always added to the left % margin. % \begin{macrocode} \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax @@ -1861,7 +1741,7 @@ % for the margin note column, the width of margin note column will be % reduced. This can be done easily be swapping the two lengths. % \changes{v3.30}{2020/02/25}{orphan line break at end of warning message -% removed}%^^A +% removed} % \begin{macrocode} \if@mincl \advance\textwidth by-\marginparwidth @@ -1930,7 +1810,7 @@ \do{\advance\textheight by\baselineskip}% } % \end{macrocode} -% \end{macro}%^^A \@typearea +% \end{macro}^^A \@typearea % % \begin{macro}{\ta@modiv} % Needed by \cs{typearea}. The first parameter will be divided by the second @@ -1960,7 +1840,7 @@ \fi } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \ta@modiv % % \begin{macro}{\ta@temp@goodwidth} % Sets \cs{ta@temp} to the heuristic optimal line width depending on the @@ -1969,10 +1849,9 @@ % case letters (minors) and three upper case letters (majors). Normally the % weight of a letter depends on the language but we use same weight for each % letter. -% \changes{v2.7i}{2001/05/17}{avoid overflows if a very large font is -% used}%^^A -% \changes{v2.8q}{2002/03/06}{\cs{normalfont} \cs{normalsize} added}%^^A -% \changes{v2.95a}{2006/07/20}{fix of large font calculation}%^^A +% \changes{v2.7i}{2001/05/17}{avoid overflows if a very large font is used} +% \changes{v2.8q}{2002/03/06}{\cs{normalfont} \cs{normalsize} added} +% \changes{v2.95a}{2006/07/20}{fix of large font calculation} % \begin{macrocode} \newcommand*\ta@temp@goodwidth{% \settowidth{\ta@temp}{\normalfont\normalsize @@ -1993,12 +1872,12 @@ \fi } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \ta@temp@goodwidth % -% \begin{macro}{\AfterCalculatingTypearea} -% \changes{v2.96a}{2006/11/29}{new}%^^A +% \begin{command}{\AfterCalculatingTypearea} +% \changes{v2.96a}{2006/11/29}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by -% \cs{kernel@ifstar}}%^^A +% \cs{kernel@ifstar}} % Users can influence the behaviour of \cs{typearea} by a hook. The star % variation adds the code locally the non-star variation globally. % \begin{macrocode} @@ -2007,19 +1886,19 @@ } % \end{macrocode} % \begin{macro}{\@typearea@end} -% \changes{v2.96a}{2006/11/29}{defined again but completely different}%^^A +% \changes{v2.96a}{2006/11/29}{defined again but completely different} % Macro \cs{@typearea@end} is a hook that is executed at the end of % \cs{typearea} but before the activation of the new settings. So you can % change the result of \cs{typearea}. % \begin{macrocode} \newcommand*{\@typearea@end}{} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@typearea@end +% \end{command}^^A \AfterCalculatingTypearea % -% \begin{macro}{\activateareas} -% \changes{v2.96a}{2006/11/29}{new name for old macro}%^^A -% \changes{v3.17}{2015/02/07}{respect option \texttt{usegeometry}}%^^A +% \begin{command}{\activateareas} +% \changes{v2.96a}{2006/11/29}{new name for old macro} +% \changes{v3.17}{2015/02/07}{respect option \opt{usegeometry}} % This macro is used to activate the new typing area and margin settings % inside the document body. It is a hack, because is uses internal \LaTeX{} % kernel code. @@ -2032,7 +1911,7 @@ \if@atdocument % \end{macrocode} % \changes{v3.23}{2017/04/03}{info instead of warning if used inside the -% document body}%^^A +% document body} % But if, we show an info, because it is a hack. It depends in the \LaTeX{} % release. Nevertheless, it seems to be stable from the very first \LaTeXe{} % release. So we use an info only. Before v3.23 we have used a warning. @@ -2061,9 +1940,9 @@ \KOMAoptions{pagesize=\@pagesizelast}% }% % \end{macrocode} -% \changes{v3.17}{2015/03/18}{adapt the \Option{parskip} settings}%^^A +% \changes{v3.17}{2015/03/18}{adapt the \opt{parskip} settings} % From v3.17 changes of the typing area can immediately change some of the -% \Option{parskip} settings. Before |\begin{document}| the change will be done +% \opt{parskip} settings. Before |\begin{document}| the change will be done % automatically at |\begin{document}| and therefore adding it here is correct. % \begin{macrocode} \expandafter\ifnum\scr@ta@v@is@ge{3.17}% @@ -2071,12 +1950,12 @@ \fi \fi % \end{macrocode} -% \changes{v3.17}{2015/02/07}{new code for option \Option{usegeometry}} -% If option \Option{usegeometry} is active we need to setup several options of -% package \Package{geometry}. We use \cs{scr@geometryargs} to store them. And -% we either have to pass these options to \Package{geometry} or define a new +% \changes{v3.17}{2015/02/07}{new code for option \opt{usegeometry}} +% If option \opt{usegeometry} is active we need to setup several options of +% package \pkg{geometry}. We use \cs{scr@geometryargs} to store them. And +% we either have to pass these options to \pkg{geometry} or define a new % geometry. In the second case we also need some hacks to make the new paper -% size available for \Package{geometry}. +% size available for \pkg{geometry}. % \begin{macrocode} \edef\scr@geometryargs{% bindingoffset=\the\ta@bcor, @@ -2131,40 +2010,38 @@ } % \end{macrocode} % \begin{macro}{\scr@geometryargs} -% \changes{v3.16}{2015/02/07}{neu (intern)}%^^A -% The initialization of the \Package{geometry} options is empty. It will be +% \changes{v3.16}{2015/02/07}{neu (intern)} +% The initialization of the \pkg{geometry} options is empty. It will be % filled automatically by \cs{activateareas}. % \begin{macrocode} \newcommand*{\scr@geometryargs}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \changes{v2.4g}{1996/11/04}{waste comments removed}%^^A -% \changes{v2.7g}{2001/04/17}{new symbolic values \texttt{current}, -% \texttt{default}, \texttt{calc}, \texttt{classic}}%^^A -% \changes{v2.8q}{2001/11/06}{new symbolic value \texttt{last}}%^^A -% \changes{v2.96}{2006/08/21}{warn if \cs{typearea} is used inside a -% group}%^^A -% \changes{v3.10}{2011/09/13}{using \cs{scr@grouplevel@test}}%^^A -% \changes{v3.12}{2013/03/26}{page footer height configurable}%^^A -% \changes{v3.30}{2020/03/24}{\texttt{current} after \cs{areaset} is -% \texttt{areaset}}%^^A +% \end{macro}^^A \scr@geometryargs +% \end{command}^^A \activateareas +% +% \changes{v2.4g}{1996/11/04}{waste comments removed} +% \changes{v2.7g}{2001/04/17}{new symbolic values \opt{current}, +% \opt{default}, \opt{calc}, \opt{classic}} +% \changes{v2.8q}{2001/11/06}{new symbolic value \opt{last}} +% \changes{v2.96}{2006/08/21}{warn if \cs{typearea} is used inside a group} +% \changes{v3.10}{2011/09/13}{using \cs{scr@grouplevel@test}} +% \changes{v3.12}{2013/03/26}{page footer height configurable} +% \changes{v3.30}{2020/03/24}{\opt{current} after \cs{areaset} is \opt{areaset}} % % The symbolic values of the obligatory argument of \cs{typearea}: % \begin{center}\begin{tabular}{lll} % Symbol & Value & Meaning \\\hline\\[-2ex] -% \texttt{calc} & 2 & calculate a good value \\ -% \texttt{classic} & 3 & \emph{mittelalterlicher Buchseitenkanon} \\ -% \texttt{current} & --- & use the current value \\ -% \texttt{default} & 0 & use a value from the list \\ -% \texttt{last} & --- & use the value from the last usage of +% \opt{calc} & 2 & calculate a good value \\ +% \opt{classic} & 3 & \emph{mittelalterlicher Buchseitenkanon} \\ +% \opt{current} & --- & use the current value \\ +% \opt{default} & 0 & use a value from the list \\ +% \opt{last} & --- & use the value from the last usage of % \cs{typearea} \\ -% \texttt{areaset} & --- & replace the current typing area \\ +% \opt{areaset} & --- & replace the current typing area \\ % \end{tabular}\end{center} % % There is only one symbolic value that can be used as the optional argument: -% \texttt{current}. +% \opt{current}. % \begin{macrocode} \newcommand*\typearea[2][\z@]{% \scr@grouplevel@test\typearea @@ -2195,7 +2072,7 @@ % \end{macrocode} % Before we do the calculation we need to start a new page if we are inside % the document's body. And we need to select the document font size. -% \changes{v2.95a}{2006/07/20}{select document font size}%^^A +% \changes{v2.95a}{2006/07/20}{select document font size} % \begin{macrocode} \if@atdocument\newpage\fi \normalsize @@ -2203,9 +2080,9 @@ % Is the height of the page head already given or do we need to calculate % it. If we need to calculate it we use 1.25 of the base lines distance. This % gives enough room for optional separation lines (which are set outside if -% use \Package{scrlayer-scrpage}). +% use \pkg*{scrlayer-scrpage}). % \changes{v2.4n}{1997/05/28}{page head height depends on base line -% distance}%^^A +% distance} % \begin{macrocode} \@ifundefined{ta@hh}{% \headheight=1.25\baselineskip @@ -2222,8 +2099,8 @@ % \begin{macrocode} \headsep=1.5\baselineskip % \end{macrocode} -% The foot is a similar problem. But we have to setup also \cs{footskip} not -% only \cs{footheight}. +% The foot is a similar problem. But we have to setup also \len{footskip} not +% only \len{footheight}. % \begin{macrocode} \@ifundefined{footheight}{% \newlength\footheight @@ -2240,13 +2117,13 @@ \marginparsep=1cc \marginparpush=0.45\baselineskip % \end{macrocode} -% \changes{v2.4g}{1996/11/04}{\textit{DIV}=0 tries to use a value from the -% default list} +% \changes{v2.4g}{1996/11/04}{\opt{DIV\quotechar=0} tries to use a value from the +% default list} % Before we do the calculation we test, whether the resulting divisor is % 0. Values from 0 up to 3 are not possible because we use three parts for the % margins. So we can use 0 to get a value from the default value list if % available. -% \changes{v2.5h}{1999/12/29}{warning message changed}%^^A +% \changes{v2.5h}{1999/12/29}{warning message changed} % \begin{macrocode} \ifnum\ta@div=\z@ \@ifundefined{@ptsize}{% @@ -2265,8 +2142,7 @@ \ta@divfor{\@ptsize}% \fi % \end{macrocode} -% \changes{v2.4n}{1997/05/28}{optional \emph{klassischer -% Buchseitenkanon}}%^^A +% \changes{v2.4n}{1997/05/28}{optional \emph{klassischer Buchseitenkanon}} % Another special case is if the divisor is 3. In this case we calculate a % divisor near to the \emph{klassischer Buchseitenkanon}. This means we try to % have the height of the typing area is as near as possible the width of the @@ -2316,14 +2192,14 @@ \ta@modiv{\paperheight}{\ta@temp}% \fi % \end{macrocode} -% Here we do not need to respect \Option{mpinclude} because we do not use the +% Here we do not need to respect \opt{mpinclude} because we do not use the % width of the typing area but the height of the paper. % \begin{macrocode} \fi % \end{macrocode} % If we did not found a good value until this point, we try to calculate the % optimal divisor. -% \changes{v2.4n}{1997/05/28}{improved optimal divisor calculation}%^^A +% \changes{v2.4n}{1997/05/28}{improved optimal divisor calculation} % \begin{macrocode} \ifnum\ta@div <4 \typeout{DIV calculation for typearea with good linewidth.}% @@ -2340,8 +2216,8 @@ % \end{macrocode} % In two column mode each text line has two such columns plus the column % separation width. -% \changes{v2.8q}{2001/12/13}{\texttt{DIVcalc} uses wider columns in two -% column mode}%^^A +% \changes{v2.8q}{2001/12/13}{\opt{DIVcalc} uses wider columns in two +% column mode} % \begin{macrocode} \if@twocolumn \addtolength{\ta@temp}{\ta@temp}% @@ -2369,9 +2245,9 @@ % \end{macrocode} % The width of block and the width of the paper can be used to calculate the % divisor. -% \changes{v2.8q}{2002/03/28}{respect \Option{mpinclude} at the calculation -% of the best divisor}%^^A -% If option \Option{mpinclude} is active, we have to multiply the divisor with +% \changes{v2.8q}{2002/03/28}{respect \opt{mpinclude} at the calculation +% of the best divisor} +% If option \opt{mpinclude} is active, we have to multiply the divisor with % $\frac{3}{3+m}$. $m$ is the number of blocks used for the margin notes. If % $m=1$ we have an factor of $\frac{3}{4}=0.75$. More difficult would be not % to use a number of blocks for the margin note column but a dedicated value @@ -2401,9 +2277,9 @@ % This would be the minimum top margin. If the margin is less, we need another % divisor. In this case we also have to recognize whether the page head and % footer are part of the margins or the typing area. -% \changes{v2.5b}{1997/06/29}{take care for \Option{headinclude} and -% \Option{footinclude} while calculating the divisor for minimum top -% margin}%^^A +% \changes{v2.5b}{1997/06/29}{take care for \opt{headinclude} and +% \opt{footinclude} while calculating the divisor for minimum top +% margin} % \begin{macrocode} \setlength{\ta@temp}{15mm}% \if@hincl\else @@ -2425,22 +2301,20 @@ % \begin{macrocode} \@typearea % \end{macrocode} -% \changes{v2.0e}{1994/10/28}{write layout values to the \File{log} file}%^^A -% \changes{v2.4i}{1996/11/11}{write to the \File{log} file later}%^^A -% \changes{v2.4i}{1996/11/11}{execute \cs{@typearea@end} at the end of -% \cs{typearea}}%^^A -% \changes{v2.4j}{1996/12/04}{\File{log} output with only one -% \cs{textheight} but additional \cs{baselineskip}}%^^A -% \changes{v2.5}{1997/06/17}{"`arithmetic overflow"' with \Option{landscape} -% fixed}%^^A -% \changes{v2.95}{2004/01/30}{warning in two column mode fixed}%^^A +% \changes{v2.0e}{1994/10/28}{write layout values to the \file{log} file} +% \changes{v2.4i}{1996/11/11}{write to the \file{log} file later} +% \changes{v2.4i}{1996/11/11}{execute \cs{@typearea@end} at the end of \cs{typearea}} +% \changes{v2.4j}{1996/12/04}{\file{log} output with only one +% \cs{textheight} but additional \cs{baselineskip}} +% \changes{v2.5}{1997/06/17}{"`arithmetic overflow"' with \opt{landscape} fixed} +% \changes{v2.95}{2004/01/30}{warning in two column mode fixed} % \changes{v3.00}{2008/10/08}{use \cs{ta@layoutinfo} to write the layout -% values into the \File{log} file}%^^A -% \changes{v3.01b}{2008/12/09}{warning for sub-optimal settings changed}%^^A -% \changes{v3.26}{2018/07/16}{warning about long lines changed}%^^A +% values into the \file{log} file} +% \changes{v3.01b}{2008/12/09}{warning for sub-optimal settings changed} +% \changes{v3.26}{2018/07/16}{warning about long lines changed} % \changes{v3.26}{2018/07/16}{warning about small lines changed and -% replaced by an info}%^^A -% Last but not least we write some layout values into the \File{log} file. For +% replaced by an info} +% Last but not least we write some layout values into the \file{log} file. For % some of the information we need additional calculations, e.g., of a good % line width. % \begin{macrocode} @@ -2524,8 +2398,8 @@ % \end{macrocode} % % \begin{macro}{\ta@layoutinfo} -% \changes{v3.00}{2008/10/08}{new (internal)}%^^A -% Write several layout information into the \File{log} file. The first +% \changes{v3.00}{2008/10/08}{added} +% Write several layout information into the \file{log} file. The first % argument is the current divisor and the second the discrepancy from the % optimal divisor or empty or \cs{relax}. % \begin{macrocode} @@ -2565,11 +2439,11 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \ta@layoutinfo +% \end{command}^^A \typearea % -% \begin{macro}{\recalctypearea} -% \changes{v2.95}{2002/12/04}{new}%^^A +% \begin{command}{\recalctypearea} +% \changes{v2.95}{2002/12/04}{added} % This command can be used to recalculate the typing area and the margins with % the divisor and the binding correction that has been used last. The command % is available only after loading the package. So it is an indicator if we @@ -2578,14 +2452,13 @@ \AtEndOfPackage{\newcommand*{\recalctypearea}{\typearea[current]{last}}} %</package&typearea&body> % \end{macrocode} -% \end{macro} +% \end{command} % % Initially \cs{ta@bcor} and \cs{ta@div} are zero if is has not been set using % one of the options. The 0 divisor stands for using a value from the default % list. So the final initialization of the typing area and margins is very % easy. -% \changes{v2.8q}{2001/11/06}{initialization using symbolic values -% \texttt{current}}%^^A +% \changes{v2.8q}{2001/11/06}{initialization using symbolic values \opt{current}} % \begin{macrocode} %<*package&typearea&final> \typearea[current]{current} @@ -2594,14 +2467,13 @@ % % \subsection{Storage and reactivation of typing area and margin settings} % -% \begin{macro}{\storeareas} -% \changes{v3.10}{2011/09/13}{new}%^^A -% \changes{v3.18}{2015/05/20}{Hooks at the beginning and end of the defined -% macro}%^^A +% \begin{command}{\storeareas} +% \changes{v3.10}{2011/09/13}{added} +% \changes{v3.18}{2015/05/20}{Hooks at the beginning and end of the defined macro} % You can store the current settings of the typing area and the margins in a % macro. If you use the macro later the stored settings will be restored. % \begin{macro}{\scr@grouplevel@test} -% \changes{v3.10}{2011/09/13}{new (internal)}%^^A +% \changes{v3.10}{2011/09/13}{added} % Warn if restoring the settings is used inside a group. % \begin{macrocode} %<*package&typearea&body> @@ -2666,24 +2538,13 @@ \reserved@a } % \end{macrocode} -% \begin{macro}{\BeforeRestoreareas} -% \changes{v3.18}{2015/05/20}{new}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by -% \cs{kernel@ifstar}}%^^A -% \begin{macro}{\AfterRestoreareas} -% \changes{v3.18}{2015/05/20}{new}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by -% \cs{kernel@ifstar}}%^^A -% \begin{macro}{\scr@storeareashook} -% \changes{v3.18}{2015/05/20}{new (internal)}%^^A -% \begin{macro}{\scr@storeareas@before@hook} -% \changes{v3.18}{2015/05/20}{new (internal)}%^^A -% \begin{macro}{\scr@storeareas@before@current@hook} -% \changes{v3.18}{2015/05/20}{new (internal)}%^^A -% \begin{macro}{\scr@storeareas@after@hook} -% \changes{v3.18}{2015/05/20}{new (internal)}%^^A -% \begin{macro}{\scr@storeareas@after@current@hook} -% \changes{v3.18}{2015/05/20}{new (internal)}%^^A +% \begin{command}{\BeforeRestoreareas,\AfterRestoreareas} +% \changes{v3.18}{2015/05/20}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \begin{macro}{\scr@storeareashook,\scr@storeareas@before@hook, +% \scr@storeareas@before@current@hook,\scr@storeareas@after@hook, +% \scr@storeareas@after@current@hook} +% \changes{v3.18}{2015/05/20}{added} % Adds code to one of the hooks of the macros defined by \cs{storeareas}. % The star variants adds code only to not yet defined macros. The non-star % variant also changes already defined macros. @@ -2705,24 +2566,19 @@ \newcommand*{\scr@storeareas@after@current@hook}{} %</package&typearea&body> % \end{macrocode} -% \end{macro}%^^A \scr@storeareas@after@current@hook -% \end{macro}%^^A \scr@storeareas@after@hook -% \end{macro}%^^A \scr@storeareas@before@current@hook -% \end{macro}%^^A \scr@storeareas@before@hook -% \end{macro}%^^A \scr@storeareashook -% \end{macro}%^^A \AfterRestoreareas -% \end{macro}%^^A \BeforeRestoreareas -% \end{macro}%^^A \scr@grouplevel@test -% \end{macro}%^^A \storeareas +% \end{macro}^^A \scr@storeareashook … \scr@storeareas@after@current@hook +% \end{command}^^A \BeforeRestoreareas,\AfterRestoreareas +% \end{macro}^^A \scr@grouplevel@test +% \end{command}^^A \storeareas % % \subsection{Calculation of margins for a given typing area} % % Beside the calculation of the typing area and the margins by a divisor -% \Package{typearea} also provides the calculation of margins for a given +% \pkg*{typearea} also provides the calculation of margins for a given % typing area. % % \begin{option}{areasetadvanced} -% \changes{v3.11}{2012/04/17}{new}%^^A +% \changes{v3.11}{2012/04/17}{added} % Switch to advanced version of \cs{areaset}. This does calculate margins % more like \cs{typearea}. Nevertheless, there's still a difference at the top % margin, because \cs{typerea} doesn't balance differences in calculated @@ -2735,14 +2591,14 @@ % \end{macrocode} % \end{option} % -% \begin{macro}{\areaset} -% \changes{v2.1b}{1994/12/31}{\cs{headheight} depends on \cs{@ptsize}}%^^A +% \begin{command}{\areaset} +% \changes{v2.1b}{1994/12/31}{\cs{headheight} depends on \cs{@ptsize}} % \changes{v2.6}{2000/01/04}{\cs{headheight} depends on \cs{f@size} instead -% of \cs{@ptsize}}%^^A -% \changes{v2.7g}{2001/04/17}{symbolic value \texttt{current} for the -% optional argument}%^^A +% of \cs{@ptsize}} +% \changes{v2.7g}{2001/04/17}{symbolic value \opt{current} for the +% optional argument} % \changes{v2.95}{2002/12/05}{execute \cs{@typearea@end} at the end of -% \cs{areaset}}%^^A +% \cs{areaset}} % If we have given width and height of the typing area we still can calculate % the margins. Again we want to use this not only in the document preamble but % also in the document body. @@ -2760,7 +2616,7 @@ % Then we do the calculation. % \changes{v2.96}{2006/09/12}{set \cs{topskip}} % \changes{v3.00}{2008/10/08}{use \cs{ta@layoutinfo} to write layout -% information into the \File{log} file}%^^A +% information into the \file{log} file} % \begin{macrocode} \setlength{\textwidth}{#2}% \setlength{\textheight}{#3}% @@ -2775,7 +2631,7 @@ % \end{macrocode} % \changes{v3.11}{2012/04/17}{advanced version with different margin widths}% % With v3.11 we will have an advanced version of \cs{areaset}. This -% version takes care to option \texttt{mpinclude}. +% version takes care to option \opt{mpinclude}. % \begin{macrocode} \if@areasetadvanced \if@mincl @@ -2793,9 +2649,9 @@ \advance\oddsidemargin by1.5\ta@hblk \advance\oddsidemargin by\ta@bcor % \end{macrocode} -% \changes{v3.12}{2013/10/15}{use alternating \texttt{BCOR} with -% \texttt{twoside!=semi}} -% If \Option{twoside=semi} is used, form v3.12 we add the binding correction +% \changes{v3.12}{2013/10/15}{use alternating \opt{BCOR} with +% \opt{twoside\quotechar=semi}} +% If \opt{twoside=semi} is used, form v3.12 we add the binding correction % to the inner margin. If compatibility to version less than 3.12 has been % selected the binding correction will be added to the left margin. % \begin{macrocode} @@ -2839,7 +2695,7 @@ \fi \headsep=1.5\baselineskip % \end{macrocode} -% \changes{v3.12}{2013/03/26}{changes for height of foot}%^^A +% \changes{v3.12}{2013/03/26}{changes for height of foot} % \begin{macrocode} \@ifundefined{footheight}{\newlength\footheight}{} \if@areasetadvanced @@ -2884,7 +2740,7 @@ % \changes{v3.11}{2012/04/17}{advanced version with different % \cs{marginparwidth} and unchanged \cs{marginparsep}}% % With version 3.11 we will have an advanced version of \cs{areaset}. This -% version supports \texttt{mpinclude} option like \cs{typearea}. +% version supports \opt{mpinclude} option like \cs{typearea}. % \begin{macrocode} \if@areasetadvanced \if@mincl @@ -2898,9 +2754,9 @@ \marginparpush=0.45\baselineskip \ta@layoutinfo{areaset}{}% % \end{macrocode} -% \changes{v3.11}{2012/04/17}{using \cs{@areaset@end}}%^^A +% \changes{v3.11}{2012/04/17}{using \cs{@areaset@end}} % \changes{v3.16a}{2015/02/11}{using \cs{footheight} for calculation of -% page usage}%^^A +% page usage} % Since v3.11 we also support \cs{AfterSettingArea} analogous to % \cs{AfterCalculatingTypearea}: % \begin{macrocode} @@ -2920,12 +2776,11 @@ \fi } % \end{macrocode} -% \end{macro} +% \end{command} % -% \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 +% \begin{command}{\AfterSettingArea} +% \changes{v3.11}{2012/04/17}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % The user may influence the result of \cs{areaset}. The star version works % local while the non-star version is global. % \begin{macrocode} @@ -2934,7 +2789,7 @@ } % \end{macrocode} % \begin{macro}{\@areaset@end} -% \changes{v3.11}{2012/04/17}{new}%^^A +% \changes{v3.11}{2012/04/17}{added} % Macro \cs{@areaset@end} is a hook to make it possible to add some % instructions to the end of the \cs{areaset} command. This will be executed % before the activation of the settings inside a document. @@ -2943,7 +2798,7 @@ %</package&typearea&body> % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % % \subsection{Deprecated options} % @@ -2951,81 +2806,62 @@ % deprecated since \KOMAScript{} 3.00. Most of them but not all are pattern % matching options. % -% \begin{option}{DIVcalc} -% \changes{v2.4g}{1996/11/04}{new}%^^A -% \changes{v2.95}{2002/12/04}{implemented using option \Option{DIV}}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A -% \begin{option}{DIVclassic} -% \changes{v2.4n}{1997/05/28}{new}%^^A -% \changes{v2.95}{2002/12/04}{implemented using option \Option{DIV}}%^^A -% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by -% \cs{PackageInfoNoLine}}%^^A -% \changes{v3.01a}{2008/11/21}{deprecated}%^^A -% The former form of \Option{DIV=}\Option{calc} and -% \Option{DIV=}\Option{classic}. +% \begin{option}{DIVcalc,DIVclassic} +% \changes{v2.4g}{1996/11/04}{added} +% \changes{v2.95}{2002/12/04}{implemented using option \opt{DIV}} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}} +% \changes{v3.01a}{2008/11/21}{deprecated} +% The former form of \opt{DIV=}\opt{calc} and \opt{DIV=}\opt{classic}. % \begin{macrocode} %<*package&typearea&options> \KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc} \KOMA@DeclareDeprecatedOption[typearea]{DIVclassic}{DIV=classic} %</package&typearea&options> % \end{macrocode} -% \end{option}%^^A DIVclassic -% \end{option}%^^A DIVcalc -% -% \begin{option}{a\meta{integer}paper} -% \begin{option}{b\meta{integer}paper} -% \begin{option}{c\meta{integer}paper} -% \begin{option}{d\meta{integer}paper} -% Formerly \Option{a}\meta{integer}\Option{paper}, -% \Option{b}\meta{integer}\Option{paper}, -% \Option{c}\meta{integer}\Option{paper}, -% \Option{d}\meta{integer}\Option{paper} has been documented. Since +% \end{option}^^A DIVcalc,DIVclassic +% +% \begin{option}{a...paper,b...paper,c...paper,d...paper} +% Formerly \opt{a}\meta{integer}\opt{paper}, +% \opt{b}\meta{integer}\opt{paper}, +% \opt{c}\meta{integer}\opt{paper}, +% \opt{d}\meta{integer}\opt{paper} has been documented. Since % \KOMAScript{} v3.00 most of them are deprecated and has been replaced by -% option \Option{paper}. Nevertheless, for compatibility these options and the +% option \opt{paper}. Nevertheless, for compatibility these options and the % commands needed to recognize and handle them are still implemented. % -% The documentation of the deprecated part of the feature is still in German. -% \selectlanguage{ngerman} % % \begin{macro}{\x@paper} % \begin{macro}{\x@@paper} -% \changes{v2.5}{1997/06/17}{neue Mustererkennung für die -% Papiergröße}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A -% Diese Makros werden ebenfalls später benötigt, wenn die Papiergröße -% festgelegt wird. -% \begin{macro}{\isopaper} -% \changes{v2.5}{1997/06/17}{neu}%^^A -% \changes{v2.95}{2002/12/03}{es sind auch Großbuchstaben erlaubt}%^^A -% \changes{v3.23}{2017/02/22}{verwendet \cs{ISO@PaperNameToSize}}%^^A -% Da das Makro \cs{isopaper} zur Berechnung unterschiedlicher -% ISO/DIN-Papierformate in der Mustererkennung für die Papiergröße -% benötigt wird, wurde dieses Makro ebenfalls vorgezogen. +% \changes{v2.5}{1997/06/17}{pattern matching of paper sizes} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} renamed to \cs{Ifnumber}} +% This macros will be needed when the paper size will be generated. +% \begin{command}{\isopaper} +% \changes{v2.5}{1997/06/17}{new} +% \changes{v2.95}{2002/12/03}{upper case letters are also allowed} +% \changes{v3.23}{2017/02/22}{using \cs{ISO@PaperNameToSize}} +% Because \cs{isopaper} is used inside the paper size detection by pattern +% matching to select a specific ISO/DIN paper size, it has to be defined +% before the pattern matching will be done. % \begin{macrocode} %<*package&typearea&options> \newcommand\isopaper[2][a]{% % \end{macrocode} -% Das Makro kennt zwei Parameter, von denen der erste und optionale -% die Grundgröße angibt. Die Angabe erfolgt über einen -% Buchstaben. Möglich sind +% The command has to parameters. The first one is optional and the basic size +% given by one of the letters: % \begin{description} -% \item[a] -- ISO/DIN-A-Format -% \item[b] -- ISO/DIN-B-Format -% \item[c] -- ISO/DIN-C-Format -% \item[d] -- ISO/DIN-D-Format +% \item[a] -- ISO/DIN A sizes +% \item[b] -- ISO/DIN B sizes +% \item[c] -- ISO/DIN C sizes +% \item[d] -- ISO/DIN D sizes % \end{description} -% Der zweite Paremeter gibt dann die Skalierung an. +% The second and mandatory argument is the scale number % \begin{macrocode} \ISO@PaperNameToSize[typearea]#1#2\@nil % \end{macrocode} -% Jetzt noch die gewünschte Ausrichtung beachten. -% \changes{v2.97e}{2007/10/23}{gewünschte Papierausrichtung wird -% beachtet}%^^A -% \changes{v3.22}{2016/07/29}{Papierausrichtung entsprechend dem -% tatsächlichen Format}%^^A +% Select either landscape or portrait: +% \changes{v2.97e}{2007/10/23}{landscape or portrait} +% \changes{v3.22}{2016/07/29}{adapting paper orientation} % \begin{macrocode} \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax \scr@setpaperorientation @@ -3034,9 +2870,9 @@ \fi } % \end{macrocode} -% \textsf{typearea} verwendet eine eigene Fehlerausgabe. +% \pkg*{typearea} uses its own error message. % \begin{macro}{\scr@UnknownPaperSize@typearea} -% \changes{v3.23}{2017/02/22}{neu (intern)} +% \changes{v3.23}{2017/02/22}{new} % \begin{macrocode} \ProvideUnknownPaperSizeError{typearea}{% \PackageError{typearea}{% @@ -3051,11 +2887,11 @@ \setlength{\paperheight}{1189sp}% } % \end{macrocode} -% \end{macro}%^^A \scr@UnknownPaperSize@typearea -% \end{macro}%^^A \isopaper +% \end{macro}^^A \scr@UnknownPaperSize@typearea +% \end{command}^^A \isopaper % \begin{macro}{\scr@setpaperorientation} -% \changes{v3.22}{2016/07/29}{neu (intern)} -% Stellt die Papierausrichtung entsprechend \cs{if@landscape} ein. +% \changes{v3.22}{2016/07/29}{new} +% Setup the paper orientation depending on \cs{if@landscape}. % \begin{macrocode} \newcommand*\scr@setpaperorientation{% \ifdim\paperheight>\paperwidth @@ -3066,24 +2902,24 @@ } % \end{macrocode} % \begin{macro}{\scr@switchpapersizes} -% \changes{v3.22}{2016/07/29}{neu (intern)} -% Vertauscht zwei Längen. +% \changes{v3.22}{2016/07/29}{new} +% Switches the two lengths \len{paperwidth} and \len{paperheight}. % \begin{macrocode} \newcommand*\scr@switchpapersizes{% \@tempdima\paperwidth\paperwidth\paperheight\paperheight\@tempdima } % \end{macrocode} -% \end{macro}%^^A \scr@switchlength -% \end{macro}%^^A \scr@setpaperorientation +% \end{macro}^^A \scr@switchlength +% \end{macro}^^A \scr@setpaperorientation % \begin{macro}{\iso@paper} -% \changes{v2.95}{2002/12/03}{neu (intern)}%^^A -% Ein ganz ähnlicher interner Befehl erhält den gesamten Namen des -% ISO-Papierformats als einziges Argument. +% \changes{v2.95}{2002/12/03}{new} +% Similar to \cs{isopaper} but with only one argument for the base size and +% the scale number. % \begin{macro}{\iso@@paper} -% \changes{v2.95}{2002/12/03}{neu (intern)}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A -% Dieses Argument wird dann über einen weiteren internen Befehl per -% Mustererkennung in den Kennbuchstaben und eine Zahl zerlegt. +% \changes{v2.95}{2002/12/03}{new} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} renamed to \cs{Ifnumber}} +% The single argument is split into base size letter and scale number by +% pattern matching. % \begin{macrocode} \newcommand*{\iso@paper}[1]{\expandafter\iso@@paper#1\@nil} \newcommand*{\iso@@paper}{} @@ -3104,54 +2940,47 @@ } %</package&typearea&options> % \end{macrocode} -% \end{macro}%^^A \iso@@paper -% \end{macro}%^^A \iso@paper -% \selectlanguage{english} -% -% \begin{option}{DIV\meta{integer}} -% \begin{option}{BCOR\meta{length}} -% Formerly \Option{DIV}\meta{integer}, \Option{BCOR}\meta{length}, -% \Option{headlines}\meta{real} has been documented as options. Since -% \KOMAScript{} 3.00 these have been replaced by \Option{DIV=}\meta{integer}, -% \Option{BCOR=}\meta{length} and -% \Option{headlines=}\meta{real}. Nevertheless, for compatibility the -% deprecated options are still handled by \Macro{DeclareOption*} and so we +% \end{macro}^^A \iso@@paper +% \end{macro}^^A \iso@paper +% +% \begin{option}{DIV...} +% \begin{option}{BCOR...} +% Formerly \opt{DIV}\meta{integer}, \opt{BCOR}\meta{length}, +% \opt{headlines}\meta{real} has been documented as options. Since +% \KOMAScript{} 3.00 these have been replaced by \opt{DIV=}\meta{integer}, +% \opt{BCOR=}\meta{length} and +% \opt{headlines=}\meta{real}. Nevertheless, for compatibility the +% deprecated options are still handled by \cs{DeclareOption*} and so we % need several helper macros to recognize them. % -% The documentation of the deprecated part of the feature is still in German. -% \selectlanguage{ngerman} % % \begin{macro}{\@BCOR} % \begin{macro}{\@@BCOR} -% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch -% Mustererkennung ersetzt}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% Das Makro \cs{@BCOR} wird später benötigt, um die Option -% \texttt{BCOR\emph{BCOR}} zu erkennen. Die Option wird über ihr -% Muster erkannt. +% \changes{v2.5}{1997/06/17}{Single letter scanner replaced by pattern matching} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% Macro \cs{@BCOR} it needed to handle option \opt{BCOR\emph{BCOR}}. The +% option is recognized by pattern matching. % \begin{macrocode} %<*(class|(package&typearea))&options> \newcommand*{\@BCOR}{\expandafter\@@BCOR\CurrentOption BCORBCOR\@@BCOR} \newcommand*{\@@BCOR}{} \def\@@BCOR #1BCOR#2BCOR#3\@@BCOR{% % \end{macrocode} -% Handelt es sich um die Option \texttt{BCOR}, so ist der erste -% Parameter leer. +% If it is option \opt{BCOR} the first argument is empty. % \begin{macrocode} \Ifstr{#1}{}{% % \end{macrocode} -% Außerdem ist der dritte Parameter dann \texttt{BCOR}. +% Additionally the third argument is |BCOR|. % \begin{macrocode} \Ifstr{#3}{BCOR}{% % \end{macrocode} -% Der zweite Parameter sollte dann die Größe enthalten. Ist dies -% nicht der Fall, wird ein Fehler gemeldet (Fehlerzeile ist dann -% \cs{ProcessOptions}). -% \changes{v3.22}{2016/07/29}{missing deprecated option warning added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifdimen} renamed to \cs{Ifdimen}}%^^A -% \changes{v3.30}{2020/03/24}{avoid error message for unknown \texttt{BCOR} -% value to \cs{documentclass}}%^^A -% \changes{v3.31}{2020/04/27}{improved valid value recognization}%^^A +% Now, the second argument should be the size. If this is not the case, an +% error has to be reported. +% \changes{v3.22}{2016/07/29}{missing deprecated option warning added} +% \changes{v3.28}{2019/11/18}{\cs{ifdimen} renamed to \cs{Ifdimen}} +% \changes{v3.30}{2020/03/24}{avoid error message for unknown \opt{BCOR} +% value to \cs{documentclass}} +% \changes{v3.31}{2020/04/27}{improved valid value recognization} % \begin{macrocode} %<*class> \Ifstrstart{#2}{=}{% @@ -3168,9 +2997,8 @@ }{\scr@pti@nerr@r}% %</package> % \end{macrocode} -% In allen anderen Fällen ist es nicht diese Option, dann wird ein -% Fehler ausgegeben. Stattdessen könnte hier auch auf weitere Optionen -% getestet werden. +% In all other cases it is not this option. So we report an error. Instead of +% the error another option could be tested. % \begin{macrocode} }{\scr@pti@nerr@r}% }{\scr@pti@nerr@r}% @@ -3181,15 +3009,13 @@ % % \begin{macro}{\@DIV} % \begin{macro}{\@@DIV} -% \changes{v2.5}{1997/06/17}{Einzelzeichenscanner durch -% Mustererkennung ersetzt}%^^A -% \changes{v3.22}{2016/07/29}{missing deprecated option warning added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifnumber} umbenannt in \cs{Ifnumber}}%^^A -% \changes{v3.30}{2020/03/24}{avoid error message for unknown \texttt{DIV} -% value to \cs{documentclass}}%^^A -% \changes{v3.31}{2020/04/27}{improved valid value recognization}%^^A -% Die grundsätzliche Funktion ist die gleiche wie bei \cs{@BCOR}, -% \cs{@@BCOR}. +% \changes{v2.5}{1997/06/17}{Single letter scanner replaced by pattern matching} +% \changes{v3.22}{2016/07/29}{missing deprecated option warning added} +% \changes{v3.28}{2019/11/18}{\cs{ifnumber} renamed to \cs{Ifnumber}} +% \changes{v3.30}{2020/03/24}{avoid error message for unknown \opt{DIV} +% value to \cs{documentclass}} +% \changes{v3.31}{2020/04/27}{improved valid value recognization} +% Here we use more or less the same functionality as with \cs{@BCOR} and \cs{@@BCOR}. % \begin{macrocode} \newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV} \newcommand*{\@@DIV}{} @@ -3212,23 +3038,21 @@ %</package> \else\scr@pti@nerr@r\fi % \end{macrocode} -% Der Unterschied liegt darin, dass bei einem Fehlschlag der -% Mustererkennung kein Fehler vorliegt, sondern u.\,U. noch auf -% \texttt{BCOR} getestet werden muss. +% The only difference is, that we do not report an error but also test for +% \opt{BCOR}. % \begin{macrocode} \else\@BCOR\fi } % \end{macrocode} -% \end{macro}%^^A \@@DIV -% \end{macro}%^^A \@DIV +% \end{macro}^^A \@@DIV +% \end{macro}^^A \@DIV % -% \begin{option}{headlines\meta{integer}} +% \begin{option}{headlines...} % \begin{macro}{\@headlines} % \begin{macro}{\@@headlines} -% \changes{v2.7g}{2001/04/17}{neue Mustererkennung für die Anzahl -% der Kopfzeilen}%^^A -% Das Macro \cs{@headlines} wird benötigt, um die Option -% \texttt{headlines} zu erkennen. +% \changes{v2.7g}{2001/04/17}{neW pattern matching for the number of headlines} +% The macros are needed to recognize the deprecated option +% \opt{headlines\meta{integer}}. % \begin{macrocode} \newcommand{\@headlines}{% \expandafter\@@headlines\CurrentOption headlines\@@headlines% @@ -3243,21 +3067,16 @@ } %</(class|(package&typearea))&options> % \end{macrocode} -% \end{macro}%^^A \@headlines -% \end{macro}%^^A \@@headlines +% \end{macro}^^A \@headlines +% \end{macro}^^A \@@headlines % -% \selectlanguage{english} % Starting point for all the deprecated pattern matching options is -% \Macro{DeclareOption*} for command \Macro{x@paper} that uses pattern -% matching with \Macro{x@@paper} to recognize the deprecated options. These -% are needed not only for package \Package{typearea} but also for the classes. +% \cs{DeclareOption*} for command \cs{x@paper} that uses pattern +% matching with \cs{x@@paper} to recognize the deprecated options. These +% are needed not only for package \pkg*{typearea} but also for the classes. % -% The documentation of the deprecated part of the feature is still in German. -% \selectlanguage{ngerman} -% Zurück zur Mustererkennung. Diese ist tatsächlich etwas einfacher -% als die in den beiden Fällen zuvor. -% \changes{v2.97e}{2007/10/23}{Optionen werden nach der neuen Syntax an -% typearea weitergeleitet}%^^A +% Back to the pattern matching. This one is the most simple of all. +% \changes{v2.97e}{2007/10/23}{passing options \pkg*{typearea} using the new syntax} % \begin{macrocode} %<*(class|(package&typearea))&options> \newcommand*{\x@paper}{% @@ -3295,11 +3114,9 @@ % \end{macrocode} % % \begin{macro}{\scr@pti@nerr@r} -% \changes{v2.95}{2002/06/20}{\cs{OptionNotUsed} statt -% \cs{PackageError}} -% Falls die zuätzliche Option nicht \texttt{BCOR}, \texttt{DIV}, -% \texttt{headlines} oder eine bekannte Papiergröße ist, ist die -% Option nicht verwendet. +% \changes{v2.95}{2002/06/20}{\cs{OptionNotUsed} instead of \cs{PackageError}} +% If the addition option is neither \opt{BCOR\dots} nor \opt{DIV\dots} nor +% \opt{headlines} nor a known paper size, it is still unused. % \begin{macrocode} \newcommand*{\scr@pti@nerr@r}{ %<class> \OptionNotUsed @@ -3308,36 +3125,32 @@ % \end{macrocode} % \end{macro} % -% \changes{v2.97c}{2007/09/12}{\cs{lco@test} bei den geparsten Optionen -% eingefügt} +% \changes{v2.97c}{2007/09/12}{\cs{lco@test} added to before pattern matching +% of options} % \begin{macrocode} \DeclareOption*{% %<letter> \lco@test \x@paper} %</(class|(package&typearea))&options> % \end{macrocode} -% \end{option}%^^A headline... -% \end{option}%^^A DIV... -% \end{option}%^^A BCOR... -% \end{macro}%^^A \x@paper -% \end{macro}%^^A \x@@paper -% \end{option}%^^A d...paper -% \end{option}%^^A c...paper -% \end{option}%^^A b...paper -% \end{option}%^^A a...paper +% \end{option}^^A headline... +% \end{option}^^A DIV... +% \end{option}^^A BCOR... +% \end{macro}^^A \x@paper +% \end{macro}^^A \x@@paper +% \end{option}^^A a...paper … d...paper % -% \selectlanguage{english} % % ^^A This part should stay at the end of the source file! % \subsection{Configuration file} % % At the very ending of the option section just before executing and % processing the options you can add additional options the -% \Package{typearea}. This is a very seldom used feature and I recommend to +% \pkg*{typearea}. This is a very seldom used feature and I recommend to % not use it any longer. If you need additional options use % |\BeforeFamilyProcessOptions[.typearea.sty]{KOMA}{...}|. % -% \changes{v2.0e}{1994/10/28}{configuration file \File{typearea.cfg}}%^^A +% \changes{v2.0e}{1994/10/28}{configuration file \file{typearea.cfg}} % \begin{macrocode} %<*package&typearea&options> \InputIfFileExists{typearea.cfg}{% @@ -3353,29 +3166,29 @@ % \subsection{Option execution} % % The paper size and telling the back-end driver information about the paper -% size are default. The default for the default paper size will be \Option{A4} -% if nothing else was defined by a class. Execution of option \Option{twoside} +% size are default. The default for the default paper size will be \opt{A4} +% if nothing else was defined by a class. Execution of option \opt{twoside} % depends already on the setting of \cs{if@twoside} and % \cs{if@semitwoside}. This may be surprising but nevertheless is correct. -% \changes{v2.3h}{1995/01/19}{\cs{relax} after \cs{ProcessOptions} added}%^^A +% \changes{v2.3h}{1995/01/19}{\cs{relax} after \cs{ProcessOptions} added} % \changes{v2.96}{2006/08/18}{processing options in order of usage instead of -% order of declaration}%^^A +% order of declaration} % \changes{v2.97c}{2007/04/19}{Usage of \cs{KOMAExecuteOptions} instead of -% \cs{KOMAoptions}}%^^A +% \cs{KOMAoptions}} % \changes{v2.97c}{2007/04/19}{Usage of \cs{KOMAProcessOptions} instead of -% \cs{ProcessOptions}}%^^A +% \cs{ProcessOptions}} % \changes{v2.97c}{2007/04/19}{set only options that are not an implicit -% default}%^^A +% default} % \changes{v2.97c}{2007/07/18}{explicit setting of a valid value to -% \texttt{twoside}}%^^A +% \opt{twoside}} % \changes{v3.12}{2013/11/11}{the default paper size is given by -% \cs{defaultpagesize}}%^^A -% \changes{v3.17}{2015/03/02}{\Option{pagesize} is default}%^^A +% \cs{defaultpagesize}} +% \changes{v3.17}{2015/03/02}{\opt{pagesize} is default} % \begin{macro}{\defaultpapersize} -% \changes{v3.12}{2013/11/11}{new}%^^A +% \changes{v3.12}{2013/11/11}{added} % The default paper size. Defined using \cs{providecommand} so it can be -% changed by a class or wrapper package or \File{typearea.cfg} or somewhere -% else before loading \Package{typearea}. +% changed by a class or wrapper package or \file{typearea.cfg} or somewhere +% else before loading \pkg*{typearea}. % \begin{macrocode} %<*package&typearea&options> \providecommand*{\defaultpapersize}{A4} @@ -3399,11 +3212,14 @@ % \end{macrocode} % % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-typearea.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx b/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx index f93ffa9eff..15e2be40e7 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-variables.dtx @@ -1,8 +1,7 @@ -% \CheckSum{273} % \iffalse meta-comment % ====================================================================== % scrkernel-variables.dtx -% Copyright (c) Markus Kohm, 2008-2019 +% Copyright (c) Markus Kohm, 2006-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,54 +17,17 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-variables.dtx -% Copyright (c) Markus Kohm, 2008-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-variables.dtx 3393 2019-11-19 10:33:44Z kohm $ +%%% From File: $Id: scrkernel-variables.dtx 3707 2022-02-15 10:40:57Z kohm $ %<option>%%% (run: option) %<body>%%% (run: body) %<*dtx> -% \fi \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}} - \filedate$Date: 2019-11-19 11:33:44 +0100 (Tue, 19 Nov 2019) $ + \filedate$Date: 2022-02-15 11:40:57 +0100 (Di, 15. Feb 2022) $ \def\filerevision$#1: #2 ${\def\filerevision{r#2}} - \filerevision$Revision: 1638 $ + \filerevision$Revision: 3707 $ \xdef\fileinfo{\filedate\space\filerevision\space} \edef\reserved@a{% \noexpand\endgroup @@ -74,80 +36,81 @@ KOMA-Script source(koma variables)] }% \reserved@a -% \iffalse -\documentclass{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-variables.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} +\DocInput{scrkernel-variables.dtx} \end{document} %</dtx> % \fi % -% \selectlanguage{ngerman} -% -% \changes{v2.95}{2006/03/20}{% -% erste Version aus der Aufteilung von \textsf{scrclass.dtx}} -% -% \section{\KOMAScript{}-Variablen} +% \changes{v2.95}{2006/03/20}{new by splitting \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/15}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/15}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-variables.dtx} +% \title{Using Variables in +% \href{https://komascript.de}{\KOMAScript} Letter Classes and Package} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% Letters have several variables like the name and address of the sender and +% the addressee, for fields like customer ids phone numbers, email addresses +% etc. Depending on the purpose of a letter or a corporate identity much +% more field and so variables are possible. For all of them +% \file{scrkernel-variables.dtx} provides a general mechanism and user +% interface. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user documentation the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % -% Bei Briefen gibt es eine ganze Reihe von speziellen Variablen. An dieser -% Stelle sei als Beispiel nur das Feld "`Ihr Zeichen"' genannt. Es ist nahezu -% unmöglich alle diese Felder vorherzusehen. Daher wurde in der neuen -% Briefklasse ein neuer Mechanismus zur Definition solcher Felder geschaffen. +% \section{Implementation of Variables} % -% \iffalse +% \begin{macrocode} %<*letter> -% \fi -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse -%<*option> -% \fi +% \end{macrocode} % -% \subsection{Option} -% Der Mechanismus ist unabhängig von Optionen. +% \subsection{Options} +% The mechanism does not depend on options. % % -% \iffalse -%</option> -%<*body> -% \fi +% \subsection{Commands and macros for variables} % -% \subsection{Anweisungen zum Anlegen und Verwenden von Variablen} -% -% \begin{macro}{\newkomavar} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Es wird zwischen zwei Arten von Feldern unterschieden: +% \begin{command}{\newkomavar*,\newkomavar} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced \cs{kernel@ifstar} by} +% We have two kinds of fields and so variables: % \begin{itemize} -% \item Felder für die Geschäftszeile -% \item Felder für sonstige Verwendung +% \item to be printed in the reference line, +% \item for other purpose, but not printed in the reference line. % \end{itemize} -% Felder können aber auch nachträglich zur Geschäftszeile -% hinzugefügt werden. Die Sternvariante von \cs{newkomavar} führt -% dies jedoch automatisch durch. +% But it is also possible to add variables later to (or +% even remove them from the reference line. But the star variant +% \cs{newkomavar*} automatically adds a variable to (the end of) the reference +% line. % \begin{macro}{\@newkomavar} -% Da mit einer Sternvariante gearbeitet wird, wird ein Hilfsmakro -% benötigt. Das Makro erhält ein optionales und -% ein obligatorisches Argument. Das optionale Argument ist dabei die -% Voreinstellung für den \emph{Ausgabenamen} des Feldes, der -% ggf. ausgegeben werden soll. Das obligatorische Argument ist -% \emph{Name} des Feldes, über den das Feld angesprochen wird. -% Das Makro definiert zwei weitere Makros: \cs{\emph{scr@Name}@var} und -% \cs{scr@\emph{Name}@name}. +% Because of the star variant (and because we currently do not use +% \pkg{xparse}), we need an internal command. +% Both \cs{newkomavar} and \cs{newkomavar*} have one optional argument +% (\texttt{\#1}), the \meta{output name}. It is intended to be printed. In +% opposite to this the first mandatory argument (\texttt{\#2}) is the +% \meta{name} of the variable. It is not indented to be printed but used for access +% only. Only \emph{command sequence} characters are allowed here. It is +% recommended to use only letters for the \meta{name}. Internally +% macro \cs{scr@\meta{name}@name} and \cs{scr@\meta{name}@var} are +% defined. The second one is initialized to be empty. % \begin{macrocode} +%<*body> \newcommand*{\newkomavar}{% \kernel@ifstar {\@tempswatrue\@newkomavar}{\@tempswafalse\@newkomavar}} \newcommand*{\@newkomavar}[2][\relax]{% @@ -184,35 +147,34 @@ } % \end{macrocode} % \end{macro} -% \end{macro} -% -% \begin{macro}{\setkomavar} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v3.08}{2010/10/28}{\cs{scr@\emph{Name}@postsetname} und -% \cs{scr@\emph{Name}@postsetvar}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Natürlich wird auch ein Befehl benötigt, um die Feldvariable zu setzen und -% ihnen ggf. einen neuen Namen für die Ausgabe zu geben. Der \emph{Name} der -% Feldvariable wird als obligatorisches erstes Argument übergeben. Zusätzlich -% zum Setzen von Ausgabename oder Wert werden ggf. auch die Hooks -% \cs{scr@\emph{Name}@postsetname} bzw. \cs{scr@\emph{Name}@postsetvar} -% ausgeführt. +% \end{command} +% +% \begin{command}{\setkomavar*,\setkomavar} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v3.08}{2010/10/28}{\cs{scr@\emph{Name}@postsetname} and +% \cs{scr@\emph{Name}@postsetvar} added} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% After defining a new variable we also need a command to set the +% \meta{value}. This is the second mandatory argument (\texttt{\#3}) of +% \cs{setkomavar}. The first mandatory argument (\texttt{\#2}) once again is +% the \meta{name}. The \meta{output name} can be set with the +% optional first argument (\texttt{\#1}). But for the case only the +% \meta{output name} should be changed but not the \meta{value} there is an +% additional star variant \cs{setkomavar*}. This has only two mandatory argument: +% \meta{name} (\texttt{\#1}) and \meta{output name} (\texttt{\#2}). Both also +% executes two hooks \cs{scr@\meta{name}@postsetname} and +% \cs{scr@\meta{name}@postsetvar} after setting the \meta{output name} +% resp. the \meta{value}. So package authors can define additional actions for +% the case a variable changes. % \begin{macro}{\@setkomavar} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Da dann zwischen einer Sternvariante und einer normalen unterschieden werden -% soll wird ein Hilfsmakro benötigt. -% \begin{macro}{\@setkomaname} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% Die Sternvariante definiert nur den Ausgabename neu. +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by \cs{kernel@ifnextchar}} % \begin{macro}{\@@setkomavar} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% Da in der normalen Variante nach dem Stern ein optionales Argument folgen -% kann, wird mit einem weiteren Hilfsmakro gearbeitet. Der \emph{Ausgabename} -% wird dabei als optionales, zweites Argument übergeben. Der \emph{Inhalt} -% wird als obligatorisches, drittes Argument übergeben. +% \changes{v2.8q}{2002/01/14}{added} +% \begin{macro}{\@setkomaname} +% \changes{v2.8q}{2002/01/14}{added} +% Because of the star variant and the optional argument additional helper +% macros are needed. % \begin{macrocode} \newcommand*{\setkomavar}{% \kernel@ifstar {\@setkomaname}{\@setkomavar}} @@ -243,15 +205,15 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@setkomaname +% \end{macro}^^A \@@setkomavar +% \end{macro}^^A \@setkomavar +% \end{command}^^A \setkomavar*,\setkomavar % % \begin{macro}{\@komavar@err} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% Dieses Makro wird intern in den Makros \cs{setkomavar} und -% \cs{usekomavar} verwendet. +% \changes{v2.8q}{2002/01/14}{added} +% Error message for using or setting (\texttt{\#1}) unknown variables +% (\texttt{\#2}), used by \cs{setkomavar} or \cs{usekomavar}. % \begin{macrocode} \newcommand*{\@komavar@err}[2]{% %<class> \ClassError{scrlttr2% @@ -269,27 +231,21 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\usekomavar} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v2.9i}{2002/09/04}{robust}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% Selbstverständlich wird auch ein Makro benötigt, um auf den -% Inhalt oder den Ausgabename einer Variablen zugreifen zu -% können. Mit der normalen Variante wird dabei der Inhalt, mit der -% Sternvariante der Name ausgegeben. -% \begin{macro}{\@usekomavar} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v2.9i}{2002/09/04}{optionales Argument}%^^A -% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} als Defaultargument -% eingefügt} -% \begin{macro}{\@usekomaname} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v2.9i}{2002/09/04}{optionales Argument}%^^A -% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} als Defaultargument -% eingefügt} -% Da mir einer Sternvariante gearbeitet wird, werden zwei Hilfsmakros -% benötigt. +% \begin{command}{\usekomavar*,\usekomavar} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v2.9i}{2002/09/04}{robust} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% User command to get either the \meta{output name} (star variant) or the +% \meta{value} (non-star variant) of a variable. Once again the first +% mandatory argument (\texttt{\#2}) is the \meta{name} of the value. Both also +% have an optional first argument (\texttt{\#1}) \meta{code}. The \meta{code} +% is added before the \meta{output name} or \meta{value} in the output +% stream and these are used as argument. You use it, e.g., to define a command +% with the content of \meta{output name} or \meta{value} or change the formatting. +% \begin{macro}{\@usekomavar,\@usekomaname} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v2.9i}{2002/09/04}{optional argument} +% \changes{v2.9j}{2002/09/18}{\cs{@firstofone} as default for the optional argument} % \begin{macrocode} \DeclareRobustCommand*{\usekomavar}{% \kernel@ifstar {\@usekomaname}{\@usekomavar}} @@ -308,22 +264,18 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro}{\ifkomavar} -% \changes{v3.03}{2009/03/04}{Neu}%^^A -% \changes{v3.28}{2019/11/15}{umbenannt in \cs{Ifkomavar}}%^^A -% \begin{macro}{\Ifkomavar} -% \changes{v3.28}{2019/11/15}{Neu aus Umbenennung von \cs{ifkomavar}}%^^A -% Feststellen, ob eine \KOMAScript-Variable überhaupt definiert ist. Weil -% einige Mitglieder des \LaTeX3-Teams sich beschwert haben, dass trotz fehlens -% einer eindeutigen Empfehlung, \KOMAScript{} \LaTeX-Verzweigungen mit -% \cs{if\dots} definiert, statt dies \TeX-Verzweigungen vorzubehalten, habe -% ich das hier nach mehr zehn Jahren geändert. Sollte es öffentliche -% Beschwerden dazu geben und Ulrike diese sehen, will sie übrigens darauf -% antworten. +% \end{macro}^^A \@usekomavar,\@usekomaname +% \end{command} +% +% \begin{command}{\ifkomavar,\Ifkomavar} +% \changes{v3.03}{2009/03/04}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavar} renamed to {Ifkomavar}} +% \cs{Ifkomavar} tests if the variable with the \meta{name} of \texttt{\#1} is +% defined and execute the \meta{code} of \texttt{\#2} and otherwise the +% \meta{code} of \texttt{\#3}. The old command \cs{ifkomavar} is deprecated +% and should not be used any longer. This incompatible change has been done, +% because of a new recommendation of The \LaTeX{} Team (who does break its own +% recommendation, e.g., with \cs{ifToplevel}, \cs{ifthenelse} \dots). % \begin{macrocode} \newcommand*{\ifkomavar}{% %<package> \PackageWarning{scrletter}{% @@ -343,35 +295,31 @@ }% } % \end{macrocode} -% \end{macro}%^^A \Ifkomavar -% \end{macro}%^^A \ifkomavar -% -% \begin{macro}{\ifkomavarempty} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v2.9i}{2002/09/04}{Leerzeichen rausgeworfen}%^^A -% \changes{v2.9i}{2002/09/04}{robust}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \changes{v3.28}{2019/11/15}{umbenannt in \cs{Ifkomavar}}%^^A -% \begin{macro}{\Ifkomavarempty} -% \changes{v3.28}{2019/11/15}{Neu aus Umbenennung von \cs{ifkomavarempty}}%^^A -% Es gibt auch noch ein Makro, um zu testen, ob eine \KOMAScript{} -% Variable oder deren Name leer ist. Die Sternvariante ist wieder für -% den Namen zuständig. Weil einige Mitglieder des \LaTeX3-Teams sich beschwert -% haben, dass trotz fehlens einer eindeutigen Empfehlung, \KOMAScript{} -% \LaTeX-Verzweigungen mit \cs{if\dots} definiert, statt dies -% \TeX-Verzweigungen vorzubehalten, habe ich das hier nach mehr 17 Jahren -% geändert. Sollte es öffentliche Beschwerden dazu geben und Ulrike diese -% sehen, will sie übrigens darauf antworten. +% \end{command} +% +% +% \begin{command}{\ifkomavarempty*,\ifkomavarempty,\Ifkomavarempty*,\Ifkomavarempty} +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v2.9i}{2002/09/04}{spurious spaced removed} +% \changes{v2.9i}{2002/09/04}{robust} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} renamed to \cs{Ifkomavar}} +% \cs{Ifkomavarempty} tests if the variable with the \meta{name} of +% \texttt{\#1} is defined and the \meta{value} (non-star variant) +% resp. \meta{output name} (star variant) is empty. If it is undefined or +% empty the \meta{code} of \texttt{\#2} is executed. If is defined and not +% empty the \meta{code} of \texttt{\#3} is executed. +% The old command \cs{ifkomavarempty} resp. \cs{ifkomavarempty*} is deprecated +% and should not be used any longer. This incompatible change has been done, +% because of a new recommendation of The \LaTeX{} Team (who does break its own +% recommendation, e.g., with \cs{ifToplevel}, \cs{ifthenelse} \dots). % \begin{macro}{\if@komavarempty} -% \changes{v2.8q}{2002/01/14}{Neu}%^^A -% \changes{v3.03}{2009/03/04}{die neue Anweisung \cs{ifkomavar} wird -% verwendet} -% \changes{v3.03}{2009/03/04}{die Argumente werden nicht mehr direkt -% gelesen}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavar} durch \cs{Ifkomavar} ersetzt}%^^A -% Da mit einer Sternvariante gearbeitet wird, wird wieder ein -% Hilfsmakro verwendet. +% \changes{v2.8q}{2002/01/14}{added} +% \changes{v3.03}{2009/03/04}{using \cs{ifkomavar}} +% \changes{v3.03}{2009/03/04}{don't read the arguments but delegate them} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavar} replaced by \cs{Ifkomavar}} +% Because of the star variant (and because we are currently not using +% \pkg{xparse}) we need an internal helper macro. % \begin{macrocode} \newcommand*{\ifkomavarempty}{% %<package> \PackageWarning{scrletter}{% @@ -415,12 +363,11 @@ } % \end{macrocode} % \end{macro}%^^A \@ifkomavarempty -% \end{macro}%^^A \Ifkomavarempty -% \end{macro}%^^A \ifkomavarempty +% \end{command}%^^A \ifkomavarempty* … \Ifkomavarempty +% % -% \selectlanguage{english} -% \begin{macro}{\foreachkomavar} -% \changes{v3.27}{2019/03/13}{new}%^^A +% \begin{command}{\foreachkomavar} +% \changes{v3.27}{2019/03/13}{added} % Executes \texttt{\#2} for each variable in the comma separated list % \texttt{\#1}. An argument is appended to \texttt{\#2} which is the current % variable to be processed. This command is short. So if you want so execute @@ -436,12 +383,12 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} +% % -% \begin{macro}{\foreachkomavarifempty} -% \changes{v3.27}{2019/03/13}{new}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A +% \begin{command}{\foreachkomavarifempty} +% \changes{v3.27}{2019/03/13}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}} % Same like \cs{foreachkomavar} but \texttt{\#2} is called only for empty % variables and \texttt{\#3} is called for non empty. % \begin{macrocode} @@ -458,12 +405,11 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\foreachemptykomavar} -% \changes{v3.27}{2019/03/13}{new}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A +% \begin{command}{\foreachemptykomavar} +% \changes{v3.27}{2019/03/13}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}} % Similar to \cs{foreachemptykomavar} with \texttt{\#3}=\cs{@gobble}. % \begin{macrocode} \newcommand*{\foreachemptykomavar}[2]{% @@ -477,12 +423,11 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\foreachnonemptykomavar} -% \changes{v3.27}{2019/03/13}{new}%^^A -% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} durch \cs{Ifkomavarempty} -% ersetzt}%^^A +% \begin{command}{\foreachnonemptykomavar} +% \changes{v3.27}{2019/03/13}{added} +% \changes{v3.28}{2019/11/15}{\cs{ifkomavarempty} replaced by \cs{Ifkomavarempty}} % Similar to \cs{foreachemptykomavar} with \texttt{\#2}=\cs{@gobble}. % \begin{macrocode} \newcommand*{\foreachnonemptykomavar}[2]{% @@ -495,24 +440,24 @@ \fi }% } +%</body> % \end{macrocode} -% \end{macro} -% \selectlanguage{ngerman} +% \end{command} % -% \iffalse -%</body> -% \fi % -% \iffalse +% \begin{macrocode} %</letter> -% \fi -% +% \end{macrocode} +% % \Finale -% +% \PrintChanges +% \endinput -% -% end of file `scrkernel-variables.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx index ceca58f8c5..bb6e1ca9dd 100644 --- a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx +++ b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx @@ -1,8 +1,7 @@ -% \CheckSum{105} % \iffalse meta-comment % ====================================================================== % scrkernel-version.dtx -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,78 +17,62 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrkernel-version.dtx -% Copyright (c) Markus Kohm, 2002-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrkernel-version.dtx 3636 2021-11-13 18:16:17Z kohm $ -% \fi -% -% \iffalse -% Nicht verwirren lassen! In dieser Datei steht die Dokumentation und -% der Code vor dem Treiber. Das ist notwendig, weil der Code bereits -% am Anfang des Treibers selbst benötigt wird. -% \fi -% -% \selectlanguage{ngerman} -% -% \changes{v2.0e}{1994/07/07}{erste Version von \textsf{scrartcl}, -% \textsf{scrreprt} und \textsf{scrbook}} -% \changes{v2.95}{2002/06/25}{erste Version aus der Aufteilung von -% \texttt{scrclass.dtx}} -% -% \section{Version des \KOMAScript-Kerns} -% -% Dies ist die erste Datei in allen Dateien, Klassen und Paketen, die -% zum \KOMAScript-Kern gehören (Ausnahme: \texttt{scrlfile}). -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \begin{macro}{\KOMAScriptVersion} -% \changes{v2.95}{2002/06/25}{neu}%^^A -% Dieses Makro gibt an, zu welcher \KOMAScript-Version die Datei -% gehört. Die Klassen und Pakete des \KOMAScript-Kerns verwenden -% dieses Makro außerdem als eigene Versionsangabe. +%%% From File: $Id: scrkernel-version.dtx 3774 2022-04-28 07:46:52Z kohm $ +% +% ATTENTION: In this file parts of the code and documentation are before the +% driver. This must be, because this part of the code is needed by the driver +% in this file and most of the other KOMA-Script dtx-files. +% +% \fi^^A meta-comment +% +% \changes{v2.0e}{1994/07/07}{first release of \cls*{scrartcl}, +% \cls*{scrreprt}, and \cls*{scrbook}} +% \changes{v2.95}{2002/06/25}{first version of this file by splitting of +% \file{scrclass.dtx}} +% \changes{v3.36}{2022/02/11}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/11}{whole implementation documentation in English} +% +% \GetFileInfo{scrkernel-version.dtx} +% \title{The Version of the \href{https://komascript.de}{\KOMAScript} Kernel +% and therefore the Classes and most of the Packages} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Version \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% \filename{} is not only used for the code of all \KOMAScript{} classes and +% most of the \KOMAScript{} packages. It is also used by most of the +% installation drivers (\file{ins}-files) for the definition of +% \KOMAScript{} version. +% \end{abstract} +% \tableofcontents +% +% +% \section{User Manual} +% +% You can find the user documentation of the commands implemented here in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% \section{Implementation of the \KOMAScript{} Kernel Version Information} +% +% \begin{command}{\KOMAScriptVersion} +% \changes{v2.95}{2002/06/25}{added} +% This is the \KOMAScript{} version the file is related to. It is also added +% to the classes and most of the packages by the installation drivers. This is +% done using \file{scrdocstrip.tex} and additionally loading this file. % \begin{macro}{\@CheckKOMAScriptVersion} -% \changes{v2.95}{2002/06/25}{neu (intern)}%^^A -% Je nachdem, ob \cs{KOMAScriptVersion} bereits definiert ist nicht, -% wird die Definition überprüft oder eine globale Definition -% vorgenommen. Da das ganze auch bei der Erstellung der Doku -% geschieht, wird mit \cs{makeatletter} innerhalb einer Gruppe -% gearbeitet. +% \changes{v2.95}{2002/06/25}{added} +% Depending on \cs{KOMAScriptVersion} already defined or not, the existing +% definition is compared with the version here or \cs{KOMAScriptVersion} is +% newly and globally defined. This has to work not only in class or package +% files, but also in document files. So \cs{makeatletter} inside a group is +% needed for the internal macros. Additionally a guard \texttt{ignorethis} is +% used, to avoid adding code, that is needed only for the installation driver, +% also to classes or packages. % \begin{macrocode} \begingroup \catcode`\@11\relax @@ -123,41 +106,41 @@ \fi %</ignorethis> \fi - \@CheckKOMAScriptVersion{2021/11/13 v3.35 KOMA-Script}% +% \end{macrocode} +% Note: Following line will be patched by \file{makebetaorrelase.sh} and +% therefore the syntax or general structure of the line must not be changed! +% \begin{macrocode} + \@CheckKOMAScriptVersion{2022/05/01 v3.36 KOMA-Script}% \endgroup % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % % \iffalse %<*dtx> -% \fi \ProvidesFile{scrkernel-version.dtx}[\KOMAScriptVersion (versions)] -% \iffalse -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrkernel-version.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} \begin{document} - \maketitle - \DocInput{\filename} + \DocInput{scrkernel-version.dtx} \end{document} %</dtx> % \fi % +% \subsection{Implementation of class and package names and file names} +% +% \begin{description} +% \item[ToDo] Maybe, this should be split in one file for each class. The file +% extension code should be moved to \file{scrkernel-miscellaneous.dtx}. +% \end{description} +% % \begin{macro}{\scr@pkgextension} -% \changes{v3.17}{2015/03/17}{Neu (intern)}%^^A +% \changes{v3.17}{2015/03/17}{added} % \begin{macro}{\scr@clsextension} -% \changes{v3.17}{2015/03/17}{Neu (intern)}%^^A -% \changes{v3.18}{2015/06/17}{fixed}%^^A -% Die beiden sind prinzipiell das gleiche wie \cs{@pkgextension} und -% \cs{@clsextension} aber auch noch nach \cs{begin{document}}. +% \changes{v3.17}{2015/03/17}{added} +% \changes{v3.18}{2015/06/17}{fixed} +% Last but not least same like \cs{@pkgextension} and \cs{@clsextension} but +% still valid after the preamble. % \begin{macrocode} %<*class|package> %<package>\providecommand*{\scr@pkgextension}{\@pkgextension} @@ -171,22 +154,20 @@ % \end{macro} % \end{macro} % -% \iffalse -%<*class> -% \fi -% \begin{macro}{\KOMAClassFileName} -% \changes{v3.17}{2014/03/12}{Neu}%^^A -% \begin{macro}{\KOMAClassName} -% \changes{v2.95}{2004/11/04}{Neu}%^^A -% \begin{macro}{\KOMALongClassFileName} -% \changes{v3.27}{2019/02/16}{Neu}%^^A -% \begin{macro}{\KOMALongClassName} -% \changes{v3.27}{2019/02/16}{Neu}%^^A -% \begin{macro}{\ClassName} -% \changes{v2.95}{2004/11/04}{Neu}%^^A -% Für \KOMAScript-Klassen wird hier einmalig der Name der Klasse definiert und -% und die Klasse der Klasse angegeben. +% \begin{command}{\KOMAClassFileName} +% \changes{v3.17}{2014/03/12}{added} +% \begin{command}{\KOMAClassName} +% \changes{v2.95}{2004/11/04}{added} +% \begin{command}{\KOMALongClassFileName,\KOMALongClassName} +% \changes{v3.27}{2019/02/16}{added} +% \begin{command}{\ClassName} +% \changes{v2.95}{2004/11/04}{added} +% We define the name of each \KOMAScript{} class and the name of the +% \emph{class} of the class (usually name of the corresponding standard class) +% once. This allows to use code, that outputs the name of the class, for +% several classes without using always class specific code. % \begin{macrocode} +%<*class> \newcommand*{\KOMAClassName}{% %<article|(letter&long)> scrartcl% %<report> scrreprt% @@ -211,11 +192,10 @@ \edef\KOMALongClassFileName{\KOMALongClassFileName} %</long> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} +% \end{command} +% \end{command} % \begin{macrocode} %<!long>\ProvidesClass{\KOMAClassName}[% %<long>\ProvidesClass{\KOMALongClassName}[% @@ -229,30 +209,27 @@ \expandafter\LoadClassWithOptions\expandafter{\KOMAClassName} %<letter>\RequirePackage{scrletter} %</long> -% \end{macrocode} -% \iffalse %</class> -% \fi +% \end{macrocode} % -% \iffalse -%<*package&letter> -% \fi % \begin{macrocode} +%<*package&letter> \ProvidesPackage{scrletter}[% %!KOMAScriptVersion letter package extending any KOMA-Script class% ] -% \end{macrocode} -% \iffalse %</package&letter> -% \fi +% \end{macrocode} % % \Finale +% \PrintChanges % \endinput -% -% end of file `scrkernel-version.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx b/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx index e169ac4772..ec55e285ee 100644 --- a/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx +++ b/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlayer-notecolumn.dtx -% Copyright (c) Markus Kohm, 2013-2021 +% Copyright (c) Markus Kohm, 2013-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,27 +18,8 @@ % % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- -% scrlayer-notecolumn.dtx -% Copyright (c) Markus Kohm, 2013-2021 -% -% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% -%%% From File: $Id: scrlayer-notecolumn.dtx 3601 2021-05-30 19:11:44Z kohm $ +%%% From File: $Id: scrlayer-notecolumn.dtx 3694 2022-02-10 13:53:33Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<options>%%% (run: options) @@ -48,9 +29,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-05-30 21:11:44 +0200 (Sun, 30 May 2021) $ + \filedate$Date: 2022-02-10 14:53:33 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{v0.3.#2}} - \filerevision$Revision: 3601 $ + \filerevision$Revision: 3694 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlayer-notecolumn.dtx}% @@ -86,11 +67,11 @@ \generate{\usepreamble\defaultpreamble \file{scrlayer-notecolumn.sty}{% \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,identify}% - \from{scrlayer.dtx}{interface,trace,notecolumn,init}% + \from{scrlayer.dtx}{interface,notecolumn,init}% \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,init}% - \from{scrlayer.dtx}{interface,trace,notecolumn,options}% + \from{scrlayer.dtx}{interface,notecolumn,options}% \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,options}% - \from{scrlayer.dtx}{interface,trace,notecolumn,body}% + \from{scrlayer.dtx}{interface,notecolumn,body}% \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,body}% \from{scrlayer-notecolumn.dtx}{interface,trace,notecolumn,final}% \from{scrlogo.dtx}{logo}% @@ -103,117 +84,65 @@ \let\endbatchfile\relax \fi \endbatchfile - \documentclass{scrdoc} - \addtolength{\textwidth}{-1em} - \addtolength{\marginparwidth}{2em} - \addtolength{\oddsidemargin}{2em} - \usepackage[ngerman,english]{babel} - \usepackage{url,babelbib}\bibliographystyle{babalpha-fl} - \usepackage{listings} - \usepackage{scrhack} - \usepackage{etoolbox} - \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{} - \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{} - \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{} - - \CodelineIndex - \RecordChanges - \GetFileInfo{scrlayer-notecolumn.dtx} - \title{The \texttt{scrlayer} interface \texttt{scrlayer-notecolumn}% - \footnote{This is version \fileversion\ of file \texttt{\filename}.}} - \date{\filedate} - \author{Markus Kohm} - - \newenvironment{Explain}{\par}{\par} - \newcommand*{\length}{} - \let\length\Length - \let\endlength\endLength - \let\Macro\cs - \let\Length\Macro - \let\Package\textsf - \let\Class\Package - \let\File\texttt - \let\Option\texttt - \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}} - \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}} - \let\Counter\texttt - \let\Environment\texttt - \let\ShowOutput\quote - \let\endShowOutput\endquote - \let\Pagestyle\texttt - \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]} - \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]} - \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]} - \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]} - \let\PName\meta - \let\PValue\texttt - \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} - \providecommand*{\AUTOREF}{} - \makeatletter - \def\AUTOREF#1:#2:{% - \edef\@tempa{#1}% - \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi - \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi - \ref{#1:#2}% - } - \providecommand*{\IndexCmd}[2][]{} - \providecommand*{\textnote}[2][]{} - \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX} - \providecommand*\NTS{% - \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% - \kern-0.2emS$}} - - \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{} - \makeatother - \sloppy% YOU SHOULD NOT DO THIS!!! - - \begin{document} - \maketitle - \begin{abstract} - This is only the implementation documentation of package - \Package{scrlayer-notecolumn}. See the English or German \KOMAScript{} - manual for more information about usage of the package! - \end{abstract} - \tableofcontents - \DocInput{\filename} - \PrintChanges - \PrintIndex - \end{document} +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} +\begin{document} + \DocInput{scrlayer-notecolumn.dtx} +\end{document} %</dtx> % \fi^^A meta-comment % -% \selectlanguage{english} -% % \changes{v0.0}{2013/04/26}{start of interface} % \changes{v0.3.3532}{2020/09/11}{do not use deprecated interface commands} +% \changes{v3.36}{2022/02/10}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/10}{require package \pkg*{scrlogo} instead of +% defining \cs{KOMAScript}} % -% \StopEventually{} +% \GetFileInfo{scrlayer-notecolumn.dtx} +% \title{Providing Note Columns Similar to \cs{marginpar} with +% \href{https://komascript.de}{\KOMAScript} Package +% \pkg*{scrlayer-notecolumn} as Proof of Concept about Layers with +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrlayer}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Version \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This package is only a proof of concept. The main sense of the package is, +% to show the power of layers with \pkg{scrlayer}. It was never intended to +% be used as a productivity package. So there is no support for using +% it. Several features are only rudimentary. Several can be improved. Please +% feel free to fork this package. +% \end{abstract} +% \tableofcontents % +% \section{User Manual} % -% \iffalse -%<*interface> -%<*identify> -% \fi +% You can find the user manuals of \pkg*{scrlayer-notecolumn} in the \KOMAScript{} +% manual, either the German \file{scrguide} or the English \file{scrguien}. % -%\iffalse -%</identify> -%\fi +% \MaybeStop{\PrintIndex} % +% \section{Implementation of \pkg*{scrlayer-notecolumn}} % -% \section{Initialising some Values before the Options} +% \begin{macrocode} +%<*interface> +% \end{macrocode} % -% \iffalse^^A meta-comment -%<*init> -% \fi^^A meta-comment % -% Initialisation before all options (even the options from -% \File{scrlayer.dtx}). +% \subsection{Initialising some values before the options} +% +% Initialization before all options (even the options from +% \file{scrlayer.dtx}). % % Here we test the used pdf\TeX{} primitives. % \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfsavepos} and % \cs{pdflastypos} in luaTeX} % \changes{v0.1.2483}{2016/06/28}{grouping fixed} % \begin{macrocode} +%<*init> \@tempswatrue \scr@ifundefinedorrelax{pdfsavepos}{% \scr@ifundefinedorrelax{savepos}{% @@ -245,24 +174,22 @@ }% \batchmode\csname @@end\endcsname\end \fi +%</init> % \end{macrocode} % -% \iffalse^^A meta-comment -%</init> -% \fi^^A meta-comment % -% \section{Making a Note Column} +% \subsection{Making a note column} % % The package supports a various number of note columns. Each is referenced by % a unique name. % -% \begin{macro}{\DeclareNoteColumn} -% \begin{description} -% \item[\OParameter{option list}:] a comma-separated list of -% \texttt{\meta{key}=\meta{value}} pairs. -% \item[\Parameter{string}:] the name of the note column (must be fully -% expandable and expand to a string only). -% \end{description} +% \begin{command}{\DeclareNoteColumn} +% \begin{description} +% \item[\oarg{option list}:] a comma-separated list of +% \texttt{\meta{key}=\meta{value}} pairs. +% \item[\marg{string}:] the name of the note column (must be fully expandable +% and expand to a string only). +% \end{description} % That's the primary command for note columns. It defines everything, the note % column needs. % \begin{macrocode} @@ -271,7 +198,7 @@ % \end{macrocode} % First of all we need a box register. The contents of the note column will be % build inside of this register. Since \eTeX{} registers shouldn't be a -% problem. User should use package \Package{etex}, if he or she runs out of +% problem. User should use package \pkg{etex}, if he or she runs out of % registers. Note, that the registers will stay allocated, if the interface % will be removed! Nevertheless, the name will be destroyed! % \begin{macrocode} @@ -291,9 +218,8 @@ % macro instead of a length. The width isn't more variable than, e.g., the % text width. So we can use a macro too. Both will be initialised to the % normal marginal note column later. -% \changes{3.27}{2019/02/14}{initialization of one colour stack per note -% column} -% For colour support we also need one colour stack per note column. A colour +% \changes{3.27}{2019/02/14}{initialization of one color stack per note column} +% For color support we also need one color stack per note column. A color % stack is a feature only available for pdf\TeX{} and lua\TeX{}. % \begin{macrocode} \@ifundefined{slnc@#2@colorstack}{% @@ -349,7 +275,7 @@ ]{notecolumn.#2} % \end{macrocode} % We need to add the layer to every page style. The easiest way to do this is -% to add it to the pseudo layer page style \Pagestyle{@everystyle@}. +% to add it to the pseudo layer page style \pstyle{@everystyle@}. % \changes{v0.1.1681}{2014/02/05}{add the layer only once} % \begin{macrocode} \IfLayerAtPageStyle{@everystyle@}{notecolumn.#2}{}{% @@ -363,11 +289,11 @@ } % \end{macrocode} % \begin{macro}{\slnc@initial@black} -% \changes{v0.2.3085}{2019/02/14}{new internal} -% The initial black is the colour used to initialize the colour stacks. As long -% as only pdf\TeX{} and lua\TeX{} provide colour stacks, we can initialize it +% \changes{v0.2.3085}{2019/02/14}{added} +% The initial black is the color used to initialize the color stacks. As long +% as only pdf\TeX{} and lua\TeX{} provide color stacks, we can initialize it % with \texttt{0 g 0 G}. However it may be better to use the initial -% \cs{current@color} of the used colour package. Using \cs{default@color} would +% \cs{current@color} of the used color package. Using \cs{default@color} would % be even better, but this is not available until \cs{begin\{document\}}. % \begin{macrocode} \newcommand*{\slnc@initial@black}{0 g 0 G}% @@ -380,14 +306,14 @@ \AtBeginDocument{\let\slnc@initial@black\default@color}% }% % \end{macrocode} -% \end{macro}%^^A \slnc@initial@black +% \end{macro}^^A \slnc@initial@black % \begin{macro}{\slnc@processnotecolumns} % This is a list of all declared note columns in \LaTeX{} syntax (using -% \Macro{@cons} and \Macro{@elt} etc.). +% \cs{@cons} and \cs{@elt} etc.). % \begin{macrocode} \newcommand*{\slnc@processnotecolumns}{}% % \end{macrocode} -% \end{macro}%^^A \slnc@processnotecolumns +% \end{macro}^^A \slnc@processnotecolumns % \begin{macrocode} %</body> % \end{macrocode} @@ -415,14 +341,9 @@ }% \AfterSelectAnyPageStyle{\slnc@testforpagestylewarning} % \end{macrocode} -% \end{macro}%^^A \slnc@testforpagestylewarning -% \begin{option}{position} -% \begin{option}{width} -% \begin{option}{font} -% \begin{option}{marginpar} -% \begin{option}{normalmarginpar} -% \begin{option}{reversemarginpar} -% Last but not least we have to define the options for the \PName{option +% \end{macro}^^A \slnc@testforpagestylewarning +% \begin{option}{position,width,font,marginpar,normalmarginpar,reversemarginpar} +% Last but not least we have to define the options for the \meta{option % list}. % \begin{macrocode} \DefineFamilyMember[.definenotecolumn]{KOMAarg} @@ -446,7 +367,7 @@ } % \end{macrocode} % \begin{macro}{\slnc@defpos} -% Little helper for option \Option{marginpar}. The argument is the expanded +% Little helper for option \opt{marginpar}. The argument is the expanded % name of the note column. % \begin{macrocode} \newcommand*\slnc@defpos[1]{% @@ -496,7 +417,7 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \slnc@defpos +% \end{macro}^^A \slnc@defpos % \begin{macrocode} \DefineFamilyKey[.definenotecolumn]{KOMAarg}{normalmarginpar}[\relax]{% \FamilyKeyStateProcessed @@ -506,7 +427,7 @@ } % \end{macrocode} % \begin{macro}{\slnc@defnormalpos} -% Little helper for option \Option{normalmarginpar}. The argument is the +% Little helper for option \opt{normalmarginpar}. The argument is the % expanded name of the note column. % \begin{macrocode} \newcommand*\slnc@defnormalpos[1]{% @@ -535,7 +456,7 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \slnc@defnormalpos +% \end{macro}^^A \slnc@defnormalpos % \begin{macrocode} \DefineFamilyKey[.definenotecolumn]{KOMAarg}{reversemarginpar}[\relax]{% \FamilyKeyStateProcessed @@ -545,7 +466,7 @@ } % \end{macrocode} % \begin{macro}{\slnc@defreversepos} -% Little helper for option \Option{reversemarginpar}. The argument is the +% Little helper for option \opt{reversemarginpar}. The argument is the % expanded name of the note column. % \begin{macrocode} \newcommand*\slnc@defreversepos[1]{% @@ -574,22 +495,15 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \slnc@defreversepos +% \end{macro}^^A \slnc@defreversepos % \begin{macrocode} %</body> % \end{macrocode} -% \end{option}%^^A reversemarginpar -% \end{option}%^^A normalmarginpar -% \end{option}%^^A marginpar -% \end{option}%^^A font -% \end{option}%^^A width -% \end{option}%^^A position -% \end{macro}%^^A \DeclareNoteColumn +% \end{option}^^A position … reversemarginpar +% \end{command}^^A \DeclareNoteColumn % -% \begin{macro}{\DeclareNewNoteColumn} -% \begin{macro}{\ProvideNoteColumn} -% \begin{macro}{\RedeclareNoteColumn} -% Like \Macro{DeclareNoteColumn} but with restrictions, if the note column has +% \begin{command}{\DeclareNewNoteColumn,\ProvideNoteColumn,\RedeclareNoteColumn} +% Like \cs{DeclareNoteColumn} but with restrictions, if the note column has % (not) been declared already. % \begin{macrocode} %<*body> @@ -631,24 +545,22 @@ }% %</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% % -% \section{Setting a Note Column} +% \subsection{Setting a note column} % % We already have commands to declare note columns. But we also need a command % to put contents into the note columns and to output the note columns. % % \begin{macro}{\tf@slnc} -% \changes{v0.1.2395}{2016/03/25}{write to \texttt{aux}-file with +% \changes{v0.1.2395}{2016/03/25}{write to \file{aux}-file with % \cs{if@filesw}} -% \begin{macro}{\slnc@initwrite} -% \begin{macro}{\slnc@openwrite} +% \begin{macro}{\slnc@initwrite,\slnc@openwrite} % \changes{v0.1.2928}{2018/02/02}{use \cs{closein} instead of \cs{closeout} % to close \cs{slnc@file}} % First of all we need a file to write the notes to. We use the -% \File{aux}-file to write into the file, because we need to read the file +% \file{aux}-file to write into the file, because we need to read the file % while the document will be typeset and the same time we need to write into % the file. Note, that the file will be still reserved on auto-removing the % interface! @@ -674,11 +586,10 @@ \immediate\openout\tf@slnc\jobname.slnc } % \end{macrocode} -% After reading the main \File{aux}-file at |\end{document}|, we again -% calculate the md5 checksum of the \File{slnc}-file. If it has been changed +% After reading the main \file{aux}-file at |\end{document}|, we again +% calculate the md5 checksum of the \file{slnc}-file. If it has been changed % we set |\if@tempswa| to |\iftrue| to provocate a rerun message. -% \changes{v0.1.2872}{2018/01/17}{usage of Lua function -% \texttt{slncmdfivesum}} +% \changes{v0.1.2872}{2018/01/17}{usage of Lua function \texttt{slncmdfivesum}} % \changes{v0.1.2972}{2018/04/01}{usage of not yet documented Xe\TeX{} % primitive \cs{mdfivesum}} % \begin{macrocode} @@ -732,8 +643,8 @@ } %</body> % \end{macrocode} -% \changes{v0.3.3600}{2021/05/30}{use of \textsf{scrwfile}'s never list}% -% The easiest way to make it compatible with \Package{scrwfile} is to put it +% \changes{v0.3.3600}{2021/05/30}{use of \pkg*{scrwfile}'s never list}% +% The easiest way to make it compatible with \pkg*{scrwfile} is to put it % on the \emph{never} list. % \begin{macrocode} %<*body> @@ -743,27 +654,23 @@ } %</body> % \end{macrocode} +% \end{macro}^^A \slnc@initwrite,\slnc@openwrite +% \end{macro}^^A \tf@slnc % -% \end{macro}%^^A \slnc@openwrite -% \end{macro}%^^A \slnc@initwrite -% \end{macro}%^^A \tf@slnc -% -% \begin{macro}{\makenote} -% \begin{description} -% \item[\OParameter{string}:] the name of the note column the note should be -% added to (must be fully expandable and expand to a string only). The -% default value is \PValue{marginpar}. -% \item[\Parameter{code}:] the code, that should become par of the note -% column. Note, that this will be written protected to a file. So you have -% to use \Macro{protect} if a macro shouldn't be expanded while writing or -% may break while writing. -% \end{description} -% There is a star variant with the same parameters, that writes the -% \meta{code} un-expanded. To do so, we need some internal commands. -% \begin{macro}{\slnc@unexpanded} -% \changes{v0.1.2583}{2017/02/08}{new (internal)} -% \begin{macro}{\slnc@makenote} -% \changes{v0.1.2583}{2017/02/08}{new (internal)} +% \begin{command}{\makenote} +% \begin{description} +% \item[\oarg{string}:] the name of the note column the note should be added +% to (must be fully expandable and expand to a string only). The default +% value is |marginpar|. +% \item[\marg{code}:] the code, that should become par of the note +% column. Note, that this will be written protected to a file. So you have +% to use \cs{protect} if a macro shouldn't be expanded while writing or may +% break while writing. +% \end{description} +% There is a star variant with the same parameters, that writes the +% \meta{code} un-expanded. To do so, we need some internal commands. +% \begin{macro}{\slnc@unexpanded,\slnc@makenote} +% \changes{v0.1.2583}{2017/02/08}{added} % \begin{macrocode} %<*body> \newcommand*{\slnc@unexpanded}{} @@ -784,10 +691,10 @@ \@esphack }% % \end{macrocode} -%^^A \begin{counter}{slncpage} +% \begin{counter}{slncpage} % This counter should be increased once per page with note column. This may % be done simply at a once per page executed hook of -% \Pagestyle{@everystyle@}. You should note, that auto-remove wouldn't +% \pstyle{@everystyle@}. You should note, that auto-remove wouldn't % remove the counter. % \begin{macrocode} \@ifundefined{c@slncpage}{% @@ -798,16 +705,15 @@ }{} %</body> % \end{macrocode} -%^^A \end{counter}%^^A slncpage -% \end{macro}%^^A \slnc@unexpanded -% \end{macro}%^^A \slnc@makenote -% \end{macro}%^^A \makenote +% \end{counter}^^A slncpage +% \end{macro}^^A \slnc@makenote,\slnc@unexpanded +% \end{command}^^A \makenote % % \begin{macro}{\slnc@processnotes} -% \begin{description} -% \item[\Parameter{string}:] the name of the note column (must be fully -% expandable an expand to a string only). -% \end{description} +% \begin{description} +% \item[\marg{string}:] the name of the note column (must be fully expandable +% an expand to a string only). +% \end{description} % Each note column typesets the notes with this command. It works in following % steps: % \begin{macrocode} @@ -815,7 +721,7 @@ \newcommand*{\slnc@processnotes}[1]{% % \end{macrocode} % Read as long notes from the notes file until the number at \#2 of -% \Macro{slnc@note} in the file is greater than \Counter{slncpage}. Put all +% \cs{slnc@note} in the file is greater than \cnt{slncpage}. Put all % these to the corresponding unprocessed list. % \begin{macrocode} \begingroup @@ -844,9 +750,9 @@ \fi }% \long\def\slnc@note##1##2##3##4{% -%<trace> \typeout{TRACE (slnc): ##2<=\theslncpage?}% +%<trace> \PackageInfo{scrlayer-notecolumn}{TRACE (slnc): ##2<=\theslncpage?}% \ifnum ##2>\value{slncpage}\relax -%<trace> \typeout{TRACE (slnc): no: unprocess note}% +%<trace> \PackageInfo{scrlayer-notecolumn}{TRACE (slnc): no: unprocess note}% \expandafter\g@addto@macro\csname slnc@#1@unprocessed\endcsname{% \slnc@note{##1}{##2}{##3}{##4}% }% @@ -859,7 +765,7 @@ \expandafter\hsize\csname slnc@#1@width\endcsname \normalfont\normalsize % \end{macrocode} -% \changes{v0.2.3085}{2019/02/14}{using colour stack if available} +% \changes{v0.2.3085}{2019/02/14}{using color stack if available} % If a color stack is available we switch to it before changing the font. So a % color definition inside the font would overwrite every color change inside % the column! But if we don't have a color stack, color switching is not @@ -897,7 +803,6 @@ \@tempdimb=\dimexpr \expandafter\ht\csname slnc@#1@box\endcsname +\expandafter\dp\csname slnc@#1@box\endcsname \relax - \typeout{Soll: \the\@tempdima^^JIst: \space\the\@tempdimb}% \ifdim\@tempdima<\@tempdimb %<*trace> \PackageInfo{scrlayer-notecolumn}{% @@ -978,7 +883,7 @@ \splittopskip\topskip \splitmaxdepth\baselineskip % \end{macrocode} -% Bring back the colours: +% Bring back the colors: % \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added} % \begin{macrocode} \usekomafont{notecolumn.#1}{% @@ -997,7 +902,7 @@ \PackageInfo{scrlayer-notecolumn}{Flush note box `#1'}% %</trace> % \end{macrocode} -% Bring back the colours: +% Bring back the colors: % \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added} % \begin{macrocode} \usekomafont{notecolumn.#1}{% @@ -1013,18 +918,18 @@ } % \end{macrocode} % \begin{macro}{\slnc@switchcolorstack} -% \changes{v0.2.3085}{2019/02/14}{new internal} -% This either redefines \cs{set@color} or switches to the colour stack of the +% \changes{v0.2.3085}{2019/02/14}{added} +% This either redefines \cs{set@color} or switches to the color stack of the % note column given by the argument. % \begin{macrocode} \newcommand*{\slnc@switchcolorstack}[1]{% \scr@ifundefinedorrelax{slnc@#1@colorstack}{% \def\set@color{% \PackageWarningNoLine{scrlayer-notecolumn}{% - unsupported change of colour!\MessageBreak + unsupported change of color!\MessageBreak It seems you are using a TeX engine,\MessageBreak that does not support switching the\MessageBreak - colour stack like pdfTeX or luaTeX do.\MessageBreak + color stack like pdfTeX or luaTeX do.\MessageBreak Because of this, usage of \string\color,\MessageBreak \string\textcolor\space etc. inside a note column\MessageBreak @@ -1040,7 +945,7 @@ \scr@ifundefinedorrelax{pdfcolorstack}{% \scr@ifundefinedorrelax{pdfextension}{% \PackageError{scrlayer-notecolumm}{% - colour stack defined but not usable% + color stack defined but not usable% }{% \expandafter\string \csname slnc@#1@colorstack\endcsname\space defined @@ -1060,11 +965,11 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \slnc@switchcolorstack -% \begin{macro}{\restoreinnote} -% \changes{v0.1.2582}{2017/02/08}{new command} +% \end{macro}^^A \slnc@switchcolorstack +% \begin{command}{\restoreinnote} +% \changes{v0.1.2582}{2017/02/08}{added} % \begin{macro}{\slnc@restoreinnote} -% \changes{v0.1.2582}{2017/02/08}{new (internal)} +% \changes{v0.1.2582}{2017/02/08}{added} % Some commands have to be restored while processing the notes. By default % these are \cs{label}, \cs{index}, \cs{glossary}. More can be added using % \cs{restoreinnote}. The storage is \cs{slnc@restoreinnote}. @@ -1085,14 +990,14 @@ \restoreinnote\index \restoreinnote\glossary % \end{macrocode} -% \end{macro}%^^A \slnc@restoreinnote -% \end{macro}%^^A \restoreinnote +% \end{macro}^^A \slnc@restoreinnote +% \end{command}^^A \restoreinnote % \begin{macro}{\slnc@readnotes} % Read as long notes from the notes file until the number at \#2 of -% \Macro{slnc@note} or \Macro{slnc@sync} in the file is greater than -% \Counter{slncpage}. Put all these to the corresponding unprocessed list. +% \cs{slnc@note} or \cs{slnc@sync} in the file is greater than +% \cnt{slncpage}. Put all these to the corresponding unprocessed list. % \begin{macro}{\slnc@catcodes} -% \changes{v0.3}{2019/03/02}{new internal} +% \changes{v0.3}{2019/03/02}{added} % We need a helper macro \cs{slnc@catcodes} to restore (some of) the catcodes % before reading from file. % \begin{macrocode} @@ -1110,7 +1015,7 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \slnc@catcodes +% \end{macro}^^A \slnc@catcodes % \begin{macrocode} \newcommand*\slnc@readnotes[1]{% \ifeof\slnc@file\else @@ -1184,18 +1089,14 @@ \fi }% % \end{macrocode} -% \end{macro}%^^A \slnc@readnotes -% \begin{macro}{\slnc@iofv} -% \begin{macro}{\slnc@iiofv} -% \begin{macro}{\slnc@iiiofv} +% \end{macro}^^A \slnc@readnotes +% \begin{macro}{\slnc@iofv,\slnc@iiofv,\slnc@iiiofv} % \begin{macrocode} \newcommand\slnc@iofv[6]{\def#1{#2}}% \newcommand\slnc@iiofv[6]{\def#1{#3}}% \newcommand\slnc@iiiofv[6]{\def#1{#4}}% % \end{macrocode} -% \end{macro}%^^A \slnc@iiiofv -% \end{macro}%^^A \slnc@iiofv -% \end{macro}%^^A \slnc@iofv +% \end{macro}^^A \slnc@iofv … \slnc@iiiofv % \begin{macro}{\slnc@unprocessed} % The \#2 of the last read note column from notes file. % \begin{macrocode} @@ -1209,7 +1110,7 @@ % \begin{macro}{\slnc@mdfivesum} % \changes{v0.1.2872}{2018/01/17}{definition and usage of Lua function % \texttt{slncmdfivesum}} -% \changes{v0.1.2972}{2018/04/01}{usage of not yet documented Xe\TeX{} +% \changes{v0.1.2972}{2018/04/01}{usage of not yet documented \XeTeX{} % primitive \cs{mdfivesum}} % \changes{v0.3.3591}{2021/03/25}{Lua function name changed to % \texttt{slnc.mdfivesum}} @@ -1260,12 +1161,14 @@ \immediate\openin\slnc@file \jobname.slnc %</body> % \end{macrocode} -% \end{macro}%^^A \slnc@mdfivesum -% \end{macro}%^^A \slnc@file -% \end{macro}%^^A \slnc@unprocessed -% \end{macro}%^^A \slnc@processnotes +% \end{macro}^^A \slnc@mdfivesum +% \end{macro}^^A \slnc@file +% \end{macro}^^A \slnc@unprocessed +% \end{macro}^^A \slnc@processnotes % % \begin{option}{autoclearnotecolumns} +% \begin{macro}{\ifslnc@autoclearnotecolumns,\slnc@autoclearnotecolumnstrue, +% \slnc@autoclearnotecolumnsfalse} % \begin{macrocode} %<*options> \KOMA@ifkey{autoclearnotecolumns}{slnc@autoclearnotecolumns} @@ -1279,13 +1182,14 @@ \expandafter\g@addto@macro\expandafter\clearpage\expandafter{\reserved@a} %</final> % \end{macrocode} +% \end{macro} % \end{option} % -% \begin{macro}{\clearnotecolumn} -% \begin{description} -% \item[\OParameter{string}:] the name of the note column (must be fully -% expandable and expand to a string only). Default is \PValue{marginpar}. -% \end{description} +% \begin{command}{\clearnotecolumn} +% \begin{description} +% \item[\oarg{string}:] the name of the note column (must be fully +% expandable and expand to a string only). Default is |marginpar|. +% \end{description} % Output as many (empty) pages as needed to output all unprocessed notes of % one note column. Note, that the output of the first page may result in more % unprocessed notes. But the output of the following (empty) pages shouldn't. @@ -1323,22 +1227,23 @@ \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% }% %<*trace> - \typeout{TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, + \PackageInfo{scrlayer-notecolumn}{% + TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, abspage=\the\value{slncpage}, until page=\slnc@cmp@value, process=\reserved@a, pagetotal=\the\pagetotal, topskip=\the\topskip}% %</trace> \ifvmode\ifdim \pagetotal<\topskip % \end{macrocode} -% \Macro{clearpage} wouldn't result in a new page, so we do not have to output +% \cs{clearpage} wouldn't result in a new page, so we do not have to output % the notes of this page but only until the previous. % \begin{macrocode} \edef\slnc@cmp@value{\the\numexpr\slnc@cmp@value-1}% -%<trace> \typeout{TRACE (slnc): until page=\slnc@cmp@value}% +%<trace> \PackageInfo{scrlayer-notecolumn}{TRACE (slnc): until page=\slnc@cmp@value}% \fi\fi \ifnum \reserved@a=\z@ % \end{macrocode} % Next we read all notes until the end of the current page, but only -% if a \Macro{clearpage} wouldn't result in a new page. +% if a \cs{clearpage} wouldn't result in a new page. % \begin{macrocode} \ifvmode \ifdim \pagetotal<\topskip @@ -1378,7 +1283,7 @@ \@tempswatrue \fi \@whilesw\if@tempswa\fi{% -%<trace> \typeout{TRACE (slnc): add \string\clearpage}% +%<trace> \PackageInfo{scrlayer-notecolumn}{TRACE (slnc): add \string\clearpage}% % \end{macrocode} % Yes, we have (maybe again)! % \begin{macrocode} @@ -1405,43 +1310,41 @@ \endgroup } % \end{macrocode} -% \begin{macro}{\slnc@firstof} -% \begin{macro}{\slnc@secondof} -% We need these little helpers, because some packages like -% \Package{hyperref} extend the label mechanism by additional arguments. +% \begin{macro}{\slnc@firstof,\slnc@secondof} +% We need these little helpers, because some packages like +% \pkg{hyperref} extend the label mechanism by additional arguments. % \begin{macrocode} \newcommand*{\slnc@firstof}{} \def\slnc@firstof#1#2\@nil{#1}% \newcommand*{\slnc@secondof}{} \def\slnc@secondof#1#2#3\@nil{#2}% % \end{macrocode} -% \end{macro}%^^A \slnc@firstof -% \end{macro}%^^A \slnc@secondof +% \end{macro}^^A \slnc@firstof,\slnc@secondof % \begin{macro}{\slnc@voidtest} -% \begin{description} -% \item[\Parameter{string}:] the name of a note column (must be fully -% expandable and expand to a string only). -% \end{description} -% If the box of the note column is empty/void it returns \Macro{z@} otherwise -% \Macro{@ne}. +% \begin{description} +% \item[\marg{string}:] the name of a note column (must be fully +% expandable and expand to a string only). +% \end{description} +% If the box of the note column is empty/void it returns \cs{z@} otherwise +% \cs{@ne}. % \begin{macrocode} \newcommand*{\slnc@voidtest}[1]{% \expandafter\ifvoid \csname slnc@#1@box\endcsname \z@\else \@ne\fi } %</body> % \end{macrocode} -% \end{macro}%^^A \slnc@voidtest -% \end{macro}%^^A \clearnotecolumn +% \end{macro}^^A \slnc@voidtest +% \end{command}^^A \clearnotecolumn % -% \begin{macro}{\clearnotecolumns} +% \begin{command}{\clearnotecolumns} % \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} % \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}} -% \begin{description} -% \item[\OParameter{string list}:] comma separated list of note column names -% (must be fully expandable and each element must expand to a string only, -% that is the name of a note column); if omitted or empty all note columns -% will be used. -% \end{description} +% \begin{description} +% \item[\oarg{string list}:] comma separated list of note column names (must +% be fully expandable and each element must expand to a string only, that is +% the name of a note column); if omitted or empty all note columns will be +% used. +% \end{description} % Output as many (empty) pages as needed to output all unprocessed notes of % all (given) note columns. Note, that the output of the first page may % result in more unprocessed notes. But the output of the following (empty) @@ -1497,22 +1400,23 @@ \edef\reserved@a{\expandafter\slnc@secondof\reserved@a\@nil}% }% %<*trace> - \typeout{TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, + \PackageInfo{scrlayer-notecolumn}{% + TRACE (slnc): clearnote=\@nameuse{theslnc@clearnote@label}, abspage=\theslncpage, until page=\slnc@cmp@value, process=\reserved@a, pagetotal=\the\pagetotal, topskip=\the\topskip}% %</trace> \ifvmode\ifdim \pagetotal<\topskip % \end{macrocode} -% \Macro{clearpage} wouldn't result in a new page, so we do not have to output +% \cs{clearpage} wouldn't result in a new page, so we do not have to output % the notes of this page but only until the previous. % \begin{macrocode} \edef\slnc@cmp@value{\the\numexpr\slnc@cmp@value-1}% -%<trace> \typeout{TRACE (slnc): until page=\slnc@cmp@value}% +%<trace> \PackageInfo{scrlayer-notecolumn}{TRACE (slnc): until page=\slnc@cmp@value}% \fi\fi \ifnum \reserved@a=\z@ % \end{macrocode} % Next we read all notes until the end of the current page, but only -% if a \Macro{clearpage} wouldn't result in a new page. +% if a \cs{clearpage} wouldn't result in a new page. % \begin{macrocode} \ifvmode \ifdim \pagetotal<\topskip @@ -1553,7 +1457,7 @@ \@tempswatrue \fi \@whilesw\if@tempswa\fi{% -%<trace> \typeout{TRACE (slnc): add \string\clearpage}% +%<trace> \PackageInfo{scrlayer-notecolumn}{TRACE (slnc): adding \string\clearpage}% % \end{macrocode} % Yes, we have (maybe again)! % \begin{macrocode} @@ -1583,10 +1487,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \clearnotecolumns +% \end{command}^^A \clearnotecolumns % % -% \section{Syncronisation of Text and Note} +% \subsection{Syncronisation of text and note} % \label{sec:scrlayer-notecolumn.sync} % % Until yet we have the text and we have note columns. Normally note entries @@ -1595,17 +1499,18 @@ % note may be later (but never earlier), so we need a mechanism to force % synchronisation of the text with the note. % -% \begin{macro}{\syncwithnotecolumn} +% \begin{command}{\syncwithnotecolumn,\syncwithnotecolumns} % \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} % \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}} -% \begin{description} -% \item[\OParameter{string}:] the name of the note column to sync with (this -% must be fully expandable and expand to the name of a note column). By -% default sync with note column \PValue{marginpar}. -% \end{description} +% \begin{description} +% \item[\oarg{string}:] the name of the note column to sync with (this must be +% fully expandable and expand to the name of a note column). By default sync +% with note column |marginpar|. +% \end{description} +% \begin{counter}{slnc@syncpoint} % Add at the \LaTeX{} run after the next \LaTeX{} run as much space to the % text (not the note column!) as needed to reach the next position at the -% note column. This is not the same like \Macro{clearnotecolumn}, because it +% note column. This is not the same like \cs{clearnotecolumn}, because it % doesn't need to go to the next page, but it needs at least three \LaTeX{} % runs to terminate. % \begin{macrocode} @@ -1648,7 +1553,7 @@ Using \string\syncwithnotecolumn\space in horizontal\MessageBreak mode may result in unwanted vertical\MessageBreak space inside paragraphs and may lost\MessageBreak - colours of text of notes. \space So perhaps you\MessageBreak + colors of text of notes. \space So perhaps you\MessageBreak should move \string\syncwithnotecolumn\space before\MessageBreak or after the paragraph% }% @@ -1766,6 +1671,7 @@ \endgroup } % \end{macrocode} +% \end{counter} % \begin{macro}{\slnc@vadjust} % \begin{macrocode} \newcommand{\slnc@vadjust}[1]{% @@ -1775,23 +1681,23 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \slnc@vadjust -% \end{macro}%^^A \syncwithnotecolumn +% \end{macro}^^A \slnc@vadjust +% \end{command}^^A \syncwithnotecolumn,\syncwithnotecolumns % % -% \iffalse^^A meta-comment +% \begin{macrocode} %</interface> -% \fi^^A meta-comment +% \end{macrocode} % % \Finale +% \PrintChanges % \endinput -% -% end of file `scrlayer-notecolumn.dtx' - -%%% Local Variables: -%%% mode: doctex -%%% mode: flyspell -%%% ispell-local-dictionary: "en_GB" -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx b/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx index d7a264f89e..e0b8af619a 100644 --- a/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx +++ b/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlayer-scrpage.dtx -% Copyright (c) Markus Kohm, 2012-2021 +% Copyright (c) Markus Kohm, 2012-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,28 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrlayer-scrpage.dtx -% Copyright (c) Markus Kohm, 2012-2021 -% -% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% -%%% From File: $Id: scrlayer-scrpage.dtx 3595 2021-05-16 07:11:07Z kohm $ +%%% From File: $Id: scrlayer-scrpage.dtx 3693 2022-02-10 13:20:09Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<options>%%% (run: options) @@ -47,9 +27,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-05-16 09:11:07 +0200 (Sun, 16 May 2021) $ + \filedate$Date: 2022-02-10 14:20:09 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3595 $ + \filerevision$Revision: 3693 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlayer-scrpage.dtx}% @@ -75,13 +55,13 @@ \KOMAdefVariable{COPYRIGHTFROM}{2012} \generate{\usepreamble\defaultpreamble \file{scrlayer-scrpage.sty}{% - \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,identify}% - \from{scrlayer.dtx}{interface,trace,scrpage,init}% - \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,init}% - \from{scrlayer.dtx}{interface,trace,scrpage,options}% - \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,options}% - \from{scrlayer.dtx}{interface,trace,scrpage,body}% - \from{scrlayer-scrpage.dtx}{interface,trace,scrpage,body}% + \from{scrlayer-scrpage.dtx}{interface,scrpage,identify}% + \from{scrlayer.dtx}{interface,scrpage,init}% + \from{scrlayer-scrpage.dtx}{interface,scrpage,init}% + \from{scrlayer.dtx}{interface,scrpage,options}% + \from{scrlayer-scrpage.dtx}{interface,scrpage,options}% + \from{scrlayer.dtx}{interface,scrpage,body}% + \from{scrlayer-scrpage.dtx}{interface,scrpage,body}% \from{scrlogo.dtx}{logo}% }% } @@ -90,182 +70,133 @@ \let\endbatchfile\relax \fi \endbatchfile - \documentclass{scrdoc} - \addtolength{\textwidth}{-1em} - \addtolength{\marginparwidth}{2em} - \addtolength{\oddsidemargin}{2em} - \usepackage[ngerman,english]{babel} - \usepackage{url,babelbib}\bibliographystyle{babalpha-fl} - \usepackage{listings} - \usepackage{scrhack} - \usepackage{etoolbox} - \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{} - \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{} - \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{} - - \CodelineIndex - \RecordChanges - \GetFileInfo{scrlayer-scrpage.dtx} - \title{The \texttt{scrlayer} interface \texttt{scrlayer-scrpage}% - \footnote{This is version \fileversion\ of file \texttt{\filename}.}} - \date{\filedate} - \author{Markus Kohm} - - \newenvironment{Explain}{\par}{\par} - \newcommand*{\length}{} - \let\length\Length - \let\endlength\endLength - \let\Macro\cs - \let\Length\Macro - \let\Package\textsf - \let\Class\Package - \let\File\texttt - \let\Option\texttt - \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}} - \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}} - \let\Counter\texttt - \let\Environment\texttt - \let\ShowOutput\quote - \let\endShowOutput\endquote - \let\Pagestyle\texttt - \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]} - \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]} - \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]} - \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]} - \let\PName\meta - \let\PValue\texttt - \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} - \providecommand*{\AUTOREF}{} - \makeatletter - \def\AUTOREF#1:#2:{% - \edef\@tempa{#1}% - \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi - \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi - \ref{#1:#2}% - } - \providecommand*{\IndexCmd}[2][]{} - \providecommand*{\textnote}[2][]{} - \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX} - \providecommand*\NTS{% - \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% - \kern-0.2emS$}} - - \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{} - \makeatother - \sloppy% YOU SHOULD NOT DO THIS!!! - - \begin{document} - \maketitle - \tableofcontents - \DocInput{\filename} - \PrintChanges - \PrintIndex - \end{document} +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} +% We need (foo,bar) +\DeclareRobustCommand*{\pparg}[2]{\texttt(\meta{#1}\texttt,\meta{#2}\texttt)} +% and {foo:bar} +\DeclareRobustCommand*{\mmarg}[2]{% + \texttt{\char`\{}\meta{#1}\texttt:\meta{#2}\texttt{\char`\}}} +\begin{document} + \DocInput{scrlayer-scrpage.dtx} +\end{document} +%</dtx> % \fi^^A meta-comment % -% \selectlanguage{english} -% % \changes{v0.0}{2012/01/01}{start of interface} % \changes{v3.32}{2020/09/11}{do not use deprecated interface commands} -% \let\restorechapter\chapter -% \let\chapter\section -% \let\section\subsection -% \let\subsection\subsubsection -% -%\iffalse -%</dtx> -%\fi -% -% \StopEventually{} -% -% \chapter{Implementation of \Package{scrlayer-scrpage}} +% \changes{v3.36}{2022/02/09}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/09}{require package \pkg*{scrlogo} instead of +% defining \cs{KOMAScript}} +% \changes{v3.36}{2022/02/09}{whole implementation documentation in English} +% +% \GetFileInfo{scrlayer-scrpage.dtx} +% \title{The \texttt{scrlayer} Interface of +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrlayer-scrpage}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This package defines several extensions above \pkg*{scrlayer} for easy +% handling of pairs of \emph{headings} and \emph{plain} page styles. So this +% widely is a replacement of the not any longer supported, former +% \KOMAScript{} package \pkg{scrpage2}. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user manuals of \pkg*{scrlayer-scrpage} in the \KOMAScript{} +% manual, either the German \file{scrguide} or the English \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% +% \section{Implementation of \pkg*{scrlayer-scrpage}} % \label{sec:scrlayer-scrpage} % % This section if for developers only. % -% \iffalse +% \begin{macrocode} %<*interface> -%<*identify> -% \fi -% -%\iffalse -%</identify> -%\fi -% +% \end{macrocode} +% % -% \section{Initialising some Values before the Options} +% \subsection{Initialising some values before the options} % -% \iffalse^^A meta-comment +% \begin{macrocode} %<*init> -% \fi^^A meta-comment +% \end{macrocode} % % Initialisation before all options (even the options from -% \File{scrlayer.dtx}). +% \file{scrlayer.dtx}). % -% Currently nothing. +% Currently nothing to do. % -% \iffalse^^A meta-comment +% \begin{macrocode} %</init> -% \fi^^A meta-comment +% \end{macrocode} % -% \section{Options} % -% \iffalse^^A meta-comment -%<*options> -% \fi +% \subsection{Options} % -% Package \Package{scrpage2} doesn't support \KOMAScript{} options but only -% regular \LaTeX{} package options. The interface will also support those +% \begin{macrocode} +%<*options> +% \end{macrocode} +% +% Package \pkg{scrpage2} didn't support \KOMAScript{} options but only +% regular \LaTeX{} package options. This interface will also support those % options, but uses \KOMAScript{} options for the implementation. This % results in additional features of the interface. % % Note, that some options are already defined before this by the common option -% parts of \File{scrlayer.dtx}. All others will follow step by step in the +% parts of \file{scrlayer.dtx}. All others will follow step by step in the % main part. % -% Options \Option{headinclude}, \Option{headexclude}, \Option{footinclude} and -% \Option{footexclude} of package \Package{scrpage2} are deprecated since +% Options \opt{headinclude}, \opt{headexclude}, \opt{footinclude} and +% \opt{footexclude} of package \pkg{scrpage2} are deprecated since % package version 2.3, 2008-12-08. They won't be supported by the -% \Package{scrlayer-scrpage} interface. +% \pkg*{scrlayer-scrpage} interface. % % Additional initialisation may be done here, but currently this isn't % needed. % -% \iffalse^^A meta-comment +% \begin{macrocode} %</options> -% \fi^^A meta-comment -% +% \end{macrocode} +% % -% \section{Width of Header and Footer} +% \subsection{Width of header and footer} % -% \Package{scrpage2} provided to set the width of the page head or footer -% different from the width of the text area of the page using -% \Macro{setheadwidth} and \Macro{setfootwidth}. Optionally those commands -% allow to setup an horizontal offset for the head or footer. This interface -% provides the same feature but also allows to set up the widths and offsets -% with \KOMAScript{} options. Those options will become the primary interface. +% \pkg{scrpage2} provided commands \cs{setheadwidth} and \cs{setfootwidth} to +% set the width of the page head or footer different from the width of the +% text area of the page. Optionally those commands allow to setup an +% horizontal offset for the head or footer. This interface provides the same +% feature but prefers to set up the widths and offsets with \KOMAScript{} +% options. Those options will become the primary interface. % % \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 +% \changes{v0.9.1757}{2014/04/09}{new: two offsets available} +% \changes{v3.17}{2015/02/25}{new: store the values} % \begin{option}{footwidth} -% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}%^^A +% \changes{v0.9.1757}{2014/04/09}{new: two offsets available} % \changes{v3.15}{2014/12/28}{fix: missing colon in call of -% \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 -% about the syntax of \meta{special dimensional expression}. The width of -% the page head or footer will be set to the result of the first on, the -% offset to the result of the second one. If the first one\,---\,the -% width\,---\,is omitted, the current width will be used. If the second -% one\,---\,the offset\,---\,is omitted and the width is the width of the -% text area plus the margin note column, the offset will be set to -% zero. If the second one is omitted and the width is not the width of the -% text area plus the margin note column, a special kind of centering will -% be used. -% \end{description} +% \cs{sls@split@at@iicolons}} +% \changes{v3.17}{2015/02/25}{new: store the values} +% \begin{description} +% \item[\texttt{=\meta{special dimensional expression}:\meta{special +% dimensional expression}}:] see \cs{sls@settowidthof} for information about +% the syntax of \meta{special dimensional expression}. The width of the page +% head or footer will be set to the result of the first on, the offset to +% the result of the second one. If the first one\,---\,the width\,---\,is +% omitted, the current width will be used. If the second one\,---\,the +% offset\,---\,is omitted and the width is the width of the text area plus +% the margin note column, the offset will be set to zero. If the second one +% is omitted and the width is not the width of the text area plus the margin +% note column, a special kind of centering will be used. +% \end{description} % These options may be used to set up the widths of head and foot. % \begin{macrocode} %<*options> @@ -299,16 +230,15 @@ } % \end{macrocode} % \begin{macro}{\sls@split@at@iicolons} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{description} -% \item[\texttt{\meta{balanced}:^^A -% \meta{balanced}:^^A -% \meta{balanced}\Macro{@nil}}:] first \meta{balanced} will be stored into -% \Macro{reserved@a}, second into \Macro{reserved@b}, third will be eaten -% and warn about if it is neither empty and nor a colon. -% \end{description} -% This little helper is used, e.g., by options \Option{headwidth} and -% \Option{footwidth}. +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{description} +% \item[\texttt{\meta{balanced}:\meta{balanced}:\meta{balanced}\cs{@nil}}:] +% first \meta{balanced} will be stored into \cs{reserved@a}, second into +% \cs{reserved@b}, third will be eaten and warn about if it is neither empty +% and nor a colon. +% \end{description} +% This little helper is used, e.g., by options \opt{headwidth} and +% \opt{footwidth}. % \begin{macrocode} \newcommand\sls@split@at@iicolons{} \def\sls@split@at@iicolons#1:#2:#3:#4\@nil{% @@ -328,17 +258,17 @@ \def\reserved@c{#3}% }% % \end{macrocode} -% \end{macro}%^^A \sls@split@at@iicolons +% \end{macro}^^A \sls@split@at@iicolons % \begin{macro}{\sls@set@hf@width} % \changes{v0.9.1757}{2014/04/09}{new: two offsets available} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{description} -% \item[\Parameter{head} or \Parameter{foot}:] to complete the macro names -% for page head or footer. -% \item[\Parameter{special dimensional expression}:] the offset odd page -% \item[\Parameter{special dimensional expression}:] the offset even page -% \item[\Parameter{special dimensional expression}:] the width -% \end{description} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{description} +% \item[\marg{head or foot}:] to complete the macro names for page head or +% footer, either \texttt{head} or \texttt{foot}. +% \item[\marg{special dimensional expression}:] the offset odd page +% \item[\marg{special dimensional expression}:] the offset even page +% \item[\marg{special dimensional expression}:] the width +% \end{description} % This helper will generally set up width an offset of either head or footer. % \begin{macrocode} \newcommand*{\sls@set@hf@width}[4]{% @@ -396,13 +326,9 @@ \fi }% % \end{macrocode} -% \end{macro}%^^A \sls@set@hf@width -% \begin{macro}{\sls@headwidth} -% \begin{macro}{\sls@oddheadshift} -% \begin{macro}{\sls@evenheadshift} -% \begin{macro}{\sls@footwidth} -% \begin{macro}{\sls@oddfootshift} -% \begin{macro}{\sls@evenfootshift} +% \end{macro}^^A \sls@set@hf@width +% \begin{macro}{\sls@headwidth,\sls@oddheadshift,\sls@evenheadshift, +% \sls@footwidth,\sls@oddfootshift,\sls@evenfootshift} % To store width and offset of page head an footer, we use macros. Those are % also used by the options and therefore need to be initialised before option % usage. @@ -426,17 +352,10 @@ \newcommand*{\sls@oddfootshift}{0pt} \newcommand*{\sls@evenfootshift}{0pt} % \end{macrocode} -% \end{macro}%^^A \sls@headwidth -% \end{macro}%^^A \sls@oddheadshift -% \end{macro}%^^A \sls@evenheadshift -% \end{macro}%^^A \sls@footwidth -% \end{macro}%^^A \sls@oddfootshift -% \end{macro}%^^A \sls@evenfootshift -% -% \begin{macro}{\sls@settowidthof} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\sls@deftowidthof} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \end{macro}^^A \sls@headwidth … \sls@evenfootshift +% +% \begin{macro}{\sls@settowidthof,\sls@deftowidthof} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % the special dimensional expressions may be either one of the strings % \texttt{paper}, \texttt{text}, \texttt{marginpar}, % \texttt{textwithmarginpar}, \texttt{head}, \texttt{foot}, @@ -513,62 +432,62 @@ }% %</options> % \end{macrocode} -% \end{macro}%^^A \sls@deftowidthof -% \end{macro}%^^A \sls@settowidthof -% \end{option}%^^A footwidth -% \end{option}%^^A footheight +% \end{macro}^^A \sls@deftowidthof,\sls@settowidthof +% \end{option}^^A footwidth +% \end{option}^^A footheight % -% \begin{macro}{\setheadwidth} -% \begin{macro}{\setfootwidth} -% For compatibility with \Package{scrpage2}, map the commands to the options: +% \begin{command}{\setheadwidth,\setfootwidth} +% \changes{v3.36}{2022/02/09}{warning about deprecated command} +% For compatibility with \pkg{scrpage2}, map the commands to the options: % \begin{macrocode} %<*body> \newcommand*{\setheadwidth}[2][]{% + \PackageWarning{scrlayer-scrpage}{% + Command `\string\setheadwidth' is deprecated.\MessageBreak + I'm using \detokenize{\KOMAoptions{headwidth=#2:#1}} instead,\MessageBreak + and so should you do}% \KOMAoptions{headwidth=#2:#1}% }% \newcommand*{\setfootwidth}[2][]{% + \PackageWarning{scrlayer-scrpage}{% + Command `\string\setfootwidth' is deprecated.\MessageBreak + I'm using \detokenize{\KOMAoptions{footwidth=#2:#1}} instead,\MessageBreak + and so should you do}% \KOMAoptions{footwidth=#2:#1}% }% %</body> % \end{macrocode} -% \end{macro}%^^A \setheadwidth -% \end{macro}%^^A \setfootwidth +% \end{command}^^A \setheadwidth,\setfootwidth % % -% \section{Lines in Page Head and Footer} +% \subsection{Lines in page head and footer} % -% The interface implements the options \Option{headtopline}, -% \Option{headsepline}, \Option{footsepline}, \Option{footbotline}, -% \Option{plainheadtopline}, \Option{plainheadsepline}, -% \Option{plainfootsepline}, \Option{plainfootbotline}, \Option{ilines}, -% \Option{clines}, and \Option{olines}, the commands \Macro{setheadtopline}, -% \Macro{setheadsepline}, \Macro{setfootsepline}, and \Macro{setfootbotline}, -% and the corresponding \KOMAScript{} font elements of package -% \Package{scrpage2}. Some of the options are extended to understand +% The interface implements the options \opt{headtopline}, \opt{headsepline}, +% \opt{footsepline}, \opt{footbotline}, \opt{plainheadtopline}, +% \opt{plainheadsepline}, \opt{plainfootsepline}, \opt{plainfootbotline}, +% \opt{ilines}, \opt{clines}, and \opt{olines}, the commands +% \cs{setheadtopline}, \cs{setheadsepline}, \cs{setfootsepline}, and +% \cs{setfootbotline}, and the corresponding \KOMAScript{} font elements of +% package \pkg{scrpage2}. Some of the options are extended to understand % 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{option}{headtopline,headsepline,footsepline,footbotline} +% \changes{v3.17}{2015/02/25}{new: store the values} % \begin{description} % \item[{\texttt{=\meta{dimensional expression}:\meta{dimensional % expression}}:}] % \end{description}\noindent % Define thickness and length of the a default separation line between: % \begin{description} -% \item[\Option{headtopline}:] the top margin of the page and the page head. -% \item[\Option{headsepline}:] the page head and the text area. -% \item[\Option{footsepline}:] the text area and the page footer. -% \item[\Option{footbotline}:] the page footer and the bottom margin. +% \item[\opt{headtopline}:] the top margin of the page and the page head. +% \item[\opt{headsepline}:] the page head and the text area. +% \item[\opt{footsepline}:] the text area and the page footer. +% \item[\opt{footbotline}:] the page footer and the bottom margin. % \end{description} -% Both values may be omitted. In that case thickness would be 0.4\,pt, and -% length would be the width of the page head or footer. If the second -% argument, the length, has been omitted the \texttt{:} may also be omitted. +% Both \meta{dimensional expression} values may be omitted. In that case +% thickness would be 0.4\,pt, and length would be the width of the page head +% or footer. If the second argument, the length, has been omitted the +% \texttt{:} may also be omitted. % \begin{macrocode} %<*options> \KOMA@key{headtopline}[:]{% @@ -585,16 +504,15 @@ } % \end{macrocode} % \begin{macro}{\sls@set@values} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{description} -% \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). -% \end{description} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{description} +% \item[\oarg{option name}:] either empty or the name of the option that sets +% the line, +% \item[\marg{head or foot}:] either \texttt{head} or \texttt{foot}, +% \item[\marg{above or below}:] either \texttt{above} or \texttt{below}, +% \item[\mmarg{dimension expression}{dimension 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} @@ -656,18 +574,17 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \sls@set@values +% \end{macro}^^A \sls@set@values % \begin{macro}{\sls@split@at@colon} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{description} -% \item[\texttt{\meta{balanced}:^^A -% \meta{balanced}:^^A -% \meta{balanced}\Macro{@nil}}:] first \meta{balanced} will be stored into -% \Macro{reserved@a}, second into \Macro{reserved@b}, third will be eaten -% and warn about if it is neither empty and nor a colon. -% \end{description} -% This little helper is used, e.g., by options \Option{headwidth} and -% \Option{footwidth}. +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{description} +% \item[\texttt{\meta{balanced}:\meta{balanced}:\meta{balanced}\cs{@nil}}:] +% first \meta{balanced} will be stored into \cs{reserved@a}, second into +% \cs{reserved@b}, third will be eaten and warn about if it is neither empty +% and nor a colon. +% \end{description} +% This little helper is used, e.g., by options \opt{headwidth} and +% \opt{footwidth}. % \begin{macrocode} \newcommand*{\sls@split@at@colon}{} \def\sls@split@at@colon#1:#2:#3\@nil{% @@ -684,15 +601,11 @@ \def\reserved@b{#2}% }% % \end{macrocode} -% \end{macro}%^^A \sls@split@at@colon -% \begin{macro}{\sls@headabove@linelength} -% \begin{macro}{\sls@headabove@linethickness} -% \begin{macro}{\sls@headbelow@linelength} -% \begin{macro}{\sls@headbelow@linethickness} -% \begin{macro}{\sls@footabove@linelength} -% \begin{macro}{\sls@footabove@linethickness} -% \begin{macro}{\sls@footbelow@linelength} -% \begin{macro}{\sls@footbelow@linethickness} +% \end{macro}^^A \sls@split@at@colon +% \begin{macro}{\sls@headabove@linelength,\sls@headabove@linethickness, +% \sls@headbelow@linelength,\sls@headbelow@linethickness, +% \sls@footabove@linelength,\sls@footabove@linethickness, +% \sls@footbelow@linelength,\sls@footbelow@linethickness} % To store length and thickness of the lines at the page head an footer, we % use macros. Those are also used by the options and therefore need to be % initialised before option usage. @@ -723,27 +636,19 @@ } %</options> % \end{macrocode} -% \end{macro}%^^A \sls@footbelow@linethickness -% \end{macro}%^^A \sls@footbelow@linelength -% \end{macro}%^^A \sls@footabove@linethickness -% \end{macro}%^^A \sls@footabove@linelength -% \end{macro}%^^A \sls@headbelow@linethickness -% \end{macro}%^^A \sls@headbelow@linelength -% \end{macro}%^^A \sls@headabove@linethickness -% \end{macro}%^^A \sls@headabove@linelength -% \end{option}%^^A footbotline -% \end{option}%^^A footsepline -% \end{option}%^^A headsepline -% \end{option}%^^A headtopline -% -% \begin{option}{plainheadtopline} -% \begin{macro}{\ifsls@plain@head@above@line} -% \begin{option}{plainheadsepline} -% \begin{macro}{\ifsls@plain@head@below@line} -% \begin{option}{plainfootsepline} -% \begin{macro}{\ifsls@plain@foot@above@line} -% \begin{option}{plainfootbotline} -% \begin{macro}{\ifsls@plain@foot@below@line} +% \end{macro}^^A \sls@headabove@linelength … \sls@footbelow@linethickness +% \end{option}^^A headtopline … footbotline +% +% \begin{option}{plainheadtopline,plainheadsepline, +% plainfootsepline,plainfootbotline} +% \begin{macro}{\ifsls@plain@head@above@line,\sls@plain@head@above@linetrue, +% \sls@plain@head@above@linefalse, +% \ifsls@plain@head@below@line,\sls@plain@head@below@linetrue, +% \sls@plain@head@below@linefalse, +% \ifsls@plain@foot@above@line,\sls@plain@foot@above@linetrue, +% \sls@plain@foot@above@linefalse, +% \ifsls@plain@foot@below@line,\sls@plain@foot@below@linetrue, +% \sls@plain@foot@below@linefalse} % \begin{description} % \item[\texttt{=\meta{switch value}}:] % \end{description}\noindent @@ -756,24 +661,14 @@ \KOMA@ifkey{plainfootbotline}{sls@plain@foot@below@line}% %</options> % \end{macrocode} -% \end{macro}%^^A \ifsls@plain@foot@below@line -% \end{option}%^^A plainfootbotline -% \end{macro}%^^A \ifsls@plain@foot@above@line -% \end{option}%^^A plainfootsepline -% \end{macro}%^^A \ifsls@plain@head@below@line -% \end{option}%^^A plainheadsepline -% \end{macro}%^^A \ifsls@plain@head@above@line -% \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 +% \end{macro}^^A \ifsls@plain@foot@below@line … \sls@plain@foot@below@linefalse +% \end{option}^^A plainheadtopline … plainfootbotline +% +% \begin{option}{ilines,clines,olines} +% \changes{v3.17}{2015/02/25}{storing values} % \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 +% at most to define an offset. But \pkg{scrpage2} supports only these % options. At least we can set the options inside a layer or page style. This % may help. % \begin{macrocode} @@ -819,24 +714,20 @@ \KOMA@kav@add{.scrlayer-scrpage.sty}{ilines}{} %</options> % \end{macrocode} -% \end{macro}%^^A \sls@hfline@adjust -% \end{option}%^^A olines -% \end{option}%^^A clines -% \end{option}%^^A ilines -% -% \begin{macro}{\setheadtopline} -% \begin{macro}{\setheadsepline} -% \begin{macro}{\setfootsepline} -% \begin{macro}{\setfootbotline} -% \begin{description} -% \item[\OParameter{extended dimensional expression}:] the length of the -% line; if omitted the length will use the width of the page head or -% footer while printing the line. -% \item[\Parameter{dimensional expression}:] the thickness of the line. -% \item[\OParameter{code}:] the font selection code for the line. You may -% use it for any kind of operation, that doesn't change the position, -% width, height, or depth, e.g., to change the colour of the line. -% \end{description} +% \end{macro}^^A \sls@hfline@adjust +% \end{option}^^A ilines … olines +% +% \begin{command}{\setheadtopline,\setheadsepline, +% \setfootsepline,\setfootbotline} +% \begin{description} +% \item[\oarg{extended dimensional expression}:] the length of the line; if +% omitted the length will use the width of the page head or footer while +% printing the line. +% \item[\marg{dimensional expression}:] the thickness of the line. +% \item[\oarg{code}:] the font selection code for the line. You may use it for +% any kind of operation, that doesn't change the position, width, height, or +% depth, e.g., to change the colour of the line. +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\setheadtopline}{\sls@setline{head}{above}}% @@ -846,17 +737,17 @@ % \end{macrocode} % \begin{macro}{\sls@setline} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\sls@@setline} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{macro}{\sls@@@setline} -% \changes{v3.17}[2015/02/27]{internal use of the corresponding options}%^^A +% \changes{v3.17}[2015/02/27]{internal use of the corresponding options} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \cs{kernel@ifnextchar}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{macro}{\sls@@@@setline} -% \changes{v3.18}{2015/06/17}{explicit reuse of the current length}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.18}{2015/06/17}{explicit reuse of the current length} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Helper to set up the line attributes processing the parameters of the % commands above. % \begin{macrocode} @@ -927,15 +818,12 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \sls@setline -% \end{macro}%^^A \sls@@setline -% \end{macro}%^^A \sls@@@setline -% \end{macro}%^^A \sls@@@@setline -% \begin{KOMAfont}{headtopline} -% \begin{KOMAfont}{headsepline} -% \begin{KOMAfont}{footsepline} -% \begin{KOMAfont}{footbotline} -% These are the font elements used in \Macro{sls@hf@rule} to set the rules +% \end{macro}^^A \sls@setline +% \end{macro}^^A \sls@@setline +% \end{macro}^^A \sls@@@setline +% \end{macro}^^A \sls@@@@setline +% \begin{fontelement}{headtopline,headsepline,footsepline,footbotline} +% These are the font elements used in \cs{sls@hf@rule} to set the rules % with, i.e., another colour. Note, that those may already be defined and % become only part of the interface if they are not. % \begin{macrocode} @@ -953,23 +841,15 @@ }{} %</body> % \end{macrocode} -% \end{KOMAfont}%^^A footbotline -% \end{KOMAfont}%^^A footsepline -% \end{KOMAfont}%^^A headsepline -% \end{KOMAfont}%^^A headtopline -% \end{macro}%^^A \setfootbotline -% \end{macro}%^^A \setfootsepline -% \end{macro}%^^A \setheadsepline -% \end{macro}%^^A \setheadtopline -% -% \begin{length}{\headheight} -% \changes{v3.24}{2017/05/22}{warning depends on option -% \texttt{singlespacing}}%^^A -% Some classes set \Length{headheight} to a very, very small value. We'll -% warn about that. -% \begin{length}{\footheight} -% \changes{v3.24}{2017/05/23}{also warn for low \cs{footheight}}%^^A -% If the \Length{headheight} is OK, we also test for \Length{footheight}. +% \end{fontelement}^^A headtopline … footbotline +% \end{command}^^A \setheadtopline … \setfootbotline +% +% \begin{length}{\headheight,\footheight} +% \changes{v3.24}{2017/05/22}{warning depends on option \opt{singlespacing}} +% Some classes set \len{headheight} to a very, very small value. We'll +% warn about that. +% \changes{v3.24}{2017/05/23}{also warn for low \cs{footheight}} +% If the \len{headheight} is OK, we also test for \len{footheight}. % \begin{macrocode} %<*body> \AtBeginDocument{% @@ -1033,40 +913,40 @@ } %</body> % \end{macrocode} -% \end{length}%^^A \footheight -% \end{length}%^^A \headheight +% \end{length}^^A \headheight,\footheight % % -% \section{Usual \LaTeX{} Kernel Commands} +% \subsection{Usual \LaTeX{} kernel commands} % -% \Package{scrlayer-scrpage} some usual \LaTeX{} kernel commands, that should -% really behave like the original \LaTeX{} kernel commands do. But some +% \pkg*{scrlayer-scrpage} uses some very usual \LaTeX{} kernel commands, that +% should really behave like the original \LaTeX{} kernel commands do. But some % packages redefine them without restoring them in the output routine before % the page head and foot is build. Such a redefinition could break -% \Package{scrlayer-scrpage} or even provoke errors. Here we try to make sure, -% that \Package{scrlayer-scrpage} uses the correct definitions. Note: This -% should not be needed, if other packages would be more careful. -% -% \begin{macro}{\LaTeXcentering} -% \changes{v3.27}{2019/04/05}{added}%^^A -% \begin{macro}{\raggedright} -% \changes{v3.27}{2019/04/05}{added}%^^A -% \begin{macro}{\raggedleft} -% \changes{v3.27}{2019/04/05}{added}%^^A -% \Package{scrlayer-scrpage} needs \cs{centering} to center, \cs{raggedright} +% \pkg*{scrlayer-scrpage} or even provoke errors. Here we try to make sure, +% that \pkg*{scrlayer-scrpage} uses the correct definitions. Note: This should +% not be needed, if other packages would be more careful. +% +% \begin{command}{\LaTeXcentering,\LaTeXraggedright,\LaTeXraggedleft} +% \changes{v3.27}{2019/04/05}{added} +% \pkg*{scrlayer-scrpage} needs \cs{centering} to center, \cs{raggedright} % to left align and \cs{raggedleft} to right align the three elements of -% three-part header and footer. \Package{ragged2e} optionally redefines -% them. This is not perfect but does not break \Package{scrlayer-scrpage} -% completely. But \Package{tabu} also redefines them an that breaks -% \Package{scrlayer-scrpage} in a way, that even error messages can occur. So -% from version 3.27 \Package{scrlayer-scrpage} does not longer use -% \cs{centering}, \cs{raggedright} or \cs{raggedleft} but \cs{LaTeXcentering}, -% \cs{LaTeXraggedright} and \cs{LaTeXraggedleft}. With \Package{ragged2e} and -% its option \texttt{newcommands}/\texttt{NewCommands} this would be already -% defined and contain the original definition. On all other circumstances the -% commands have to be defined. But these commands should not be defined as -% part of the interface or removing the interface could break other packages -% like \Package{ragged2e}. +% three-part header and footer. \pkg{ragged2e} optionally redefines them. This +% is not perfect but does not break \pkg*{scrlayer-scrpage} completely. But +% \pkg{tabu}\footnote{Note, package \pkg{tabu} is not officially maintained by +% anyone for several years. Unofficially some members of The \LaTeX{} Team +% fix some problems related to new \LaTeX{} kernel changes. But the package +% is without support for all other problems, even if they are known for +% years. But you have to decide yourself, whether it is a good idea to use +% such packages.} also redefines them an that breaks \pkg*{scrlayer-scrpage} +% in a way, that even error messages can occur. So from version~3.27 +% \pkg*{scrlayer-scrpage} does not longer use \cs{centering}, \cs{raggedright} +% or \cs{raggedleft} but \cs{LaTeXcentering}, \cs{LaTeXraggedright} and +% \cs{LaTeXraggedleft}. With \pkg{ragged2e} and its option +% \opt{newcommands}/\opt{NewCommands} this would be already defined and +% contain the original definition. On all other circumstances the commands +% have to be defined. But these commands should not be defined as part of the +% interface or removing the interface could break other packages like +% \pkg{ragged2e}. % \begin{macrocode} %<*body> \@ifundefined{LaTeXcentering}{\let\LaTeXcentering\centering}{} @@ -1074,23 +954,21 @@ \@ifundefined{LaTeXraggedright}{\let\LaTeXraggedright\raggedright}{} %</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \LaTeXcentering … \LaTeXraggedright +% % -% \section{Style of Running Heads} +% \subsection{Style of running heads} % -% This implements not only options \Option{komastyle} and -% \Option{standardstyle} of \Package{scrpage2}, but also activates the default -% style at the end of the package and takes care for the correct overwrite -% behaviour of option \Option{markcase}. +% This implements not only options \opt{komastyle} and \opt{standardstyle} of +% \pkg{scrpage2}, but also activates the default style at the end of the +% package and takes care for the correct behave of option \opt{markcase}. % % \begin{option}{pagestyleset} -% \begin{description} -% \item[\texttt{=\meta{string}}:] a valid name of a predefined -% style-set. Currently only \texttt{KOMA-Script} and \texttt{standard} are -% supported. Maybe more will follow. -% \end{description} +% \begin{description} +% \item[\texttt{=\meta{string}}:] a valid name of a predefined +% style-set. Currently only \optvalue{KOMA-Script} and \optvalue{standard} +% are supported. Maybe more will follow. +% \end{description} % Note, that the following automatic style activation must be before the % first option usage: % \begin{macrocode} @@ -1100,7 +978,7 @@ } % \end{macrocode} % \begin{macro}{\sls@auto@pagestyleset} -% \changes{v0.9}{2014/01/22}{new (internal) macro}%^^A +% \changes{v0.9}{2014/01/22}{added} % \begin{macrocode} \newcommand*{\sls@auto@pagestyleset}{% \scr@ifundefinedorrelax{KOMAClassName}{% @@ -1116,8 +994,8 @@ } %</init> % \end{macrocode} -% \end{macro}%^^A \sls@auto@pagestyleset -% \changes{v3.17}{2015/02/25}{new: store the values}%^^A +% \end{macro}^^A \sls@auto@pagestyleset +% \changes{v3.17}{2015/02/25}{storing the values} % \begin{macrocode} %<*options> \KOMA@key{pagestyleset}{% @@ -1131,10 +1009,8 @@ }% } % \end{macrocode} -% \begin{macro}{\sls@ps@style@standard} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\sls@ps@style@KOMA-Script} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{macro}{\sls@ps@style@standard,\sls@ps@style@KOMA-Script} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % These are the predefined page style sets. % \begin{macrocode} \newcommand*{\sls@ps@style@standard}{% @@ -1159,9 +1035,9 @@ \scr@ifundefinedorrelax{KOMAClassName}{}{% \Ifstr{\KOMAClassName}{scrlttr2}{% % \end{macrocode} -% We are using \Class{scrlttr2}, so we have to initialise the page style +% We are using \cls*{scrlttr2}, so we have to initialise the page style % different: -% \changes{v3.18}{2015/06/24}{missing \cs{lofoot} and \cs{rofoot} added}%^^A +% \changes{v3.18}{2015/06/24}{missing \cs{lofoot} and \cs{rofoot} added} % \begin{macrocode} \clearpairofpagestyles \lehead[\ifnum\@pageat=\z@\pagemark\fi] @@ -1192,14 +1068,12 @@ }% %</options> % \end{macrocode} -% \end{macro}%^^A \sls@ps@style@KOMA-Script -% \end{macro}%^^A \sls@ps@style@standard -% \end{option}%^^A pagestyleset +% \end{macro}^^A \sls@ps@style@standard,\sls@ps@style@KOMA-Script +% \end{option}^^A pagestyleset % -% \begin{option}{komastyle} -% \begin{option}{standardstyle} +% \begin{option}{komastyle,standardstyle} % These options are deprecated, but defined for compatibility with -% \Package{scrpage2}: +% \pkg{scrpage2}: % \begin{macrocode} %<*options> \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{komastyle}{% @@ -1208,20 +1082,17 @@ pagestyleset=standard} %</options> % \end{macrocode} -% \end{option}%^^A standardstyle -% \end{option}%^^A komastyle +% \end{option}^^A komastyle,standardstyle % % -% \section{Extended Mark Mechanisms} +% \subsection{Extended mark mechanisms} % -% Package options \Option{markuppercase}, \Option{markusedcase}, and -% \Option{nouppercase} of package \Package{scrpage2} will be mapped to -% \KOMAScript{} option \Option{markcase}. +% Package options \opt{markuppercase}, \opt{markusedcase}, and +% \opt{nouppercase} of package \pkg{scrpage2} are mapped to \KOMAScript{} +% option \opt{markcase}. % -% \begin{option}{markuppercase} -% \begin{option}{markusedcase} -% \begin{option}{nouppercase} -% For compatibility with \Package{scrpage2}. +% \begin{option}{markuppercase,markusedcase,nouppercase} +% For compatibility with \pkg{scrpage2}. % \begin{macrocode} %<*options> \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markuppercase}{markcase=upper} @@ -1231,18 +1102,15 @@ } %</options> % \end{macrocode} -% \end{option}%^^A nouppercase -% \end{option}%^^A markusedcase -% \end{option}%^^A markuppercase +% \end{option}^^A markuppercase … nouppercase % % -% \section{Expert Page Style Definition Interface} +% \subsection{Expert page style definition interface} % -% This is the low level interface of \Package{scrpage2} with -% \Macro{defpagestyle}, \Macro{newpagestyle}, \Macro{renewpagestyle}, and -% \Macro{providepagestyle}. We will also define is. In difference to -% \Package{scrpage2} layers are used. Following layers will be defined for -% each page style: +% This is the low level interface of \pkg{scrpage2} with \cs{defpagestyle}, +% \cs{newpagestyle}, \cs{renewpagestyle}, and \cs{providepagestyle}. We will +% also define is. In difference to \pkg{scrpage2} layers are used. Following +% layers will be defined for each page style: % \begin{description} % \item[\texttt{\meta{page style name}.head.above.line}] line above the head % \item[\texttt{\meta{page style name}.head.odd}] odd page head (only twoside) @@ -1261,23 +1129,24 @@ % \item[\texttt{\meta{page style name}.foot.below.line}] line below the footer % (only oneside) % \end{description} -% Note: \Package{scrpage2} also provides starred versions of the page style +% Note: \pkg{scrpage2} also provided star versions of the page style % definition commands, doing the same like the starless versions. This has -% been done for compatibility reasons with deprecated \Package{scrpage} and -% may be removed some times. The layer interface doesn't support this. -% -% -% \begin{macro}{\defpagestyle} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{description} -% \item[\Parameter{string}:] the name of the page style to be defined (must -% be fully expandable and expand to a string only). -% \item[\Parameter{head/foot definition}:] will be used to define the -% head (see \Macro{sls@defhead}). -% \item[\Parameter{head/foot definition}:] will be used to define the -% foot (see \Macro{sls@deffoot}). -% \end{description} -% See \Package{scrpage2} implementation. +% been done for compatibility reasons with deprecated +% \pkg[https://www.ctan.org/pkg/koma-script-obsolete]{scrpage} and has been +% described as to be removed some times. The layer interface doesn't support +% this any longer. +% +% +% \begin{command}{\defpagestyle} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{description} +% \item[\marg{string}:] the name of the page style to be defined (must be +% fully expandable and expand to a string only). +% \item[\marg{head/foot definition}:] will be used to define the head (see +% \cs{sls@defhead}). +% \item[\marg{head/foot definition}:] will be used to define the foot (see +% \cs{sls@deffoot}). +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\defpagestyle}[3]{% @@ -1291,31 +1160,27 @@ }% }% % \end{macrocode} -% \begin{macro}{\sls@defhead} -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\sls@@defhead} +% \begin{macro}{\sls@defhead,\sls@@defhead} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\sls@@@defhead} -% \changes{v0.9}{2014/08/18}{fix names of layers \texttt{\dots head.odd} and -% \texttt{\dots head.even}}%^^A -% \begin{description} -% \item[\MParameter{dimensional expression}{dimensional expression}:] length -% and thickness of a line (ruler) above the page head. May be omitted and -% if so the values from option \Option{headtopline} will be used. -% \item[\Parameter{code}:] will be executed on even pages; used to define -% the contents of layer \texttt{\meta{page style name}.head.even}. -% \item[\Parameter{code}:] will be executed on odd pages within two-side -% layout; used to define the contents of layer \texttt{\meta{page style -% name}.head.odd}. -% \item[\Parameter{code}:] will be executed on single-side pages; used to -% define the contents of layer \texttt{\meta{page style -% name}.head.oneside}. -% \item[\MParameter{dimensional expression}{dimensional expression}:] length -% and thickness of a line (ruler) below the page head. May be omitted and -% if so the values from option \Option{headsepline} will be used. -% \end{description} +% \changes{v0.9}{2014/08/18}{fixed names of layers \texttt{\dots head.odd} and +% \texttt{\dots head.even}} +% \begin{description} +% \item[\pparg{dimensional expression}{dimensional expression}:] length and +% thickness of a line (ruler) above the page head. May be omitted and if so +% the values from option \opt{headtopline} will be used. +% \item[\marg{code}:] will be executed on even pages; used to define the +% contents of layer \texttt{\meta{page style name}.head.even}. +% \item[\marg{code}:] will be executed on odd pages within two-side layout; +% used to define the contents of layer \texttt{\meta{page style +% name}.head.odd}. +% \item[\marg{code}:] will be executed on single-side pages; used to define +% the contents of layer \texttt{\meta{page style name}.head.oneside}. +% \item[\pparg{dimensional expression}{dimensional expression}:] length and +% thickness of a line (ruler) below the page head. May be omitted and if so +% the values from option \opt{headsepline} will be used. +% \end{description} % Helper to define the head layers. % \begin{macrocode} \newcommand*\sls@defhead[1]{% @@ -1364,7 +1229,7 @@ % \end{macrocode} % The odd side, even side and one side: % \changes{v3.13b}{2014/10/16}{workaround: additional group added to avoid -% pdf\TeX{} color stack warnings}%^^A +% pdf\TeX{} color stack warnings} % \begin{macrocode} \DeclareLayer[% background,evenpage,twoside,% @@ -1395,31 +1260,27 @@ ]{#1.head.oneside}% }% % \end{macrocode} -% \begin{macro}{\sls@deffoot} +% \begin{macro}{\sls@deffoot,\sls@@deffoot} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\sls@@deffoot} -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\sls@@@deffoot} -% \changes{v0.9}{2014/08/18}{fix names of layers \texttt{\dots foot.odd} and -% \texttt{\dots foot.even}}%^^A -% \begin{description} -% \item[\MParameter{dimensional expression}{dimensional expression}:] length -% and thickness of a line (ruler) above the page footer. May be omitted -% and if so the values from option \Option{footsepline} will be used. -% \item[\Parameter{code}:] will be executed on even pages; used to define -% the contents of layer \texttt{\meta{page style name}.foot.even}. -% \item[\Parameter{code}:] will be executed on odd pages within two-side -% layout; used to define the contents of layer \texttt{\meta{page style -% name}.foot.odd}. -% \item[\Parameter{code}:] will be executed on single-side pages; used to -% define the contents of layer \texttt{\meta{page style -% name}.foot.oneside}. -% \item[\MParameter{dimensional expression}{dimensional expression}:] length -% and thickness of a line (ruler) below the page footer. May be omitted -% and if so the values from option \Option{footbotline} will be used. -% \end{description} +% \changes{v0.9}{2014/08/18}{fixed names of layers \texttt{\dots foot.odd} and +% \texttt{\dots foot.even}} +% \begin{description} +% \item[\pparg{dimensional expression}{dimensional expression}:] length and +% thickness of a line (ruler) above the page footer. May be omitted and if +% so the values from option \opt{footsepline} will be used. +% \item[\marg{code}:] will be executed on even pages; used to define the +% contents of layer \texttt{\meta{page style name}.foot.even}. +% \item[\marg{code}:] will be executed on odd pages within two-side layout; +% used to define the contents of layer \texttt{\meta{page style +% name}.foot.odd}. +% \item[\marg{code}:] will be executed on single-side pages; used to define +% the contents of layer \texttt{\meta{page style name}.foot.oneside}. +% \item[\pparg{dimensional expression}{dimensional expression}:] length and +% thickness of a line (ruler) below the page footer. May be omitted and if +% so the values from option \opt{footbotline} will be used. +% \end{description} % Helper to define the foot layers. % \begin{macrocode} \newcommand*\sls@deffoot[1]{% @@ -1509,10 +1370,10 @@ % \begin{macro}{\sls@secure@box} % \changes{v3.34}{2021/05/16}{\LaTeX{} team requested for additional \cs{par}} % \begin{description} -% \item[\Parameter{length}:] a \LaTeX{} length, that gives the maximum +% \item[\marg{length}:] a \LaTeX{} length, that gives the maximum % height + depth of the \meta{content}. It has to be either % \cs{headheight} or \cs{footheight}. -% \item[\Parameter{content}:] what should be output (inside the box). +% \item[\marg{content}:] what should be output (inside the box). % \end{description} % Note, that several length may be changed, to fit. % \begin{macrocode} @@ -1586,9 +1447,9 @@ \KOMA@ifkey{hmode}{sls@leavevmode} %</options> % \end{macrocode} -% \end{option}%^^A hmode +% \end{option}^^A hmode % \begin{option}{autoenlargeheadfoot} -% \changes{v3.25}{2018/01/14}{new option}%^^A +% \changes{v3.25}{2018/01/14}{added} % Automaticly enlarge vertical size of head or foot if the contents is to % large. This is the default. % \begin{macrocode} @@ -1597,22 +1458,19 @@ \KOMAExecuteOptions{autoenlargeheadfoot=true} %</options> % \end{macrocode} -% \end{option}%^^A autoenlargeheadfoot -% \end{macro}%^^A \sls@secure@box -% \end{macro}%^^A \sls@@@deffoot -% \end{macro}%^^A \sls@@deffoot -% \end{macro}%^^A \sls@deffoot -% \end{macro}%^^A \sls@@@defhead -% \end{macro}%^^A \sls@@defhead -% \end{macro}%^^A \sls@defhead -% \begin{macro}{\headfont} +% \end{option}^^A autoenlargeheadfoot +% \end{macro}^^A \sls@secure@box +% \end{macro}^^A \sls@@@deffoot +% \end{macro}^^A \sls@deffoot,\sls@@deffoot +% \end{macro}^^A \sls@@@defhead +% \end{macro}^^A \sls@defhead,\sls@@defhead +% \begin{command}{\headfont} % The low level page head font command. It is deprecated to redefine or use % this and it may already be defined. % \begin{macro}{\scr@fnt@pagehead} -% \changes{v3.25}{2018/02/05}{don't use \cs{newkomafont} to avoid -% warning}%^^A +% \changes{v3.25}{2018/02/05}{don't use \cs{newkomafont} to avoid warning} % \begin{macro}{\scr@fnt@wrn@pagehead} -% \changes{v0.9}{2014/01/13}{warning always deactivated}%^^A +% \changes{v0.9}{2014/01/13}{warning always deactivated} % \begin{macro}{\scr@fnt@pageheadfoot} % \begin{macrocode} %<*body> @@ -1642,12 +1500,12 @@ \let\scr@fnt@wrn@pagehead\relax } % \end{macrocode} -% \end{macro}%^^A \scr@fnt@pageheadfoot -% \end{macro}%^^A \scr@fnt@wrn@pagehead -% \end{macro}%^^A \scr@fnt@pagehead -% \end{macro}%^^A \headfont +% \end{macro}^^A \scr@fnt@pageheadfoot +% \end{macro}^^A \scr@fnt@wrn@pagehead +% \end{macro}^^A \scr@fnt@pagehead +% \end{command}^^A \headfont % -% \begin{macro}{\footfont} +% \begin{command}{\footfont} % The low level page footer font command. It is deprecated to redefine or use % this and it may already be defined. % \begin{macro}{\scr@fnt@pagefoot} @@ -1667,17 +1525,17 @@ \let\scr@fnt@wrn@pagefoot\relax } % \end{macrocode} -% \end{macro}%^^A \scr@fnt@wrn@pagefoot -% \end{macro}%^^A \scr@fnt@pagefoot -% \end{macro}%^^A \footfont +% \end{macro}^^A \scr@fnt@wrn@pagefoot +% \end{macro}^^A \scr@fnt@pagefoot +% \end{command}^^A \footfont % % \begin{macro}{\sls@hf@rule} % \changes{v3.34}{2021/05/16}{\LaTeX{} team requested for additional \cs{par}} % \begin{description} -% \item[\Parameter{rule name}:] one of \texttt{headtop}, \texttt{headsep}, +% \item[\marg{rule name}:] one of \texttt{headtop}, \texttt{headsep}, % \texttt{footsep}, or \texttt{footbot} -% \item[\Parameter{dimensional expression}:] the line length (width) -% \item[\Parameter{dimensional expression}:] the line thickness (height) +% \item[\marg{dimensional expression}:] the line length (width) +% \item[\marg{dimensional expression}:] the line thickness (height) % \end{description} % Helper to draw the line. % \begin{macrocode} @@ -1707,9 +1565,8 @@ \endgroup }% % \end{macrocode} -% \end{macro}%^^A \sls@hf@rule -% \begin{macro}{\sls@topmargin} -% \begin{macro}{\sls@leftmargin} +% \end{macro}^^A \sls@hf@rule +% \begin{macro}{\sls@topmargin,\sls@leftmargin} % Two simple helper macros: % \begin{macrocode} \newcommand*{\sls@topmargin}{\dimexpr\topmargin+1in\relax}% @@ -1728,17 +1585,15 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \sls@leftmargin -% \end{macro}%^^A \sls@topmargin -% \end{macro}%^^A \defpagestyle +% \end{macro}^^A \sls@topmargin … \sls@leftmargin +% \end{command}^^A \defpagestyle % -% \begin{macro}{\newpagestyle} -% \changes{v3.32}{2020/09/11}{test for \textsf{titlesec}} -% For the parameters see \Macro{defpagestyle}. -% Define the pagestyle only, if not already defined. Unfortunately -% \textsf{titlesec} also defines this command. So new definition will -% fail. \textsf{titlesec} uses \cs{providecommand} so if the order would be -% changed, everything would be OK. +% \begin{command}{\newpagestyle} +% \changes{v3.32}{2020/09/11}{test for \pkg{titlesec}} +% For the parameters see \cs{defpagestyle}. Define the pagestyle only, if not +% already defined. Unfortunately \pkg{titlesec} also defines this command. So +% new definition will fail. \textsf{titlesec} uses \cs{providecommand} so if +% the order would be changed, everything would be OK. % \begin{macrocode} %<*body> \@ifpackageloaded{titlesec}{% @@ -1773,15 +1628,14 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \newpagestyle +% \end{command}^^A \newpagestyle % -% \begin{macro}{\renewpagestyle} +% \begin{command}{\renewpagestyle} % \changes{v3.32}{2020/09/11}{test for \textsf{titlesec}} -% For the parameters see \Macro{defpagestyle}. -% Define the pagestyle only, if not already defined. Unfortunately -% \textsf{titlesec} also defines this command. So new definition will -% fail. \textsf{titlesec} uses \cs{providecommand} so if the order would be -% changed, everything would be OK. +% For the parameters see \cs{defpagestyle}. Define the pagestyle only, if not +% already defined. Unfortunately \textsf{titlesec} also defines this +% command. So new definition will fail. \textsf{titlesec} uses +% \cs{providecommand} so if the order would be changed, everything would be OK. % \begin{macrocode} %<*body> \@ifpackageloaded{titlesec}{% @@ -1818,11 +1672,10 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \renewpagestyle +% \end{command}^^A \renewpagestyle % -% \begin{macro}{\providepagestyle} -% For the parameters see \Macro{defpagestyle}. -% Define only, if not already defined: +% \begin{command}{\providepagestyle} +% For the parameters see \cs{defpagestyle}. Define only, if not already defined: % \begin{macrocode} %<*body> \newcommand*\providepagestyle[3]{% @@ -1839,50 +1692,42 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \providepagestyle -% -% -% \section{User Page Style Definition Interface} -% -% This is the mid-level interface of \Package{scrpage2} with -% \Macro{deftripstyle}. As in \Package{scrpage2} we simply use the expert page -% style definition interface to define the new user interface commands. But -% here the useless starred versions will not longer be supported. So users of -% them have to remove the star (nothing else). -% -% \begin{macro}{\deftriplepagestyle} -% \begin{macro}{\newtriplepagestyle} -% \begin{macro}{\renewtriplepagestyle} -% \begin{macro}{\providetriplepagestyle} -% \begin{macro}{\deftripstyle} -% \begin{description} -% \item[\Parameter{string}:] the name of the page style to be defined (must -% be fully expandable and expand to a string only). -% \item[\OParameter{dimensional expression}:] thickness of a horizontal line -% above the page head and below the page foot (default: 0\,pt). -% \item[\OParameter{dimensional expression}:] thickness of a horizontal line -% below the page head and above the page foot (default: 0\,pt). -% \item[\Parameter{code}:] will be expanded left aligned at head of odd -% pages (with one-side layout all pages are odd) and right aligned at head -% of even pages. -% \item[\Parameter{code}:] will be expanded centered at head of odd -% and even pages. -% \item[\Parameter{code}:] will be expanded right aligned at head of odd -% pages (with one-side layout all pages are odd) and left aligned at head -% of even pages. -% \item[\Parameter{code}:] will be expanded left aligned at footer of odd -% pages (with one-side layout all pages are odd) and right aligned at -% footer of even pages. -% \item[\Parameter{code}:] will be expanded centered at footer of odd -% and even pages. -% \item[\Parameter{code}:] will be expanded right aligned at footer of odd -% pages (with one-side layout all pages are odd) and left aligned at -% footer of even pages. -% \end{description} -% See \Package{scrpage2}, but: -% While the starred version of \Macro{deftripstyle} is deprecated for several -% years and hasn't been described at the manual, it will not longer be -% defined. Additional commands have been added. +% \end{command}^^A \providepagestyle +% +% +% \subsection{User page style definition interface} +% +% This is the mid-level interface of \pkg{scrpage2} with \cs{deftripstyle}. As +% in \pkg{scrpage2} we simply use the expert page style definition interface +% to define the new user interface commands. But here the useless starred +% versions will not longer be supported. So users of them have to remove the +% star (nothing else). +% +% \begin{command}{\deftriplepagestyle,\newtriplepagestyle, +% \renewtriplepagestyle,\providetriplepagestyle} +% \begin{description} +% \item[\marg{string}:] the name of the page style to be defined (must be +% fully expandable and expand to a string only). +% \item[\oarg{dimensional expression}:] thickness of a horizontal line above +% the page head and below the page foot (default: 0\,pt). +% \item[\oarg{dimensional expression}:] thickness of a horizontal line below +% the page head and above the page foot (default: 0\,pt). +% \item[\marg{code}:] will be expanded left aligned at head of odd pages (with +% one-side layout all pages are odd) and right aligned at head of even +% pages. +% \item[\marg{code}:] will be expanded centered at head of odd and even pages. +% \item[\marg{code}:] will be expanded right aligned at head of odd pages +% (with one-side layout all pages are odd) and left aligned at head of even +% pages. +% \item[\marg{code}:] will be expanded left aligned at footer of odd pages +% (with one-side layout all pages are odd) and right aligned at footer of +% even pages. +% \item[\marg{code}:] will be expanded centered at footer of odd and even +% pages. +% \item[\marg{code}:] will be expanded right aligned at footer of odd pages +% (with one-side layout all pages are odd) and left aligned at footer of +% even pages. +% \end{description} % \begin{macrocode} %<*body> \newcommand*{\deftriplepagestyle}[1]{% @@ -1902,16 +1747,13 @@ \scrlayer@triplestyle{#1}% }% % \end{macrocode} -% \begin{macro}{\scrlayer@triplestyle} -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\scrlayer@@triplestyle} +% \begin{macro}{\scrlayer@triplestyle,\scrlayer@@triplestyle} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\scrlayer@@@triplestyle} % Helpers, that do the real work. Parameters are same, but \cs{reserved@a} has -% to be one of \Macro{defpagestyle}, \Macro{newpagestyle}, -% \Macro{renewpagestyle}, or \Macro{providepagestyle}. +% to be one of \cs{defpagestyle}, \cs{newpagestyle}, +% \cs{renewpagestyle}, or \cs{providepagestyle}. % \begin{macrocode} \newcommand*{\scrlayer@triplestyle}[1]{% \kernel@ifnextchar[%] @@ -1961,9 +1803,14 @@ }% }% % \end{macrocode} -% \end{macro}%^^A \scrlayer@@@triplestyle -% \end{macro}%^^A \scrlayer@@triplestyle -% \end{macro}%^^A \scrlayer@triplestyle +% \end{macro}^^A \scrlayer@@@triplestyle +% \end{macro}^^A \scrlayer@triplestyle,\scrlayer@@triplestyle +% \begin{command}{deftripstyle} +% Command \cs{deftripstyle} has been defined for compatibility with +% \pkg{scrpage2} only. It is deprecated now. +% The starred version \cs{deftripstyle*} is deprecated for several +% years and hasn't been described at the manual, it will not longer be +% defined. % \begin{macrocode} \newcommand*{\deftripstyle}{% \PackageWarning{scrlayer-scrpage}{% @@ -1976,46 +1823,40 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \deftripstyle -% \end{macro}%^^A \providetriplepagestyle -% \end{macro}%^^A \renewtriplepagestyle -% \end{macro}%^^A \newtriplepagestyle -% \end{macro}%^^A \deftriplepagestyle -% -% -% \section{Pre-defined Page Styles Interface} -% -% This is the high-level interface of \Package{scrpage2} with the page style -% \Pagestyle{scrheadings}, \Pagestyle{scrplain}, and -% \Pagestyle{useheadings}. Those will work as expected but will also be -% extended to support definition of additional styles using the same -% interface. -% -% \begin{macro}{\defpairofpagestyles} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{description} -% \item[\OParameter{string}:] name of a parent page style, that will be used -% to initialise the new page style (must be fully expandable and expand to -% the name of a page style). -% \item[\Parameter{string}:] name the page style to be defined (must be -% fully expandable and expand to the name of a page style). -% \item[\Parameter{code}:] several commands of \Macro{ihead}, \Macro{chead}, -% \Macro{ohead}, \Macro{lehead}, \Macro{lohead}, \Macro{cohead}, -% \Macro{rehead}, \Macro{cehead}, \Macro{rohead}, \Macro{ifoot}, -% \Macro{cfoot}, \Macro{ofoot}, \Macro{lefoot}, \Macro{cefoot}, -% \Macro{lofoot}, \Macro{refoot}, \Macro{cofoot}, \Macro{rofoot}, -% \Macro{clearscrheadfoot}, \Macro{clearscrheadings}, -% \Macro{clearscrplain}. -% \end{description} -% Two page styles will be defined using \Macro{defpagestyle}, page style named +% \end{command}^^A \deftripstyle +% \end{command}^^A \deftriplepagestyle … \providetriplepagestyle +% +% +% \subsection{Pre-defined page styles interface} +% +% This is the high-level interface of \pkg{scrpage2} with the page style +% \pstyle{scrheadings}, \pstyle{scrplain}, and \pstyle{useheadings}. Those +% will work as expected but will also be extended to support definition of +% additional styles using the same interface. +% +% \begin{command}{\defpairofpagestyles} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{description} +% \item[\oarg{string}:] name of a parent page style, that will be used to +% initialise the new page style (must be fully expandable and expand to the +% name of a page style). +% \item[\marg{string}:] name the page style to be defined (must be fully +% expandable and expand to the name of a page style). +% \item[\marg{code}:] several commands of \cs{ihead}, \cs{chead}, \cs{ohead}, +% \cs{lehead}, \cs{lohead}, \cs{cohead}, \cs{rehead}, \cs{cehead}, +% \cs{rohead}, \cs{ifoot}, \cs{cfoot}, \cs{ofoot}, \cs{lefoot}, \cs{cefoot}, +% \cs{lofoot}, \cs{refoot}, \cs{cofoot}, \cs{rofoot}, \cs{clearscrheadfoot}, +% \cs{clearscrheadings}, \cs{clearscrplain}. +% \end{description} +% Two page styles will be defined using \cs{defpagestyle}, page style named % with the second argument and page style with the same name but an additional -% prefix ``\texttt{plain.}''. This will be activated automatically to be the +% prefix ``\pstyle{plain.}''. This will be activated automatically to be the % plain page style when the first page style will be used. If first argument % is used this pair of page styles will be used to initialise the head and % footer of the new. All the other commands are used to define the initial % fields. Note, if one of those page styles is active, all further commands % (see 3rd argument) depend on the active page style. If no one is active, -% they depend on page style \texttt{scrheadings}. +% they depend on page style \pstyle{scrheadings}. % \begin{macrocode} %<*body> \newcommand*{\defpairofpagestyles}[3][]{% @@ -2058,7 +1899,7 @@ onselect={% % \end{macrocode} % \changes{v3.15}{2015/01/08}{usage of \cs{DeclarePageStyleAlias} instead of -% \cs{let}}%^^A fixme: Is this correct? +% \cs{let}} % \begin{macrocode} \DeclarePageStyleAlias{plain}{plain.#2}% \DeclarePageStyleAlias{headings}{#2}% @@ -2072,7 +1913,7 @@ onselect={% % \end{macrocode} % \changes{v3.15}{2015/01/08}{usage of \cs{DeclarePageStyleAlias} instead of -% \cs{let}}%^^A fixme: Is this correct? +% \cs{let}} % \begin{macrocode} \DeclarePageStyleAlias{plain}{plain.#2}% \DeclarePageStyleAlias{headings}{#2}% @@ -2110,31 +1951,28 @@ }% }% % \end{macrocode} -% \begin{macro}{\sls@currentheadings} -% \begin{macro}{\sls@currentplain} +% \begin{macro}{\sls@currentheadings,\sls@currentplain} % These little helpers will be set up at selection of each pair page style and % stores the last activated page style pair of the scope. % \begin{macrocode} \newcommand*\sls@currentheadings{scrheadings}% \newcommand*\sls@currentplain{plain.scrheadings}% % \end{macrocode} -% \end{macro}%^^A \sls@currentplain -% \end{macro}%^^A \sls@currentheadings +% \end{macro}^^A \sls@currentheadings,\sls@currentplain % \begin{macro}{\sls@init@pair@page@style} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \changes{v3.20}{2016/04/12}{\cs{ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\sls@init@@pair@page@style} -% \begin{description} -% \item[\Parameter{string}:] the name of the page style, that should be -% initialised to be one member of a page style pair. -% \item[\Parameter{string}:] the name of a member of a page style pair, that -% should be used to initialise one the member of a page style pair from -% first argument. -% \end{description} -% These are two little helpers for \Macro{defpairofpagestyles}. -% The first command has two starred versions. With one star the commands for -% the page style will be initialised to \Macro{@empty}, with two stars they -% will become \LaTeX-undefined (\Macro{relax}). +% \begin{description} +% \item[\marg{string}:] the name of the page style, that should be initialised +% to be one member of a page style pair. +% \item[\marg{string}:] the name of a member of a page style pair, that should +% be used to initialise one the member of a page style pair from first +% argument. +% \end{description} +% These are two little helpers for \cs{defpairofpagestyles}. The first command +% has two starred versions. With one star the commands for the page style will +% be initialised to \cs{@empty}, with two stars they will become +% \LaTeX-undefined (\cs{relax}). % % Note also, that the second argument may either be the plain or the non-plain % member of the page style pair. @@ -2177,16 +2015,16 @@ \csname sls@ps@#2@odd@right@foot\endcsname }% % \end{macrocode} -% \end{macro}%^^A \sls@init@@pair@page@style +% \end{macro}^^A \sls@init@@pair@page@style % \begin{macro}{\sls@let@pair@page@style} -% \begin{description} -% \item[\Parameter{command}:] a single command used to initialise the -% commands of the page style commands. -% \item[\Parameter{string}:] the name of a member of a page style pair, that -% should be used to initialise one the member of a page style pair from -% first argument. -% \end{description} -% A little helper for \Macro{sls@init@pair@page@style}. +% \begin{description} +% \item[\marg{command}:] a single command used to initialise the commands of +% the page style commands. +% \item[\marg{string}:] the name of a member of a page style pair, that should +% be used to initialise one the member of a page style pair from first +% argument. +% \end{description} +% A little helper for \cs{sls@init@pair@page@style}. % \begin{macrocode} \newcommand*{\sls@let@pair@page@style}[2]{% \expandafter\let\csname sls@ps@#2@even@left@head\endcsname #1% @@ -2203,20 +2041,20 @@ \expandafter\let\csname sls@ps@#2@odd@right@foot\endcsname #1% }% % \end{macrocode} -% \end{macro}%^^A \sls@let@pair@page@style -% \end{macro}%^^A \sls@init@pair@page@style +% \end{macro}^^A \sls@let@pair@page@style +% \end{macro}^^A \sls@init@pair@page@style % \begin{macro}{\sls@def@pair@page@style@member} -% \changes{v3.24}{2017/05/04}{improved \textsf{bidi} compatibility}%^^A +% \changes{v3.24}{2017/05/04}{improved \textsf{bidi} compatibility} % \changes{v3.27}{2019/04/05}{\cs{centering} replaced by -% \cs{LaTeXcentering}}%^^A +% \cs{LaTeXcentering}} % \changes{v3.27}{2019/04/05}{\cs{raggedright} replaced by -% \cs{LaTeXraggedright}}%^^A +% \cs{LaTeXraggedright}} % \changes{v3.27}{2019/04/05}{\cs{raggedleft} replaced by -% \cs{LaTeXraggedleft}}%^^A -% \begin{description} -% \item[\Parameter{string}:] name of the page style to be defined. -% \end{description} -% A little helper for \Macro{defpairofpagestyles}. +% \cs{LaTeXraggedleft}} +% \begin{description} +% \item[\marg{string}:] name of the page style to be defined. +% \end{description} +% A little helper for \cs{defpairofpagestyles}. % \begin{macrocode} \newcommand*{\sls@def@pair@page@style@member}[1]{% \defpagestyle{#1}{% @@ -2269,13 +2107,12 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \sls@def@pair@page@style@member -% \end{macro}%^^A \defpairofpagestyles +% \end{macro}^^A \sls@def@pair@page@style@member +% \end{command}^^A \defpairofpagestyles % -% \begin{macro}{\newpairofpagestyles} -% \begin{macro}{\renewpairofpagestyles} -% \begin{macro}{\providepairofpagestyles} -% See \Macro{defpairofpagestyles} for the arguments. +% \begin{command}{\newpairofpagestyles,\renewpairofpagestyles, +% \providepairofpagestyles} +% See \cs{defpairofpagestyles} for the arguments. % \begin{macrocode} %<*body> \newcommand*{\newpairofpagestyles}[3][]{% @@ -2351,164 +2188,86 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \providepairofpagestyles -% \end{macro}%^^A \renewpairofpagestyles -% \end{macro}%^^A \newpairofpagestyles +% \end{command}^^A \newpairofpagestyles … \providepairofpagestyles +% % -% \begin{macro}{\ps@scrheadings} -% \begin{macro}{\ps@plain.scrheadings} +% \begin{pgstyle}{scrheading,plain.scrheadings} % We have one predefined pair: \texttt{scrheadings} with plain page style % \texttt{plain.scrheadings}. % \begin{macrocode} %<*body> \newpairofpagestyles{scrheadings}{}% % \end{macrocode} -% \begin{macro}{\ps@scrplain} -% But with package \Package{scrpage2} the plain page style was -% \texttt{scrplain}. So we make a kind of alias: +% \begin{pgstyle}{scrplain} +% But with package \pkg{scrpage2} +% the plain page style was \texttt{scrplain}. So we make a kind of alias: % \begin{macrocode} \DeclarePageStyleAlias{scrplain}{plain.scrheadings} %</body> % \end{macrocode} -% \end{macro}%^^A \ps@scrplain -% \end{macro}%^^A \ps@plain.scrheadings -% \end{macro}%^^A \ps@scrheadings -% -% -% \begin{macro}{\ihead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\ohead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\chead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\lehead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\lohead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\rehead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\rohead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\cehead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\cohead} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\ifoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\ofoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\cfoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\lefoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\lofoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\refoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\rofoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\cefoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\cofoot} -% \changes{v3.14}{2014/09/19}{new star version double the argument}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% We also need macros to define the contents of the three part head -% and foot. Each macro defines one of the part of head or foot of the -% headings page style member and optional of the plain page style -% member. +% \end{pgstyle}^^A scrplain +% \end{pgstyle}^^A scrheadings,plain.scrheadings +% +% +% \begin{command}{\ihead,\ohead,\chead, +% \lehead,\lohead,\rehead,\rohead,\cehead,\cohead, +% \ifoot,\ofoot,\cfoot, +% \lefoot,\lofoot,\refoot,\rofoot,\cefoot,\cofoot} +% \changes{v3.14}{2014/09/19}{new star version double the argument} +% \changes{v3.20}{2016/04/12}{\cs{ifstar} replaced by \cs{kernel@ifstar}} +% We also need macros to define the contents of the three part head and +% foot. Each macro defines one of the part of head or foot of the +% \emph{headings} page style member and optional of the \emph{plain} page +% style member. % \begin{macrocode} %<*body> \newcommand*{\ihead}{\kernel@ifstar {\@dblarg\@@@ihead}{\@ihead}}% % \end{macrocode} % \begin{macro}{\@ihead} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@ihead} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\@@@ihead} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@ihead,\@@@ihead} +% \changes{v3.27}{2019/04/05}{long} % Two helpers for the previous one to double the command and it's arguments. % \begin{macrocode} \newcommand*{\@ihead}{\kernel@ifnextchar[{\@@@ihead}{\@@ihead}}% \newcommand{\@@ihead}[1]{\rehead{#1}\lohead{#1}}% \newcommand{\@@@ihead}[2][]{\rehead[{#1}]{#2}\lohead[{#1}]{#2}}% % \end{macrocode} -% \end{macro}%^^A \@@@ihead -% \end{macro}%^^A \@@ihead -% \end{macro}%^^A \@ihead +% \end{macro}^^A \@@ihead,\@@@ihead +% \end{macro}^^A \@ihead % \begin{macrocode} \newcommand*{\ohead}{\kernel@ifstar {\@dblarg\@@@ohead}{\@ohead}}% % \end{macrocode} % \begin{macro}{\@ohead} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@ohead} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\@@@ohead} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@ohead,\@@@ohead} +% \changes{v3.27}{2019/04/05}{long} % Two helpers for the previous one to double the command and it's arguments. % \begin{macrocode} \newcommand*{\@ohead}{\kernel@ifnextchar[{\@@@ohead}{\@@ohead}}% \newcommand{\@@ohead}[1]{\lehead{#1}\rohead{#1}}% \newcommand{\@@@ohead}[2][]{\lehead[{#1}]{#2}\rohead[{#1}]{#2}}% % \end{macrocode} -% \end{macro}%^^A \@@@ohead -% \end{macro}%^^A \@@ohead -% \end{macro}%^^A \@ohead +% \end{macro}^^A \@@ohead,\@@@ohead +% \end{macro}^^A \@ohead % \begin{macrocode} \newcommand*{\chead}{\kernel@ifstar {\@dblarg\@@@chead}{\@chead}}% % \end{macrocode} % \begin{macro}{\@chead} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@chead} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\@@@chead} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@chead,\@@@chead} +% \changes{v3.27}{2019/04/05}{long} % Two helpers for the previous one to double the command and it's arguments. % \begin{macrocode} \newcommand*{\@chead}{\kernel@ifnextchar[{\@@@chead}{\@@chead}}% \newcommand{\@@chead}[1]{\cehead{#1}\cohead{#1}}% \newcommand{\@@@chead}[2][]{\cehead[{#1}]{#2}\cohead[{#1}]{#2}}% % \end{macrocode} -% \end{macro}%^^A \@@@chead -% \end{macro}%^^A \@@chead -% \end{macro}%^^A \@chead +% \end{macro}^^A \@@chead,\@@@chead +% \end{macro}^^A \@chead % \begin{macrocode} \newcommand*{\lehead}{\sls@renewelement{even}{left}{head}}% \newcommand*{\lohead}{\sls@renewelement{odd}{left}{head}}% @@ -2522,58 +2281,49 @@ % \end{macrocode} % \begin{macro}{\@ifoot} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@ifoot} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\@@@ifoot} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@ifoot,\@@@ifoot} +% \changes{v3.27}{2019/04/05}{long} % Two helpers for the previous one to double the command and it's arguments. % \begin{macrocode} \newcommand*{\@ifoot}{\kernel@ifnextchar[{\@@@ifoot}{\@@ifoot}}% \newcommand{\@@ifoot}[1]{\refoot{#1}\lofoot{#1}}% \newcommand{\@@@ifoot}[2][]{\refoot[{#1}]{#2}\lofoot[{#1}]{#2}}% % \end{macrocode} -% \end{macro}%^^A \@@@ifoot -% \end{macro}%^^A \@@ifoot -% \end{macro}%^^A \@ifoot +% \end{macro}^^A \@@ifoot,\@@@ifoot +% \end{macro}^^A \@ifoot % \begin{macrocode} \newcommand*{\ofoot}{\kernel@ifstar {\@dblarg\@@@ofoot}{\@ofoot}}% % \end{macrocode} % \begin{macro}{\@ofoot} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@ofoot} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\@@@ofoot} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@ofoot,\@@@ofoot} +% \changes{v3.27}{2019/04/05}{long} % Two helpers for the previous one to double the command and it's arguments. % \begin{macrocode} \newcommand*{\@ofoot}{\kernel@ifnextchar[{\@@@ofoot}{\@@ofoot}}% \newcommand{\@@ofoot}[1]{\lefoot{#1}\rofoot{#1}}% \newcommand{\@@@ofoot}[2][]{\lefoot[{#1}]{#2}\rofoot[{#1}]{#2}}% % \end{macrocode} -% \end{macro}%^^A \@@@ofoot -% \end{macro}%^^A \@@ofoot -% \end{macro}%^^A \@ofoot +% \end{macro}^^A \@@ofoot,\@@@ofoot +% \end{macro}^^A \@ofoot % \begin{macrocode} \newcommand*{\cfoot}{\kernel@ifstar {\@dblarg\@@@cfoot}{\@cfoot}}% % \end{macrocode} % \begin{macro}{\@cfoot} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@cfoot} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\@@@cfoot} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@cfoot,\@@@cfoot} +% \changes{v3.27}{2019/04/05}{long} % Two helpers for the previous one to double the command and it's arguments. % \begin{macrocode} \newcommand*{\@cfoot}{\kernel@ifnextchar[{\@@@cfoot}{\@@cfoot}}% \newcommand{\@@cfoot}[1]{\cefoot{#1}\cofoot{#1}}% \newcommand{\@@@cfoot}[2][]{\cefoot[{#1}]{#2}\cofoot[{#1}]{#2}}% % \end{macrocode} -% \end{macro}%^^A \@@@cfoot -% \end{macro}%^^A \@@cfoot -% \end{macro}%^^A \@cfoot +% \end{macro}^^A \@@cfoot,\@@@cfoot +% \end{macro}^^A \@cfoot % \begin{macrocode} \newcommand*{\lefoot}{\sls@renewelement{even}{left}{foot}}% \newcommand*{\lofoot}{\sls@renewelement{odd}{left}{foot}}% @@ -2585,15 +2335,11 @@ % \begin{macro}{\sls@renewelement} % \begin{macro}{\sls@@renewelement} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\sls@@@renewelement} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\sls@@@@renewelement} -% \changes{v3.27}{2019/04/05}{made long}%^^A -% \begin{macro}{\sls@@renewplainelement} -% \changes{v3.27}{2019/04/05}{made long}%^^A +% \cs{kernel@ifnextchar}} +% \changes{v3.20}{2016/04/12}{\cs{ifstar} replaced by \cs{kernel@ifstar}} +% \begin{macro}{\sls@@@renewelement,\sls@@@@renewelement, +% \sls@@renewplainelement} +% \changes{v3.27}{2019/04/05}{long} % Little helper for several of the above commands. % \begin{macrocode} \newcommand*{\sls@renewelement}[3]{% @@ -2626,32 +2372,14 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \sls@@renewplainelement -% \end{macro}%^^A \sls@@@@renewelement -% \end{macro}%^^A \sls@@@renewelement -% \end{macro}%^^A \sls@@renewelement -% \end{macro}%^^A \sls@renewelement -% \end{macro}%^^A \cofoot -% \end{macro}%^^A \cefoot -% \end{macro}%^^A \rofoot -% \end{macro}%^^A \refoot -% \end{macro}%^^A \lofoot -% \end{macro}%^^A \lefoot -% \end{macro}%^^A \cfoot -% \end{macro}%^^A \ofoot -% \end{macro}%^^A \ifoot -% \end{macro}%^^A \cohead -% \end{macro}%^^A \cehead -% \end{macro}%^^A \rohead -% \end{macro}%^^A \rehead -% \end{macro}%^^A \lohead -% \end{macro}%^^A \lehead -% \end{macro}%^^A \chead -% \end{macro}%^^A \ohead -% \end{macro}%^^A \ihead -% -% \begin{macro}{\clearmainofpairofpagestyles} -% \begin{macro}{\clearscrheadings} +% \end{macro}^^A \sls@@@renewelement … \sls@@renewplainelement +% \end{macro}^^A \sls@@renewelement +% \end{macro}^^A \sls@renewelement +% \end{command}^^A \ihead … \cofoot +% +% +% \begin{command}{\clearmainofpairofpagestyles} +% \begin{command}{\clearscrheadings} % \changes{v3.32}{2020/09/11}{deprecation warning added} % Maybe you want to clear the currently defined head and foot. First % let's clear only scrheadings pagestyle but not scrplain pagestyle. @@ -2670,10 +2398,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \clearscrheadings -% \end{macro}%^^A \clearmainofpairofpagestyles -% \begin{macro}{\clearplainofpairofpagestyles} -% \begin{macro}{\clearscrplain} +% \end{command}^^A \clearscrheadings +% \end{command}^^A \clearmainofpairofpagestyles +% \begin{command}{\clearplainofpairofpagestyles} +% \begin{command}{\clearscrplain} % \changes{v3.32}{2020/09/11}{deprecation warning added} % Now, we use the not recommended feature to set up a plain style: % \begin{macrocode} @@ -2701,10 +2429,10 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \clearscrplain -% \end{macro}%^^A \clearplainofpairofpagestyles -% \begin{macro}{\clearpairofpagestyles} -% \begin{macro}{\clearscrheadfoot} +% \end{command}^^A \clearscrplain +% \end{command}^^A \clearplainofpairofpagestyles +% \begin{command}{\clearpairofpagestyles} +% \begin{command}{\clearscrheadfoot} % \changes{v3.32}{2020/09/11}{deprecation warning added} % Last but not least we clean up both, the main and the plain: % \begin{macrocode} @@ -2721,10 +2449,11 @@ } %</body> % \end{macrocode} -% \end{macro}%^^A \clearscrheadfoot -% \end{macro}%^^A \clearpairofpagestyles +% \end{command}^^A \clearscrheadfoot +% \end{command}^^A \clearpairofpagestyles +% % -% \begin{macro}{\ps@useheadings} +% \begin{pgstyle}{useheadings,plain.useheadings} % Not longer supported: % \begin{macrocode} %<*body> @@ -2746,24 +2475,21 @@ }% %</body> % \end{macrocode} -% \end{macro}%^^A \ps@useheadings +% \end{pgstyle}^^A useheadings,plain.useheadings % -% \iffalse^^A meta-comment +% \begin{macrocode} %</interface> -% \fi^^A meta-comment -% +% \end{macrocode} +% % \Finale -% \let\subsection\section -% \let\section\chapter -% \let\chapter\restorechapter +% \PrintChanges % \endinput -% -% end of file `scrlayer.dtx' - -%%% Local Variables: -%%% mode: doctex -%%% mode: flyspell -%%% ispell-local-dictionary: "en_GB" -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrlayer.dtx b/macros/latex/contrib/koma-script/source/scrlayer.dtx index ac98a934d1..1a150b1cab 100644 --- a/macros/latex/contrib/koma-script/source/scrlayer.dtx +++ b/macros/latex/contrib/koma-script/source/scrlayer.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlayer.dtx -% Copyright (c) Markus Kohm, 2012-2021 +% Copyright (c) Markus Kohm, 2012-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,28 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrlayer.dtx -% Copyright (c) Markus Kohm, 2012-2021 -% -% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% -%%% From File: $Id: scrlayer.dtx 3560 2021-02-15 13:20:12Z kohm $ +%%% From File: $Id: scrlayer.dtx 3773 2022-03-29 06:27:55Z kohm $ %<identify>%%% (run: identify) %<init>%%% (run: init) %<options>%%% (run: options) @@ -48,9 +28,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-02-15 14:20:12 +0100 (Mon, 15 Feb 2021) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3560 $ + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlayer.dtx}% @@ -77,11 +57,11 @@ \KOMAdefVariable{COPYRIGHTFROM}{2012} \generate{\usepreamble\defaultpreamble \file{scrlayer.sty}{% - \from{scrlayer.dtx}{package,trace,scrlayer,identify}% - \from{scrlayer.dtx}{package,trace,scrlayer,init}% - \from{scrlayer.dtx}{package,trace,scrlayer,options}% - \from{scrlayer.dtx}{package,trace,scrlayer,body}% - \from{scrlayer.dtx}{package,trace,scrlayer,final}% + \from{scrlayer.dtx}{package,scrlayer,identify}% + \from{scrlayer.dtx}{package,scrlayer,init}% + \from{scrlayer.dtx}{package,scrlayer,options}% + \from{scrlayer.dtx}{package,scrlayer,body}% + \from{scrlayer.dtx}{package,scrlayer,final}% \from{scrlogo.dtx}{logo}% }% } @@ -93,121 +73,63 @@ \let\endbatchfile\relax \fi \endbatchfile - \documentclass{scrdoc} - \addtolength{\textwidth}{-1em} - \addtolength{\marginparwidth}{2em} - \addtolength{\oddsidemargin}{2em} - \usepackage[ngerman,english]{babel} - \usepackage{url,babelbib}\bibliographystyle{babalpha-fl} - \usepackage{listings} - \usepackage{scrhack} - \usepackage{etoolbox} - \pretocmd\DescribeMacro{\ifhmode\else\bigskip\noindent\fi}{}{} - \pretocmd\DescribeEnv{\ifhmode\else\bigskip\noindent\fi}{}{} - \pretocmd\DescribeOption{\ifhmode\else\bigskip\noindent\fi}{}{} - - \CodelineIndex - \RecordChanges - \GetFileInfo{scrlayer.dtx} - \title{The \KOMAScript{} package \texttt{scrlayer}% - \footnote{This is version \fileversion\ of file \texttt{\filename}.}} - \date{\filedate} - \author{Markus Kohm} - - \newenvironment{Explain}{\par}{\par} - \newcommand*{\length}{} - \let\length\Length - \let\endlength\endLength - \let\Macro\cs - \let\Length\Macro - \let\Package\textsf - \let\Class\Package - \let\File\texttt - \let\Option\texttt - \newcommand*{\KOption}[1]{\Option{#1}\texttt{=}} - \newcommand*{\OptionValue}[2]{\Option{#1}\texttt{=}\PValue{#2}} - \let\Counter\texttt - \let\Environment\texttt - \let\ShowOutput\quote - \let\endShowOutput\endquote - \let\Pagestyle\texttt - \newcommand*{\Parameter}[1]{\texttt{\marg{#1}}\linebreak[1]} - \newcommand*{\OParameter}[1]{\texttt{\oarg{#1}}\linebreak[1]} - \newcommand*{\MParameter}[2]{\texttt{(\meta{#1},\meta{#2})}\linebreak[1]} - \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}\linebreak[1]} - \let\PName\meta - \let\PValue\texttt - \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} - \providecommand*{\AUTOREF}{} - \makeatletter - \def\AUTOREF#1:#2:{% - \edef\@tempa{#1}% - \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi - \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi - \ref{#1:#2}% - } - \providecommand*{\IndexCmd}[2][]{} - \providecommand*{\textnote}[2][]{} - \providecommand*\eTeX{\leavevmode\hbox{$\varepsilon$}-\TeX} - \providecommand*\NTS{% - \leavevmode\hbox{$\cal N\kern-0.35em\lower0.5ex\hbox{$\cal T$}% - \kern-0.2emS$}} - - \lstnewenvironment{lstcode}{\lstset{language=[LaTeX]TeX}}{} - \makeatother - \sloppy% YOU SHOULD NOT DO THIS!!! - - \begin{document} - \maketitle - \DocInput{\filename} - \DocInput{scrlayer-scrpage.dtx} - \DocInput{scrlayer-notecolumn.dtx} - \bibliography{guide} - \PrintChanges - \PrintIndex - \end{document} +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} +\begin{document} + \DocInput{scrlayer.dtx} +\end{document} %</dtx> % \fi^^A meta-comment % -% \selectlanguage{english} -% -% \changes{v0.0}{2012/01/01}{Start of new package}%^^A -% \changes{v0.9}{2014/07/25}{User documentation removed}%^^A +% \changes{v0.0}{2012/01/01}{Start of new package} +% \changes{v0.9}{2014/07/25}{User documentation removed} +% \changes{v3.36}{2022/02/08}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/08}{require package \pkg*{scrlogo} instead of +% defining \cs{KOMAScript}} +% \changes{v3.36}{2022/02/08}{whole implementation documentation in English} % -% \StopEventually{} +% \GetFileInfo{scrlayer.dtx} +% \title{Layers and Page Styles with \href{https://komascript.de}{\KOMAScript} +% Package \pkg*{scrlayer}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% Usually page styles only define the page header and page footer. But with +% \pkg*{scrlayer} page styles consist of multiple layers, that can be placed +% everywhere in the page background or foreground. +% \end{abstract} +% \tableofcontents % +% \section{User Manual} % -% \section{Implementation of \Package{scrlayer}} +% You can find the user manuals of \pkg*{scrlayer} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. % -% This section if for developers only. +% \MaybeStop{\PrintIndex} % -% \iffalse -%<*package> -%<*identify> -% \fi +% \section{Implementation of \pkg*{scrlayer}} % -%\iffalse^^A meta-comment -%</identify> -%</package> +% \begin{macrocode} %<*package|interface|class> -%\fi^^A meta-comment +% \end{macrocode} % -% \subsection{Initialising some Values before the Options} +% \subsection{Initialising some values before the options} % -% \iffalse^^A meta-comment +% \begin{macrocode} %<*init> -% \fi^^A meta-comment +% \end{macrocode} % % Initialisation before all options. % -% \begin{macro}{\scrlayer@@inherited@options@cslist} -% \changes{v3.33}{2021/02/15}{new (internal)} -% \begin{macro}{\scrlayer@@add@inherited@option} -% \changes{v3.33}{2021/02/15}{new (internal)} -% \begin{macro}{\scrlayer@do@inherited@options} -% \changes{v3.33}{2021/02/15}{new (interface command)} -% \begin{macro}{\scrlayer@inherit@option} -% \changes{v3.33}{2021/02/15}{new (interface command)} +% \begin{macro}{\scrlayer@@inherited@options@cslist, +% \scrlayer@@add@inherited@option} +% \changes{v3.33}{2021/02/15}{added} +% \begin{macro}{\scrlayer@do@inherited@options, +% \scrlayer@inherit@option} +% \changes{v3.33}{2021/02/15}{added (interface command)} % The options of \textsf{scrlayer} should be passed to \textsf{scrlayer} while % loading an interface package. We use the comma-separated-list % \cs{scrlayer@@inherited@options@cslist} to store all of them, so the @@ -261,12 +183,10 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} % -% While there are \KOMAScript{} options, we need \Package{scrkbase} to declare -% them, but the interfaces also needs \Package{scrlayer} which already -% includes \Package{scrkbase}. +% While there are \KOMAScript{} options, we need \pkg*{scrkbase} to declare +% them, but the interfaces also needs \pkg*{scrlayer} which already +% includes \pkg*{scrkbase}. % \begin{macrocode} %<package>\RequirePackage{scrkbase}[2013/03/05] %<interface>\RequirePackage{scrlayer} @@ -274,8 +194,8 @@ % % % \begin{macro}{\scrlayer@AtEndOfPackage} -% Initial \Macro{AtEndOfPackage}, but after end of package -% \Macro{@firstofone}. +% Initial \cs{AtEndOfPackage}, but after end of package +% \cs{@firstofone}. % \begin{macrocode} \scr@ifundefinedorrelax{scrlayer@AtEndOfPackage}{% \AtEndOfPackage{\let\scrlayer@AtEndOfPackage\@firstofone}% @@ -286,12 +206,12 @@ } \let\scrlayer@AtEndOfPackage\AtEndOfPackage % \end{macrocode} -% \end{macro}%^^A \sls@AtEndOfPackage +% \end{macro}^^A \sls@AtEndOfPackage % % \begin{macro}{\scrlayer@testunexpectedarg} % We'll have several \KOMAScript{} options, that didn't expect an % value. So we use this general helper to test the value and report an error -% if it is not empty (or \Macro{relax}). +% if it is not empty (or \cs{relax}). % \begin{macrocode} %<*package> \newcommand*{\scrlayer@testunexpectedarg}[2]{% @@ -304,9 +224,9 @@ } %</package> % \end{macrocode} -% \end{macro}%^^A \scrlayer@testunexpectedarg +% \end{macro}^^A \scrlayer@testunexpectedarg % -% \begin{macro}{\if@chapter} +% \begin{macro}{\if@chapter,\@chaptertrue,\@chapterfalse} % We need this later. But it is something general. So we initialise it as % early as possible. % \begin{macrocode} @@ -316,11 +236,11 @@ \scr@ifundefinedorrelax{chapter}{\@chapterfalse}{\@chaptertrue}% }{} % \end{macrocode} -% \end{macro}%^^A \if@chapter +% \end{macro}^^A \if@chapter % % \begin{macro}{\if@mainmatter} -% Some classes define \Macro{frontmatter} or \Macro{mainmatter}, but do not -% define \Macro{if@mainmatter}. But we nee some information about the matter, +% Some classes define \cs{frontmatter} or \cs{mainmatter}, but do not +% define \cs{if@mainmatter}. But we nee some information about the matter, % so in that case, we add it. % \begin{macrocode} \scr@ifundefinedorrelax{if@mainmatter}{% @@ -351,19 +271,19 @@ }{} %</package> % \end{macrocode} -% \end{macro}%^^A \if@mainmatter +% \end{macro}^^A \if@mainmatter % -% \iffalse^^A meta-comment +% \begin{macrocode} %</init> -% \fi^^A meta-comment -% +% \end{macrocode} +% % % \subsection{Process Options} % -% \iffalse^^A meta-comment +% \begin{macrocode} %<*body> -% \fi^^A meta-comment -% +% \end{macrocode} +% % The very first thing at the body is processing the options: % \begin{macrocode} %<*package|interface> @@ -375,26 +295,26 @@ % % Currently not needed. % -% \iffalse +% \begin{macrocode} %</body> -% \fi -% +% \end{macrocode} +% % % \subsection{Extended Running Heads} % -% Package \Package{scrpage2} changes and extends the running head mechanisms +% Package \pkg{scrpage2} changes and extends the running head mechanisms % of \LaTeX{} and the classes. Most of this are basic features an therefore -% done already by \Package{scrlayer}. But not the deprecated options. +% done already by \pkg*{scrlayer}. But not the deprecated options. % % \begin{option}{markcase} % \begin{description} % \item[\texttt{=\meta{setting}}] one of: \texttt{upper}, \texttt{lower}, % \texttt{used}, or \texttt{ignoreuppercase}. % \end{description}\noindent -% The two options \Option{markuppercase} and \Option{markusedcase} become -% deprecated and are replace be the single option \Option{markcase}. Note, -% that interface \Package{scrlayer-scrpage} has to delay this option to -% overload case setting of option \Option{pagestyleset}. +% The two options \opt{markuppercase} and \opt{markusedcase} become +% deprecated and are replace be the single option \opt{markcase}. Note, +% that interface \pkg*{scrlayer-scrpage} has to delay this option to +% overload case setting of option \opt{pagestyleset}. % \begin{macrocode} %<*options> \KOMA@key{markcase}{% @@ -440,8 +360,8 @@ \csname KV@KOMA.\@currname.\@currext @markcase\endcsname\relax %</interface&body> % \end{macrocode} -% \begin{macro}{\MakeMarkcase} -% We use this instead of, e.g., \Macro{MakeUppercase} for every layer! So the +% \begin{command}{\MakeMarkcase} +% We use this instead of, e.g., \cs{MakeUppercase} for every layer! So the % name seams to be wrong, but it is common, so we use it here. % \begin{macrocode} %<*package&options> @@ -457,8 +377,8 @@ \fi\fi\fi\fi % \end{macrocode} % \begin{macro}{\scrlayer@ignoreuppercase} -% We span a group and set \Macro{uppercase} and \Macro{MakeUppercase} to -% \Macro{@firstofone}. +% We span a group and set \cs{uppercase} and \cs{MakeUppercase} to +% \cs{@firstofone}. % \begin{macrocode} \DeclareRobustCommand*{\scrlayer@ignoreuppercase}[1]{% \begingroup @@ -477,52 +397,40 @@ \newif\ifscrlayer@forceignoreuppercase %</package&options> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@forceignoreuppercase -% \end{macro}%^^A \scrlayer@ignoreuppercase -% \end{macro}%^^A \MakeMarkcase -% \end{option}%^^A markcase +% \end{macro}^^A \ifscrlayer@forceignoreuppercase +% \end{macro}^^A \scrlayer@ignoreuppercase +% \end{command}^^A \MakeMarkcase +% \end{option}^^A markcase % -% \begin{macro}{\rightfirstmark} -% \changes{v3.16}{2015/01/14}{new}%^^A -% \begin{macro}{\rightbotmark} -% \changes{v3.16}{2015/01/14}{new}%^^A -% \begin{macro}{\righttopmark} -% \changes{v3.16}{2015/01/14}{new}%^^A -% \Macro{rightfirstmark} is simply the same like the \Macro{rightmark} of the -% \LaTeX{} kernel. \Macro{rightbotmark} uses \Macro{botmark} instead of -% \Macro{firstmark} and \Macro{righttopmark} uses \Macro{topmark}. +% \begin{command}{\rightfirstmark,\rightbotmark,\righttopmark} +% \changes{v3.16}{2015/01/14}{added} +% \cs{rightfirstmark} is simply the same like the \cs{rightmark} of the +% \LaTeX{} kernel. \cs{rightbotmark} uses \cs{botmark} instead of +% \cs{firstmark} and \cs{righttopmark} uses \cs{topmark}. % \begin{macrocode} %<*package&body> \newcommand*{\rightfirstmark}{\expandafter\@rightmark\firstmark\@empty\@empty} \newcommand*{\rightbotmark}{\expandafter\@rightmark\botmark\@empty\@empty} \newcommand*{\righttopmark}{\expandafter\@rightmark\topmark\@empty\@empty} % \end{macrocode} -% \end{macro}%^^A \righttopmark -% \end{macro}%^^A \rightbotmark -% \end{macro}%^^A \rightfirstmark +% \end{command}^^A \rightfirstmark … % -% \begin{macro}{\leftfirstmark} -% \changes{v3.16}{2015/01/14}{new}%^^A -% \begin{macro}{\leftbotmark} -% \changes{v3.16}{2015/01/14}{new}%^^A -% \begin{macro}{\lefttopmark} -% \changes{v3.16}{2015/01/14}{new}%^^A -% \Macro{leftbotmark} is simply the same like the \Macro{leftmark} of the -% \LaTeX{} kernel. \Macro{leftfirstmark} uses \Macro{firstmark} instead of -% \Macro{botmark} and \Macro{lefttopmark} uses \Macro{topmark}. +% \begin{command}{\leftfirstmark,\leftbotmark,\lefttopmark} +% \changes{v3.16}{2015/01/14}{added} +% \cs{leftbotmark} is simply the same like the \cs{leftmark} of the +% \LaTeX{} kernel. \cs{leftfirstmark} uses \cs{firstmark} instead of +% \cs{botmark} and \cs{lefttopmark} uses \cs{topmark}. % \begin{macrocode} \newcommand*{\leftfirstmark}{\expandafter\@leftmark\firstmark\@empty\@empty} \newcommand*{\leftbotmark}{\expandafter\@leftmark\botmark\@empty\@empty} \newcommand*{\lefttopmark}{\expandafter\@leftmark\topmark\@empty\@empty} %</package&body> % \end{macrocode} -% \end{macro}%^^A \lefttopmark -% \end{macro}%^^A \leftbotmark -% \end{macro}%^^A \leftfirstmark +% \end{command}^^A \leftfirstmark … % -% \begin{macro}{\headmark} -% Inside a page style, this macro is either \Macro{rightmark} or -% \Macro{leftmark}. Outside its \LaTeX-undefined and therefore it's not an +% \begin{command}{\headmark} +% Inside a page style, this macro is either \cs{rightmark} or +% \cs{leftmark}. Outside its \LaTeX-undefined and therefore it's not an % interface command, but has to be undefined: % \begin{macrocode} %<*package&body> @@ -541,9 +449,9 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \headmark +% \end{command}^^A \headmark % -% \begin{macro}{\pagemark} +% \begin{command}{\pagemark} % The page number together with its font setting. It's robust and will never % be part of the interface. % \begin{macrocode} @@ -552,7 +460,7 @@ \DeclareRobustCommand\pagemark{{\pnumfont{\thepage}}}% }{}% % \end{macrocode} -% \begin{macro}{\pnumfont} +% \begin{command}{\pnumfont} % \begin{macro}{\scr@fnt@pagenumber} % The low-level page number font command. It is deprecated to redefine or use % this and it may already be defined. These commands will not become part of @@ -566,19 +474,17 @@ }{} %</package&body> % \end{macrocode} -% \end{macro}%^^A \scr@fnt@pagenumber -% \end{macro}%^^A \pnumfont -% \end{macro}%^^A \pagemark +% \end{macro}^^A \scr@fnt@pagenumber +% \end{command}^^A \pnumfont +% \end{command}^^A \pagemark % -% \begin{macro}{\partmarkformat} -% \begin{macro}{\chaptermarkformat} -% \begin{macro}{\sectionmarkformat} -% \begin{macro}{\GenericMarkFormat} -% All the \Macro{\dots markformat} macros of \KOMAScript{} are also -% supported by \Package{scrlayer} and it uses them actively. The generic -% definition has been moved from \Macro{@seccntmarkformat} to -% \Macro{GenericMarkFormat}. This is one more difference to -% \Package{scrpage2}. The defaults are compatible to the standard +% \begin{command}{\partmarkformat,\chaptermarkformat,\sectionmarkformat, +% \GenericMarkFormat} +% All the \cs{\dots markformat} macros of \KOMAScript{} are also +% supported by \pkg*{scrlayer} and it uses them actively. The generic +% definition has been moved from \cs{@seccntmarkformat} to +% \cs{GenericMarkFormat}. This is one more difference to +% \pkg{scrpage2}. The defaults are compatible to the standard % classes. These commands will not become part of the interface and other % interfaces should redefine them only, if they are not already defined. % \begin{macrocode} @@ -598,22 +504,17 @@ } %</package&body> % \end{macrocode} -% Note, that the other \Macro{\dots markformat} will be defined by -% \Macro{scrlayer@level@init}. -% \end{macro}%^^A \GenericMarkFormat -% \end{macro}%^^A \sectionmarkformat -% \end{macro}%^^A \chaptermarkformat -% \end{macro}%^^A \partmarkformat +% Note, that the other \cs{\dots markformat} will be defined by +% \cs{scrlayer@level@init}. +% \end{command}^^A \partmarkformat … % -% \begin{macro}{\@mkleft} -% \changes{v3.25}{2017/10/13}{added to the \KOMAScript{} classes}%^^A -% \begin{macro}{\@mkright} -% \changes{v3.25}{2017/10/13}{added to the \KOMAScript{} classes}%^^A +% \begin{macro}{\@mkleft,\@mkright} +% \changes{v3.25}{2017/10/13}{added to the \KOMAScript{} classes} % \begin{macro}{\@mkdouble} -% \changes{v3.25}{2017/10/13}{added to the \KOMAScript{} classes}%^^A -% \changes{v3.27a}{2019/10/17}{long definition}%^^A -% These are new in \Package{scrlayer}. They may be updated, whenever -% \Macro{@mkboth} will be updated. Otherwise they get a working default +% \changes{v3.25}{2017/10/13}{added to the \KOMAScript{} classes} +% \changes{v3.27a}{2019/10/17}{long definition} +% These are new in \pkg*{scrlayer}. They may be updated, whenever +% \cs{@mkboth} will be updated. Otherwise they get a working default % definition. These commands will not become part of the interface and other % interfaces should redefine them only, if they are not already defined. % \begin{macrocode} @@ -629,15 +530,14 @@ } %</(package|class)&body> % \end{macrocode} -% \end{macro}%^^A \@mkdouble -% \end{macro}%^^A \@mkright -% \end{macro}%^^A \@mkleft +% \end{macro}^^A \@mkdouble +% \end{macro}^^A \@mkright,\@mkleft % -% \begin{macro}{\markleft} -% \changes{v3.27a}{2019/10/17}{robust and long definition}%^^A +% \begin{command}{\markleft} +% \changes{v3.27a}{2019/10/17}{robust and long definition} % \begin{macro}{\@markleft} -% \LaTeX{} itself provides \Macro{markboth} and \Macro{markright} but not -% \Macro{markleft}. So we add it. +% \LaTeX{} itself provides \cs{markboth} and \cs{markright} but not +% \cs{markleft}. So we add it. % \begin{macrocode} %<*package&body> \@ifundefined{markleft}{% @@ -657,11 +557,11 @@ }{} %</package&body> % \end{macrocode} -% \end{macro}%^^A \@markleft -% \end{macro}%^^A \markleft +% \end{macro}^^A \@markleft +% \end{command}^^A \markleft % -% \begin{macro}{\markdouble} -% \changes{v3.28}{2019/10/17}{new}%^^A +% \begin{command}{\markdouble} +% \changes{v3.28}{2019/10/17}{added} % This is easier, because it uses \cs{markboth}. So we do not need to declare % it robust and we can use \cs{providecommand}. % \begin{macrocode} @@ -669,11 +569,11 @@ \providecommand{\markdouble}[1]{\markboth{#1}{#1}} %</package&body> % \end{macrocode} -% \end{macro}%^^A \markdouble +% \end{command}^^A \markdouble % % \begin{option}{autooneside} % \begin{macro}{\ifscrlayer@autooneside} -% Decide whether or not use the optional argument of \Macro{automark} in +% Decide whether or not use the optional argument of \cs{automark} in % single-side layout. % \begin{macrocode} %<*options> @@ -694,22 +594,24 @@ \csname KV@KOMA.\@currname.\@currext @autooneside\endcsname\relax %</interface&body> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@autooneside -% \end{option}%^^A autooneside +% \end{macro}^^A \ifscrlayer@autooneside +% \end{option}^^A autooneside % % % \begin{option}{automark} % \begin{option}{manualmark} % Maybe we will extend these options later. Currently they do almost the -% same they do at \Package{scrpage2}. The difference is, that single-side or +% same they do at \pkg{scrpage2}. The difference is, that single-side or % two-side doesn't matter here (but it does inside of the definitions of the % marks itself). % -% ToDo: Maybe \Option{manualmark} should become deprecated and -% \Option{automark} should have simple values or a new option, that also -% handles \Option{autooneside}? +% \begin{description} +% \item[ToDo:] Maybe \opt{manualmark} should become deprecated and +% \opt{automark} should have simple values or a new option, that also +% handles \opt{autooneside}? +% \end{description} % \changes{v3.22}{2016/12/07}{prepared for classes without \cs{section} or -% \cs{subsection}}%^^A +% \cs{subsection}} % \begin{macrocode} %<*options> \KOMA@key{automark}[]{% @@ -762,12 +664,12 @@ \csname KV@KOMA.\@currname.\@currext @manualmark@default\endcsname\relax %</interface&body> % \end{macrocode} -% \end{option}%^^A manualmark -% \end{option}%^^A automark +% \end{option}^^A manualmark +% \end{option}^^A automark % -% \begin{macro}{\manualmark} -% Switch to manual marks. This resets \Macro{@mkleft}, \Macro{@mkright}, -% \Macro{@mkdouble}, \Macro{@mkboth} and the \Macro{\dots mark} of all known +% \begin{command}{\manualmark} +% Switch to manual marks. This resets \cs{@mkleft}, \cs{@mkright}, +% \cs{@mkdouble}, \cs{@mkboth} and the \cs{\dots mark} of all known % levels. % \begin{macrocode} %<*package&body> @@ -786,15 +688,15 @@ } %</package&body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\automark} +% \begin{command}{\automark} % \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% ersetzt} % \begin{macro}{\@automark} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % This is the brain knot of the game! I'll try to explain, what I'm doing: -% First of all the new starred version of \Macro{automark} doesn't reset the +% First of all the new starred version of \cs{automark} doesn't reset the % mark commands. So it works cumulatively. This may be useful e.g. to have % chapter marks as long as no section marks have been made etc. % \begin{macrocode} @@ -806,14 +708,14 @@ \Ifstr{#2}{}{% \Ifstr{#1}{}{% % \end{macrocode} -% \Macro{automark[]{}} or \Macro{automark{}} has been used. This will activate +% \cs{automark[]{}} or \cs{automark{}} has been used. This will activate % the low level mark commands, but doesn't change the high level commands. It % may be useful or may not, the user should know what he does: % \begin{macrocode} \automark@basics }{% % \end{macrocode} -% \Macro{automark[\dots]{}} has been used. This will activate the higher level +% \cs{automark[\dots]{}} has been used. This will activate the higher level % mark commands and also set up the right mark % \begin{macrocode} \automark@basics @@ -822,7 +724,7 @@ }{% \Ifstr{#1}{}{% % \end{macrocode} -% \Macro{automark[]{\dots}} or \Macro{automark{\dots}} has been used. This +% \cs{automark[]{\dots}} or \cs{automark{\dots}} has been used. This % will activate the low level mark commands and also set up either the left or % both marks. % \begin{macrocode} @@ -830,7 +732,7 @@ \automark@leftlow{#2}% }{% % \end{macrocode} -% \Macro{automark[\dots]{\dots}} has been used. This will activate the low +% \cs{automark[\dots]{\dots}} has been used. This will activate the low % level mark commands and also both high level marks. % \begin{macrocode} \automark@basics @@ -840,7 +742,7 @@ } % \end{macrocode} % \begin{macro}{\automark@basics} -% Activate all low level \Macro{@mk\dots} commands: +% Activate all low level \cs{@mk\dots} commands: % \begin{macrocode} \newcommand*{\automark@basics}{% \let\@mkleft\markleft @@ -849,11 +751,11 @@ \def\@mkdouble##1{\@mkboth{##1}{##1}}% } % \end{macrocode} -% \end{macro}%^^A \automark@basics +% \end{macro}^^A \automark@basics % \begin{macro}{\automark@righthigh} % Set up the right mark of a higher level, but in single-side layout only if -% \Option{autooneside} hasn't been used. Note, that with this definition no -% special handling for \KOMAScript's \Macro{addchap} and \Macro{addsec} is +% \opt{autooneside} hasn't been used. Note, that with this definition no +% special handling for \KOMAScript's \cs{addchap} and \cs{addsec} is % needed. % \begin{macrocode} \newcommand*{\automark@righthigh}[1]{% @@ -877,7 +779,7 @@ }{}% } % \end{macrocode} -% \end{macro}%^^A \automark@righthigh +% \end{macro}^^A \automark@righthigh % \begin{macro}{\automark@leftlow} % Set up the left mark of a low level, but in single-side layout the right % mark has to be used. @@ -898,7 +800,7 @@ % In single-side mode there's no left high mark without a right low mark. So % instead of only a left high mark, we set up both marks. % \changes{v3.27}{2019/07/25}{replaced \cs{@empty} by \texttt{\{\}} to avoid -% \textsf{babel} issue}%^^A +% \textsf{babel} issue} % \begin{macrocode} \expandafter\@mkdouble \fi @@ -913,10 +815,10 @@ }{}% } % \end{macrocode} -% \end{macro}%^^A \automark@leftlow +% \end{macro}^^A \automark@leftlow % \begin{macro}{\automark@both} % Set up both marks, but in single-side layout depending on -% \Option{autooneside}. +% \opt{autooneside}. % \begin{macrocode} \newcommand*{\automark@both}[2]{% \ifscrlayer@level@prepared{#1}{% @@ -1006,25 +908,25 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@level@prepared -% \end{macro}%^^A \automark@both -% \end{macro}%^^A \@automark -% \end{macro}%^^A \automark +% \end{macro}^^A \ifscrlayer@level@prepared +% \end{macro}^^A \automark@both +% \end{macro}^^A \@automark +% \end{command}^^A \automark % -% \begin{macro}{\DeclareSectionNumberDepth} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\DeclareSectionNumberDepth} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{description} -% \item[\Parameter{string}:] the name of the section level, e.g., +% \item[\marg{string}:] the name of the section level, e.g., % part, chapter, section etc. (must be fully % expandable and expand to a string). -% \item[\Parameter{numeric expression}:] the section number depth of the +% \item[\marg{numeric expression}:] the section number depth of the % level, e.g., -1 for part, 0 for chapter etc. % \end{description} % Note that levels part, chapter, section, subsection, sub\dots subsection, % paragraph, subparagraph, sub\dots subparagraph, minisec, subminisec, % sub\dots subminisec will be recognised either at load time or at -% \Macro{begin}\PParameter{document} automatically if they have the usual -% levels. +% \cs{begin}\texttt\{\env{document}\texttt\} automatically if they have the +% usual levels. % \begin{macrocode} %<*package&body> \newcommand*{\DeclareSectionNumberDepth}[2]{% @@ -1050,16 +952,15 @@ }% } % \end{macrocode} -% \begin{macro}{\scrlayer@level@list} -% \begin{macro}{\scrlayer@level@init} +% \begin{macro}{\scrlayer@level@list,\scrlayer@level@init} % Stores all the existing levels. % \begin{macrocode} \newcommand*{\scrlayer@level@list}{} % \end{macrocode} % Usually all levels are known on loading this package, but if a package % defines additional levels later we'll do an additional test at -% \Macro{begin}\PParameter{document}. But we do not redo the part and the -% chapter test. +% \cs{begin}\texttt\{\env{document}\texttt\}. But we do not redo the part and +% the chapter test. % \begin{macrocode} \scr@ifundefinedorrelax{part}{}{% \DeclareSectionNumberDepth{part}{-1}% @@ -1098,9 +999,8 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayer@level@init -% \end{macro}%^^A \scrlayer@level@list -% \end{macro}%^^A DeclareSectionNumberDepth +% \end{macro}^^A \scrlayer@level@init,\scrlayer@level@list +% \end{command}^^A DeclareSectionNumberDepth % % % \subsection{Providing Layers} @@ -1108,7 +1008,7 @@ % A layer is a virtual sheet of paper stacked behind or above the real sheet % of paper. All the virtual and real sheets of one page may been seen % simultanous, but material o one sheet may overlap material on sheets below. -% Layers provided by \Package{scrlayer} will not be stacked below or above +% Layers provided by \pkg*{scrlayer} will not be stacked below or above % real sheets unless they are used by a page style. % % While we use \meta{key}\texttt{=}\meta{value} arguments for several of the @@ -1120,11 +1020,11 @@ %</package&body> % \end{macrocode} % -% \begin{macro}{\DeclareLayer} +% \begin{command}{\DeclareLayer} % \begin{description} -% \item[\OParameter{option list}:] a comma separated list of +% \item[\oarg{option list}:] a comma separated list of % \texttt{\meta{key}=\meta{value}} pairs. -% \item[\Parameter{string}:] the name of the layer (must be fully expandable +% \item[\marg{string}:] the name of the layer (must be fully expandable % and expand to a string only). % \end{description} % Layers are the basic elements of page styles. A layer has a name and several @@ -1142,7 +1042,7 @@ \@namedef{scr@l@\scr@current@layer @h}{#4}% } % \end{macrocode} -% \end{macro}%^^A \def@scr@l@pos +% \end{macro}^^A \def@scr@l@pos % % There are basic, primitive attributes and compounding attributes. The basic % attributes are: @@ -1150,7 +1050,7 @@ % \item[\texttt{mode=\meta{command sequence}}:] the mode that should be used % to output the \texttt{contents}. A command \cs{layer\meta{command % sequence}mode} with one argument need to be defined. -% \changes{v3.19}{2015/07/30}{new layer attribute \texttt{mode}}%^^A +% \changes{v3.19}{2015/07/30}{new layer attribute \texttt{mode}} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{mode}{% \scr@ifundefinedorrelax{layer#1mode}{\FamilyKeyStateUnknownValue}{% @@ -1217,7 +1117,7 @@ % \end{macrocode} % \item[\texttt{contents=\meta{output}}:] whatever should be printed by the % layer. -% \changes{v3.14}{2014/10/20}{\texttt{contents} is \cs{long}}%^^A +% \changes{v3.14}{2014/10/20}{\texttt{contents} is \cs{long}} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{contents}{% \long\@namedef{scr@l@\scr@current@layer @contents}{#1}% @@ -1248,7 +1148,7 @@ % \end{macrocode} % \item[\texttt{backandforeground}:] not really useful, but the counterpart of % the restrictions above. -% \changes{v3.18}{2015/05/14}{new layer feature \texttt{backandforeground}}%^^A +% \changes{v3.18}{2015/05/14}{new layer feature \texttt{backandforeground}} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{backandforeground}[\relax]{% \FamilyKeyStateProcessed @@ -1316,7 +1216,7 @@ \ExecuteFamilyOptions[.definelayer]{KOMAarg}{oddorevenpage=#1} } % \end{macrocode} -% \item[\Option{floatpage}:] restrict the layer to float pages. +% \item[\opt{floatpage}:] restrict the layer to float pages. % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{floatpage}[\relax]{% \FamilyKeyStateProcessed @@ -1325,7 +1225,7 @@ \csname @scr@l@\scr@current@layer @floatpagetrue\endcsname } % \end{macrocode} -% \item[\Option{nonfloatpage}:] restrict the layer to pages, which aren't +% \item[\opt{nonfloatpage}:] restrict the layer to pages, which aren't % float pages. % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{nonfloatpage}[\relax]{% @@ -1335,7 +1235,7 @@ \csname @scr@l@\scr@current@layer @floatpagefalse\endcsname } % \end{macrocode} -% \item[\Option{floatornonfloatpage}:] don't restrict the layer to float or +% \item[\opt{floatornonfloatpage}:] don't restrict the layer to float or % non-float pages. % \changes{v3.18}{2015/05/14}{new layer feature \texttt{floatornonfloatpage}} % \begin{macrocode} @@ -1346,7 +1246,7 @@ \csname @scr@l@\scr@current@layer @floatpagetrue\endcsname } % \end{macrocode} -% \item[\Option{nonfloatorfloatpage}:] same as \Option{floatornonfloatpage} +% \item[\opt{nonfloatorfloatpage}:] same as \opt{floatornonfloatpage} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{nonfloatorfloatpage}[\relax]{% \PackageWarning{scrlayer}{Option `nonfloatorfloatpage' unknown.\MessageBreak @@ -1354,7 +1254,7 @@ \FamilyExecuteOptions[.definelayer]{KOMAarg}{floatornonfloatpage=#1}% } % \end{macrocode} -% \item[\Option{floatandnonfloatpages}:] same as \Option{floatornonfloatpage} +% \item[\opt{floatandnonfloatpages}:] same as \opt{floatornonfloatpage} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{floatandnonfloatpages}[\relax]{% \PackageWarning{scrlayer}{Option `floatandnonfloatpages' unknown.\MessageBreak @@ -1362,7 +1262,7 @@ \FamilyExecuteOptions[.definelayer]{KOMAarg}{floatornonfloatpage=#1}% } % \end{macrocode} -% \item[\Option{nonfloatandfloatpages}:] same as \Option{floatornonfloatpage} +% \item[\opt{nonfloatandfloatpages}:] same as \opt{floatornonfloatpage} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{nonfloatandfloatpages}[\relax]{% \PackageWarning{scrlayer}{Option `nonfloatandfloatpages' unknown.\MessageBreak @@ -1370,11 +1270,11 @@ \FamilyExecuteOptions[.definelayer]{KOMAarg}{floatornonfloatpage=#1}% } % \end{macrocode} -% \item[\Option{everypage}:] remove all odd-, even-, float-, and +% \item[\opt{everypage}:] remove all odd-, even-, float-, and % nonfloat-restrictions. -% \changes{v3.18}{2015/05/14}{new layer feature \texttt{everypage}}%^^A +% \changes{v3.18}{2015/05/14}{new layer feature \texttt{everypage}} % \changes{v3.22}{2016/09/24}{foreground and background condition -% removed}%^^A +% removed} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{everypage}[\relax]{% \FamilyKeyStateProcessed @@ -1385,7 +1285,7 @@ \csname @scr@l@\scr@current@layer @floatpagetrue\endcsname } % \end{macrocode} -% \item[\Option{oneside}:] restrict the layer to pages on single-sided +% \item[\opt{oneside}:] restrict the layer to pages on single-sided % layouts. % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{oneside}[\relax]{% @@ -1395,7 +1295,7 @@ \csname @scr@l@\scr@current@layer @onesidetrue\endcsname } % \end{macrocode} -% \item[\Option{twoside}:] restrict the layer to pages on two-sided +% \item[\opt{twoside}:] restrict the layer to pages on two-sided % layouts. % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{twoside}[\relax]{% @@ -1405,7 +1305,7 @@ \csname @scr@l@\scr@current@layer @onesidefalse\endcsname } % \end{macrocode} -% \item[\Option{everyside}:] remove all one- or two-side restrictions. +% \item[\opt{everyside}:] remove all one- or two-side restrictions. % \changes{v3.18}{2015/05/14}{new layer feature \texttt{everyside}} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{everyside}[\relax]{% @@ -1415,11 +1315,11 @@ \csname @scr@l@\scr@current@layer @onesidetrue\endcsname } % \end{macrocode} -% \item[\Option{unrestricted}:] remove all restrictions -% \changes{v3.18}{2015/05/14}{new layer feature \texttt{unrestricted}}%^^A +% \item[\opt{unrestricted}:] remove all restrictions +% \changes{v3.18}{2015/05/14}{new layer feature \texttt{unrestricted}} % \changes{v3.22}{2016/09/24}{missing background and foreground -% condition}%^^A -% \changes{v3.22}{2016/09/24}{nonfloatpage condition fixed}%^^A +% condition} +% \changes{v3.22}{2016/09/24}{nonfloatpage condition fixed} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{unrestricted}[\relax]{% \FamilyKeyStateProcessed @@ -1434,24 +1334,24 @@ \csname @scr@l@\scr@current@layer @onesidetrue\endcsname } % \end{macrocode} -% \changes{v3.26}{2018/07/14}{new attribute \texttt{beforecontents}}%^^A -% \item[\Option{beforecontents}:] code to be executed immediately before +% \changes{v3.26}{2018/07/14}{new attribute \texttt{beforecontents}} +% \item[\opt{beforecontents}:] code to be executed immediately before % setting the contents. See also modification attribute % \texttt{addbeforecontents}. % \begin{macrocode} \FamilyCSKey[.definelayer]{KOMAarg}{beforecontents} {scr@l@\scr@current@layer @precontents@hook} % \end{macrocode} -% \changes{v3.26}{2018/07/14}{new attribute \texttt{aftercontents}}%^^A -% \item[\Option{aftercontents}:] code to be executed immediately before +% \changes{v3.26}{2018/07/14}{new attribute \texttt{aftercontents}} +% \item[\opt{aftercontents}:] code to be executed immediately before % setting the contents. See also modification attribute % \texttt{addaftercontents}. % \begin{macrocode} \FamilyCSKey[.definelayer]{KOMAarg}{aftercontents} {scr@l@\scr@current@layer @postcontents@hook} % \end{macrocode} -% \changes{v3.26}{2018/07/14}{new attribute \texttt{artifact}}%^^A -% \item[\Option{artifact}:] reserved for tagging packages. The artifact can +% \changes{v3.26}{2018/07/14}{new attribute \texttt{artifact}} +% \item[\opt{artifact}:] reserved for tagging packages. The artifact can % either be a boolean or a general value. Boolean false will unset the % attribute. Boolean true is the same like empty. All other values will be % stored. @@ -1477,7 +1377,7 @@ % Attribute modifications are attributes, that modify existing basic % attributes: % \begin{description} -% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addhoffset}}%^^A +% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addhoffset}} % \item[\texttt{addhoffset=\meta{dimension expression}}:] add to offset from % the left edge of the paper. % \begin{macrocode} @@ -1488,7 +1388,7 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addvoffset}}%^^A +% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addvoffset}} % \item[\texttt{addvoffset=\meta{dimension expression}}:] add to offset from % the top edge of the paper. % \begin{macrocode} @@ -1499,7 +1399,7 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addwidth}}%^^A +% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addwidth}} % \item[\texttt{addwidth=\meta{dimension expression}}:] add to width of the % layer. % \begin{macrocode} @@ -1510,7 +1410,7 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addheight}}%^^A +% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addheight}} % \item[\texttt{addheight=\meta{dimension expression}}:] add to height of the % layer. % \begin{macrocode} @@ -1521,10 +1421,10 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addcontents}}%^^A +% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{addcontents}} % \item[\texttt{addcontents=\meta{output}}:] append to whatever should be % printed by the layer. -% \changes{v3.14}{2014/10/20}{\texttt{contents} is \cs{long}}%^^A +% \changes{v3.14}{2014/10/20}{\texttt{contents} is \cs{long}} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{addcontents}{% \expandafter\edef\csname scr@l@\scr@current@layer @contents\endcsname{% @@ -1533,10 +1433,10 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{pretocontents}}%^^A +% \changes{v3.16}{2015/01/26}{new layer attribute \texttt{pretocontents}} % \item[\texttt{pretocontents=\meta{output}}:] prefix whatever should be % printed by the layer. -% \changes{v3.14}{2014/10/20}{\texttt{contents} is \cs{long}}%^^A +% \changes{v3.14}{2014/10/20}{\texttt{contents} is \cs{long}} % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{pretocontents}{% \expandafter\edef\csname scr@l@\scr@current@layer @contents\endcsname{% @@ -1545,8 +1445,8 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.26}{2018/07/14}{new attribute \texttt{addbeforecontents}}%^^A -% \item[\Option{addbeforecontents}:] code to be executed immediately before +% \changes{v3.26}{2018/07/14}{new attribute \texttt{addbeforecontents}} +% \item[\opt{addbeforecontents}:] code to be executed immediately before % setting the contents. The new code will be added before the old code. % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{addbeforecontents}{% @@ -1564,8 +1464,8 @@ \FamilyKeyStateProcessed } % \end{macrocode} -% \changes{v3.26}{2018/07/14}{new attribute \texttt{addaftercontents}}%^^A -% \item[\Option{addaftercontents}:] code to be executed immediately before +% \changes{v3.26}{2018/07/14}{new attribute \texttt{addaftercontents}} +% \item[\opt{addaftercontents}:] code to be executed immediately before % setting the contents. The new code will be added after the old code. % \begin{macrocode} \DefineFamilyKey[.definelayer]{KOMAarg}{addaftercontents}{% @@ -1818,7 +1718,7 @@ \@namedef{scr@l@\scr@current@layer @align}{tl}% } % \end{macrocode} -% \item[\texttt{area=\{\meta{hoffset}\}\{\meta{voffset}\}%^^A +% \item[\texttt{area=\{\meta{hoffset}\}\{\meta{voffset}\} % \{\meta{width}\}\{\meta{height}\}}:] set up % \texttt{hoffset}, \texttt{voffset}, \texttt{width}, and \texttt{height} to % the given values. @@ -1829,7 +1729,7 @@ } % \end{macrocode} % \changes{v3.26}{2018/07/14}{clone code for \texttt{precontents@hook}, -% \texttt{postcontents@hook} and \texttt{artifact} added}%^^A +% \texttt{postcontents@hook} and \texttt{artifact} added}^^A % \item[\texttt{clone=\meta{layer}}:] set up the new layer by the settings % of the given \meta{layer}. % \begin{macrocode} @@ -1877,13 +1777,12 @@ \csname if@scr@l@#2@#3\expandafter\endcsname } % \end{macrocode} -% \end{macro}%^^A \scrlayer@clone@switch -% \end{macro}%^^A \scrlayer@clone@attribute +% \end{macro}^^A \scrlayer@clone@switch +% \end{macro}^^A \scrlayer@clone@attribute % \end{description} % -% \changes{v0.9}{2014/08/31}{missing reset of \cs{scr@current@layer} -% added}%^^A -% \changes{v3.14}{2014/10/20}{\cs{long}}%^^A +% \changes{v0.9}{2014/08/31}{missing reset of \cs{scr@current@layer} added} +% \changes{v3.14}{2014/10/20}{\cs{long}} % \begin{macrocode} \newcommand{\DeclareLayer}[2][]{% \def\scr@current@layer{#2}% @@ -1916,20 +1815,20 @@ % \end{macrocode} % \begin{macro}{\scr@current@layer} % Helper to hold the current layer and only valid in non recursive calls of -% \Macro{DeclareLayer}. +% \cs{DeclareLayer}. % \begin{macrocode} \newcommand*{\scr@current@layer}{} %</package&body> % \end{macrocode} -% \end{macro}%^^A \scr@current@layer -% \end{macro}%^^A \DeclareLayer +% \end{macro}^^A \scr@current@layer +% \end{command}^^A \DeclareLayer % -% \begin{macro}{\IfLayerExists} +% \begin{command}{\IfLayerExists} % \begin{description} -% \item[\Parameter{string}:] the name of the layer (must be fully expandable +% \item[\marg{string}:] the name of the layer (must be fully expandable % and expand to a string only). -% \item[\Parameter{then code}:] will be executed, if the layer exists. -% \item[\Parameter{else code}:] will be executed, if the layer doesn't exist. +% \item[\marg{then code}:] will be executed, if the layer exists. +% \item[\marg{else code}:] will be executed, if the layer doesn't exist. % \end{description} % Note, that we don't known really whether or not a layer exists, but have a % heuristic. @@ -1944,19 +1843,15 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \IfLayerExists +% \end{command}^^A \IfLayerExists % -% \begin{macro}{\DeclareNewLayer} -% \changes{v3.14}{2014/10/20}{\cs{long}}%^^A -% \begin{macro}{\ProvideLayer} -% \changes{v3.14}{2014/10/20}{\cs{long}}%^^A -% \begin{macro}{\RedeclareLayer} -% \changes{v3.14}{2014/10/20}{\cs{long}}%^^A -% \begin{macro}{\ModifyLayer} -% \changes{v3.14}{2014/10/20}{\cs{long}}%^^A +% \begin{command}{\DeclareNewLayer,\ProvideLayer,\RedeclareLayer} +% \changes{v3.14}{2014/10/20}{\cs{long}} +% \begin{command}{\ModifyLayer} +% \changes{v3.14}{2014/10/20}{\cs{long}} % \changes{v0.9}{2014/08/31}{missing definition and reset of -% \cs{scr@current@layer} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \cs{scr@current@layer} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % There are also two commands for declaration of layers, that haven't been % declared before, with or without error message for already declared layers, % and two commands for changing already declared layers, first one beginning @@ -2021,14 +1916,12 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \ModifyLayer -% \end{macro}%^^A \RedeclareLayer -% \end{macro}%^^A \ProvideLayer -% \end{macro}%^^A \DeclareNewLayer +% \end{command}^^A \ModifyLayer +% \end{command}^^A \DeclareNewLayer,\ProvideLayer,\RedeclareLayer % -% \begin{macro}{\ModifyLayers} -% \changes{v3.26}{2018/07/14}{new}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A +% \begin{command}{\ModifyLayers} +% \changes{v3.26}{2018/07/14}{added} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} % Like \cs{ModifyLayer} but allows a list of layers instead of only one layer. % For the commands \cs{DeclareLayer}, \cs{ProvideLayer} and % \cs{RedeclareLayer} this does not make any sense, so there are not similar @@ -2050,12 +1943,12 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \ModifyLayers +% \end{command}^^A \ModifyLayers % -% \begin{macro}{\GetLayerContents} -% \changes{v3.16}{2015/01/26}{new} +% \begin{command}{\GetLayerContents} +% \changes{v3.16}{2015/01/26}{added} % \begin{description} -% \item[\Parameter{string}:] the name of the layer +% \item[\marg{string}:] the name of the layer % \end{description} % Get the contents of the given layer. % \begin{macrocode} @@ -2068,22 +1961,22 @@ } %</package&body> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \begin{macro}{\DestroyLayer} +% \begin{command}{\DestroyLayer} % \changes{v3.26}{2018/07/14}{destroy pre-contents hook, post-contents hook -% and artifact}%^^A +% and artifact} % \begin{description} -% \item[\Parameter{string}:] the name of the layer, that should be +% \item[\marg{string}:] the name of the layer, that should be % destroyed % \end{description} % Note: Nothing will be done to remove the layer from a page style, but this % shouldn't matter, because layers with, e.g., -% \Macro{if@scr@l@\dots@nonfloatpage}=\Macro{relax} and -% \Macro{if@scr@l@\dots@floatpage}=\Macro{relax} won't be output ever. This +% \cs{if@scr@l@\dots@nonfloatpage}=\cs{relax} and +% \cs{if@scr@l@\dots@floatpage}=\cs{relax} won't be output ever. This % command could be used by interfaces via -% \Macro{scrlayerOnAutoRemoveInterface} to remove the generated +% \cs{scrlayerOnAutoRemoveInterface} to remove the generated % layers, if the interface commands wouldn't be depreacted. % However, it only destroys existing layers and doesn't care for not % existing. @@ -2136,11 +2029,11 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \DestroyLayer +% \end{command}^^A \DestroyLayer % % -% \begin{macro}{\layercontentsmeasure} -% \changes{v3.19}{2015/07/27}{\cs{@gobble} eliminated}%^^A +% \begin{command}{\layercontentsmeasure} +% \changes{v3.19}{2015/07/27}{\cs{@gobble} eliminated} % This may used by used as the only value of the layer option % \texttt{contents} to show measure lines around the layer. The left and the % top measure line will be in centimeter, the right and the bottom measure @@ -2233,8 +2126,8 @@ \end{picture}}% } % \end{macrocode} -% \begin{macro}{\LenToUnit} -% \changes{v3.19}{2015/07/27}{new} +% \begin{command}{\LenToUnit} +% \changes{v3.19}{2015/07/27}{added} % Due to an incompatibility of package \textsf{curve2e} I've eliminated % \cs{@gobble} in the definition of \cs{layercontentsmeasure} and replaced it % sometimes by \cs{LenToUnit} with the (not long) definition suggested by @@ -2243,8 +2136,8 @@ \providecommand*{\LenToUnit}[1]{\strip@pt\dimexpr#1*\p@/\unitlength} %</package&body> % \end{macrocode} -% \end{macro}%^^A \LenToUnit -% \end{macro}%^^A \layercontentsmeasure +% \end{command}^^A \LenToUnit +% \end{command}^^A \layercontentsmeasure % % % \subsection{Providing Page Styles} @@ -2261,7 +2154,7 @@ % will be used only at two-sided mode. At one-sided mode the header and footer % for odd pages will be used for all pages. % -% With package \Package{scrlayer} layers will be linked to package styles and +% With package \pkg*{scrlayer} layers will be linked to package styles and % expanded at the four elements above. Background layers will expand only % at the headers. Foreground layers will expand only at the % footers. Layers, that haven't been restricted to background or foreground, @@ -2284,14 +2177,14 @@ % floats. % % \begin{length}{\footheight} -% For the header \LaTeX{} already defines a length \Length{headheight} to be +% For the header \LaTeX{} already defines a length \len{headheight} to be % the maximum height of the header. But for footer it only defines the % distance of the baseline of the footer from the last baseline of the text -% area. \Package{scrlayer} changes this and also defines a new length -% \Length{footheight}. This length will be initialised with magic value +% area. \pkg*{scrlayer} changes this and also defines a new length +% \len{footheight}. This length will be initialised with magic value % -12345\,sp. But if it is still that magic value at -% \Macro{begin}\PParameter{document} it will be reset to the value of -% \Length{baselineskip}. +% \cs{begin}\texttt\{\env{document}\texttt\} it will be reset to the value of +% \len{baselineskip}. % \begin{macrocode} %<*package&init> \@ifundefined{footheight}{% @@ -2316,7 +2209,7 @@ } %</package&init> % \end{macrocode} -% \end{length}%^^A \footheight +% \end{length}^^A \footheight % % % Several of the following commands use \meta{key}=\meta{value} arguments. So @@ -2328,13 +2221,13 @@ %</package&body> % \end{macrocode} % -% \begin{macro}{\DeclarePageStyleByLayers} +% \begin{command}{\DeclarePageStyleByLayers} % \begin{description} -% \item[\OParameter{option list}:] comma separated list of named page +% \item[\oarg{option list}:] comma separated list of named page % style options (see below). -% \item[\Parameter{string}:] the name of the page style to be declared (must +% \item[\marg{string}:] the name of the page style to be declared (must % be expandable and result in a string). -% \item[\Parameter{string list}:] comma separated list of layer names (must +% \item[\marg{string list}:] comma separated list of layer names (must % be expandable and result in strings); first in the list will be added % first. % \end{description} @@ -2345,8 +2238,8 @@ % pages in \cs{@oddhead}, all background layers for even pages on % \cs{@evenhead}, all foreground layers for odd pages in \cs{@oddfoot}, and % all foreground layers for even pages in \cs{@evenfoot}. This may be -% restricted by additional attributes, e.g., \Option{oneside} and -% \Option{twoside}. +% restricted by additional attributes, e.g., \opt{oneside} and +% \opt{twoside}. % % The optional argument may be used to define hooks. There are six named % optional arguments to set up six hooks. And there are also \KOMAScript{} @@ -2355,13 +2248,13 @@ % argument are named similar, but without ``\texttt{ps}'' after % ``\texttt{on}''. % \begin{option}{onselect} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsselect} % \begin{macro}{\@ps@initialhook} % \begin{description} % \item[\texttt{=\meta{code}}:] executes \meta{code} whenever the -% page style will be selected, e.g. using \Macro{pagestyle} or -% \Macro{thispagestyle} or the low level command defining the page +% page style will be selected, e.g. using \cs{pagestyle} or +% \cs{thispagestyle} or the low level command defining the page % style itself. % \end{description} % \begin{macrocode} @@ -2391,8 +2284,8 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@initialhook -% \end{option}%^^A onpsselect +% \end{macro}^^A \@ps@initialhook +% \end{option}^^A onpsselect % \begin{option}{onpsinit} % \begin{macro}{\@ps@hook} % \begin{description} @@ -2428,16 +2321,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@hook -% \end{option}%^^A onpsinit -% \end{option}%^^A oninit +% \end{macro}^^A \@ps@hook +% \end{option}^^A onpsinit +% \end{option}^^A oninit % \begin{option}{ononeside} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsoneside} % \begin{macro}{\@ps@onesidehook} % \begin{description} -% \item[\Option{=\meta{code}}:] executes \meta{code} after -% \Option{oninit}'s \meta{code} whenever the output of a layer stack of a +% \item[\opt{=\meta{code}}:] executes \meta{code} after +% \opt{oninit}'s \meta{code} whenever the output of a layer stack of a % page in single-side layout is initialised. Note, that \meta{code} must not % result in any page output. Otherwise the output of the layer stack will be % broken! @@ -2469,16 +2362,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@onesidehook -% \end{option}%^^A onpsoneside -% \end{option}%^^A ononeside +% \end{macro}^^A \@ps@onesidehook +% \end{option}^^A onpsoneside +% \end{option}^^A ononeside % \begin{option}{ontwoside} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpstwoside} % \begin{macro}{\@ps@twosidehook} % \begin{description} -% \item[\Option{=\meta{code}}:] executes \meta{code} after -% \Option{oninit}'s \meta{code} whenever the output of a layer stack of a +% \item[\opt{=\meta{code}}:] executes \meta{code} after +% \opt{oninit}'s \meta{code} whenever the output of a layer stack of a % page in two-side layout is initialised. Note, that \meta{code} must not % result in any page output. Otherwise the output of the layer stack will be % broken! @@ -2510,16 +2403,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@twosidehook -% \end{option}%^^A onpstwoside -% \end{option}%^^A ontwoside +% \end{macro}^^A \@ps@twosidehook +% \end{option}^^A onpstwoside +% \end{option}^^A ontwoside % \begin{option}{onoddpage} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsoddpage} % \begin{macro}{\@ps@oddpagehook} % \begin{description} % \item[\texttt{=\meta{code}}:] executes \meta{code} after -% \Option{ononeside}'s or \Option{ontwoside}'s \meta{code} whenever the +% \opt{ononeside}'s or \opt{ontwoside}'s \meta{code} whenever the % output of a layer stack of an odd page is initialised. Note, that % \meta{code} must not result in any page output. Otherwise the output of % the layer stack will be broken! @@ -2551,16 +2444,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@oddpagehook -% \end{option}%^^A onpsoddpage -% \end{option}%^^A onoddside +% \end{macro}^^A \@ps@oddpagehook +% \end{option}^^A onpsoddpage +% \end{option}^^A onoddside % \begin{option}{onevenpage} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsevenpage} % \begin{macro}{\@ps@evenpagehook} % \begin{description} % \item[\texttt{=\meta{code}}:] executes \meta{code} after -% \Option{ononeside}'s or \Option{ontwoside}'s \meta{code} whenever the +% \opt{ononeside}'s or \opt{ontwoside}'s \meta{code} whenever the % output of a layer stack of an even page is initialised. Note, that % \meta{code} must not result in any page output. Otherwise the output of % the layer stack will be broken! @@ -2592,16 +2485,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@evenpagehook -% \end{option}%^^A onpsevenpage -% \end{option}%^^A onevenside +% \end{macro}^^A \@ps@evenpagehook +% \end{option}^^A onpsevenpage +% \end{option}^^A onevenside % \begin{option}{onfloatpage} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsfloatpage} % \begin{macro}{\@ps@floatpagehook} % \begin{description} -% \item[\Option{=\meta{code}}:] executes \meta{code} after -% \Option{onoddpage}'s or \Option{onevenpage}'s \meta{code} whenever a float +% \item[\opt{=\meta{code}}:] executes \meta{code} after +% \opt{onoddpage}'s or \opt{onevenpage}'s \meta{code} whenever a float % column has been made (usually those pages are float pages). % \end{description} % \begin{macrocode} @@ -2631,16 +2524,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@floatpagehook -% \end{option}%^^A onpsfloatpage -% \end{option}%^^A onfloatpage +% \end{macro}^^A \@ps@floatpagehook +% \end{option}^^A onpsfloatpage +% \end{option}^^A onfloatpage % \begin{option}{onnonfloatpage} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsnonfloatpage} % \begin{macro}{\@ps@nonfloatpagehook} % \begin{description} -% \item[\Option{=\meta{code}}:] executes \meta{code} after -% \Option{onoddpage}'s or \Option{onevenpage}'s \meta{code} whenever no +% \item[\opt{=\meta{code}}:] executes \meta{code} after +% \opt{onoddpage}'s or \opt{onevenpage}'s \meta{code} whenever no % float column has been made (usually those pages aren't float pages). % \end{description} % \begin{macrocode} @@ -2670,16 +2563,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@nonfloatpagehook -% \end{option}%^^A onpsnonfloatpage -% \end{option}%^^A onnonfloatpage +% \end{macro}^^A \@ps@nonfloatpagehook +% \end{option}^^A onpsnonfloatpage +% \end{option}^^A onnonfloatpage % \begin{option}{onbackground} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsbackground} % \begin{macro}{\@ps@backgroundhook} % \begin{description} % \item[\texttt{=\meta{code}}:] executes \meta{code} after -% \Option{onfloatpage}'s or \Option{onnonfloatpage}'s \meta{code} whenever +% \opt{onfloatpage}'s or \opt{onnonfloatpage}'s \meta{code} whenever % the output of a background layer stack is initialised. Note, that % \meta{code} must not result in any page output. Otherwise the output of % the layer stack will be broken! @@ -2711,16 +2604,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@ps@backgroundhook -% \end{option}%^^A onbackground -% \end{option}%^^A onbackground +% \end{macro}^^A \@ps@backgroundhook +% \end{option}^^A onbackground +% \end{option}^^A onbackground % \begin{option}{onforeground} -% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}%^^A +% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}} % \begin{option}{onpsforeground} % \begin{macro}{\@ps@foregroundhook} % \begin{description} % \item[\texttt{=\meta{code}}:] executes \meta{code} after -% \Option{onfloatpage}'s or \Option{onnonfloatpage}'s \meta{code} whenever +% \opt{onfloatpage}'s or \opt{onnonfloatpage}'s \meta{code} whenever % the output of a foreground layer stack is initialised. Note, that % \meta{code} must not result in any page output. Otherwise the output of % the layer stack will be broken! @@ -2752,16 +2645,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \@psforegroundhook -% \end{option}%^^A onpsforeground -% \end{option}%^^A onforeground +% \end{macro}^^A \@psforegroundhook +% \end{option}^^A onpsforeground +% \end{option}^^A onforeground % \begin{option}{singlespacing} -% \changes{v3.24}{2017/05/22}{new option added}%^^A +% \changes{v3.24}{2017/05/22}{added} % \begin{description} % \item[\texttt{=\meta{simple switch}}:] if activated, all page styles will be % set with line spread 1. This switch is global. If you want it for some -% styles only, add \Macro{linespread}\PParameter{1}\Macro{selectfont} to -% option \Option{oninit} of only those styles. +% styles only, add \cs{linespread}|{1}|\cs{selectfont} to +% option \opt{oninit} of only those styles. %\end{description} % \begin{macrocode} %<*options> @@ -2781,13 +2674,13 @@ % \end{macrocode} % \begin{macro}{\scrlayer@declare@ps@by@layers} % \changes{v3.15}{2014/12/28}{fix: \cs{linewidth} replaced by -% \cs{textwidth}}%^^A +% \cs{textwidth}} % \changes{v3.18}{2015/06/09}{usage of \cs{parbox[b]} instead of % \cs{parbox[t]} because of strange effect with package -% \textsf{multicol}}%^^A -% \changes{v3.24}{2017/05/22}{test for \cs{if@ps@singlespacing} added}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \textsf{multicol}} +% \changes{v3.24}{2017/05/22}{test for \cs{if@ps@singlespacing} added} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Needed, because of page style aliases. Same arguments like % \cs{DeclarePageStyleByLayers} but, \#1 is the name of the page style, \#2 is % the list of options and \#3 is still the list of layers. @@ -2952,17 +2845,17 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayer@declare@ps@by@layers +% \end{macro}^^A \scrlayer@declare@ps@by@layers % -% \begin{macro}{\ForEachLayerOfPageStyle} -% \changes{v3.18}{2015/05/14}{star version of the command}%^^A +% \begin{command}{\ForEachLayerOfPageStyle} +% \changes{v3.18}{2015/05/14}{star version of the command} % \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% ersetzt} % \begin{description} -% \item[\Parameter{string}:] a valid page style (must be fully expandable +% \item[\marg{string}:] a valid page style (must be fully expandable % and expand to the name of a existing page style); note, that currently % no exists test will be done. -% \item[\Parameter{code}:] any macro definition body with usage of at most +% \item[\marg{code}:] any macro definition body with usage of at most % one argument (\texttt{\#1}), that will be replaced by the layer's name % \end{description} % Do the given \meta{code} for each layer of the page style @@ -2998,12 +2891,12 @@ % \begin{option}{deactivatepagestylelayers} % \begin{macro}{\ifscrlayer@deactivate@layers} % \begin{description} -% \item[\Parameter{simple switch}:] whether or not -% \Macro{ForEachLayerOfPageStyle} should ignore the layers. +% \item[\marg{simple switch}:] whether or not +% \cs{ForEachLayerOfPageStyle} should ignore the layers. % \end{description} % This is a global \KOMAScript{} options. Several other definitions and at % least the usage of the page style will ignore the layers if -% \Macro{ForEachLayerOfPageStyle} ignores them. So this is something like: +% \cs{ForEachLayerOfPageStyle} ignores them. So this is something like: % hide the layers. It may also be useful inside the code for the hooks % described above, because hooks may used to deactivate the layers with this % option too. @@ -3030,12 +2923,12 @@ \relax %</interface&body> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@deactivate@layers -% \end{option}%^^A deactivatepagestylelayers -% \end{macro}%^^A \ForEachLayerOfPageStyle +% \end{macro}^^A \ifscrlayer@deactivate@layers +% \end{option}^^A deactivatepagestylelayers +% \end{command}^^A \ForEachLayerOfPageStyle % % \begin{macro}{\scrlayer@do@page@style@element@layer} -% \changes{v3.26}{2018/07/14}{added hooks and artifact code}%^^A +% \changes{v3.26}{2018/07/14}{added hooks and artifact code} % Helper macro to show one layer. First argument is either ``background'' or % ``foreground'', second argument is either ``odd'' or ``even'', and third % argument is the name of the layer. Note, that in draft mode for every layer @@ -3102,13 +2995,13 @@ } % \end{macrocode} % \begin{macro}{\scrlayer@predraftmeasure@hook} -% \changes{v3.26}{2018/07/14}{new (internal)}%^^A +% \changes{v3.26}{2018/07/14}{added} % The hooks that will be executed before setting the draft measuring. % \begin{macrocode} \newcommand*{\scrlayer@predraftmeasure@hook}{} % \end{macrocode} -% \begin{macro}{\BeforeDraftMeasuringLayer} -% \changes{v3.26}{2018/07/14}{new}%^^A +% \begin{command}{\BeforeDraftMeasuringLayer} +% \changes{v3.26}{2018/07/14}{added} % New code will be added in front of the hook. % \begin{macrocode} \newcommand*{\BeforeDraftMeasuringLayer}[1]{% @@ -3117,16 +3010,16 @@ }% } % \end{macrocode} -% \end{macro}%^^A \BeforeDraftMeasuringLayer -% \end{macro}%^^A \scrlayer@predraftmeasure@hook +% \end{command}^^A \BeforeDraftMeasuringLayer +% \end{macro}^^A \scrlayer@predraftmeasure@hook % \begin{macro}{\scrlayer@postdraftmeasure@hook} -% \changes{v3.26}{2018/07/14}{new (internal)}%^^A +% \changes{v3.26}{2018/07/14}{added} % The hook that will be executed after setting the draft measuring. % \begin{macrocode} \newcommand*{\scrlayer@postdraftmeasure@hook}{} % \end{macrocode} -% \begin{macro}{\AfterDraftMeasuringLayer} -% \changes{v3.26}{2018/07/14}{new}%^^A +% \begin{command}{\AfterDraftMeasuringLayer} +% \changes{v3.26}{2018/07/14}{added} % New code will be added at the end of the hook. % \begin{macrocode} \newcommand*{\AfterDraftMeasuringLayer}[1]{% @@ -3135,16 +3028,16 @@ }% } % \end{macrocode} -% \end{macro}%^^A \AfterDraftMeasuringLayer -% \end{macro}%^^A \scrlayer@postdraftmeasure@hook +% \end{command}^^A \AfterDraftMeasuringLayer +% \end{macro}^^A \scrlayer@postdraftmeasure@hook % \begin{macro}{\scr@layerbox} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\scr@@layerbox} -% \changes{v3.24}{2017/05/08}{\cs{edef} replaced by \cs{protected@edef}}%^^A -% \changes{v3.24}{2017/05/08}{\cs{dimexpr} added to \cs{layer\dots}}%^^A +% \changes{v3.24}{2017/05/08}{\cs{edef} replaced by \cs{protected@edef}} +% \changes{v3.24}{2017/05/08}{\cs{dimexpr} added to \cs{layer\dots}} % \changes{v3.24}{2017/05/08}{\cs{dimexpr} removed from usage of -% \cs{layer\dots}}%^^A +% \cs{layer\dots}} % The layer box is used to output a layer in \cs{@oddhead}, \cs{@evenhead}, % \cs{@oddfoot}, or \cs{@evenfoot}. Is has two pairs of arguments: ($x,y$) % and ($w,h$), where $x$ is the distance from left paper edge, $y$ is the @@ -3199,8 +3092,8 @@ \if b\layervalign\vskip-\layerheight\fi \if c\layervalign\vskip-.5\layerheight\fi % \end{macrocode} -% \changes{3.23a}{2017/04/22}{\textsf{bidi} code added}%^^A -% \changes{v3.24}{2017/05/04}{usage of \textsf{scrbase}'s \cs{IfRTL}}%^^A +% \changes{3.23a}{2017/04/22}{\textsf{bidi} code added} +% \changes{v3.24}{2017/05/04}{usage of \textsf{scrbase}'s \cs{IfRTL}} % If we are in right-to-left mode of package \textsf{bidi} or % \textsf{xepersian} the horizontal output is in the opposite direction. So we % need the \cs{makebox} to the right instead of the left and to move the @@ -3227,13 +3120,11 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \scr@@layerbox -% \end{macro}%^^A \scr@layerbox +% \end{macro}^^A \scr@@layerbox +% \end{macro}^^A \scr@layerbox % -% \begin{macro}{\layerrawmode} -% \changes{v3.19}{2015/07/30}{new command}%^^A -% \begin{macro}{\layertextmode} -% \changes{v3.19}{2015/07/30}{new command}%^^A +% \begin{command}{\layerrawmode,\layertextmode} +% \changes{v3.19}{2015/07/30}{added} % This is the command to output layers in raw mode. This is very simple: % \begin{macrocode} %<*package&body> @@ -3241,12 +3132,11 @@ \newcommand{\layertextmode}[1]{#1} %</package&body> % \end{macrocode} -% \end{macro}%^^A \layertextmode -% \end{macro}%^^A \layerrawmode +% \end{command}^^A \layerrawmode,\layertextmode % -% \begin{macro}{\layerpicturemode} -% \changes{v3.19}{2015/07/30}{new command}%^^A -% \changes{v3.24}{2017/05/08}{redundant \cs{dimexpr} removed}%^^A +% \begin{command}{\layerpicturemode} +% \changes{v3.19}{2015/07/30}{added} +% \changes{v3.24}{2017/05/08}{redundant \cs{dimexpr} removed} % This is a bit more complicated. It is the layer output for \texttt{picture} % layers. In this case we use a picture environment and internally define some % additional commands. @@ -3273,16 +3163,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \layerpicturemode +% \end{command}^^A \layerpicturemode % % \begin{option}{draft} -% \begin{macro}{\ifscrlayer@draft} +% \begin{macro}{\ifscrlayer@draft,\scrlayer@drafttrue,\scrlayer@draftfalse} % \begin{description} -% \item[\Parameter{simple switch}:] whether or not to use the draft mode, +% \item[\marg{simple switch}:] whether or not to use the draft mode, % that, i.e., activates visualisation of the layers. % \end{description} % When option is set, every layer is shown twice: one time with it's own -% contents and one time with contents \Macro{layercontentsmeasure}. +% contents and one time with contents \cs{layercontentsmeasure}. % \begin{macrocode} %<*options> %<*package> @@ -3303,20 +3193,20 @@ \csname KV@KOMA.\@currname.\@currext @draft@default\endcsname\relax %</interface&body> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@draft -% \end{option}%^^A draft -% \end{macro}%^^A \scrlayer@do@page@style@element@layer -% \end{macro}%^^A \DeclarePageStyleByLayers +% \end{macro}^^A \ifscrlayer@draft +% \end{option}^^A draft +% \end{macro}^^A \scrlayer@do@page@style@element@layer +% \end{command}^^A \DeclarePageStyleByLayers % % -% \begin{macro}{\DeclareNewPageStyleByLayers} -% Arguments like \Macro{DeclarePageStyleByLayers}; results in error if the page +% \begin{command}{\DeclareNewPageStyleByLayers} +% Arguments like \cs{DeclarePageStyleByLayers}; results in error if the page % style has been defined (or declared) already. -% \begin{macro}{\ProvidePageStyleByLayers} -% Arguments like \Macro{DeclarePageStyleByLayers}; doesn't define anything it +% \begin{command}{\ProvidePageStyleByLayers} +% Arguments like \cs{DeclarePageStyleByLayers}; doesn't define anything it % the page style has been defined (or declared) already. -% \begin{macro}{\RedeclarePageStyleByLayers} -% Arguments like \Macro{DeclarePageStyleByLayers}; results in error if the page +% \begin{command}{\RedeclarePageStyleByLayers} +% Arguments like \cs{DeclarePageStyleByLayers}; results in error if the page % style hasn't been defined (or declared) already. % \begin{macrocode} %<*package&body> @@ -3379,47 +3269,48 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \RedeclarePageStyleByLayers -% \end{macro}%^^A \ProvidePageStyleByLayers -% \end{macro}%^^A \DeclareNewPageStyleByLayers +% \end{command}^^A \RedeclarePageStyleByLayers +% \end{command}^^A \ProvidePageStyleByLayers +% \end{command}^^A \DeclareNewPageStyleByLayers % -% We also declare page style \Pagestyle{@everystyle@} by default. You should +% \begin{pgstyle}{@everystyle@,empty} +% We also declare page style \pstyle{@everystyle@} by default. You should % not use this page style as an real page style (even not as the empty % one). The layers of this page style will be used by every other layer page -% style. An we re-declare \Pagestyle{empty} to be a layer page style. +% style. An we re-declare \pstyle{empty} to be a layer page style. % \begin{macrocode} %<*package&final> \DeclareNewPageStyleByLayers{@everystyle@}{} \RedeclarePageStyleByLayers{empty}{} %</package&final> % \end{macrocode} +% \end{pgstyle} % -% \begin{macro}{\AddLayersToPageStyle} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\AddLayersAtBeginOfPageStyle} -% \begin{macro}{\AddLayersAtEndOfPageStyle} -% \begin{macro}{\RemoveLayersFromPageStyle} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\AddLayersToPageStyle} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{command}{\AddLayersAtBeginOfPageStyle,\AddLayersAtEndOfPageStyle} +% \begin{command}{\RemoveLayersFromPageStyle} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be modified (must +% \item[\marg{string}:] the name of the page style to be modified (must % be expandable and result in a string). -% \item[\Parameter{string list}:] comma separated list of layer names (must +% \item[\marg{string list}:] comma separated list of layer names (must % be expandable and result in strings); first in the list will be added % first. % \end{description} % Change the layer list of a given page style. The differences between the % commands are: % \begin{description} -% \item[\Macro{AddLayersToPageStyle}:] first in the \meta{string list} will +% \item[\cs{AddLayersToPageStyle}:] first in the \meta{string list} will % be added first at the end. -% \item[\Macro{AddLayersAtBeginOfPageStyle}:] first in the \meta{string list} +% \item[\cs{AddLayersAtBeginOfPageStyle}:] first in the \meta{string list} % will be added first at the start. Note, that this will result in changing % the order of the layers in \meta{string list}. -% \item[\Macro{AddLayerAtEndOfPageStyle}:] same like -% \Macro{AddLayerToPageStyle}. -% \item[\Macro{RemoveLayersFromPageStyle}:] remove the layers from the page +% \item[\cs{AddLayerAtEndOfPageStyle}:] same like +% \cs{AddLayerToPageStyle}. +% \item[\cs{RemoveLayersFromPageStyle}:] remove the layers from the page % style's layer list. % \end{description} % \begin{macrocode} @@ -3456,7 +3347,7 @@ \begingroup\let\@elt\relax\xdef#1{\@elt #2#1}\endgroup } % \end{macrocode} -% \end{macro}%^^A \@snoc +% \end{macro}^^A \@snoc % \begin{macrocode} \newcommand*{\RemoveLayersFromPageStyle}[2]{% \edef\reserved@b{\GetRealPageStyle{#1}}% @@ -3475,7 +3366,7 @@ % \end{macrocode} % \begin{macro}{\remove@layer@from@page@style} % \changes{v0.9}{2014/07/25}{cleaning of layer list must be global} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Helper macro to remove exactly one layer (arg 1) from a page style (arg 2). % \begin{macrocode} \newcommand*{\remove@layer@from@page@style}[2]{% @@ -3490,12 +3381,12 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \remoce@layer@from@page@style +% \end{macro}^^A \remoce@layer@from@page@style % \begin{macro}{\scrlayer@lpm@error} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be modified (must +% \item[\marg{string}:] the name of the page style to be modified (must % be expandable and result in a string). -% \item[\Parameter{string}:] the kind of modification, that isn't allowed +% \item[\marg{string}:] the kind of modification, that isn't allowed % (must be expandable and result in a string). % \end{description} % Show an error because of page style it either not a defined or not a layer @@ -3518,27 +3409,24 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayer@lpm@error -% \end{macro}%^^A \RemoveLayersFromPageStyle -% \end{macro}%^^A \AddLayersAtEndOfPageStyle -% \end{macro}%^^A \AddLayersAtBeginOfPageStyle -% \end{macro}%^^A \AddLayersToPageStyle +% \end{macro}^^A \scrlayer@lpm@error +% \end{command}^^A \RemoveLayersFromPageStyle +% \end{command}^^A \AddLayersAtBeginOfPageStyle,\AddLayersAtEndOfPageStyle +% \end{command}^^A \AddLayersToPageStyle % -% \begin{macro}{\AddLayersToPageStyleBeforeLayer} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\AddLayersToPageStyleAfterLayer} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A +% \begin{command}{\AddLayersToPageStyleBeforeLayer, +% \AddLayersToPageStyleAfterLayer} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be modified (must +% \item[\marg{string}:] the name of the page style to be modified (must % be expandable and result in a string). -% \item[\Parameter{string list}:] comma separated list of layer names (must +% \item[\marg{string list}:] comma separated list of layer names (must % be expandable and result in strings); first in the list will be added % first. -% \item[\Parameter{string}:] the name of the layer before -% (\Macro{AddLayersToPageStyleBeforeLayer}) or after -% (\Macro{AddLayersToPageStyleAfterLayer}) that the layers of the list +% \item[\marg{string}:] the name of the layer before +% (\cs{AddLayersToPageStyleBeforeLayer}) or after +% (\cs{AddLayersToPageStyleAfterLayer}) that the layers of the list % should be added. % \end{description} % Note: If the layer from third argument is not part of the page style's layer @@ -3601,14 +3489,14 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \AddLayersToPageStyleAfterLayer -% \end{macro}%^^A \AddLayersToPageStyleBeforeLayer +% \end{command}^^A \AddLayersToPageStyleBeforeLayer, +% ^^A \AddLayersToPageStyleAfterLayer % % -% \begin{macro}{\UnifyLayersAtPageStyle} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\UnifyLayersAtPageStyle} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be unified (must +% \item[\marg{string}:] the name of the page style to be unified (must % be expandable and result in a string). % \end{description} % Remove doublets of layers from a page style. @@ -3635,20 +3523,19 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \UnifyLayersAtPageStyle +% \end{command}^^A \UnifyLayersAtPageStyle % -% \begin{macro}{\ModifyLayerPageStyleOptions} -% \begin{macro}{\AddToLayerPageStyleOptions} +% \begin{command}{\ModifyLayerPageStyleOptions,\AddToLayerPageStyleOptions} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be modified (must +% \item[\marg{string}:] the name of the page style to be modified (must % be expandable and result in a string). -% \item[\Parameter{option list}:] comma separated list of named page +% \item[\marg{option list}:] comma separated list of named page % style options. You may use any of the options provided for -% \Macro{DeclarePageStyle}. +% \cs{DeclarePageStyle}. % \end{description} -% \Macro{ModifyLayerPageStyleOptions} replaces the options and only the +% \cs{ModifyLayerPageStyleOptions} replaces the options and only the % options from the list by their new -% values. \Macro{AddToLayerPageStyleOptions} adds the new values to the +% values. \cs{AddToLayerPageStyleOptions} adds the new values to the % already given. % \begin{macrocode} %<*package&body> @@ -3664,7 +3551,7 @@ } % \end{macrocode} % \begin{macro}{\scrlayer@modify@layer@ps@options} -% \changes{v3.28}{2019/11/28}{usage of marker makros}%^^A +% \changes{v3.28}{2019/11/28}{usage of marker makros} % Helper needed because of alias page styles. Same parameters like % \cs{ModifyLayerPageStyleOptions} % \begin{macrocode} @@ -3717,7 +3604,7 @@ \reserved@a } % \end{macrocode} -% \end{macro}%^^A \scrlayer@modify@layer@ps@options +% \end{macro}^^A \scrlayer@modify@layer@ps@options % \begin{macrocode} \newcommand*{\AddToLayerPageStyleOptions}[2]{% \IfLayerPageStyleExists{#1}{% @@ -3729,13 +3616,11 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \AddToLayerPageStyleOptions -% \end{macro}%^^A \ModifyLayerPageStyleOptions +% \end{command}^^A \ModifyLayerPageStyleOptions,\AddToLayerPageStyleOptions % -% \begin{macro}{\scrlayer@beginartifact} -% \changes{v3.26}{2018/07/14}{new (semi internal)}%^^A -% \begin{macro}{\scrlayer@endartifact} -% \changes{v3.26}{2018/07/14}{new (semi internal)}%^^A +% +% \begin{macro}{\scrlayer@beginartifact,\scrlayer@endartifact} +% \changes{v3.26}{2018/07/14}{new (semi internal)} % These macros are reserved for tagging packages. The first one is executed % after the initial contents hook, the last one is executed after the final % contents hook. Both executions are done only, if the \texttt{artifact} @@ -3778,17 +3663,14 @@ \providecommand*{\scrlayer@endartifact}[1]{} %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayer@endartifact -% \end{macro}%^^A \scrlayer@beginartifact +% \end{macro}^^A \scrlayer@beginartifact,\scrlayer@endartifact % -% \begin{macro}{\DeclarePageStyleAlias} -% \begin{macro}{\DeclareNewPageStyleAlias} -% \begin{macro}{\ProvidePageStyleAlias} -% \begin{macro}{\RedeclarePageStyleAlias} +% \begin{command}{\DeclarePageStyleAlias,\DeclareNewPageStyleAlias, +% \ProvidePageStyleAlias,\RedeclarePageStyleAlias} % \begin{description} -% \item[\Parameter{string}:] The name of the page style to be declared +% \item[\marg{string}:] The name of the page style to be declared % (must be expandable and result in a string). -% \item[\Parameter{string}:] The name of the existing page style +% \item[\marg{string}:] The name of the existing page style % (must be expandable and result in a string). % \end{description} % \begin{macrocode} @@ -3862,14 +3744,11 @@ \DeclarePageStyleAlias{#1}% } % \end{macrocode} -% \end{macro}%^^A \RedeclarePageStyleAlias -% \end{macro}%^^A \ProvidePageStyleAlias -% \end{macro}%^^A \DeclareNewPageStyleAlias -% \end{macro}%^^A \DeclarePageStyleAlias +% \end{command}^^A \DeclarePageStyleAlias … % -% \begin{macro}{\DestroyPageStyleAlias} +% \begin{command}{\DestroyPageStyleAlias} % \begin{description} -% \item[\Parameter{string}:] the name of a page style (must be +% \item[\marg{string}:] the name of a page style (must be % expandable and result in a string). % \end{description} % \begin{macrocode} @@ -3880,11 +3759,11 @@ }% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\GetRealPageStyle} +% \begin{command}{\GetRealPageStyle} % \begin{description} -% \item[\Parameter{string}:] the name of a page style (must be +% \item[\marg{string}:] the name of a page style (must be % expandable and result in a string). % \end{description} % Get the real name of the page style. @@ -3897,16 +3776,15 @@ } %</package&body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\IfLayerPageStyleExists} -% \begin{macro}{\IfRealLayerPageStyleExists} +% \begin{command}{\IfLayerPageStyleExists,\IfRealLayerPageStyleExists} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be tested (must +% \item[\marg{string}:] the name of the page style to be tested (must % be expandable and result in a string). -% \item[\Parameter{code}:] whatever code should be expanded, if the test +% \item[\marg{code}:] whatever code should be expanded, if the test % result is true. -% \item[\Parameter{code}:] whatever code should be expanded, if the test +% \item[\marg{code}:] whatever code should be expanded, if the test % result is false. % \end{description} % Test, whether or not the page style is a declared layer page style. @@ -3941,34 +3819,30 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \IfRealLayerPageStyleExists -% \end{macro}%^^A \IfLayerPageStyleExists +% \end{command}^^A \IfLayerPageStyleExists,\IfRealLayerPageStyleExists % -% \begin{macro}{\IfLayerAtPageStyle} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\IfSomeLayersAtPageStyle} -% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A -% \begin{macro}{\IfLayersAtPageStyle} +% \begin{command}{\IfLayerAtPageStyle,\IfSomeLayersAtPageStyle} +% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} +% \begin{command}{\IfLayersAtPageStyle} % \begin{description} -% \item[\Parameter{string}:] the name of the page style to be tested (must +% \item[\marg{string}:] the name of the page style to be tested (must % be expandable and result in a string). -% \item[\Parameter{string}:] the name(s) of the layer(s) to be tested (must be +% \item[\marg{string}:] the name(s) of the layer(s) to be tested (must be % expandable and result in a string). -% \item[\Parameter{code}:] whatever code should be expanded, if the test +% \item[\marg{code}:] whatever code should be expanded, if the test % result is true. -% \item[\Parameter{code}:] whatever code should be expanded, if the test +% \item[\marg{code}:] whatever code should be expanded, if the test % result is false. % \end{description} % Tests: % \begin{description} -% \item[\Macro{IfLayerAtPageStyle}:] Test, whether or not the page style has a +% \item[\cs{IfLayerAtPageStyle}:] Test, whether or not the page style has a % layer. The second argument is the name of one layer only! -% \item[\Macro{IfSomeLayersAtPageStyle}:] Test, whether or not the page style +% \item[\cs{IfSomeLayersAtPageStyle}:] Test, whether or not the page style % has at least one layer of a list of layers. The second argument is a comma % separated list of layer names. -% \item[\Macro{IfLayersAtPageStyle}:] Test, whether or not the page style has +% \item[\cs{IfLayersAtPageStyle}:] Test, whether or not the page style has % every layer of a list of layers. The second argument is a comma separated % list of layer names. % \end{description} @@ -3977,7 +3851,7 @@ % Note, that layers with empty name are only part of a layer page style % without any layers. % -% Note also, that with active \Option{deactivatepagestylelayers} layers are +% Note also, that with active \opt{deactivatepagestylelayers} layers are % logically not longer part of the page styles. % \begin{macrocode} %<*package&body> @@ -4042,21 +3916,20 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \IfLayersAtPageStyle -% \end{macro}%^^A \IfSomeLayersAtPageStyle -% \end{macro}%^^A \IfLayerAtPageStyle +% \end{command}^^A \IfLayersAtPageStyle +% \end{command}^^A \IfLayerAtPageStyle,\IfSomeLayersAtPageStyle % % -% \begin{macro}{\DestroyRealLayerPageStyle} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\DestroyRealLayerPageStyle} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % \begin{description} -% \item[\Parameter{string}:] name of the layer page style to be destroyed. +% \item[\marg{string}:] name of the layer page style to be destroyed. % \end{description} % Destroys the given layer page style but not the layers! If the page style is % the current page style, the empty page style an empty page style will be % activated. If the special page style is valid an the destroyed one, this % will be removed. This command could be used, e.g., at -% \Macro{scrlayerOnAutoRemoveInterface} after destroying the layers. However, +% \cs{scrlayerOnAutoRemoveInterface} after destroying the layers. However, % the interface commands are deprecated. % \begin{macrocode} %<*package&body> @@ -4097,7 +3970,7 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \DestroyRealLayerPageStyle +% \end{command}^^A \DestroyRealLayerPageStyle % % % \subsection{Kernel Patches} @@ -4105,13 +3978,13 @@ % This package as so many others need to patch the \LaTeX{} kernel. This will % be done, because we need information about the current active package style. % -% \begin{macro}{\pagestyle} -% \begin{macro}{\currentpagestyle} -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\pagestyle} +% \begin{command}{\currentpagestyle} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % We save the current page style. Note, that this doesn't work for special % page styles\footnote{Special page styles are set by -% \Macro{thispagestyle}.} that hasn't been defined using -% \Package{scrlayer}. As long as \Macro{currentpagestyle} is empty, the +% \cs{thispagestyle}.} that hasn't been defined using +% \pkg*{scrlayer}. As long as \cs{currentpagestyle} is empty, the % current page style is unknown. And we add two hooks into page style % selection: one before an one after the selection. % \begin{macrocode} @@ -4159,17 +4032,16 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \currentpagestyle +% \end{command}^^A \currentpagestyle % -% \begin{macro}{\BeforeSelectAnyPageStyle} -% \begin{macro}{\scrlayer@exec@before@pagestyle@hook} -% \begin{macro}{\AfterSelectAnyPageStyle} -% \begin{macro}{\scrlayer@exec@after@pagestyle@hook} +% \begin{command}{\BeforeSelectAnyPageStyle,\AfterSelectAnyPageStyle} +% \begin{macro}{\scrlayer@exec@before@pagestyle@hook, +% \scrlayer@exec@after@pagestyle@hook} % We have two macros to locally add code to be executed whenever a page style -% changes using \Macro{pagestyle}. The first one executes the code before the +% changes using \cs{pagestyle}. The first one executes the code before the % page style will be changed, the second one after the page style has been % changed. Note, that you may use \#1 as a placeholder of the argument of -% \Macro{pagestyle}. +% \cs{pagestyle}. % \begin{macrocode} %<*package&body> \newcommand*{\BeforeSelectAnyPageStyle}[1]{% @@ -4188,28 +4060,24 @@ \newcommand*{\scrlayer@exec@after@pagestyle@hook}[1]{} %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayer@exec@after@pagestyle@hook -% \end{macro}%^^A \AfterSelectAnyPageStyle -% \end{macro}%^^A \scrlayer@exec@before@pagestyle@hook -% \end{macro}%^^A \BeforeSelectAnyPageStyle -% \end{macro}%^^A \pagestyle +% \end{macro}^^A \scrlayer@exec@after@pagestyle@hook … +% \end{command}^^A \BeforeSelectAnyPageStyle,\AfterSelectAnyPageStyle +% \end{command}^^A \pagestyle % % -% \subsection{Declaration of End User Interfaces} +% \subsection{Deprecated declaration of end user interfaces} % % \changes{v3.32}{2020/09/11}{the interface commands are deprecated} % -% The package also supports an interface for loading end user interfaces. -% Maybe it would be a good idea to move this to \Package{scrbase}, but -% currently it is not needed. +% All commands of this subsection are deprecated. So they are declared as +% internal independent from their name. % -% \begin{macro}{\scrlayerAddToInterface} -% \begin{macro}{\scrlayerAddCsToInterface} +% \begin{macro}{\scrlayerAddToInterface,\scrlayerAddCsToInterface} % \begin{description} % \item[\texttt{\{\meta{command}\textbar\meta{command sequence}\}}:] the % command (with backslash) or the command sequence of the command (without % backslash) of the command, that should be added to the interface. -% \item[\Parameter{code}:] will be executed, only if the command could be +% \item[\marg{code}:] will be executed, only if the command could be % added to the interface. % \end{description} % Add either a command sequence or a command to the user interface. @@ -4312,11 +4180,11 @@ }% % \end{macrocode} % \begin{macro}{\scrlayer@AddCsToInterface} -% Little helper, to avoid repeating this \Macro{expandafter} orgy. +% Little helper, to avoid repeating this \cs{expandafter} orgy. % \begin{description} -% \item[\OParameter{string}:] the interface name (must be expandable and +% \item[\oarg{string}:] the interface name (must be expandable and % expand to a string) -% \item[\Parameter{command sequence}] the command sequence of the command to +% \item[\marg{command sequence}] the command sequence of the command to % be added. % \end{description} % \begin{macrocode} @@ -4335,7 +4203,7 @@ % \begin{option}{forceoverwrite} % \begin{macro}{\ifscrlayer@forceoverwrite} % \begin{description} -% \item[\Parameter{simple switch}:] whether or not to overwrite already +% \item[\marg{simple switch}:] whether or not to overwrite already % defined command. Note: If true, there will still be a warning. % \end{description} % \begin{macrocode} @@ -4358,13 +4226,13 @@ \csname KV@KOMA.\@currname.\@currext @forceoverwrite@default\endcsname\relax %</interface&body> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@forceoverwrite -% \end{option}%^^A forceoverwrite +% \end{macro}^^A \ifscrlayer@forceoverwrite +% \end{option}^^A forceoverwrite % % \begin{option}{autoremoveinterfaces} % \begin{macro}{\ifscrlayer@autoremoveinterfaces} % \begin{description} -% \item[\Parameter{simple switch}:] whether or not older interfaces may be +% \item[\marg{simple switch}:] whether or not older interfaces may be % automatically removed in conflict cases. % \end{description} % \begin{macrocode} @@ -4390,17 +4258,16 @@ \relax %</interface&body> % \end{macrocode} -% \end{macro}%^^A \ifscrlayer@autoremoveinterfaces -% \end{option}%^^A autoremoveinterfaces -% \end{macro}%^^A \scrlayer@AddCsToInterface -% \end{macro}%^^A \scrlayerAddCsToInterface -% \end{macro}%^^A \scrlayerAddToInterface +% \end{macro}^^A \ifscrlayer@autoremoveinterfaces +% \end{option}^^A autoremoveinterfaces +% \end{macro}^^A \scrlayer@AddCsToInterface +% \end{macro}^^A \scrlayerAddToInterface,\scrlayerAddCsToInterface % % \begin{macro}{\scrlayerInitInterface} % \begin{description} -% \item[\OParameter{string}:] the name of the interface. Generally this is +% \item[\oarg{string}:] the name of the interface. Generally this is % the file name of the package or class, that defines the interface -% (default: \texttt{\Macro{@currname}.\Macro{@currext}}). +% (default: \texttt{\cs{@currname}.\cs{@currext}}). % \end{description} % This registers a new user interface. % \begin{macrocode} @@ -4426,15 +4293,15 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayerInitInterface +% \end{macro}^^A \scrlayerInitInterface % % \begin{macro}{\scrlayerOnAutoRemoveInterface} % \begin{description} -% \item[\OParameter{string}:] the name of the interface. Generally this is +% \item[\oarg{string}:] the name of the interface. Generally this is % the file name of the package or class, that defines the interface -% (default: \texttt{\Macro{@currname}.\Macro{@currext}}). -% \item[\Parameter{code}:] will be executed if the interface will be removed -% automatically (see option \Option{autoremoveinterfaces}). +% (default: \texttt{\cs{@currname}.\cs{@currext}}). +% \item[\marg{code}:] will be executed if the interface will be removed +% automatically (see option \opt{autoremoveinterfaces}). % \end{description} % \begin{macrocode} %<*package&body> @@ -4445,10 +4312,10 @@ } %</package&body> % \end{macrocode} -% \end{macro}%^^A \scrlayerOnAutoRemoveInterface +% \end{macro}^^A \scrlayerOnAutoRemoveInterface % % \begin{macro}{\scrlayer@report@deprecated} -% \changes{v3.32}{2020/09/11}{new (internal)} +% \changes{v3.32}{2020/09/11}{added} % Report that the deprecated interface commands are used but should not. But % report this only once per interface. % \begin{macrocode} @@ -4467,20 +4334,19 @@ % \end{macrocode} % \end{macro} % -% \iffalse^^A meta-comment +% \begin{macrocode} %</package|interface|class> -% \fi^^A meta-comment -% -% +% \end{macrocode} +% % \Finale +% \PrintChanges % \endinput -% -% end of file `scrlayer.dtx' - -%%% Local Variables: -%%% mode: doctex -%%% ispell-local-dictionary: "en_GB" -%%% flyspell-mode: t -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx b/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx index 8fda6365e3..d58f529904 100644 --- a/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx +++ b/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlfile-hook.dtx -% Copyright (c) Markus Kohm, 2021 +% Copyright (c) Markus Kohm, 2021-2022 % % This file is part of the work `scrlfile' which is part of the LaTeX2e % KOMA-Script bundle. @@ -18,26 +18,6 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrlfile-hook.dtx -% Copyright (c) Markus Kohm, 2021 -% -% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des -% LaTeX2e KOMA-Script Pakets ist. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgeführten Dateien. % ====================================================================== % %%% From File: $Id: scrlfile-hook.dtx$ @@ -45,9 +25,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-11-09 10:36:18 +0100 (Tue, 09 Nov 2021) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3635 $ + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlfile-hook.dtx}% @@ -70,9 +50,11 @@ \generate{\usepreamble\defaultpreamble \file{scrlfile-hook.sty}{% \from{scrlfile-hook.dtx}{package,current}% + \from{scrlogo.dtx}{logo}% }% \file{scrlfile-hook-3.34.sty}{% \from{scrlfile-hook.dtx}{package,3.34}% + \from{scrlogo.dtx}{logo}% }% }% \@@input scrstrop.inc @@ -80,48 +62,48 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass{l3doc} -\usepackage[english]{babel} -\DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% - M\kern.05em A\kern.1em-\kern.1em Script}} +\documentclass[USenglish]{l3doc}% Using class for documentation of expl3 style packages. +\usepackage{babel} +\expandafter\let\expandafter\nodriver\csname iffalse\endcsname +\expandafter\let\expandafter\endnodriver\csname fi\endcsname +\makeatletter\input{scrlogo.dtx}\makeatother \CodelineIndex -\GetFileInfo{scrlfile-hook.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \thanks{This file is revision \fileversion\ of file \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm\thanks{mailto:komascript@gmx.info}} \begin{document} - \maketitle - \begin{abstract} - This package provides hooks before and after loading files, packages or - classes. It also provides a hook after the last \cs{clearpage} of the - document. It allowes to replace files, packages and classes by other - files, packages and classes. It is inteded to be used by package and class - authors but may also be used by \LaTeX{} users. - \end{abstract} - - \tableofcontents - - \DocInput{\filename} + \DocInput{scrlfile-hook.dtx} \end{document} %</dtx> % \fi^^A meta-comment % % \changes{v3.32}{2020/08/25}{new (sub-)package} -%^^A TODO: We should use docstrip3 instead of of docstrip. This would enable -%^^A usability of @@-syntax in the source. But for this, additional -%^^A changes would be needed to setup the version string. Because of -%^^A this it should be done together with switch over to l3build. +% \changes{v3.36}{2022/02/03}{use new documentation style} +% \changes{v3.36}{2022/02/03}{using \file{scrlogo.dtx} to define the logo} +% +% \GetFileInfo{scrlfile-hook.dtx} +% \title{\pkg{scrlfile} \KOMAScript{} Sub-Packages \pkg{scrlfile-hook} and +% \pkg{scrlfile-hook-3.34}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This package provides hooks before and after loading files, packages or +% classes. It also provides a hook after the last \cs{clearpage} of the +% document. It allowes to replace files, packages and classes by other +% files, packages and classes. It is inteded to be used by package and class +% authors but may also be used by \LaTeX{} users. +% \end{abstract} +% \tableofcontents +% % -% \section{The User Manual of \textsf{scrlfile-hook}} +% \section{User Manual} % -% \textsf{scrlfile-hook} implements the \LaTeX-hook-based part of -% \textsf{scrlfile}. +% \pkg{scrlfile-hook} implements the \LaTeX-hook-based part of +% \pkg{scrlfile}. \pkg{scrlfile-hook-3.34} is a variant for \LaTeX{} kernel +% versions before 2021/06/01. % % There isn't any user manual for the user level \LaTeXe{} commands in this -% file. Please see the manual of \textsf{scrlfile} for more information about -% \textsf{scrlfile-hook}. +% file. Please see the manual of \pkg{scrlfile} for more information about +% \pkg{scrlfile-hook} and \pkg{scrlfile-hook-3.34}. % % This section, however, contains the user manual of the \LaTeX3{} package % author commands. @@ -135,17 +117,17 @@ % Tests if the class \meta{class name} resp. the package \meta{package name} % has been loaded completely. It runs the \Arg{true code} only, if the input % of the class file with the name \meta{class -% name}\texttt{.}\cs{@clsextension} resp. the package file with the name -% \meta{package name}\texttt{.}\cs{@pkgextension} has already been +% name}\file{.}\cs{@clsextension} resp. the package file with the name +% \meta{package name}\file{.}\cs{@pkgextension} has already been % finished. It runs the \Arg{false code}, if the class or package has not % been loaded or the input of the class or package file is still in % progress. % \end{function} % % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % -% \section{The Implementation of \textsf{scrlfile-hook}} +% \section{Implementation of \pkg{scrlfile-hook}} % % \begin{macrocode} %<@@=scrlfile> @@ -156,6 +138,7 @@ % direct usage} % \changes{v3.35}{2021/10/31}{new file version because \LaTeX{} kernel % 2021/11/15 has changed the field order of gerneric hooks} +% \changes{v3.36}{2022/02/03}{package name in messages fixed} % \begin{macrocode} \@ifundefined{IfFormatAtLeastTF}{% \PackageError{scrlfile-hook}{not recommended usage of package}{% @@ -171,7 +154,7 @@ \IfFormatAtLeastTF{2020/10/01}{% \IfFormatAtLeastTF{2021/11/15}{% %<*3.34> - \PackageError{scrfile-hook-3.34}{LaTeX too new for this package}{% + \PackageError{scrlfile-hook-3.34}{LaTeX too new for this package}{% It seems this package has ben loaded directly using a LaTeX version\MessageBreak newer than 2021-06-01. This is not recommended. Please always load @@ -189,7 +172,7 @@ prior to 2021-11-15. This is not recommended. Please always load package\MessageBreak scrlfile instead of scrlfile-hook.\MessageBreak - If you would continue, I will try to load scrfile-hook-3.34% + If you would continue, I will try to load scrlfile-hook-3.34% }% \RequirePackage{scrlfile-hook-3.34}\endinput %</current> @@ -357,9 +340,10 @@ % Unfortunately we need an ugly hack to initialise the stack using an internal % kernel variable. This is a no go but I do not know a better solution for % this, because loading of the package could be done late. -% TODO: Decide, if the second or fourth token is correct. If fourth, -% \cs{CurrentFile} has to be used always instead of -% \cs{CurrentFileUsed}. +% \begin{description} +% \item[ToDo:] Decide, if the second or fourth token is correct. If fourth, +% \cs{CurrentFile} has to be used always instead of \cs{CurrentFileUsed}. +% \end{description} % \begin{macrocode} \cs_if_exist:NTF \g__filehook_input_file_seq { @@ -709,18 +693,15 @@ % \end{macrocode} % \end{macro} % -% \subsection{The \KOMAScript{} Logo} -% -% Last but not least this is a \KOMAScript{} package, so we also define the -% \KOMAScript{} logo: -% \begin{macrocode} -\RequirePackage{scrlogo} -% \end{macrocode} -% % \Finale +% \PrintChanges % % \endinput % Local Variables: % mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) % TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) % End: diff --git a/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx b/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx index 5f5956dc71..d30a0c45a0 100644 --- a/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx +++ b/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlfile-patcholdlatex.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the work `scrlfile' which is part of the LaTeX2e % KOMA-Script bundle. @@ -18,54 +18,15 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrlfile-patcholdlatex.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des -% LaTeX2e KOMA-Script Pakets ist. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi^^A meta-comment -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrlfile-patcholdlatex.dtx 3626 2021-11-01 10:57:06Z kohm $ +%%% From File: $Id: scrlfile-patcholdlatex.dtx 3773 2022-03-29 06:27:55Z kohm $ %<*dtx> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-11-01 11:57:06 +0100 (Mon, 01 Nov 2021) $ + \filedate$Date: 2022-03-29 08:27:55 +0200 (Tue, 29 Mar 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3626 $ + \filerevision$Revision: 3773 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlfile-patcholdlatex.dtx}% @@ -87,6 +48,7 @@ \generate{\usepreamble\defaultpreamble \file{scrlfile-patcholdlatex.sty}{% \from{scrlfile-patcholdlatex.dtx}{package}% + \from{scrlogo.dtx}{logo}% }% } \@@input scrstrop.inc @@ -94,27 +56,10 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass[parskip=half-]{scrdoc} -\usepackage[main=english]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrlfile-patcholdlatex.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \thanks{This file is revision \fileversion\ of file \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm\thanks{mailto:komascript@gmx.info}} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} \begin{document} - \maketitle - \begin{abstract} - This package provides hooks before and after loading files, packages or - classes. It also provides a hook after the last \cs{clearpage} of the - document. It allowes to replace files, packages and classes by other - files, packages and classes. It is inteded to be used by package and class - authors but may also be used by \LaTeX{} users. - \end{abstract} - - \DocInput{\filename} + \DocInput{scrlfile-patcholdlatex.dtx} \end{document} %</dtx> % \fi^^A meta-comment @@ -122,19 +67,37 @@ % \changes{v2.95}{2002/06/11}{First version split from hugh scrclass.dtx} % \changes{v3.24}{2017/05/06}{standalone manual removed} % \changes{v3.32}{2020/09/02}{new (sub)-package} +% \changes{v3.36}{2022/02/03}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/03}{using \file{scrlogo.dtx} to define the logo} +% +% \GetFileInfo{scrlfile-patcholdlatex.dtx} +% \title{\pkg*{scrlfile} \KOMAScript{} Sub-Package \pkg*{scrlfile-patcholdlatex}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This package provides hooks before and after loading files, packages or +% classes. It also provides a hook after the last \cs{clearpage} of the +% document. It allowes to replace files, packages and classes by other +% files, packages and classes. It is inteded to be used by package and class +% authors but may also be used by \LaTeX{} users. +% \end{abstract} +% \tableofcontents % -% \section{The User Manual of \textsf{scrlfile-patcholdlatex}} % -% \textsf{scrlfile-patcholdlatex} implements the part of \textsf{scrlfile} +% \section{User Manual} +% +% \pkg*{scrlfile-patcholdlatex} implements the part of \pkg*{scrlfile} % that patches old \LaTeX{} kernels. % % There isn't any user manual for the user level \LaTeXe{} commands in this -% file. Please see the manual of \textsf{scrlfile} for more information about -% \textsf{scrlfile-patcholdlatex}. +% file. Please see the manual of \pkg*{scrlfile} for more information about +% \pkg*{scrlfile-patcholdlatex}. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % -% \section{Implementation of \textsf{scrlfile-patcholdlatex}} +% \section{Implementation of \pkg*{scrlfile-patcholdlatex}} % % % \subsection{Patching \LaTeX{} Kernel Macros} @@ -143,7 +106,7 @@ % \changes{v3.34}{2021/04/21}{make it more robust agains not recommended % direct usage} % \changes{3.35}{2021/10/31}{\LaTeX{} kernel change results in new variant of -% \Package{scrfile-hook}} +% \pkg*{scrfile-hook}} % \begin{macrocode} \@ifundefined{IfFormatAtLeastTF}{}{% \IfFormatAtLeastTF{2020/10/01}{% @@ -166,8 +129,8 @@ } % \end{macrocode} % -% \begin{macro}{\InputIfFileExists} -% \changes{v2.96}{2006/07/19}{replacement code added}%^^A +% \begin{command}{\InputIfFileExists} +% \changes{v2.96}{2006/07/19}{replacement code added} % \LaTeX{} uses this macro for loading files with % \cs{input}\marg{filename}, \cs{include}, \cs{LoadClass}, % \cs{LoadClassWithOptions}, \cs{documentclass}, \cs{documentstyle}, @@ -180,18 +143,18 @@ % macros\,---\,one before loading the file and one after loading the % file. But before we redefine the macro, we test, if the macro was % defined like we expected. \LaTeX{} will warn, if not. -% \changes{v3.27}{2019/10/06}{\LaTeX{} 2019-10-01 changed the definition}%^^A +% \changes{v3.27}{2019/10/06}{\LaTeX{} 2019-10-01 changed the definition} % -% \changes{v3.28}{2019/11/21}{support for \textsf{memoir}}%^^A -% With \textsf{memoir} their is a special case. It also redefines +% \changes{v3.28}{2019/11/21}{support for \cls{memoir}} +% With \cls{memoir} their is a special case. It also redefines % \cs{InputIfFileExists}. As shown in the source of the class it does so -% because \textsf{scrlfile} does it. However it does it not compatible with -% \textsf{scrlfile} and it does not emulate \textsf{scrlfile} as it do for -% other packages. So if you try to use \textsf{scrlfile} with memoir, -% \textsf{scrbase} has to take care to \textsf{memoir}. And in oposit to -% \textsf{scrlfile} \textsf{memoir} does not always fix the argument order bug +% because \pkg*{scrlfile} does it. However it does it not compatible with +% \pkg*{scrlfile} and it does not emulate \pkg*{scrlfile} as it do for +% other packages. So if you try to use \pkg*{scrlfile} with memoir, +% \pkg*{scrbase} has to take care to \cls{memoir}. And in oposit to +% \pkg*{scrlfile} \cls{memoir} does not always fix the argument order bug % of \LaTeX{} but do so only for the implementation of \LaTeX{} 2019-10-01. -% So in case of \textsf{memoir} we just patch every version of it without +% So in case of \cls{memoir} we just patch every version of it without % testing. % \begin{macrocode} \@ifclassloaded{memoir}{% @@ -242,8 +205,8 @@ } % \end{macrocode} % \begin{macro}{\scr@input@withhook} -% \changes{v3.27}{2019/03/28}{new (internal)}%^^A -% \changes{v3.28}{2019/11/21}{support for \textsf{memoir}}%^^A +% \changes{v3.27}{2019/03/28}{added} +% \changes{v3.28}{2019/11/21}{support for \cls{memoir}} % We need a new internal, because of expanding \cs{@file@und} before inputting % the file. % \begin{macrocode} @@ -266,15 +229,15 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@input@withhook +% \end{command}^^A \InputIfFileExists % % \begin{macro}{\@loadwithoptions} -% \changes{v2.96}{2006/07/19}{new redefinition} +% \changes{v2.96}{2006/07/19}{re-implementation} % \begin{macro}{\scr@loadwithoptions} -% \changes{v2.96}{2006/07/19}{new helper macro} +% \changes{v2.96}{2006/07/19}{added} % \begin{macro}{\scr@@loadwithoptions} -% \changes{v2.97a}{2007/03/07}{new helper macro} +% \changes{v2.97a}{2007/03/07}{added} % \LaTeX{} uses this macro for loading classes and packages using % \cs{LoadClassWithOptions} or \cs{RequirePackageWithOptions}. We simply say % now: if the class or package should be replaced by another, try it again @@ -298,16 +261,16 @@ \scr@@loadwithoptions } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@@loadwithoptions +% \end{macro}^^A \scr@loadwithoptions +% \end{macro}^^A \@loadwithoptions % % \begin{macro}{\@onefilewithoption} -% \changes{v2.96}{2006/07/19}{new redefinition} +% \changes{v2.96}{2006/07/19}{re-implementation} % \begin{macro}{\scr@onefilewithoption} -% \changes{v2.96}{2006/07/19}{new helper macro} +% \changes{v2.96}{2006/07/19}{added} % \begin{macro}{\scr@@onefilewithoption} -% \changes{v2.98}{2007/12/18}{new helper macro} +% \changes{v2.98}{2007/12/18}{added} % \LaTeX{} uses this macro for loading classes and packages using % \cs{LoadClass}, \cs{documentclass}, \cs{RequirePackage}, and % \cs{usepackage}. We simply say now: if the class or package should be @@ -324,8 +287,8 @@ % \end{macrocode} % Do this ridiculous definition and call outside of \cs{ifx}\dots\cs{fi} % because of some errornous packages like some versions of -% \textsf{breakurl}. This does not avoid an error, but the message about -% unclosed \cs{if} will be outside of \textsf{scrlfile}. +% \pkg{breakurl}. This does not avoid an error, but the message about +% unclosed \cs{if} will be outside of \pkg*{scrlfile}. % \begin{macrocode} \def\scr@@onefilewithoptions{\scr@onefilewithoptions{#1}}% \else @@ -337,25 +300,25 @@ \scr@load@hook{lateafter}{#1.#4}% } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@@onefilewithoption +% \end{macro}^^A \scr@onefilewithoption +% \end{macro}^^A \@onefilewithoption % % \begin{macro}{\scr@replacefile@msg} -% \changes{v2.96}{2006/07/19}{new helper command} +% \changes{v2.96}{2006/07/19}{added} % \changes{v2.98}{2007/12/18}{spellfix} -% Last but not least \textsf{scrlfile} will write a message to the log file at +% Last but not least \pkg*{scrlfile} will write a message to the log file at % every replacement. % \begin{macrocode} \newcommand*{\scr@replacefile@msg}[2]{% \PackageInfo{scrlfile}{inputing `#1' instead of `#2'}% } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@replacefile@msg % % \begin{macro}{\scr@load@hook} % \changes{v3.27a}{2019/10/16}{workaround for strange handling of -% \cs{AtEndOfPackage} hook in \cs{@onefilewithoptions}}%^^A +% \cs{AtEndOfPackage} hook in \cs{@onefilewithoptions}} % This macro simply calls a load-file-hook, either the \emph{before} % or the \emph{after} one, if the hook exists. After calling the hook % it will be deleted. First argument is the type of hook @@ -364,11 +327,11 @@ \newcommand*{\scr@load@hook}[2]{% % \end{macrocode} % \begin{macro}{\scrlfile@cmp@hook} -% \changes{v3.27a}{2019/10/23}{local macros renamed}%^^A +% \changes{v3.27a}{2019/10/23}{renamed} % \begin{macro}{\scrlfile@hookname} -% \changes{v3.27a}{2019/10/23}{local macros renamed}%^^A +% \changes{v3.27a}{2019/10/23}{renamed} % \changes{v3.29}{2020/06/01}{do the class and package load hooks only in the -% document preamble}%^^A --> https://komascript.de/node/2274 +% document preamble}^^A --> https://komascript.de/node/2274 % Workaround for strange handling of the \cs{AtEndOfPackage} hook in % \cs{@onefilewithoptions} (becomes \cs{@empty}, if the package already has % been loaded and is not loaded again). This workaround is not nice but @@ -412,9 +375,9 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scrlfile@hookname +% \end{macro}^^A \scrlfile@cmp@hook +% \end{macro}^^A \scr@load@hook % % \begin{macro}{\scr@set@load@hook} % This command adds stuff to a load-file-hook, either the @@ -424,21 +387,22 @@ % \cs{g@addto@macro}. This third argument is the stuff, which will be % added to the hook. Because of using \cs{g@addto@macro} the hook must % be defined. So we define it, if it isn't. -% TODO: Handling/ignoring an optional argument to make it more compatible with -% \LaTeX's new \cs{AddToHook}. +% \begin{description} +% \item[ToDo:] Handling/ignoring an optional argument to make it more +% compatible with \LaTeX's new \cs{AddToHook}. +% \end{description} % \begin{macrocode} \newcommand*{\scr@set@load@hook}[2]{% \@ifundefined{#2-@#1}{\@namedef{#2-@#1}{}}{}% \expandafter\g@addto@macro\csname #2-@#1\endcsname } % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@set@load@hook % % % \subsection{Before and After Commands} % -% \begin{macro}{\BeforeFile} -% \begin{macro}{\AfterFile} +% \begin{command}{\BeforeFile,\AfterFile} % Just add code to the \emph{before} or \emph{after} hook of a file. The % arguments are: % \begin{description} @@ -452,14 +416,12 @@ \newcommand*{\BeforeFile}{\scr@set@load@hook{before}} \newcommand*{\AfterFile}{\scr@set@load@hook{after}} % \end{macrocode} -% \end{macro}%^^A \AfterFile -% \end{macro}%^^A \BeforeFile +% \end{command}^^A \BeforeFile,\AfterFile % -% \begin{macro}{\BeforeClass} +% \begin{command}{\BeforeClass} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \cs{kernel@ifnextchar}} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % This is quite simple. It only has to add code to the \emph{before} hook % already known by \cs{BeforeFile}. The arguments are: % \begin{description} @@ -474,14 +436,14 @@ \scr@set@load@hook{before}{#1.\@clsextension}% } % \end{macrocode} -% \end{macro}%^^A \BeforeClass +% \end{command}^^A \BeforeClass % -% \begin{macro}{\AfterClass} +% \begin{command}{\AfterClass} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by % \cs{kernel@ifnextchar}} % \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \changes{v3.32}{2020/09/02}{plus and exclamation mark variants removed} -% \begin{macro}{\AfterAtEndOfClass} +% \begin{command}{\AfterAtEndOfClass} % \changes{v3.32}{2020/09/02}{star variant replaces the exclamation mark % variant of \cs{AfterClass}} % These are more complicated. There are four forms: @@ -528,9 +490,9 @@ \scr@set@load@hook{after}{#1.\@clsextension}% } % \end{macrocode} -% \end{macro}%^^A \@AfterClass +% \end{macro}^^A \@AfterClass % \begin{macro}{\@sAfterClass} -% \changes{v3.27a}{2019/10/16}{group removed}%^^A +% \changes{v3.27a}{2019/10/16}{group removed} % This is the internal implementation of: % \cs{AfterClass*}\marg{class name}\marg{code}. % It tests, whether or not \LaTeX{} thinks that the class @@ -548,14 +510,14 @@ {#1}% } % \end{macrocode} -% \end{macro}%^^A \@sAfterClass +% \end{macro}^^A \@sAfterClass % \begin{macrocode} \newcommand*{\AfterAtEndOfClass}{% \kernel@ifstar \@sAfterAtEndOfClass\@AfterAtEndOfClass } % \end{macrocode} % \begin{macro}{\@AfterAtEndOfClass} -% \changes{v3.32}{2020/09/02}{new (internal)} +% \changes{v3.32}{2020/09/02}{added} % Note that \cs{AfterAtEndOfClass} executed the \meta{code} after each try % to load a class, even if the class has already been loaded and you try % to load it again. @@ -565,11 +527,11 @@ } % \end{macrocode} % \begin{macro}{\@sAfterAtEndOfClass} -% \changes{v3.09}{2011/03/09}{new (internal)}%^^A -% \changes{v3.27}{2019/08/26}{using inside class fixed}%^^A -% \changes{v3.27a}{2019/10/15}{renamed from \cs{@@@AfterClass}}%^^A -% \changes{v3.27a}{2019/10/16}{usage of \emph{l@ading} marker}%^^A -% \changes{v3.27a}{2019/10/16}{group removed}%^^A +% \changes{v3.09}{2011/03/09}{added} +% \changes{v3.27}{2019/08/26}{using inside class fixed} +% \changes{v3.27a}{2019/10/15}{renamed from \cs{@@@AfterClass}} +% \changes{v3.27a}{2019/10/16}{usage of \emph{l@ading} marker} +% \changes{v3.27a}{2019/10/16}{group removed} % \changes{v3.32}{2020/09/02}{renamed from \cs{@xAfterClass}} % This is the internal implementation of: % \cs{AfterClass!}\marg{class name}\marg{code}. Note, that the exclamation @@ -608,11 +570,12 @@ {#1}% } % \end{macrocode} -% \end{macro}%^^A \@sAfterAtEndOfClass -% \end{macro}%^^A \AfterAtEndOfClass -% \end{macro}%^^A \AfterClass +% \end{macro}^^A \@sAfterAtEndOfClass +% \end{macro}^^A \@AfterAtEndOfClass +% \end{command}^^A \AfterAtEndOfClass +% \end{command}^^A \AfterClass % -% \begin{macro}{\BeforePackage} +% \begin{command}{\BeforePackage} % This is quite simple. It only has to add code to the \emph{before} hook % already known by \cs{BeforeFile}. The arguments are: % \begin{description} @@ -627,14 +590,13 @@ \scr@set@load@hook{before}{#1.\@pkgextension}% } % \end{macrocode} -% \end{macro}%^^A \BeforePackage +% \end{command}^^A \BeforePackage % -% \begin{macro}{\AfterPackage} +% \begin{command}{\AfterPackage} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A -% \begin{macro}{\AfterAtEndOfPackage} +% \cs{kernel@ifnextchar}} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} +% \begin{command}{\AfterAtEndOfPackage} % These are more complicated. There are four forms: % \begin{description} % \item[\cs{AfterPackage}] corresponds to \cs{AfterFile}. So the code will be @@ -679,9 +641,9 @@ \scr@set@load@hook{after}{#1.\@pkgextension}% } % \end{macrocode} -% \end{macro}%^^A \@AfterPackage +% \end{macro}^^A \@AfterPackage % \begin{macro}{\@sAfterPackage} -% \changes{v3.27a}{2019/10/16}{group removed}%^^A +% \changes{v3.27a}{2019/10/16}{group removed} % This is the internal implementation of: % \cs{AfterPackage*}\marg{package name}\marg{code}. % It tests, whether or not \LaTeX{} thinks that the package @@ -699,19 +661,19 @@ {#1}% } % \end{macrocode} -% \end{macro}%^^A \@sAfterPackage -% \begin{macrocode} +% \end{macro}^^A \@sAfterPackage +% \begin{macrocode} \newcommand*{\AfterAtEndOfPackage}{% \kernel@ifstar \@sAfterAtEndOfPackage\@AfterAtEndOfPackage } -% \end{macrocode} +% \end{macrocode} % \begin{macro}{\@sAfterAtEndOfPackage} -% \changes{v3.09}{2011/03/09}{new (internal) +% \changes{v3.09}{2011/03/09}{added} % \changes{v3.27}{2019/08/26}{using inside package fixed} -% \changes{v3.27a}{2019/10/15}{renamed from \cs{@@@AfterPackage} +% \changes{v3.27a}{2019/10/15}{renamed from \cs{@@@AfterPackage}} % \changes{v3.27a}{2019/10/16}{usage of \emph{l@ading} marker} % \changes{v3.27a}{2019/10/16}{group removed} -% \changes{v3.32}{2020/09/02}{renamed from \@xAfterPackage} +% \changes{v3.32}{2020/09/02}{renamed from \cs{@xAfterPackage}} % This is the internal implementation of: % \cs{AfterAtEndOfPackage*}\marg{package name}\marg{code}. % \begin{macrocode} @@ -728,11 +690,11 @@ {#1}% } % \end{macrocode} -% \end{macro}%^^A \@sAfterAtEndOfPackage +% \end{macro}^^A \@sAfterAtEndOfPackage % \begin{macro}{\@AfterAtEndOfPackage} -% \changes{v3.32}{2020/09/02}{new (internal)} +% \changes{v3.32}{2020/09/02}{added} % \begin{macro}{\@@AfterAtEndOfPackage} -% \changes{v3.27a}{2019/10/15}{new (internal)} +% \changes{v3.27a}{2019/10/15}{added} % \changes{v3.27a}{2019/10/16}{group removed} % \changes{v3.32}{2020/09/02}{renamed from \cs{@AfterAtEndOfPackage}} % Note that until 3.27a \cs{AfterAtEndOfPackage} executed the \meta{code} @@ -758,16 +720,16 @@ \scr@set@load@hook{lateafter}{#1.\@pkgextension}% } % \end{macrocode} -% \end{macro}%^^A \@@AfterAtEndOfPackage -% \end{macro}%^^A \@AfterEndOfPackage -% \end{macro}%^^A \AfterAtEndOfPackage -% \end{macro}%^^A \AfterPackage +% \end{macro}^^A \@@AfterAtEndOfPackage +% \end{macro}^^A \@AfterEndOfPackage +% \end{command}^^A \AfterAtEndOfPackage +% \end{command}^^A \AfterPackage % % % \subsection{File Substitution} % -% \begin{macro}{\ReplaceInput} -% \changes{v2.96}{2006/07/19}{new command} +% \begin{command}{\ReplaceInput} +% \changes{v2.96}{2006/07/19}{added} % \changes{v3.12}{2013/11/15}{implemented} % Defining the replacement by definition of \cs{\#1-@alias}. % \begin{macrocode} @@ -775,8 +737,8 @@ \expandafter\edef\csname #1-@alias\endcsname{#2}% } % \end{macrocode} -% \begin{macro}{\ReplaceFile} -% \changes{v2.96}{2006/07/19}{new command} +% \begin{command}{\ReplaceFile} +% \changes{v2.96}{2006/07/19}{added} % \changes{v3.12}{2013/11/15}{throw error} % Sorry, but I've implemented the wrong command some time ago. % \begin{macrocode} @@ -794,11 +756,11 @@ \ReplaceInput } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \ReplaceFile +% \end{command}^^A \ReplaceInput % -% \begin{macro}{\UnReplaceInput} -% \changes{v3.12}{2013/11/15}{new command} +% \begin{command}{\UnReplaceInput} +% \changes{v3.12}{2013/11/15}{added} % Do not longer replace a file. % \begin{macrocode} \newcommand*{\UnReplaceInput}[1]{% @@ -807,14 +769,12 @@ \fi } % \end{macrocode} -% \end{macro} +% \end{command}^^A \UnReplaceInput % -% \begin{macro}{\ReplacePackage} -% \changes{v2.96}{2006/07/19}{new command} -% \begin{macro}{\ReplaceClass} -% \changes{v2.96}{2006/07/19}{new command} +% \begin{command}{\ReplacePackage,\ReplaceClass} +% \changes{v2.96}{2006/07/19}{added} % \begin{macro}{\@replacefilewithext} -% \changes{v2.96}{2006/07/19}{new helper command} +% \changes{v2.96}{2006/07/19}{added} % \changes{v3.32}{2020/09/09}{works global} % Note that replacing a package or class will not replace the input of the % file of the package or class but only the input of package or class. @@ -829,16 +789,13 @@ \@replacefilewithext{#1}{#2}\@clsextension } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@replacefilewithext +% \end{command}^^A\ReplacePackage,\ReplaceClass % -% \begin{macro}{\UnReplacePackage} -% \changes{v3.12}{2013/11/15}{new command} -% \begin{macro}{\UnReplaceClass} -% \changes{v3.12}{2013/11/15}{new command} +% \begin{command}{\UnReplacePackage,\UnReplaceClass} +% \changes{v3.12}{2013/11/15}{added} % \begin{macro}{\@unreplacefilewithext} -% \changes{v3.12}{2013/11/15}{new helper command}%^^A +% \changes{v3.12}{2013/11/15}{added} % \changes{v3.32}{2020/09/09}{works global} % Do not nolonger replace a class or package. % \begin{macrocode} @@ -854,32 +811,31 @@ \@unreplacefilewithext{#1}\@clsextension } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@unreplacefilewithext +% \end{command}^^A \UnReplacePackage,\UnReplaceClass % % % \subsection{Prevent Package from Loading} % -% \begin{macro}{\PreventPackageFromLoading} -% \changes{v3.08}{2010/11/04}{New} +% \begin{command}{\PreventPackageFromLoading} +% \changes{v3.08}{2010/11/04}{added} % \changes{v3.11a}{2012/06/13}{write fault error in \cs{MessageBreak} fixed} % \changes{v3.12}{2012/06/15}{new star version allowes empty argument with % info instead of warning} % \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \changes{v3.32}{2020/09/09}{works global} % \begin{macro}{\@PreventPackageFromLoading} -% \changes{v3.12}{2012/06/15}{New (internal)}%^^A +% \changes{v3.12}{2012/06/15}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\@@PreventPackageFromLoading} -% \changes{v3.12}{2013/11/22}{New (internal)}%^^A +% \changes{v3.12}{2013/11/22}{added} % \changes{v3.12}{2013/11/22}{\cs{usepackage} before \cs{documentclass} -% fixed}%^^A +% fixed} % \begin{macro}{\scrlfile@excludedpackages} -% \changes{v3.08}{2010/11/04}{New (internal)}%^^A +% \changes{v3.08}{2010/11/04}{added} % \begin{macro}{\scrlfile@saved@RequirePackage} -% \changes{v3.08}{2010/11/04}{New (internal)}%^^A +% \changes{v3.08}{2010/11/04}{added} % \begin{macrocode} \newcommand*{\scrlfile@excludedpackages}{} \let\scrlfile@excludedpackages\@empty @@ -934,8 +890,8 @@ % packages will be added to the exclusion list. Empty arguments will be % ignored. % \changes{v3.11a}{2012/06/11}{missing \cs{scrlfile@excludedpackages} at -% redefinition of \cs{scrlfile@excludedpackages} added}%^^A -% \changes{v3.26}{2018/08/29}{spurious \cs{expandafter} removed}%^^A +% redefinition of \cs{scrlfile@excludedpackages} added} +% \changes{v3.26}{2018/08/29}{spurious \cs{expandafter} removed} % \begin{macrocode} \@for\reserved@a:=\reserved@b\do {% \ifx\reserved@a\@empty @@ -983,11 +939,11 @@ } \@onlypreamble\PreventPackageFromLoading % \end{macrocode} -% \begin{macro}{\ResetPreventPackageFromLoading} -% \changes{v3.08}{2010/11/04}{New} +% \begin{command}{\ResetPreventPackageFromLoading} +% \changes{v3.08}{2010/11/04}{added} % \changes{v3.32}{2020/09/09}{works global} -% \begin{macro}{\StorePreventPackageFromLoading} -% \changes{v3.08}{2010/11/04}{New} +% \begin{command}{\StorePreventPackageFromLoading} +% \changes{v3.08}{2010/11/04}{added} % These two are very simple % \begin{macrocode} \newcommand*{\ResetPreventPackageFromLoading}{% @@ -1005,13 +961,13 @@ } \@onlypreamble\StorePreventPackageFromLoading % \end{macrocode} -% \begin{macro}{\UnPreventPackageFromLoading} -% \changes{v3.12}{2013/11/22}{New}%^^A +% \begin{command}{\UnPreventPackageFromLoading} +% \changes{v3.12}{2013/11/22}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% ersetzt} % \changes{v3.32}{2020/09/09}{works global} % \begin{macro}{\@UnPreventPackageFromLoading} -% \changes{v3.12}{2013/11/22}{New (internal)}%^^A +% \changes{v3.12}{2013/11/22}{added} % This removes packages from the prevent exclude list. The star variant also % undefines the instead code. % \begin{macrocode} @@ -1056,10 +1012,10 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \@UnPreventPackageFromLoading +% \end{command}^^A \UnPreventPackageFromLoading % \begin{macro}{\scrlfile@RequirePackage} -% \changes{v3.08}{2010/11/04}{New (internal)} +% \changes{v3.08}{2010/11/04}{added} % \changes{v3.12}{2013/11/22}{tolerate spaces} % \changes{v3.12}{2013/11/22}{execute the optional argument of % \cs{PreventPackageFromLoading}} @@ -1104,47 +1060,49 @@ \reserved@a } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scrlfile@RequirePackage +% \end{command}^^A \StorePreventPackageFromLoading +% \end{command}^^A \ResetPreventPackageFromLoading +% \end{macro}^^A \scrlfile@saved@RequirePackage +% \end{macro}^^A \scrlfile@excludedpackages +% \end{macro}^^A \@@PreventPackageFromLoading +% \end{macro}^^A \@PreventPackageFromLoading +% \end{command}^^A \PreventPackageFromLoading % % \begin{macro}{\scr@gobbleopt} -% \changes{v3.08}{2010/11/04}{New (internal)} +% \changes{v3.08}{2010/11/04}{added} % \changes{v3.08a}{2011/02/11}{\cs{@gobbleopt} renamed due to compaibility % problems with \texttt{ntheorem}} % Eat the optional argument if it exists. % \begin{macrocode} \providecommand{\scr@gobbleopt}[1][]{} % \end{macrocode} -% \end{macro} +% \end{macro}^^A \scr@gobbleopt % % \begin{macro}{\kernel@ifstar} -% \changes{v3.20}{2016/04/12}{New (internal)} +% \changes{v3.20}{2016/04/12}{added} % I hope, the \LaTeX{} kernel will define this command in future. But % nevertheless, there are \LaTeX{} kernels in real live without this % command. So I do it again if needed: % \begin{macrocode} \providecommand*\kernel@ifstar[1]{\kernel@ifnextchar*{\@firstoftwo{#1}}} % \end{macrocode} -% \end{macro}%^^A \kernel@ifstar +% \end{macro}^^A \kernel@ifstar % % % \subsection{Extra Document Hooks} % -% \begin{macro}{\BeforeClosingMainAux} -% \changes{v2.95}{2002/09/03}{new} -% \begin{macro}{\AfterReadingMainAux} -% \changes{v3.03}{2009/03/25}{new} +% \begin{command}{\BeforeClosingMainAux} +% \changes{v2.95}{2002/09/03}{added} +% \begin{command}{\AfterReadingMainAux} +% \changes{v3.03}{2009/03/25}{added} % These are completly different. First we have to establish a new hook % at \cs{end\{document\}}, just after closing the group and after the % final \cs{clearpage}. -% TODO: Handling/ignoring an optional argument to make them more compatible -% with \LaTeX's new \cs{AddToHook}. +% \begin{description} +% \item[ToDo:] Handling/ignoring an optional argument to make them more +% compatible with \LaTeX's new \cs{AddToHook}. +% \end{description} % \begin{macrocode} \AtEndDocument{% \let\scr@saved@checkend=\@checkend @@ -1168,23 +1126,23 @@ } % \end{macrocode} % \begin{macro}{\scr@saved@checkend} -% \changes{v2.95}{2002/09/03}{new (internal)} +% \changes{v2.95}{2002/09/03}{added} % \begin{macro}{\scr@saved@dofilelist} -% \changes{v3.03}{2009/03/25}{new} +% \changes{v3.03}{2009/03/25}{added} % You may see above, that we need save-to macros. % \begin{macrocode} \newcommand*{\scr@saved@checkend}{} \newcommand*{\scr@saved@dofilelist}{} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@saved@dofilelist +% \end{macro}^^A \scr@saved@checkend % \begin{macro}{\scr@redefine@newpage} -% \changes{v3.00}{2008/07/09}{new (internal)} -% Some classes (e.g. \textsf{letter}) write output to the aux file. +% \changes{v3.00}{2008/07/09}{added} +% Some classes (e.g. \cls{letter}) write output to the aux file. % Because of this, redefinition of \cs{newpage} will only be done, if % \cs{BeforeClosingMainAux} is used. % \begin{macro}{\scr@saved@newpage} -% \changes{v3.00}{2008/07/09}{new (internal)} +% \changes{v3.00}{2008/07/09}{added} % And \cs{newpage} will be restored after the hook. % \begin{macro}{\scr@restore@newpage} % \begin{macrocode} @@ -1221,21 +1179,21 @@ } \newcommand*{\scr@restore@newpage}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@restore@newpage +% \end{macro}^^A \scr@saved@newpage +% \end{macro}^^A \scr@redefine@newpage % \begin{macro}{\scr@hook@bcma} -% \changes{v2.95}{2002/09/03}{new (internal)} +% \changes{v2.95}{2002/09/03}{added} % \begin{macro}{\scr@hook@acma} -% \changes{v3.03}{2009/03/25}{new (internal)} +% \changes{v3.03}{2009/03/25}{added} % We also need macros, that saves the commands at the hooks and are % extendable using \cs{g@addto@macro}. % \begin{macrocode} \newcommand*{\scr@hook@bcma}{} \newcommand*{\scr@hook@acma}{} % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{macro}^^A \scr@hook@acma +% \end{macro}^^A \scr@hook@bcma % Now we are able to write the user command. Here we also warn, if we detect % one more \cs{newpage}\,---\,maybe at a \cs{clearpage} or % \cs{cleardoublepage}. @@ -1260,8 +1218,8 @@ \g@addto@macro\scr@hook@acma% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command}^^A \AfterReadingMainAux +% \end{command}^^A \BeforeClosingMainAux % % \begin{macro}{\protected@immediate@write} % Like \LaTeX{} kernel's |\protected@write| but using |\immediate\write|. In @@ -1279,18 +1237,15 @@ % \end{macrocode} % \end{macro} % -% \subsection{The \KOMAScript{} Logo} -% -% Last but not least this is a \KOMAScript{} package, so we also define the -% \KOMAScript{} logo: -% \begin{macrocode} -\RequirePackage{scrlogo} -% \end{macrocode} % % \Finale -% +% \PrintChanges % \endinput % Local Variables: % mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) % TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) % End: diff --git a/macros/latex/contrib/koma-script/source/scrlfile.dtx b/macros/latex/contrib/koma-script/source/scrlfile.dtx index c6d2029586..a9a65ef46a 100644 --- a/macros/latex/contrib/koma-script/source/scrlfile.dtx +++ b/macros/latex/contrib/koma-script/source/scrlfile.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlfile.dtx -% Copyright (c) Markus Kohm, 2002-2021 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the work `scrlfile' which is part of the LaTeX2e % KOMA-Script bundle. @@ -18,36 +18,15 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrlfile.dtx -% Copyright (c) Markus Kohm, 2002-2021 -% -% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des -% LaTeX2e KOMA-Script Pakets ist. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% -%%% From File: $Id: scrlfile.dtx 3625 2021-10-31 12:45:26Z kohm $ +%%% From File: $Id: scrlfile.dtx 3688 2022-02-10 08:26:37Z kohm $ %<*dtx> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-10-31 13:45:26 +0100 (Sun, 31 Oct 2021) $ + \filedate$Date: 2022-02-10 09:26:37 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 2631 $ + \filerevision$Revision: 3688 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrlfile.dtx}% @@ -69,6 +48,7 @@ \generate{\usepreamble\defaultpreamble \file{scrlfile.sty}{% \from{scrlfile.dtx}{package}% + \from{scrlogo.dtx}{logo}% }% } \batchinput{scrlfile-hook.dtx} @@ -78,27 +58,11 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass[parskip=half-]{scrdoc} -\usepackage[english]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrlfile.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \thanks{This file is revision \fileversion\ of file \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm\thanks{mailto:komascript@gmx.info}} - +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{1} \begin{document} - \maketitle - \begin{abstract} - This package is the compatibility layer over \texttt{scrlfile-hook} and - \texttt{scrlfile-patcholdlatex}. It provides package and class hook - handling independent from the used \LaTeX{} release. - \end{abstract} - - \tableofcontents - - \DocInput{\filename} + \DocInput{scrlfile.dtx} \end{document} %</dtx> % \fi^^A meta-comment @@ -106,44 +70,62 @@ % \changes{v2.95}{2002/06/11}{First version split from hugh scrclass.dtx} % \changes{v3.24}{2017/05/06}{standalone manual removed} % \changes{v3.32}{2020/09/11}{new implementation based on -% \texttt{scrlfile-hook} and \texttt{scrlfile-patcholdlatex}} +% \pkg*{scrlfile-hook} and \pkg*{scrlfile-patcholdlatex}} +% \changes{v3.36}{2022/02/03}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/03}{using \file{scrlogo.dtx} to define the logo} +% +% \GetFileInfo{scrlfile.dtx} +% \title{File Loading Hooks with \href{https://komascript.de}{\KOMAScript} +% Package \pkg*{scrlfile}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This package is the compatibility layer over \texttt{scrlfile-hook} and +% \texttt{scrlfile-patcholdlatex}. It provides package and class hook +% handling independent from the used \LaTeX{} release. +% \end{abstract} +% \tableofcontents % % % \section{User Manual} % -% For user manual see the \KOMAScript{} manual. Here you can find interim -% documentation only (before it is added to the \KOMAScript{} manual). +% You can find the user manual of \pkg*{scrlfile} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. +% Here you can find interim documentation only (before it is added to the +% \KOMAScript{} manual). % % \DescribeOption{withdeprecated} -% Package option \texttt{withdeprecated} enables the definition of deprecated +% Package option \opt{withdeprecated} enables the definition of deprecated % commands \cs{AfterClass+}, \cs{AfterPackage+}, \cs{AfterClass!} and % \cs{AfterPackage!}. All of them will be emulated by \cs{AfterAtEndOClass*} % and \cs{AfterAtEndOfPackage*} so they are not completely compatible with the % original deprecated commands. % % Users of classes or package, that use such deprecated commands can load -% \texttt{scrlfile} already before the class using: -% \begin{verbatim} +% \pkg*{scrlfile} already before the class using: +%\begin{verbatim} % \RequirePackage[withdeprecated]{scrlfile} -% \end{verbatim} -% or adding option \texttt{withdeprecated} to the global options of +%\end{verbatim}% +% or adding option \opt{withdeprecated} to the global options of % \cs{documentclass}. Note, this is not a key-value option. It cannot be -% changed after loading \texttt{scrlfile}. +% changed after loading \pkg*{scrlfile}. % +% \MaybeStop{\PrintIndex} % -% \StopEventually{\PrintIndex\PrintChanges} +% \section{Implementation of \pkg*{scrlfile}} % -% \section{Implementation of \textsf{scrlfile}} -% -% We either need to load one of these packages. +% We need to load one of the packages \pkg*{scrlfile-hook}, +% \pkg*{scrlfile-kook-3.34}, \pkg*{scrlfile-patcholdlatex}. % \changes{v3.33}{2021/02/09}{do not test for existence of \cs{AddToHook} any -% longer, but \cs{IfFormatAtLeastTF} and the format version}% +% longer, but \cs{IfFormatAtLeastTF} and the format version}% % We cannot do the decision by testing the existence of macro \cs{AddToHook}, -% because package \textsf{latexrelease} does not rollback to prior format -% versions good enough. Instead of undefining the macro an so really reverting -% to the definition of \LaTeX{} kernels prior to 2020/10/01 it only redefines -% it to a do-nothing macro. Because of this and similar issues with -% \textsf{latexrelease} cannot (or only with provision) be used to simulate a +% because package \pkg{latexrelease} does not rollback to prior format +% versions good enough. Instead of undefining the macro and so really +% reverting to the definition of \LaTeX{} kernels prior to 2020/10/01 it only +% redefines it to a do-nothing macro. Because of this and similar issues with +% \pkg{latexrelease} cannot (or only with provision) be used to simulate a % real old \LaTeX{} kernel, i.e. for testing. So the only valid test for the % existence of the wanted \cs{AddToHook} would be to test the definite % definition of \cs{AddToHook} and the existence of the hooks we are @@ -154,9 +136,10 @@ \RequirePackage{scrlfile-patcholdlatex}% \RequirePackage{xparse}% % \end{macrocode} -% \changes{v3.33}{2021/02/16}{workaround for \textsf{xparse} bug} -% Explicitly switch of \textsf{expl} syntax because of a -% \textsf{xparse-2020-10-01} bug in version 2020-02-02. +% \changes{v3.33}{2021/02/16}{workaround for \pkg{latexrelease} bug} +% Explicitly switch of \pkg{expl3} syntax because of a +% \pkg{latexrelease} bug related to the usage of \pkg{xparse-2020-10-01} in +% version 2020-02-02. % \changes{v3.35}{2021/10/31}{new variant because of \LaTeX{} kernel change} % \begin{macrocode} \ExplSyntaxOff @@ -171,8 +154,8 @@ \RequirePackage{scrlfile-patcholdlatex}% \RequirePackage{xparse}% % \end{macrocode} -% Explicitly switch of \textsf{expl} syntax because of a -% \textsf{xparse-2020-10-01} bug in version 2020-02-02. +% Explicitly switch of \pkg{expl3} syntax because of a +% \pkg{latexrelease} bug in version 2020-02-02. % \begin{macrocode} \ExplSyntaxOff }% @@ -180,19 +163,30 @@ % \end{macrocode} % % \begin{option}{withdeprecated} -% \changes{v3.32}{2020/09/11}{new option} -% Depending on this option we implement addition deprecated commands. +% \changes{v3.32}{2020/09/11}{added} +% Depending on this option we implement addition deprecated commands. % \begin{macrocode} \DeclareOption{withdeprecated}{% % \end{macrocode} % -% \begin{macro}{\AfterClass+} -% \begin{macro}{\AfterClass!} -% \cs{scrlfile@AfterClass} is used to store the original \cs{AfterClass}, -% before redefining \cs{AfterClass} to handle the plus and the exclamation -% mark variant. +% \begin{command}[noindex]{\AfterClass+,\AfterClass!} +% \cs{scrlfile@AfterClass} is used in the sub-packages to store the original +% \cs{AfterClass} and can be used to redefine \cs{AfterClass} to handle the +% plus and the exclamation mark variant. % \begin{macrocode} \RenewDocumentCommand\AfterClass{}{% +% \end{macrocode} +%^^A Hack for correct line numbers in the index: +%^^A - end environment, +%^^A - do index entries +%^^A - fix vertical spaces +%^^A - restart environment without printing and indexing +% \end{command} +% \SpecialMainCommandIndex{\AfterClass+} +% \SpecialMainCommandIndex{\AfterClass\quotechar!} +% \vskip-\dimexpr 2.2\baselineskip+\parskip\relax +% \begin{command}[noindex,noprint]{\AfterClass+,\AfterClass!} +% \begin{macrocode} \kernel@ifnextchar +% {\scrlfile@emulatedeprecated{Class}}% {% @@ -202,16 +196,26 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\AfterPackage+} -% \begin{macro}{\AfterPackage!} -% \cs{scrlfile@AfterPackage} is used to store the original \cs{AfterPackage}, -% before redefining \cs{AfterPackage} to handle the plus and the exclamation -% mark variant. +% \begin{command}[noindex]{\AfterPackage+,\AfterPackage!} +% \cs{scrlfile@AfterPackage} is used in the sub-packages to store the original +% \cs{AfterPackage} and can be used to redefine \cs{AfterPackage} to handle +% the plus and the exclamation mark variant. % \begin{macrocode} \RenewDocumentCommand\AfterPackage{}{% +% \end{macrocode} +%^^A Hack for correct line numbers in the index: +%^^A - end environment, +%^^A - do index entries +%^^A - fix vertical spaces +%^^A - restart environment without printing and indexing +% \end{command} +% \SpecialMainCommandIndex{\AfterPackage+} +% \SpecialMainCommandIndex{\AfterPackage\quotechar!} +% \vskip-\dimexpr 2.2\baselineskip+\parskip\relax +% \begin{command}[noindex,noprint]{\AfterPackage+,\AfterPackage!} +% \begin{macrocode} \kernel@ifnextchar +% {\scrlfile@emulatedeprecated{Package}}% {% @@ -221,11 +225,10 @@ }% } % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % % \begin{macro}{\scrlfile@emulatedeprecated} -% \changes{v3.32}{2020/09/11}{new internal command} +% \changes{v3.32}{2020/09/11}{added} % This emulates \cs{AfterClass+}, \cs{AfterPackage+}, \cs{AfterClass!} and % \cs{AfterPackage!} using \cs{AfterAtEndOfClass} or % \cs{AfterAtEndOfPackage}. Note, that both, the plus and the exclamation mark @@ -256,17 +259,15 @@ \ProcessOptions\relax % \end{macrocode} % -% Last but not least this is a \KOMAScript{} package, so we also define the -% \KOMAScript{} logo: -% \begin{macrocode} -\RequirePackage{scrlogo} -% \end{macrocode} -% % \Finale -% +% \PrintChanges +% % \endinput -% % Local Variables: % mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) % TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) % End: diff --git a/macros/latex/contrib/koma-script/source/scrlogo.dtx b/macros/latex/contrib/koma-script/source/scrlogo.dtx index ceea050dca..c2c05f1705 100644 --- a/macros/latex/contrib/koma-script/source/scrlogo.dtx +++ b/macros/latex/contrib/koma-script/source/scrlogo.dtx @@ -1,7 +1,7 @@ % \iffalse^^A meta-comment % ====================================================================== % scrlogo.dtx -% Copyright (c) Markus Kohm, 2002-2020 +% Copyright (c) Markus Kohm, 2002-2022 % % This work may be distributed and/or modified under the conditions of % the LaTeX Project Public License, version 1.3c of the license. @@ -15,31 +15,14 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of the file `scrlogo.dtx' at least. -% ---------------------------------------------------------------------- -% scrlogo.dtx -% Copyright (c) Markus Kohm, 2002-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht mindestens aus der Datei `scrlogo.dtx'. % ====================================================================== % -%%% From File: $Id: scrlogo.dtx 3527 2020-09-11 09:44:32Z kohm $ +%%% From File: $Id: scrlogo.dtx 3688 2022-02-10 08:26:37Z kohm $ %<*dtx> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2020-09-11 11:44:32 +0200 (Fri, 11 Sep 2020) $ + \filedate$Date: 2022-02-10 09:26:37 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} \filerevision$Revision: 2631 $ \edef\reserved@a{% @@ -72,56 +55,84 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass[parskip=half-]{scrdoc} -\usepackage[english,ngerman]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrlogo.dtx} -\title{\KOMAScript{} \partname\ \texttt{\filename}% - \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} -\date{\filedate} -\author{Markus Kohm} - +% Make it possible to load scrlogo.dtx directly. +\csname nodriver\endcsname +\expandafter\let\csname endnodriver\endcsname\relax +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \DocInput{\filename} + \DocInput{scrlogo.dtx} \end{document} +\endnodriver %</dtx> % \fi^^A meta-comment % -% \selectlanguage{ngerman} -% -% \StopEventually{\PrintIndex\PrintChanges} -% -% \iffalse -%<*logo> -% \fi -% -% \section{\KOMAScript{} Logo} -% -% \begin{macro}{\KOMAScript} -% Das \KOMAScript-Logo wird in allen \KOMAScript-Paketen und -Klassen -% definiert, falls es nicht bereits definiert ist. Dabei werden die -% Versalien moderat gesperrt. Es wird jedoch darauf verzichtet, die -% Versalien etwa einen Punkt kleiner zu setzen, da das Logo aktiv -% ausgezeichnet erscheinen soll. +% \changes{v3.36}{2022/02/02}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/02}{whole implementation documentation in English} +% +% \GetFileInfo{scrlogo.dtx} +% \title{\href{https://komascript.de}{\KOMAScript} \partname\ \file{\filename}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This part of \KOMAScript{} provides not only the \cs{KOMAScript} command +% for all \KOMAScript{} classes and packages, but also a standalone package +% to provide the logo. +% \end{abstract} +% \tableofcontents +% +% \section{User Manual} +% +% You can find the user manual of \pkg*{scrlogo} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. +% +% \MaybeStop{\PrintIndex} +% +% \section{Implementation of the \KOMAScript{} Logo} +% +% \begin{command}{\KOMAScript} +% \changes{v3.36}{2022/02/02}{respect \pkg{hyperref}} +% \changes{v3.36}{2022/02/02}{other packages and classes load \pkg*{scrlogo} +% instead of defining the command itself} +% From version~3.36, the letter spacing of the upper case letters is not used +% in PDF context of package \pkg{hyperref}. % \begin{macrocode} +%<*logo> +%<forcedefine>\IfFileExists{scrlogo.sty}{% +%<!package>\RequirePackage{scrlogo} +%<forcedefine>}{}% +%<*(package|forcedefine)&logo> \@ifundefined{KOMAScript}{% - \DeclareRobustCommand{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% - M\kern.05em A\kern.1em-\kern.1em Script}}}{} + \DeclareRobustCommand*{\KOMAScript}{\textsf{K\kern.05em O\kern.05em% + M\kern.05em A\kern.1em-\kern.1em Script}}% + \@ifundefined{pdfstringdefPreHook}{% + \def + }{% + \g@addto@macro + }% + \pdfstringdefPreHook{% + \def\KOMAScript{KOMA-Script}% + \expandafter\def\csname KOMAScript \endcsname{KOMA-Script}% + }% +}{} +%</(package|forcedefine)&logo> +%</logo> % \end{macrocode} -% \end{macro} +% \end{command} % % \Finale -% -% \iffalse -%</logo> -% \fi +% \PrintChanges % \endinput -% -% end of file `scrlogo.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: + diff --git a/macros/latex/contrib/koma-script/source/scrmain.ins b/macros/latex/contrib/koma-script/source/scrmain.ins index e53a87c791..0a7c568745 100644 --- a/macros/latex/contrib/koma-script/source/scrmain.ins +++ b/macros/latex/contrib/koma-script/source/scrmain.ins @@ -1,6 +1,6 @@ % ====================================================================== % scrmain.ins -% Copyright (c) Markus Kohm, 2002-2020 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,26 +16,9 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrmain.ins -% Copyright (c) Markus Kohm, 2002-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% $Id: scrmain.ins 3527 2020-09-11 09:44:32Z kohm $ +% $Id: scrmain.ins 3696 2022-02-11 09:45:27Z kohm $ % ---------- KOMA-Script default docstrip declarations ----------------- @@ -90,7 +73,7 @@ } \generate{\usepreamble\defaultpreamble -% \file{scrbook.cls}{% +% \file{scrbook.cls}{% commented (long version is same as short version below) % \from{scrkernel-version.dtx}{class,book,long}% % }% \file{scrreport.cls}{% @@ -302,7 +285,7 @@ \from{scrkernel-footnotes.dtx}{class,letter,option}% \from{scrkernel-listsandtabulars.dtx}{class,letter,option}% \from{scrkernel-notepaper.dtx}{class,letter,option}% - \from{scrkernel-circularletters.dtx}{class,letter,option}% + \from{scrkernel-addressfiles.dtx}{class,letter,option}% \from{scrkernel-miscellaneous.dtx}{class,letter,execoption}% \from{scrkernel-compatibility.dtx}{class,letter,body}% \from{scrkernel-fonts.dtx}{class,letter,body}% @@ -318,7 +301,7 @@ \from{scrkernel-footnotes.dtx}{class,letter,body}% \from{scrkernel-listsandtabulars.dtx}{class,letter,body}% \from{scrkernel-notepaper.dtx}{class,letter,body}% - \from{scrkernel-circularletters.dtx}{class,letter,body}% + \from{scrkernel-addressfiles.dtx}{class,letter,body}% \from{scrlogo.dtx}{logo}% }% } @@ -344,7 +327,7 @@ % \from{scrkernel-footnotes.dtx}{package,letter,option}% % \from{scrkernel-listsandtabulars.dtx}{package,letter,option}% \from{scrkernel-notepaper.dtx}{package,letter,option}% - \from{scrkernel-circularletters.dtx}{package,letter,option}% + \from{scrkernel-addressfiles.dtx}{package,letter,option}% \from{scrkernel-miscellaneous.dtx}{package,letter,execoption}% % \from{scrkernel-compatibility.dtx}{package,letter,body}% \from{scrkernel-fonts.dtx}{package,letter,body}% @@ -360,7 +343,7 @@ % \from{scrkernel-footnotes.dtx}{package,letter,body}% % \from{scrkernel-listsandtabulars.dtx}{package,letter,body}% \from{scrkernel-notepaper.dtx}{package,letter,body}% - \from{scrkernel-circularletters.dtx}{package,letter,body}% + \from{scrkernel-addressfiles.dtx}{package,letter,body}% \from{scrlogo.dtx}{logo}% }% }% @@ -434,45 +417,6 @@ % } \generate{\usepreamble\defaultpreamble - \file{NipponEL.lco}{% - \from{scrkernel-version.dtx}{trace}% - \from{japanlco.dtx}{lco,Ni,EARLY,LOW,head}% - \from{japanlco.dtx}{lco,Ni,EARLY,LOW,body}% - }% - \file{NipponEH.lco}{% - \from{scrkernel-version.dtx}{trace}% - \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,head}% - \from{japanlco.dtx}{lco,Ni,EARLY,HIGH,body}% - }% - \file{NipponLL.lco}{% - \from{scrkernel-version.dtx}{trace}% - \from{japanlco.dtx}{lco,Ni,LATE,LOW,head}% - \from{japanlco.dtx}{lco,Ni,LATE,LOW,body}% - }% - \file{NipponLH.lco}{% - \from{scrkernel-version.dtx}{trace}% - \from{japanlco.dtx}{lco,Ni,LATE,HIGH,head}% - \from{japanlco.dtx}{lco,Ni,LATE,HIGH,body}% - }% - \file{NipponRL.lco}{% - \from{scrkernel-version.dtx}{trace}% - \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,head}% - \from{japanlco.dtx}{lco,Ni,RIGHT,LOW,body}% - }% - \file{KakuLL.lco}{% - \from{scrkernel-version.dtx}{trace}% - \from{japanlco.dtx}{lco,Kaku,LATE,LOW,head}% - \from{japanlco.dtx}{lco,Kaku,LATE,LOW,body}% - }% -}% - -%\generate{\usepreamble\defaultpreamble -% \file{scrhack.tex}{% -% \from{scrhack.dtx}{manual}% -% }% -%} - -\generate{\usepreamble\defaultpreamble \file{scrkbase.sty}{% \from{scrkernel-version.dtx}{package,scrkbase}% \from{scrkernel-basics.dtx}{package,prepare,koma}% @@ -486,6 +430,7 @@ % --- additional package batches (maybe used with other classes, too) -- +\batchinput{japanlco.dtx}% several Japanese lco-files \batchinput{scrlogo.dtx}% scrlogo.sty \batchinput{scrkernel-typearea.dtx}% typearea.sty \batchinput{scrkernel-basics.dtx}% scrbase.sty diff --git a/macros/latex/contrib/koma-script/source/scrsource.tex b/macros/latex/contrib/koma-script/source/scrsource.tex index b68831469b..9bd9db4675 100644 --- a/macros/latex/contrib/koma-script/source/scrsource.tex +++ b/macros/latex/contrib/koma-script/source/scrsource.tex @@ -1,6 +1,6 @@ % ====================================================================== % scrsource.tex -% Copyright (c) Markus Kohm, 2002-2019 +% Copyright (c) Markus Kohm, 2002-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,24 +16,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrsource.tex -% Copyright (c) Markus Kohm, 2002-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== +% $Id: scrsource.tex 3748 2022-03-09 10:02:51Z kohm $ % Try to get the version of KOMA-Script from scrkernel-version.dtx. \begingroup @@ -46,91 +30,108 @@ } \expandafter \ParseKOMAScriptVersion\KOMAScriptVersion\ParseKOMAScriptVersion - \gdef\filename{\jobname} + \gdef\filename{\jobname.tex} \endgroup +\edef\releaselink{https://sf.net/p/koma-script/code/HEAD/tree/tags/release-\fileversion} +\edef\releaseurl{\noexpand\url{\releaselink}} + \ProvidesFile{scrsource.tex}[\KOMAScriptVersion (source)] -\documentclass{scrdoc} -\usepackage[T1]{fontenc} -\usepackage{lmodern} -\usepackage[english,ngerman]{babel} -\newcommand*{\Environment}[1]{\texttt{\mbox{#1}}} -\CodelineIndex -\RecordChanges\setcounter{GlossaryColumns}{1} -\title{\KOMAScript{} -- The Source\footnote{Ich weiß natürlich, dass ein - Englischer Titel eines vorwiegend deutschsprachigen Dokuments ein - wenig eigentümlich ist, aber "`\KOMAScript{} -- Der - Quelltext"' wollte mir einfach nicht gefallen.}% -} -\date{\filedate\\[1ex] Version \fileversion} +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{alltt} + +\title{\KOMAScript\,---\,The Source} +\date{Version \fileversion{} of \filedate} \author{Markus Kohm} \begin{document} - \maketitle - \begin{abstract}\noindent - In diesem Dokument finden Sie \emph{nicht} die Anleitung zu - \KOMAScript{}. Wenn Sie diese suchen, dann suchen Sie bitte nach - \texttt{scrguide} (Deutsch) oder \texttt{scrguien} (Englisch). In - diesem Dokument ist die Implementierung von \KOMAScript{} -- in - erster Linie der \KOMAScript{}-Klassen -- dokumentiert. - \end{abstract} - \tableofcontents - - \clearpage - \addsec{Vorwort} - - Sie finden im Folgenden die Dokumentation der Implementierung von - \KOMAScript. Diese kann für Paketautoren von Interesse sein. Bevor - ein Paketautor ein Makro umdefiniert oder ein internes Makro - verwendet, sollte er jedoch Rücksprache mit dem Autor von - \KOMAScript{} halten, damit so weit wie möglich sichergestellt ist, - dass bei zukünftigen Versionen von \KOMAScript{} die notwendige - Kompatibilität erhalten bleibt oder der Paketautor über notwendige - Änderungen an den entsprechenden Makros informiert wird. - - Teile der Dokumentation sind in Englisch. Der größte Teil ist jedoch - in Deutsch. - - Der Quelltext ist in logische Gruppen eingeteilt und in dieser Form - dokumentiert. Die Reihenfolge in der Dokumentation entspricht jedoch - \emph{nicht} der Reihenfolge des Codes in den Klassen und Paketen. - - \DocInclude{scrkernel-version} - \DocInclude{scrkernel-basics} -% \DocInclude{tocbasic} - \DocInclude{scrkernel-miscellaneous} - \DocInclude{scrkernel-language} - \DocInclude{scrkernel-fonts} - \DocInclude{scrkernel-typearea} - \DocInclude{scrkernel-floats} - \DocInclude{scrkernel-footnotes} - \DocInclude{scrkernel-pagestyles} - \DocInclude{scrkernel-paragraphs} - \DocInclude{scrkernel-title} - \DocInclude{scrkernel-sections} - \DocInclude{scrkernel-listsof} - \IfFileExists{scrkernel-tocstyle.dtx}{\DocInclude{scrkernel-tocstyle}}{} - \DocInclude{scrkernel-bibliography} - \DocInclude{scrkernel-index} - \DocInclude{scrkernel-listsandtabulars} - \DocInclude{scrlfile} - \DocInclude{scrlogo} - \DocInclude{scrkernel-compatibility} - \DocInclude{scrkernel-notepaper} - \DocInclude{scrkernel-variables} - \DocInclude{scrkernel-pseudolengths} - \DocInclude{scrkernel-letterclassoptions} - \DocInclude{japanlco} - \DocInclude{scrkernel-circularletters} - \DocInclude{scrextend} - \DocInclude{scrhack} - - \PrintIndex - \PrintChanges +\maketitle +\begin{abstract} + Formerly this was the implementation documentation of the whole + \KOMAScript. But currently it is a dummy only, that explains how to make the + implementation documentation from \KOMAScript{} v3.36 or newer. +\end{abstract} + +\addsec{How to Make the Implementation Documentation} + +To make the implementation documentation you either can use \file{l3build} to +make all files at once or do all the work step by step manually. + +To be able to use \file{l3build} you need the original sources from +SourceForge. Best is, to use \file{subversion} to check out the sources of the +release you are currently using. If you, e.g., use \KOMAScript{} v\fileversion +you can checkout \releaseurl{} using: +\begin{alltt}\small +svn co \releaseurl koma-script-\fileversion +\end{alltt} +within a terminal window. Note: You have to make sure, that the Subversion +command line client \file{svn} is installed before. + +This will copy the whole source of the release to a new directory +\file{koma-script-\fileversion}. Change to the directory and run: +\begin{verbatim} +l3build doc +\end{verbatim} +This will make a lot of new PDF files with the implementation documentation of +all the source files of \KOMAScript. + +If you cannot use \file{l3build}, e.g., because you cannot checkout the +sources from SourceForge, you can just use an already installed legal +distribution of \KOMAScript. In this case: +\begin{itemize} +\item Copy all \file{*.dtx} files from the source directory of the installed + \KOMAScript{} to a new directory where you have the right to write to. +\item Open the first of these files, e.g., \file{koma-script-source-doc.dtx}, + into your preferred \LaTeX{} editor and \emph{compile} the file using + \file{lualatex-dev}. If you have already installed \LaTeX{} 2022/06/01 you + can also use \file{lualatex} instead of \file{lualatex-dev}. + + Instead of using your \LaTeX{} editor, you can also use +\begin{verbatim} +lualatex-dev koma-script-source-doc.dtx +\end{verbatim} + from a terminal. If you get an error because of missing + \file{koma-script-source-doc.cls}, you do not have a correctly installed + \KOMAScript. However, you can generate the class using +\begin{verbatim} +tex koma-script-source-doc.dtx +\end{verbatim} + Note: You really have to use either \file{tex}, \file{pdftex}, \file{luatex} + or \file{xetex} for this step and not \file{latex}, \file{pdflatex}, + \file{lualatex} or \file{xelatex}! + + If you want the index and the changes, you also have to run +\begin{verbatim} +makeindex -s gind.ist koma-script-source-doc +makeindex -s gglo.ist -o koma-script-source-doc.gls koma-script-source.doc.glo +\end{verbatim} + and also repeat the \file{lualatex-dev} and the two \file{makeindex} runs at + least three or four times. +\item Repeat the last step for every \file{*.dtx} file replacing the + \file{koma-script-source-doc} by the base name of the corresponding + \file{*.dtx} file. +\end{itemize} + +As you can see, using \file{l3build} is much easier. + +\addsec{How to Make the Implementation Documentation \KOMAScript{} before 3.36} + +In case of using an older \KOMAScript{} release, you have to check out the +older release (see above) and run: +\begin{verbatim} +make scrsource.pdf +\end{verbatim} +But this can be used with a Linux like build system using GNU make only. And +note: The implementation documentation of \KOMAScript{} up to version 3.35 was +generally in German. + \end{document} -% -% end of file `scrsource.tex' -%%% Local Variables: -%%% mode: latex -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: latex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrtime.dtx b/macros/latex/contrib/koma-script/source/scrtime.dtx index 9829fe01ce..5626f14692 100644 --- a/macros/latex/contrib/koma-script/source/scrtime.dtx +++ b/macros/latex/contrib/koma-script/source/scrtime.dtx @@ -1,8 +1,7 @@ -% \CheckSum{311} % \iffalse % ====================================================================== % scrtime.dtx -% Copyright (c) Markus Kohm, 1995-2019 +% Copyright (c) Markus Kohm, 1995-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -18,52 +17,16 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% scrtime.dtx -% Copyright (c) Markus Kohm, 1995-2019 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrtime.dtx 3256 2019-10-10 07:06:49Z kohm $ +%%% From File: $Id: scrtime.dtx 3688 2022-02-10 08:26:37Z 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: 2019-10-10 09:06:49 +0200 (Thu, 10 Oct 2019) $ + \filedate$Date: 2022-02-10 09:26:37 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 3256 $ + \filerevision$Revision: 3688 $ \endgroup \ProvidesFile{scrtime.dtx}[\filedate\space\filerevision\space %</driver> @@ -111,63 +74,71 @@ \endbatchfile %</dtx> %<*driver> -\documentclass{scrdoc} -\usepackage[german,english]{babel} -\CodelineIndex -\RecordChanges -\GetFileInfo{scrtime.dtx} -\title{The \textsf{KOMA}-timedate-bundle\thanks{This file has - revision number \fileversion, last revised \filedate.}} -\author{Markus Kohm} -\date{\filedate} +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} - \maketitle - \begin{abstract} - This bundle includes a package \texttt{scrtime} defining some macros to - handle compilation-time. It's a very simple implementation similar to - \texttt{time.sty}. I've tried to use no additional register. - - The second package \texttt{scrdate} defines some macros to handle the name - of the day! - \end{abstract} - \tableofcontents \DocInput{scrtime.dtx} \end{document} %</driver> % \fi % +% \changes{v3.36}{2022/02/07}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/07}{require package \pkg*{scrlogo} instead of +% defining \cs{KOMAScript}} +% +% \GetFileInfo{scrtime.dtx} +% \title{The Current Time and Name of the Day with +% \href{https://komascript.de}{\KOMAScript} Packages \pkg*{scrtime} and +% \pkg*{scrdate}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% This bundle includes a package \pkg*{scrtime} defining some macros to +% handle compilation-time. It's a very simple implementation similar to +% \pkg{time}. I've tried to not use additional registers. +% +% The second package \pkg*{scrdate} defines some macros to handle the name +% of the day! +% \end{abstract} % \tableofcontents % -% \section{Introduction} +% \section{User Manual} % -% See the \KOMAScript{} guide for informations about how to use the package. +% You can find the user manuals of \pkg*{scrtime} and \pkg*{scrdate} in the +% \KOMAScript{} manual, either the German \file{scrguide} or the English +% \file{scrguien}. % -% \StopEventually{\PrintIndex\PrintChanges} +% \MaybeStop{\PrintIndex} % % \section{Implementation} % % \subsection{Options} % -% \iffalse +% Since version~1.2 both packages use \pkg*{scrkbase} for options and +% additional features. This is loaded by the \file{ins}-file, so we don't need +% to load it here. +% +% \begin{macrocode} %<*option> -% \fi -% Since version~1.2 both packages use \textsf{scrkbase} for options and -% additional features. +% \end{macrocode} % % -% \subsubsection{Options of \textsf{scrtime}} +% \subsubsection{Options of \pkg*{scrtime}} % -% \iffalse +% \begin{macrocode} %<*scrtime> -% \fi +% \end{macrocode} % % \begin{option}{12h} -% \changes{v1.1b}{1995/02/15}{Option \texttt{12h} added.} -% \changes{v1.2}{2010/03/10}{Option uses \textsf{scrkbase}.} +% \changes{v1.1b}{1995/02/15}{Option \opt{12h} added.} +% \changes{v1.2}{2010/03/10}{Option uses \pkg*{scrkbase}.} % \begin{option}{24h} -% \changes{v1.1b}{1995/02/15}{Option \texttt{24h} added.} +% \changes{v1.1b}{1995/02/15}{Option \opt{24h} added.} % \changes{v1.2}{2010/03/10}{Option is deprecated.} -% \begin{macro}{\if@Hxii} +% \begin{macro}{\if@Hxii,\@Hxiitrue,\@Hxiifalse} % \changes{v1.1b}{1995/02/15}{new switch} % There are two the two Options |24h| and |12h|. We need a switch to % distinguish. @@ -175,8 +146,7 @@ \newif\if@Hxii % \end{macrocode} % \end{macro} -% -% So the Options are simple. +% So the options are simple. % \begin{macrocode} \KOMA@ifkey{12h}{@Hxii} \KOMA@DeclareDeprecatedOption[scrtime]{24h}{12h=false} @@ -184,35 +154,37 @@ % \end{option} % \end{option} % -% Currently only \textsf{scrtime} uses options, so only \textsf{scrtime} needs +% Currently only \pkg*{scrtime} uses options, so only \pkg*{scrtime} needs % to process them. % \begin{macrocode} \KOMAProcessOptions\relax % \end{macrocode} % -% \iffalse +% \begin{macrocode} %</scrtime> +% \end{macrocode} +% +% \begin{macrocode} %</option> -% \fi +% \end{macrocode} % -% \subsection{Macros} % -% \iffalse +% \subsection{Commands and Macros} +% +% \begin{macrocode} %<*body> -% \fi +% \end{macrocode} +% +% \subsubsection{Commands and Macros of \pkg*{scrtime}} % -% \subsubsection{Macros of \textsf{scrtime}} -% \iffalse +% \begin{macrocode} %<*scrtime> -% \fi -% We use |\@tempcnta| and |\@tempcntb| but we know, that this is not -% a very good idea. -% -% \begin{macro}{\thistime} -% \changes{v1.1b}{1995/02/15}{{\cmd\thistime*} added.}%^^A -% \changes{v1.1b}{1995/02/15}{{\cmd\thistime} works.}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \end{macrocode} +% +% \begin{command}{\thistime} +% \changes{v1.1b}{1995/02/15}{\cs{thistime*} added} +% \changes{v1.1b}{1995/02/15}{\cs{thistime} fixed} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % First we have to decide, is it a star-version ore not. % \begin{macrocode} \def\thistime{% @@ -220,8 +192,11 @@ {\let\@tempif\iffalse\@thistime} {\let\@tempif\iftrue\@thistime}} % \end{macrocode} -% Know we have to calculate the hours and minutes. |\@tempcnta| are the -% hours and |\@tempcntb| are the minutes. +% \begin{macro}{\@thistime} +% \changes{v1.1b}{1995/02/15}{added} +% Know we have to calculate the hours and minutes. \cs{@tempcnta} are the +% hours and \cs{@tempcntb} are the minutes. We use a group to encapsulate the +% usage of the two local counters of from the \LaTeX{} kernel. % \begin{macrocode} \newcommand*{\@thistime}[1][:]{% \begingroup @@ -230,8 +205,8 @@ \divide\@tempcnta60 % \end{macrocode} % If we use 12h-mode, we have to cut the houres. -% \changes{v1.1d}{1996/01/14}{Space added at \cs{@thistime} between -12 -% and \cs{fi} (Martin Schroeder).} +% \changes{v1.1d}{1996/01/14}{space added at \cs{@thistime} between -12 +% and \cs{fi} (Martin Schroeder)} % \begin{macrocode} \if@Hxii\ifnum\@tempcnta>12 \advance\@tempcnta-12 \fi\fi % \end{macrocode} @@ -241,56 +216,57 @@ \the\@tempcnta{#1}\@tempif\ifnum\@tempcntb<10 0\fi\fi\the\@tempcntb% \endgroup} % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\settime} -% \changes{v1.1b}{1995/02/15}{{\cmd\settime} redefines {\cmd\@thistime}} +% \end{macro} +% \end{command} +% +% \begin{command}{\settime} +% \changes{v1.1b}{1995/02/15}{redefines \cs{@thistime}} % \changes{v1.1c}{1995/05/24}{missing macrocode-environment inserted} -% We simply have to set |\thistime|. +% We simply have to set \cs{@thistime}. % \begin{macrocode} \newcommand*{\settime}[1]{\renewcommand*{\@thistime}[1][]{#1}} % \end{macrocode} -% \end{macro} +% \end{command} % % -% \iffalse +% \begin{macrocode} %</scrtime> -% \fi -% +% \end{macrocode} +% % -% \subsubsection{Macros of \textsf{scrdate}} +% \subsubsection{Commands and Macros of \pkg*{scrdate}} % -% \iffalse +% \begin{macrocode} %<*scrdate> -% \fi -% -% \changes{v1.1a}{1995/02/12}{Changed simply all but the user-interface.} -% \changes{v3.05a}{2010/03/10}{Changed simply everything.} -% Since version~3.05a \textsf{scrdate} was rewritten. First step was to make +% \end{macrocode} +% +% \changes{v1.1a}{1995/02/12}{changed all but the user-interface} +% \changes{v3.05a}{2010/03/10}{changed everything} +% With version~3.05a \pkg*{scrdate} was rewritten. First step was to make % more macros full expandable to provide \cs{MakeUppercase} and % \cs{MakeLowercase}. Second was to extend the user interface by some new % functionality. % -% \begin{macro}{\CenturyPart} -% \changes{v3.05a}{2010/03/10}{New} +% \begin{command}{\CenturyPart} +% \changes{v3.05a}{2010/03/10}{added} % This is the century part of a year number and so only a shortcut to -% |\XdivY{...}{100}|, that is defined at \textsf{scrbase}. +% |\XdivY{...}{100}|, that is defined at \pkg*{scrbase}. % \begin{macrocode} \newcommand*{\CenturyPart}[1]{\XdivY{#1}{100}} % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DecadePart} -% \changes{v3.05a}{2010/03/10}{New} +% \end{command} +% +% \begin{command}{\DecadePart} +% \changes{v3.05a}{2010/03/10}{added} % This is the year number withoud the century part and therefrso only a -% shortcut to |\XmodY{...}{100}|, that is defined at \textsf{scrbase}. +% shortcut to |\XmodY{...}{100}|, that is defined at \pkg*{scrbase}. % \begin{macrocode} \newcommand*{\DecadePart}[1]{\XmodY{#1}{100}} % \end{macrocode} -% \end{macro} -% +% \end{command} +% % \begin{macro}{\@GaussYear} -% \changes{v3.05a}{2010/03/10}{New (internal)} +% \changes{v3.05a}{2010/03/10}{added} % At the Gauss calculation of the day of the week January and February relates % to the year before. This macro does the correction for any date. % \begin{macrocode} @@ -310,8 +286,8 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\DayNumber} -% \changes{v3.05a}{2010/03/10}{New} +% \begin{command}{\DayNumber} +% \changes{v3.05a}{2010/03/10}{added} % Returns the numerical value of the day of week. Note, that Sunday is 0, % Monday is 1, \dots, Saturday is 6. We use the Gauss calculation of the day % of the week. First argument is the year, second the month and last the day @@ -338,93 +314,93 @@ }{7}% } % \end{macrocode} -% \end{macro} -% \begin{macro}{\ISODayNumber} -% \changes{v3.05a}{2010/03/10}{New} -% Das gleiche wie \cs{DayNumber} aber mit einem ISO-Datum als Argument. +% \end{command} +% \begin{command}{\ISODayNumber} +% \changes{v3.05a}{2010/03/10}{added} +% The same like \cs{DayNumber} but with ISO date argument. % \begin{macrocode} \newcommand*{\ISODayNumber}[1]{\expandafter\@IsoDayNumber#1\@nil} % \end{macrocode} % \begin{macro}{\@IsoDayNumber} -% \changes{v3.05a}{2010/03/10}{New (internal)} +% \changes{v3.05a}{2010/03/10}{added} % \begin{macrocode} \newcommand*{\@IsoDayNumber}{} \def\@IsoDayNumber#1-#2-#3\@nil{\DayNumber{#1}{#2}{#3}} % \end{macrocode} % \end{macro} -% \end{macro} -% -% \begin{macro}{\DayName} -% \changes{v3.05a}{2010/03/10}{New} +% \end{command} +% +% \begin{command}{\DayName} +% \changes{v3.05a}{2010/03/10}{added} % Returns the name of the day of the week. Arguments like \cs{DayNumber}. % \begin{macrocode} \newcommand*{\DayName}[3]{\@dayname{\DayNumber{#1}{#2}{#3}}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\ISODayName} -% \changes{v3.05a}{2010/03/10}{New} -% Das gleiche wie \cs{DayName} aber mit einem ISO-Datum als Argument. +% \end{command} +% \begin{command}{\ISODayName} +% \changes{v3.05a}{2010/03/10}{added} +% The same like \cs{DayName} but with ISO date argument. % \begin{macrocode} \newcommand*{\ISODayName}[1]{\@dayname{\ISODayNumber{#1}}} % \end{macrocode} -% \end{macro} -% -% \begin{macro}{\DayNameByNumber} -% \changes{v3.05a}{2010/03/10}{New} +% \end{command} +% +% \begin{command}{\DayNameByNumber} +% \changes{v3.05a}{2010/03/10}{added} % Returns the name of the day of the week. The argument is a number that will -% be transposed to the range 0..6. +% be transposed to the range 0\dots6. % \begin{macrocode} \newcommand*{\DayNameByNumber}[1]{% \@dayname{\XmodY{#1}{7}}% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\ISOToday} -% \changes{v3.05a}{2010/03/10}{New} +% \begin{command}{\ISOToday} +% \changes{v3.05a}{2010/03/10}{added} % Returns the ISO date. % \begin{macrocode} \newcommand*{\ISOToday}{% \the\year-\ifnum \month<10 0\fi\the\month-\ifnum \day<10 0\fi\the\day% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\IsoToday} -% \changes{v3.05a}{2010/03/10}{New} +% \begin{command}{\IsoToday} +% \changes{v3.05a}{2010/03/10}{added} % Returns the ISO date. % \begin{macrocode} \newcommand*{\IsoToday}{% \the\year-\the\month-\the\day% } % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\todaysname} -% \changes{v3.05a}{2010/03/10}{Rewritten} +% \begin{command}{\todaysname} +% \changes{v3.05a}{2010/03/10}{re-implemented} % Using \cs{DayName} this is very, very simple. % \begin{macrocode} \newcommand*{\todaysname}{\DayName{\year}{\month}{\day}} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\todaysnumber} -% \changes{v3.05a}{2010/03/11}{New} +% \begin{command}{\todaysnumber} +% \changes{v3.05a}{2010/03/11}{added} % Using \cs{DayNumber} this is very, very simple. % \begin{macrocode} \newcommand*{\todaysnumber}{\DayNumber{\year}{\month}{\day}} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\nameday} -% \changes{v3.05a}{2010/03/10}{Not longer \cs{long}} -% We simply have to redefine |\todaysname| +% \begin{command}{\nameday} +% \changes{v3.05a}{2010/03/10}{no longer \cs{long}} +% We simply have to redefine \cs{todaysname}. % \begin{macrocode} \newcommand\nameday[1]{\renewcommand*{\todaysname}{#1}} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\newdaylanguage} +% \begin{command}{\newdaylanguage} % \changes{v3.05a}{2010/03/10}{Sunday is 0} % We write a macro to define the name of the days. % \begin{macro}{\scrdate@languagenamewarning} @@ -452,11 +428,11 @@ \PackageInfoNoLine{scrdate}{Language #1\space not defined.\MessageBreak \protect\dayname@#1\space skipped}% % \end{macrocode} -% \changes{v1.1c}{1995/05/24}{missing \cs{end\{macrocode\}} added.} +% \changes{v1.1c}{1995/05/24}{missing \cs{end\{macrocode\}} added} % If it is defined, we define the name-selection-macro -% |\dayname@|\emph{language}. -% First we define the new macro |\dayname@|\emph{language}: -% \changes{v3.05a}{2010/03/10}{Group removed.} +% \cs{dayname@\meta{language}}. +% First we define the new macro \cs{dayname@\meta{language}}: +% \changes{v3.05a}{2010/03/10}{group removed} % \changes{v3.15}{2014/12/11}{more robust \cs{ifcase}} % \begin{macrocode} }{% @@ -465,12 +441,12 @@ #8\or #2\or #3\or #4\or #5\or #6\or #7\fi% }% % \end{macrocode} -% Then we define, what to do at |\begin{document}|: +% Then we define, what to do at \cs{begin\{document\}}: % \begin{macrocode} \AtBeginDocument{% % \end{macrocode} -% There we first have to test, if |\date|\emph{language} is defined -% (e.g. using |german.sty|). If not, we have to warn once more. +% There we first have to test, if \cs{date\meta{language}} is defined +% (e.g. using package \pkg{german}). If not, we have to warn once more. % \begin{macrocode} \scr@ifundefinedorrelax{date#1}{% \PackageInfoNoLine{scrdate} @@ -482,21 +458,19 @@ % \begin{macrocode} }{% % \end{macrocode} -% There we first save |\date|\emph{language} as |\D@date|\emph{language}. -% This is a bit tricky, but I think, you'll understand it. +% There we first save \cs{date\meta{language}} as \cs{D@date\meta{language}}. % \begin{macrocode} \expandafter\let\csname D@date#1\expandafter\endcsname \csname date#1\endcsname % \end{macrocode} -% Now we redefine |\date|\emph{language}. It first defines |\@dayname| and -% then calls saved macro. If you've understand the definition before, you'll -% understand this tricky one, too. +% Now we redefine \cs{date\meta{language}}. It first defines \cs{@dayname} and +% then calls saved macro. % \begin{macrocode} \@namedef{date#1}{% \expandafter\let\expandafter\@dayname\csname dayname@#1\endcsname \@nameuse{D@date#1}}% % \end{macrocode} -% Last we have to select this new |\date|\emph{language}. +% Last we have to select this new \cs{date\meta{language}}. % \changes{v1.1j}{2000/01/20}{use of \cs{languagename} if defined} % \changes{v3.08b}{2011/03/31}{one \% added} % \begin{macrocode} @@ -515,13 +489,14 @@ }% } % \end{macrocode} -% \end{macro} -% +% \end{command} +% % \begin{macro}{\@dayname} % This should be named selecting the language. Since I changed the definitions -% |german.sty| and equal may be loaded before or after |scrdate.sty| or not. +% package \pkg{german} and equal may be loaded before or after \pkg*{scrdate} +% or not. % -% First we define the usual languages using |\newdaylanguage|: +% First we define the usual languages using \cs{newdaylanguage}: % \begin{macro}{\dayname@german} % \begin{macrocode} \newdaylanguage{german}{Montag}{Dienstag}{Mittwoch} @@ -758,7 +733,7 @@ % \end{macrocode} % \end{macro} % -% Last but not least file \texttt{scrdate.cfg} has to be included, +% Last but not least file \file{scrdate.cfg} has to be included, % if it exists. % \begin{macrocode} \InputIfFileExists{scrdate.cfg} @@ -768,17 +743,23 @@ {} % \end{macrocode} % -% \iffalse +% \begin{macrocode} %</scrdate> -%</body> -% \fi +% \end{macrocode} % +% \begin{macrocode} +%</body> +% \end{macrocode} +% % \Finale -% -\endinput -% -% Ende der Datei `scrtime.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: +% \PrintChanges +% +% \endinput +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/scrwfile.dtx b/macros/latex/contrib/koma-script/source/scrwfile.dtx index 7228e756ab..5da27e5ee0 100644 --- a/macros/latex/contrib/koma-script/source/scrwfile.dtx +++ b/macros/latex/contrib/koma-script/source/scrwfile.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % scrwfile.dtx -% Copyright (c) Markus Kohm, 2010-2021 +% Copyright (c) Markus Kohm, 2010-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -16,65 +16,9 @@ % % The Current Maintainer and author of this work is Markus Kohm. % -% The KOMA-Script bundle consists of all files listed in manifest.txt. -% The work `scrwfile' consists of the files `scrwfile.dtx' and -% `scrlogo.dtx'. -% -% If you're missing the installation batch file `scrwfile.ins', try -% tex scrwfile.dtx -% to unpack all files. -% The package documentation may be produced repeating -% latex scrwfile.dtx -% at least three times. -% ---------------------------------------------------------------------- -% scrwfile.dtx -% Copyright (c) Markus Kohm, 2010-2021 -% -% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets. -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Das KOMA-Script-Paket besteht aus allen Dateien, die in manifest.txt -% genannt sind. -% Das Werk `scrwfile' besteht aus den Dateien `scrwfile.dtx' und -% `scrlogo.dtx'. -% -% Falls Sie die Installations-Batch-Datei `scrwfile.ins' vermissen, -% probieren Sie einfach einmal -% tex scrwfile.dtx -% um alle Dateien auszupacken. Zur englischen Anleitung siehe den -% englischen Kommentar oben. +% This work consists of all files listed in manifest.txt. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: scrwfile.dtx 3600 2021-05-30 19:00:56Z kohm $ +%%% From File: $Id: scrwfile.dtx 3773 2022-03-29 06:27:55Z kohm $ %<*dtx> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{scrwfile.dtx} @@ -83,11 +27,12 @@ %<package&identify>\ProvidesPackage{scrwfile} %<driver>\ProvidesFile{scrwfile.drv} %<*dtx|(package&identify)|driver> - [2021/05/30 v0.1.9-alpha KOMA-Script package (write and clone files)] + [2021/05/30 v0.1.10 KOMA-Script package (write and clone files)] %</dtx|(package&identify)|driver> %<*dtx> \ifx\documentclass\undefined \input scrdocstrip.tex + \@@input scrkernel-version.dtx \@@input scrstrip.inc \KOMAdefVariable{COPYRIGHTFROM}{2010} @@ -105,130 +50,129 @@ \endbatchfile %</dtx> %<*driver> - \documentclass{scrdoc} - \usepackage[ngerman,english]{babel} - \usepackage{listings} - \lstnewenvironment{lstcode}[1][]{% - \lstset{language=[LaTeX]TeX,basicstyle=\ttfamily\small,#1}% - }{} - - \CodelineIndex - \RecordChanges - \GetFileInfo{scrwfile.dtx} - \title{The \KOMAScript{} package \texttt{scrwfile}% - \footnote{This is version \fileversion\ of file \texttt{\filename}.}} - \date{\filedate} - \author{Markus Kohm} - - \newenvironment{Explain}{\par}{\par} - \let\Macro\cs - \let\Package\textsf - \let\File\texttt - \let\Option\texttt - \let\Counter\texttt - \let\ShowOutput\quote - \let\endShowOutput\endquote - \let\Parameter\marg - \let\OParameter\oarg - \providecommand\PParameter[1]{\mbox{\texttt{\{#1\}}}} - \let\PName\meta - \let\PValue\texttt - \providecommand*{\important}[1]{} - \providecommand*{\autoref}[1]{\expandafter\AUTOREF#1:} - \providecommand*{\AUTOREF}{} - \makeatletter - \def\AUTOREF#1:#2:{% - \edef\@tempa{#1}% - \edef\@tempb{tab}\ifx\@tempa\@tempb table~\fi - \edef\@tempb{sec}\ifx\@tempa\@tempb section~\fi - \ref{#1:#2}% - } - \providecommand*{\IndexCmd}[2][]{} - \providecommand*{\textnote}[2][]{} - \makeatother - - \begin{document} - \maketitle - \DocInput{\filename} - \end{document} +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\usepackage{hvlogos} +\setcounter{StandardModuleDepth}{2} +\begin{document} +\DocInput{scrwfile.dtx} +\end{document} %</driver> % \fi % -% \selectlanguage{english} -% % \changes{v0.1}{2010/10/01}{start of new package} % \changes{v0.1.7}{2014/10/13}{manual moved to \KOMAScript{} manual} % \changes{v0.1.9}{2021/05/30}{version number scheme changed} +% \changes{v0.1.10}{2022/02/05}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% +% \GetFileInfo{scrwfile.dtx} +% \title{Saving Write Handles with the Experimental +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrwfile}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Version \fileversion{} of \filedate} +% \maketitle +% \begin{abstract} +% The \TeX{} engines \TeX, \pdfTeX, and \XeTeX{} (but not \LuaTeX) do +% provide only 16 handles for simultaneously write open files. Some of them +% are already used by \LaTeX{}. Moreover, for every file using +% \cs{@starttoc} \LaTeX{} keeps a write file open from usage of +% \cs{@starttoc}, e.g., inside \cs{tableofcontents}, \cs{listoffigures} +% etc., until the end of the document. Additional write files are used for +% the index, glossary etc. So sometimes it happens, that there are not +% enough handles to open another one. \pkg*{scrwfile} was made to change the +% \LaTeX{} internal handling of all the helper files bases on \cs{@starttoc} +% to not keep them open simultaneously, but use only one file handle for all +% of them. So you should never run out of write file handles. +% \end{abstract} +% +% \section{User Manual} +% +% You can find the user manual of \pkg*{scrwfile} in the \KOMAScript{} manual, +% either the German \file{scrguide} or the English \file{scrguien}. But please +% note: +% \begin{quote}\bfseries +% This is an experimental package. Usage of this package is on your own +% risk. There is no support, if you are using this package, not only for +% this package but also for the class you are using or other packages, that +% use \cs{@starttoc} or \cs{@writefile} like \pkg{caption}, \pkg{float}, +% \pkg*{tocbasic}, \pkg{listings} and many more. +% \end{quote} +% +% \MaybeStop{\PrintIndex} +% +% +% \section{Implementation of \pkg*{scrwfile}} % -% \StopEventually{% -% \clearpage -% \PrintIndex\PrintChanges} -% -% -% \section{Implementation of \Package{scrwfile}} -% -% \iffalse +% \begin{macrocode} %<*package> -%<*identify> -% \fi +% \end{macrocode} % % \begin{macrocode} +%<*identify> \PackageWarningNoLine{scrwfile}{% - THIS IS AN ALPHA VERSION!\MessageBreak - USAGE OF THIS VERSION IS ON YOUR OWN RISK!\MessageBreak + THIS IS AN EXPERIMENTAL PACKAGE!\MessageBreak + USAGE OF THIS PACKAGE IS ON YOUR OWN RISK!\MessageBreak EVERYTHING MAY HAPPEN!\MessageBreak EVERYTHING MAY CHANGE IN FUTURE!\MessageBreak THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE!\MessageBreak - Maybe, it would be better not to load this package.% + Maybe, it would be better not to load this package% } +%</identify> % \end{macrocode} %\iffalse -%</identify> %\fi % % \subsection{Options} % \iffalse %<*option> % \fi -% % Currently we don't need options. -% % \iffalse %</option> % \fi % % \subsection{Body} -% \iffalse +% \begin{macrocode} %<*body> -% \fi +% \end{macrocode} % % \subsubsection{Needed Packages} % -% Package \textsf{scrbase} is needed, because of using several \KOMAScript{} +% Package \pkg*{scrbase} is needed, because of using several \KOMAScript{} % basic commands. % \begin{macrocode} \RequirePackage{scrbase}[2010/09/17] % \end{macrocode} % -% Package \textsf{scrlfile} is needed because of the \texttt{aux} file -% handling and \verb|\protected@immediate@write|. +% Package \pkg*{scrlfile} is needed because of the \file{aux}-file +% handling and \cs{protected@immediate@write}. % \begin{macrocode} \RequirePackage{scrlfile}[2010/09/30] % \end{macrocode} % +% \changes{v0.1.10}{2022/02/04}{\pkg{iftex} is required} +% Package \pkg{iftex} is used to detect Lua\LaTeX. +% \begin{macrocode} +\RequirePackage{iftex} +% \end{macrocode} +% % \subsubsection{Is is needed?} % % \changes{v0.1.9}{2021/05/30}{with Lua\LaTeX{} using is not recommended} -% If the user uses Lua\LaTeX{} usage of \textsf{scrwfile} should not be +% \changes{v0.1.10}{2022/02/04}{using \cs{ifluatex}} +% \changes{v0.1.10}{2022/02/04}{\cs{PackageInfoNoLine} replaced by +% \cs{PackageWarningNoLine}} +% If the user uses Lua\LaTeX{} usage of \pkg*{scrwfile} should not be % needed. % \begin{macrocode} -\scr@ifluatex{% - \PackageInfoNoLine{scrwfile}{LuaLaTeX detected.\MessageBreak +\ifluatex + \PackageWarningNoLine{scrwfile}{LuaLaTeX detected.\MessageBreak With LuaLaTeX you should never get an error message:\MessageBreak \space\space`No room for a new \string\write'.\MessageBreak So scrwfile could make much more harm than benefit\MessageBreak and using it is not recommended}% -}{} +\fi % \end{macrocode} % % \subsubsection{\LaTeX{} Kernel Patchs} @@ -238,15 +182,15 @@ % \begin{description} % \item[Single handle feature] means, that \LaTeX{} will no longer need a file % handle for every help file, but only one for all files. We will patch -% |\@starttoc| and |\@writefile| to do so. +% \cs{@starttoc} and \cs{@writefile} to do so. % \item[Clone file feature] means, that every write to one file may be done to -% another file, too. We will patch |\@writefile| to do so. +% another file, too. We will patch \cs{@writefile} to do so. % \end{description} % Every patch should be minimum invasive, so that files, that are not under -% \textsf{scrwfile}'s control are changed as little as possible. +% \pkg*{scrwfile}'s control are changed as little as possible. % % \begin{macro}{\scrwfile@if@only} -% First of all we check, if the file should be handled by \textsf{scrwfile}. +% First of all we check, if the file should be handled by \pkg*{scrwfile}. % \begin{macrocode} \newcommand*{\scrwfile@if@only}[1]{% \begingroup @@ -273,16 +217,16 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\scrwfile@starttoc} -% \begin{macro}{\scrwfile@@starttoc} -% This is the internal redefinition of |\@starttoc|. First of all test, if it +% \begin{macro}{\scrwfile@starttoc,\scrwfile@@starttoc} +% This is the internal redefinition of \cs{@starttoc}. First of all test, if it % should be used, then use it or not. % \begin{macrocode} \newcommand*{\scrwfile@starttoc}[1]{% \scrwfile@if@only{#1}{\scrwfile@@starttoc}{\scrwfile@saved@starttoc}{#1}% } \newcommand*{\scrwfile@@starttoc}[1]{% -%<trace> \typeout{Use my own \string\@starttoc\space for #1}% +%<trace> \PackageInfo{scrwfile}{% +%<trace> Using my own \string\@starttoc\space for `#1'}% \begingroup \if@filesw \xdef\scrwfile@writefilelist{\scrwfile@writefilelist,#1}% @@ -293,20 +237,18 @@ } % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{\scrwfile@writefile} -% \begin{macro}{\scrwfile@@writefile} -% \begin{macro}{\scrwfile@wrtout} -% \begin{macro}{\scrwfile@writefilelist} -% This is the internal redefinition of |\@writefile|. First of all test, if it -% should be used, then use it or not. +% \begin{macro}{\scrwfile@writefile,\scrwfile@@writefile,\scrwfile@wrtout, +% \scrwfile@writefilelist} +% This is the internal redefinition of \cs{@writefile}. First of all test, if +% it should be used, then use it or not. % \begin{macrocode} \newcommand*{\scrwfile@writefile}[1]{% \scrwfile@if@only{#1}{\scrwfile@@writefile}{\scrwfile@saved@writefile}{#1}% } \newcommand{\scrwfile@@writefile}[2]{% -%<trace> \typeout{Use my own \string\@writefile\space for #1}% +%<trace> \PackageInfo{scrwfile}{% +%<trace> Using my own \string\@writefile\space for `#1'}% \ifnum\scrwfile@wrtout>0 \begingroup \@temptokena{#2}% @@ -324,15 +266,12 @@ \newcommand*{\scrwfile@writefilelist}{} % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{\@writefile} -% We have to add the single handle feature and the clone file feature to this. -% \begin{macro}{\scrwfile@saved@writefile} -% This is the original definition, that will be used, if the file is not under -% \texttt{scrwfile}'s control. +% \begin{macro}{\@writefile,\scrwfile@saved@writefile} +% We have to add the single handle feature and the clone file feature to +% \cs{@writefile} and therefore save the original +% definition. \cs{scrwfile@saved@writefile} is used, whenever a file is not +% under \pkg*{scrwfile}'s control. % \begin{macrocode} \newcommand*{\scrwfile@saved@writefile}{} \BeforeClosingMainAux{% @@ -367,9 +306,9 @@ } % \end{macrocode} % \changes{v0.1.8}{2021/05/30}{added order rule for -% \textsf{scrlayer-notecolumn}} +% \pkg*{scrlayer-notecolumn}} % Note: Here we use a \LaTeX{} version test, because a do-nothing-definition -% like the one of \textsf{latexrelease} wouldn't be correct, if the command is +% like the one of \pkg{latexrelease} wouldn't be correct, if the command is % not supported by the current \LaTeX{} kernel version setting. % \begin{macrocode} \IfLTXAtLeastTF{2020/10/01}{% @@ -389,14 +328,13 @@ } % \end{macrocode} % \end{macro} -% \end{macro} % -% \begin{macro}{\@starttoc} -% We have to add the single handle feature to this. -% \begin{macro}{\scrwfile@saved@starttoc} +% \begin{macro}{\@starttoc,\scrwfile@saved@starttoc} +% We have to add the single handle feature to \cs{@starttoc} and therefore +% save the original definition. % \changes{v0.1.5}{2013/07/24}{take care for unfriendly \textsl{hyperref}} -% This is the original definition, that will be used, if the file is not under -% \texttt{scrwfile}'s control. Because of package \textsl{hyperref}, that does +% \cs{scrwfile@saved@starttoc} is be used, whenever the file is not under +% \pkg*{scrwfile}'s control. Because of package \textsl{hyperref}, that does % a hard redefinition without any care for changed definitions, we have to % take care for that unfriendly package and cannot do a simple % \begin{verbatim} @@ -445,14 +383,20 @@ } % \end{macrocode} % \end{macro} -% \end{macro} % % % \subsubsection{Clone TOC Feature} % -% \textsf{scrwfile} may clone a TOC, that means, every entry to one file will +% \pkg*{scrwfile} may clone a TOC, that means, every entry to one file will % be copied to other files, too. You must not clone recursively! % +% \begin{description} +% \item[ToDo:]The whole feature should be moved to \pkg*{tocbasic}. But this +% would need a complete re-implementation and would result in one more write +% handle for every cloned file. So maybe it wouldn't be a really good idea +% to do so. +% \end{description} +% % \begin{macro}{\scrwfile@process@clones} % \begin{macrocode} \newcommand*{\scrwfile@process@clones}[1]{% @@ -480,13 +424,13 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\TOCclone} +% \begin{command}{\TOCclone} % \changes{v0.1.8}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}} % \changes{v0.1.8}{2019/11/19}{\cs{ifattoclist} replaced by \cs{Ifattoclist}} % \changes{v0.1.8}{2019/11/19}{\cs{iftocfeature} replaced by % \cs{Iftocfeature}} % \changes{v0.1.8}{2020/02/25}{spurious space in warning message removed} -% \changes{v0.1.9}{2021/05/30}{requires package \textsf{tocbasic}} +% \changes{v0.1.9}{2021/05/30}{requires package \pkg*{tocbasic}} % \changes{v0.1.9}{2021/05/30}{can be used only in preamble} % Clone the entries from the second (first mandatory) argument TOC to the % third (second mandatory) argument TOC. If the first (optional) argument was @@ -494,8 +438,10 @@ % the toc features \texttt{leveldown}, \texttt{numbered}, \texttt{onecolumn} % and \texttt{totoc} of |#2| to |#3|. The toc feature \texttt{nobabel} will % always be set, because the babel entries at TOC |#3| will be cloned from TOC -% |#2|. \textbf{Note:} We use owner \texttt{TOCclone} for all cloned -% extensions. +% |#2|. +% \begin{description} +% \item{Note:} We use owner \texttt{TOCclone} for all cloned extensions. +% \end{description} % \begin{macrocode} \newcommand*{\TOCclone}[3][]{% \RequirePackage{tocbasic}% @@ -534,23 +480,23 @@ }% } \@onlypreamble\TOCClone +%</body> % \end{macrocode} -% \end{macro} +% \end{command} % -% \iffalse -%</body> +% \begin{macrocode} %</package> -% \fi +% \end{macrocode} % % \Finale -% -\endinput -% -% end of file `scrwfile.dtx' - -%%% Local Variables: -%%% mode: doctex -%%% mode: flyspell -%%% ispell-local-dictionary: "english" -%%% TeX-master: t -%%% End: +% \PrintChanges +% +% \endinput +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/koma-script/source/tocbasic.dtx b/macros/latex/contrib/koma-script/source/tocbasic.dtx index 90a27fd670..70d19e7ec1 100644 --- a/macros/latex/contrib/koma-script/source/tocbasic.dtx +++ b/macros/latex/contrib/koma-script/source/tocbasic.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % ====================================================================== % tocbasic.dtx -% Copyright (c) Markus Kohm, 2008-2020 +% Copyright (c) Markus Kohm, 2008-2022 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -17,44 +17,8 @@ % The Current Maintainer and author of this work is Markus Kohm. % % This work consists of all files listed in manifest.txt. -% ---------------------------------------------------------------------- -% tocbasic.dtx -% Copyright (c) Markus Kohm, 2008-2020 -% -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% -% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. -% -% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. % ====================================================================== -% \fi -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \iffalse -%%% From File: $Id: tocbasic.dtx 3617 2021-10-12 09:21:01Z kohm $ +%%% From File: $Id: tocbasic.dtx 3689 2022-02-10 09:53:38Z kohm $ %<identify>%%% (run: identify) %<prepare>%%% (run: prepare) %<option>%%% (run: option) @@ -65,9 +29,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}} - \filedate$Date: 2021-10-12 11:21:01 +0200 (Tue, 12 Oct 2021) $ + \filedate$Date: 2022-02-10 10:53:38 +0100 (Do, 10. Feb 2022) $ \def\filerevision$#1: #2 ${\gdef\filerevision{r#2}} - \filerevision$Revision: 1962 $ + \filerevision$Revision: 3689 $ \endgroup \ProvidesFile{tocbasic.dtx}[\filedate\space\filerevision\space %</dtx> @@ -118,78 +82,75 @@ \let\endbatchfile\relax \fi \endbatchfile -\documentclass[parskip=half-]{scrdoc} -\usepackage[english]{babel} -\usepackage{array} -\usepackage{listings} -\lstset{breaklines,prebreak=\mbox{$\hookleftarrow$},language=[LaTeX]TeX, - basicstyle=\small} -\lstnewenvironment{lstcode}[1][]{% - \lstset{breaklines,prebreak=\mbox{$\hookleftarrow$},language=[LaTeX]TeX, - basicstyle=\ttfamily\small,#1}% -}{} -\lstnewenvironment{lstoutput}[1][]{}{} -\CodelineIndex -\RecordChanges -\GetFileInfo{tocbasic.dtx} -\sloppy +\documentclass[USenglish]{koma-script-source-doc} +\usepackage{babel} +\setcounter{StandardModuleDepth}{2} \begin{document} -\DocInput{\filename} +\DocInput{tocbasic.dtx} \end{document} +%</dtx> % \fi % -% \title{\KOMAScript{} \partname\ \texttt{\filename}% -% \thanks{Diese Datei ist Version \fileversion\ von \texttt{\filename}.}} -% \date{\filedate} -% \author{Markus Kohm\thanks{mailto:komascript(at)gmx.info}} +% \changes{v3.36}{2022/02/10}{switch over from \cls*{scrdoc} to +% \cls*{koma-script-source-doc}} +% \changes{v3.36}{2022/02/10}{require package \pkg*{scrlogo} instead of +% defining \cs{KOMAScript}} +% +% \GetFileInfo{tocbasic.dtx} +% \title{Handling of Tables and Lists of Contents with +% \href{https://komascript.de}{\KOMAScript} Package \pkg*{tocbasic}} +% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}} +% \date{Revision \fileversion{} of \filedate} % \maketitle % \begin{abstract} -% The main purpose of package \textsf{tocbasic} is to provide features for +% The main purpose of package \pkg*{tocbasic} is to provide features for % authors of classes and packages to create own tables or lists of contents % like the list of figures and the list of tables and thereby allow other % classes or packages some types of control over these. For examples package -% \textsf{tocbasic} delegates language control of all these tables and lists -% of contents to package \textsf{babel}. So automatic change of language +% \pkg*{tocbasic} delegates language control of all these tables and lists +% of contents to package \pkg{babel}. So automatic change of language % will be provided inside all these tables and lists of contents. Using -% \textsf{tocbasic} will exculpate authors of classes and packages from +% \pkg*{tocbasic} will exculpate authors of classes and packages from % implementation of such features. % -% \KOMAScript{} itself uses \textsf{tocbasic} not only for the table of +% \KOMAScript{} classes use \pkg*{tocbasic} not only for the table of % contents but also for the already mentioned lists of figures and tables. % \end{abstract} -% % \tableofcontents % -% \iffalse -%</dtx> -% \fi +% \section{User Manual} % -% \StopEventually{\PrintIndex\PrintChanges} +% You can find the user manuals of \pkg*{tocbasic} in the \KOMAScript{} +% manual, either the German \file{scrguide} or the English \file{scrguien}. +% +% \MaybeStop{\PrintIndex} % % % \section{Implementation} % \label{sec:implementation} % -% All macros with prefix \texttt{tb@} or \texttt{@} are internal macros and -% should not be used by package and class authors. Macros with prefix -% \texttt{tocbasic@} are internal macros, that may be used by class and -% packages authors. Macros without \texttt{@} are interface macros and may be -% used by class and package authors and users. +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% All macros with prefix \cs{tb@} or \cs{@} are internal macros and should not +% be used by package and class authors. Macros with prefix \cs{tocbasic@} are +% internal macros, that may be used by class and packages authors. Macros +% without \texttt{@} are interface commands and may be used by class and +% package authors and users. % -% Note: Parts of the implementation of package \textsf{tocbasic} are -% out-sourced into file \texttt{scrkernel-tocbasic.dtx}. +% Note: Parts of the implementation of package \pkg*{tocbasic} are +% out-sourced into file \file{scrkernel-tocbasic.dtx}. % -% \iffalse -%<*package> -% \fi % % \subsection{Options} % \label{sec:options} % % There are no options because the package should be used by class and package % authors not by users. So the package will be loaded using -% \cs{RequiresPackage}. Using different options by different packages would -% result in an option clash. +% \cs{RequirePackage}. Using different options by different packages would +% result in an option clash. Nevertheless, the not existing options are +% processed. % \begin{macrocode} %<*option> \ProcessOptions\relax @@ -197,10 +158,10 @@ % \end{macrocode} % % -% \subsection{Required Packages} +% \subsection{Required packages} % \label{sec:packages} % -% Package \textsf{scrbase} is needed to process all macro options. As long as +% Package \pkg*{scrbase} is needed to process all macro options. As long as % no package options are provided, the \texttt{body}-run is early enough to % load it. % \begin{macrocode} @@ -213,22 +174,22 @@ % % % -% \subsection{Unwanted Packages} +% \subsection{Unwanted packages} % \label{sec:unpackages} % % There are packages, that are not recommended to be used together with -% \textsf{tocbasic}: +% \pkg*{tocbasic}: % \begin{macrocode} %<*body> % \end{macrocode} % \begin{description} -% \item[\textsf{multitoc}:] This package implements multi-column ToCs using -% \textsf{multicol}. Unfortunately there is a bug in that package, that -% disables all extensions but \texttt{toc}, \texttt{lof} and \texttt{lot} and +% \item[\pkg{multitoc}:] This package implements multi-column ToCs using +% \pkg{multicol}. Unfortunately there is a bug in that package, that +% disables all extensions but \file{toc}, \file{lof} and \file{lot} and % even these if the corresponding option has not been set. % \begin{macrocode} \AfterPackage*{multitoc}{% - \@ifpackagelater{multitoc}{2018/08/31}{}{% + \@ifpackagelater{multitoc}{2022/02/10}{}{% \PackageWarningNoLine{tocbasic}{% Usage of package `multitoc' is not recommended!\MessageBreak Note, this package generally results in empty ToCs\MessageBreak @@ -257,7 +218,7 @@ % \end{macrocode} % % -% \subsection{Having a List of All Tocs} +% \subsection{Having a list of all toc-files} % \label{sec:listoftocs} % % If we have a list of all toc-files we may do commands for all @@ -280,15 +241,12 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\ifattoclist} -% \changes{v3.28}{2019/11/19}{renamed to \cs{Ifattoclist}}%^^A -% \begin{macro}{\Ifattoclist} -% \changes{v3.28}{2019/11/19}{renamed from \cs{ifattoclist}}%^^A -% This command tests, if an extension is already at the list of -% toc-files. The extension has to be the first argument. The second argument -% will be done, if the extension is already at the list of toc-files. The -% third argument will be done, if the extension is at the list of toc-files -% not yet. +% \begin{command}{\ifattoclist,\Ifattoclist} +% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} renamed to \cs{Ifattoclist}} +% This command tests, if an extension is already at the list of toc-files. The +% extension has to be the first argument. The second argument will be done, if +% the extension is already at the list of toc-files. The third argument will +% be done, if the extension is at the list of toc-files not yet. % \begin{macrocode} \providecommand*{\ifattoclist}{% \PackageWarning{tocbasic}{Usage of deprecated command @@ -310,26 +268,25 @@ \endgroup } % \end{macrocode} -% \end{macro}%^^A \Ifattoclist -% \end{macro}%^^A \ifattoclist +% \end{command}^^A \ifattoclist,\Ifattoclist % -% \begin{macro}{\addtotoclist} -% \changes{v1.0a}{2008/11/11}{internal \cs{@addtotoclist} renamed to -% \cs{scr@addtotoclist} because of package \textsf{floatfram}}.^^A -% \changes{v1.0a}{2008/11/11}{internal \cs{@@addtotoclist} renamed to -% \cs{scr@@addtotoclist} because of package \textsf{floatfram}}.^^A +% \begin{command}{\addtotoclist} % \changes{v3.06a}{2010/09/14}{expand the arguments while adding them to the -% internal list}%^^A +% internal list} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\scr@addtotoclist} -% \begin{macro}{\scr@@addtotoclist} +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@addtotoclist,\scr@addtotoclist} +% \changes{v1.0a}{2008/11/11}{\cs{@addtotoclist} renamed to +% \cs{scr@addtotoclist} because of package \pkg{flowfram}} +% \begin{macro}{\@@addtotoclist,\scr@@addtotoclist} +% \changes{v1.0a}{2008/11/11}{\cs{@@addtotoclist} renamed to +% \cs{scr@@addtotoclist} because of package \pkg{flowfram}} % \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by -% \cs{Ifattoclist}}%^^A +% \cs{Ifattoclist}} % This command adds an extension to the list of toc-files. The first, % optional argument is the class or package name with the corresponding % extension of class or package files. If this argument was omitted -% \textsf{tocbasic} tries to get it automatically. This should be +% \pkg*{tocbasic} tries to get it automatically. This should be % successfull while loading a class or package but not while processing any % command of a class or package after loading the class or package. The % second, mandatory argument is the extension of the toc-file. NOTE: An @@ -384,11 +341,11 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\owneroftoc} -% \changes{v3.22}{2016/08/09}{new}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \begin{command}{\owneroftoc} +% \changes{v3.22}{2016/08/09}{added} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % Returns the owner of a TOC or uses the owner of a TOC as argument of the % optional argument, if it exists. % \begin{macrocode} @@ -400,22 +357,23 @@ \reserved@a } % \end{macrocode} -% \end{macro} -% \begin{macro}{\categoryoftoc} -% \changes{v3.27}{2019/05/12}{new}%^^A +% \end{command} +% \begin{command}{\categoryoftoc} +% \changes{v3.27}{2019/05/12}{added} % Synonym for \cs{owneroftoc}. % \begin{macrocode} \newcommand*{\categoryoftoc}{\owneroftoc} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\AtAddToTocList} +% \begin{command}{\AtAddToTocList} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@AtAddToTocList,\@@AtAddToTocList} % Action to be done, when adding a toc-file of a known owner. The first % optional argument is the owner. The second, mandatory argument is the % action. While doing the action \cs{@currext} will be the extension of the -% added toc-file. If the first argument was omitted \textsf{tocbasic} tries +% added toc-file. If the first argument was omitted \pkg*{tocbasic} tries % to get it automatically. This should be successfull while loading a class % or package but not while processing any command of a class or package % after loading the class or package. The second, mandatory argument is the @@ -444,10 +402,11 @@ } % \end{macrocode} % \end{macro} +% \end{command} % % \begin{macro}{\tocbasic@extend@babel} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A +% \cs{Iftocfeature}} % NOTE: To extend the original \cs{bbl@set@language} the argument of % \cs{tocbasic@extend@babel} must not be a local macro (like \cs{@currext}) % \begin{macrocode} @@ -462,7 +421,7 @@ for `#1'}% }{% % \end{macrocode} -% \changes{v3.23}{2017/02/23}{using \cs{BabelContentsFiles} if available}%^^A +% \changes{v3.23}{2017/02/23}{using \cs{BabelContentsFiles} if available} % Since version 3.9a provides adding extensions to the language switch % preparation. So it is used if it is available. % \begin{macrocode} @@ -490,21 +449,23 @@ } % \end{macrocode} % This feature should be used for all toc-files (unless feature -% \texttt{nobabel} was set for the toc-file). +% \opt{nobabel} was set for the toc-file). % \begin{macrocode} \AtAddToTocList[]{\expandafter\tocbasic@extend@babel\expandafter{\@currext}} % \end{macrocode} % \end{macro} % -% \begin{macro}{\removefromtoclist} +% \begin{command}{\removefromtoclist} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\scr@removefromtoclist} -% \changes{v3.22}{2016/09/06}{missing \cs{global} added}%^^A -% \changes{v3.28}{2019/11/22}{renamed from \cs{@removefromtoclist}}%^^A -% \begin{macro}{\scr@@removefromtoclist} -% \changes{v3.22}{2016/09/06}{missing \cs{global} added}%^^A -% \changes{v3.28}{2019/11/22}{renamed from \cs{@@removefromtoclist}}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\scr@removefromtoclist,\@removefromtoclist} +% \changes{v3.22}{2016/09/06}{missing \cs{global} added} +% \changes{v3.28}{2019/11/22}{\cs{@removefromtoclist} renamed to +% \cs{scr@removefromtoclist}} +% \begin{macro}{\scr@@removefromtoclist,\@@removefromtoclist} +% \changes{v3.22}{2016/09/06}{missing \cs{global} added} +% \changes{v3.28}{2019/11/22}{\cs{@@removefromtoclist} renamed to +% \cs{scr@removefromtoclist}} % This command will remove an extension from the list of toc-files. If the % first, optional argument is given, the extension will only be removed, if % it was added by the given owner. NOTE: An empty first argument is not the @@ -553,13 +514,14 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\doforeachtocfile} -% \changes{v3.09}{2011/03/01}{\cs{@currext} defined using \cs{edef} instead -% of \cs{def}}%^^A +% \begin{command}{\doforeachtocfile} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@doforeachtocfile,\@@doforeachtocfile} +% \changes{v3.09}{2011/03/01}{\cs{@currext} defined using \cs{edef} instead +% of \cs{def}} % This command does the second, mandatory argument for each toc-file at the % list of toc-files. If the first, optional argument was given this will be % done only for the toc-files of that owner. NOTE: An empty first argument @@ -600,13 +562,13 @@ } % \end{macrocode} % \end{macro} -% -% \begin{macro}{\addtoeachtocfile} -% \begin{macro}{\@addtoeachtocfile} -% \begin{macro}{\@@addtoeachtocfile} -% \changes{v3.03b}{2009/06/08}{typo fix at usage of \cs{doforeachtocfile}}%^^A +% \end{command} +% +% \begin{command}{\addtoeachtocfile} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@addtoeachtocfile,\@@addtoeachtocfile} +% \changes{v3.03b}{2009/06/08}{typo fix at usage of \cs{doforeachtocfile}} % This command calls \cs{addtocontents} with the section, mandatory % argument for each toc-file at the list of toc-files. If the first, % optional argument was given this will be done only for the toc-files of @@ -627,17 +589,17 @@ %</body> % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% \subsection{Adding Entries into Toc-Files} +% \subsection{Adding entries into toc-files} % % We have a new general command to add entries to several toc-files at % once. And we have some special commands for the table of contents. % -% \begin{macro}{\addcontentslinetoeachtocfile} +% \begin{command}{\addcontentslinetoeachtocfile} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@addcontentslinetoeachtocfile,\@@addcontentslinetoeachtocfile} % Something like a combination of \cs{addtoeachtocfile} and % \cs{addcontentsline}. % \begin{macrocode} @@ -654,18 +616,18 @@ } % \end{macrocode} % \end{macro} -% -% \begin{macro}{\addxcontentsline} -% \changes{v3.12}{2013/09/24}{new}%^^A -% \changes{v3.12}{2013/09/24}{Take care of new feature \texttt{numberline}}%^^A +% \end{command} +% +% \begin{command}{\addxcontentsline} +% \changes{v3.12}{2013/09/24}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A +% \cs{kernel@ifnextchar}} % \begin{macro}{\@addxcontentsline} -% \changes{v3.12}{2013/09/24}{new (internal)}%^^A +% \changes{v3.12}{2013/09/24}{added} % This will be used instead of \cs{addcontentsline} to generate numbered or % not numbered entries to a toc-file. First argument is the toc-file, second -% the entry type, e.g., \texttt{chapter}, the third is the entry number or -% empty and the fourth and last is the entry text. +% the entry type, e.g., |chapter|, the third is the entry number or empty and +% the fourth and last is the entry text. % \begin{macrocode} \newcommand*{\addxcontentsline}[2]{% \kernel@ifnextchar [%] @@ -681,15 +643,15 @@ }% } % \end{macrocode} -% \begin{macro}{\nonumberline} -% \changes{v3.12}{2013/09/24}{new}%^^A +% \begin{command}{\nonumberline} +% \changes{v3.12}{2013/09/24}{added} % Either \cs{relax} or \cs{numberline} depending on the feature -% \texttt{numberline}. +% \opt{numberline}. % \begin{macrocode} \newcommand*{\nonumberline}{}% % \end{macrocode} -% \end{macro} -% \begin{macro}{\addxcontentsline} +% \end{command} +% \begin{command}{\addxcontentsline} % This may be used to either use a heading type command or the general default % one. You are not allowed to use it in the definition of a heading type % command like \cs{addchaptertocentry}! You may use @@ -703,26 +665,22 @@ \fi } % \end{macrocode} +% \end{command} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % -% \begin{macro}{\addxcontentslinetoeachtocfile} -% \changes{v3.12}{2013/09/24}{new}%^^A -% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@addxcontentslinetoeachtocfile} -% \changes{v3.12}{2013/09/24}{new (internal)}%^^A +% \begin{command}{\addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@addxcontentslinetoeachtocfile} -% \changes{v3.12}{2013/09/24}{new (internal)}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@addxcontentslinetoeachtocfile, +% \@@addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \begin{macro}{\@@@addxcontentslinetoeachtocfile} -% \changes{v3.12}{2013/09/24}{new (internal)}%^^A -% \begin{macro}{\@@@@addxcontentslinetoeachtocfile} -% \changes{v3.12}{2013/09/24}{new (internal)}%^^A +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@@@addxcontentslinetoeachtocfile, +% \@@@@addxcontentslinetoeachtocfile} +% \changes{v3.12}{2013/09/24}{added} % Similar to \cs{addcontentslinetoeachtocfile} using % \cs{addxcontentsline} instead of \cs{addcontentsline}. % \begin{macrocode} @@ -752,23 +710,21 @@ % \end{macrocode} % \end{macro} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % % -% \subsection{Show List of Toc-File} +% \subsection{Show list of toc-file} % \label{sec:showlistoftocfile} % % If you have a toc-file you want a list-of-command for this toc-file, % too. Here are basics and high level commands for this. % % \begin{macro}{\tocbasic@starttoc} -% \changes{v3.17}{2015/03/23}{usage of feature \texttt{noparskipfake}} +% \changes{v3.17}{2015/03/23}{usage of feature \opt{noparskipfake}} % \changes{v3.27}{2019/07/08}{hack to add \cs{par} at end of (main) file} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by % \cs{Iftocfeature}} -% \changes{v3.32}{2020/08/25}{replace \cs{par} hack by \cs{par} solution}} +% \changes{v3.32}{2020/08/25}{replace \cs{par} hack by \cs{par} solution} % \changes{v3.32}{2020/08/25}{reentrant warning} % Some basics are done like setting up \cs{parskip}, \cs{parindent} and % \cs{parfillskip}, a general hook will be called, an individual hook will @@ -815,37 +771,32 @@ \endgroup } % \end{macrocode} -% \begin{macro]{tocbasic@end@toc@file} -% \changes{v3.32}{2020/08/25}{new} +% \begin{macro}{tocbasic@end@toc@file} +% \changes{v3.32}{2020/08/25}{added} % \begin{macrocode} \newcommand*{\tocbasic@end@toc@file}{\par} % \end{macrocode} -% \end{macro}%^^A \tocbasic@end@toc@file +% \end{macro}^^A \tocbasic@end@toc@file % \begin{macro}{\tocbasic@reentrant@warning} -% \changes{v3.32}{2020/08/25}{new} +% \changes{v3.32}{2020/08/25}{added} +% \begin{macrocode} \newcommand*{\tocbasic@reentrant@warning}{} -% \end{macro} -% \begin{macro}{\tocbasic@@before@hook} -% \begin{macro}{\tocbasic@@after@hook} +% \end{macrocode} +% \end{macro}^^A \tocbasic@reentrant@warning +% \begin{macro}{\tocbasic@@before@hook,\tocbasic@@after@hook} % These are the general hooks. They may be used by classes and packages for % commands, that should be used for all lists of not only the own lists of, -% e.\,g., \KOMAScript{} may use it to handle option \texttt{tocleft}. +% e.\,g., \KOMAScript{} may use it to handle option \opt{tocleft}. % \begin{macrocode} \newcommand*{\tocbasic@@before@hook}{} \newcommand*{\tocbasic@@after@hook}{} % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\BeforeStartingTOC} -% \changes{v3.04b}{2010/01/05}{fix: define the hook if not already defined}%^^A +% \end{macro}^^A \tocbasic@@before@hook,\tocbasic@@after@hook +% \begin{command}{\BeforeStartingTOC,\AfterStartingTOC} +% \changes{v3.04b}{2010/01/05}{fix:define the hook if not already defined} % \changes{v3.06}{2010/06/09}{fix: using \cs{@ifundefined} instead of -% undefined \cs{scr@ifundefinedorrelax}}%^^A -% \changes{v3.26}{2018/08/10}{message moved to \texttt{trace}}%^^A -% \begin{macro}{\AfterStartingTOC} -% \changes{v3.04b}{2010/01/05}{fix:define the hook if not already defined}%^^A -% \changes{v3.06}{2010/06/09}{fix: using \cs{@ifundefined} instead of -% undefined \cs{scr@ifundefinedorrelax}}%^^A -% \changes{v3.26}{2018/08/10}{message moved to \texttt{trace}}%^^A +% undefined \cs{scr@ifundefinedorrelax}} +% \changes{v3.26}{2018/08/10}{message moved to \texttt{trace}} % These are the commands to add code to the general or individual hooks. If % the first, optional argument was given, the second, mandatory argument % will be added to the individual hook, otherwise the general hook will be @@ -876,22 +827,20 @@ \fi } % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command}^^A \BeforeStartingTOC,\AfterStartingTOC +% \end{macro}^^A \tocbasic@starttoc % -% \begin{macro}{\listoftoc} -% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} -% ersetzt}%^^A +% \begin{command}{\listoftoc} +% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}} % \begin{macro}{\@listoftoc} -% \changes{v1.0a}{2008/11/12}{\cs{twocolumn} fixed}%^^A -% \changes{v1.01}{2008/11/13}{new feature \texttt{onecolumn}}%^^A +% \changes{v1.0a}{2008/11/12}{\cs{twocolumn} fixed} +% \changes{v1.01}{2008/11/13}{new feature \opt{onecolumn}} % \changes{v3.09}{2011/03/01}{\cs{@currext} defined using \cs{edef} instead -% of \cs{def}}%^^A +% of \cs{def}} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A +% \cs{Iftocfeature}} % \changes{v3.31}{2020/07/08}{use one time expansion of local -% \cs{list@fname}}%^^A +% \cs{list@fname}} % Command to handle the hole list of something. There are additional hooks % for this. The first optional argument is the title for this list. If the % optional argument was omitted \cs{listof\#2name} will be used. The star @@ -938,11 +887,11 @@ } % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % -% \changes{v3.25}{2017/11/21}{\textsf{tocbibind} warning added}%^^A -% Using \textsf{tocbibind} and \textsf{tocbasic} together can break features -% either of \textsf{tocbibind} or \textsf{tocbasic}. Here we add at least a +% \changes{v3.25}{2017/11/21}{\pkg{tocbibind} warning added} +% Using \pkg{tocbibind} and \pkg*{tocbasic} together can break features +% either of \pkg{tocbibind} or \pkg*{tocbasic}. Here we add at least a % warning: % \begin{macrocode} \@ifpackageloaded{tocbibind}{}{% @@ -973,20 +922,19 @@ } % \end{macrocode} % -% \begin{macro}{\listofname} -% While this is only an emergancy command, we don't support languages. +% \begin{command}{\listofname} +% While this is only an emergency command, we don't support languages. % \begin{macrocode} \newcommand*{\listofname}{List of} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\listofeachtoc} -% \begin{macro}{\@listofeachtoc} -% \begin{macro}{\@@listofeachtoc} -% \changes{v3.03b}{2009/06/08}{typo fix at usage of \cs{doforeachtocfile}}%^^A +% \begin{command}{\listofeachtoc} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% Another example of using \cs{doforeachtocfile}. +% \cs{kernel@ifnextchar}} +% \begin{macro}{\@listofeachtoc,\@@listofeachtoc} +% \changes{v3.03b}{2009/06/08}{typo fix at usage of \cs{doforeachtocfile}} +% Another example of using \cs{doforeachtocfile}. % \begin{macrocode} \newcommand*{\listofeachtoc}{% \kernel@ifnextchar [%] @@ -1000,12 +948,11 @@ } % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} +% \end{command} % % \begin{macro}{\ext@toc} -% \changes{v3.23}{2017/02/23}{use indirect extension for toc}%^^A -% We do not longer hard code extension \texttt{toc} for the table of +% \changes{v3.23}{2017/02/23}{use indirect extension for toc} +% We do not longer hard code extension \file{toc} for the table of % contents. This allowes users to change it. Classes or other packages may % also define it. So it seems to be better to \cs{providecommand} instead of % \cs{newcommand} here. @@ -1015,22 +962,21 @@ % \end{macro} % % \begin{macro}{\tocbasic@listhead} -% \changes{v3.02a}{2009/01/20}{no explicite marks if ``numbered''}% -% \changes{v3.09a}{2011/04/12}{again no explicite marks if ``numbered''}% -% \changes{v3.12}{2013/09/24}{usage of new -% \cs{tocbasic@addxcontentsline}}% -% \changes{v3.15}{2014/12/10}{moved \cs{@mkboth} inside \cs{chapter*}}%^^A -% \changes{v3.15}{2014/12/10}{usage of \cs{addsec} if available}%^^A -% \changes{v3.15}{2014/12/10}{usage of \cs{@mkright} if available}%^^A -% \changes{v3.17}{2015/03/08}{moved \cs{@mkboth} outside \cs{chapter*}}%^^A -% \changes{v3.17}{2015/03/08}{usage of \cs{@mkdouble} if available}%^^A +% \changes{v3.02a}{2009/01/20}{no explicite marks if ``numbered''} +% \changes{v3.09a}{2011/04/12}{again no explicite marks if ``numbered''} +% \changes{v3.12}{2013/09/24}{usage of new \cs{tocbasic@addxcontentsline}} +% \changes{v3.15}{2014/12/10}{moved \cs{@mkboth} inside \cs{chapter*}} +% \changes{v3.15}{2014/12/10}{usage of \cs{addsec} if available} +% \changes{v3.15}{2014/12/10}{usage of \cs{@mkright} if available} +% \changes{v3.17}{2015/03/08}{moved \cs{@mkboth} outside \cs{chapter*}} +% \changes{v3.17}{2015/03/08}{usage of \cs{@mkdouble} if available} % \changes{v3.17}{2015/03/25}{penalty and skip reconstruction after -% \cs{@mkright}, \cs{@mkboth}, or \cs{@mkdouble}}%^^A -% \changes{v3.26}{2018/06/22}{removed spurious group}%^^A +% \cs{@mkright}, \cs{@mkboth}, or \cs{@mkdouble}} +% \changes{v3.26}{2018/06/22}{removed spurious group} % \changes{v3.26}{2018/09/03}{usage of \cs{addsecmark} or \cs{sectionmark} -% instead of \cs{@mkright} or \cs{markright}}%^^A +% instead of \cs{@mkright} or \cs{markright}} % \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by -% \cs{Iftocfeature}}%^^A +% \cs{Iftocfeature}} % Setting the headings of a list of something. The heading is the only % argument. % \begin{macrocode} @@ -1142,16 +1088,11 @@ \csname tb@@afterhead@hook\endcsname } % \end{macrocode} -% \begin{macro}{\BeforeTOCHead} -% \changes{v3.04b}{2010/01/05}{fix: define the hook if not already defined}%^^A +% \begin{command}{\BeforeTOCHead,\AfterTOCHead} +% \changes{v3.04b}{2010/01/05}{fix: define the hook if not already defined} % \changes{v3.06}{2010/06/09}{fix: using \cs{@ifundefined} instead of -% undefined \cs{scr@ifundefinedorrelax}}%^^A -% \changes{v3.26}{2018/08/10}{message moved to \texttt{trace}}%^^A -% \begin{macro}{\AfterTOCHead} -% \changes{v3.04b}{2010/01/05}{fix: define the hook if not already defined}%^^A -% \changes{v3.06}{2010/06/09}{fix: using \cs{@ifundefined} instead of -% undefined \cs{scr@ifundefinedorrelax}}%^^A -% \changes{v3.26}{2018/08/10}{message moved to \texttt{trace}}%^^A +% undefined \cs{scr@ifundefinedorrelax}} +% \changes{v3.26}{2018/08/10}{message moved to \texttt{trace}} % These are the commands to add code to the general or individual hooks. If % the first, optional argument was given, the second, mandatory argument % will be added to the individual hook, otherwise the general hook will be @@ -1175,11 +1116,10 @@ } %</body> % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % \end{macro} % -% \begin{macro}{\MakeMarkcase} +% \begin{command}{\MakeMarkcase} % Use upper-case or not? % \begin{macrocode} %<*exit> @@ -1194,37 +1134,34 @@ } %</exit> % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\deftocheading} +% \begin{command}{\deftocheading} % Define a toc headings command with one argument (the title). % \begin{macrocode} %<*body> \newcommand*{\deftocheading}[1]{% \@namedef{tocbasic@listhead@#1}##1} % \end{macrocode} -% \end{macro} +% \end{command} % -% \begin{macro}{\setuptoc} -% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@trim@spaces} statt -% \cs{tb@@sp@def}}%^^A -% \begin{macro}{\unsettoc} -% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@trim@spaces} statt -% \cs{tb@@sp@def}}%^^A +% \begin{command}{\setuptoc,\unsettoc} +% \changes{v3.26}{2018/08/29}{using \cs{scr@trim@spaces} instead of +% \cs{tb@@sp@def}} % Known features are: % \begin{description} -% \item[\texttt{totoc}] writes the title of the list of to the table of +% \item[\opt{totoc}] writes the title of the list of to the table of % contents -% \item[\texttt{numberline}] redefines \cs{nonumberline} to use +% \item[\opt{numberline}] redefines \cs{nonumberline} to use % \cs{numberline} -% \item[\texttt{numbered}] uses a numbered headings for the list of -% \item[\texttt{leveldown}] uses not the top level heading (e.\,g., +% \item[\opt{numbered}] uses a numbered headings for the list of +% \item[\opt{leveldown}] uses not the top level heading (e.\,g., % \cs{chapter} with book) but the first sub level (e.\,g., \cs{section} with % book). -% \item[\texttt{nobabel}] prevents the extension to be added to the babel +% \item[\opt{nobabel}] prevents the extension to be added to the babel % handling of toc-files. To make this work, you have to set the feature % before adding the extension to the list of known extension. -% \item[[\texttt{noprotrusion}]] prevents disabling character protrusion at +% \item[\opt{noprotrusion}] prevents disabling character protrusion at % the toc. % \end{description} % Other features may be package dependent. You may test the feature using: @@ -1254,10 +1191,8 @@ \setuptoc{lof}{nobabel} \setuptoc{lot}{nobabel} % \end{macrocode} -% \begin{macro}{\iftocfeature} -% \changes{v3.28}{2019/11/19}{renamed to \cs{Iftocfeature}}%^^A -% \begin{macro}{\Iftocfeature} -% \changes{v3.28}{2019/11/19}{renamed from \cs{iftocfeature}}%^^A +% \begin{command}{\Iftocfeature,\iftocfeature} +% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} renamed to \cs{Iftocfeature}} % We need a test for the features % \begin{macrocode} \providecommand*{\iftocfeature}{% @@ -1278,24 +1213,22 @@ } %</body> % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % -% \begin{macro}{\tocbasicautomode} +% \begin{command}{\tocbasicautomode} % \changes{v1.0a}{2008/11/11}{use of \cs{addtotoclist} instead of -% internal}%^^A +% internal} % \changes{v3.07a}{2010/11/25}{fix: added missing -% \cs{let}\cs{@starttoc}\cs{tocbasic@starttoc}}%^^A +% \cs{let}\cs{@starttoc}\cs{tocbasic@starttoc}} % \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by -% \cs{Ifattoclist}}%^^A -% \textsf{tocbasic} can overtake \cs{@starttoc} to automaticly add all +% \cs{Ifattoclist}} +% \pkg*{tocbasic} can overtake \cs{@starttoc} to automaticly add all % used extensions to the list of known extensions and use % \cs{tocbasic@starttoc} instead of \cs{@starttoc} from \LaTeX{} % kernel. Please note, that we don't need a fix for the unfriendly -% redefinition of \cs{@starttoc} by \textsf{hyperref}, because hyperref -% does it only at the first \LaTeX{} run. So this action of \textsf{hyperref} +% redefinition of \cs{@starttoc} by \pkg{hyperref}, because hyperref +% does it only at the first \LaTeX{} run. So this action of \pkg{hyperref} % may only result in the need of one more \LaTeX{} run, but not in a permanent % mistake. % \begin{macrocode} @@ -1312,24 +1245,24 @@ } %</body> % \end{macrocode} -% \end{macro} +% \end{command} % % -% \subsection{High Level Interface for Generating New TOCs and Floats} +% \subsection{High level interface for generating new ToCs and floats} % \label{sec:newfloats} % -% \begin{macro}{\DeclareNewTOC} -% \changes{v3.06}{2010/06/01}{new high level command}%^^A +% \begin{command}{\DeclareNewTOC} +% \changes{v3.06}{2010/06/01}{added} % \changes{v3.18}{2015/06/20}{\cs{tb@nt@types} and \cs{tb@nt@listname} are -% initialised \cs{relax}}%^^A +% initialised \cs{relax}} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by -% \cs{kernel@ifnextchar}}%^^A -% \changes{v3.26a}{2018/12/30}{fixed usage of \cs{kernel@ifnextchar}}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \cs{kernel@ifnextchar}} +% \changes{v3.26a}{2018/12/30}{fixed usage of \cs{kernel@ifnextchar}} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % This command defines only a new TOC and a new caption command for this % TOC. It does not define a new foat unless option float was set! It does % not define a new nonfloat unless option nonfloat was set! The optional -% argument is used to set up several settings using \textsf{keyval}. The +% argument is used to set up several settings using \pkg{keyval}. The % mandatory argument is the shortcut. The default type is the shortcut. % The extension is the shortcut. The default owner is ``\texttt{float}''. % \begin{macrocode} @@ -1354,13 +1287,13 @@ \def\tb@nt@tocentrystyle{default}% % \end{macrocode} % \changes{v3.20}{2016/04/29}{need more initialization for empty optional -% argument}%^^A +% argument} % \begin{macrocode} \def\tb@nt@tocstyle@options{level=1}% \IfArgIsEmpty{#1}{% % \end{macrocode} % Also need to call the style init code, to set the defaults for options -% \texttt{numwidth} and \texttt{indent}. +% \opt{numwidth} and \opt{indent}. % \begin{macrocode} \begingroup \let\scr@dte@current\tb@nt@type @@ -1373,7 +1306,9 @@ }% }{% \Ifstr{##1}{indent}{% -%<trace>\typeout{TRACE \string\DeclareNewTOC[...]{#2}: set default indent 1em}% +%<trace> \PackageInfo{tocbasic}{% +%<trace> TRACE \string\DeclareNewTOC[...]{#2}: +%<trace> set default indent 1em}% \l@addto@macro\do@endgroup{% \l@addto@macro{\tb@nt@tocstyle@options}{,indent=1em}% }% @@ -1392,7 +1327,7 @@ % After initialisation of the local values we need to know the style of the % toc entry, to define style dependend options. % \begin{macro}{\tb@nt@type} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} % The type of list is used for environment and counter names and as part of % several internal and user macros. It is needed before defining the style % dependend options. So we use a first run to set it up. @@ -1403,7 +1338,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@tocentrystyle} -% \changes{v3.20}{2015/12/16}{neu (intern)} +% \changes{v3.20}{2015/12/16}{added} % The style of the toc entry. It is needed before defining the style % dependend options. So we use a first run to set it up. % \begin{macrocode} @@ -1423,8 +1358,8 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@ext} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A -% \changes{v3.25}{2017/11/20}{moved to pass 1}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} +% \changes{v3.25}{2017/11/20}{moved to pass 1} % Don't tell the user, that the mandatory argument of the command may be % overloaded by this option. This was only done to simplify the definition. % \begin{macrocode} @@ -1434,10 +1369,9 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@owner} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A -% \changes{v3.26}{2018/06/09}{moved to pass 1}%^^A -% \changes{v3.27}{2019/05/12}{\texttt{category} is a synonym for -% \texttt{owner}}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} +% \changes{v3.26}{2018/06/09}{moved to pass 1} +% \changes{v3.27}{2019/05/12}{\opt{category} is a synonym for \opt{owner}} % The owner of the new list extension. % \begin{macrocode} \DefineFamilyKey[.toc]{KOMAarg}{owner}{% @@ -1448,14 +1382,14 @@ }% % \end{macrocode} % \end{macro} -% After this we define pseudo option \texttt{@else@} to ignore all currently +% After this we define pseudo option \opt{@else@} to ignore all currently % not needed options. After this we do the first option execution run. % \begin{macrocode} \DefineFamilyKey[.toc]{KOMAarg}{@else@}{\FamilyKeyStateProcessed}% \FamilyExecuteOptions[.toc]{KOMAarg}{#1}% \RelaxFamilyKey[.toc]{KOMAarg}{@else@}% % \end{macrocode} -% \changes{v3.26}{2018/06/09}{add extension already after first pass}%^^A +% \changes{v3.26}{2018/06/09}{add extension already after first pass} % First of all, every TOC needs an extension, that should be added to the % list of known extensions. This has to be done also, if no options has been % given! @@ -1474,10 +1408,10 @@ \DefineFamilyKey[.toc]{KOMAarg}{extension}{\FamilyKeyStateProcessed}% \DefineFamilyKey[.toc]{KOMAarg}{category}{\FamilyKeyStateProcessed}% % \end{macrocode} -% \changes{v3.20}{2015/12/16}{defining toc style depending options}%^^A -% \changes{v3.20}{2016/06/12}{using prefix \texttt{tocentry} instead of -% \texttt{toc}}%^^A -% \changes{v3.27}{2019/10/02}{additional \texttt{:}-options}%^^A +% \changes{v3.20}{2015/12/16}{defining toc style depending options} +% \changes{v3.20}{2016/06/12}{using prefix \opt{tocentry} instead of +% \opt{toc}} +% \changes{v3.27}{2019/10/02}{additional \opt{:}-options} % If the toc style is empty we won't define any \cs{l@\dots}. Otherwise we % need to define additional options. % \begin{macrocode} @@ -1541,25 +1475,25 @@ % After this, we need to define all the other options and do the real option % execution. % \begin{macro}{\tb@nt@atbegin} -% \changes{v3.09}{2011/03/01}{new optional identifier \texttt{atbegin}}%^^A -% \changes{v3.11c}{2013/02/01}{\texttt{atbegin} argument may be empty}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.09}{2011/03/01}{new optional identifier \opt{atbegin}} +% \changes{v3.11c}{2013/02/01}{\opt{atbegin} argument may be empty} +% \changes{v3.20}{2015/12/16}{locally valid only} % Additional code executed at the begin of a new defined environment. % \begin{macrocode} \FamilyStringKey[.toc]{KOMAarg}{atbegin}{\tb@nt@atbegin}% % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@atend} -% \changes{v3.09}{2011/03/01}{new optional identifier \texttt{atbend}}%^^A -% \changes{v3.11c}{2013/02/01}{\texttt{atend} argument may be empty}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.09}{2011/03/01}{new optional identifier \opt{atbend}} +% \changes{v3.11c}{2013/02/01}{\opt{atend} argument may be empty} +% \changes{v3.20}{2015/12/16}{locally valid only} % Additional code executed at the end of a new defined environment. % \begin{macrocode} \FamilyStringKey[.toc]{KOMAarg}{atend}{\tb@nt@atend}% % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@counterwithin} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} % If a counter will be defined, this counter may depend on another counter % (like figure counter depends on chapter counter at book classes). If the % value is empty, the counter does not depend on any other counter. @@ -1570,15 +1504,15 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\iftb@nt@float} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A -% \changes{v3.06}{2010/06/01}{new internal}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} +% \changes{v3.06}{2010/06/01}{added} % This boolean indicates, that float environments should also be defined. % \begin{macrocode} \FamilyBoolKey[.toc]{KOMAarg}{float}{tb@nt@float}% % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@floatpos} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} % Simply the value for the |\fps@...| macro. % \begin{macrocode} \DefineFamilyKey[.toc]{KOMAarg}{floatpos}{% @@ -1587,7 +1521,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@floattype} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} % Simply the value for the |\ftype@...| macro. It has to be % $1<=\textrm{value}<=31$. % \begin{macrocode} @@ -1605,8 +1539,8 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\iftb@nt@forcenames} -% \changes{v3.06}{2010/06/01}{new internal}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.06}{2010/06/01}{added} +% \changes{v3.20}{2015/12/16}{locally valid only} % The |\...name| commands will only be defined, if they are not already % defined. But some users may want to define their own names even if there % are already definitions. So this boolean option may switch to force the @@ -1615,9 +1549,9 @@ \FamilyBoolKey[.toc]{KOMAarg}{forcenames}{tb@nt@forcenames}% % \end{macrocode} % \end{macro} -% \begin{macro}{\tb@nt@hang} -% \changes{v3.20}{2015/12/16}{undefined}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \begin{macro}[noprint]{\tb@nt@hang} +% \changes{v3.20}{2015/12/16}{removed} +% \end{macro} % Earch entry of a TOC/list of is idented on the left side. This is the % amount of the indention of the text of the entry. % \begin{macrocode} @@ -1642,10 +1576,9 @@ \l@addto@macro\tb@nt@tocstyle@options{,numwidth=1.5em}% }% % \end{macrocode} +% \begin{macro}[noprint]{\tb@nt@indent} +% \changes{v3.20}{2015/12/16}{removed} % \end{macro} -% \begin{macro}{\tb@nt@indent} -% \changes{v3.20}{2015/12/16}{undefined}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A % Earch entry of a TOC/list of is idented on the left side. This is the % amount of the indention of the number part. % \begin{macrocode} @@ -1667,15 +1600,15 @@ \FamilyKeyStateProcessed }% \scr@ifundefinedorrelax{KV@KOMAarg.toc@tocindent}{}{% -%<trace>\typeout{TRACE \string\DeclareNewTOC[...]{#2}: set default indent 1em}% +%<trace> \PackageInfo{tocbasic}{% +%<trace> TRACE \string\DeclareNewTOC[...]{#2}: set default indent 1em}% \l@addto@macro\tb@nt@tocstyle@options{,indent=1em}% }% % \end{macrocode} +% \begin{macro}[noprint]{\tb@nt@level} +% \changes{v3.20}{2015/12/16}{removed} % \end{macro} -% \begin{macro}{\tb@nt@level} -% \changes{v3.20}{2015/12/16}{undefined}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A -% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A +% \changes{v3.30}{2020/02/25}{spurious space in warning message removed} % Each entry to a TOC/list of has a numeric level. You may set up your own % level. % \begin{macrocode} @@ -1689,10 +1622,9 @@ \FamilyKeyStateProcessed }% % \end{macrocode} -% \end{macro} % \begin{macro}{\tb@nt@listname} -% \changes{v3.18}{2015/06/20}{using \cs{def} instead of \cs{edef}}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.18}{2015/06/20}{using \cs{def} instead of \cs{edef}} +% \changes{v3.20}{2015/12/16}{locally valid only} % The list itself has a heading. A |\list<type>name| will also be defined. % \begin{macrocode} \DefineFamilyKey[.toc]{KOMAarg}{listname}{% @@ -1701,7 +1633,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@name} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} % We need a name/term for the entries of the new list. This may e.\,g. be used % for |caption| output. A |\<type>name| will also be defined. % \begin{macrocode} @@ -1711,8 +1643,8 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\iftb@nt@nonfloat} -% \changes{v3.06}{2010/06/01}{new (internal)}%^^A -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.06}{2010/06/01}{added} +% \changes{v3.20}{2015/12/16}{locally valid only} % This boolean indicates, that non-float environment should also be % defined. The environment has the postfix ``-''. % \begin{macrocode} @@ -1720,7 +1652,7 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@nt@types} -% \changes{v3.20}{2015/12/16}{local valid only}%^^A +% \changes{v3.20}{2015/12/16}{locally valid only} % Sometimes the plural of the type is needed and may be defined by a % seperate option. % \begin{macrocode} @@ -1729,8 +1661,8 @@ }% % \end{macrocode} % \end{macro} -% \changes{v3.25}{2017/11/20}{new (internal)}%^^A -% The new option \texttt{setup} allowes to setup ToC features provided by +% \changes{v3.25}{2017/11/20}{option \opt{setup} added} +% The new option \opt{setup} allowes to setup ToC features provided by % \cs{setuptoc}. Note, currently there is no test whether or not a feature % does exist! % \begin{macrocode} @@ -1738,8 +1670,8 @@ \setuptoc\tb@nt@ext{##1}% }% % \end{macrocode} -% \changes{v3.25}{2017/11/20}{new (internal)}%^^A -% The new option \texttt{unset} allowes to unset ToC features provided +% \changes{v3.25}{2017/11/20}{option \opt{unset} added} +% The new option \opt{unset} allowes to unset ToC features provided % by \cs{unsettoc}. Note, currently there is no test whether or not a % feature does exist! % \begin{macrocode} @@ -1749,9 +1681,9 @@ % \end{macrocode} % Last but not least we have to execute the options and reset the option % definitions. -% \changes{v3.25}{2017/09/27}{\texttt{nonfloat} fixed}%^^A -% \changes{v3.26}{2018/06/09}{added missing reset of \texttt{unset} and -% \texttt{setup}}%^^A +% \changes{v3.25}{2017/09/27}{\opt{nonfloat} fixed} +% \changes{v3.26}{2018/06/09}{added missing reset of \opt{unset} and +% \opt{setup}} % \begin{macrocode} \FamilyExecuteOptions[.toc]{KOMAarg}{#1}% \RelaxFamilyKey[.toc]{KOMAarg}{unset}% @@ -1784,7 +1716,7 @@ % \end{macrocode} % Then we need the TOC itself with a name: % \changes{v3.25}{2017/10/10}{use \cs{ext@\dots} instead of the extension -% itself in definition of \cs{listof\dots}}%^^A +% itself in definition of \cs{listof\dots}} % \begin{macrocode} \scr@ifundefinedorrelax{tb@nt@types}{% \edef\tb@nt@types{\tb@nt@type s}% @@ -1817,7 +1749,7 @@ }\@tempa % \end{macrocode} % The list entry: -% \changes{v3.20}{2016/04/05}{warning if \cs{l@\dots} is undefined}%^^A +% \changes{v3.20}{2016/04/05}{warning if \cs{l@\dots} is undefined} % \begin{macrocode} \Ifstr{\tb@nt@tocentrystyle}{}{% \@ifundefined{l@\tb@nt@type}{% @@ -1839,7 +1771,7 @@ }% % \end{macrocode} % \changes{v3.12}{2013/05/03}{fixed: definition of -% \cs{listof\meta{type}entryname} added as explained in the manual}%^^A +% \cs{listof\meta{type}entryname} added as explained in the manual} % \begin{macrocode} \@ifundefined{listof\tb@nt@ext entryname}{% \expandafter\let\csname listof\tb@nt@ext entryname\endcsname\tb@nt@name @@ -1855,8 +1787,8 @@ \@tempswafalse % \end{macrocode} % The float environments: -% \changes{v3.09a}{2011/05/30}{fixed: floats may have an optional argument}%^^A -% \changes{v3.12}{2013/12/10}{fixed: usage of default placement}%^^A +% \changes{v3.09a}{2011/05/30}{fixed: floats may have an optional argument} +% \changes{v3.12}{2013/12/10}{fixed: usage of default placement} % \begin{macrocode} \iftb@nt@float \expandafter\newcommand\expandafter*\csname fps@\tb@nt@type\expandafter @@ -1920,7 +1852,7 @@ % \cs{autodot}} % \changes{v3.13}{2014/07/31}{add \cs{autodot} only to hierachical % counters} -% \changes{v3.35}{2021/10/12}{ignore \texttt{counterwithin} if it is +% \changes{v3.35}{2021/10/12}{ignore \opt{counterwithin} if it is % ``\texttt{chapter}'' resp. ``\texttt{section}'' and \cs{ifmainmatter} is % not \cs{iffalse} and the counterwithin counter is < 1} % \begin{macrocode} @@ -1996,7 +1928,7 @@ } % \end{macrocode} % \begin{macro}{\tb@atbegin@after} -% \changes{v3.09a}{2011/05/30}{new internal}%^^A +% \changes{v3.09a}{2011/05/30}{added} % Processes command \#1 with argument \#2 and optional argument \#3 and than % \verb|\csname #2@atbegin\endcsname|. This is used to add % \verb|csname #2@atbegin\endcsname| at begin part of a float (but after @@ -2010,9 +1942,9 @@ % \end{macrocode} % \end{macro} % \begin{macro}{\tb@ifvalueisnotempty} -% \changes{v3.06}{2010/05/21}{new internal}%^^A -% \changes{v3.20}{2015/12/16}{simpler definition}%^^A -% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A +% \changes{v3.06}{2010/05/21}{added} +% \changes{v3.20}{2015/12/16}{simpler definition} +% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}} % This is only a helper for defining some of the keys. % \begin{macrocode} \newcommand*{\tb@ifvalueisnotempty}[1]{% @@ -2026,48 +1958,45 @@ } % \end{macrocode} % \end{macro} -% \begin{macro}{\tb@boolkey} -% \changes{v3.06}{2010/05/21}{new (internal)}%^^A -% \changes{v3.20}{2015/12/16}{undefined}%^^A -% \end{macro} -% \begin{macro}{\tb@dimkey} -% \changes{v3.06}{2010/05/21}{new (internal)}%^^A -% \changes{v3.20}{2015/12/16}{undefined}%^^A -% \end{macro} -% \begin{macro}{\tb@numkey} -% \changes{v3.06}{2010/05/21}{new internal}% -% \changes{v3.20}{2015/12/16}{undefined}%^^A +% \begin{macro}[noprint]{\tb@boolkey,\tb@dimkey,\tb@numkey} +% \changes{v3.06}{2010/05/21}{added} +% \changes{v3.20}{2015/12/16}{removed} % \end{macro} % \begin{macro}{\tb@nt@autofloattype} -% \changes{v3.06}{2010/06/01}{new internal}%^^A +% \changes{v3.06}{2010/06/01}{added} % This macro saves the float type for auto generated float types. % \begin{macrocode} \newcommand*{\tb@nt@autofloattype}{16} %</body> % \end{macrocode} % \end{macro} -% \end{macro} +% \end{command} % % -% \iffalse +% \begin{macrocode} %</package> -%<*load> +% \end{macrocode} +% +% \subsection{Loading the package} % Used at \KOMAScript{} packages and classes to load the package. % \begin{macrocode} +%<*load> \RequirePackage{tocbasic}[% %!KOMAScriptVersion ] -% \end{macrocode} %</load> -% \fi +% \end{macrocode} +% % % \Finale +% \PrintChanges % \endinput -% -% end of file `tocbasic.dtx' -%%% Local Variables: -%%% mode: doctex -%%% coding: utf-8 -%%% TeX-master: t -%%% End: +% Local Variables: +% mode: doctex +% ispell-local-dictionary: "en_US" +% eval: (flyspell-mode 1) +% TeX-master: t +% TeX-engine: luatex-dev +% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx")) +% End: diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf Binary files differindex 7279521831..d1fd891a65 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex index f63e0c8ba5..051eef62f8 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex @@ -34,8 +34,8 @@ \setlength{\parindent}{0pt} \definecolor{LightGray}{gray}{0.9} -\def\PLversion{1.1.3} -\def\PLdate{2 Mai 2022} +\def\PLversion{1.1.4} +\def\PLdate{7 Mai 2022} \tcbset{vignettes/.style={% nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,% @@ -190,6 +190,10 @@ Une commande pour simplifier l'écriture d'un ensemble, avec espaces \og automat Une commande pour créer, en \TikZ, la \textit{toile} pour une suite récurrente. +\vspace{1.5cm} + +\hfill{}\textit{Merci à Anne pour ses retours et sa relecture !} + \vfill \hrule @@ -230,15 +234,15 @@ On peut le voir comme un (maigre) complément à \ctex{ProfCollege}, et je préc \medskip -Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}. Il charge quelques \textsf{packages} utiles, mais j'ai fait le choix de laisser l'utilisateur gérer ses autres \textsf{packages}, comment notamment \ctex{amssymb} qui peut poser souci en fonction de la \textit{position} de son chargement. +Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee\}}. Il charge quelques {packages} utiles, mais j'ai fait le choix de laisser l'utilisateur gérer ses autres {packages}, comme notamment \ctex{amssymb} qui peut poser souci en fonction de la \textit{position} de son chargement. -L'utlisateur est libre de charger ses autres \textsf{packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels. +L'utilisateur est libre de charger ses autres {packages} utiles et habituels, ainsi que ses \textsf{polices} et \textsf{encodages} habituels. \end{codeidee} \smallskip \begin{codeinfo} -Le \textsf{package} \ctex{ProfLycee} charge les \textsf{packages} : +Le {package} \ctex{ProfLycee} charge les {packages} : \begin{itemize} \item \ctex{xcolor} avec les options \textsf{[table,svgnames]} ; @@ -252,7 +256,7 @@ Le \textsf{package} \ctex{ProfLycee} charge les \textsf{packages} : \smallskip \begin{codeidee} -J'ai utilisé les \ctex{packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} ! +J'ai utilisé les {packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} ! \end{codeidee} \smallskip @@ -299,7 +303,7 @@ Avec l'option \Cle{build}, l'utilisateur a la possibilité de placer les fichier \smallskip \begin{codeinfo} -Les options précédentes sont cumulables, et, pour info, elles conditionnent le chargement des \textsf{packages} avec les options : +Les options précédentes sont cumulables, et, pour info, elles conditionnent le chargement des {packages} avec les options : \begin{itemize} \item \ctex{\textbackslash setpythontexoutputdir\{./build/pythontex-files-\textbackslash jobname\}} @@ -318,6 +322,15 @@ L'idée est de conserver -- autant que faire se peut -- l'idée de \Cle{Clés} q \end{itemize} Pour certaines commandes, le système de \Cle{Clés} pose quelques soucis, de ce fait le fonctionnement est plus \textit{basique} avec un système d'\textsf{arguments} optionnels (entre \textsf{[\ldots]}) ou mandataires (entre \textsf{\{\ldots\}}). + +\smallskip + +À noter que les : +% +\begin{itemize} + \item les \Cle{Clés} peuvent être mises dans n'importe quel ordre, elles peuvent être omises lorsque la valeur par défaut est conservée ; + \item les \textsf{arguments} doivent, eux, être positionnés dans le \textit{bon ordre}. +\end{itemize} \end{codeidee} \smallskip @@ -337,7 +350,7 @@ Les \textsf{clés} ou \textsf{options} seront présentées dans des \textsf{boî \subsection{Outils disponibles} \begin{codeidee} -Le \ctex{package}, qui s'enrichira peut-être au fil du temps permet -- pour le moment -- de : +Le {package}, qui s'enrichira peut-être au fil du temps permet -- pour le moment -- de : \begin{itemize} \item tracer des splines cubiques avec gestion \textit{assez fine} des tangentes ; @@ -346,7 +359,9 @@ Le \ctex{package}, qui s'enrichira peut-être au fil du temps permet -- pour le \item mettre en forme du code \textsf{python} ou \textsf{pseudocode} ; \item simuler une fenêtre de terminal (win/unix/osx) ; \item créer un cartouche \textit{à la manière de} Capytale ; - \item créer rapidement un pavé droit ou un tétraèdre en \TikZ, avec gestion des nœuds. + \item créer rapidement un pavé droit ou un tétraèdre en \TikZ, avec gestion des nœuds ; + \item créer rapidement un ensemble d'éléments, avec gestion des espaces ; + \item créer, dans un environnement \TikZ, la \og toile \fg{} pour une suite récurrente. \end{itemize} \end{codeidee} @@ -371,7 +386,19 @@ En ce qui concerne les codes \textsf{python} et/ou \textsf{pseudocode}, il faudr \end{itemize} \end{codeinfo} +\subsection{Problèmes éventuels\ldots} + +\begin{codeinfo} +Certaines \textsf{commandes} sont à intégrer dans un environnement \TikZ, afin de pouvoir rajouter des éléments, elles ont été testés dans des environnement \ctex{tikzpicture}, à vérifier que la gestion des axes par l'environnement \ctex{axis} est compatible\ldots +\smallskip + +Certains packages ont une fâcheuse tendance à être tatillons sur leurs options (les \textit{fameux} \textsf{option clash for} \ldots) ou leur \textit{position} dans le chargement, donc attention notamment au chargement de \ctex{xcolor} et de \ctex{amsmath}. + +\smallskip + +En dehors de cela, ce sont des tests multiples et variés qui permettront de détecter d'éventuels bugs ! +\end{codeinfo} \newpage @@ -385,7 +412,7 @@ On va utiliser les notions suivantes pour paramétrer le tracé \og automatique \begin{itemize} \item il faut rentrer les \textcolor{purple}{\textsf{points de contrôle}} ; \item il faut préciser les \textcolor{ForestGreen}{\textsf{pentes des tangentes}} (pour le moment on travaille avec les mêmes à gauche et à droite\ldots) ; - \item on peut paramétrer les \textcolor{CadetBlue}{\textsf{coefficients}} pour \og affiner \fg{} les portions. + \item on peut \og affiner \fg{} les portions de courbe en paramétrant des \textcolor{CadetBlue}{\textsf{coefficients}} (voir un peu plus loin\ldots). \end{itemize} \medskip @@ -429,7 +456,7 @@ Certains paramètres peuvent être gérés directement dans la commande \ctex{\t \item l'épaisseur de la courbe par la \textsf{clé} \Cle{epaisseur} ;\hfill{}défaut \Cle{1.25pt} \item du style supplémentaire pour la courbe peut être rajouté, grâce à la \textsf{clé} \Cle{style=} ;\hfill{}défaut \Cle{vide} \item les coefficients de \textit{compensation} gérés par la \textsf{clé} \Cle{coeffs} ;\hfill{}défaut \Cle{3} - \item les points de contrôle ne sont pas affichés par défaut, mais \textsf{clé booléenne} \Cle{affpoints} permet de les afficher ;\hfill{}défaut \Cle{true} + \item les points de contrôle ne sont pas affichés par défaut, mais la \textsf{clé booléenne} \Cle{affpoints} permet de les afficher ;\hfill{}défaut \Cle{true} \item la taille des points de contrôle est géré par la \textsf{clé} \Cle{taillepoints}.\hfill{}défaut \Cle{2pt} \end{itemize} \end{codecles} @@ -445,7 +472,7 @@ Pour \textit{simplifier} la gestion des nombres dérivés, les points de contrô Le coefficient \Cle{3} signifie que, pour une courbe de Bézier entre $x=a$ et $x=b$, les points de contrôles seront situés à une distance radiale de $\frac{b-a}{3}$. -Pour \textit{écarter} les points de contrôle, on peut du coup \textsf{réduire} le coefficient de compensation ! +Pour \textit{écarter} les points de contrôle, on peut du coup \textit{réduire} le coefficient de compensation ! \medskip @@ -453,7 +480,7 @@ Pour des intervalles \textit{étroits}, la \textit{pente} peut paraître abrupte \medskip -Si jamais il existe ou ou des points \textit{anguleux}, le plus simple est de créer les splines en plusieurs fois. +Si jamais il existe (un ou) des points \textit{anguleux}, le plus simple est de créer les splines en plusieurs fois. \end{codeidee} \subsection{Exemples} @@ -464,7 +491,6 @@ Si jamais il existe ou ou des points \textit{anguleux}, le plus simple est de cr \def\xmin{-1}\def\xmax{11}\def\xgrille{1}\def\xgrilles{0.5} \def\ymin{-1}\def\ymax{5}\def\ygrille{1}\def\ygrilles{0.5} %axes et grilles -\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); \draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); \draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ; \draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ; @@ -595,7 +621,7 @@ NB : il peut fonctionner indépendamment de l'outil \ctex{\textbackslash splinet Cela permet de tracer la tangente : % \begin{itemize} - \item au point numéro numéro \Cle{point} de la liste \Cle{liste}, de coordonnées \textsf{xi/yi} avec la pente \textsf{di} ; + \item au point numéro \Cle{point} de la liste \Cle{liste}, de coordonnées \textsf{xi/yi} avec la pente \textsf{di} ; \item avec une épaisseur de \Cle{epaisseur}, une couleur \Cle{couleur} et un style additionnel \Cle{style} ; \item en la traçant à partir de \Cle{xl} avant \textsf{xi} et jusqu'à \Cle{xr} après \textsf{xi}. \end{itemize} @@ -716,7 +742,7 @@ Les sujets d'examens, depuis quelques années, peuvent comporter des \textit{cap \smallskip -À la manière du \textsf{package} \ctex{tkz-tab}, l'environnement de référence est un environnement \TikZ, dans lequel les lignes dont créées petit à petit, à l'aide de nœuds qui peuvent être réutilisés à loisir ultérieurement. +À la manière du {package} \ctex{tkz-tab}, l'environnement de référence est un environnement \TikZ, dans lequel les lignes sont créées petit à petit, à l'aide de nœuds qui peuvent être réutilisés à loisir ultérieurement. \end{codeidee} \subsection{La commande \og paramCF \fg} @@ -841,7 +867,7 @@ Pour \textit{illustrer} un peu les \Cle{clés}, un petit schéma, avec les diffà \subsection{Introduction} \begin{codeidee} -Le \textsf{package} \ctex{pythontex} permet d'insérer et d'exécuter du code Python. On peut : +Le {package} \ctex{pythontex} permet d'insérer et d'exécuter du code Python. On peut : \begin{itemize} \item présenter du code python ; @@ -937,7 +963,7 @@ Comme précédemment, des \Cle{Clés} qui permettent de \textit{légèrement} mo \subsection{Présentation de code Python via minted} \begin{codeinfo} -Pour celles et ceux qui ne sont pas à l'aise avec le \textsf{package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le \textsf{package} \ctex{minted} qui permet de présenter du code, et notamment python (il nécessite quand même une compilation avec l'option \ctex{--shell-escape} ou \ctex{-write18}). +Pour celles et ceux qui ne sont pas à l'aise avec le {package} \ctex{pythontex} et notamment sa spécificité pour compiler, il existe le {package} \ctex{minted} qui permet de présenter du code, et notamment python (il nécessite quand même une compilation avec l'option \ctex{--shell-escape} ou \ctex{-write18}). \end{codeinfo} \smallskip @@ -960,7 +986,7 @@ L'environnement \ctex{\textbackslash envcodepythonminted} permet de présenter d Plusieurs \Cle{arguments} (optionnels) sont disponibles : \begin{itemize} - \item la version \textit{étoilée} qui permet de pas afficher les numéros de lignes ; + \item la version \textit{étoilée} qui permet de ne pas afficher les numéros de lignes ; \item le premier argument optionnel concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{12cm} \item le second argument optionnel concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide} \end{itemize} @@ -1085,7 +1111,7 @@ Les \Cle{Clés} disponibles sont : \subsection{Introduction} \begin{codeinfo} -Le \textsf{package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tcolorbox} on peut obtenir une présentation similaire à celle du code Python. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code python, avec son système de \Cle{Clés}, car l'environnement \ctex{tcblisting} est un peu différent\ldots +Le {package} \ctex{listings} permet d'insérer et de présenter du code, et avec \ctex{tcolorbox} on peut obtenir une présentation similaire à celle du code Python. Pour le moment la \textit{philosophie} de la commande est un peu différente de celle du code python, avec son système de \Cle{Clés}, car l'environnement \ctex{tcblisting} est un peu différent\ldots \end{codeinfo} \subsection{Présentation de Pseudo-Code} @@ -1115,7 +1141,7 @@ De plus, le package \ctex{listings} avec \ctex{tcolorbox} ne permet pas de gére Plusieurs \Cle{arguments} (optionnels) sont disponibles : \begin{itemize} - \item la version \textit{étoilée} qui permet de pas afficher les numéros de lignes ; + \item la version \textit{étoilée} qui permet de ne pas afficher les numéros de lignes ; \item le premier argument optionnel concerne la \Cle{largeur} de la \ctex{tcbox} ;\hfill{}défaut \Cle{12cm} \item le second argument optionnel concerne les \Cle{options} de la \ctex{tcbox} en \textit{langage tcolorbox}.\hfill{}défaut \Cle{vide} \end{itemize} @@ -1172,7 +1198,7 @@ FinPour \subsection{Compléments} \begin{codeinfo} -À l'instar de \textsf{packages} existants, la \textit{philosophie} ici est de laisser l'utilisateur gérer \textit{son} langage pseudo-code. +À l'instar de packages existants, la \textit{philosophie} ici est de laisser l'utilisateur gérer \textit{son} langage pseudo-code. J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeur car cela reviendrait à \textit{imposer} des choix ! Donc ici, pas de coloration syntaxique ou de mise en évidence de mots clés, uniquement un formatage libre de pseudo-code. \end{codeinfo} @@ -1184,7 +1210,7 @@ J'ai fait le choix de ne pas définir des \textsf{mots clés} à mettre en valeu \smallskip -Celles et ceux qui sont déjà à l'aise avec les \textsf{packages} \ctex{listings} ou \ctex{minted} doivent déjà avoir leur environnement personnel prêt ! +Celles et ceux qui sont déjà à l'aise avec les packages \ctex{listings} ou \ctex{minted} doivent déjà avoir leur environnement personnel prêt ! Il s'agit ici de présenter une version \og clé en main \fg{}. \end{codeidee} @@ -1200,7 +1226,7 @@ L'idée des \textsf{commandes} suivantes est de permettre de simuler des fenêtr \smallskip -L'idée de base vient du \textsf{package} \ctex{termsim}, mais ici la gestion du \textsf{code} et des \textsf{fenêtres} est légèrement différente. +L'idée de base vient du {package} \ctex{termsim}, mais ici la gestion du \textsf{code} et des \textsf{fenêtres} est légèrement différente. \smallskip @@ -1242,7 +1268,7 @@ Peu d'options pour ces commandes : \begin{codeinfo} Le \textsf{code} n'est pas formaté, ni mis en coloration syntaxique. -De ce fait tout les caractères sont autorisés, même si l'éditeur pourra détecter le \% comme le début d'un commentaire, tout sera intégré dans le code mis en forme ! +De ce fait tous les caractères sont autorisés : même si l'éditeur pourra détecter le \% comme le début d'un commentaire, tout sera intégré dans le code mis en forme ! \end{codeinfo} \medskip @@ -1392,7 +1418,7 @@ L'idée est d'obtenir un pavé droit, dans un environnement \TikZ, avec les nœu \begin{codetex}[listing only] ... \begin{tikzpicture}[<options>] - \paveCF[<options>] + \pavePL[<options>] ... \end{tikzpicture} \end{codetex} @@ -1705,7 +1731,7 @@ Peu d'options pour ces commandes : $\ensPL{a/b/c/d/e}$ $\ensPL[mathpunct=false]{a/b/c/d/e}$ $\ensPL[sep={,}]{a/b/c/d/e}$ -$\ensPL[option={\strut}]{a/b/c/d/e}$ +$\ensPL[option={\strut}]{a/b/c/d/e}$ % \strut pour "augmenter" un peu la hauteur des {} $\ensPL{ \frac{1}{1+\frac{1}{3}} / b / c / d / \frac{1}{2} }$ \end{codetex} @@ -1809,7 +1835,6 @@ On va tracer la \textit{toile} des 4 premiers termes de la suite récurrente $\b \def\xmin{0}\def\xmax{10}\def\xgrille{1}\def\xgrilles{0.5} \def\ymin{0}\def\ymax{8}\def\ygrille{1}\def\ygrilles{0.5} %axes et grilles -\draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); \draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); \draw[line width=1.5pt,->,darkgray] (\xmin,0)--(\xmax,0) ; \draw[line width=1.5pt,->,darkgray] (0,\ymin)--(0,\ymax) ; @@ -1909,11 +1934,159 @@ Peut-être que -- ultérieurement -- des options \textit{booléennes} seront dis \newpage +\section{Cercle trigo} + +\subsection{Idée} + +\begin{codeidee} +L'idée est d'obtenir une commande pour tracer (en \TikZ) un cercle trigonométrique, avec personnalisation des affichages. + +\smallskip + +Comme pour les autres commandes \TikZ, l'idée est de laisser l'utilisateur définir et créer son environnement \TikZ, et d'insérer la commande \ctex{cercletrigoPL} pour afficher le cercle. +\end{codeidee} + +\begin{codetex}[tikz lower] +%code tikz +\cercletrigoPL +\end{codetex} + +\subsection{Commandes} + +\begin{codetex}[listing only] +... +\begin{tikzpicture}[<options>] + ... + \cercletrigoPL[<clés>] + ... +\end{tikzpicture} +\end{codetex} + +\begin{codecles} +Plusieurs \Cle{Clés} sont disponibles pour cette commande : + +\begin{itemize} + \item la clé \Cle{rayon} qui définit le rayon du cercle ;\hfill{}défaut \Cle{3} + \item la clé \Cle{epaisseur} qui donne l'épaisseur des traits de base ;\hfill{}défaut \Cle{thick} + \item la clé \Cle{marge} qui est l'\textit{écartement} de axes ;\hfill{}défaut \Cle{0.25} + \item la clé \Cle{taillevaleurs} qui est la taille des valeurs remarquables ;\hfill{}défaut \Cle{scriptsize} + \item la clé \Cle{tailleangles} qui est la taille des angles ;\hfill{}défaut \Cle{footnotesize} + \item la clé \Cle{couleurfond} qui correspond à la couleur de fond des labels ;\hfill{}défaut \Cle{white} + \item la clé \Cle{decal} qui correspond au décalage des labels par rapport au cercle ;\hfill{}défaut \Cle{10pt} + \item un booléen \Cle{moinspi} qui bascule les angles \og -pipi \fg{} à \og zerodeuxpi \fg{} ;\hfill{}défaut \Cle{true} + \item un booléen \Cle{affangles} qui permet d'afficher les angles ;\hfill{}défaut \Cle{true} + \item un booléen \Cle{afftraits} qui permet d'afficher les \textit{traits de construction} ;\hfill{}défaut \Cle{true} + \item un booléen \Cle{affvaleurs} qui permet d'afficher les valeurs remarquables.\hfill{}défaut \Cle{true} +\end{itemize} +\end{codecles} + +\pagebreak + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture}[line join=bevel] + \cercletrigoPL[rayon=2.5,affvaleurs=false,decal=8pt] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture}[line join=bevel] + \cercletrigoPL[rayon=2.5,affangles=false] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture}[line join=bevel] + \cercletrigoPL[rayon=2.5,moinspi=false,couleurfond=orange!15] + \end{tikzpicture} +\end{center} +\end{codetex} + +\medskip + +\begin{codesortie} +\begin{center} + \begin{tikzpicture}[line join=bevel] + \cercletrigoPL[rayon=2,affvaleurs=false,decal=8pt] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture}[line join=bevel] + \cercletrigoPL[rayon=2,affangles=false] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture}[line join=bevel] + \cercletrigoPL[rayon=2,moinspi=false,couleurfond=orange!15,taillevaleurs=\tiny] + \end{tikzpicture} +\end{center} +\end{codesortie} + +\subsection{Équations trigos} + +\begin{codeinfo} +En plus des \Cle{Clés} précédentes, il existe un complément pour visualiser des solutions d'équations simples du type $\cos(x)=\ldots$ ou $\sin(x)=\ldots$. +\end{codeinfo} + +\begin{codecles} +Les \Cle{Clés} pour cette possibilité sont : + +\begin{itemize} + \item un booléen \Cle{equationcos} pour \textit{activer} \og $\cos=$ \fg; \hfill{}défaut \Cle{false} + \item un booléen \Cle{equationsin} pour \textit{activer} \og $\sin=$ \fg;\hfill{}défaut \Cle{false} + \item la clé \Cle{sin} qui est la valeur de l'angle (en degrés) du sin ;\hfill{}défaut \Cle{30} + \item la clé \Cle{cos} qui est la valeur de l'angle (en degrés) cos ;\hfill{}défaut \Cle{45} + \item la clé \Cle{couleursol} qui est la couleur des \textit{solutions}.\hfill{}défaut \Cle{blue} +\end{itemize} +\end{codecles} + +\begin{codetex}[listing only] +\begin{center} + \begin{tikzpicture} + \cercletrigoPL[% + affangles=false,affvaleurs=false,afftraits=false,rayon=2,equationsin,sin=-30,couleursol=red] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \cercletrigoPL[% + affangles=false,affvaleurs=false,afftraits=false,rayon=2,equationcos,cos=135,couleursol=orange] + \end{tikzpicture} + + \medskip + + \begin{tikzpicture} + \cercletrigoPL[% + afftraits=false,affangles=false,rayon=2.75,equationcos,cos=60,couleursol=purple,taillevaleurs=\tiny] + \end{tikzpicture} +\end{center} +\end{codetex} + +\medskip + +\begin{codesortie} +\begin{center} + \begin{tikzpicture} + \cercletrigoPL[% + affangles=false,affvaleurs=false,afftraits=false,rayon=2,equationsin,sin=-30,couleursol=red] + \end{tikzpicture} + ~~~~ + \begin{tikzpicture} + \cercletrigoPL[% + affangles=false,affvaleurs=false,afftraits=false,rayon=2,equationcos,cos=150,couleursol=orange] + \end{tikzpicture} + + \medskip + + \begin{tikzpicture} + \cercletrigoPL[% + afftraits=false,affangles=false,rayon=2.75,equationcos,cos=60,couleursol=purple,taillevaleurs=\tiny] + \end{tikzpicture} +\end{center} +\end{codesortie} + +\newpage + \section{Historique} -{\small \bverb|v1.1.3|~:~~~~Ajout des commandes \textsf{convertfraction}, \textsf{ensPL} et \textsf{recurrPL} (changement de numérotation du package également) +{\small \bverb|v1.1.4|~:~~~~Ajout d'une commande \textsf{cercletrigoPL} pour, en \TikZ, créer facilement un cercle trigo avec \textit{options} + +{\small \bverb|v1.1.3|~:~~~~Ajout des commandes \textsf{convertfraction}, \textsf{ensPL} et \textsf{recurrPL} -{\small \bverb|v1.1.1|~:~~~~Modification mineure de l'environnement CF, avec prise de charge de la taille du texte ! +{\small \bverb|v1.1.1|~:~~~~Modification mineure de l'environnement \textsf{ligneCF} (calcul formel), avec prise de charge de la taille du texte ! {\small \bverb|v1.1.0|~:~~~~Ajout d'une commande \textsf{tetraPL} pour créer des tétraèdres (avec nœuds) en \TikZ diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty index 44e3c2651c..b70f3eb23b 100644 --- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty +++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty @@ -3,9 +3,10 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/05/02 - v1.1.3 - Aide pour l'utilisation de LaTeX en lycée] +\ProvidesPackage{ProfLycee}[2022/05/07 - v1.1.4 - Aide pour l'utilisation de LaTeX en lycée] +% 1.1.4 Ajout d'une commande cercletrigoPL pour, en \TikZ, créer facilement un cercle trigo avec options % 1.1.3 Ajout d'une commande ensemble pour créer un ensemble à partir d'une liste -% 1.1.2 Modifications mineures +% 1.1.2 Modifs mineures % 1.1.1 Modification mineure de l'environnement CF, avec prise de charge de la taille du texte ! % 1.1.0 Ajout d'une commande tetraPL pour un tetraèdre dans un environnement TikZ % 1.0.9 Ajout d'une commande pavePL pour un pave droit dans un environnement TikZ @@ -884,4 +885,134 @@ } } +%================CercleTrigo=========== OK !! +\defKV[cercletrigo]{% + rayon=\def\PLcerclerayon{#1},% + epaisseur=\def\PLcerclethick{#1},% + epaisseursol=\def\PLcerclesolthick{#1},% + marge=\def\PLcerclemarge{#1},% + taillevaleurs=\def\PLcerclevaleurs{#1},% + tailleangles=\def\PLcercleangles{#1},% + couleurfond=\def\PLcerclefond{#1},% + decal=\def\PLcercledecal{#1},% + cos=\def\PLcerclevalcos{#1},% + sin=\def\PLcerclevalsin{#1},% + couleursol=\def\PLcerclecoleq{#1} +} + +\setKVdefault[cercletrigo]{ + rayon=3,% + marge=0.25,% + decal=10pt,% + epaisseur=thick,% + epaisseursol=very thick,% + affangles=true,% + afftraits=true,% + affvaleurs=true,% + moinspi=true,% + taillevaleurs=\scriptsize,% + tailleangles=\footnotesize,% + couleurfond=white,% + equationcos=false,% + equationsin=false,% + cos=45,% + sin=30,% + couleursol=blue +} + +\newcommand\cercletrigoPL[1][]{% + \useKVdefault[cercletrigo] + \setKV[cercletrigo]{#1} + \tikzset{PLval/.style={inner sep=1pt,font=\PLcerclevaleurs,fill=\PLcerclefond}} + \tikzset{PLagl/.style={inner sep=1pt,font=\PLcercleangles,fill=\PLcerclefond}} + %valeurs remarquables + \ifboolKV[cercletrigo]{affangles} + {%valeursdudessus + \draw ({\PLcerclerayon},0) node[above right=2pt,font=\PLcercleangles] {0} ; + \draw ($(30:{\PLcerclerayon})+(30:\PLcercledecal)$) node[PLagl] {$\tfrac{\pi}{6}$} ; + \draw ($(45:{\PLcerclerayon})+(45:\PLcercledecal)$) node[PLagl] {$\tfrac{\pi}{4}$} ; + \draw ($(60:{\PLcerclerayon})+(60:\PLcercledecal)$) node[PLagl] {$\tfrac{\pi}{3}$} ; + \draw (0,{\PLcerclerayon}) node[above right=2pt,PLagl] {$\tfrac{\pi}{2}$} ; + \draw ({-\PLcerclerayon},0) node[above left=2pt,PLagl] {$\pi$} ; + \draw ($(150:{\PLcerclerayon})+(150:\PLcercledecal)$) node[PLagl] {$\tfrac{5\pi}{6}$} ; + \draw ($(135:{\PLcerclerayon})+(135:\PLcercledecal)$) node[PLagl] {$\tfrac{3\pi}{4}$} ; + \draw ($(120:{\PLcerclerayon})+(120:\PLcercledecal)$) node[PLagl] {$\tfrac{2\pi}{3}$} ; + \draw ($(30:{\PLcerclerayon})+(30:\PLcercledecal)$) node[PLagl] {$\tfrac{\pi}{6}$} ; + %valeursdudessous + \draw ($(-30:{\PLcerclerayon})+(-30:\PLcercledecal)$) node[PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-}{11}\pi}{6}$} ; + \draw ($(-45:{\PLcerclerayon})+(-45:\PLcercledecal)$) node[PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-}{7}\pi}{4}$} ; + \draw ($(-60:{\PLcerclerayon})+(-60:\PLcercledecal)$) node[PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-}{5}\pi}{3}$} ; + \draw (0,{-\PLcerclerayon}) node[below right=2pt,PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-}{3}\pi}{2}$} ; + \draw ($(-120:{\PLcerclerayon})+(-120:\PLcercledecal)$) node[PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-2}{4}\pi}{3}$} ; + \draw ($(-135:{\PLcerclerayon})+(-135:\PLcercledecal)$) node[PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-3}{5}\pi}{4}$} ; + \draw ($(-150:{\PLcerclerayon})+(-150:\PLcercledecal)$) node[PLagl] {$\tfrac{\ifboolKV[cercletrigo]{moinspi}{-5}{7}\pi}{6}$} ; + \ifboolKV[cercletrigo]{moinspi} + {\draw ({-\PLcerclerayon},0) node[below left=2pt,PLagl] {$-\pi$} ;} + {\draw ({\PLcerclerayon},0) node[below right=2pt,PLagl] {$2\pi$} ;} + }% + {} + %tracés + \draw[\PLcerclethick,->] ({-\PLcerclerayon-\PLcerclemarge},0)--({\PLcerclerayon+\PLcerclemarge},0) ; + \draw[\PLcerclethick,->] (0,{-\PLcerclerayon-\PLcerclemarge})--(0,{\PLcerclerayon+\PLcerclemarge}) ; + \draw[\PLcerclethick] (0,0) circle[radius=\PLcerclerayon] ; + \draw (0,0) node[below left=2pt,PLval] {0} ; + %equations + \ifboolKV[cercletrigo]{equationcos} + {%traitsdeconstructioncos + \draw[\PLcerclethick,dotted,gray] (-45:\PLcerclerayon) -- (135:\PLcerclerayon) + (-135:\PLcerclerayon) -- (45:\PLcerclerayon) + (30:\PLcerclerayon) -- (150:\PLcerclerayon) + (-30:\PLcerclerayon) -- (-150:\PLcerclerayon) + (-60:\PLcerclerayon)--(60:\PLcerclerayon) + (-120:\PLcerclerayon)--(120:\PLcerclerayon) ; + \draw[\PLcerclesolthick,\PLcerclecoleq] ({\PLcerclevalcos}:\PLcerclerayon)--({-\PLcerclevalcos}:\PLcerclerayon) ; + \filldraw[\PLcerclecoleq] ({\PLcerclevalcos}:\PLcerclerayon) circle[radius=2pt] ({-\PLcerclevalcos}:\PLcerclerayon) circle[radius=2pt] ;% + } + {} + \ifboolKV[cercletrigo]{equationsin} + {%traitsdeconstructioncos + \draw[\PLcerclethick,dotted,gray] (-45:\PLcerclerayon) -- (135:\PLcerclerayon) + (-135:\PLcerclerayon) -- (45:\PLcerclerayon) + (30:\PLcerclerayon) -- (150:\PLcerclerayon) + (-30:\PLcerclerayon) -- (-150:\PLcerclerayon) + (-60:\PLcerclerayon)--(60:\PLcerclerayon) + (-120:\PLcerclerayon)--(120:\PLcerclerayon) ; + \draw[\PLcerclesolthick,\PLcerclecoleq] ({\PLcerclevalsin}:\PLcerclerayon)--({180-\PLcerclevalsin}:\PLcerclerayon) ; + \filldraw[\PLcerclecoleq] ({\PLcerclevalsin}:\PLcerclerayon) circle[radius=2pt] ({180-\PLcerclevalsin}:\PLcerclerayon) circle[radius=2pt] ;% + } + {} + %valeurs + \ifboolKV[cercletrigo]{affvaleurs} + {% + \draw ({0.5*\PLcerclerayon},0) node[below=2pt,PLval] {$\tfrac{1}{2}$} ; + \draw ({-0.5*\PLcerclerayon},0) node[below=2pt,PLval] {$-\tfrac{1}{2}$} ; + \draw (0,{0.5*\PLcerclerayon}) node[left=2pt,PLval] {$\tfrac{1}{2}$} ; + \draw (0,{-0.5*\PLcerclerayon}) node[left=2pt,PLval] {$-\tfrac{1}{2}$} ; + \draw ({0.866*\PLcerclerayon},0) node[below=2pt,PLval] {$\tfrac{\sqrt{3}}{2}$} ; + \draw ({-0.866*\PLcerclerayon},0) node[below=2pt,PLval] {$-\tfrac{\sqrt{3}}{2}$} ; + \draw (0,{0.866*\PLcerclerayon}) node[left=2pt,PLval] {$\tfrac{\sqrt{3}}{2}$} ; + \draw (0,{-0.866*\PLcerclerayon}) node[left=2pt,PLval] {$-\tfrac{\sqrt{3}}{2}$} ; + \draw ({0.707*\PLcerclerayon},0) node[above=2pt,PLval] {$\tfrac{\sqrt{2}}{2}$} ; + \draw ({-0.707*\PLcerclerayon},0) node[above=2pt,PLval] {$-\tfrac{\sqrt{2}}{2}$} ; + \draw (0,{0.707*\PLcerclerayon}) node[right=2pt,PLval] {$\tfrac{\sqrt{2}}{2}$} ; + \draw (0,{-0.707*\PLcerclerayon}) node[right=2pt,PLval] {$-\tfrac{\sqrt{2}}{2}$} ; + }% + {} + %valeurs remarquables en dernier + \ifboolKV[cercletrigo]{afftraits} + {% + \draw[\PLcerclethick,dotted,gray] (-120:\PLcerclerayon) rectangle (60:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (-150:\PLcerclerayon) rectangle (30:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (-135:\PLcerclerayon) rectangle (45:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (-120:\PLcerclerayon)--(60:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (-150:\PLcerclerayon)--(30:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (-135:\PLcerclerayon)--(45:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (120:\PLcerclerayon)--(-60:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (150:\PLcerclerayon)--(-30:\PLcerclerayon) ; + \draw[\PLcerclethick,dotted,gray] (135:\PLcerclerayon)--(-45:\PLcerclerayon) ; + }% + {} +} + + \endinput
\ No newline at end of file diff --git a/macros/latex/contrib/runcode/README b/macros/latex/contrib/runcode/README index 4ab7c5c2c3..15a32aa794 100644 --- a/macros/latex/contrib/runcode/README +++ b/macros/latex/contrib/runcode/README @@ -1,11 +1,11 @@ -LaTeX Package: runcode 2020/10/04 v1.0 +LaTeX Package: runcode 2022/05/03 v1.2 ---------------------------------------- The runcode package enables the execution of source code (e.g., R, -Julia, Matlab, shell, etc.) and embed the results in the pdf file +Julia, Matlab, shell, Python, etc.) and embed the results in the pdf file when compiling the LaTeX file. To use this package the shell-escape option must be enabled. -Copyright (C) 2020 +Copyright (C) 2020-2022 Haim Bar and HaiYing Wang https://github.com/Ossifragus/runcode Files: diff --git a/macros/latex/contrib/runcode/runcode.pdf b/macros/latex/contrib/runcode/runcode.pdf Binary files differindex 13fcdea4da..f80903c471 100644 --- a/macros/latex/contrib/runcode/runcode.pdf +++ b/macros/latex/contrib/runcode/runcode.pdf diff --git a/macros/latex/contrib/runcode/runcode.sty b/macros/latex/contrib/runcode/runcode.sty index 6737fd213f..187bd77b0a 100644 --- a/macros/latex/contrib/runcode/runcode.sty +++ b/macros/latex/contrib/runcode/runcode.sty @@ -79,12 +79,33 @@ \fi } +\DeclareOption{python}{ + % create a configuration file for Python server if it does not exist. + \IfFileExists{python.config}{}{ + \newwrite\tempfile + \immediate\openout\tempfile=python.config + \immediate\write\tempfile{[SERVERCONFIG]} + \immediate\write\tempfile{PORT = 65433} + \immediate\write\tempfile{DEBUGFILE = pythondebug.txt} + \immediate\write\tempfile{PIPETIMEOUT = 300} + \immediate\closeout\tempfile + } + % Start the server. Need to run just once. Can comment out after the first + % compilation, but remember to terminate the server + \ifnotnohup + {\immediate\write18{python3 -c 'from talk2stat.talk2stat import server,client; server("./","python") if not client("./","python","``` ```") else print("server is already running")'}} + \else + {\immediate\write18{nohup python3 -c 'from talk2stat.talk2stat import server,client; server("./","python") if not client("./","python","``` ```") else print("server is already running")' &}} + \fi +} + \DeclareOption{stopserver}{ \AtEndDocument{ %% stop the server when the pdf compilation is done. \immediate\write18{python3 -c 'from talk2stat.talk2stat import client; client("./","R","QUIT")'} \immediate\write18{python3 -c 'from talk2stat.talk2stat import client; client("./","julia","QUIT")'} \immediate\write18{python3 -c 'from talk2stat.talk2stat import client; client("./","matlab","QUIT")'} + \immediate\write18{python3 -c 'from talk2stat.talk2stat import client; client("./","python","QUIT")'} }} \ProcessOptions* @@ -294,4 +315,58 @@ \NewDocumentCommand{\inlnMatlab}{O{python3 -c 'from talk2stat.talk2stat import client; client("./","matlab","\tmpname.txt")'} m O{inline}}{\IfBeginWith{#2}{```}{\inln{python3 -c 'from talk2stat.talk2stat import client;client("./","matlab","#2")'}{#2}[#3]}{\inln{#1}{#2}[#3]}} + +\NewDocumentCommand{\runPython}{O{python3 -c 'from talk2stat.talk2stat import client; client("./","python","#2")'} m m O{}} +{ + \def\runcmd{python3 -c 'from talk2stat.talk2stat import client; client("./","python","#2")'} + \ifstrequal{#1}{\runcmd} + {\runExtCode{#1}{}{#3}[#4]} + {\runExtCode{#1}{#2}{#3}[#4]} +} + +\NewDocumentCommand{\inlnPython}{O{python3 -c 'from talk2stat.talk2stat import client; client("./","python","\tmpname.txt")'} m O{inline}}{\IfBeginWith{#2}{```}{\inln{python3 -c 'from talk2stat.talk2stat import client;client("./","python","#2")'}{#2}[#3]}{\inln{#1}{#2}[#3]}} + + +%%%%%%%% +% For Python batch mode, implement saving and restoring session +% Arg #1 is the source file name, +% Arg #2 is the output file name + +\NewDocumentCommand{\runPythonBatch}{m m}{%\-\\ + \stepcounter{codeOutput} + \ifthenelse{\isempty{#2}} % set the output file name + { \setvalue{\tmpname}{tmp/\jobname_tmp\thecodeOutput.tex} } + { \setvalue{\tmpname}{tmp/#2.tex} } + + \IfFileExists{#1}{ + \ifruncode + \newwrite\tempfile + \immediate\openout\tempfile=tmp/\jobname_#1 + \immediate\write\tempfile{import dill} + \immediate\write\tempfile{from os.path import exists} + \immediate\write\tempfile{if exists('tmp/session'):} + \immediate\write\tempfile{ dill.load_session('tmp/session')} + \immediate\write\tempfile{} + \newread\infile + \openin\infile=#1 + \begingroup\endlinechar=-1 + \loop\unless\ifeof\infile + \read\infile to\fileline % Read one line and store it into \fileline + \immediate\write\tempfile{\unexpanded\expandafter{\fileline}} % print the content to copy.txt + \repeat + \endgroup + \closein\infile + \immediate\write\tempfile{dill.dump_session('tmp/session')} + \immediate\write\tempfile{} + \immediate\closeout\tempfile + \immediate\write18{python3 tmp/\jobname_#1 > \tmpname} + \fi + } + { + \immediate\write18{cat /dev/null > \tmpname} + \textcolor{red}{\textbf{runPythonBatch: File #1 does not exist!}} + } +} + + \endinput diff --git a/macros/latex/contrib/runcode/runcode.tex b/macros/latex/contrib/runcode/runcode.tex index 977a41bc24..1d1dccdf94 100644 --- a/macros/latex/contrib/runcode/runcode.tex +++ b/macros/latex/contrib/runcode/runcode.tex @@ -15,9 +15,9 @@ \documentclass{ltxdoc} \usepackage[hyphens]{url} %\usepackage{runcode} -\ProvidesPackage{runcode}[2021/04/17 runcode v1.1] +\ProvidesPackage{runcode}[2022/05/03 runcode v1.1] \begin{document} - \title{The \textsf{runcode} package\thanks{This document corresponds to \textsf{runcode}~v1.1, dated~2021/04/17.}} + \title{The \textsf{runcode} package\thanks{This document corresponds to \textsf{runcode}~v1.2, dated~2022/05/03.}} \author{Haim Bar and HaiYing Wang \\ \texttt{haim.bar@uconn.edu}, \texttt{haiying.wang@uconn.edu}} \maketitle @@ -141,8 +141,32 @@ Available options are: \end{itemize} +\bigskip +\noindent \verb|\runPython[Arg1]{Arg2}{Arg3}[Arg4]| runs an external Python code file. +\begin{itemize} +\item \texttt{Arg1} is optional and uses \textit{talk2stat]}'s Python server by default. +\item \texttt{Arg2}, \texttt{Arg3}, and \texttt{Arg4} have the same effects as those of the basic command \verb|\runExtCode|. +\end{itemize} + +\noindent \verb|\inlnPython[Arg1]{Arg2}[Arg3]| runs Python source code (\texttt{Arg2}) and displays the output in line. +\begin{itemize} +\item \texttt{Arg1} is optional and uses the Python server by default. +\item \texttt{Arg2} is the R source code to run. If the Python source code is wrapped between \verb|```| on both sides (as in the markdown grammar), then it will be implemented directly; otherwise the code will be written to a file on the disk and then be called. +\item \texttt{Arg3} has the same effect as that of the basic command \verb|\inln|. +\end{itemize} + +\noindent \verb|\runPythonBatch[Arg1][Arg2]| runs an external Python source code (\texttt{Arg1}) in batch mode (without a server running). Python (at least currently), unlike the other languages we use, does not have an option to save and restore a session, which means that once a Python session ends, the working environment (variable, functions) is deleted. In order to allow a batch-mode in Python, we implemented such capability. It requires the dill module (https://pypi.org/project/dill/) module, which has to be installed via `pip3 install dill`. +\begin{itemize} +\item \texttt{Arg1} is the Python source code to run. +\item \texttt{Arg2} is the output file name. +\end{itemize} + + + + \section{Revisions} \begin{itemize} +\item v1.2, May 3, 2022: Added python options (server and batch). \item v1.1, April 17, 2021: Added a nohup option; improved error handling (missing code files, zero bytes in output files.) \end{itemize} diff --git a/macros/latex/contrib/swfigure/README.txt b/macros/latex/contrib/swfigure/README.txt index 5852a0aa98..dc03f25574 100644 --- a/macros/latex/contrib/swfigure/README.txt +++ b/macros/latex/contrib/swfigure/README.txt @@ -6,7 +6,7 @@ %% File README.txt for package swfigure - [2022-01-04 v.0.9.19 Managing large and spread wide figures] + [2022-04-24 v.0.9.20 Managing large and spread wide figures] This bundle contains the swfigure.dtx, swfigure-examples.tex, and README.txt files plus eight fake figures with extension .jpg or .pdf and a screenshot with extension .pdf. diff --git a/macros/latex/contrib/swfigure/swfigure-examples.pdf b/macros/latex/contrib/swfigure/swfigure-examples.pdf Binary files differindex be47bf44e9..89092c2a87 100644 --- a/macros/latex/contrib/swfigure/swfigure-examples.pdf +++ b/macros/latex/contrib/swfigure/swfigure-examples.pdf diff --git a/macros/latex/contrib/swfigure/swfigure-examples.tex b/macros/latex/contrib/swfigure/swfigure-examples.tex index ebc8d3fd7f..e0dd722ba4 100644 --- a/macros/latex/contrib/swfigure/swfigure-examples.tex +++ b/macros/latex/contrib/swfigure/swfigure-examples.tex @@ -1,9 +1,10 @@ % !TEX encoding = UTF-8 Unicode % !TEX TS-program = pdflatex \documentclass[a4paper]{book}\errorcontextlines=100 -\usepackage[utf8]{inputenc}\usepackage[T1]{fontenc} -\usepackage{lmodern,textcomp,multicol,enumitem,mflogo,xcolor,fancyvrb} +\usepackage[T1]{fontenc} +\usepackage{lmodern,multicol,enumitem,mflogo,xcolor,fancyvrb} \usepackage{swfigure} +\usepackage[german,italian,english]{babel} \usepackage{hyperref}\hypersetup{pdfpagelayout=TwoColumnRight} \providecommand*\diff{\mathop{}\!\mathrm{d}} @@ -82,6 +83,11 @@ \date{Version \fileversion~---~ Last revised \filedate} \maketitle +% Uncomment one of these lines just to test the correct prefix to the +% figure number +%\selectlanguage{italian} +%\selectlanguage{german} + \begin{abstract} Managing large images is not that straightforward to do. Package \pack{swfigure} was initially created to handle such large figures that required a whole spread to display them; the package initial letters SW are the acronym of Spread Wide. While developing this package, other display modes were introduced, so that with a single user command it is possible to display a large image in five different modes, that are to be chosen according to the figure aspect ratio, and the page design of the document. This package works pretty well with two side printed documents with a symmetrical page design, i.e. with the same dimension for the inner margins and, respectively, the outer margins. The documented \TeX\ file that describes the software does not have a symmetrical design, therefore this second file is necessary in order to show some examples. @@ -330,7 +336,8 @@ them the objects in space and time. Because of our necessary ignorance of the conditions, it must not be supposed that, then, formal logic (and what we have alone been able to show is that this is true) is a representation of the never-ending regress in the -\begin{DFimage}[HS]{HSfakeimage}{A Horizontal Slim fake image}[fig:HSfake] +%\begin{DFimage}[HS]{HSfakeimage}{A Horizontal Slim fake image}[fig:HSfake] +\begin{DFimage}[HS]{felsen-wasser-small}{A Horizontal Slim fake image}[fig:HSfake] series of empirical conditions, but the discipline of pure reason, in so far as this expounds the contradictory rules of metaphysics, depends on the diff --git a/macros/latex/contrib/swfigure/swfigure.dtx b/macros/latex/contrib/swfigure/swfigure.dtx index fe53b10e92..7c10e67613 100644 --- a/macros/latex/contrib/swfigure/swfigure.dtx +++ b/macros/latex/contrib/swfigure/swfigure.dtx @@ -43,7 +43,7 @@ files swfigure.sty and swfigure.pdf %</driver> %<+package>\ProvidesPackage{swfigure}% %<*package> - [2022-01-04 v.0.9.19 Managing large and spread wide figures] + [2022-04-24 v.0.9.20 Managing large and spread wide figures] %</package> %<*driver> \documentclass[a4paper]{ltxdoc}\errorcontextlines=9 @@ -107,7 +107,7 @@ Managing large and spread wide figures} %</driver> % \fi % -% \CheckSum{1042} +% \CheckSum{1046} % % \begin{abstract} % This package defines a single command that with different options can @@ -295,7 +295,9 @@ Managing large and spread wide figures} % better to enter a shorter text in that list. % %\item[\meta{caption}] -% is the caption text. +% is the caption text. Its number prefix is adapted to the main or the +% current language setting as it happens with any figure in standard +% \LaTeX. % %\item[\meta{label}] % this optional argument is the string that forms the \cs{label} command @@ -437,9 +439,9 @@ Managing large and spread wide figures} % image, besides occupying an A3 page, should have a minimum white % margin around, so that a caption can be superimposed to the image white % part if its original bottom margin that, upon rotation, becomes the -% right one, is large nough. If the original image has no margins, the -% caption is typeset ove the image, but it may be colored with contrasting -% color compared to the average background one. +% right one, is large enough. If the original image has no margins, the +% caption is typeset ove the image, but it may be coloured with +% contrasting color compared to the average background one. % % \item[\texttt{TH}] % This mode is suited for tall figures that do not show well when their @@ -462,7 +464,7 @@ Managing large and spread wide figures} % and examines the \texttt{.log} file where he finds the explanation % of the possibly too bad result. % \item[\texttt{TW}] -% A another Total Width mode is is defined such that the scaled +% A another Total Width mode is defined such that the scaled % image and its (side) caption occupy the upper part of the page/paper. % The given image is scaled to occupy the internal margin plus 80\% % of the text block width; the remaining horizontal space is provided @@ -477,7 +479,7 @@ Managing large and spread wide figures} % aspect ratio images, from a not so slim tall portrait image to % a landscape image. A square image, scaled as described above, % may occupy approximately the upper half of the page. -% The caption is always well typedset in the adjacent free space, +% The caption is always well typeset in the adjacent free space, % and it is possible to slightly modify its measure by using an % optional argument. %\end{description} @@ -680,14 +682,14 @@ Managing large and spread wide figures} % \begin{macrocode} \NewDocumentCommand\DFcaption{O{#2} m o}{\refstepcounter{figure}% \vtop to 0pt{\hsize=\textheight\parindent=0pt\leavevmode - Figure \thefigure\quad #2\vss}% + \figurename\ \thefigure\quad #2\vss}% \addcontentsline{lof}{figure}{\protect\numberline{\thefigure}#1} \IfValueT{#3}{\label{#3}}\relax% } \NewDocumentCommand\DFcaptionP{O{#2} m o D!!{\color{black}}}% {\refstepcounter{figure}% \vbox to 0pt{\vss\hsize=\textheight\parindent=0pt\leavevmode - #4\relax Figure \thefigure\quad #2}% + #4\relax \figurename\ \thefigure\quad #2}% \addcontentsline{lof}{figure}{\protect\numberline{\thefigure}#1} \IfValueT{#3}{\label{#3}}\relax% } diff --git a/macros/latex/contrib/swfigure/swfigure.pdf b/macros/latex/contrib/swfigure/swfigure.pdf Binary files differindex 85bd2b11e1..c4007ea2d2 100644 --- a/macros/latex/contrib/swfigure/swfigure.pdf +++ b/macros/latex/contrib/swfigure/swfigure.pdf |