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/latex/contrib/koma-script | |
parent | 689536ecd7f688909820f27ed2938273c2e3ae44 (diff) |
CTAN sync 202205080300
Diffstat (limited to 'macros/latex/contrib/koma-script')
134 files changed, 19023 insertions, 21684 deletions
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: |