From 52752914d310303b349c70869c5ae25c6d3436de Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 7 May 2022 20:39:25 +0000 Subject: koma-script (7may22) git-svn-id: svn://tug.org/texlive/trunk@63250 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/koma-script/README | 60 +- .../texmf-dist/doc/latex/koma-script/manifest.txt | 15 +- .../texmf-dist/doc/latex/koma-script/scrguide.html | 1279 +++-- .../texmf-dist/doc/latex/koma-script/scrguide.pdf | Bin 3276808 -> 3350180 bytes .../texmf-dist/doc/latex/koma-script/scrguien.html | 663 ++- .../texmf-dist/doc/latex/koma-script/scrguien.pdf | Bin 3191011 -> 3265893 bytes .../texmf-dist/source/latex/koma-script/Makefile | 35 +- .../source/latex/koma-script/doc/Makefile.guide | 1 + .../latex/koma-script/doc/english/adrconvnote.tex | 2 +- .../doc/english/common-compatibility.tex | 2 +- .../koma-script/doc/english/common-dictum.tex | 2 +- .../koma-script/doc/english/common-draftmode.tex | 2 +- .../koma-script/doc/english/common-fontsize.tex | 2 +- .../doc/english/common-footnotes-experts.tex | 54 + .../koma-script/doc/english/common-footnotes.tex | 47 +- .../doc/english/common-headfootheight.tex | 2 +- .../doc/english/common-interleafpage.tex | 2 +- .../latex/koma-script/doc/english/common-lists.tex | 2 +- .../koma-script/doc/english/common-marginpar.tex | 2 +- .../doc/english/common-oddorevenpage.tex | 2 +- .../koma-script/doc/english/common-parmarkup.tex | 2 +- .../koma-script/doc/english/common-textmarkup.tex | 2 +- .../koma-script/doc/english/common-titles.tex | 2 +- .../koma-script/doc/english/common-typearea.tex | 2 +- .../latex/koma-script/doc/english/expertpart.tex | 2 +- .../koma-script/doc/english/guide-english.tex | 2 +- .../source/latex/koma-script/doc/english/guide.tex | 7 +- .../latex/koma-script/doc/english/introduction.tex | 2 +- .../latex/koma-script/doc/english/japanlco.tex | 2 +- .../latex/koma-script/doc/english/linkalias.tex | 2 +- .../latex/koma-script/doc/english/preface.tex | 2 +- .../latex/koma-script/doc/english/scraddr.tex | 2 +- .../latex/koma-script/doc/english/scrbase.tex | 42 +- .../doc/english/scrbookreportarticle-experts.tex | 32 +- .../doc/english/scrbookreportarticle.tex | 2 +- .../latex/koma-script/doc/english/scrdatetime.tex | 2 +- .../latex/koma-script/doc/english/scrextend.tex | 2 +- .../latex/koma-script/doc/english/scrhack.tex | 2 +- .../latex/koma-script/doc/english/scrjura.tex | 2 +- .../doc/english/scrlayer-scrpage-experts.tex | 2 +- .../koma-script/doc/english/scrlayer-scrpage.tex | 2 +- .../latex/koma-script/doc/english/scrlayer.tex | 2 +- .../latex/koma-script/doc/english/scrlfile.tex | 2 +- .../koma-script/doc/english/scrlttr2-experts.tex | 2 +- .../latex/koma-script/doc/english/scrlttr2.tex | 8 +- .../latex/koma-script/doc/english/scrwfile.tex | 2 +- .../latex/koma-script/doc/english/tocbasic.tex | 2 +- .../koma-script/doc/english/typearea-experts.tex | 2 +- .../latex/koma-script/doc/english/typearea.tex | 2 +- .../source/latex/koma-script/doc/guide.tex | 7 +- .../source/latex/koma-script/doc/linkalias.tex | 2 +- .../latex/koma-script/doc/ngerman/adrconvnote.tex | 2 +- .../doc/ngerman/common-compatibility.tex | 2 +- .../koma-script/doc/ngerman/common-dictum.tex | 2 +- .../koma-script/doc/ngerman/common-draftmode.tex | 2 +- .../koma-script/doc/ngerman/common-fontsize.tex | 2 +- .../doc/ngerman/common-footnotes-experts.tex | 76 + .../koma-script/doc/ngerman/common-footnotes.tex | 22 +- .../doc/ngerman/common-headfootheight.tex | 2 +- .../doc/ngerman/common-interleafpage.tex | 2 +- .../latex/koma-script/doc/ngerman/common-lists.tex | 2 +- .../koma-script/doc/ngerman/common-marginpar.tex | 2 +- .../doc/ngerman/common-oddorevenpage.tex | 2 +- .../koma-script/doc/ngerman/common-options.tex | 2 +- .../doc/ngerman/common-pagestylemanipulation.tex | 2 +- .../koma-script/doc/ngerman/common-parmarkup.tex | 2 +- .../koma-script/doc/ngerman/common-textmarkup.tex | 2 +- .../koma-script/doc/ngerman/common-titles.tex | 2 +- .../koma-script/doc/ngerman/common-typearea.tex | 2 +- .../koma-script/doc/ngerman/guide-ngerman.tex | 2 +- .../source/latex/koma-script/doc/ngerman/guide.tex | 7 +- .../latex/koma-script/doc/ngerman/introduction.tex | 2 +- .../latex/koma-script/doc/ngerman/linkalias.tex | 2 +- .../latex/koma-script/doc/ngerman/preface.tex | 2 +- .../latex/koma-script/doc/ngerman/scraddr.tex | 2 +- .../latex/koma-script/doc/ngerman/scrbase.tex | 25 +- .../doc/ngerman/scrbookreportarticle-experts.tex | 9 +- .../doc/ngerman/scrbookreportarticle.tex | 2 +- .../latex/koma-script/doc/ngerman/scrdatetime.tex | 2 +- .../latex/koma-script/doc/ngerman/scrextend.tex | 2 +- .../latex/koma-script/doc/ngerman/scrhack.tex | 2 +- .../latex/koma-script/doc/ngerman/scrjura.tex | 2 +- .../doc/ngerman/scrlayer-notecolumn.tex | 2 +- .../doc/ngerman/scrlayer-scrpage-experts.tex | 2 +- .../koma-script/doc/ngerman/scrlayer-scrpage.tex | 2 +- .../latex/koma-script/doc/ngerman/scrlayer.tex | 2 +- .../latex/koma-script/doc/ngerman/scrlfile.tex | 2 +- .../koma-script/doc/ngerman/scrlttr2-experts.tex | 2 +- .../latex/koma-script/doc/ngerman/scrlttr2.tex | 8 +- .../latex/koma-script/doc/ngerman/scrwfile.tex | 2 +- .../latex/koma-script/doc/ngerman/tocbasic.tex | 2 +- .../koma-script/doc/ngerman/typearea-experts.tex | 2 +- .../latex/koma-script/doc/ngerman/typearea.tex | 2 +- .../source/latex/koma-script/doc/scrguide.cls | 8 +- .../source/latex/koma-script/doc/scrguide.html | 1279 +++-- .../source/latex/koma-script/doc/scrguide.pdf | Bin 3276808 -> 3350180 bytes .../source/latex/koma-script/doc/scrguien.html | 663 ++- .../source/latex/koma-script/doc/scrguien.pdf | Bin 3191011 -> 3265893 bytes .../source/latex/koma-script/japanlco.dtx | 363 +- .../latex/koma-script/koma-script-source-doc.dtx | 785 +++ .../source/latex/koma-script/scraddr.dtx | 325 +- .../texmf-dist/source/latex/koma-script/scrdoc.dtx | 71 +- .../source/latex/koma-script/scrdocstrip.tex | 25 +- .../source/latex/koma-script/scrextend.dtx | 243 +- .../source/latex/koma-script/scrhack.dtx | 776 ++- .../source/latex/koma-script/scrjura.dtx | 1261 ++--- .../latex/koma-script/scrkernel-addressfiles.dtx | 164 + .../source/latex/koma-script/scrkernel-basics.dtx | 3348 ++++++------ .../latex/koma-script/scrkernel-bibliography.dtx | 661 +-- .../koma-script/scrkernel-circularletters.dtx | 173 - .../latex/koma-script/scrkernel-compatibility.dtx | 469 +- .../source/latex/koma-script/scrkernel-floats.dtx | 1480 +++-- .../source/latex/koma-script/scrkernel-fonts.dtx | 1133 ++-- .../latex/koma-script/scrkernel-footnotes.dtx | 539 +- .../source/latex/koma-script/scrkernel-index.dtx | 379 +- .../latex/koma-script/scrkernel-language.dtx | 1075 ++-- .../koma-script/scrkernel-letterclassoptions.dtx | 1006 ++-- .../koma-script/scrkernel-listsandtabulars.dtx | 514 +- .../source/latex/koma-script/scrkernel-listsof.dtx | 995 ++-- .../latex/koma-script/scrkernel-miscellaneous.dtx | 1206 ++-- .../latex/koma-script/scrkernel-notepaper.dtx | 3618 ++++++------ .../latex/koma-script/scrkernel-pagestyles.dtx | 1042 ++-- .../latex/koma-script/scrkernel-paragraphs.dtx | 771 ++- .../latex/koma-script/scrkernel-pseudolengths.dtx | 382 +- .../latex/koma-script/scrkernel-sections.dtx | 5745 ++++++++++---------- .../source/latex/koma-script/scrkernel-title.dtx | 774 ++- .../latex/koma-script/scrkernel-tocstyle.dtx | 1165 ++-- .../latex/koma-script/scrkernel-typearea.dtx | 1310 ++--- .../latex/koma-script/scrkernel-variables.dtx | 413 +- .../source/latex/koma-script/scrkernel-version.dtx | 233 +- .../latex/koma-script/scrlayer-notecolumn.dtx | 512 +- .../source/latex/koma-script/scrlayer-scrpage.dtx | 1480 ++--- .../source/latex/koma-script/scrlayer.dtx | 1202 ++-- .../source/latex/koma-script/scrlfile-hook.dtx | 121 +- .../latex/koma-script/scrlfile-patcholdlatex.dtx | 445 +- .../source/latex/koma-script/scrlfile.dtx | 189 +- .../source/latex/koma-script/scrlogo.dtx | 133 +- .../source/latex/koma-script/scrmain.ins | 71 +- .../source/latex/koma-script/scrsource.tex | 199 +- .../source/latex/koma-script/scrtime.dtx | 363 +- .../source/latex/koma-script/scrwfile.dtx | 318 +- .../source/latex/koma-script/tocbasic.dtx | 701 ++- Master/texmf-dist/tex/latex/koma-script/DIN.lco | 78 +- .../texmf-dist/tex/latex/koma-script/DIN5008A.lco | 52 +- .../texmf-dist/tex/latex/koma-script/DIN5008B.lco | 50 +- .../texmf-dist/tex/latex/koma-script/DINmtext.lco | 78 +- .../texmf-dist/tex/latex/koma-script/KOMAold.lco | 68 +- Master/texmf-dist/tex/latex/koma-script/KakuLL.lco | 76 +- Master/texmf-dist/tex/latex/koma-script/NF.lco | 60 +- .../texmf-dist/tex/latex/koma-script/NipponEH.lco | 76 +- .../texmf-dist/tex/latex/koma-script/NipponEL.lco | 76 +- .../texmf-dist/tex/latex/koma-script/NipponLH.lco | 76 +- .../texmf-dist/tex/latex/koma-script/NipponLL.lco | 76 +- .../texmf-dist/tex/latex/koma-script/NipponRL.lco | 76 +- Master/texmf-dist/tex/latex/koma-script/SN.lco | 78 +- Master/texmf-dist/tex/latex/koma-script/SNleft.lco | 78 +- .../tex/latex/koma-script/UScommercial9.lco | 78 +- .../tex/latex/koma-script/UScommercial9DW.lco | 76 +- Master/texmf-dist/tex/latex/koma-script/float.hak | 10 +- .../texmf-dist/tex/latex/koma-script/floatrow.hak | 10 +- .../texmf-dist/tex/latex/koma-script/hyperref.hak | 10 +- .../latex/koma-script/koma-script-source-doc.cls | 290 + .../texmf-dist/tex/latex/koma-script/listings.hak | 10 +- Master/texmf-dist/tex/latex/koma-script/lscape.hak | 10 +- .../texmf-dist/tex/latex/koma-script/nomencl.hak | 10 +- .../texmf-dist/tex/latex/koma-script/scraddr.sty | 10 +- .../texmf-dist/tex/latex/koma-script/scrartcl.cls | 454 +- .../tex/latex/koma-script/scrarticle.cls | 6 +- .../texmf-dist/tex/latex/koma-script/scrbase.sty | 87 +- .../texmf-dist/tex/latex/koma-script/scrbook.cls | 565 +- .../texmf-dist/tex/latex/koma-script/scrdate.sty | 20 +- Master/texmf-dist/tex/latex/koma-script/scrdoc.cls | 71 +- .../texmf-dist/tex/latex/koma-script/scrextend.sty | 168 +- .../tex/latex/koma-script/scrfontsizes.sty | 18 +- .../texmf-dist/tex/latex/koma-script/scrhack.sty | 20 +- .../texmf-dist/tex/latex/koma-script/scrjura.sty | 43 +- .../texmf-dist/tex/latex/koma-script/scrkbase.sty | 22 +- .../tex/latex/koma-script/scrlayer-notecolumn.sty | 57 +- .../tex/latex/koma-script/scrlayer-scrpage.sty | 64 +- .../texmf-dist/tex/latex/koma-script/scrlayer.sty | 56 +- .../texmf-dist/tex/latex/koma-script/scrletter.cls | 6 +- .../texmf-dist/tex/latex/koma-script/scrletter.sty | 324 +- .../tex/latex/koma-script/scrlfile-hook-3.34.sty | 6 +- .../tex/latex/koma-script/scrlfile-hook.sty | 6 +- .../latex/koma-script/scrlfile-patcholdlatex.sty | 6 +- .../texmf-dist/tex/latex/koma-script/scrlfile.sty | 6 +- .../texmf-dist/tex/latex/koma-script/scrlogo.sty | 18 +- .../texmf-dist/tex/latex/koma-script/scrlttr2.cls | 536 +- .../texmf-dist/tex/latex/koma-script/scrreport.cls | 6 +- .../texmf-dist/tex/latex/koma-script/scrreprt.cls | 559 +- .../tex/latex/koma-script/scrsize10pt.clo | 10 +- .../tex/latex/koma-script/scrsize11pt.clo | 10 +- .../tex/latex/koma-script/scrsize12pt.clo | 10 +- .../texmf-dist/tex/latex/koma-script/scrtime.sty | 20 +- .../texmf-dist/tex/latex/koma-script/scrwfile.sty | 29 +- .../texmf-dist/tex/latex/koma-script/setspace.hak | 10 +- .../tex/latex/koma-script/standardsections.hak | 10 +- .../texmf-dist/tex/latex/koma-script/tocbasic.sty | 55 +- .../texmf-dist/tex/latex/koma-script/typearea.sty | 33 +- .../texmf-dist/tex/latex/koma-script/visualize.lco | 48 +- 200 files changed, 22579 insertions(+), 24961 deletions(-) create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/english/common-footnotes-experts.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-footnotes-experts.tex create mode 100644 Master/texmf-dist/source/latex/koma-script/koma-script-source-doc.dtx create mode 100644 Master/texmf-dist/source/latex/koma-script/scrkernel-addressfiles.dtx delete mode 100644 Master/texmf-dist/source/latex/koma-script/scrkernel-circularletters.dtx create mode 100644 Master/texmf-dist/tex/latex/koma-script/koma-script-source-doc.cls (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/koma-script/README b/Master/texmf-dist/doc/latex/koma-script/README index e446ec030a1..552ce2a2607 100644 --- a/Master/texmf-dist/doc/latex/koma-script/README +++ b/Master/texmf-dist/doc/latex/koma-script/README @@ -1,6 +1,6 @@ -KOMA-Script 2021/11/13 v3.35 -Copyright (c) Markus Kohm , 1994-2021 +KOMA-Script 2022/05/01 v3.36 +Copyright (c) Markus Kohm , 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/Master/texmf-dist/doc/latex/koma-script/manifest.txt b/Master/texmf-dist/doc/latex/koma-script/manifest.txt index f912856347f..e6da434d293 100644 --- a/Master/texmf-dist/doc/latex/koma-script/manifest.txt +++ b/Master/texmf-dist/doc/latex/koma-script/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/Master/texmf-dist/doc/latex/koma-script/scrguide.html b/Master/texmf-dist/doc/latex/koma-script/scrguide.html index 8c1a0b7b82f..ccd2abc1ac2 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrguide.html +++ b/Master/texmf-dist/doc/latex/koma-script/scrguide.html @@ -19,78 +19,78 @@

Optionen

Anweisungen

Umgebungen

Längen

Pseudolängen

Variablen

Seitenstile

Zähler

Stile für das float-Paket

diff --git a/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf b/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf index 1600763c61c..7ef0df9adde 100644 Binary files a/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf and b/Master/texmf-dist/doc/latex/koma-script/scrguide.pdf differ diff --git a/Master/texmf-dist/doc/latex/koma-script/scrguien.html b/Master/texmf-dist/doc/latex/koma-script/scrguien.html index a954b2e63d1..44c64b7cae5 100644 --- a/Master/texmf-dist/doc/latex/koma-script/scrguien.html +++ b/Master/texmf-dist/doc/latex/koma-script/scrguien.html @@ -23,74 +23,74 @@
  • BCOR → 34
  • DIV → 35
  • abstract → 72
  • -
  • addrfield → 204
  • +
  • addrfield → 205
  • adrFreeIVempty → 289
  • adrFreeIVshow → 289
  • adrFreeIVstop → 289
  • adrFreeIVwarn → 289
  • -
  • appendixprefix → 96
  • +
  • appendixprefix → 97
  • areasetadvanced → 473
  • autoclearnotecolumns → 470
  • autoenlargeheadfoot → 256
  • automark → 271, 443
  • autooneside → 271, 443
  • -
  • backaddress → 204
  • -
  • bibliography → 147
  • -
  • captions → 128
  • +
  • backaddress → 205
  • +
  • bibliography → 148
  • +
  • captions → 129
  • chapteratlists → 100
  • chapterentrydots → 75
  • -
  • chapterprefix → 96
  • +
  • chapterprefix → 97
  • clausemark → 316
  • -
  • cleardoublepage → 233, 302, 87
  • +
  • cleardoublepage → 234, 302, 87
  • clines → 278
  • contract → 314
  • deactivatepagestylelayers → 438
  • -
  • draft → 155, 272, 294, 432, 57
  • -
  • enlargefirstpage → 224
  • +
  • draft → 156, 272, 294, 432, 57
  • +
  • enlargefirstpage → 225
  • extendedfeature → 293
  • -
  • firstfoot → 224
  • -
  • firsthead → 190
  • -
  • fleqn → 127
  • -
  • foldmarks → 185
  • -
  • fontsize → 178, 294, 58
  • +
  • firstfoot → 225
  • +
  • firsthead → 191
  • +
  • fleqn → 128
  • +
  • foldmarks → 186
  • +
  • fontsize → 179, 294, 58
  • footbotline → 278
  • footheight → 46
  • footinclude → 43
  • footlines → 46
  • -
  • footnotes → 235, 303, 90
  • -
  • footsepline → 229, 278, 81
  • +
  • footnotes → 236, 303, 90
  • +
  • footsepline → 230, 278, 81
  • footwidth → 276
  • -
  • fromalign → 191
  • -
  • fromemail → 197
  • -
  • fromfax → 197
  • -
  • fromlogo → 201
  • -
  • frommobilephone → 197
  • -
  • fromphone → 197
  • -
  • fromrule → 191
  • -
  • fromurl → 197
  • +
  • fromalign → 192
  • +
  • fromemail → 198
  • +
  • fromfax → 198
  • +
  • fromlogo → 202
  • +
  • frommobilephone → 198
  • +
  • fromphone → 198
  • +
  • fromrule → 192
  • +
  • fromurl → 198
  • headheight → 45
  • headinclude → 43
  • headings → 97
  • headlines → 45
  • -
  • headsepline → 229, 278, 81
  • +
  • headsepline → 230, 278, 81
  • headtopline → 278
  • headwidth → 276
  • hmode → 457
  • ilines → 278
  • -
  • index → 150
  • +
  • index → 151
  • internalonly → 360
  • juratitlepagebreak → 316
  • juratocindent → 313
  • juratocnumberwidth → 313
  • juratotoc → 313
  • -
  • leqno → 127
  • -
  • listof → 142
  • -
  • locfield → 210
  • +
  • leqno → 128
  • +
  • listof → 143
  • +
  • locfield → 211
  • manualmark → 271, 443
  • markcase → 272, 444
  • mpinclude → 44
  • -
  • numbers → 99
  • -
  • numericaldate → 212
  • +
  • numbers → 100
  • +
  • numericaldate → 213
  • olines → 278
  • onpsbackground → 438
  • onpsevenpage → 438
  • @@ -102,32 +102,32 @@
  • onpsoneside → 438
  • onpsselect → 438
  • onpstwoside → 438
  • -
  • open → 95
  • -
  • origlongtable → 142
  • -
  • overfullrule → 155, 294, 57
  • -
  • pagenumber → 230
  • +
  • open → 96
  • +
  • origlongtable → 143
  • +
  • overfullrule → 156, 294, 57
  • +
  • pagenumber → 231
  • pagesize → 50
  • pagestyleset → 268
  • paper → 48
  • parnumber → 317
  • -
  • parskip → 227, 78
  • +
  • parskip → 228, 78
  • plainfootbotline → 278
  • plainfootsepline → 278
  • plainheadsepline → 278
  • plainheadtopline → 278
  • -
  • priority → 204
  • +
  • priority → 205
  • ref → 321
  • -
  • refline → 213
  • +
  • refline → 214
  • sectionentrydots → 75
  • singlespacing → 438
  • -
  • subject → 218
  • -
  • symbolicnames → 197
  • +
  • subject → 219
  • +
  • symbolicnames → 198
  • titlepage → 297, 65
  • toc → 73
  • twocolumn → 42
  • twoside → 41
  • usegeometry → 472
  • -
  • version → 154, 293, 33, 56
  • +
  • version → 155, 293, 33, 56
  • withdeprecated → 362
  • Commands

    @@ -151,7 +151,7 @@
  • \AfterAtEndOfClass → 363
  • \AfterAtEndOfPackage* → 363
  • \AfterAtEndOfPackage → 363
  • -
  • \AfterBibliographyPreamble → 149
  • +
  • \AfterBibliographyPreamble → 150
  • \AfterCalculatingTypearea* → 475
  • \AfterCalculatingTypearea → 475
  • \AfterClass* → 363
  • @@ -169,9 +169,9 @@
  • \AfterTOCHead → 383
  • \At@startsection → 501
  • \AtAddToTocList → 378
  • -
  • \AtBeginLetter → 170
  • -
  • \AtEndBibliography → 149
  • -
  • \AtEndLetter → 170
  • +
  • \AtBeginLetter → 171
  • +
  • \AtEndBibliography → 150
  • +
  • \AtEndLetter → 171
  • \AtEndOfFamilyOptions* → 340
  • \AtEndOfFamilyOptions → 340
  • \Before@sect → 501
  • @@ -186,7 +186,7 @@
  • \BeforeSelectAnyPageStyle → 434
  • \BeforeStartingTOC → 383
  • \BeforeTOCHead → 383
  • -
  • \BreakBibliography → 149
  • +
  • \BreakBibliography → 150
  • \CenturyPart → 279
  • \Clause → 314
  • \Clauseformat → 316
  • @@ -272,9 +272,9 @@
  • \ISOToday → 281
  • \IfActiveMkBoth → 350
  • \IfArgIsEmpty → 348
  • -
  • \IfChapterUsesPrefixLine → 96
  • -
  • \IfExistskomafont → 480
  • -
  • \IfIsAliaskomafont → 480
  • +
  • \IfChapterUsesPrefixLine → 97
  • +
  • \IfExistskomafont → 481
  • +
  • \IfIsAliaskomafont → 481
  • \IfLayerAtPageStyle → 441
  • \IfLayerExists → 432
  • \IfLayerPageStyleExists → 441
  • @@ -283,7 +283,7 @@
  • \IfSectionCommandStyleIs → 493
  • \IfSomeLayerAtPageStyle → 441
  • \IfUseNumber → 500
  • -
  • \IfUsePrefixLine → 109
  • +
  • \IfUsePrefixLine → 110
  • \Ifattoclist → 376
  • \Ifdimen → 348
  • \Ifdvioutput → 348
  • @@ -297,34 +297,33 @@
  • \Ifisinteger → 350
  • \Ifisnumexpr → 350
  • \Ifisskip → 349
  • -
  • \Ifkomavar → 160
  • -
  • \Ifkomavarempty* → 160, 506
  • -
  • \Ifkomavarempty → 160, 506
  • +
  • \Ifkomavar → 161
  • +
  • \Ifkomavarempty* → 161, 506
  • +
  • \Ifkomavarempty → 161, 506
  • \Ifnotundefined → 347
  • \Ifnumber → 350
  • -
  • \Ifnumbered → 113
  • +
  • \Ifnumbered → 114
  • \Ifpdfoutput → 348
  • -
  • \Ifplength → 167
  • +
  • \Ifplength → 168
  • \Ifpsoutput → 348
  • \Ifstr → 347
  • \Ifstrstart → 347
  • -
  • \Ifthispageodd → 228, 301, 80
  • +
  • \Ifthispageodd → 229, 301, 80
  • \Iftocfeature → 387
  • \Ifundefinedorrelax → 347
  • -
  • \Ifunnumbered → 113
  • +
  • \Ifunnumbered → 114
  • \InputAddressFile → 286
  • \IsoToday → 281
  • -
  • \KOMAScript → 355
  • \KOMAScriptVersion → 355
  • -
  • \KOMAoption → 153, 255, 292, 311, 33, 415, 420, 459, 55
  • -
  • \KOMAoptions → 153, 255, 292, 311, 33, 415, 420, 459, 55
  • +
  • \KOMAoption → 154, 255, 292, 311, 33, 415, 420, 459, 55
  • +
  • \KOMAoptions → 154, 255, 292, 311, 33, 415, 420, 459, 55
  • \LastName → 287
  • \LastTOCLevelWasHigher → 401
  • \LastTOCLevelWasLower → 401
  • \LastTOCLevelWasSame → 401
  • \LenToUnit → 431
  • -
  • \LoadLetterOption → 243
  • -
  • \LoadLetterOptions → 243
  • +
  • \LoadLetterOption → 244
  • +
  • \LoadLetterOptions → 244
  • \MakeMarkcase → 272, 384, 444
  • \ModifyLayer → 423
  • \ModifyLayerPageStyleOptions → 440
  • @@ -369,58 +368,58 @@
  • \XdivY → 356
  • \XmodY → 356
  • \activateareas → 473
  • -
  • \addchap* → 106
  • -
  • \addchap → 106
  • -
  • \addchapmark → 112
  • +
  • \addchap* → 107
  • +
  • \addchap → 107
  • +
  • \addchapmark → 113
  • \addchaptertocentry → 478
  • \addcontentslinetoeachtocfile → 381
  • \addparagraphtocentry → 478
  • -
  • \addpart* → 106
  • -
  • \addpart → 106
  • +
  • \addpart* → 107
  • +
  • \addpart → 107
  • \addparttocentry → 478
  • -
  • \addrchar → 251, 286
  • +
  • \addrchar → 252, 286
  • \addrentry → 250, 286
  • -
  • \addsec* → 106
  • -
  • \addsec → 106
  • -
  • \addsecmark → 112
  • +
  • \addsec* → 107
  • +
  • \addsec → 107
  • +
  • \addsecmark → 113
  • \addsectiontocentry → 478
  • \addsubparagraphtocentry → 478
  • \addsubsectiontocentry → 478
  • \addsubsubsectiontocentry → 478
  • \addtocentrydefault → 477
  • \addtoeachtocfile → 380
  • -
  • \addtokomafont → 180, 257, 295, 311, 460, 59
  • -
  • \addtokomafontgobblelist → 479
  • -
  • \addtokomafontonearglist → 479
  • -
  • \addtokomafontrelaxlist → 479
  • -
  • \addtolengthplength → 168
  • -
  • \addtoplength → 167
  • +
  • \addtokomafont → 181, 257, 295, 311, 460, 59
  • +
  • \addtokomafontgobblelist → 480
  • +
  • \addtokomafontonearglist → 480
  • +
  • \addtokomafontrelaxlist → 480
  • +
  • \addtolengthplength → 169
  • +
  • \addtoplength → 168
  • \addtoreffields → 505
  • \addtotoclist → 377
  • \addxcontentsline → 380
  • \addxcontentslinetoeachtocfile → 381
  • -
  • \adrchar → 251, 286
  • +
  • \adrchar → 252, 286
  • \adrentry → 249, 286
  • \aliaskomafont → 479
  • \and → 299, 68
  • -
  • \appendix → 147
  • +
  • \appendix → 148
  • \appendixmore → 501
  • \areaset → 47, 473
  • \author → 299, 68
  • -
  • \autodot → 109
  • +
  • \autodot → 110
  • \automark* → 269, 443
  • \automark → 269, 443
  • -
  • \backmatter → 94
  • +
  • \backmatter → 95
  • \bankname → 512
  • \bib@beginhook → 503
  • \bib@endhook → 503
  • -
  • \caption → 130
  • -
  • \captionabove → 130
  • -
  • \captionaboveof → 132
  • -
  • \captionbelow → 130
  • -
  • \captionbelowof → 132
  • -
  • \captionformat → 137
  • -
  • \captionof → 132
  • +
  • \caption → 131
  • +
  • \captionabove → 131
  • +
  • \captionaboveof → 133
  • +
  • \captionbelow → 131
  • +
  • \captionbelowof → 133
  • +
  • \captionformat → 138
  • +
  • \captionof → 133
  • \captionsUKenglish → 513
  • \captionsUSenglish → 513
  • \captionsacadian → 513
  • @@ -449,7 +448,7 @@
  • \captionsspanish → 513
  • \captionsswedish → 513
  • \captionsswissgerman → 513
  • -
  • \cc → 176
  • +
  • \cc → 177
  • \ccname → 512
  • \cefoot* → 265
  • \cefoot → 263
  • @@ -458,44 +457,44 @@
  • \cfoot* → 267
  • \cfoot → 266
  • \changefontsizes → 479
  • -
  • \chapapp → 111
  • -
  • \chapappifchapterprefix → 111
  • -
  • \chapter* → 105
  • +
  • \chapapp → 112
  • +
  • \chapappifchapterprefix → 112
  • +
  • \chapter* → 106
  • \chapter → 101
  • -
  • \chapterformat → 109
  • +
  • \chapterformat → 110
  • \chapterheadendvskip → 493
  • \chapterheadmidvskip → 493
  • \chapterheadstartvskip → 493
  • \chapterlinesformat → 496
  • \chapterlineswithprefixformat → 496
  • -
  • \chaptermark → 112, 274, 446
  • -
  • \chaptermarkformat → 112, 274, 446
  • -
  • \chapternumdepth → 113
  • +
  • \chaptermark → 113, 274, 446
  • +
  • \chaptermarkformat → 113, 274, 446
  • +
  • \chapternumdepth → 114
  • \chapterpagestyle → 84
  • \chead* → 267
  • \chead → 266
  • -
  • \cleardoubleemptypage → 234, 302, 88
  • -
  • \cleardoubleevenemptypage → 234, 302, 88
  • -
  • \cleardoubleevenpage → 234, 302, 88
  • -
  • \cleardoubleevenpageusingstyle → 234, 302, 88
  • -
  • \cleardoubleevenplainpage → 234, 302, 88
  • -
  • \cleardoubleevenstandardpage → 234, 302, 88
  • -
  • \cleardoubleoddemptypage → 234, 302, 88
  • -
  • \cleardoubleoddpage → 234, 302, 88
  • -
  • \cleardoubleoddpageusingstyle → 234, 302, 88
  • -
  • \cleardoubleoddplainpage → 234, 302, 88
  • -
  • \cleardoubleoddstandardpage → 234, 302, 88
  • -
  • \cleardoublepage → 234, 302, 88
  • -
  • \cleardoublepageusingstyle → 234, 302, 88
  • -
  • \cleardoubleplainpage → 234, 302, 88
  • -
  • \cleardoublestandardpage → 234, 302, 88
  • +
  • \cleardoubleemptypage → 235, 302, 88
  • +
  • \cleardoubleevenemptypage → 235, 302, 88
  • +
  • \cleardoubleevenpage → 235, 302, 88
  • +
  • \cleardoubleevenpageusingstyle → 235, 302, 88
  • +
  • \cleardoubleevenplainpage → 235, 302, 88
  • +
  • \cleardoubleevenstandardpage → 235, 302, 88
  • +
  • \cleardoubleoddemptypage → 235, 302, 88
  • +
  • \cleardoubleoddpage → 235, 302, 88
  • +
  • \cleardoubleoddpageusingstyle → 235, 302, 88
  • +
  • \cleardoubleoddplainpage → 235, 302, 88
  • +
  • \cleardoubleoddstandardpage → 235, 302, 88
  • +
  • \cleardoublepage → 235, 302, 88
  • +
  • \cleardoublepageusingstyle → 235, 302, 88
  • +
  • \cleardoubleplainpage → 235, 302, 88
  • +
  • \cleardoublestandardpage → 235, 302, 88
  • \clearmainofpairofpagestyles → 454
  • \clearnotecolumn → 469
  • \clearnotecolumns → 470
  • -
  • \clearpage → 234, 302, 88
  • +
  • \clearpage → 235, 302, 88
  • \clearpairofpagestyles → 454
  • \clearplainofpairofpagestyles → 454
  • -
  • \closing → 173
  • +
  • \closing → 174
  • \cofoot* → 265
  • \cofoot → 263
  • \cohead* → 262
  • @@ -540,35 +539,35 @@
  • \defaultreffields → 505
  • \defcaptionname* → 352
  • \defcaptionname → 352
  • -
  • \deffootnote → 236, 305, 92
  • -
  • \deffootnotemark → 236, 305, 92
  • +
  • \deffootnote → 237, 305, 92
  • +
  • \deffootnotemark → 237, 305, 92
  • \defpagestyle → 454
  • \defpairofpagestyles → 453
  • \deftocheading → 384
  • -
  • \dictum → 116, 306
  • -
  • \dictumauthorformat → 116, 306
  • -
  • \dictumrule → 116, 306
  • -
  • \dictumwidth → 116, 306
  • -
  • \documentclass → 152, 255, 292, 310, 32, 414, 419, 459, 55
  • +
  • \dictum → 117, 307
  • +
  • \dictumauthorformat → 117, 307
  • +
  • \dictumrule → 117, 307
  • +
  • \dictumwidth → 117, 307
  • +
  • \documentclass → 153, 255, 292, 310, 32, 414, 419, 459, 55
  • \doforeachtocfile → 379
  • \ellipsispar → 318
  • \emailname → 512
  • -
  • \encl → 176
  • +
  • \encl → 177
  • \enclname → 512
  • \extratitle → 298, 67
  • \faxname → 512
  • -
  • \figureformat → 138
  • +
  • \figureformat → 139
  • \flushbottom → 58
  • -
  • \footnote → 235, 304, 90
  • -
  • \footnotemark → 235, 304, 90
  • -
  • \footnotetext → 235, 304, 90
  • -
  • \footref → 236, 304, 91
  • +
  • \footnote → 236, 304, 90
  • +
  • \footnotemark → 236, 304, 90
  • +
  • \footnotetext → 236, 304, 90
  • +
  • \footref → 237, 304, 91
  • \foreachemptykomavar → 507
  • \foreachkomavar → 507
  • \foreachkomavarifempty → 507
  • \foreachnonemptykomavar → 507
  • \frontispiece → 298, 67
  • -
  • \frontmatter → 94
  • +
  • \frontmatter → 95
  • \headfromname → 512
  • \headmark → 272, 445
  • \headtoname → 512
  • @@ -581,15 +580,15 @@
  • \ihead → 266
  • \indexpagestyle → 84
  • \invoicename → 512
  • -
  • \item → 118, 238
  • -
  • \labelenumi → 119, 239
  • -
  • \labelenumii → 119, 239
  • -
  • \labelenumiii → 119, 239
  • -
  • \labelenumiv → 119, 239
  • -
  • \labelitemi → 118, 238
  • -
  • \labelitemii → 118, 238
  • -
  • \labelitemiii → 118, 238
  • -
  • \labelitemiv → 118, 238
  • +
  • \item → 119, 239
  • +
  • \labelenumi → 120, 240
  • +
  • \labelenumii → 120, 240
  • +
  • \labelenumiii → 120, 240
  • +
  • \labelenumiv → 120, 240
  • +
  • \labelitemi → 119, 239
  • +
  • \labelitemii → 119, 239
  • +
  • \labelitemiii → 119, 239
  • +
  • \labelitemiv → 119, 239
  • \layercontentsmeasure → 432
  • \layerhalign → 430
  • \layerheight → 430
  • @@ -605,12 +604,12 @@
  • \lefttopmark → 444, 449
  • \lehead* → 262
  • \lehead → 260
  • -
  • \letterlastpage → 171
  • -
  • \letterpagestyle → 228
  • +
  • \letterlastpage → 172
  • +
  • \letterpagestyle → 229
  • \listof/extension/name → 382
  • \listofeachtoc → 382
  • -
  • \listoffigures → 145
  • -
  • \listoftables → 145
  • +
  • \listoffigures → 146
  • +
  • \listoftables → 146
  • \listoftoc* → 382
  • \listoftoc → 382
  • \lofoot* → 265
  • @@ -618,21 +617,21 @@
  • \lohead* → 262
  • \lohead → 260
  • \lowertitleback → 300, 71
  • -
  • \mainmatter → 94
  • +
  • \mainmatter → 95
  • \makenote* → 466
  • \makenote → 466
  • \maketitle → 298, 67
  • \manualmark → 269, 443
  • -
  • \marginline → 146, 242, 309
  • -
  • \marginpar → 146, 242, 309
  • -
  • \markboth → 232, 275, 447, 83
  • +
  • \marginline → 147, 243, 309
  • +
  • \marginpar → 147, 243, 309
  • +
  • \markboth → 233, 275, 447, 83
  • \markdouble → 275, 447
  • \markleft → 275, 447
  • -
  • \markright → 232, 275, 447, 83
  • -
  • \minisec → 106
  • +
  • \markright → 233, 275, 447, 83
  • +
  • \minisec → 107
  • \mobilephonename → 512
  • -
  • \multfootsep → 235, 303, 90
  • -
  • \multiplefootnoteseparator → 235, 304, 90
  • +
  • \multfootsep → 236, 303, 90
  • +
  • \multiplefootnoteseparator → 236, 304, 90
  • \myrefname → 512
  • \nameday → 282
  • \newbibstyle → 503
  • @@ -645,34 +644,34 @@
  • \newkomavar → 505
  • \newpagestyle → 454
  • \newpairofpagestyles → 453
  • -
  • \newplength → 165
  • +
  • \newplength → 166
  • \nonumberline → 404
  • \numberline → 388
  • \ofoot* → 267
  • \ofoot → 266
  • \ohead* → 267
  • \ohead → 266
  • -
  • \opening → 172
  • -
  • \othersectionlevelsformat → 109
  • +
  • \opening → 173
  • +
  • \othersectionlevelsformat → 110
  • \pagemark → 272, 445
  • \pagename → 512
  • \pagenumbering → 85
  • -
  • \pagestyle → 231, 81
  • -
  • \paragraph* → 105
  • +
  • \pagestyle → 232, 81
  • +
  • \paragraph* → 106
  • \paragraph → 101
  • -
  • \paragraphformat → 109
  • +
  • \paragraphformat → 110
  • \paragraphmark → 274, 446
  • \paragraphmarkformat → 274, 446
  • -
  • \paragraphnumdepth → 113
  • +
  • \paragraphnumdepth → 114
  • \paragraphtocdepth → 77
  • \parellipsis → 318
  • \parformat → 318
  • \parformatseparation → 318
  • \parname → 325
  • \parshortname → 325
  • -
  • \part* → 105
  • +
  • \part* → 106
  • \part → 101
  • -
  • \partformat → 109
  • +
  • \partformat → 110
  • \partheademptypage → 493
  • \partheadendvskip → 493
  • \partheadmidvskip → 493
  • @@ -680,7 +679,7 @@
  • \partlineswithprefixformat → 494
  • \partmark → 274, 446
  • \partmarkformat → 274, 446
  • -
  • \partnumdepth → 113
  • +
  • \partnumdepth → 114
  • \partpagestyle → 84
  • \parttocdepth → 77
  • \phonename → 512
  • @@ -688,7 +687,7 @@
  • \providecaptionname → 352
  • \providepagestyle → 454
  • \providepairofpagestyles → 453
  • -
  • \ps → 174
  • +
  • \ps → 175
  • \publishers → 299, 68
  • \putC → 431
  • \putLL → 431
  • @@ -696,15 +695,15 @@
  • \putUL → 431
  • \putUR → 431
  • \raggedbottom → 58
  • -
  • \raggedchapter → 108
  • +
  • \raggedchapter → 109
  • \raggedchapterentry → 477
  • -
  • \raggeddictum → 116, 306
  • -
  • \raggeddictumauthor → 116, 306
  • -
  • \raggeddictumtext → 116, 306
  • -
  • \raggedfootnote → 237, 306, 94
  • -
  • \raggedpart → 108
  • -
  • \raggedsection → 108
  • -
  • \raggedsignature → 221
  • +
  • \raggeddictum → 117, 307
  • +
  • \raggeddictumauthor → 117, 307
  • +
  • \raggeddictumtext → 117, 307
  • +
  • \raggedfootnote → 238, 306, 94
  • +
  • \raggedpart → 109
  • +
  • \raggedsection → 109
  • +
  • \raggedsignature → 222
  • \recalctypearea → 40
  • \ref → 320
  • \refClause → 320
  • @@ -739,82 +738,82 @@
  • \rohead* → 262
  • \rohead → 260
  • \scr@startsection → 500
  • -
  • \section* → 105
  • +
  • \section* → 106
  • \section → 101
  • \sectioncatchphraseformat → 498
  • -
  • \sectionformat → 109
  • +
  • \sectionformat → 110
  • \sectionlinesformat → 498
  • -
  • \sectionmark → 112, 274, 446
  • -
  • \sectionmarkformat → 112, 274, 446
  • -
  • \sectionnumdepth → 113
  • +
  • \sectionmark → 113, 274, 446
  • +
  • \sectionmarkformat → 113, 274, 446
  • +
  • \sectionnumdepth → 114
  • \sectiontocdepth → 77
  • \sentencename → 325
  • \sentencenumberformat → 319
  • \sentenceshortname → 325
  • -
  • \setbibpreamble → 149
  • -
  • \setcapdynwidth → 140
  • -
  • \setcaphanging → 138
  • -
  • \setcapindent* → 138
  • -
  • \setcapindent → 138
  • -
  • \setcapmargin* → 140
  • -
  • \setcapmargin → 140
  • -
  • \setcaptionalignment → 141
  • -
  • \setcapwidth → 140
  • -
  • \setchapterpreamble → 114
  • -
  • \setfootnoterule → 237, 94
  • -
  • \setindexpreamble → 151
  • -
  • \setkomafont → 180, 257, 295, 311, 460, 59
  • -
  • \setkomavar* → 159
  • -
  • \setkomavar → 159
  • -
  • \setlengthtoplength → 168
  • +
  • \setbibpreamble → 150
  • +
  • \setcapdynwidth → 141
  • +
  • \setcaphanging → 139
  • +
  • \setcapindent* → 139
  • +
  • \setcapindent → 139
  • +
  • \setcapmargin* → 141
  • +
  • \setcapmargin → 141
  • +
  • \setcaptionalignment → 142
  • +
  • \setcapwidth → 141
  • +
  • \setchapterpreamble → 115
  • +
  • \setfootnoterule → 238, 94
  • +
  • \setindexpreamble → 152
  • +
  • \setkomafont → 181, 257, 295, 311, 460, 59
  • +
  • \setkomavar* → 160
  • +
  • \setkomavar → 160
  • +
  • \setlengthtoplength → 169
  • \setparsizes → 481
  • -
  • \setpartpreamble → 114
  • -
  • \setplength → 167
  • -
  • \setplengthtodepth → 167
  • -
  • \setplengthtoheight → 167
  • -
  • \setplengthtototalheight → 167
  • -
  • \setplengthtowidth → 167
  • +
  • \setpartpreamble → 115
  • +
  • \setplength → 168
  • +
  • \setplengthtodepth → 168
  • +
  • \setplengthtoheight → 168
  • +
  • \setplengthtototalheight → 168
  • +
  • \setplengthtowidth → 168
  • \settime → 285
  • \setuptoc → 385
  • \storeareas → 473
  • \subject → 299, 68
  • \subjectname → 512
  • -
  • \subparagraph* → 105
  • +
  • \subparagraph* → 106
  • \subparagraph → 101
  • -
  • \subparagraphformat → 109
  • +
  • \subparagraphformat → 110
  • \subparagraphmark → 274, 446
  • \subparagraphmarkformat → 274, 446
  • -
  • \subparagraphnumdepth → 113
  • +
  • \subparagraphnumdepth → 114
  • \subparagraphtocdepth → 77
  • -
  • \subsection* → 105
  • +
  • \subsection* → 106
  • \subsection → 101
  • -
  • \subsectionformat → 109
  • -
  • \subsectionmark → 112, 274, 446
  • -
  • \subsectionmarkformat → 112, 274, 446
  • -
  • \subsectionnumdepth → 113
  • +
  • \subsectionformat → 110
  • +
  • \subsectionmark → 113, 274, 446
  • +
  • \subsectionmarkformat → 113, 274, 446
  • +
  • \subsectionnumdepth → 114
  • \subsectiontocdepth → 77
  • -
  • \subsubsection* → 105
  • +
  • \subsubsection* → 106
  • \subsubsection → 101
  • -
  • \subsubsectionformat → 109
  • +
  • \subsubsectionformat → 110
  • \subsubsectionmark → 274, 446
  • \subsubsectionmarkformat → 274, 446
  • -
  • \subsubsectionnumdepth → 113
  • +
  • \subsubsectionnumdepth → 114
  • \subsubsectiontocdepth → 77
  • \subtitle → 299, 68
  • \syncwithnotecolumn → 467
  • \syncwithnotecolumns → 469
  • -
  • \tableformat → 138
  • +
  • \tableformat → 139
  • \tableofcontents → 76
  • \thanks → 299, 68
  • -
  • \theenumi → 119, 239
  • -
  • \theenumii → 119, 239
  • -
  • \theenumiii → 119, 239
  • -
  • \theenumiv → 119, 239
  • -
  • \thefootnotemark → 236, 305, 92
  • +
  • \theenumi → 120, 240
  • +
  • \theenumii → 120, 240
  • +
  • \theenumiii → 120, 240
  • +
  • \theenumiv → 120, 240
  • +
  • \thefootnotemark → 237, 305, 92
  • \thepar → 318
  • \thesentence → 319
  • -
  • \thisletter → 171
  • -
  • \thispagestyle → 231, 81
  • +
  • \thisletter → 172
  • +
  • \thispagestyle → 232, 81
  • \thistime* → 284
  • \thistime → 284
  • \title → 299, 68
  • @@ -838,17 +837,17 @@
  • \typearea → 40
  • \unsettoc → 385
  • \uppertitleback → 300, 71
  • -
  • \useencodingofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usefamilyofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usefontofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usekomafont → 180, 257, 295, 311, 460, 59
  • -
  • \usekomavar* → 160, 506
  • -
  • \usekomavar → 160, 506
  • -
  • \usepackage → 152, 255, 292, 310, 32, 414, 419, 459, 55
  • -
  • \useplength → 167
  • -
  • \useseriesofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \useshapeofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usesizeofkomafont → 184, 259, 296, 312, 461, 65
  • +
  • \useencodingofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usefamilyofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usefontofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usekomafont → 181, 257, 295, 311, 460, 59
  • +
  • \usekomavar* → 161, 506
  • +
  • \usekomavar → 161, 506
  • +
  • \usepackage → 153, 255, 292, 310, 32, 414, 419, 459, 55
  • +
  • \useplength → 168
  • +
  • \useseriesofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \useshapeofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usesizeofkomafont → 185, 259, 296, 312, 461, 65
  • \usetocbasicnumberline → 388
  • \withoutparnumber → 318
  • \wwwname → 512
  • @@ -858,20 +857,20 @@

    Environments

    Lengths

      @@ -880,119 +879,119 @@

    Pseudolengths

    Variables

    Page Styles

    Counter

    Styles for the float Package

    Optionen

    Anweisungen

    Umgebungen

    Längen

    Pseudolängen

    Variablen

    Seitenstile

    Zähler

    Stile für das float-Paket

    diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf index 1600763c61c..7ef0df9adde 100644 Binary files a/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf and b/Master/texmf-dist/source/latex/koma-script/doc/scrguide.pdf differ diff --git a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.html b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.html index a954b2e63d1..44c64b7cae5 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/scrguien.html +++ b/Master/texmf-dist/source/latex/koma-script/doc/scrguien.html @@ -23,74 +23,74 @@
  • BCOR → 34
  • DIV → 35
  • abstract → 72
  • -
  • addrfield → 204
  • +
  • addrfield → 205
  • adrFreeIVempty → 289
  • adrFreeIVshow → 289
  • adrFreeIVstop → 289
  • adrFreeIVwarn → 289
  • -
  • appendixprefix → 96
  • +
  • appendixprefix → 97
  • areasetadvanced → 473
  • autoclearnotecolumns → 470
  • autoenlargeheadfoot → 256
  • automark → 271, 443
  • autooneside → 271, 443
  • -
  • backaddress → 204
  • -
  • bibliography → 147
  • -
  • captions → 128
  • +
  • backaddress → 205
  • +
  • bibliography → 148
  • +
  • captions → 129
  • chapteratlists → 100
  • chapterentrydots → 75
  • -
  • chapterprefix → 96
  • +
  • chapterprefix → 97
  • clausemark → 316
  • -
  • cleardoublepage → 233, 302, 87
  • +
  • cleardoublepage → 234, 302, 87
  • clines → 278
  • contract → 314
  • deactivatepagestylelayers → 438
  • -
  • draft → 155, 272, 294, 432, 57
  • -
  • enlargefirstpage → 224
  • +
  • draft → 156, 272, 294, 432, 57
  • +
  • enlargefirstpage → 225
  • extendedfeature → 293
  • -
  • firstfoot → 224
  • -
  • firsthead → 190
  • -
  • fleqn → 127
  • -
  • foldmarks → 185
  • -
  • fontsize → 178, 294, 58
  • +
  • firstfoot → 225
  • +
  • firsthead → 191
  • +
  • fleqn → 128
  • +
  • foldmarks → 186
  • +
  • fontsize → 179, 294, 58
  • footbotline → 278
  • footheight → 46
  • footinclude → 43
  • footlines → 46
  • -
  • footnotes → 235, 303, 90
  • -
  • footsepline → 229, 278, 81
  • +
  • footnotes → 236, 303, 90
  • +
  • footsepline → 230, 278, 81
  • footwidth → 276
  • -
  • fromalign → 191
  • -
  • fromemail → 197
  • -
  • fromfax → 197
  • -
  • fromlogo → 201
  • -
  • frommobilephone → 197
  • -
  • fromphone → 197
  • -
  • fromrule → 191
  • -
  • fromurl → 197
  • +
  • fromalign → 192
  • +
  • fromemail → 198
  • +
  • fromfax → 198
  • +
  • fromlogo → 202
  • +
  • frommobilephone → 198
  • +
  • fromphone → 198
  • +
  • fromrule → 192
  • +
  • fromurl → 198
  • headheight → 45
  • headinclude → 43
  • headings → 97
  • headlines → 45
  • -
  • headsepline → 229, 278, 81
  • +
  • headsepline → 230, 278, 81
  • headtopline → 278
  • headwidth → 276
  • hmode → 457
  • ilines → 278
  • -
  • index → 150
  • +
  • index → 151
  • internalonly → 360
  • juratitlepagebreak → 316
  • juratocindent → 313
  • juratocnumberwidth → 313
  • juratotoc → 313
  • -
  • leqno → 127
  • -
  • listof → 142
  • -
  • locfield → 210
  • +
  • leqno → 128
  • +
  • listof → 143
  • +
  • locfield → 211
  • manualmark → 271, 443
  • markcase → 272, 444
  • mpinclude → 44
  • -
  • numbers → 99
  • -
  • numericaldate → 212
  • +
  • numbers → 100
  • +
  • numericaldate → 213
  • olines → 278
  • onpsbackground → 438
  • onpsevenpage → 438
  • @@ -102,32 +102,32 @@
  • onpsoneside → 438
  • onpsselect → 438
  • onpstwoside → 438
  • -
  • open → 95
  • -
  • origlongtable → 142
  • -
  • overfullrule → 155, 294, 57
  • -
  • pagenumber → 230
  • +
  • open → 96
  • +
  • origlongtable → 143
  • +
  • overfullrule → 156, 294, 57
  • +
  • pagenumber → 231
  • pagesize → 50
  • pagestyleset → 268
  • paper → 48
  • parnumber → 317
  • -
  • parskip → 227, 78
  • +
  • parskip → 228, 78
  • plainfootbotline → 278
  • plainfootsepline → 278
  • plainheadsepline → 278
  • plainheadtopline → 278
  • -
  • priority → 204
  • +
  • priority → 205
  • ref → 321
  • -
  • refline → 213
  • +
  • refline → 214
  • sectionentrydots → 75
  • singlespacing → 438
  • -
  • subject → 218
  • -
  • symbolicnames → 197
  • +
  • subject → 219
  • +
  • symbolicnames → 198
  • titlepage → 297, 65
  • toc → 73
  • twocolumn → 42
  • twoside → 41
  • usegeometry → 472
  • -
  • version → 154, 293, 33, 56
  • +
  • version → 155, 293, 33, 56
  • withdeprecated → 362
  • Commands

    @@ -151,7 +151,7 @@
  • \AfterAtEndOfClass → 363
  • \AfterAtEndOfPackage* → 363
  • \AfterAtEndOfPackage → 363
  • -
  • \AfterBibliographyPreamble → 149
  • +
  • \AfterBibliographyPreamble → 150
  • \AfterCalculatingTypearea* → 475
  • \AfterCalculatingTypearea → 475
  • \AfterClass* → 363
  • @@ -169,9 +169,9 @@
  • \AfterTOCHead → 383
  • \At@startsection → 501
  • \AtAddToTocList → 378
  • -
  • \AtBeginLetter → 170
  • -
  • \AtEndBibliography → 149
  • -
  • \AtEndLetter → 170
  • +
  • \AtBeginLetter → 171
  • +
  • \AtEndBibliography → 150
  • +
  • \AtEndLetter → 171
  • \AtEndOfFamilyOptions* → 340
  • \AtEndOfFamilyOptions → 340
  • \Before@sect → 501
  • @@ -186,7 +186,7 @@
  • \BeforeSelectAnyPageStyle → 434
  • \BeforeStartingTOC → 383
  • \BeforeTOCHead → 383
  • -
  • \BreakBibliography → 149
  • +
  • \BreakBibliography → 150
  • \CenturyPart → 279
  • \Clause → 314
  • \Clauseformat → 316
  • @@ -272,9 +272,9 @@
  • \ISOToday → 281
  • \IfActiveMkBoth → 350
  • \IfArgIsEmpty → 348
  • -
  • \IfChapterUsesPrefixLine → 96
  • -
  • \IfExistskomafont → 480
  • -
  • \IfIsAliaskomafont → 480
  • +
  • \IfChapterUsesPrefixLine → 97
  • +
  • \IfExistskomafont → 481
  • +
  • \IfIsAliaskomafont → 481
  • \IfLayerAtPageStyle → 441
  • \IfLayerExists → 432
  • \IfLayerPageStyleExists → 441
  • @@ -283,7 +283,7 @@
  • \IfSectionCommandStyleIs → 493
  • \IfSomeLayerAtPageStyle → 441
  • \IfUseNumber → 500
  • -
  • \IfUsePrefixLine → 109
  • +
  • \IfUsePrefixLine → 110
  • \Ifattoclist → 376
  • \Ifdimen → 348
  • \Ifdvioutput → 348
  • @@ -297,34 +297,33 @@
  • \Ifisinteger → 350
  • \Ifisnumexpr → 350
  • \Ifisskip → 349
  • -
  • \Ifkomavar → 160
  • -
  • \Ifkomavarempty* → 160, 506
  • -
  • \Ifkomavarempty → 160, 506
  • +
  • \Ifkomavar → 161
  • +
  • \Ifkomavarempty* → 161, 506
  • +
  • \Ifkomavarempty → 161, 506
  • \Ifnotundefined → 347
  • \Ifnumber → 350
  • -
  • \Ifnumbered → 113
  • +
  • \Ifnumbered → 114
  • \Ifpdfoutput → 348
  • -
  • \Ifplength → 167
  • +
  • \Ifplength → 168
  • \Ifpsoutput → 348
  • \Ifstr → 347
  • \Ifstrstart → 347
  • -
  • \Ifthispageodd → 228, 301, 80
  • +
  • \Ifthispageodd → 229, 301, 80
  • \Iftocfeature → 387
  • \Ifundefinedorrelax → 347
  • -
  • \Ifunnumbered → 113
  • +
  • \Ifunnumbered → 114
  • \InputAddressFile → 286
  • \IsoToday → 281
  • -
  • \KOMAScript → 355
  • \KOMAScriptVersion → 355
  • -
  • \KOMAoption → 153, 255, 292, 311, 33, 415, 420, 459, 55
  • -
  • \KOMAoptions → 153, 255, 292, 311, 33, 415, 420, 459, 55
  • +
  • \KOMAoption → 154, 255, 292, 311, 33, 415, 420, 459, 55
  • +
  • \KOMAoptions → 154, 255, 292, 311, 33, 415, 420, 459, 55
  • \LastName → 287
  • \LastTOCLevelWasHigher → 401
  • \LastTOCLevelWasLower → 401
  • \LastTOCLevelWasSame → 401
  • \LenToUnit → 431
  • -
  • \LoadLetterOption → 243
  • -
  • \LoadLetterOptions → 243
  • +
  • \LoadLetterOption → 244
  • +
  • \LoadLetterOptions → 244
  • \MakeMarkcase → 272, 384, 444
  • \ModifyLayer → 423
  • \ModifyLayerPageStyleOptions → 440
  • @@ -369,58 +368,58 @@
  • \XdivY → 356
  • \XmodY → 356
  • \activateareas → 473
  • -
  • \addchap* → 106
  • -
  • \addchap → 106
  • -
  • \addchapmark → 112
  • +
  • \addchap* → 107
  • +
  • \addchap → 107
  • +
  • \addchapmark → 113
  • \addchaptertocentry → 478
  • \addcontentslinetoeachtocfile → 381
  • \addparagraphtocentry → 478
  • -
  • \addpart* → 106
  • -
  • \addpart → 106
  • +
  • \addpart* → 107
  • +
  • \addpart → 107
  • \addparttocentry → 478
  • -
  • \addrchar → 251, 286
  • +
  • \addrchar → 252, 286
  • \addrentry → 250, 286
  • -
  • \addsec* → 106
  • -
  • \addsec → 106
  • -
  • \addsecmark → 112
  • +
  • \addsec* → 107
  • +
  • \addsec → 107
  • +
  • \addsecmark → 113
  • \addsectiontocentry → 478
  • \addsubparagraphtocentry → 478
  • \addsubsectiontocentry → 478
  • \addsubsubsectiontocentry → 478
  • \addtocentrydefault → 477
  • \addtoeachtocfile → 380
  • -
  • \addtokomafont → 180, 257, 295, 311, 460, 59
  • -
  • \addtokomafontgobblelist → 479
  • -
  • \addtokomafontonearglist → 479
  • -
  • \addtokomafontrelaxlist → 479
  • -
  • \addtolengthplength → 168
  • -
  • \addtoplength → 167
  • +
  • \addtokomafont → 181, 257, 295, 311, 460, 59
  • +
  • \addtokomafontgobblelist → 480
  • +
  • \addtokomafontonearglist → 480
  • +
  • \addtokomafontrelaxlist → 480
  • +
  • \addtolengthplength → 169
  • +
  • \addtoplength → 168
  • \addtoreffields → 505
  • \addtotoclist → 377
  • \addxcontentsline → 380
  • \addxcontentslinetoeachtocfile → 381
  • -
  • \adrchar → 251, 286
  • +
  • \adrchar → 252, 286
  • \adrentry → 249, 286
  • \aliaskomafont → 479
  • \and → 299, 68
  • -
  • \appendix → 147
  • +
  • \appendix → 148
  • \appendixmore → 501
  • \areaset → 47, 473
  • \author → 299, 68
  • -
  • \autodot → 109
  • +
  • \autodot → 110
  • \automark* → 269, 443
  • \automark → 269, 443
  • -
  • \backmatter → 94
  • +
  • \backmatter → 95
  • \bankname → 512
  • \bib@beginhook → 503
  • \bib@endhook → 503
  • -
  • \caption → 130
  • -
  • \captionabove → 130
  • -
  • \captionaboveof → 132
  • -
  • \captionbelow → 130
  • -
  • \captionbelowof → 132
  • -
  • \captionformat → 137
  • -
  • \captionof → 132
  • +
  • \caption → 131
  • +
  • \captionabove → 131
  • +
  • \captionaboveof → 133
  • +
  • \captionbelow → 131
  • +
  • \captionbelowof → 133
  • +
  • \captionformat → 138
  • +
  • \captionof → 133
  • \captionsUKenglish → 513
  • \captionsUSenglish → 513
  • \captionsacadian → 513
  • @@ -449,7 +448,7 @@
  • \captionsspanish → 513
  • \captionsswedish → 513
  • \captionsswissgerman → 513
  • -
  • \cc → 176
  • +
  • \cc → 177
  • \ccname → 512
  • \cefoot* → 265
  • \cefoot → 263
  • @@ -458,44 +457,44 @@
  • \cfoot* → 267
  • \cfoot → 266
  • \changefontsizes → 479
  • -
  • \chapapp → 111
  • -
  • \chapappifchapterprefix → 111
  • -
  • \chapter* → 105
  • +
  • \chapapp → 112
  • +
  • \chapappifchapterprefix → 112
  • +
  • \chapter* → 106
  • \chapter → 101
  • -
  • \chapterformat → 109
  • +
  • \chapterformat → 110
  • \chapterheadendvskip → 493
  • \chapterheadmidvskip → 493
  • \chapterheadstartvskip → 493
  • \chapterlinesformat → 496
  • \chapterlineswithprefixformat → 496
  • -
  • \chaptermark → 112, 274, 446
  • -
  • \chaptermarkformat → 112, 274, 446
  • -
  • \chapternumdepth → 113
  • +
  • \chaptermark → 113, 274, 446
  • +
  • \chaptermarkformat → 113, 274, 446
  • +
  • \chapternumdepth → 114
  • \chapterpagestyle → 84
  • \chead* → 267
  • \chead → 266
  • -
  • \cleardoubleemptypage → 234, 302, 88
  • -
  • \cleardoubleevenemptypage → 234, 302, 88
  • -
  • \cleardoubleevenpage → 234, 302, 88
  • -
  • \cleardoubleevenpageusingstyle → 234, 302, 88
  • -
  • \cleardoubleevenplainpage → 234, 302, 88
  • -
  • \cleardoubleevenstandardpage → 234, 302, 88
  • -
  • \cleardoubleoddemptypage → 234, 302, 88
  • -
  • \cleardoubleoddpage → 234, 302, 88
  • -
  • \cleardoubleoddpageusingstyle → 234, 302, 88
  • -
  • \cleardoubleoddplainpage → 234, 302, 88
  • -
  • \cleardoubleoddstandardpage → 234, 302, 88
  • -
  • \cleardoublepage → 234, 302, 88
  • -
  • \cleardoublepageusingstyle → 234, 302, 88
  • -
  • \cleardoubleplainpage → 234, 302, 88
  • -
  • \cleardoublestandardpage → 234, 302, 88
  • +
  • \cleardoubleemptypage → 235, 302, 88
  • +
  • \cleardoubleevenemptypage → 235, 302, 88
  • +
  • \cleardoubleevenpage → 235, 302, 88
  • +
  • \cleardoubleevenpageusingstyle → 235, 302, 88
  • +
  • \cleardoubleevenplainpage → 235, 302, 88
  • +
  • \cleardoubleevenstandardpage → 235, 302, 88
  • +
  • \cleardoubleoddemptypage → 235, 302, 88
  • +
  • \cleardoubleoddpage → 235, 302, 88
  • +
  • \cleardoubleoddpageusingstyle → 235, 302, 88
  • +
  • \cleardoubleoddplainpage → 235, 302, 88
  • +
  • \cleardoubleoddstandardpage → 235, 302, 88
  • +
  • \cleardoublepage → 235, 302, 88
  • +
  • \cleardoublepageusingstyle → 235, 302, 88
  • +
  • \cleardoubleplainpage → 235, 302, 88
  • +
  • \cleardoublestandardpage → 235, 302, 88
  • \clearmainofpairofpagestyles → 454
  • \clearnotecolumn → 469
  • \clearnotecolumns → 470
  • -
  • \clearpage → 234, 302, 88
  • +
  • \clearpage → 235, 302, 88
  • \clearpairofpagestyles → 454
  • \clearplainofpairofpagestyles → 454
  • -
  • \closing → 173
  • +
  • \closing → 174
  • \cofoot* → 265
  • \cofoot → 263
  • \cohead* → 262
  • @@ -540,35 +539,35 @@
  • \defaultreffields → 505
  • \defcaptionname* → 352
  • \defcaptionname → 352
  • -
  • \deffootnote → 236, 305, 92
  • -
  • \deffootnotemark → 236, 305, 92
  • +
  • \deffootnote → 237, 305, 92
  • +
  • \deffootnotemark → 237, 305, 92
  • \defpagestyle → 454
  • \defpairofpagestyles → 453
  • \deftocheading → 384
  • -
  • \dictum → 116, 306
  • -
  • \dictumauthorformat → 116, 306
  • -
  • \dictumrule → 116, 306
  • -
  • \dictumwidth → 116, 306
  • -
  • \documentclass → 152, 255, 292, 310, 32, 414, 419, 459, 55
  • +
  • \dictum → 117, 307
  • +
  • \dictumauthorformat → 117, 307
  • +
  • \dictumrule → 117, 307
  • +
  • \dictumwidth → 117, 307
  • +
  • \documentclass → 153, 255, 292, 310, 32, 414, 419, 459, 55
  • \doforeachtocfile → 379
  • \ellipsispar → 318
  • \emailname → 512
  • -
  • \encl → 176
  • +
  • \encl → 177
  • \enclname → 512
  • \extratitle → 298, 67
  • \faxname → 512
  • -
  • \figureformat → 138
  • +
  • \figureformat → 139
  • \flushbottom → 58
  • -
  • \footnote → 235, 304, 90
  • -
  • \footnotemark → 235, 304, 90
  • -
  • \footnotetext → 235, 304, 90
  • -
  • \footref → 236, 304, 91
  • +
  • \footnote → 236, 304, 90
  • +
  • \footnotemark → 236, 304, 90
  • +
  • \footnotetext → 236, 304, 90
  • +
  • \footref → 237, 304, 91
  • \foreachemptykomavar → 507
  • \foreachkomavar → 507
  • \foreachkomavarifempty → 507
  • \foreachnonemptykomavar → 507
  • \frontispiece → 298, 67
  • -
  • \frontmatter → 94
  • +
  • \frontmatter → 95
  • \headfromname → 512
  • \headmark → 272, 445
  • \headtoname → 512
  • @@ -581,15 +580,15 @@
  • \ihead → 266
  • \indexpagestyle → 84
  • \invoicename → 512
  • -
  • \item → 118, 238
  • -
  • \labelenumi → 119, 239
  • -
  • \labelenumii → 119, 239
  • -
  • \labelenumiii → 119, 239
  • -
  • \labelenumiv → 119, 239
  • -
  • \labelitemi → 118, 238
  • -
  • \labelitemii → 118, 238
  • -
  • \labelitemiii → 118, 238
  • -
  • \labelitemiv → 118, 238
  • +
  • \item → 119, 239
  • +
  • \labelenumi → 120, 240
  • +
  • \labelenumii → 120, 240
  • +
  • \labelenumiii → 120, 240
  • +
  • \labelenumiv → 120, 240
  • +
  • \labelitemi → 119, 239
  • +
  • \labelitemii → 119, 239
  • +
  • \labelitemiii → 119, 239
  • +
  • \labelitemiv → 119, 239
  • \layercontentsmeasure → 432
  • \layerhalign → 430
  • \layerheight → 430
  • @@ -605,12 +604,12 @@
  • \lefttopmark → 444, 449
  • \lehead* → 262
  • \lehead → 260
  • -
  • \letterlastpage → 171
  • -
  • \letterpagestyle → 228
  • +
  • \letterlastpage → 172
  • +
  • \letterpagestyle → 229
  • \listof/extension/name → 382
  • \listofeachtoc → 382
  • -
  • \listoffigures → 145
  • -
  • \listoftables → 145
  • +
  • \listoffigures → 146
  • +
  • \listoftables → 146
  • \listoftoc* → 382
  • \listoftoc → 382
  • \lofoot* → 265
  • @@ -618,21 +617,21 @@
  • \lohead* → 262
  • \lohead → 260
  • \lowertitleback → 300, 71
  • -
  • \mainmatter → 94
  • +
  • \mainmatter → 95
  • \makenote* → 466
  • \makenote → 466
  • \maketitle → 298, 67
  • \manualmark → 269, 443
  • -
  • \marginline → 146, 242, 309
  • -
  • \marginpar → 146, 242, 309
  • -
  • \markboth → 232, 275, 447, 83
  • +
  • \marginline → 147, 243, 309
  • +
  • \marginpar → 147, 243, 309
  • +
  • \markboth → 233, 275, 447, 83
  • \markdouble → 275, 447
  • \markleft → 275, 447
  • -
  • \markright → 232, 275, 447, 83
  • -
  • \minisec → 106
  • +
  • \markright → 233, 275, 447, 83
  • +
  • \minisec → 107
  • \mobilephonename → 512
  • -
  • \multfootsep → 235, 303, 90
  • -
  • \multiplefootnoteseparator → 235, 304, 90
  • +
  • \multfootsep → 236, 303, 90
  • +
  • \multiplefootnoteseparator → 236, 304, 90
  • \myrefname → 512
  • \nameday → 282
  • \newbibstyle → 503
  • @@ -645,34 +644,34 @@
  • \newkomavar → 505
  • \newpagestyle → 454
  • \newpairofpagestyles → 453
  • -
  • \newplength → 165
  • +
  • \newplength → 166
  • \nonumberline → 404
  • \numberline → 388
  • \ofoot* → 267
  • \ofoot → 266
  • \ohead* → 267
  • \ohead → 266
  • -
  • \opening → 172
  • -
  • \othersectionlevelsformat → 109
  • +
  • \opening → 173
  • +
  • \othersectionlevelsformat → 110
  • \pagemark → 272, 445
  • \pagename → 512
  • \pagenumbering → 85
  • -
  • \pagestyle → 231, 81
  • -
  • \paragraph* → 105
  • +
  • \pagestyle → 232, 81
  • +
  • \paragraph* → 106
  • \paragraph → 101
  • -
  • \paragraphformat → 109
  • +
  • \paragraphformat → 110
  • \paragraphmark → 274, 446
  • \paragraphmarkformat → 274, 446
  • -
  • \paragraphnumdepth → 113
  • +
  • \paragraphnumdepth → 114
  • \paragraphtocdepth → 77
  • \parellipsis → 318
  • \parformat → 318
  • \parformatseparation → 318
  • \parname → 325
  • \parshortname → 325
  • -
  • \part* → 105
  • +
  • \part* → 106
  • \part → 101
  • -
  • \partformat → 109
  • +
  • \partformat → 110
  • \partheademptypage → 493
  • \partheadendvskip → 493
  • \partheadmidvskip → 493
  • @@ -680,7 +679,7 @@
  • \partlineswithprefixformat → 494
  • \partmark → 274, 446
  • \partmarkformat → 274, 446
  • -
  • \partnumdepth → 113
  • +
  • \partnumdepth → 114
  • \partpagestyle → 84
  • \parttocdepth → 77
  • \phonename → 512
  • @@ -688,7 +687,7 @@
  • \providecaptionname → 352
  • \providepagestyle → 454
  • \providepairofpagestyles → 453
  • -
  • \ps → 174
  • +
  • \ps → 175
  • \publishers → 299, 68
  • \putC → 431
  • \putLL → 431
  • @@ -696,15 +695,15 @@
  • \putUL → 431
  • \putUR → 431
  • \raggedbottom → 58
  • -
  • \raggedchapter → 108
  • +
  • \raggedchapter → 109
  • \raggedchapterentry → 477
  • -
  • \raggeddictum → 116, 306
  • -
  • \raggeddictumauthor → 116, 306
  • -
  • \raggeddictumtext → 116, 306
  • -
  • \raggedfootnote → 237, 306, 94
  • -
  • \raggedpart → 108
  • -
  • \raggedsection → 108
  • -
  • \raggedsignature → 221
  • +
  • \raggeddictum → 117, 307
  • +
  • \raggeddictumauthor → 117, 307
  • +
  • \raggeddictumtext → 117, 307
  • +
  • \raggedfootnote → 238, 306, 94
  • +
  • \raggedpart → 109
  • +
  • \raggedsection → 109
  • +
  • \raggedsignature → 222
  • \recalctypearea → 40
  • \ref → 320
  • \refClause → 320
  • @@ -739,82 +738,82 @@
  • \rohead* → 262
  • \rohead → 260
  • \scr@startsection → 500
  • -
  • \section* → 105
  • +
  • \section* → 106
  • \section → 101
  • \sectioncatchphraseformat → 498
  • -
  • \sectionformat → 109
  • +
  • \sectionformat → 110
  • \sectionlinesformat → 498
  • -
  • \sectionmark → 112, 274, 446
  • -
  • \sectionmarkformat → 112, 274, 446
  • -
  • \sectionnumdepth → 113
  • +
  • \sectionmark → 113, 274, 446
  • +
  • \sectionmarkformat → 113, 274, 446
  • +
  • \sectionnumdepth → 114
  • \sectiontocdepth → 77
  • \sentencename → 325
  • \sentencenumberformat → 319
  • \sentenceshortname → 325
  • -
  • \setbibpreamble → 149
  • -
  • \setcapdynwidth → 140
  • -
  • \setcaphanging → 138
  • -
  • \setcapindent* → 138
  • -
  • \setcapindent → 138
  • -
  • \setcapmargin* → 140
  • -
  • \setcapmargin → 140
  • -
  • \setcaptionalignment → 141
  • -
  • \setcapwidth → 140
  • -
  • \setchapterpreamble → 114
  • -
  • \setfootnoterule → 237, 94
  • -
  • \setindexpreamble → 151
  • -
  • \setkomafont → 180, 257, 295, 311, 460, 59
  • -
  • \setkomavar* → 159
  • -
  • \setkomavar → 159
  • -
  • \setlengthtoplength → 168
  • +
  • \setbibpreamble → 150
  • +
  • \setcapdynwidth → 141
  • +
  • \setcaphanging → 139
  • +
  • \setcapindent* → 139
  • +
  • \setcapindent → 139
  • +
  • \setcapmargin* → 141
  • +
  • \setcapmargin → 141
  • +
  • \setcaptionalignment → 142
  • +
  • \setcapwidth → 141
  • +
  • \setchapterpreamble → 115
  • +
  • \setfootnoterule → 238, 94
  • +
  • \setindexpreamble → 152
  • +
  • \setkomafont → 181, 257, 295, 311, 460, 59
  • +
  • \setkomavar* → 160
  • +
  • \setkomavar → 160
  • +
  • \setlengthtoplength → 169
  • \setparsizes → 481
  • -
  • \setpartpreamble → 114
  • -
  • \setplength → 167
  • -
  • \setplengthtodepth → 167
  • -
  • \setplengthtoheight → 167
  • -
  • \setplengthtototalheight → 167
  • -
  • \setplengthtowidth → 167
  • +
  • \setpartpreamble → 115
  • +
  • \setplength → 168
  • +
  • \setplengthtodepth → 168
  • +
  • \setplengthtoheight → 168
  • +
  • \setplengthtototalheight → 168
  • +
  • \setplengthtowidth → 168
  • \settime → 285
  • \setuptoc → 385
  • \storeareas → 473
  • \subject → 299, 68
  • \subjectname → 512
  • -
  • \subparagraph* → 105
  • +
  • \subparagraph* → 106
  • \subparagraph → 101
  • -
  • \subparagraphformat → 109
  • +
  • \subparagraphformat → 110
  • \subparagraphmark → 274, 446
  • \subparagraphmarkformat → 274, 446
  • -
  • \subparagraphnumdepth → 113
  • +
  • \subparagraphnumdepth → 114
  • \subparagraphtocdepth → 77
  • -
  • \subsection* → 105
  • +
  • \subsection* → 106
  • \subsection → 101
  • -
  • \subsectionformat → 109
  • -
  • \subsectionmark → 112, 274, 446
  • -
  • \subsectionmarkformat → 112, 274, 446
  • -
  • \subsectionnumdepth → 113
  • +
  • \subsectionformat → 110
  • +
  • \subsectionmark → 113, 274, 446
  • +
  • \subsectionmarkformat → 113, 274, 446
  • +
  • \subsectionnumdepth → 114
  • \subsectiontocdepth → 77
  • -
  • \subsubsection* → 105
  • +
  • \subsubsection* → 106
  • \subsubsection → 101
  • -
  • \subsubsectionformat → 109
  • +
  • \subsubsectionformat → 110
  • \subsubsectionmark → 274, 446
  • \subsubsectionmarkformat → 274, 446
  • -
  • \subsubsectionnumdepth → 113
  • +
  • \subsubsectionnumdepth → 114
  • \subsubsectiontocdepth → 77
  • \subtitle → 299, 68
  • \syncwithnotecolumn → 467
  • \syncwithnotecolumns → 469
  • -
  • \tableformat → 138
  • +
  • \tableformat → 139
  • \tableofcontents → 76
  • \thanks → 299, 68
  • -
  • \theenumi → 119, 239
  • -
  • \theenumii → 119, 239
  • -
  • \theenumiii → 119, 239
  • -
  • \theenumiv → 119, 239
  • -
  • \thefootnotemark → 236, 305, 92
  • +
  • \theenumi → 120, 240
  • +
  • \theenumii → 120, 240
  • +
  • \theenumiii → 120, 240
  • +
  • \theenumiv → 120, 240
  • +
  • \thefootnotemark → 237, 305, 92
  • \thepar → 318
  • \thesentence → 319
  • -
  • \thisletter → 171
  • -
  • \thispagestyle → 231, 81
  • +
  • \thisletter → 172
  • +
  • \thispagestyle → 232, 81
  • \thistime* → 284
  • \thistime → 284
  • \title → 299, 68
  • @@ -838,17 +837,17 @@
  • \typearea → 40
  • \unsettoc → 385
  • \uppertitleback → 300, 71
  • -
  • \useencodingofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usefamilyofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usefontofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usekomafont → 180, 257, 295, 311, 460, 59
  • -
  • \usekomavar* → 160, 506
  • -
  • \usekomavar → 160, 506
  • -
  • \usepackage → 152, 255, 292, 310, 32, 414, 419, 459, 55
  • -
  • \useplength → 167
  • -
  • \useseriesofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \useshapeofkomafont → 184, 259, 296, 312, 461, 65
  • -
  • \usesizeofkomafont → 184, 259, 296, 312, 461, 65
  • +
  • \useencodingofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usefamilyofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usefontofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usekomafont → 181, 257, 295, 311, 460, 59
  • +
  • \usekomavar* → 161, 506
  • +
  • \usekomavar → 161, 506
  • +
  • \usepackage → 153, 255, 292, 310, 32, 414, 419, 459, 55
  • +
  • \useplength → 168
  • +
  • \useseriesofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \useshapeofkomafont → 185, 259, 296, 312, 461, 65
  • +
  • \usesizeofkomafont → 185, 259, 296, 312, 461, 65
  • \usetocbasicnumberline → 388
  • \withoutparnumber → 318
  • \wwwname → 512
  • @@ -858,20 +857,20 @@

    Environments

    Lengths

      @@ -880,119 +879,119 @@

    Pseudolengths

    Variables

    Page Styles

    Counter

    Styles for the float Package

    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 $ %%%% (run: Ni,EARLY,LOW,head) %%%% (run: Ni,EARLY,LOW,body) %%%% (run: Ni,EARLY,HIGH,head) @@ -69,57 +32,96 @@ %%%% (run: Kaku,LATE,LOW,head) %%%% (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} % % \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{% % Nippon% % Kaku% @@ -224,13 +227,16 @@ % R% % L% % 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 % -%<*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{% % 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} +%\setplength{toaddrhpos}{22mm} +%\setplength{toaddrhpos}{25mm} +%\setplength{toaddrhpos}{-22mm} +\setplength{toaddrwidth}{90mm} +%\setplength{toaddrvpos}{12mm} +%\setplength{toaddrvpos}{28mm} +%\setplength{toaddrvpos}{24mm} +%\setplength{toaddrheight}{40mm} +%\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} -%\@setplength{refvpos}{69mm} -%\@setplength{refvpos}{84mm} -\@setplength{refaftervskip}{\baselineskip} -%\@setplength{toaddrhpos}{22mm} -%\@setplength{toaddrhpos}{25mm} -%\@setplength{toaddrhpos}{-22mm} -\@setplength{toaddrwidth}{90mm} -%\@setplength{toaddrvpos}{12mm} -%\@setplength{toaddrvpos}{28mm} -%\@setplength{toaddrvpos}{24mm} -%\@setplength{toaddrheight}{40mm} -%\@setplength{toaddrheight}{50mm} -\@setplength{toaddrindent}{\z@} -\@setplength{backaddrheight}{5mm} -\@setplength{specialmailindent}{\fill} -\@setplength{specialmailrightindent}{1em} -\@setplength{locwidth}{\z@} -%\@setplength{locheight}{55mm}% -%\@setplength{locheight}{45mm}% -\@setplength{firstheadvpos}{8mm} -\@setplength{firstheadwidth}{\paperwidth} +\setplength{locwidth}{\z@} +%\setplength{locheight}{55mm}% +%\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} +%\setplength{refvpos}{69mm} +%\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} % % -% \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/Master/texmf-dist/source/latex/koma-script/koma-script-source-doc.dtx b/Master/texmf-dist/source/latex/koma-script/koma-script-source-doc.dtx new file mode 100644 index 00000000000..d1ce7326c57 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/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 +% +%<*dtx> +\ProvidesFile{koma-script-source-doc.dtx} +% +%<+ins>\ProvidesFile{koma-script-source-doc.ins} +[2022-03-10 v0.91 KOMA-Script source documentation] +%<*dtx> +\ifx\documentclass\undefined +% +%<*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}% + }% + } +% +%<*dtx> +\else + \let\endbatchfile\relax +\fi +% +%<*dtx|ins> +\endbatchfile +% +%<*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} +% +% \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} +% +% \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/Master/texmf-dist/source/latex/koma-script/scraddr.dtx b/Master/texmf-dist/source/latex/koma-script/scraddr.dtx index e1c03e46d83..f01483bf594 100644 --- a/Master/texmf-dist/source/latex/koma-script/scraddr.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 @@ %\ProvidesFile{scraddr.drv} %\ProvidesPackage{scraddr} %<*dtx|scraddr|driver> - [2013/09/30 v1.1c KOMA-Script + [2022/01/24 v1.1d KOMA-Script % % package] %<*dtx|driver> @@ -72,8 +35,8 @@ % %<*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 % %<*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} % % \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 @@ % %\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} % % \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/Master/texmf-dist/source/latex/koma-script/scrdoc.dtx b/Master/texmf-dist/source/latex/koma-script/scrdoc.dtx index ccb4e42cc74..99096df899e 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrdoc.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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/Master/texmf-dist/source/latex/koma-script/scrdocstrip.tex b/Master/texmf-dist/source/latex/koma-script/scrdocstrip.tex index 0c96d0f00d8..c0f10783614 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrdocstrip.tex +++ b/Master/texmf-dist/source/latex/koma-script/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/Master/texmf-dist/source/latex/koma-script/scrextend.dtx b/Master/texmf-dist/source/latex/koma-script/scrextend.dtx index 63718bf10e1..0be97835dfc 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrextend.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %%%% (run: preidentify) %%%% (run: prepare) % % \end{macrocode} % -% \iffalse -% -%<*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)% ] +% % \end{macrocode} % -% \iffalse -% -%<*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 }% } +% % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} % -% \iffalse -% -%<*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}% }% } +% % \end{macrocode} % \end{option} % -% \iffalse -% -% \fi +% \begin{macrocode} +% +% \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/Master/texmf-dist/source/latex/koma-script/scrhack.dtx b/Master/texmf-dist/source/latex/koma-script/scrhack.dtx index 1a75956680f..dc1ea8b0872 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrhack.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %%%% using: package,identify %%%% using: package,option %%%% 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 % @@ -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} % %\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 -% +% +% \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} % -% \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&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 @@ % % \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 @@ % % \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 @@ % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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} % % \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 @@ } % % \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 @@ } % % \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 % % \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/Master/texmf-dist/source/latex/koma-script/scrjura.dtx b/Master/texmf-dist/source/latex/koma-script/scrjura.dtx index 9b9d1b3032b..8fe4bc45323 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrjura.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %%%% (run: identify) %%%% (run: init) %%%% (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 % %\NeedsTeXFormat{LaTeX2e}[1995/06/01] @@ -90,102 +49,94 @@ ] % %<*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 % +%<*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 +% %<*dtx> -}\else\let\MainBodyWork\relax\fi - -\MainBodyWork - -\def\batchfile{scrjura.dtx} +\else + \let\endbatchfile\relax +\fi +% +%<*ins> +\endbatchfile +% +%<*dtx> +\documentclass{koma-script-source-doc} +\usepackage[USenglish]{babel} +\setcounter{StandardModuleDepth}{2} +\begin{document} + \DocInput{scrjura.dtx} +\end{document} % -%\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 - -% % \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 @@ % % \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] % % \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} % % \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 + }% } % % \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 @@ % % \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}% % % \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 @@ } % % \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 % % \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} % % \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 @@ } % % \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} % % \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 @@ % % \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 @@ } % % \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}{} % % \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 % % \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{}} } % % \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}} % % \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}.} % % \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 @@ % % \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 @@ } % % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} +% \end{command} % % \iffalse % % \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/Master/texmf-dist/source/latex/koma-script/scrkernel-addressfiles.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-addressfiles.dtx new file mode 100644 index 00000000000..8cdaa70be60 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/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 $ +% %<*load&class&neveruse> @@ -1511,29 +1421,24 @@ % %<*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} %\KOMAProcessOptions\relax %\FamilyProcessOptions{KOMA}\relax -% \end{macrocode} -% -% \iffalse % %<*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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ % % \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}% % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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. % %<*prepare> %<*base> @@ -1767,25 +1652,35 @@ % % %<*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 @@ } % % \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} % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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{} % % \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 @@ } % % \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 @@ } % % \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}} % % \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}} % % \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 @@ % % \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 @@ % % \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 @@ % % \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 - } + }% } % % \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 - } + }% } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ % % \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}} % % \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 @@ } % % \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 @@ } % % \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} % % \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} % %<*base&prepare> @@ -4229,14 +4038,13 @@ % %<*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 % % \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 @@ }% % % \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 % % \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}} % % \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 @@ } % % \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}{} % % \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 @@ } % % \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 @@ } % % \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 @@ % % \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 @@ } % % \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 @@ } % % \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 }{% % +% \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 }{% % +% \end{macrocode} +% But currently we don't use it! +% \begin{macrocode} \expandafter\Ifisdimexpr\expandafter{\reserved@a}{% \aftergroup\@firstoftwo }{% @@ -4755,13 +4581,18 @@ % \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} % -% 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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ % % \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}} % % \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 @@ } % % \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 @@ } % % \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 @@ } % % \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 @@ % % \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 @@ } % % \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 @@ }% } % +% % \end{macrocode} -% \end{macro} +% \end{command} % -% \selectlanguage{ngerman} -% -% \iffalse -% -% \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/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx index a00422db944..a2c58a9e4ef 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-bibliography.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %

    \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 % -%<*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} -%
    \newcommand*\refname{References} -%\newcommand*\bibname{Bibliography} +%<*body> +%<*article> +\newcommand*\refname{References} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\refname{References} +%
    +%<*book|report> +\newcommand*\bibname{Bibliography} +\providecaptionname{american,australian,british,canadian,english,newzealand,% + UKenglish,ukenglish,USenglish,usenglish}\bibname{Bibliography} +% % \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} +% % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \iffalse -% -% \fi % -% \iffalse +% \begin{macrocode} % -% \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/Master/texmf-dist/source/latex/koma-script/scrkernel-circularletters.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-circularletters.dtx deleted file mode 100644 index c05abcdb07d..00000000000 --- a/Master/texmf-dist/source/latex/koma-script/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 $ -% -%<*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 -% -% -% \fi -% -% \Finale -% -\endinput -% -% end of file `scrkernel-circularletters.dtx' -%%% Local Variables: -%%% mode: doctex -%%% TeX-master: t -%%% End: diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx index e626ce2194b..c56962eaf15 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-compatibility.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %%%% (run: identify) %%%% (run: 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/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx index 3a4e59b2118..eccacb2b25a 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-floats.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ % -%<*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}% % % \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, % 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 %
    % \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 -% -% \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, % 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 % +% % \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 -% -% \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 -% -% -% -% \fi -% +% \begin{macrocode} +% +% \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/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx index 2e703b4a8a5..1fb7cf7601c 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-fonts.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %%%% (run: identify) % -%<*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}}{} +% % \end{macrocode} -% \iffalse -% -% \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 -% -%<*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 @@ % \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@} % %<*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@} % %<*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@} % % \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 % -%<*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 % \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% }% } +% % \end{macrocode} -% \end{macro}%^^A \simple@changefontsizes -% \end{macro}%^^A \changefontsizes -% \iffalse -% -%<*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 +% % \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% \iffalse -% -%<*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} }% % }% }% } -% -% -% +% % \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@@ } -% -% +% % \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 } -% +% % \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} -% +% % \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} -% +% % \end{macrocode} -% \end{macro} -% \end{macro} +% \end{command} % -% \iffalse -% -% \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% }% } +% % \end{macrocode} -% \end{macro} -% \end{macro} -% -% \iffalse -% -% \fi -% -% \iffalse -% -% \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/Master/texmf-dist/source/latex/koma-script/scrkernel-footnotes.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-footnotes.dtx index a13091ba47f..4866277af24 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-footnotes.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ % -%<*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 @@ } % % \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} %\@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 % \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} %\providecommand*{\FN@mf@check}{% %\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} %\newcommand*{\multfootsep}{,} %\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} %\newcommand*{\multiplefootnotemarker}{3sp} %\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} %\newcommand*{\thefootnotemark}{\@thefnmark} %\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 } +% % \end{macrocode} -% \end{macro} +% \end{command} % -% \iffalse -% -% \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/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx index a58dcf853df..34972167b6a 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-index.dtx +++ b/Master/texmf-dist/source/latex/koma-script/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 $ %