summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/algpseudocodex/algpseudocodex.pdfbin355977 -> 356863 bytes
-rw-r--r--macros/latex/contrib/algpseudocodex/algpseudocodex.sty11
-rw-r--r--macros/latex/contrib/algpseudocodex/algpseudocodex.tex7
-rw-r--r--macros/latex/contrib/koma-script/MANIFEST.md4
-rw-r--r--macros/latex/contrib/koma-script/README.md105
-rw-r--r--macros/latex/contrib/koma-script/doc/common-headfootheight-en.tex6
-rw-r--r--macros/latex/contrib/koma-script/doc/common-textmarkup-de.tex50
-rw-r--r--macros/latex/contrib/koma-script/doc/common-textmarkup-en.tex49
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-00-de.pdfbin14941 -> 15210 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-00-en.pdfbin15964 -> 16099 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-01-de.pdfbin17413 -> 17614 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-01-en.pdfbin18849 -> 18856 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-02-de.pdfbin17657 -> 17869 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-02-en.pdfbin19146 -> 19155 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-03-de.pdfbin17692 -> 17904 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-03-en.pdfbin19179 -> 19188 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-04-de.pdfbin17746 -> 17958 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-04-en.pdfbin19223 -> 19229 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-05-de.pdfbin17841 -> 18053 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-05-en.pdfbin19240 -> 19248 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-06-de.pdfbin17842 -> 18059 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-06-en.pdfbin19238 -> 19246 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-07-de.pdfbin17721 -> 17934 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-07-en.pdfbin19198 -> 19204 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-08-de.pdfbin29051 -> 30698 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-08-en.pdfbin30710 -> 32389 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-09-de.pdfbin29032 -> 30680 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-09-en.pdfbin30689 -> 32367 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-10-de.pdfbin29051 -> 30698 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-10-en.pdfbin30710 -> 32389 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-11-de.pdfbin29052 -> 30699 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-11-en.pdfbin30712 -> 32391 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-12-de.pdfbin29051 -> 30698 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-12-en.pdfbin30710 -> 32389 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-13-de.pdfbin29928 -> 31442 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-13-en.pdfbin32107 -> 33659 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-14-de.pdfbin29898 -> 31416 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-14-en.pdfbin32077 -> 33630 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-15-de.pdfbin29928 -> 31442 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-15-en.pdfbin32106 -> 33658 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-16-de.pdfbin30922 -> 32439 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-16-en.pdfbin33097 -> 34650 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-17-de.pdfbin30949 -> 32464 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-17-en.pdfbin33133 -> 34683 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-18-de.pdfbin30945 -> 32462 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-18-en.pdfbin33124 -> 34675 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-19-de.pdfbin31434 -> 32958 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-19-en.pdfbin33406 -> 34954 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-20-de.pdfbin31498 -> 32937 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-20-en.pdfbin33285 -> 34966 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-21-de.pdfbin42786 -> 44230 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-21-en.pdfbin44408 -> 46083 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-22-de.pdfbin43094 -> 44537 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-22-en.pdfbin44705 -> 46388 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-23-de.pdfbin43094 -> 44537 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/letter-example-23-en.pdfbin44705 -> 46388 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrbookreportarticle-en.tex8
-rw-r--r--macros/latex/contrib/koma-script/doc/scrguide-de.pdfbin3260052 -> 3303507 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrguide-en.pdfbin3165693 -> 3217575 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrguide.bib12
-rw-r--r--macros/latex/contrib/koma-script/doc/scrjura-de.tex8
-rw-r--r--macros/latex/contrib/koma-script/doc/scrjura-example-de.pdfbin56778 -> 62562 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrjura-example-de.tex2
-rw-r--r--macros/latex/contrib/koma-script/doc/scrjura-example-en.pdfbin57972 -> 61102 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-de.pdfbin137420 -> 161997 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-en.pdfbin135452 -> 159442 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrlayer-scrpage-de.tex23
-rw-r--r--macros/latex/contrib/koma-script/doc/scrlayer-scrpage-en.tex18
-rw-r--r--macros/latex/contrib/koma-script/doc/scrlttr2-en.tex6
-rw-r--r--macros/latex/contrib/koma-script/doc/scrwfile-de.tex258
-rw-r--r--macros/latex/contrib/koma-script/doc/scrwfile-en.tex240
-rw-r--r--macros/latex/contrib/koma-script/doc/scrwfile.html57
-rw-r--r--macros/latex/contrib/koma-script/doc/tocbasic-de.tex90
-rw-r--r--macros/latex/contrib/koma-script/doc/tocbasic-en.tex75
-rw-r--r--macros/latex/contrib/koma-script/scrextend.dtx10
-rw-r--r--macros/latex/contrib/koma-script/scrhack.dtx106
-rw-r--r--macros/latex/contrib/koma-script/scrjura.dtx88
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-basics.dtx100
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-bibliography.dtx82
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-compatibility.dtx68
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-floats.dtx184
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-fonts.dtx277
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-footnotes.dtx24
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-index.dtx77
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-language.dtx51
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-letterclassoptions.dtx95
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-listsandtabulars.dtx15
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-listsof.dtx170
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-miscellaneous.dtx84
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-notepaper.dtx190
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-pagestyles.dtx54
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-paragraphs.dtx77
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-pseudolengths.dtx12
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-sections.dtx274
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-title.dtx66
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-tocstyle.dtx123
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-typearea.dtx436
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-variables.dtx24
-rw-r--r--macros/latex/contrib/koma-script/scrkernel-version.dtx32
-rw-r--r--macros/latex/contrib/koma-script/scrlayer-scrpage.dtx115
-rw-r--r--macros/latex/contrib/koma-script/scrlayer.dtx114
-rw-r--r--macros/latex/contrib/koma-script/scrmain.ins5
-rw-r--r--macros/latex/contrib/koma-script/scrtime.dtx59
-rw-r--r--macros/latex/contrib/koma-script/scrwfile.dtx516
-rw-r--r--macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdfbin9138986 -> 9158838 bytes
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex22
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNonogramme.tex587
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty5
-rw-r--r--macros/latex/contrib/scrwfile/LICENSE.md19
-rw-r--r--macros/latex/contrib/scrwfile/README.md86
-rw-r--r--macros/latex/contrib/scrwfile/scrwfile.dtx1136
-rw-r--r--macros/latex/contrib/scrwfile/scrwfile.pdfbin0 -> 617666 bytes
-rw-r--r--macros/unicodetex/latex/polyglossia/README.md2
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.dtx1240
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.pdfbin352828 -> 356479 bytes
115 files changed, 4854 insertions, 2800 deletions
diff --git a/macros/latex/contrib/algpseudocodex/algpseudocodex.pdf b/macros/latex/contrib/algpseudocodex/algpseudocodex.pdf
index f825f19698..c927f28b45 100644
--- a/macros/latex/contrib/algpseudocodex/algpseudocodex.pdf
+++ b/macros/latex/contrib/algpseudocodex/algpseudocodex.pdf
Binary files differ
diff --git a/macros/latex/contrib/algpseudocodex/algpseudocodex.sty b/macros/latex/contrib/algpseudocodex/algpseudocodex.sty
index 1489d7ad85..d64ffeb5a6 100644
--- a/macros/latex/contrib/algpseudocodex/algpseudocodex.sty
+++ b/macros/latex/contrib/algpseudocodex/algpseudocodex.sty
@@ -20,7 +20,7 @@
% Based on Szasz Janos' algpseudocode.sty
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{algpseudocodex}[2023-04-16 v1.1.1 pseudocode typesetting]
+\ProvidesPackage{algpseudocodex}[2023-04-17 v1.1.2 pseudocode typesetting]
\RequirePackage{kvoptions}
\RequirePackage{algorithmicx}
\RequirePackage{etoolbox}
@@ -88,6 +88,7 @@
\newlength{\algpx@oldPos}
\newlength{\algpx@newPos}
\newlength{\algpx@tmpLen}% length to be used for various things
+\newlength{\algpx@currentLineskiplimit}% used to restore lineskiplimit in varwidth
\newlength{\algpx@currentLineskip}% used to restore lineskip in varwidth
\newlength{\algpx@indStartY}
\newlength{\algpx@indEndY}
@@ -179,9 +180,11 @@
% create box from here to end of line, leaving space for #3
\settowidth{\algpx@extraShiftX}{#2}% remember that line actually starts further right than last box
\settowidth{\algpx@tmpLen}{#3}%
+ \setlength{\algpx@currentLineskiplimit}{\lineskiplimit}% remember value of lineskiplimit
\setlength{\algpx@currentLineskip}{\lineskip}% remember value of lineskip
\begin{varwidth}[t]{\dimexpr \linewidth - \algpx@extraShiftX - \algpx@tmpLen - \algorithmicindent * \numexpr \value{ALG@nested} - 1 \relax \relax}%
- \setlength{\lineskip}{\algpx@currentLineskip}% rstore lineskip value
+ \setlength{\lineskiplimit}{\algpx@currentLineskiplimit}% restore lineskiplimit value
+ \setlength{\lineskip}{\algpx@currentLineskip}% restore lineskip value
}
% executed before \State, \If etc., i.e., at end of previous line
@@ -801,9 +804,11 @@
\algpx@setCodeBoxWest[\dimexpr \labelsep + \algpx@tmpLen \relax]%
\setbool{algpx@firstLine}{false}%
\setbool{algpx@executeEndVarwidth}{true}%
+ \setlength{\algpx@currentLineskiplimit}{\lineskiplimit}% remember value of lineskiplimit
\setlength{\algpx@currentLineskip}{\lineskip}% remember value of lineskip
\begin{varwidth}[t]{\dimexpr \linewidth - \labelsep - \algpx@tmpLen + \leftmargin \relax}%
- \setlength{\lineskip}{\algpx@currentLineskip}% rstore lineskip value
+ \setlength{\lineskiplimit}{\algpx@currentLineskiplimit}% restore lineskiplimit value
+ \setlength{\lineskip}{\algpx@currentLineskip}% restore lineskip value
\settoheight{\algpx@tmpLen}{#1}%
\rule{0pt}{\algpx@tmpLen}%
}
diff --git a/macros/latex/contrib/algpseudocodex/algpseudocodex.tex b/macros/latex/contrib/algpseudocodex/algpseudocodex.tex
index 3577610e75..b052c12208 100644
--- a/macros/latex/contrib/algpseudocodex/algpseudocodex.tex
+++ b/macros/latex/contrib/algpseudocodex/algpseudocodex.tex
@@ -29,7 +29,7 @@
\title{\bf{Algpseudocodex Package Documentation}}
\author{Christian Matt \\ \url{https://github.com/chrmatt/algpseudocodex}}
-\date{\today\\v1.1.1}
+\date{\today\\v1.1.2}
\begin{document}
@@ -688,6 +688,11 @@ The following keywords can be customized:
\section{Revision History}
+\subsection*{v1.1.2 (2023-04-17)}
+\begin{itemize}
+ \item Fixed issue with resetting value of lineskiplimit.
+\end{itemize}
+
\subsection*{v1.1.1 (2023-04-16)}
\begin{itemize}
\item Fixed issue with resetting value of lineskip.
diff --git a/macros/latex/contrib/koma-script/MANIFEST.md b/macros/latex/contrib/koma-script/MANIFEST.md
index e1a7c9a9fb..1b469356ff 100644
--- a/macros/latex/contrib/koma-script/MANIFEST.md
+++ b/macros/latex/contrib/koma-script/MANIFEST.md
@@ -52,7 +52,6 @@ KOMA-Script bundle of LaTeX classes and packages.
* `scrlfile-patcholdlatex.dtx`
* `scrlogo.dtx`
* `scrtime.dtx`
-* `scrwfile.dtx`
* `tocbasic.dtx`
* `scrjura.dtx`
* `scrmain.ins`
@@ -219,7 +218,6 @@ of the KOMA-Script bundle of LaTeX classes and packages.
* `README.scrreport.cls`
* `README.scrreprt.cls`
* `README.scrtime.sty`
-* `README.scrwfile.sty`
* `README.tocbasic.sty`
* `README.typearea.sty`
* `releaselist.txt`
@@ -249,7 +247,6 @@ of LaTeX classes and packages.
* `scrlfile.sty`
* `scrlogo.sty`
* `scrtime.sty`
-* `scrwfile.sty`
* `tocbasic.sty`
* `typearea.sty`
* `koma-script-source-doc.cls`
@@ -314,7 +311,6 @@ KOMA-Script bundle of LaTeX classes and packages.
* `scrextend.html`
* `scrlayer-scrpage.html`
* `scrlfile-hook.html`
-* `scrwfile.html`
* `scrdate.html`
* `scrartcl.html`
* `scrlfile.html`
diff --git a/macros/latex/contrib/koma-script/README.md b/macros/latex/contrib/koma-script/README.md
index 1aa2aa7fa1..56045e3135 100644
--- a/macros/latex/contrib/koma-script/README.md
+++ b/macros/latex/contrib/koma-script/README.md
@@ -1,5 +1,5 @@
-# KOMA-Script 2022/10/12 v3.38
-Copyright [Markus Kohm](mailto:komascript@gmx.info) 1994–2022
+# KOMA-Script 2023/04/17 v3.39
+Copyright [Markus Kohm](mailto:komascript@gmx.info) 1994–2023
This material is subject to the LaTeX Project Public License Version 1.3c. See [`lppl.txt`](lppl.txt) (English) or [`lppl-de.txt`](lppl-de.txt) (German) for the details of that license.
@@ -68,7 +68,7 @@ Requires: scrkbase - internal KOMA-Script package
Recommended: scrlayer-scrpage - KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -76,8 +76,8 @@ Version: 2022/10/12 v3.38
<pre>
Maintainer: Markus Kohm
E-Mail: komascript@gmx.info
-Abstract: scrreport is a very simple wrapper class to scrartcl. Is has
- been made, because several younger KOMA-Script users doe not
+Abstract: scrreport is a very simple wrapper class to scrartcl. It has
+ been made, because several younger KOMA-Script users do not
understand the 8.3 name scheme.
However it is still recommended to use scrartcl instead of
@@ -85,7 +85,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -126,7 +126,7 @@ Requires: keyval - key=value package from the graphics bundle
manipulation
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -148,7 +148,7 @@ Requires: scrkbase - internal KOMA-Script package
typearea - KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -169,7 +169,7 @@ Requires: scrkbase - KOMA-Script package for some basic features.
manipulation
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -200,7 +200,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -214,7 +214,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -234,7 +234,7 @@ Requires: scrkbase - internal KOMA-Script package with basics
xpatch - extending etoolbox patching commands
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -252,7 +252,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -269,7 +269,7 @@ Requires: scrbase - KOMA-Script package for some basic features.
manipulation
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -314,7 +314,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -341,24 +341,22 @@ Abstract: scrlayer is a LaTeX package of the KOMA-Script bundle.
Requires: scrkbase.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
-### `scrletter` — wrapper class to scrlttr2
+### `scrletter` — wrapper class to scrartcl class + scrletter package
<pre>
Maintainer: Markus Kohm
E-Mail: komascript@gmx.info
-Abstract: scrreport is a very simple wrapper class to scrlttr2. Is has
- been made, because several younger KOMA-Script users doe not
- understand the 8.3 name scheme.
-
- However it is still recommended to use scrlttr2 instead of
- scrletter.
-Requires: scrlttr2.cls - KOMA-Script class
+Abstract: scrletter is a wrapper class to class scrartcl with package
+ scrletter. Is has been made, to provide a letter class, that
+ also supports features like sections and floats.
+Requires: scrartcl.cls – KOMA-Script class
+ scrletter.sty – KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -375,7 +373,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -388,7 +386,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -401,7 +399,7 @@ Abstract: scrlfile-patcholdlatex is an internal subpackage of scrlfile
Requires: scrlogo.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -421,7 +419,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -435,7 +433,7 @@ Abstract: scrlogo is a LaTeX package of the KOMA-Script bundle. It
Requires:
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -470,7 +468,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -478,8 +476,8 @@ Version: 2022/10/12 v3.38
<pre>
Maintainer: Markus Kohm
E-Mail: komascript@gmx.info
-Abstract: scrreport is a very simple wrapper class to scrreprt. Is has
- been made, because several younger KOMA-Script users doe not
+Abstract: scrreport is a very simple wrapper class to scrreprt. It has
+ been made, because several younger KOMA-Script users do not
understand the 8.3 name scheme.
However it is still recommended to use scrreprt instead of
@@ -487,7 +485,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -509,7 +507,7 @@ Requires: scrkbase - internal KOMA-Script package
typearea - KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -523,38 +521,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: 2022/10/12 v3.38
-</pre>
-***
-
-### `scrwfile` — Spare write handles for helper files to avoid `No room' messages
-<pre>
-Maintainer: Markus Kohm
-E-Mail: komascript@gmx.info
-Abstract: scrwfile is a LaTeX package of the KOMA-Script bundle. TeX
- makes only about 16 write handles available for \newwrite.
- With LaTeX, each auxiliary file, not only the main aux file
- but files such as the toc file, the lof file, the lot file,
- and the raw indexes and glossaries need one of these
- handles. scrwfile provides facilities to avoid using
- handles for auxiliary files that use the main aux file for
- intermediate writing. This means that the toc file, the lof
- file, the lot file, and files of packages like listings no
- longer need a write handle, so the user will have more write
- handles for files like indexes or glossaries and can avoid
- `No room for new \write' error messages.
-
- scrwfile also provides facilities to clone auxiliary files,
- e.g., to have two tables of contents with different tocdepth
- settings.
-Requires: scrbase - some basic features for class and package
- authors
- tocbasic - basic features for helper files and lists of
- floats
- scrlfile - control of package dependencies
-License: LPPL 1.3c or later
-State: Author maintained
-Version: 2022/10/06 v0.1.11
+Version: 2023/04/17 v3.39
</pre>
***
@@ -581,7 +548,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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
@@ -604,7 +571,7 @@ 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: 2022/10/12 v3.38
+Version: 2023/04/17 v3.39
</pre>
***
diff --git a/macros/latex/contrib/koma-script/doc/common-headfootheight-en.tex b/macros/latex/contrib/koma-script/doc/common-headfootheight-en.tex
index c703e26dbe..2507a0b8ca 100644
--- a/macros/latex/contrib/koma-script/doc/common-headfootheight-en.tex
+++ b/macros/latex/contrib/koma-script/doc/common-headfootheight-en.tex
@@ -1,6 +1,6 @@
% ======================================================================
% common-headfootheight-en.tex
-% Copyright (c) Markus Kohm, 2013-2022
+% Copyright (c) Markus Kohm, 2013-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,9 +24,9 @@
% ============================================================================
\KOMAProvidesFile{common-headfootheight-en.tex}
- [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ [$Date: 2023-04-06 09:05:58 +0200 (Do, 06. Apr 2023) $
KOMA-Script guide (common paragraph: Head and Foot Height)]
-\translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne\and Karl Hagen}
+\translator{Markus Kohm\and Jana Schubert\and Jens Hühne\and Karl Hagen}
\section{Header and Footer Height}
\seclabel{height}
diff --git a/macros/latex/contrib/koma-script/doc/common-textmarkup-de.tex b/macros/latex/contrib/koma-script/doc/common-textmarkup-de.tex
index 7531a7bb12..100cfeac87 100644
--- a/macros/latex/contrib/koma-script/doc/common-textmarkup-de.tex
+++ b/macros/latex/contrib/koma-script/doc/common-textmarkup-de.tex
@@ -24,7 +24,7 @@
% ======================================================================
\KOMAProvidesFile{common-textmarkup-de.tex}
- [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ [$Date: 2023-04-04 13:29:59 +0200 (Di, 04. Apr 2023) $
KOMA-Script guide (common paragraphs)]
\section{Textauszeichnungen}
@@ -156,6 +156,54 @@
\fi
+\IfThisCommonLabelBaseOneOf{scrlayer-scrpage,scrjura,scrlayer-notecolumn}{%
+ \iffalse%
+}{%
+ \csname iftrue\endcsname%
+}%
+ \begin{Declaration}
+ \OptionVName{sfdefaults}{Ein-Aus-Wert}%
+ \Macro{maybesffamily}%
+ \Macro{textmaybesf}\Parameter{Text}%
+ \end{Declaration}
+ Die%
+ \IfThisCommonLabelBase{maincls}{%
+ \ChangedAt{v3.39}{\Class{scrbook}\and \Class{scrreprt}\and
+ \Class{scrartcl}}%
+ }{%
+ \IfThisCommonLabelBase{scrextend}{%
+ \ChangedAt{v3.39}{\Package{screxend}}%
+ }{%
+ \IfThisCommonLabelBase{scrlttr2}{%
+ \ChangedAt{v3.39}{\Class{scrlttr2}}%
+ }{}%
+ }%
+ } Anweisungen \Macro{maybesffamily} und \Macro{textmaybesf} verhalten sich
+ je nach Einstellung von Option \Option{sfdefaults} unterschiedlich. Als
+ \PName{Ein-Aus-Wert} kann dabei einer der Standardwerte für einfache
+ Schalter aus \autoref{tab:truefalseswitch} verwendet werden. Nur bei
+ aktivierter Option führt \Macro{maybesffamily} zu \Macro{sffamily} und
+ \Macro{textmaybesf} zu \Macro{textsf}. \KOMAScript{} selbst verwendet
+ \Macro{maybesffamily} in der Voreinstellung der Elemente
+ \IfThisCommonLabelBase{scrextend}{}{%
+ \DescRef{\LabelBase.fontelement.descriptionlabel}, %
+ }%
+ \IfThisCommonLabelBase{scrlttr2}{%
+ \DescRef{\LabelBase.fontelement.backaddress}, %
+ \DescRef{\LabelBase.fontelement.refname} %
+ und \DescRef{\LabelBase.fontelement.lettertitle}%
+ }{%
+ \IfThisCommonLabelBase{scrextend}{%
+ \DescRef{maincls.fontelement.disposition}%
+ }{%
+ \DescRef{\LabelBase.fontelement.disposition}%
+ } %
+ und \DescRef{\LabelBase.fontelement.dictum}%
+ }.%
+ \EndIndexGroup%
+ \fi
+
+
\begin{Declaration}
\Macro{setkomafont}\Parameter{Element}\Parameter{Befehle}%
\Macro{addtokomafont}\Parameter{Element}\Parameter{Befehle}%
diff --git a/macros/latex/contrib/koma-script/doc/common-textmarkup-en.tex b/macros/latex/contrib/koma-script/doc/common-textmarkup-en.tex
index 3f161aaedc..8b81bfbbb2 100644
--- a/macros/latex/contrib/koma-script/doc/common-textmarkup-en.tex
+++ b/macros/latex/contrib/koma-script/doc/common-textmarkup-en.tex
@@ -24,7 +24,7 @@
% ======================================================================
\KOMAProvidesFile{common-textmarkup-en.tex}
- [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ [$Date: 2023-04-04 13:29:59 +0200 (Di, 04. Apr 2023) $
KOMA-Script guide (common paragraphs)]
\translator{Gernot Hassenpflug\and Markus Kohm\and Krickette Murabayashi\and
Karl Hagen}
@@ -153,6 +153,53 @@
\fi
+\IfThisCommonLabelBaseOneOf{scrlayer-scrpage,scrjura,scrlayer-notecolumn}{%
+ \iffalse%
+}{%
+ \csname iftrue\endcsname%
+}%
+ \begin{Declaration}
+ \OptionVName{sfdefaults}{simple switch}%
+ \Macro{maybesffamily}%
+ \Macro{textmaybesf}\Parameter{text}%
+ \end{Declaration}
+ The%
+ \IfThisCommonLabelBase{maincls}{%
+ \ChangedAt{v3.39}{\Class{scrbook}\and \Class{scrreprt}\and
+ \Class{scrartcl}}%
+ }{%
+ \IfThisCommonLabelBase{scrextend}{%
+ \ChangedAt{v3.39}{\Package{screxend}}%
+ }{%
+ \IfThisCommonLabelBase{scrlttr2}{%
+ \ChangedAt{v3.39}{\Class{scrlttr2}}%
+ }{}%
+ }%
+ } \Macro{maybesffamily} and \Macro{textmaybesf} commands behave differently
+ depending on the setting of option \Option{sfdefaults}. One of the default
+ values for simple switches from \autoref{tab:truefalseswitch} can be used
+ here. Only if this option is enabled will \Macro{maybesffamily} result in
+ \Macro{sffamily} and \Macro{textmaybesf} use \Macro{textsf}. KOMA-Script
+ itself uses \Macro{maybesffamily} in the default settings of elements
+ \IfThisCommonLabelBase{scrextend}{}{%
+ \DescRef{\LabelBase.fontelement.descriptionlabel}, %
+ }%
+ \IfThisCommonLabelBase{scrlttr2}{%
+ \DescRef{\LabelBase.fontelement.backaddress}, %
+ \DescRef{\LabelBase.fontelement.refname}, %
+ and \DescRef{\LabelBase.fontelement.lettertitle}%
+ }{%
+ \IfThisCommonLabelBase{scrextend}{%
+ \DescRef{maincls.fontelement.disposition}%
+ }{%
+ \DescRef{\LabelBase.fontelement.disposition}, %
+ }%
+ and \DescRef{\LabelBase.fontelement.dictum}%
+ }.%
+ \EndIndexGroup%
+\fi
+
+
\begin{Declaration}
\Macro{setkomafont}\Parameter{element}\Parameter{commands}%
\Macro{addtokomafont}\Parameter{element}\Parameter{commands}%
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-00-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-00-de.pdf
index 2249512b97..bf2ad91537 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-00-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-00-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-00-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-00-en.pdf
index 67abe74cd3..cceedc4657 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-00-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-00-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-01-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-01-de.pdf
index b5a190fa23..7b235fa7db 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-01-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-01-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-01-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-01-en.pdf
index 270c7c3d7d..df28d5d708 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-01-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-01-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-02-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-02-de.pdf
index 82f7716e3a..72cb97f417 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-02-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-02-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-02-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-02-en.pdf
index 31bcb38952..8c32102d1b 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-02-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-02-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-03-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-03-de.pdf
index eb2f4259cb..68c17bb8db 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-03-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-03-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-03-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-03-en.pdf
index fbfd018450..7c0e47913c 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-03-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-03-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-04-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-04-de.pdf
index 9631976843..4f72d91356 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-04-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-04-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-04-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-04-en.pdf
index 48ad48858a..fea4f82e13 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-04-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-04-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-05-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-05-de.pdf
index a0f0bca15d..04f77cb7d5 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-05-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-05-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-05-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-05-en.pdf
index 2a956f2965..99ac87b961 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-05-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-05-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-06-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-06-de.pdf
index e66bd554e1..b207def49a 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-06-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-06-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-06-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-06-en.pdf
index c64985369e..2ea196f2b0 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-06-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-06-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-07-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-07-de.pdf
index 4e65475a2f..c4806624d5 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-07-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-07-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-07-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-07-en.pdf
index 2f76bfa3f7..453d96f15c 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-07-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-07-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-08-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-08-de.pdf
index d9de127751..35dd6e5095 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-08-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-08-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-08-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-08-en.pdf
index dc4a322f89..1543cf5eca 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-08-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-08-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-09-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-09-de.pdf
index 259a7dc2dd..4879a525b8 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-09-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-09-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-09-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-09-en.pdf
index 1a384afac1..f15d3ed842 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-09-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-09-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-10-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-10-de.pdf
index dac0d2ec28..e98de9d690 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-10-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-10-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-10-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-10-en.pdf
index a277f2fc55..1cb5b1f34d 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-10-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-10-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-11-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-11-de.pdf
index 9f50de50e4..eea9f33be8 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-11-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-11-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-11-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-11-en.pdf
index 8fcbc7e47d..d16b5b1ad2 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-11-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-11-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-12-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-12-de.pdf
index 72a9aea2d5..4a7a1aee52 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-12-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-12-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-12-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-12-en.pdf
index 4bebc44a1f..995d7ada77 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-12-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-12-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-13-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-13-de.pdf
index 88f0d60137..0f10aad58b 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-13-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-13-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-13-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-13-en.pdf
index e8a805b47b..0d75113def 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-13-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-13-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-14-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-14-de.pdf
index 64b9623031..bc8c78a39d 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-14-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-14-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-14-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-14-en.pdf
index d737001ea5..63c0ed97ed 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-14-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-14-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-15-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-15-de.pdf
index 2c8345548d..d7a7021cc0 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-15-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-15-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-15-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-15-en.pdf
index 4939295488..94c8221b79 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-15-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-15-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-16-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-16-de.pdf
index 048a7793da..07c725b509 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-16-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-16-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-16-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-16-en.pdf
index 52ed1ab06a..9a836451af 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-16-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-16-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-17-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-17-de.pdf
index 9aefd10579..39ebc382d7 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-17-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-17-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-17-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-17-en.pdf
index 7903207d01..026232663f 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-17-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-17-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-18-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-18-de.pdf
index 94935d2668..282c02c3bd 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-18-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-18-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-18-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-18-en.pdf
index d70ca642c1..1cbdc9dc9d 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-18-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-18-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-19-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-19-de.pdf
index 464fb712e4..beff2c403a 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-19-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-19-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-19-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-19-en.pdf
index 3f45de2755..78a55e595d 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-19-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-19-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-20-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-20-de.pdf
index 3cf39ec1b7..dbd12bef9a 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-20-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-20-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-20-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-20-en.pdf
index 09d88c5d65..e39a1a32e4 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-20-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-20-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-21-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-21-de.pdf
index 7602ec5e30..4c4a9606e7 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-21-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-21-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-21-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-21-en.pdf
index cc74aca2f1..a892448d61 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-21-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-21-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-22-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-22-de.pdf
index 873f92bf96..072952e220 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-22-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-22-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-22-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-22-en.pdf
index 5b5c16e21d..1926717703 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-22-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-22-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-23-de.pdf b/macros/latex/contrib/koma-script/doc/letter-example-23-de.pdf
index c1bbff8084..9bda41d035 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-23-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-23-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/letter-example-23-en.pdf b/macros/latex/contrib/koma-script/doc/letter-example-23-en.pdf
index ef315480af..27a27eed8b 100644
--- a/macros/latex/contrib/koma-script/doc/letter-example-23-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/letter-example-23-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrbookreportarticle-en.tex b/macros/latex/contrib/koma-script/doc/scrbookreportarticle-en.tex
index 3cf7fc28a0..9994aa9738 100644
--- a/macros/latex/contrib/koma-script/doc/scrbookreportarticle-en.tex
+++ b/macros/latex/contrib/koma-script/doc/scrbookreportarticle-en.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrbookreportarticle-en.tex
-% Copyright (c) Markus Kohm, 2001-2022
+% Copyright (c) Markus Kohm, 2001-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,11 +24,11 @@
% ============================================================================
\KOMAProvidesFile{scrbookreportarticle-en.tex}
- [$Date: 2022-07-17 12:37:12 +0200 (So, 17. Jul 2022) $
+ [$Date: 2023-04-06 09:05:58 +0200 (Do, 06. Apr 2023) $
KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl)]
\translator{Jens-Uwe Morawski\and Gernot Hassenpflug\and Markus Kohm\and
- Krickette Murabayashi\and Jana Schubert\and Jens H\"uhne\and Karl Hagen}
+ Krickette Murabayashi\and Jana Schubert\and Jens Hühne\and Karl Hagen}
\chapter{The Main Classes: \Class{scrbook}, \Class{scrreprt}, and
\Class{scrartcl}}
@@ -1615,7 +1615,7 @@ below contain examples using some of these settings.
\ChangedAt{v3.12}{\Class{scrbook}\and\Class{scrreprt}\and\Class{scrartcl}}%
Reset the font settings for each of the standard sectioning levels and use
headings with the sizes of the standard classes. For chapter headings,
- \Class{scrbook} und \Class{scrreprt} set
+ \Class{scrbook} and \Class{scrreprt} set
\OptionValue{headings}{twolinechapter}.%
}%
\entry{\PValue{twolineappendix}, \PValue{appendixprefix},
diff --git a/macros/latex/contrib/koma-script/doc/scrguide-de.pdf b/macros/latex/contrib/koma-script/doc/scrguide-de.pdf
index 870ca4aff9..db536b8340 100644
--- a/macros/latex/contrib/koma-script/doc/scrguide-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrguide-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrguide-en.pdf b/macros/latex/contrib/koma-script/doc/scrguide-en.pdf
index bcd01f37da..78a67052de 100644
--- a/macros/latex/contrib/koma-script/doc/scrguide-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrguide-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrguide.bib b/macros/latex/contrib/koma-script/doc/scrguide.bib
index 4c6b7e6da3..d93e74044a 100644
--- a/macros/latex/contrib/koma-script/doc/scrguide.bib
+++ b/macros/latex/contrib/koma-script/doc/scrguide.bib
@@ -1,6 +1,6 @@
% ======================================================================
% scrguide.bib
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -719,6 +719,16 @@ Schlegl},
url = {CTAN://macros/latex/contrib/splitindex/}
}
+@Misc{ package:scrwfile,
+ language= {english},
+ author = {Markus Kohm},
+ title = {{\Package{scrwfile}} -- Use {\LaTeX} {\File{.aux}} file in place of {\Macro{newfile}} files},
+ year = 2023,
+ month = apr,
+ edition = {0.1.99},
+ url = {https://www.ctan.org/pkg/scrwfile}
+}
+
@Misc{ package:supertabular,
language= {english},
author = {Braams, Johannes L. and Jurriens, Theo},
diff --git a/macros/latex/contrib/koma-script/doc/scrjura-de.tex b/macros/latex/contrib/koma-script/doc/scrjura-de.tex
index 3889dd96a3..aa8dc88922 100644
--- a/macros/latex/contrib/koma-script/doc/scrjura-de.tex
+++ b/macros/latex/contrib/koma-script/doc/scrjura-de.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrjura-de.tex
-% Copyright (c) Markus Kohm, 2011-2022
+% Copyright (c) Markus Kohm, 2011-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,7 +24,7 @@
% ======================================================================
\KOMAProvidesFile{scrjura-de.tex}%
- [$Date: 2022-07-17 12:36:46 +0200 (So, 17. Jul 2022) $
+ [$Date: 2023-04-16 13:50:16 +0200 (So, 16. Apr 2023) $
KOMA-Script guide (chapter: scrjura)]
\chapter{Unterstützung für die Anwaltspraxis durch \Package{scrjura}}
@@ -1069,7 +1069,7 @@ erhalten. Diese Funktionalität ist seit \LaTeX{} 2020/02/01 jedoch in den
Wie Sie am Laden von \Package{fontenc} erkennen können, wird für das Beispiel
PDF\LaTeX{} verwendet. Soll stattdessen \LuaLaTeX{} oder \XeLaTeX{} verwendet
-werden, entfallen alle drei Zeilen. Wahlweise kann dann \Package{fontspec}
+werden, entfallen die beiden Zeilen. Wahlweise kann dann \Package{fontspec}
geladen oder einfach mit den Voreinstellungen gearbeitet werden.
\lstinputcode[{xleftmargin=2em,%
@@ -1136,7 +1136,7 @@ Mit dem ersten Artikel beginnt auch der Vertrag.
Der erste Paragraph erhält neben der Nummer auch einen Titel. Dies wird auch
bei den nachfolgenden Paragraphen so sein.
-Der erste Absatz des Vertrags enthält nichts ungewöhnliches. Da es nicht der
+Der erste Absatz des Vertrags enthält nichts Ungewöhnliches. Da es nicht der
einzige Absatz ist, werden bei der Ausgabe jedem Absatz automatisch
Absatznummern voran gestellt werden. Damit dies auch beim ersten Absatz
geschieht, sind allerdings zwei \LaTeX-Läufe notwendig. Da dies für das
diff --git a/macros/latex/contrib/koma-script/doc/scrjura-example-de.pdf b/macros/latex/contrib/koma-script/doc/scrjura-example-de.pdf
index e7152f2979..1fa785aa8f 100644
--- a/macros/latex/contrib/koma-script/doc/scrjura-example-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrjura-example-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrjura-example-de.tex b/macros/latex/contrib/koma-script/doc/scrjura-example-de.tex
index 89cb106474..602422b0f2 100644
--- a/macros/latex/contrib/koma-script/doc/scrjura-example-de.tex
+++ b/macros/latex/contrib/koma-script/doc/scrjura-example-de.tex
@@ -23,7 +23,7 @@
\subject{Satzung}
\title{VfVmai}
-\subtitle{Verein für Vereinsmaierei mit ai n.e.V.}
+\subtitle{Verein für Vereinsmaierei mit ai n.\,e.\,V.}
\date{11.\,11.\,2011}
\maketitle
diff --git a/macros/latex/contrib/koma-script/doc/scrjura-example-en.pdf b/macros/latex/contrib/koma-script/doc/scrjura-example-en.pdf
index f906b65de2..67ce42a47b 100644
--- a/macros/latex/contrib/koma-script/doc/scrjura-example-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrjura-example-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-de.pdf b/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-de.pdf
index a0a33872ec..91280bf2b8 100644
--- a/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-de.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-en.pdf b/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-en.pdf
index 0e93178c60..89fd3d7413 100644
--- a/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-en.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrlayer-notecolumn-example-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-de.tex b/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-de.tex
index 7cf7502ba6..80673ca33c 100644
--- a/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-de.tex
+++ b/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-de.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrlayer-scrpage-de.tex
-% Copyright (c) Markus Kohm, 2013-2022
+% Copyright (c) Markus Kohm, 2013-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -23,7 +23,7 @@
% ============================================================================
\KOMAProvidesFile{scrlayer-scrpage-de.tex}%
- [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ [$Date: 2023-04-06 10:35:02 +0200 (Do, 06. Apr 2023) $
KOMA-Script guide (chapter:scrlayer-scrpage)]
\chapter[{Kopf- und Fußzeilen mit \Package{scrlayer-scrpage}}]
@@ -386,6 +386,18 @@ für den Kopf der Seiten im doppelseitigen Modus noch einmal skizziert.%
wird, bleibt der Seitenstil \DescRef{\LabelBase.pagestyle.plain.scrheadings}
unverändert. Das Ergebnis ist für die erste Seite also tatsächlich korrekt.
+ Die explizite Verwendung von
+ \DescRef{maincls.cmd.pagestyle}\PParameter{scrheadings} ist nicht einmal
+ notwendig. Das Paket führt diese Anweisung bereits selbst beim Laden aus,
+ stellt den Seitenstil also automatisch auf
+ \DescRef{\LabelBase.pagestyle.scrheadings}\IndexPagestyle{scrheadings}
+ um. Dabei wird auch nicht nur der Seitenstil
+ \DescRef{maincls.pagestyle.headings}\IndexPagestyle{headings} automatisch in
+ \DescRef{\LabelBase.pagestyle.scrheadings} geändert, sondern auch
+ \DescRef{maincls.pagestyle.plain}\IndexPagestyle{plain} in
+ \DescRef{\LabelBase.pagestyle.plain.scrheadings}%
+ \IndexPagestyle{plain.scrheadings}.
+
Fügen Sie jetzt im Beispiel nach \DescRef{maincls.cmd.maketitle} so viel
Text ein, dass eine zweite Seite ausgegeben wird. Sie können dazu auch
einfach \Macro{usepackage}\PParameter{lipsum}\IndexPackage{lipsum} in der
@@ -404,7 +416,6 @@ für den Kopf der Seiten im doppelseitigen Modus noch einmal skizziert.%
{Peter Musterheinzel}
\rohead[Seitenstile mit \KOMAScript]
{Seitenstile mit \KOMAScript}
- \pagestyle{scrheadings}
\usepackage{lipsum}
\begin{document}
\title{Seitenstile mit \KOMAScript}
@@ -483,7 +494,6 @@ Sternvariante mit nur einem Argument verwenden.%
\usepackage{scrlayer-scrpage}
\lohead*{Peter Musterheinzel}
\rohead*{Seitenstile mit \KOMAScript}
- \pagestyle{scrheadings}
\usepackage{lipsum}
\begin{document}
\title{Seitenstile mit \KOMAScript}
@@ -693,7 +703,6 @@ für den Fuß der Seiten im doppelseitigen Modus noch einmal skizziert.
\lohead{Peter Musterheinzel}
\rohead{Seitenstile mit \KOMAScript}
\lofoot{Verlag Naseblau, Irgendwo}
- \pagestyle{scrheadings}
\usepackage{lipsum}
\begin{document}
\title{Seitenstile mit \KOMAScript}
@@ -790,7 +799,6 @@ für den Fuß der Seiten im doppelseitigen Modus noch einmal skizziert.
\lehead{Seitenstile mit \KOMAScript}
\refoot[Verlag Naseblau, Irgendwo]
{Verlag Naseblau, Irgendwo}
- \pagestyle{scrheadings}
\setkomafont{pageheadfoot}{\small}
\setkomafont{pagehead}{\bfseries}
\usepackage{lipsum}
@@ -864,7 +872,6 @@ Sternvariante mit nur einem Argument verwenden.%
\rehead{Peter Musterheinzel}
\lehead{Seitenstile mit \KOMAScript}
\refoot*{Verlag Naseblau, Irgendwo}
- \pagestyle{scrheadings}
\setkomafont{pageheadfoot}{\small}
\setkomafont{pagehead}{\bfseries}
\usepackage{lipsum}
@@ -936,7 +943,6 @@ skizziert.
\ohead{Seitenstile mit \KOMAScript}
\ifoot[Verlag Naseblau, Irgendwo]
{Verlag Naseblau, Irgendwo}
- \pagestyle{scrheadings}
\setkomafont{pageheadfoot}{\small}
\setkomafont{pagehead}{\bfseries}
\usepackage{lipsum}
@@ -1019,7 +1025,6 @@ Sternvariante mit nur einem Argument verwenden.%
\ihead{Peter Musterheinzel}
\ohead{Seitenstile mit \KOMAScript}
\ifoot*{Verlag Naseblau, Irgendwo}
- \pagestyle{scrheadings}
\setkomafont{pageheadfoot}{\small}
\setkomafont{pagehead}{\bfseries}
\usepackage{lipsum}
diff --git a/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-en.tex b/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-en.tex
index 73b71c1523..efd42a1b0f 100644
--- a/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-en.tex
+++ b/macros/latex/contrib/koma-script/doc/scrlayer-scrpage-en.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrlayer-scrpage-en.tex
-% Copyright (c) Markus Kohm, 2013-2022
+% Copyright (c) Markus Kohm, 2013-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -23,9 +23,9 @@
% ============================================================================
\KOMAProvidesFile{scrlayer-scrpage-en.tex}%
- [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $
+ [$Date: 2023-04-06 09:06:52 +0200 (Do, 06. Apr 2023) $
KOMA-Script guide (chapter: scrlayer-scrpage)]
-\translator{Markus Kohm\and Jana Schubert\and Jens H\"uhne\and Karl Hagen}
+\translator{Markus Kohm\and Jana Schubert\and Jens Hühne\and Karl Hagen}
\chapter[{Headers and Footers with \Package{scrlayer-scrpage}}]
{Headers\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} and
@@ -355,6 +355,7 @@ in \autoref{fig:scrlayer-scrpage.head}.%
\usepackage{scrlayer-scrpage}
\lohead{John Doe}
\rohead{Page style with \KOMAScript}
+ \pagestyle{scrheadings}
\begin{document}
\title{Page styles with \KOMAScript}
\author{John Doe}
@@ -376,6 +377,17 @@ in \autoref{fig:scrlayer-scrpage.head}.%
\DescRef{\LabelBase.pagestyle.plain.scrheadings} page style remains
unchanged and the result for the first page is actually correct.
+ The explicit use of \DescRef{maincls.cmd.pagestyle}\PParameter{scrheadings}
+ is not even necessary. The package already executes this command itself when
+ loading, so it automatically sets the page style to
+ \DescRef{\LabelBase.pagestyle.scrheadings}\IndexPagestyle{scrheadings}. This
+ also changes not only the page style
+ \DescRef{maincls.pagestyle.headings}\IndexPagestyle{headings} automatically
+ to \DescRef{\LabelBase.pagestyle.scrheadings}, but also
+ \DescRef{maincls.pagestyle.plain}\IndexPagestyle{plain} to
+ \DescRef{\LabelBase.pagestyle.plain.scrheadings}%
+ \IndexPagestyle{plain.scrheadings}.
+
Now add enough text to the example after \DescRef{maincls.cmd.maketitle}
so that a second page is printed. You can simply add
\Macro{usepackage}\PParameter{lipsum}\IndexPackage{lipsum} to the document
diff --git a/macros/latex/contrib/koma-script/doc/scrlttr2-en.tex b/macros/latex/contrib/koma-script/doc/scrlttr2-en.tex
index bff4cba354..6aa27c2c59 100644
--- a/macros/latex/contrib/koma-script/doc/scrlttr2-en.tex
+++ b/macros/latex/contrib/koma-script/doc/scrlttr2-en.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrlttr2-en.tex
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,7 +24,7 @@
% ============================================================================
\KOMAProvidesFile{scrlttr2-en.tex}%
- [$Date: 2022-10-12 08:12:27 +0200 (Mi, 12. Okt 2022) $
+ [$Date: 2023-03-20 09:42:36 +0100 (Mo, 20. Mär 2023) $
KOMA-Script guide (chapter: scrlttr2)]
\translator{Harald Bongartz\and Georg Grandke\and Raimund Kohl\and Jens-Uwe
@@ -4095,7 +4095,7 @@ If\ChangedAt{v2.97}{\Class{scrlttr2}} an \File{lco} file is loaded via
he finds it quite annoying to copy this information to each new letter. To
simplify the effort of writing a new letter, he therefore creates an
\File{lco} file:%
- \lstinputcode[xleftmargin=1em]{ich.lco}%
+ \lstinputcode[xleftmargin=1em]{me.lco}%
With this, the size of his letter from the previous example shrinks
considerably: \lstinputcode[xleftmargin=1em]{letter-example-23-en.tex}%
Nevertheless, the result does not change, as shown in
diff --git a/macros/latex/contrib/koma-script/doc/scrwfile-de.tex b/macros/latex/contrib/koma-script/doc/scrwfile-de.tex
index 11f2107b84..98bf0c5574 100644
--- a/macros/latex/contrib/koma-script/doc/scrwfile-de.tex
+++ b/macros/latex/contrib/koma-script/doc/scrwfile-de.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrwfile-de.tex
-% Copyright (c) Markus Kohm, 2001-2022
+% Copyright (c) Markus Kohm, 2010-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,250 +24,32 @@
% ============================================================================
\KOMAProvidesFile{scrwfile-de.tex}
- [$Date: 2022-07-17 12:36:46 +0200 (So, 17. Jul 2022) $
+ [$Date: 2023-03-31 16:23:35 +0200 (Fr, 31. Mär 2023) $
KOMA-Script guide (chapter: scrwfile)]
\chapter{Dateien mit \Package{scrwfile} sparen und ersetzen}
\labelbase{scrwfile}
\BeginIndexGroup
-\BeginIndex{Package}{scrwfile}
-Eines der Probleme, die auch durch die Einführung von \eTeX{} nicht gelöst
-wurden, ist die Tatsache, dass \TeX{} nur 18 Dateien gleichzeitig zum Schreiben
-geöffnet haben kann. Diese Zahl erscheint zunächst recht groß. Allerdings ist
-zu berücksichtigen, dass bereits \LaTeX{} selbst einige dieser Dateien
-belegt. Inhaltsverzeichnis, Tabellenverzeichnis, Abbildungsverzeichnis, Index,
-Glossar und jedes weitere Verzeichnis, das von \LaTeX{} aus erzeugt wird,
-belegt in der Regel eine weitere Datei. Dazu kommen Hilfsdateien von Paketen
-wie \Package{hyperref} oder \Package{minitoc}.
-
-Im Endeffekt kann es daher geschehen, dass irgendwann die Meldung
-\begin{lstcode}
+\BeginIndex{Package}{scrwfile}%
+Von Version 3.10 bis 3.38 war das Paket
+\href{https://www.ctan.org/pkg/scrwfile}{\Package{scrwfile}} Bestandteil von
+\KOMAScript. Danach wurde es als eigenständiges Paket aus \KOMAScript{}
+herausgelöst. Das erschien und erscheint noch immer sinnvoll, weil das Paket
+immer experimentell und ohne offizielle Unterstützung war. Darüber hinaus
+lautet schon seit einiger Zeit die Empfehlung, stattdessen \LuaLaTeX{} zu
+verwenden, da mit \LuaLaTeX{} das Grundproblem:
+\begin{lstoutput}
! No room for a new \write .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
-\end{lstcode}
-erscheint. Seit einiger Zeit ist die einfachste Lösung dieses Problems die
-Verwendung von \LuaLaTeX{} anstelle von PDF\LaTeX{} oder \XeLaTeX. Damit
-entfällt die Beschränkung und die maximale Anzahl der gleichzeitig zum
-Schreiben geöffneten Dateien wird nur noch durch das Betriebssystem
-bestimmt. In der Realität braucht man sich darüber dann normalerweise keine
-Gedanken mehr zu machen.
-
-Dass \LaTeX{} bei Verzeichnissen wie dem Inhaltsverzeichnis, dem
-Tabellenverzeichnis und dem Abbildungsverzeichnis immer sofort eine neue Datei
-zum Schreiben öffnet, hat aber auch noch einen weiteren Nachteil. Solche
-Verzeichnisse werden durch deren Befehle nicht nur direkt gesetzt, sie können
-auch kein weiteres Mal gesetzt werden, da die zugehörige Hilfsdatei nach dem
-jeweiligen Befehl bis zum Ende des Dokuments leer ist.
-
-Das Paket \Package{scrwfile} bietet hier eine grundsätzliche Änderung im
-\LaTeX-Kern, durch die beide Probleme nicht nur für \LuaLaTeX{} sondern auch
-bei Verwendung von PDF\LaTeX{} oder \XeLaTeX{} gelöst werden können.
-
-
-\section{Grundsätzliche Änderungen am \LaTeX-Kern}
-\seclabel{kernelpatches}
-
-\LaTeX-Klassen verwenden zum Öffnen eines Verzeichnisses, beispielsweise mit
-\Macro{tableofcontents} oder \Macro{listoffigures}, die \LaTeX-Kern-Anweisung
-\Macro{@starttoc}\IndexCmd{@starttoc}. \LaTeX{} selbst lädt bei dieser
-Anweisung nicht nur die zugehörige Hilfsdatei, sondern öffnet diese Hilfsdatei
-auch neu zum Schreiben. Werden anschließend mit \Macro{addtocontents} oder
-\Macro{addcontentsline} Einträge in dieses Verzeichnis vorgenommen, so wird
-jedoch nicht direkt in die geöffnete Hilfsdatei geschrieben. Stattdessen
-schreibt \LaTeX{} \Macro{@writefile}-Anweisungen\IndexCmd{@writefile} in die
-\File{aux}-Datei. Erst beim Einlesen der \File{aux}-Dateien am Ende des
-Dokuments wird dann über diese \Macro{@writefile}-Anweisungen in die
-tatsächlichen Hilfsdateien geschrieben. Die Hilfsdateien werden von \LaTeX{}
-auch nicht explizit geschlossen. Stattdessen verlässt sich \LaTeX{} hier
-darauf, dass \TeX{} die Dateien am Ende ohnehin schließt.
-
-Dieses Vorgehen sorgt dafür, dass die Hilfsdateien zwar erst innerhalb von
-\Macro{end}\PParameter{document} tatsächlich beschrieben werden, aber trotzdem
-während des gesamten \LaTeX-Laufs gleichzeitig offen sind. \Package{scrwfile}
-hat nun genau hier einen Ansatzpunkt: die Umdefinierung von \Macro{@starttoc}
-und \Macro{@writefile}.
-
-Natürlich\textnote{Achtung!} besitzen Änderungen am \LaTeX-Kern immer das
-Potential, dass es zu Unverträglichkeiten mit anderen Paketen kommen
-kann. Betroffen können in erster Linie Pakete sein, die ebenfalls
-\Macro{@starttoc} oder \Macro{@writefile} umdefinieren. In einigen Fällen kann
-es helfen, die Reihenfolge der Pakete zu ändern.%
-\iffalse % Umbruchkorrektur
-\ Wenn Sie auf ein solches Problem stoßen, sollten Sie sich an den
-\KOMAScript-Autor wenden.5
-\fi
-
-\section{Das Eindateiensystem}
-\seclabel{singlefilefeature}
-
-Bereits beim Laden des Pakets mit
-% Umbruchoptimierung: listings
-\begin{lstcode}
- \usepackage{scrwfile}
-\end{lstcode}
-wird \Macro{@starttoc}\IndexCmd{@starttoc} von \Package{scrwfile} so
-umdefiniert, dass davon selbst keine Datei mehr zum Schreiben angefordert und
-geöffnet wird. Unmittelbar vor dem Schließen der \File{aux}-Datei in
-\Macro{end}\PParameter{document} wird dann \Macro{@writefile} so umdefiniert,
-dass diese Anweisung statt in die eigentlichen Hilfsdateien in eine neue
-Hilfsdatei mit der Endung \File{wrt} schreibt. Nach dem Einlesen der
-\File{aux}-Dateien wird schließlich die \File{wrt}-Datei abgearbeitet und zwar
-ein Mal für jede der Hilfsdateien, in die mit \Macro{@writefile} geschrieben
-wird. Dabei muss aber nicht jede dieser Hilfsdateien gleichzeitig
-geöffnet sein. Stattdessen ist immer nur eine zum Schreiben geöffnet und wird
-auch wieder explizit geschlossen. Da dabei eine interne Schreibdatei von
-\LaTeX{} wiederverwendet wird, benötigt \Package{scrwfile} keine einzige
-eigene Schreibdatei für diese Art von Verzeichnissen.
-
-Selbst wenn bisher nur mit einem Inhaltsverzeichnis gearbeitet wird, steht
-nach dem Laden des Pakets bereits eine Schreibdatei mehr für
-Literaturverzeichnisse, Stichwortverzeichnisse, Glossare und ähnliche
-Verzeichnisse, die nicht mit \Macro{@starttoc} arbeiten, zur
-Verfügung. Darüber hinaus können beliebig viele Verzeichnisse, die mit
-\Macro{@starttoc}\IndexCmd{@starttoc} arbeiten, angelegt werden.%
-%
-
-\section{Das Klonen von Dateieinträgen}
-\seclabel{clonefilefeature}
-
-Nachdem \Macro{@writefile}\IndexCmd{@writefile} für das Eindateiensystem aus
-dem vorherigen Abschnitt bereits so geändert wurde, dass es nicht direkt in
-die entsprechende Hilfsdatei schreibt, lag eine weitere Idee nahe. Beim
-Kopieren der \Macro{@writefile}-Anweisungen in die \File{wrt}-Datei können
-diese auch für andere Zielendungen übernommen werden. Es sei ausdrücklich
-darauf hingewiesen, dass dies nur in der Dokumentpräambel funktioniert.
-
-\begin{Declaration}
- \Macro{TOCclone}\OParameter{Verzeichnisüberschrift}
- \Parameter{Quellendung}\Parameter{Zielendung}
- \Macro{listof\PName{Zielendung}}
-\end{Declaration}%
-Durch dieses Klonen von Dateieinträgen werden so ganze Verzeichnisse
-geklont. Dazu muss man nur die Endung der Hilfsdatei des Verzeichnisses
-kennen, dessen Einträge kopiert werden sollen. Zusätzlich muss man die Endung
-einer Zieldatei angeben. In diese werden die Einträge dann kopiert. Natürlich
-kann man in dieses geklonte Verzeichnis auch zusätzliche Einträge
-schreiben.
+\end{lstoutput}
+nicht mehr existiert.
-Die \PName{Zielendung} der Zieldatei wird mit Hilfe von
-\hyperref[cha:tocbasic]{\Package{tocbasic}}%
-\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}} (siehe
-\autoref{cha:tocbasic}) verwaltet. Steht eine solche Datei bereits unter
-Kontrolle von \hyperref[cha:tocbasic]{\Package{tocbasic}} wird eine Warnung
-ausgegeben. Anderenfalls wird mit Hilfe von
-\hyperref[cha:tocbasic]{\Package{tocbasic}} ein neues Verzeichnis für diese
-Endung angelegt. Die Überschrift des neuen Verzeichnisses kann man über das
-optionale Argument \PName{Verzeichnisüberschrift} bestimmen.
-
-Ausgeben kann man dieses neue Verzeichnis dann beispielsweise über die
-Anweisung \Macro{listof\PName{Zielendung}}. Die
-Verzeichniseigenschaften\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}
-\PValue{leveldown}, \PValue{numbered}, \PValue{onecolumn} und \PValue{totoc}
-(siehe Anweisung \DescRef{tocbasic.cmd.setuptoc} in
-\autoref{sec:tocbasic.toc}, \DescPageRef{tocbasic.cmd.setuptoc}) werden
-automatisch in das Zielverzeichnis übernommen, falls sie für das
-Quellverzeichnis bereits gesetzt waren. Die Eigenschaft \PValue{nobabel} wird
-für geklonte Verzeichnisse immer gesetzt, da die entsprechenden
-\Package{babel}-Einträge in das Quellverzeichnis ohnehin bereits kopiert
-werden.
-
-\begin{Example}
- Angenommen, Sie wollen zusätzlich zum normalen Inhaltsverzeichnis eine
- Gliederungsübersicht, in der nur die Kapitel angezeigt werden.
-\begin{lstcode}
- \usepackage{scrwfile}
- \TOCclone[Gliederungsübersicht]{toc}{stoc}
-\end{lstcode}
- Hierdurch wird zunächst ein neues Verzeichnis mit der Überschrift
- »Gliederungsübersicht« angelegt. Das neue Verzeichnis verwendet die
- Dateiendung \File{stoc}. Alle Einträge in die Datei mit der Endung
- \File{toc} werden auch in dieses Verzeichnis kopiert.
-
- Damit dieses neue Verzeichnis nun nur die Kapitelebene ausgibt, verwenden
- wir:
-\begin{lstcode}
- \addtocontents{stoc}{\protect\value{tocdepth}=0}
-\end{lstcode}
- Während\textnote{Achtung!} normalerweise erst ab
- \Macro{begin}\PParameter{document} Einträge in ein Verzeichnis vorgenommen
- werden können, funktioniert dies nach Laden von \Package{scrwfile} bereits
- in der Dokumentpräambel. Durch die hier gezeigte unkonventionelle Art, den
- Zähler \DescRef{maincls.counter.tocdepth} innerhalb der Verzeichnisdatei zu
- ändern, bleibt diese Änderung nur für dieses Verzeichnis wirksam.
-
- Später im Dokument wird das Verzeichnis mit der Endung \File{stoc} dann
- durch
-\begin{lstcode}[moretexcs={listofstoc}]
- \listofstoc
-\end{lstcode}
- ausgegeben und zeigt nur die Teile und Kapitel des Dokuments.
-
- Etwas schwieriger wird es, wenn das Inhaltsverzeichnis in der
- Gliederungsübersicht angezeigt werden soll. Dies wäre zwar mit
-\begin{lstcode}
- \addtocontents{toc}{%
- \protect\addxcontentsline
- {stoc}{chapter}{\protect\contentsname}%
- }
-\end{lstcode}
- möglich. Da jedoch alle Einträge in \File{toc} auch nach \File{stoc} kopiert
- werden, würde so von der Gliederungsübersicht dieser Eintrag ebenfalls
- übernommen. Also darf der Eintrag nicht aus der Verzeichnisdatei heraus
- erzeugt werden. Da das Paket \hyperref[cha:tocbasic]{\Package{tocbasic}}%
- \important{\hyperref[cha:tocbasic]{\Package{tocbasic}}} zum Einsatz kommt,
- kann aber%
- \phantomsection\xmpllabel{cmd.BeforeStartingTOC}%
-\begin{lstcode}
- \BeforeStartingTOC[toc]{%
- \addxcontentsline{stoc}{chapter}
- {\protect\contentsname}}
-\end{lstcode}
- verwendet werden. Natürlich\textnote{Achtung!} setzt dies voraus, dass die
- Datei mit Endung \File{toc} auch unter der Kontrolle von
- \hyperref[cha:tocbasic]{\Package{tocbasic}} steht. Dies ist bei allen
- \KOMAScript-Klassen der Fall. Näheres zur Anweisung
- \DescRef{tocbasic.cmd.BeforeStartingTOC} ist in \autoref{sec:tocbasic.toc}
- auf \DescPageRef{tocbasic.cmd.BeforeStartingTOC} zu finden. Die Erklärung zu
- \DescRef{tocbasic.cmd.addxcontentsline} findet sich in demselben Abschnitt
- auf \DescPageRef{tocbasic.cmd.addxcontentsline}.%
-\end{Example}%
-\EndIndexGroup%
-\ExampleEndFix
-
-
-\section{Hinweis zum Entwicklungsstand}
-\seclabel{draft}
-
-Obwohl das Paket bereits von mehreren Anwendern getestet wurde und vielfach im
-Einsatz ist, ist es vom Autor als experimentell eingestuft. Deshalb ist es
-theoretisch möglich, dass insbesondere an der internen Funktionsweise des
-Pakets noch Änderungen vorgenommen werden. Teilweise befindet sich auch Code
-für zusätzliche Erweiterungen im Paket. Da jedoch keine Benutzeranweisungen
-existieren, mit denen diese Möglichkeiten genutzt werden könnten, wurde auf
-eine Dokumentation derselben verzichtet.
-
-
-\section{Bekannte Paketunverträglichkeiten}
-\seclabel{incompatible}
-
-Wie in \autoref{sec:scrwfile.kernelpatches} bereits erwähnt, muss
-\Package{scrwfile} einige wenige Anweisungen des \LaTeX-Kerns
-umdefinieren. Dies geschieht nicht allein während des Ladens des Pakets,
-sondern vielmehr zu verschiedenen Zeitpunkten während der Abarbeitung eines
-Dokuments, beispielsweise vor dem Einlesen der
-\File{aux}-Datei. Das\textnote{Achtung!} führt dazu, dass \Package{scrwfile}
-sich nicht mit anderen Paketen verträgt, die dieselben Anweisungen ebenfalls
-zur Laufzeit umdefinieren.
-
-Ein Beispiel für eine solche Unverträglichkeit ist
-\Package{titletoc}\important{\Package{titletoc}}\IndexPackage{titletoc}. Das
-Paket definiert unter gewissen Umständen \Macro{@writefile} zur Laufzeit
-um. Werden \Package{scrwfile} und \Package{titletoc} zusammen verwendet, ist
-die Funktion beider Paket nicht mehr gewährleistet. Dies ist weder ein Fehler
-in \Package{titletoc} noch in \Package{scrwfile}.%
-%
+Sollten Sie das Paket dennoch verwendet haben und weiterhin benötigen, so kann
+es getrennt installiert wird. Verwenden Sie dazu vorzugsweise den Paketmanager
+Ihrer \TeX-Distribution. Näheres zu dem Paket finden Sie im
+CTAN-Katalogeintrag \cite{package:scrwfile}.%
\EndIndexGroup
%%% Local Variables:
@@ -278,8 +60,4 @@ in \Package{titletoc} noch in \Package{scrwfile}.%
%%% eval: (flyspell-mode 1)
%%% End:
-% LocalWords: Eindateiensystem Schreibdatei Zieldatei Zielendung Quellendung
-% LocalWords: Verzeichnisüberschrift Dateiendung Zielendungen Verzeichnisdatei
-% LocalWords: Benutzeranweisungen Dokumentpräambel Kapitelebene
-% LocalWords: Paketunverträglichkeiten Verzeichniseigenschaften
-
+% LocalWords: herausgelöst Paketmanager CTAN Katalogeintrag
diff --git a/macros/latex/contrib/koma-script/doc/scrwfile-en.tex b/macros/latex/contrib/koma-script/doc/scrwfile-en.tex
index 5d87d4f994..e7cee8896e 100644
--- a/macros/latex/contrib/koma-script/doc/scrwfile-en.tex
+++ b/macros/latex/contrib/koma-script/doc/scrwfile-en.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrwfile-en.tex
-% Copyright (c) Markus Kohm, 2010-2022
+% Copyright (c) Markus Kohm, 2010-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,236 +24,34 @@
% ============================================================================
\KOMAProvidesFile{scrwfile-en.tex}%
- [$Date: 2022-07-17 12:36:46 +0200 (So, 17. Jul 2022) $
+ [$Date: 2023-03-31 16:23:35 +0200 (Fr, 31. Mär 2023) $
KOMA-Script guide (chapter: scrwfile)]
-\translator{Markus Kohm\and Jana Schubert\and Karl Hagen}
+\translator{Markus Kohm}
\chapter{Economising and Replacing Files with \Package{scrwfile}}
\labelbase{scrwfile}
\BeginIndexGroup
\BeginIndex{Package}{scrwfile}
-One of the problems not solved by the introduction of \eTeX{} is the fact that
-\TeX{} can support only 18 open write handles. This number seems quite large
-at first, but many of these handles are already reserved. \TeX{} itself uses
-handle 0 for the log file. \LaTeX{} needs handle 1 for \Macro{@mainaux},
-handle 2 for \Macro{@partaux}, one handle for \Macro{tableofcontents}, one
-handle for \Macro{listoffigures}, one handle for \Macro{listoftables}, and one
-handle for \Macro{makeindex}. Every other such list generates another handle,
-and packages like \Package{hyperref} or \Package{minitoc} require write
-handles too.
-
-The bottom line is that eventually you may get the following error message:
-\begin{lstcode}
+From version 3.10 to 3.38, the package
+\href{https://www.ctan.org/pkg/scrwfile}{\Package{scrwfile}} was part of
+\KOMAScript. After that, it was separated from \KOMAScript{} as a standalone
+package. This seemed and still seems reasonable because the package was always
+experimental and without official support. Moreover, for some time now the
+recommendation has been to use \LuaLaTeX{} instead, since with \LuaLaTeX{} the
+basic problem:
+\begin{lstoutput}
! No room for a new \write .
\ch@ck ...\else \errmessage {No room for a new #3}
- \fi
-\end{lstcode}
-
-For some time, the simplest solution to this problem has been to use
-\mbox{\LuaLaTeX} instead of \mbox{pdf\LaTeX} or \XeLaTeX. This eliminates the
-restriction, and the maximum number of files you can have open for writing is
-then limited only by the operating system. In reality, you usually so not need
-to worry about it any more.
-
-The fact that \LaTeX{} always opens a new file for writing every table of
-contents, list of figures, list of tables, etc. has another disadvantage. Such
-lists are not only output by their respective commands, they also could not be
-output a second time because the associated auxiliary file\footnote{The term
- \emph{auxiliary file} here refers not to the main \File{aux} file but to the
- other internal files used indirectly via the \File{aux} file, e.\,g. the
- \File{toc} file, the \File{lof} file, or the \File{lot} file.} is empty
-after the respective command until the end of the document.
-
-The \Package{scrwfile} package makes a fundamental change to the \LaTeX{}
-kernel, which can solve both problems not only for \mbox{\LuaLaTeX} but also
-for \mbox{pdf\LaTeX} or \XeLaTeX.
-
-\section{Fundamental Changes to the \LaTeX{} Kernel}
-\seclabel{kernelpatches}
-
-\LaTeX{} classes use the \LaTeX{} kernel command
-\Macro{@starttoc}\IndexCmd{@starttoc} to allocate a new file handle, such as
-for \Macro{tableofcontents} or \Macro{listoffigures}. This command not only
-loads the associated auxiliary file but also reopens it for writing. If
-entries to these lists are added using \Macro{addcontentsline}, however, the
-system does not write directly to these auxiliary files. Instead, \LaTeX{}
-writes \Macro{@writefile}\IndexCmd{@writefile} commands to the \File{aux}
-file. Only while reading the \File{aux} file at the end of the document do
-those \Macro{@writefile} commands become actual write operations in the
-auxiliary files. Additionally, \LaTeX{} does not close the auxiliary files
-explicitly. Instead it relies on \TeX{} to close all open files at the end.
-
-This procedure ensures that the auxiliary files are only written to within
-\Macro{end}\PParameter{document}, but they remain open throughout the entire
-\LaTeX{} run. \Package{scrwfile} takes is starting point here, by redefining
-\Macro{@starttoc} and \Macro{@writefile}.
-
-Of course\textnote{Attention!} changes to the \LaTeX{} kernel always have the
-potential to cause incompatibilities with other packages. Those primarily
-affected may be those which also redefine \Macro{@starttoc} or
-\Macro{@writefile}. In some cases, it may help to change the order the
-packages are loaded. If you encounter such a problem, please contact the
-\KOMAScript{} author.
-
-\section{The Single-File Method}
-\seclabel{singlefilefeature}
-
-As soon as the package is loaded with
-\begin{lstcode}
- \usepackage{scrwfile}
-\end{lstcode}
-\Package{scrwfile} redefines \Macro{@starttoc}\IndexCmd{@starttoc} so that it
-no longer allocates a write handle or opens a file for writing.
-\Macro{@writefile} is redefined so that immediately before closing the
-\File{aux} file in \Macro{end}\PParameter{document}, it writes not to the
-usual auxiliary files but to a single new file with extension \File{wrt}.
-After reading the \File{aux} file, this \File{wrt} file will be processed once
-for each of the auxiliary files that \Macro{@writefile} writes information to.
-However these auxiliary files do not all have to be open at the same time.
-Instead, only one is open at a time and is explicitly closed afterwards. Since
-\LaTeX{} reuses an internal write file, \Package{scrwfile} doesn't need its
-own write handle for this type of table of contents or list of floating
-environments.
-
-Because of this behaviour, even if you have only one table of contents, once
-you load \Package{scrwfile} you will have access to a write file handle for
-bibliographies, indexes, glossaries, and similar lists that do not use
-\Macro{@starttoc}. Additionally, you can create any number of tables of
-contents and other lists that use \Macro{@starttoc}\IndexCmd{@starttoc}.
-
-\section{The File Cloning Method}
-\seclabel{clonefilefeature}
-
-Since \Macro{@writefile}\IndexCmd{@writefile} has already been modified for
-the single-file method described in the previous system so that it no longer
-writes directly to the corresponding auxiliary file, a further possibility
-suggests itself. When copying the \Macro{@writefile} statements into the
-\File{wrt} file, you can also copy them to other destinations. It should be
-explicitly noted that this only works in the document preamble.
-
-\begin{Declaration}
- \Macro{TOCclone}%
- \OParameter{list heading}\Parameter{source extension}%
- \Parameter{destination extension}
-\end{Declaration}
-This cloning of file entries copies entire tables of contents or other lists.
-For this, you only need to specify the extension of the auxiliary file whose
-entries should be copied and the extension of a destination file. The entries
-are then copied there. Of course, you can also write additional entries to
-this cloned file.
-
-You can manage the \PName{destination extention} using
-\hyperref[cha:tocbasic]{\Package{tocbasic}}%
-\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}} (see
-\autoref{cha:tocbasic}). If such a file is already under the control of
-\hyperref[cha:tocbasic]{\Package{tocbasic}}, a warning will be issued.
-Otherwise, a new list for this extension will be created using
-\hyperref[cha:tocbasic]{\Package{tocbasic}}. You can set the heading for this
-list with the optional argument \PName{list heading}.
-
-You can then output this new content list, for example, with the command
-\Macro{listof\PName{destination extension}}. The content-list
-attributes\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}
-\PValue{leveldown}, \PValue{numbered}, \PValue{onecolumn}, and \PValue{totoc}
-(see \DescRef{tocbasic.cmd.setuptoc} in \autoref{sec:tocbasic.toc},
-\DescPageRef{tocbasic.cmd.setuptoc}) are automatically copied to the
-destination list if they were already set in the source list. The
-\PValue{nobabel} attribute is always set for cloned content lists, because the
-language-selection commands in the source content list are already copied
-anyway.
-
-\begin{Example}
- Suppose you want a short table of contents with only the chapter level in
- addition to the normal the table of contents:
-\begin{lstcode}
- \usepackage{scrwfile}
- \TOCclone[Summary Contents]{toc}{stoc}
-\end{lstcode}
- This creates a new table of contents with the heading ``Summary Contents''.
- The new table of contents uses an auxiliary file with the extension
- \File{stoc}. All entries to the auxiliary file with extension \File{toc}
- will also be copied to this new auxiliary file.
-
- In order to have the new short table of contents display only the chapter
- entries, we use:
-\begin{lstcode}
- \addtocontents{stoc}{\protect\value{tocdepth}=0}
-\end{lstcode}
- Although\textnote{Attention!} normally you cannot write to an auxiliary file
- before \Macro{begin}\PParameter{document}, the code above works in the
- preamble after loading \Package{scrwfile}. Owing to the unconventional way
- of changing the \DescRef{maincls.counter.tocdepth} counter within the TOC
- file, this change only applies to this content list.
-
- Later in the document, we then output the content list with the file
- extension \File{stoc} with:
-\begin{lstcode}[moretexcs={listofsttoc}]
- \listofstoc
-\end{lstcode}
- and this shows only the parts and chapters of the document.
-
- Things become a bit more difficult if the summary contents are to be
- listed in the table of contents. This would seem to be possible with
-\begin{lstcode}
- \addtocontents{toc}{%
- \protect\addxcontentsline
- {stoc}{chapter}{\protect\contentsname}%
- }
-\end{lstcode}
-However, since all entries in \File{toc} are also copied to \File{stoc}, this
-entry would also be copied from the summary contents. So we cannot generate
-the entry from the content list. Because we use the
-\Package{tocbasic}\important{\Package{tocbasic}} package, we can use the
-following:
-\phantomsection\xmpllabel{cmd.BeforeStartingTOC}
-\begin{lstcode}
- \BeforeStartingTOC[toc]{%
- \addcontentslinedefault{stoc}{chapter}
- {\protect\contentsname}%
- }
-\end{lstcode}
-Of course, this assumes that the \File{toc} file is under the control
-of the \Package{tocbasic} package, which is indeed the case for all
-\KOMAScript{} classes. See \autoref{sec:tocbasic.toc} on
-\DescPageRef{tocbasic.cmd.BeforeStartingTOC} for more information about
-\DescRef{tocbasic.cmd.BeforeStartingTOC}.%
-\end{Example}
-Incidentally, the \DescRef{tocbasic.cmd.addxcontentsline} command used in the
-examples is also documented in \autoref{cha:tocbasic},
-\DescPageRef{tocbasic.cmd.addxcontentsline}.%
-\EndIndexGroup
-
-
-\section{Note on the State of Development}
-\seclabel{draft}
-
-Although this package has already been tested by many users and is often in
-production use, its development is still ongoing. Therefore, it is
-theoretically possible that there might be changes, especially to the internal
-functionality. It is likely that the package will be extended in the future.
-Some code for such extensions is already in the package. However, as there are
-no user commands that make use of these features, they are currently
-undocumented.
-
-\section{Known Package Incompatibilities}
-\seclabel{incompatible}
-
-As mentioned in \autoref{sec:scrwfile.kernelpatches}, \Package{scrwfile}
-redefines some commands of the \LaTeX{} kernel. This happens not only while
-loading the package, but indeed at various times while the document is
-processed, for example just before reading the \File{aux} file.
-This\textnote{Attention!} results in incompatibility with packages that also
-redefine these commands at run time.
-
-The \Package{titletoc}\important{Package{titletoc}}\IndexPackage{titletoc}
-package is an example for such an incompatibility. That package redefines
-\Macro{@writefile} under some conditions at run time. If you use both
-\Package{scrwfile} and \Package{titletoc}, there is no warranty for the
-correct behaviour of either one. This is neither an error of
-\Package{titletoc} nor of \Package{scrwfile}.%
-%
+ \fi
+\end{lstoutput}
+no longer exists.
+
+If you have been using the package and still need it, you can install install
+it separately. Preferably use the package manager of your \TeX{}
+distribution. More information about the package can be found in the CTAN
+catalog entry \cite{package:scrwfile}.%
\EndIndexGroup
%%% Local Variables:
diff --git a/macros/latex/contrib/koma-script/doc/scrwfile.html b/macros/latex/contrib/koma-script/doc/scrwfile.html
deleted file mode 100644
index de29ea7c82..0000000000
--- a/macros/latex/contrib/koma-script/doc/scrwfile.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html
- PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <meta name="keywords" content="KOMA-Script, scrwfile
- <meta name="DC.Title" content="Economising and Replacing Files with scrwfile" />
- <meta name="DC.Creator" content="l3build" />
- <meta name="DC.Subject" content="KOMA-Script Documentation" />
- <meta name="DC.Description" content="Where to find the KOMA-Script
- documentation of scrwfile" />
- <meta name="DC.Publisher" content="Markus kohm" />
- <meta name="DC.Date" content="2022-06-03" />
- <meta name="DC.Type" content="Text" />
- <meta name="DC.Format" content="text/html" />
- <meta name="DC.Identifier" content="scrwfile.html" />
- <meta name="DC.Language" content="en,de" />
- <meta name="DC.Relation" content="Link to documentation" />
- <meta name="DC.Coverage" content="Version since 3.00" />
- <meta name="DC.Rights" content="LaTeX Public Private License 1.3c" />
- <title>Economising and Replacing Files with scrwfile</title>
- <style type="text/css">
- <!--
- body {}
- #en { position:absolute; left:10px; width:45%; }
- #de { position:absolute; right:10px; width:45%; }
- #fn { position:absolute; bottom:0px; width:50%;
- border-top-width:1px; border-top-style:solid;
- font-size:x-small; }
- h1.right { text-align:right; }
- -->
- </style>
- </head>
- <body>
- <h1>Economising and Replacing Files with <tt>scrwfile</tt></h1>
- <h1 class="right">Dateien mit <tt>scrwfile</tt> sparen und ersetzen</h1>
- <div id="en">
- I think you are searching for the chapter
- <a href="scrguide-en.pdf#chapter.14">“Economising and Replacing Files with <tt>scrwfile</tt>”</a> in the
- KOMA-Script documentation.
- </div>
- <div id="de">
- Ich nehme an, Sie suchen nach dem Kapitel
- <a href="scrguide-de.pdf#chapter.14">„Dateien mit <tt>scrwfile</tt> sparen und ersetzen”</a> in der
- KOMA-Script-Anleitung.
- </div>
- <div id="fn">
- Markus Kohm, 2022-06-03
- <p><a
- href="http://validator.w3.org/check?uri=referer"><img
- src="http://www.w3.org/Icons/valid-xhtml11" alt="Valid XHTML 1.1"
- height="31" width="88" /></a></p>
- </div>
- </body>
-</html>
-
diff --git a/macros/latex/contrib/koma-script/doc/tocbasic-de.tex b/macros/latex/contrib/koma-script/doc/tocbasic-de.tex
index bc9995cb3e..6f1a6de96e 100644
--- a/macros/latex/contrib/koma-script/doc/tocbasic-de.tex
+++ b/macros/latex/contrib/koma-script/doc/tocbasic-de.tex
@@ -1,6 +1,6 @@
% ======================================================================
% tocbasic-de.tex
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,7 +24,7 @@
% ======================================================================
\KOMAProvidesFile{tocbasic-de.tex}
- [$Date: 2022-07-17 12:36:46 +0200 (So, 17. Jul 2022) $
+ [$Date: 2023-04-04 10:50:12 +0200 (Di, 04. Apr 2023) $
KOMA-Script guide (package tocbasic)]
\chapter{Verzeichnisse verwalten mit Hilfe von \Package{tocbasic}}
@@ -196,14 +196,14 @@ diesen Besitzer setzt.
Das Paket \hyperref[cha:scrhack]{\Package{scrhack}}\IndexPackage{scrhack}%
\important{ \hyperref[cha:scrhack]{\Package{scrhack}}} enthält übrigens
-Patches für mehrere Pakete wie \Package{float} oder \Package{listings}, die
-eigene Verzeichnisse bereitstellen. Bei Verwendung von
-\hyperref[cha:scrhack]{\Package{scrhack}} wird unter anderem die jeweilige
-Dateierweiterung der Liste der bekannten Dateierweiterungen hinzugefügt. Dabei
-wird als \PName{Besitzer} »\PValue{float}« verwendet. Dies ist sozusagen der
-grundlegende Baustein, um die Möglichkeiten von \Package{tocbasic} und der
-\KOMAScript-Klassen auch für diese Verzeichnisse automatisch nutzen zu
-können.%
+Patches für mehrere Pakete wie \Package{float}\IndexPackage{float} oder
+\Package{listings}\IndexPackage{listings}, die eigene Verzeichnisse
+bereitstellen. Bei Verwendung von \hyperref[cha:scrhack]{\Package{scrhack}}
+wird unter anderem die jeweilige Dateierweiterung der Liste der bekannten
+Dateierweiterungen hinzugefügt. Dabei wird als \PName{Besitzer}
+»\PValue{float}« verwendet. Dies ist sozusagen der grundlegende Baustein, um
+die Möglichkeiten von \Package{tocbasic} und der \KOMAScript-Klassen auch für
+diese Verzeichnisse automatisch nutzen zu können.%
\EndIndexGroup
@@ -533,16 +533,17 @@ dieser Anweisungen zu einer Fehlermeldung der Art
\fi
\end{lstoutput}
führen, wenn keine Schreibdateien mehr zur Verfügung stehen. Abhilfe kann in
-diesem Fall das Laden des in \autoref{cha:scrwfile} beschriebenen Pakets
+diesem Fall das Laden von Paket
\Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
-oder die Verwendung von \LuaLaTeX{} bieten.
+\cite{package:scrwfile} oder die Verwendung von \LuaLaTeX{} bieten.
Das Paket \hyperref[cha:scrhack]{\Package{scrhack}}\IndexPackage{scrhack}%
\important{ \hyperref[cha:scrhack]{\Package{scrhack}}} enthält übrigens
-Patches für mehrere Pakete wie \Package{float} oder \Package{listings}, damit
-deren Verzeichnisbefehle \Macro{listoftoc} verwenden. Dadurch stehen viele
-Möglichkeiten von \Package{tocbasic} und den \KOMAScript-Klassen auch für
-deren Verzeichnisse zur Verfügung.%
+Patches für mehrere Pakete wie \Package{float}\IndexPackage{float} oder
+\Package{listings}\IndexPackage{listings}, damit deren Verzeichnisbefehle
+\Macro{listoftoc} verwenden. Dadurch stehen viele Möglichkeiten von
+\Package{tocbasic} und den \KOMAScript-Klassen auch für deren Verzeichnisse
+zur Verfügung.%
\EndIndexGroup
@@ -561,12 +562,7 @@ eingelesen werden, erreichen. Ebenso können Sie \PName{Anweisungen} nach dem
Einlesen der Datei ausführen, wenn Sie diese mit \Macro{AfterStartingTOC}
definieren. Während der Ausführung der \PName{Anweisungen} ist
\Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} die
-Dateierweiterung der Datei, die eingelesen wird bzw. gerade eingelesen wurde.
-
-Ein Beispiel\textnote{Beispiel} zur Verwendung von \Macro{BeforeStartingTOC}
-ist in \autoref{sec:scrwfile.clonefilefeature} auf
-\PageRefxmpl{scrwfile.cmd.BeforeStartingTOC} zu finden.
-%
+Dateierweiterung der Datei, die eingelesen wird bzw. gerade eingelesen wurde.%
\EndIndexGroup
@@ -687,9 +683,9 @@ Komma getrennte Folge von \PName{Eigenschaften}. Das Paket
werden, die nur in einer festen Sprache erstellt werden, in denen also
Sprachumschaltungen im Dokument nicht zu berücksichtigen sind. Sie wird
außerdem vom Paket
- \Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile} für
- Klonziele verwendet, da die Erweiterungen dort bereits durch das Klonen
- selbst aus der Klonquelle übernommen werden.
+ \Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
+ \cite{package:scrwfile} für Klonziele verwendet, da die Erweiterungen dort
+ bereits durch das Klonen selbst aus der Klonquelle übernommen werden.
Es ist zu beachten\textnote{Achtung!}, dass die Eigenschaft bereits vor dem
Hinzufügen der Dateierweiterung zu der Liste der bekannten
@@ -1366,13 +1362,14 @@ mit dem Präfix \PValue{tocentry} zu verwenden, also beispielsweise
Kopiermöglichkeit mit \Option{:=} ist hierbei ebenfalls verfügbar. Die
Addition mit Hilfe von \Option{+=} wird derzeit jedoch nicht unterstützt.
-Bei\ChangedAt{v3.20}{\Package{tocbasic}} Verwendung als Optionen
-für \DescRef{maincls-experts.cmd.DeclareSectionCommand}%
+Bei\ChangedAt{v3.20}{\Package{tocbasic}} Verwendung als Optionen für
+\DescRef{maincls-experts.cmd.DeclareSectionCommand}%
\IndexCmd{DeclareSectionCommand}\IndexCmd{DeclareNewSectionCommand}%
\IndexCmd{RedeclareSectionCommand}\IndexCmd{ProvideSectionCommand} (siehe
\DescPageRef{maincls-experts.cmd.DeclareSectionCommand}) und verwandten
Anweisungen sind die Namen der Eigenschaften mit dem Präfix \PValue{toc} zu
-versehen, also beispielsweise \Option{toclevel} anstelle von \PValue{level}. Hierbei existiert derzeit weder die Kopiermöglichkeit mit
+versehen, also beispielsweise \Option{toclevel} anstelle von
+\PValue{level}. Hierbei existiert derzeit weder die Kopiermöglichkeit mit
\Option{:=} noch die Addition mit \Option{+=}.
Letztlich führt der Aufruf von \Macro{DeclareTOCStyleEntry} zur Definition der
@@ -1521,10 +1518,12 @@ angegebenen Einstellungen definiert.%
entsprechenden Eigenschaften existiert. Bei den Stilen
\PValue{dottedtocline}, \PValue{undottedtocline} und \PValue{tocline}
findet für die Eintragsebenen \PValue{part} bis \PValue{subparagraph}
- sowie \PValue{figure} und \PValue{table} eine Initialisierung mit Werten
- entsprechend der Standardklassen statt. Alle anderen Ebenen erhalten keine
- Initialisierung. Für sie ist eine explizite Angabe daher bei der ersten
- Verwendung zwingend.
+ sowie \PValue{figure}, \PValue{table} und
+ \ChangedAt{v3.39}{\Package{tocbasic}}\PValue{lstlisting} eine
+ Initialisierung mit Werten entsprechend der Standardklassen
+ beziehungsweise des Paket \Package{listings}\IndexPackage{listings}
+ statt. Alle anderen Ebenen erhalten keine Initialisierung. Für sie ist
+ eine explizite Angabe daher bei der ersten Verwendung zwingend.
Ist für ein Verzeichnis die Eigenschaft \PValue{noindent} via
\DescRef{\LabelBase.cmd.setuptoc} gesetzt, so ignorieren die Einträge bei
@@ -1559,11 +1558,14 @@ angegebenen Einstellungen definiert.%
\PValue{tocline}, \PValue{toctext} und \PValue{undottedtocline} findet für
die \PName{Eintragsebene} \PValue{part}, \PValue{chapter},
\PValue{section}, \PValue{subsection}, \PValue{subsubsection},
- \PValue{paragraph}, \PValue{subparagraph}, \PValue{figure} und
- \PValue{table} automatisch eine Initialisierung aufgrund des Namens
- statt. Für andere Ebenen findet eine Initialisierung mit dem Wert der
- Gliederungsebene statt, falls kompatibel zu den \KOMAScript-Klassen
- \Macro{\PName{Eintragsebene}numdepth} definiert ist.%
+ \PValue{paragraph}, \PValue{subparagraph}, \PValue{figure}, \PValue{table}
+ und \ChangedAt{v3.39}{\Package{tocbasic}}\PValue{lstlisting} automatisch
+ eine Initialisierung aufgrund des Namens statt. Für andere Ebenen findet
+ eine Initialisierung mit dem Wert der Gliederungsebene statt, falls
+ kompatibel zu den \KOMAScript-Klassen
+ \Macro{\PName{Eintragsebene}numdepth} definiert ist. Als letzter Ausweg
+ kann auch das interne \Package{hyperref}-Makro
+ \Macro{toclevel@\PName{Eintragsebene}} herangezogen werden.%
}%
\entry{\OptionVName{linefill}{Code}}{%
Beim Stil \PValue{tocline} kann zwischen dem Ende des Eintragstextes und
@@ -1610,10 +1612,12 @@ angegebenen Einstellungen definiert.%
vorgenommen, falls eine solche Ebene mit entsprechender Eigenschaft
existiert. Bei den Stilen \PValue{dottedtocline}, \PValue{undottedtocline}
und \PValue{tocline} findet für die Eintragsebenen \PValue{part} bis
- \PValue{subparagraph} sowie \PValue{figure} und \PValue{table} eine
- Initialisierung mit Werten entsprechend der Standardklassen statt. Alle
- anderen Ebenen erhalten keine Initialisierung. Für sie ist eine explizite
- Angabe daher bei der ersten Verwendung zwingend.%
+ \PValue{subparagraph} sowie \PValue{figure}, \PValue{table} und
+ \ChangedAt{v3.39}{\Package{tocbasic}}\PValue{lstlisting} eine
+ Initialisierung mit Werten entsprechend der Standardklassen
+ beziehungsweise des Pakets \Package{listings}\IndexPackage{listings}
+ statt. Alle anderen Ebenen erhalten keine Initialisierung. Für sie ist
+ eine explizite Angabe daher bei der ersten Verwendung zwingend.%
}%
\entry{\OptionVName{onendentry}{Code}}{%
\ChangedAt{v3.27}{\Package{tocbasic}}%
@@ -2133,9 +2137,9 @@ Anweisung zu einer Fehlermeldung der Art
\fi
\end{lstoutput}
führen, wenn keine Schreibdateien mehr zur Verfügung stehen. Abhilfe kann in
-diesem Fall das Laden des in \autoref{cha:scrwfile} beschriebenen Pakets
+diesem Fall das Laden des Pakets
\Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
-oder die Verwendung von \LuaLaTeX{} bieten.%
+\cite{package:scrwfile} oder die Verwendung von \LuaLaTeX{} bieten.%
\EndIndexGroup
diff --git a/macros/latex/contrib/koma-script/doc/tocbasic-en.tex b/macros/latex/contrib/koma-script/doc/tocbasic-en.tex
index b4f0a1174e..768c933207 100644
--- a/macros/latex/contrib/koma-script/doc/tocbasic-en.tex
+++ b/macros/latex/contrib/koma-script/doc/tocbasic-en.tex
@@ -1,6 +1,6 @@
% ======================================================================
% tocbasic-en.tex
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -24,7 +24,7 @@
% ======================================================================
\KOMAProvidesFile{tocbasic-en.tex}
- [$Date: 2022-07-17 12:36:46 +0200 (So, 17. Jul 2022) $
+ [$Date: 2023-04-04 10:50:12 +0200 (Di, 04. Apr 2023) $
KOMA-Script guide (package tocbasic)]
\translator{Markus Kohm\and Arndt Schubert\and Karl Hagen}
@@ -184,13 +184,15 @@ sets the options for this owner.
By the way, the \hyperref[cha:scrhack]{\Package{scrhack}}%
\IndexPackage{scrhack}\important{\hyperref[cha:scrhack]{\Package{scrhack}}}
-package contains patches for several packages, such as \Package{float} or
-\Package{listings}, which provide their own content lists. If you use
-\hyperref[cha:scrhack]{\Package{scrhack}}, among other things, the respective
-file extensions will be added to the list of known file extensions. Their
-\PName{owner} is also ``\PValue{float}''. This is the basic building block, so
-to speak, allowing you to use the features of \Package{tocbasic} and the
-\KOMAScript{} classes with these content lists as well.%
+package contains patches for several packages, such as
+\Package{float}\IndexPackage{float} or
+\Package{listings}\IndexPackage{listings}, which provide their own content
+lists. If you use \hyperref[cha:scrhack]{\Package{scrhack}}, among other
+things, the respective file extensions will be added to the list of known file
+extensions. Their \PName{owner} is also ``\PValue{float}''. This is the basic
+building block, so to speak, allowing you to use the features of
+\Package{tocbasic} and the \KOMAScript{} classes with these content lists as
+well.%
\EndIndexGroup
@@ -496,14 +498,14 @@ result in an error like:
\end{lstoutput}
if there are no more write handles left. Loading the
\Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
-package (see \autoref{cha:scrwfile}) can solve this problem.
+package \cite{package:scrwfile} can solve this problem.
Also, the \hyperref[cha:scrhack]{\Package{scrhack}}\IndexPackage{scrhack}%
\important{\hyperref[cha:scrhack]{\Package{scrhack}}} package contains patches
-for several packages, such as \Package{float} or \Package{listings}, so that
-their content-list commands can use \Macro{listoftoc}. As a result, many
-features of \Package{tocbasic} and the \KOMAScript{} classes are also
-available for their content lists.%
+for several packages, such as \Package{float}\IndexPackage{float} or
+\Package{listings}\IndexPackage{listings}, so that their content-list commands
+can use \Macro{listoftoc}. As a result, many features of \Package{tocbasic}
+and the \KOMAScript{} classes are also available for their content lists.%
\EndIndexGroup
@@ -523,12 +525,7 @@ all content lists. The general before-hook is called before the individual
one, and the general after-hook is called after the individual one. While
executing the commands in these hooks,
\Macro{@currext}\IndexCmd{@currext}\important{\Macro{@currext}} is the
-extension of the TOC file which is about to be or has just been read.
-
-You can find an example\textnote{Example} using \Macro{BeforeStartingTOC} in
-\autoref{sec:scrwfile.clonefilefeature} on
-\PageRefxmpl{scrwfile.cmd.BeforeStartingTOC}.
-%
+extension of the TOC file which is about to be or has just been read.%
\EndIndexGroup
@@ -635,8 +632,9 @@ recognizes following features:
lists that are created in a fixed language, which means that changes of the
language inside of the document will no longer affect the content list. The
\Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
- package also uses this feature for cloned destinations, as because those
- files already inherit any language changes from the cloning source.
+ \cite{package:scrwfile} package also uses this feature for cloned
+ destinations, as because those files already inherit any language changes
+ from the cloning source.
Note\textnote{Attention!} that you must set this feature before you add a
file extension to the list of known extensions. Changing the feature
@@ -1405,10 +1403,12 @@ Finally, using \Macro{DeclareTOCStyleEntry} will define the internal command
without this prefix. For the \PValue{dottedtocline},
\PValue{undottedtocline}, and \PValue{tocline} styles, the initial values
of levels \PValue{part} down to \PValue{subparagraph} and the levels
- \PValue{figure} and \PValue{table} are compatible with the standard
- classes. All other levels do not have an initial value. Therefore you have
- to set an explicit value for such levels when they are defined first
- time.
+ \PValue{figure}, \PValue{table} and
+ \ChangedAt{v3.39}{\Package{tocbasic}}\PValue{lstlisting} are compatible
+ with the standard classes resp. package
+ \Package{listings}\IndexPackage{listings}. All other levels do not have an
+ initial value. Therefore you have to set an explicit value for such levels
+ when they are defined first time.
If the \PValue{noindent} attribute is set for a content list via
\DescRef{\LabelBase.cmd.setuptoc}, the entries of all styles provided by
@@ -1429,10 +1429,13 @@ Finally, using \Macro{DeclareTOCStyleEntry} will define the internal command
the entry level of the same name without this prefix plus one. For the
\PValue{dottedtocline}, \PValue{largetocline}, \PValue{tocline},
\PValue{toctext}, and \PValue{undottedtocline} styles, the entry levels
- from \PValue{part} to \PValue{subparagraph}, as well as \PValue{figure}
- and \PValue{table}, are initialised to be compatible with the standard
- classes. For all other levels, the initialisation is done with the value
- of \Macro{\PName{entry level}numdepth}, if this is defined.%
+ from \PValue{part} to \PValue{subparagraph}, as well as \PValue{figure},
+ \PValue{table} and
+ \ChangedAt{v3.39}{\Package{tocbasic}}\PValue{lstlisting}, are initialised
+ to be compatible with the standard classes resp. package
+ \Package{listings}\IndexPackage{listings}. For all other levels, the
+ initialisation is done with the value of \Macro{\PName{entry
+ level}numdepth}, if this is defined.%
}%
\entry{\OptionVName{indentfollows}{list of levels}}{%
\ChangedAt{v3.31}{\Package{tocbasic}}%
@@ -1485,10 +1488,12 @@ Finally, using \Macro{DeclareTOCStyleEntry} will define the internal command
attributes exists. With the \PValue{dottedtocline},
\PValue{undottedtocline}, and \PValue{tocline} styles, the initial
\PName{length}s of levels from \PValue{part} to \PValue{subparagraph}, as
- well as \PName{figure} and \PName{table}, are compatible with those of the
- standard classes. All other levels do not have an initial value. Therefore
- you must set \PValue{numwidth} explicitly when the entry level is first
- used.%
+ well as \PName{figure}, \PName{table} and
+ \ChangedAt{v3.39}{\Package{tocbasic}}\PName{lstlisting}, are compatible
+ with those of the standard classes resp. package
+ \Package{listings}\IndexPackage{listings}. All other levels do not have an
+ initial value. Therefore you must set \PValue{numwidth} explicitly when
+ the entry level is first used.%
}%
\entry{\OptionVName{onendentry}{code}}{%
\ChangedAt{v3.27}{\Package{tocbasic}}%
@@ -1967,7 +1972,7 @@ message of the type
\end{lstoutput}
if no more write handles are available. You can solve this problem by loading
the \Package{scrwfile}\important{\Package{scrwfile}}\IndexPackage{scrwfile}
-package described in \autoref{cha:scrwfile}, or by using \LuaLaTeX{}.%
+package \cite{package:scrwfile} or by using \LuaLaTeX{}.%
\EndIndexGroup
diff --git a/macros/latex/contrib/koma-script/scrextend.dtx b/macros/latex/contrib/koma-script/scrextend.dtx
index adaf4fed8e..0e4600090e 100644
--- a/macros/latex/contrib/koma-script/scrextend.dtx
+++ b/macros/latex/contrib/koma-script/scrextend.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrextend.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrextend.dtx 3985 2022-11-11 11:24:31Z kohm $
%<preidentify>%%% (run: preidentify)
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
@@ -26,9 +26,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-11 12:24:31 +0100 (Fr, 11. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3985 $
\endgroup
\ProvidesFile{scrextend.dtx}[\filedate\space\filerevision\space
KOMA-Script package source
@@ -202,6 +202,8 @@
% \begin{option}{extendedfeature}
% \changes{v3.12}{2013/03/05}{using state signaling with \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/09}{internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macrocode}
%<*option>
\KOMA@key{extendedfeature}{%
@@ -219,7 +221,7 @@
}%
}%
\FamilyKeyStateProcessed
- \KOMA@kav@xadd{.scrextend.sty}{extendedfeature}{#1}%
+ \KOMA@kav@xadd{scrextend.sty}{extendedfeature}{#1}%
}
\AtEndOfPackage{%
\KOMA@key{extendedfeature}{%
diff --git a/macros/latex/contrib/koma-script/scrhack.dtx b/macros/latex/contrib/koma-script/scrhack.dtx
index a656ed6fa3..3d4f0358a2 100644
--- a/macros/latex/contrib/koma-script/scrhack.dtx
+++ b/macros/latex/contrib/koma-script/scrhack.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrhack.dtx
-% Copyright (c) Markus Kohm, 2008-2022
+% Copyright (c) Markus Kohm, 2008-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -21,7 +21,7 @@
% To create `scrhack.sty' run `tex scrhack.dtx'. Using LaTeX instead
% of TeX would generate the implementation documentation.
% ======================================================================
-%%% From File: $Id: scrhack.dtx 3889 2022-06-09 12:11:14Z kohm $
+%%% From File: $Id: scrhack.dtx 4015 2023-03-15 16:09:39Z kohm $
%<package&identify>%%% using: package,identify
%<package&option>%%% using: package,option
%<package&body>%%% using: package,body
@@ -30,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: 2022-06-09 14:11:14 +0200 (Do, 09. Jun 2022) $
+ \filedate$Date: 2023-03-15 17:09:39 +0100 (Mi, 15. Mär 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3889 $
+ \filerevision$Revision: 4015 $
\endgroup
\ProvidesFile{scrhack.dtx}[\filedate\space\filerevision\space
%</dtx>
@@ -286,6 +286,8 @@
% \pkg{hyperref}}
% \changes{v3.18}{2015/05/22}{newer versions of \KOMAScript{} classes also
% deactivate the the hack}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% and \cs{KOMAExecuteOptions} removed}
% 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,
@@ -301,7 +303,7 @@
\PackageInfo{scrhack}{hyperref hack deactivated because of\MessageBreak
detection of KOMA-Script class, that doesn't\MessageBreak
need that hack,}%
- \KOMAExecuteOptions[.scrhack.sty]{hyperref=false}%
+ \KOMAExecuteOptions[scrhack.sty]{hyperref=false}%
}%
}
\AfterPackage*{hyperref}{%
@@ -310,10 +312,10 @@
\PackageInfo{scrhack}{hyperref hack deactivated because of\MessageBreak
detection of hyperref version, that doesn't\MessageBreak
need that hack,}%
- \KOMAExecuteOptions[.scrhack.sty]{hyperref=false}%
+ \KOMAExecuteOptions[scrhack.sty]{hyperref=false}%
}{%
\AtEndOfPackage{%
- \KOMA@key[.scrhack.sty]{hyperref}{%
+ \KOMA@key[scrhack.sty]{hyperref}{%
\PackageWarning{scrhack}{option `hyperref=#1' ignored}%
\FamilyKeyStateProcessed
}%
@@ -458,6 +460,8 @@
% \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}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% removed}
% \begin{macrocode}
%<*package&option>
\KOMA@ifkey{floatrow}{@scrhack@floatrow}
@@ -467,7 +471,7 @@
\AfterPackage*{floatrow}{%
\KOMAoptions{float=false}%
\PackageInfo{scrhack}{option `float' deactivated}%
- \KOMA@key[.scrhack.sty]{floatrow}{%
+ \KOMA@key[scrhack.sty]{floatrow}{%
\PackageWarning{scrhack}{option `floatrow' ignored}%
\FamilyKeyStateProcessed
}%
@@ -594,6 +598,8 @@
% \begin{option}{float}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}}
% \changes{v3.17}{2015/03/09}{using \cs{KOMAExecuteOptions}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% removed}
% \begin{macrocode}
%<*package&option>
\KOMA@ifkey{float}{@scrhack@float}%
@@ -601,7 +607,7 @@
%</package&option>
%<*package&body>
\AfterPackage*{float}{%
- \KOMA@key[.scrhack.sty]{float}{%
+ \KOMA@key[scrhack.sty]{float}{%
\PackageWarning{scrhack}{option `float' ignored}%
\FamilyKeyStateProcessed
}%
@@ -737,6 +743,8 @@
% \begin{option}{listings}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}}
% \changes{v3.17}{2015/03/09}{using \cs{KOMAExecuteOptions}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% removed}
% \begin{macrocode}
%<*package&option>
\KOMA@ifkey{listings}{@scrhack@listings}
@@ -744,7 +752,7 @@
%</package&option>
%<*package&body>
\AfterPackage*{listings}{%
- \KOMA@key[.scrhack.sty]{listings}{%
+ \KOMA@key[scrhack.sty]{listings}{%
\PackageWarning{scrhack}{option `listings' ignored}%
\FamilyKeyStateProcessed
}%
@@ -870,6 +878,8 @@
%
% \begin{option}{nomencl}
% \changes{v3.23}{2017/03/31}{added}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% removed}
% \begin{macrocode}
%<*package&option>
\RequirePackage{xpatch}%
@@ -878,7 +888,7 @@
%</package&option>
%<*package&body>
\AfterPackage*{nomencl}{%
- \KOMA@key[.scrhack.sty]{nomencl}{%
+ \KOMA@key[scrhack.sty]{nomencl}{%
\PackageWarning{scrhack}{option `nomencl' ignored}%
\FamilyKeyStateProcessed
}%
@@ -1083,6 +1093,8 @@
%
% \begin{option}{setspace}
% \changes{v3.17}{2015/04/16}{added}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% removed}
% \begin{macrocode}
%<*package&option>
\KOMA@ifkey{setspace}{@scrhack@setspace}
@@ -1090,7 +1102,7 @@
%</package&option>
%<*package&body>
\AfterPackage*{setspace}{%
- \KOMA@key[.scrhack.sty]{setspace}{%
+ \KOMA@key[scrhack.sty]{setspace}{%
\PackageWarning{scrhack}{option `setspace' ignored}%
\FamilyKeyStateProcessed
}%
@@ -1125,9 +1137,34 @@
\expandafter\setstretch\expandafter{\strip@pt\@tempdima}%
}%
}{%
- \PackageWarning{scrhack}{unknown \string\onehalfspacing\space
- definition found!\MessageBreak
- Maybe you are using a unsupported setpace version}%
+% \end{macrocode}
+% \changes{v3.39}{2023/03/15}{support for \pkg{setspace} 6.7b added}
+% \begin{macrocode}
+ \scr@ifexpected{\onehalfspacing}{%
+ \long\def\onehalfspacing{%
+ \setstretch{1.25}% default
+% DPC 6.7b guard \@ptsize
+ \ifx\@ptsize\@undefined\else
+ \ifcase \@ptsize \relax % 10pt
+ \setstretch {1.25}%
+ \or % 11pt
+ \setstretch {1.213}%
+ \or % 12pt
+ \setstretch {1.241}%
+ \fi
+ \fi
+ }%
+ }{%
+ \renewcommand*{\onehalfspacing}{%
+ \@tempdima=\dimexpr (\f@size pt)*1500/
+ (\dimexpr \f@baselineskip\relax)*\p@/1000\relax
+ \expandafter\setstretch\expandafter{\strip@pt\@tempdima}%
+ }%
+ }{%
+ \PackageWarning{scrhack}{unknown \string\onehalfspacing\space
+ definition found!\MessageBreak
+ Maybe you are using a unsupported setpace version}%
+ }%
}
% \end{macrocode}
% \end{command}
@@ -1154,9 +1191,34 @@
\expandafter\setstretch\expandafter{\strip@pt\@tempdima}%
}%
}{%
- \PackageWarning{scrhack}{unknown \string\doublespacing\space
- definition found!\MessageBreak
- Maybe you are using a unsupported setpace version}%
+% \end{macrocode}
+% \changes{v3.39}{2023/03/15}{support for \pkg{setspace} 6.7b added}
+% \begin{macrocode}
+ \scr@ifexpected{\doublespacing}{%
+ \long\def\doublespacing{%
+ \setstretch {1.667}% default
+% DPC 6.7b guard \@ptsize
+ \ifx\@ptsize\@undefined\else
+ \ifcase \@ptsize \relax % 10pt
+ \setstretch {1.667}%
+ \or % 11pt
+ \setstretch {1.618}%
+ \or % 12pt
+ \setstretch {1.655}%
+ \fi
+ \fi
+ }%
+ }{%
+ \renewcommand*{\doublespacing}{%
+ \@tempdima=\dimexpr (\f@size pt)*2000/
+ (\dimexpr \f@baselineskip\relax)*\p@/1000\relax
+ \expandafter\setstretch\expandafter{\strip@pt\@tempdima}%
+ }%
+ }{%
+ \PackageWarning{scrhack}{unknown \string\doublespacing\space
+ definition found!\MessageBreak
+ Maybe you are using a unsupported setpace version}%
+ }%
}
%</setspace&body>
% \end{macrocode}
@@ -1180,6 +1242,8 @@
% \begin{option}{lscape}
% \changes{v3.18a}{2015/07/07}{added}
% \changes{v3.20}{2016/05/07}{loading \pkg{xpatch} in option part already}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of \cs{KOMA@key}
+% removed}
% \begin{macrocode}
%<*package&option>
\RequirePackage{xpatch}%
@@ -1189,7 +1253,7 @@
%<*package&body>
\AfterPackage*{lscape}{%
\if@scrhack@lscape\scr@hack@load\@pkgextension{lscape}\else
- \KOMA@key[.scrhack.sty]{lscape}{%
+ \KOMA@key[scrhack.sty]{lscape}{%
\PackageWarning{scrhack}{option `lscape' ignored}%
\FamilyKeyStateProcessed
}%
@@ -1899,6 +1963,8 @@
% \end{command}^^A \partlineswithprefixformat …
%
% \begin{option}{headings}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% The \KOMAScript{} option does not make sense any longer. So it is
% deactivated and usage will throw an error.
% \begin{macrocode}
@@ -1908,7 +1974,7 @@
because of loading standard classes sections hack%
}%
\RelaxFamilyKey[.\KOMAClassFileName]{KOMA}{headings}%
- \KOMA@kav@removekey{.\KOMAClassFileName}{headings}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{headings}%
}
% \end{macrocode}
% \end{option}^^A headings
diff --git a/macros/latex/contrib/koma-script/scrjura.dtx b/macros/latex/contrib/koma-script/scrjura.dtx
index 029a605271..b94ccbcf3b 100644
--- a/macros/latex/contrib/koma-script/scrjura.dtx
+++ b/macros/latex/contrib/koma-script/scrjura.dtx
@@ -18,7 +18,7 @@
%
% The KOMA-Script bundle consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrjura.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrjura.dtx 3991 2022-11-16 07:13:45Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -28,9 +28,9 @@
%<*dtx>
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:13:45 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3991 $
\endgroup
\expandafter\ifx\csname ProvidesFile\endcsname\relax
\def\ProvidesFile#1[#2]{}
@@ -193,6 +193,8 @@
% \end{option}
%
% \begin{option}{juratotoc}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% 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
@@ -219,9 +221,9 @@
\else
\DeclareTOCStyleEntry[level=#1]{default}{cpar}%
\fi
- \KOMA@kav@xreplacevalue{.scrjura.sty}{juratotoc}{\cpartocdepth}%
+ \KOMA@kav@xreplacevalue{scrjura.sty}{juratotoc}{\cpartocdepth}%
}
-\KOMA@kav@xadd{.scrjura.sty}{juratotoc}{\cpartocdepth}%
+\KOMA@kav@xadd{scrjura.sty}{juratotoc}{\cpartocdepth}%
%</options>
% \end{macrocode}
% \end{macro}
@@ -234,6 +236,8 @@
% \changes{v0.7}{2013/11/04}{usage of renewed interface with
% \cs{FamilyKeyState}}
% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \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}}
@@ -243,15 +247,15 @@
\KOMA@key{juratocnumberwidth}{%
\DeclareTOCStyleEntry[numwidth=#1]{default}{cpar}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.scrjura.sty}{juratocnumberwidth}{#1}%
+ \KOMA@kav@replacevalue{scrjura.sty}{juratocnumberwidth}{#1}%
}
-\KOMA@kav@add{.scrjura.sty}{juratocnumberwidth}{2em}
+\KOMA@kav@add{scrjura.sty}{juratocnumberwidth}{2em}
\KOMA@key{juratocindent}{%
\DeclareTOCStyleEntry[indent=#1]{default}{cpar}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.scrjura.sty}{juratocindent}{#1}%
+ \KOMA@kav@replacevalue{scrjura.sty}{juratocindent}{#1}%
}
-\KOMA@kav@add{.scrjura.sty}{juratocindent}{1.5em}%
+\KOMA@kav@add{scrjura.sty}{juratocindent}{1.5em}%
%</options>
% \end{macrocode}
% \end{ilength}
@@ -279,6 +283,8 @@
% \cs{FamilyKeyState}}
% \changes{v0.9a}{2015/03/09}{internal value storage}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed into \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% The options switches the (automatic) paragraph numbering.
% \begin{macrocode}
%<*options>
@@ -287,24 +293,24 @@
\Ifstr{#1}{auto}{%
\AutoPar
\FamilyKeyStateProcessed
- \KOMA@kav@remove{.scrjura.sty}{parnumber}{manual}%
- \KOMA@kav@remove{.scrjura.sty}{parnumber}{auto}%
- \KOMA@kav@add{.scrjura.sty}{parnumber}{auto}%
+ \KOMA@kav@remove{scrjura.sty}{parnumber}{manual}%
+ \KOMA@kav@remove{scrjura.sty}{parnumber}{auto}%
+ \KOMA@kav@add{scrjura.sty}{parnumber}{auto}%
}{%
\Ifstr{#1}{manual}{%
\ManualPar
\FamilyKeyStateProcessed
- \KOMA@kav@remove{.scrjura.sty}{parnumber}{manual}%
- \KOMA@kav@remove{.scrjura.sty}{parnumber}{auto}%
- \KOMA@kav@add{.scrjura.sty}{parnumber}{manual}%
+ \KOMA@kav@remove{scrjura.sty}{parnumber}{manual}%
+ \KOMA@kav@remove{scrjura.sty}{parnumber}{auto}%
+ \KOMA@kav@add{scrjura.sty}{parnumber}{manual}%
}{%
\KOMA@set@ifkey{parnumber}{parnumber}{#1}%
- \KOMA@kav@replacebool{.scrjura.sty}{parnumber}{parnumber}%
+ \KOMA@kav@replacebool{scrjura.sty}{parnumber}{parnumber}%
}%
}%
}
-\KOMA@kav@add{.scrjura.sty}{parnumber}{true}
-\KOMA@kav@add{.scrjura.sty}{parnumber}{auto}
+\KOMA@kav@add{scrjura.sty}{parnumber}{true}
+\KOMA@kav@add{scrjura.sty}{parnumber}{auto}
%</options>
% \end{macrocode}
% \end{option}
@@ -314,8 +320,11 @@
% \changes{v0.7}{2013/11/04}{usage of renewed interface with
% \cs{FamilyKeyState}}
% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{option}{markright,markboth}
% \changes{v0.7}{2013/11/04}{deprecated}
+% \changes{v3.39}{2022/11/16}{only with \KOMAScript~3}
% \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
@@ -368,11 +377,13 @@
\endgroup
\FamilyKeyStateUnknownValue
\fi
- \KOMA@kav@xreplacevalue{.scrjura.sty}{clausemark}{#1}%
+ \KOMA@kav@xreplacevalue{scrjura.sty}{clausemark}{#1}%
+}
+\KOMA@kav@add{scrjura.sty}{clausemark}{false}
+\@ifundefined{KOMA@DeclareDeprecatedOption}{}{%
+ \KOMA@DeclareDeprecatedOption[scrjura]{markright}{clausemark=forceright}%
+ \KOMA@DeclareDeprecatedOption[scrjura]{markboth}{clausemark=forceboth}%
}
-\KOMA@kav@add{.scrjura.sty}{clausemark}{false}
-\KOMA@DeclareDeprecatedOption[scrjura]{markright}{clausemark=forceright}
-\KOMA@DeclareDeprecatedOption[scrjura]{markboth}{clausemark=forceboth}
\KOMA@key{paragraphmark}{%
\PackageWarningNoLine{scrjura}{%
You've used obsolete option `paragraphmark'.\MessageBreak
@@ -394,8 +405,11 @@
% \changes{v0.7}{2013/11/04}{usage of renewed interface with
% \cs{FamilyKeyState}}
% \changes{v0.9a}{2015/03/09}{internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{option}{parcitename,sentencecitename}
% \changes{v0.5d}{2010/06/07}{deprecated}
+% \changes{v3.39}{2022/11/16}{only with \KOMAScript~3}
% 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}
@@ -467,32 +481,34 @@
\fi
\endgroup
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrjura.sty}{ref}%
+ \KOMA@kav@removekey{scrjura.sty}{ref}%
\ifcase\parcite@format
- \KOMA@kav@add{.scrjura.sty}{ref}{parlong}%
+ \KOMA@kav@add{scrjura.sty}{ref}{parlong}%
\or
- \KOMA@kav@add{.scrjura.sty}{ref}{parshort}%
+ \KOMA@kav@add{scrjura.sty}{ref}{parshort}%
\or
- \KOMA@kav@add{.scrjura.sty}{ref}{parnumeric}%
+ \KOMA@kav@add{scrjura.sty}{ref}{parnumeric}%
\or
- \KOMAQkav@add{.scrjura.sty}{ref}{paroff}%
+ \KOMA@kav@add{scrjura.sty}{ref}{paroff}%
\fi
\ifcase\sentencecite@format
- \KOMA@kav@add{.scrjura.sty}{ref}{sentencelong}%
+ \KOMA@kav@add{scrjura.sty}{ref}{sentencelong}%
\or
- \KOMA@kav@add{.scrjura.sty}{ref}{sentenceshort}%
+ \KOMA@kav@add{scrjura.sty}{ref}{sentenceshort}%
\or
- \KOMA@kav@add{.scrjura.sty}{ref}{sentencenumeric}%
+ \KOMA@kav@add{scrjura.sty}{ref}{sentencenumeric}%
\or
- \KOMA@kav@add{.scrjura.sty}{ref}{sentenceoff}%
+ \KOMA@kav@add{scrjura.sty}{ref}{sentenceoff}%
\fi
\fi
}
-\KOMA@kav@add{.scrjura.sty}{ref}{parlong}%
-\KOMA@kav@add{.scrjura.sty}{ref}{sentencelong}%
-\KOMA@DeclareDeprecatedOption[scrjura]{parcitename}{ref=parlong}
-\KOMA@DeclareDeprecatedOption[scrjura]{sentencecitename}{ref=sentencelong}
-%</options>
+\KOMA@kav@add{scrjura.sty}{ref}{parlong}%
+\KOMA@kav@add{scrjura.sty}{ref}{sentencelong}%
+\@ifundefined{KOMA@DeclareDeprecatedOption}{}{%
+ \KOMA@DeclareDeprecatedOption[scrjura]{parcitename}{ref=parlong}
+ \KOMA@DeclareDeprecatedOption[scrjura]{sentencecitename}{ref=sentencelong}
+}
+%</options>
% \end{macrocode}
% \end{option}
% \end{option}
diff --git a/macros/latex/contrib/koma-script/scrkernel-basics.dtx b/macros/latex/contrib/koma-script/scrkernel-basics.dtx
index 44e82629b8..a498e28eee 100644
--- a/macros/latex/contrib/koma-script/scrkernel-basics.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-basics.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-basics.dtx 3913 2022-06-28 07:45:49Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 4004 2022-11-16 10:43:42Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -28,9 +28,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-28 09:45:49 +0200 (Di, 28. Jun 2022) $
+ \filedate$Date: 2022-11-16 11:43:42 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
- \filerevision$Revision: 3913 $
+ \filerevision$Revision: 4004 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-basics.dtx}%
@@ -518,15 +518,16 @@
% \begin{macro}{\KOMA@key}
% \changes{v2.97c}{2007/04/19}{optional argument added}
% \changes{v3.17}{2015/02/24}{rudimentary value storage}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% \pkg{keyval} keys of \KOMAScript{} are defined with \cs{KOMAkey} to setup
% the family to ``\texttt{KOMA}'' automatically. Additionally the value
% storage is initialized.
% \begin{macrocode}
%<*koma>
-\newcommand*{\KOMA@key}[1][.\@currname.\@currext]{%
- \DefineFamilyMember[{#1}]{KOMA}%
- \@ifundefined{scr@kav@KOMA#1}{\@namedef{scr@kav@KOMA#1}{}}{}%
- \DefineFamilyKey[{#1}]{KOMA}%
+\newcommand*{\KOMA@key}[1][\@currname.\@currext]{%
+ \DefineFamilyMember[{.#1}]{KOMA}%
+ \@ifundefined{scr@kav@KOMA.#1}{\@namedef{scr@kav@KOMA.#1}{}}{}%
+ \DefineFamilyKey[{.#1}]{KOMA}%
}
%</koma>
% \end{macrocode}
@@ -534,16 +535,17 @@
%
% \begin{macro}{\KOMA@kav@add}
% \changes{v3.17}{2015/02/24}{added}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% This macro stores a \texttt{\meta{key}=\meta{value}} pair in a internal
% list. The first argument is the family member, the second the \meta{key} and
% the third the \meta{value}.
% \begin{macrocode}
%<*koma>
\newcommand*{\KOMA@kav@add}[3]{%
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@add{#1}%
}{%
- \expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{\do{{#2}{#3}}}%
+ \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\endcsname{\do{{#2}{#3}}}%
}%
}
%</koma>
@@ -559,11 +561,11 @@
% \begin{macrocode}
%<*koma>
\newcommand*{\KOMA@kav@xadd}[3]{%
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@xadd{#1}%
}{%
\protected@edef\reserved@a{{#2}{#3}}%
- \expandafter\l@addto@macro\csname scr@kav@KOMA#1\expandafter\endcsname
+ \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\expandafter\endcsname
\expandafter{\expandafter\do\expandafter{\reserved@a}}%
}%
}
@@ -579,23 +581,23 @@
% \begin{macrocode}
%<*koma>
\newcommand*{\KOMA@kav@remove}[3]{%
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@remove{#1}%
}{%
\begingroup
- \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA#1}{}}%
+ \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA.#1}{}}%
\edef\reserved@b{\detokenize{{#2}{#3}}}%
\def\do##1{%
\edef\reserved@c{\detokenize{##1}}%
\ifx\reserved@b\reserved@c\else
\l@addto@macro\reserved@a{%
- \expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{%
+ \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\endcsname{%
\do{##1}%
}%
}%
\fi
}%
- \@nameuse{scr@kav@KOMA#1}%
+ \@nameuse{scr@kav@KOMA.#1}%
\reserved@a
}%
}
@@ -605,30 +607,31 @@
%
% \begin{macro}{\KOMA@kav@removekey}
% \changes{v3.17}{2015/02/24}{added}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% This macro removes all \texttt{\meta{key}=\meta{value}} pairs of a given
% \meta{key} from the internal list. The first argument is the family member,
% the second the \meta{key}.
% \begin{macrocode}
%<*koma>
\newcommand*{\KOMA@kav@removekey}[2]{%
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@removekey{#1}%
}{%
\begingroup
- \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA#1}{}}%
+ \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA.#1}{}}%
\edef\reserved@b{\detokenize{#2}}%
\def\reserved@d##1##2{\edef\reserved@c{\detokenize{##1}}}%
\def\do##1{%
\reserved@d##1\relax
\ifx\reserved@b\reserved@c\else
\l@addto@macro\reserved@a{%
- \expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{%
+ \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\endcsname{%
\do{##1}%
}%
}%
\fi
}%
- \@nameuse{scr@kav@KOMA#1}%
+ \@nameuse{scr@kav@KOMA.#1}%
\reserved@a
}%
}
@@ -638,6 +641,7 @@
%
% \begin{macro}{\KOMA@kav@replacevalue,\KOMA@kav@xreplacevalue}
% \changes{v3.17}{2015/02/25}{added}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% If \cs{FamilyKeyState} is \cs{FamilyKeyStateProcessed},
% these macros replace a \texttt{\meta{key}=\meta{value}} pair in the internal list.
% The first argument is the family member, the second the \meta{key} and the
@@ -647,7 +651,7 @@
%<*koma>
\newcommand*{\KOMA@kav@replacevalue}[3]{%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@replacevalue{#1}%
}{%
\KOMA@kav@removekey{#1}{#2}%
@@ -657,7 +661,7 @@
}
\newcommand*{\KOMA@kav@xreplacevalue}[3]{%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@replacevalue{#1}%
}{%
\KOMA@kav@removekey{#1}{#2}%
@@ -671,6 +675,7 @@
%
% \begin{macro}{\KOMA@kav@replacebool}
% \changes{v3.17}{2015/02/24}{added}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% If \cs{FamilyKeyState} is \cs{FamilyKeyStateProcessed},
% this macro replaces the value of a if key in the internal list.
% The first argument is the family member, the second the \meta{key} and the
@@ -679,7 +684,7 @@
%<*koma>
\newcommand*{\KOMA@kav@replacebool}[3]{%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \@ifundefined{scr@kav@KOMA#1}{%
+ \@ifundefined{scr@kav@KOMA.#1}{%
\KOMA@internal@error\KOMA@kav@replacebool{#1}%
}{%
\KOMA@kav@remove{#1}{#2}{false}%
@@ -699,20 +704,21 @@
%
% \begin{macro}{\KOMA@kav@defall}
% \changes{v3.17}{2015/02/24}{added}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% This macro defines a macro/command with the \texttt{\meta{key}=\meta{value}}
% list of all stored pairs. The first argument is the macro/command to be
% defined with the list. The second is the family member.
% \begin{macrocode}
%<*koma>
\newcommand*{\KOMA@kav@defall}[2]{%
- \@ifundefined{scr@kav@KOMA#2}{%
+ \@ifundefined{scr@kav@KOMA.#2}{%
\KOMA@internal@error\KOMA@kav@defall{#1}%
}{%
\begingroup
\let\reserved@a\@empty
\def\reserved@b##1##2{\l@addto@macro\reserved@a{,{##1=##2}}}%
\def\do##1{\reserved@b##1}%
- \@nameuse{scr@kav@KOMA#2}%
+ \@nameuse{scr@kav@KOMA.#2}%
\ifx\reserved@a\@empty
\def\reserved@b{\endgroup\let#1\@empty}%
\else
@@ -732,6 +738,7 @@
% \begin{macro}{\KOMA@kav@defone}
% \changes{v3.17}{2015/02/25}{added}
% \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% This macro defines a macro/command with all stored values of a \meta{key}
% from the internal list of \texttt{\meta{key}=\meta{value}} pairs.
% The first argument is the macro/command to be defined. The second is the
@@ -739,7 +746,7 @@
% \begin{macrocode}
%<*koma>
\newcommand*{\KOMA@kav@defone}[3]{%
- \@ifundefined{scr@kav@KOMA#2}{%
+ \@ifundefined{scr@kav@KOMA.#2}{%
\KOMA@internal@error\KOMA@kav@defall{#1}%
}{%
\begingroup
@@ -748,7 +755,7 @@
\Ifstr{##1}{#3}{\l@addto@macro\reserved@a{,{##2}}}{}%
}%
\def\do##1{\reserved@b##1}%
- \@nameuse{scr@kav@KOMA#2}%
+ \@nameuse{scr@kav@KOMA.#2}%
\ifx\reserved@a\@empty
\def\reserved@b{\endgroup\let#1\@empty}%
\else
@@ -767,6 +774,7 @@
%
% \begin{macro}{\KOMA@internal@error}
% \changes{v3.17}{2015/02/24}{added}
+% \changes{v3.39}{2022/11/11}{bug report address changed}
% General internal error message with the recommendation to report a bug.
% \begin{macrocode}
%<*koma>
@@ -779,7 +787,7 @@
that\MessageBreak
shows this error, to komascript at gmx dot info or report it
at\MessageBreak
- <http://www.komascript.de/forum/20> (you need an account to do so).%
+ <https://sf.net/p/koma-script/tickets/> (you need an account to do so).%
}%
}
%</koma>
@@ -3370,6 +3378,8 @@
% \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}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
+% \changes{v3.99}{2022/11/16}{do not handle deprecated initial dot}
% 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
@@ -3379,8 +3389,19 @@
% optional argument to set a definite \meta{member}.
% \begin{macrocode}
%<*koma>
-\newcommand*{\KOMAExecuteOptions}[1][.\@currname.\@currext]{%
- \FamilyExecuteOptions[#1]{KOMA}%
+\newcommand*{\KOMAExecuteOptions}[1][\@currname.\@currext]{%
+%<*!v4>
+ \Ifstrstart{#1}{.}{%
+ \PackageWarning{scrkbase}{Deprecated initial dot of member
+ argument\MessageBreak
+ of \string\KOMAExecuteOptions\space detected%
+ }%
+ \expandafter\FamilyExecuteOptions[#1]%
+ }{%
+%</!v4>
+ \FamilyExecuteOptions[.#1]%
+%<!v4> }%
+ {KOMA}%
}
%</koma>
% \end{macrocode}
@@ -3932,6 +3953,8 @@
%
% \begin{command}{\KOMAoptionsOf}
% \changes{v3.17}{2015/02/25}{added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% \cs{KOMA@kac@defall}}
% 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
@@ -3948,7 +3971,7 @@
}{%
\begingroup
\def\reserved@a{#1}%
- \KOMA@kav@defall\reserved@b{.#2}%
+ \KOMA@kav@defall\reserved@b{#2}%
\expandafter\expandafter\expandafter\endgroup
\expandafter\reserved@a\expandafter{\reserved@b}%
}%
@@ -3976,7 +3999,7 @@
}{%
\begingroup
\def\reserved@a{#1}%
- \KOMA@kav@defone\reserved@b{.#2}{#3}%
+ \KOMA@kav@defone\reserved@b{#2}{#3}%
\ifx\reserved@b\@empty
\PackageWarning{scrkbase}{option `#3' for `#2' unset}%
\endgroup
@@ -4292,6 +4315,7 @@
% \begin{macro}{\KOMA@ifkey}
% \changes{v3.02c}{2009/02/04}{defines the member if needed}
% \changes{v3.17}{2015/03/02}{replaces the value in the storage}
+% \changes{v3.39}{2022/11/11}{initial dot added automatically}
% This is an extended version of \cs{FamilyBoolKey} with static family
% |KOMA|. So the syntax is:
% \begin{quote}
@@ -4307,7 +4331,7 @@
% was not defined, the initialized value is \opt{false}.
% \begin{macrocode}
%<*koma>
-\newcommand*{\KOMA@ifkey}[2][.\@currname.\@currext]{%
+\newcommand*{\KOMA@ifkey}[2][\@currname.\@currext]{%
\begingroup\edef\reserved@a{\noexpand\KOMA@@ifkey{#1}{#2}}%
\expandafter\endgroup\reserved@a
}
@@ -4838,7 +4862,7 @@
% e.g., using \cs{KOMA@kav@add}.
% \begin{macrocode}
%<*koma>
-\newcommand*{\KOMA@ncmdkey}[2][.\@currname.\@currext]{%
+\newcommand*{\KOMA@ncmdkey}[2][\@currname.\@currext]{%
\begingroup\edef\reserved@a{\noexpand\KOMA@@ncmdkey{#1}{#2}}%
\expandafter\endgroup\reserved@a
}
@@ -4950,6 +4974,7 @@
% \changes{v3.01a}{2008/11/20}{added}
% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
% \cs{kernel@ifnextchar}}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% Used to define a deprecated \meta{classic option} by an up-to-date
% \meta{\pkg*{keyval} option}.
% \begin{quote}
@@ -4961,7 +4986,7 @@
% \begin{macro}{\KOMA@@DeclareDeprecatedOption,\KOMA@@@DeclareDeprecatedOption}
% \changes{v3.01a}{2008/11/20}{added}
% \begin{macrocode}
-%<*koma>
+%<*koma&!v4>
\newcommand*{\KOMA@DeclareDeprecatedOption}{%
\kernel@ifnextchar [%]
{\KOMA@@DeclareDeprecatedOption}%
@@ -5024,7 +5049,7 @@
}%
\reserved@a
}
-%</koma>
+%</koma&!v4>
% \end{macrocode}
% \end{macro}^^A \KOMA@UseDeprecatedOption
% \end{macro}^^A \KOMA@@DeclareDeprecatedOption,\KOMA@@@DeclareDeprecatedOption
@@ -5101,6 +5126,7 @@
% \begin{macro}{\KOMA@newobsoletecommand,\KOMA@newdeprecatedcommand}
% \changes{v3.12}{2013/03/04}{\cs{KOMA@newobsoletecommand} renamed to
% \cs{KOMA@newdeprecatedcommand}}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% Defines a deprecated command or \meta{macro}, represented by a
% \meta{\pkg*{keyval} option}:
% \begin{quote}
@@ -5114,7 +5140,7 @@
% \changes{v3.12}{2013/03/04}{\cs{KOMA@UseObsoleteCommand} renamed to
% \cs{KOMA@UseDeprecatedCommand}}
% \begin{macrocode}
-%<*koma>
+%<*koma&!v4>
\newcommand*{\KOMA@newdeprecatedcommand}[3][\@gobbletwo]{%
\newcommand*{#2}{\KOMA@UseDeprecatedCommand{#1}{\string#2}{#3}}%
}
@@ -5128,7 +5154,7 @@
}%
\KOMAoptions{#3}%
}
-%</koma>
+%</koma&!v4>
% \end{macrocode}
% \end{macro}^^A \KOMA@UseDeprecatedCommand
% \end{macro}^^A \KOMA@newdeprecatedcommand
diff --git a/macros/latex/contrib/koma-script/scrkernel-bibliography.dtx b/macros/latex/contrib/koma-script/scrkernel-bibliography.dtx
index 17b9b610bd..4a63727af9 100644
--- a/macros/latex/contrib/koma-script/scrkernel-bibliography.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-bibliography.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-bibliography.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-bibliography.dtx 3990 2022-11-16 07:11:05Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:11:05 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3990 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-bibliography.dtx}%
@@ -148,6 +148,8 @@
% \changes{v3.17}{2015/03/12}{added}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
% \changes{v3.36}{2022/02/21}{add expanded name to list}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% To be able to change the current value of option \opt{bibliography} we need
% to know the current style and save it in \cs{scr@current@bibstyle}. We also
% have to correct the value in the storage by activating a style.
@@ -155,7 +157,7 @@
\@ifundefined{scr@current@bibstyle}{}{%
\Ifstr{\scr@current@bibstyle}{}{}{%
\edef\reserved@a{%
- \noexpand\KOMA@kav@remove{.\KOMAClassFileName}{bibliography}%
+ \noexpand\KOMA@kav@remove{\KOMAClassFileName}{bibliography}%
{\scr@current@bibstyle}%
}\reserved@a
}%
@@ -164,7 +166,7 @@
% \end{macrocode}
% \end{macro}
% \begin{macrocode}
- \KOMA@kav@xadd{.\KOMAClassFileName}{bibliography}{#2}%
+ \KOMA@kav@xadd{\KOMAClassFileName}{bibliography}{#2}%
\csname scr@bibstyle@#1\endcsname
#3%
}%
@@ -302,6 +304,8 @@
% \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}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \KOMAScript provides several configurations for the bibliography or
% references using a single option.
% \begin{macro}{\bib@leveldownfalse,\bib@leveldowntrue,\ifbib@leveldown}
@@ -358,14 +362,14 @@
{standardlevel}{4}%
}{#1}%
\ifcase \@tempa\relax % notoc
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nobibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{bibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{bibliographynumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{nobibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{totoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{numbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{nobibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliographynumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{nobibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{numbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{bibliography}{notoc}%
\renewcommand*{\bibliography@heading}[1]{%
\ifbib@leveldown
%<article> \subsection*{##1}%
@@ -378,14 +382,14 @@
\fi
}%
\or% totoc
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nobibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{bibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{bibliographynumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{bibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{totoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{numbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{nobibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliographynumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{bibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{numbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{bibliography}{totoc}%
\renewcommand*{\bibliography@heading}[1]{%
%<*article>
\ifbib@leveldown
@@ -420,14 +424,14 @@
%</book|report>
}%
\or% numbered
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nobibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{bibliography}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{bibliographynumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{bibliographynumbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{totoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{numbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{numbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{nobibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliography}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{bibliographynumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{bibliographynumbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{numbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{bibliography}{numbered}%
\renewcommand*{\bibliography@heading}[1]{%
%<*article>
\ifbib@leveldown
@@ -451,14 +455,14 @@
%</book|report>
}
\or% leveldown
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{leveldown}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{standardlevel}%
- \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{standardlevel}%
+ \KOMA@kav@add{\KOMAClassFileName}{bibliography}{leveldown}%
\bib@leveldowntrue
\or% standardlevel
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{leveldown}%
- \KOMA@kav@remove{.\KOMAClassFileName}{bibliography}{standardlevel}%
- \KOMA@kav@add{.\KOMAClassFileName}{bibliography}{standardlevel}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{bibliography}{standardlevel}%
+ \KOMA@kav@add{\KOMAClassFileName}{bibliography}{standardlevel}%
\bib@leveldownfalse
\fi
}{%
@@ -473,7 +477,7 @@
% \begin{macrocode}
\FamilyKeyStateProcessed
\edef\reserved@a{%
- \noexpand\KOMA@kav@remove{.\KOMAClassFileName}{bibliography}%
+ \noexpand\KOMA@kav@remove{\KOMAClassFileName}{bibliography}%
{\scr@current@bibstyle}%
}\reserved@a
\csname scr@bibstyle@#1\endcsname
@@ -503,6 +507,7 @@
% \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}
+% \changes{v3.39}{2022/11/16}{not with \KOMAScript~4}
% \begin{option}{bibtotocnumbered}
% \changes{v2.3h}{1995/01/21}{added}
% \changes{v2.6b}{2000/05/26}{\cs{@mkboth} added}
@@ -514,12 +519,15 @@
% \changes{v2.9p}{2003/07/07}{number in running head}
% \changes{v2.98c}{2008/02/15}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.39}{2022/11/16}{not with \KOMAScript~4}
% Deprecated options \opt{bibtotoc} and \opt{bibtotocnumbered} are mapped to
% \opt{bibliography=totoc} resp. \opt{bibliography=totocnumbered}.
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{bibtotoc}{bibliography=totoc}
\KOMA@DeclareDeprecatedOption{bibtotocnumbered}{bibliography=totocnumbered}
-%</option>
+%</!v4>
+%</option>
% \end{macrocode}
% \end{option}^^A bibtotocnumbered
% \end{option}^^A bibtotoc
diff --git a/macros/latex/contrib/koma-script/scrkernel-compatibility.dtx b/macros/latex/contrib/koma-script/scrkernel-compatibility.dtx
index ced2a0a0b8..877b41e17f 100644
--- a/macros/latex/contrib/koma-script/scrkernel-compatibility.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-compatibility.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-compatibility.dtx 3949 2022-08-09 10:05:50Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3985 2022-11-11 11:24:31Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<option>%%% (run: option)
@@ -27,9 +27,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2022-08-09 12:05:50 +0200 (Di, 09. Aug 2022) $
+ \filedate$Date: 2022-11-11 12:24:31 +0100 (Fr, 11. Nov 2022) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
- \filerevision$Revision: 3949 $
+ \filerevision$Revision: 3985 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-compatibility.dtx}%
@@ -89,6 +89,17 @@
%
% \section{Implementation of Compatibility Selection}
%
+% \changes{v3.99}{2022/10/25}{begin of less compatibility of \KOMAScript~4}
+% For \KOMAScript{} before version 4 there are a lot of compatibility
+% settings. However, testing of all those are almost impossible and with all
+% those new features of new \LaTeX{} kernels it will become harder and
+% harder. So from \KOMAScript~4, compatibility to prior versions will be
+% reduced a lot. If users need such compatibility, they should use older
+% releases. However, for some time, at least before the first official release
+% of \KOMAScript~4, conditionally the sources support generation of a
+% \KOMAScript~3 compatible version or alternatively of a \KOMAScript~4
+% compatible version.
+%
% \subsection{Options for compatibility with the standard classes}
% There is only one such option, which can only be used while loading a
% \KOMAScript{} class.
@@ -139,12 +150,20 @@
%
%
% \subsection{Options for compatibility with prior versions of \KOMAScript}
-% There is also a single option to select compatibility with exactly one
-% \KOMAScript{} version. The compatibility changes are limited to feature
-% changes. Bug changes are not affected. So you would never be able to get
-% exactly the result of the given version using this option. However falling
-% back to compatibility with a prior version usually also deactivates other
-% features of the current version.
+%
+% \changes{v3.99}{2022/10/25}{\KOMAScript~3 only}
+% All features of this section are limited to \KOMAScript~3. \KOMAScript~4
+% will not implement it.
+% \begin{macrocode}
+%<*!v4>
+% \end{macrocode}
+%
+% For \KOMAScript~3 there is a single option to select compatibility with
+% exactly one \KOMAScript{} version. The compatibility changes are limited to
+% feature changes. Bug changes are not affected. So you would never be able to
+% get exactly the result of the given version using this option. However
+% falling back to compatibility with a prior version usually also deactivates
+% other features of the current version.
%
% \changes{v3.01b}{2008/12/09}{compatibility definitions in packages only, if
% not yet defined}
@@ -152,6 +171,8 @@
% \begin{option}{version}
% \changes{v2.9u}{2005/03/05}{added}
% \changes{v2.95}{2006/03/16}{can be used while loading only}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\scr@compatibility}
% \changes{v2.9u}{2005/03/05}{added}
% \changes{v3.01a}{2008/11/20}{default is \opt{\quotechar=last}}
@@ -185,7 +206,7 @@
Because of this, version was set to `first'%
}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
%<package&typearea> typearea.\scr@pkgextension
@@ -205,7 +226,7 @@
%<class|extend|letter> \edef\scr@compatibility{\@nameuse{scr@v@#1}}%
%<typearea> \edef\scr@ta@compatibility{\@nameuse{scr@v@#1}}%
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
%<package&typearea> typearea.\scr@pkgextension
@@ -236,7 +257,7 @@
\fi
}%
}
-%<class>\KOMA@kav@add{.\KOMAClassFileName}{version}{last}
+%<class>\KOMA@kav@add{\KOMAClassFileName}{version}{last}
% \end{macrocode}
% We do not use \cs{FamilyKeyState} if the option is set to late, but
% immediately report an error.
@@ -432,6 +453,8 @@
% \changes{v3.37}{2022/05/04}{added}
% \begin{macro}{\scr@v@3.38}
% \changes{v3.38}{2022/07/06}{added}
+% \begin{macro}{\scr@v@3.39}
+% \changes{v3.39}{2022/10/13}{added}
% \begin{macro}{\scr@v@last}
% \changes{v2.9u}{2005/03/05}{added}
% Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die
@@ -519,6 +542,7 @@
\@namedef{scr@v@3.36}{20}
\@namedef{scr@v@3.37}{20}
\@namedef{scr@v@3.38}{20}
+\@namedef{scr@v@3.39}{20}
\@namedef{scr@v@last}{20}
% \end{macrocode}
% \end{macro}
@@ -605,6 +629,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{option}
% \begin{macrocode}
%</init>
@@ -643,6 +668,18 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\scr@v@is@eq}
+% \changes{v3.39}{2022/10/25}{added}
+% Similar to the above for equality test.
+% \begin{macrocode}
+%<*option&(class|extend)>
+\newcommand*{\scr@v@is@eq}[1]{%
+ \scr@compatibility=\@nameuse{scr@v@#1}
+}
+%</option&(class|extend)>
+% \end{macrocode}
+% \end{macro}
+%
% \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}.
@@ -664,6 +701,11 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+%</!v4>
+% \end{macrocode}
+%
+% \subsection{Compatibility with used \LaTeX{} kernel version}
% \changes{v3.37}{2022/06/21}{version test added}
% We also do some version tests at |\begin{document}| because of the extremely
% high speed of \LaTeX{} kernel development.
@@ -733,6 +775,7 @@
% 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}
+%<*!v4>
%<*class&letter&body>
\expandafter\ifnum \@nameuse{scr@v@2.95}>\scr@compatibility\relax
\newcommand*{\@setif}[2][]{%
@@ -746,6 +789,7 @@
}%
\fi
%</class&letter&body>
+%</!v4>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/koma-script/scrkernel-floats.dtx b/macros/latex/contrib/koma-script/scrkernel-floats.dtx
index a687254eb3..3ffac19b8a 100644
--- a/macros/latex/contrib/koma-script/scrkernel-floats.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-floats.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-floats.dtx 3946 2022-07-20 10:37:02Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 3992 2022-11-16 07:14:51Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-07-20 12:37:02 +0200 (Mi, 20. Jul 2022) $
+ \filedate$Date: 2022-11-16 08:14:51 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3946 $
+ \filerevision$Revision: 3992 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-floats.dtx}%
@@ -180,6 +180,8 @@
% \opt{figureheading}, \opt{figuresignature}}
% \changes{v3.17}{2015/03/11}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/11}{using internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% This is the general option for the settings of captions. Because of
% compatibility with package \pkg{caption}, several of the macros, that are
% used to handle the values to the option, cannot be renamed and have to be
@@ -298,101 +300,101 @@
\@tablecaptionabovetrue
\@figurecaptionabovetrue
\@captionabovetrue
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{heading}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{signature}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{heading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{heading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{signature}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{heading}%
\or % signature
\@tablecaptionabovefalse
\@figurecaptionabovefalse
\@captionabovefalse
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{heading}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{signature}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{signature}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{heading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{signature}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{signature}%
\or % tableheading
\@tablecaptionabovetrue
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{tableheading}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{tablesignature}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{tableheading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{tableheading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{tablesignature}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{tableheading}%
\or % tablesignature
\@tablecaptionabovefalse
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{tableheading}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{tablesignature}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{tablesignature}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{tableheading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{tablesignature}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{tablesignature}%
\or % figureheading
\@figurecaptionabovetrue
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{figureheading}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{figuresignature}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{figureheading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{figureheading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{figuresignature}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{figureheading}%
\or % figuresignature
\@figurecaptionabovefalse
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{figureheading}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{figuresignature}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{figuresignature}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{figureheading}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{figuresignature}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{figuresignature}%
\or % oneline
\onelinecaptionstrue
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{oneline}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{nooneline}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{oneline}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{oneline}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{nooneline}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{oneline}%
\or % nooneline
\onelinecaptionsfalse
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{oneline}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{nooneline}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{nooneline}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{oneline}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{nooneline}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{nooneline}%
\or % rightbeside
\renewcommand*{\scap@pos}{r}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{rightbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{leftbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{innerbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{outerbeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{rightbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{rightbeside}%
\or % leftbeside
\renewcommand*{\scap@pos}{l}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{rightbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{leftbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{innerbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{outerbeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{leftbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{leftbeside}%
\or % innerbeside
\renewcommand*{\scap@pos}{i}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{rightbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{leftbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{innerbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{outerbeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{innerbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{innerbeside}%
\or % outerbeside
\renewcommand*{\scap@pos}{o}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{rightbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{leftbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{innerbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{outerbeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{outerbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{rightbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{leftbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{innerbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{outerbeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{outerbeside}%
\or % topbeside
\renewcommand*{\scap@valign}{t}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{topbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{centeredbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{bottombeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{topbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{topbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{centeredbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{bottombeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{topbeside}%
\or % centeredbeside
\renewcommand*{\scap@valign}{c}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{topbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{centeredbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{bottombeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{centeredbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{topbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{centeredbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{bottombeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{centeredbeside}%
\or % bottombeside
\renewcommand*{\scap@valign}{b}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{topbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{centeredbeside}%
- \KOMA@kav@remove{.\KOMAClassFileName}{captions}{bottombeside}%
- \KOMA@kav@add{.\KOMAClassFileName}{captions}{bottombeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{topbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{centeredbeside}%
+ \KOMA@kav@remove{\KOMAClassFileName}{captions}{bottombeside}%
+ \KOMA@kav@add{\KOMAClassFileName}{captions}{bottombeside}%
\fi
\fi
}
-\KOMA@kav@add{.\KOMAClassFileName}{captions}{signature}
-\KOMA@kav@add{.\KOMAClassFileName}{captions}{tablesignature}
-\KOMA@kav@add{.\KOMAClassFileName}{captions}{figuresignature}
-\KOMA@kav@add{.\KOMAClassFileName}{captions}{oneline}
-\KOMA@kav@add{.\KOMAClassFileName}{captions}{rightbeside}
-\KOMA@kav@add{.\KOMAClassFileName}{captions}{bottombeside}
+\KOMA@kav@add{\KOMAClassFileName}{captions}{signature}
+\KOMA@kav@add{\KOMAClassFileName}{captions}{tablesignature}
+\KOMA@kav@add{\KOMAClassFileName}{captions}{figuresignature}
+\KOMA@kav@add{\KOMAClassFileName}{captions}{oneline}
+\KOMA@kav@add{\KOMAClassFileName}{captions}{rightbeside}
+\KOMA@kav@add{\KOMAClassFileName}{captions}{bottombeside}
% \end{macrocode}
% \end{option}^^A captions
%
@@ -401,11 +403,14 @@
% \changes{v2.8k}{2001/08/15}{moved from \pkg*{typearea} into the classes}
% \changes{v2.98c}{2008/02/18}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% Implementation of deprecated options by mapping them to corresponding
% \pkg*{keyval} options.
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{tablecaptionabove}{captions=tableheading}
\KOMA@DeclareDeprecatedOption{tablecaptionbelow}{captions=tablesignature}
+%</!v4>
% \end{macrocode}
% \end{option}^^A tablecaptionabove,tablecaptionbelow
%
@@ -428,12 +433,15 @@
% \changes{v2.98c}{2008/03/03}{obsolete}
% \changes{v2.98c}{2008/03/03}{extra code for \pkg{caption2} removed}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% Implementation of deprecated options by mapping them to corresponding
% \pkg*{keyval} options.
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline}
\KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline}
-%</option>
+%</!v4>
+%</option>
% \end{macrocode}
% \end{option}^^A onelinecaption,noonelinecaption
%
@@ -612,11 +620,18 @@
% \begin{macro}{\c@pti@nb@sid@}
% \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}
+% \changes{v3.07a}{2010/11/04}{vertical alignment \texttt{t} and \texttt{b}
+% fixed}
+% \changes{v3.99}{2022/11/10}{vertical alignment fixed}
% This is the real beginning of the environment. After collecting all the
-% arguments into local macros.
+% arguments into local macros. Until version 4 the vertical alignment was
+% totally broken at least, if font element \fnt{caption} changes font
+% size. From version 4 we try to take care on this. However, the current
+% solution could still fail, if the first resp. last line of content of the
+% environment changes the font size.
% \begin{macrocode}
\newcommand{\c@pti@nb@sid@}{}
+%<*!v4>
\long\def\c@pti@nb@sid@[#1]#2{%
\def\scap@caption{%
\if c\scap@valign
@@ -633,6 +648,33 @@
}%
\begin{lrbox}{\c@pti@nb@sid@b@x}%
}
+%</!v4>
+%<*v4>
+\long\def\c@pti@nb@sid@[#1]#2{%
+ \def\scap@caption{%
+ \abovecaptionskip\z@
+ \belowcaptionskip\z@
+ \if t\scap@valign
+ {%
+ \usekomafont{caption}{%
+ \global\@tempdima\ht\strutbox
+ }%
+ }%
+ \setlength{\abovecaptionskip}{-\@tempdima}%
+ \fi
+ \if b\scap@valign
+ {%
+ \usekomafont{caption}{%
+ \global\@tempdima\dp\strutbox
+ }%
+ }%
+ \setlength{\belowcaptionskip}{\dimexpr\dp\strutbox-2\@tempdima\relax}%
+ \fi
+ \captionbelow[{#1}]{#2}%
+ }%
+ \begin{lrbox}{\c@pti@nb@sid@b@x}%
+}
+%</v4>
% \end{macrocode}
% \end{macro}^^A \c@pti@nb@sid@
% Now we can use all of the helper macros to begin the environment. We use
@@ -1761,6 +1803,7 @@
% \changes{v3.35}{2021/10/12}{redefine \cs{thefigure} only if compatibility is
% less or equal 2.97d resp. less than 3.35}
% \begin{macrocode}
+%<*!v4>
%<*book|report>
\expandafter\ifnum\scr@v@is@le{2.97d}%
\renewcommand*\thefigure{\thechapter.\@arabic\c@figure}
@@ -1771,6 +1814,7 @@
\renewcommand*\thefigure{\@arabic\c@figure}
\fi
%</article>
+%</!v4>
% \end{macrocode}
% \end{command}
% \begin{macro}{\fnum@figure}
@@ -1835,9 +1879,10 @@
% \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
+% \changes{v3.35}{2021/10/12}{redefine \cs{thetable} only if compatibility is
% less or equal 2.97d resp. less than 3.35}
% \begin{macrocode}
+%<*!v4>
%<*book|report>
\expandafter\ifnum\scr@v@is@le{2.97d}%
\renewcommand*\thetable{\thechapter.\@arabic\c@table}
@@ -1848,6 +1893,7 @@
\renewcommand*\thetable{\@arabic\c@table}
\fi
%</article>
+%</!v4>
%</body>
% \end{macrocode}
% \end{command}
diff --git a/macros/latex/contrib/koma-script/scrkernel-fonts.dtx b/macros/latex/contrib/koma-script/scrkernel-fonts.dtx
index b5859b1331..ebbe889e2f 100644
--- a/macros/latex/contrib/koma-script/scrkernel-fonts.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-fonts.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-fonts.dtx
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-fonts.dtx 3958 2022-10-06 12:44:28Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 4021 2023-04-04 11:29:59Z kohm $
%<identify>%%% (run: identify)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -29,9 +29,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-10-06 14:44:28 +0200 (Do, 06. Okt 2022) $
+ \filedate$Date: 2023-04-04 13:29:59 +0200 (Di, 04. Apr 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3958 $
+ \filerevision$Revision: 4021 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-fonts.dtx}%
@@ -89,9 +89,7 @@
% \MaybeStop{\PrintIndex}
%
%
-% \section{Implementation of \KOMAScript{} Font Features}
-%
-% \subsection{Options of the font size files generator package}
+% \section{Implementation of Options of the Font Fize Files Fenerator Package}
%
% From version 3.09 there exist package \pkg*{scrfontsizes}, which is currently
% very rudimentary. However it can used to generate font size files that can
@@ -103,7 +101,7 @@
%</generator&option>
% \end{macrocode}
%
-% \subsection{Font size options of the \KOMAScript{} classes}
+% \section{Implementation of Font Size Options of the \KOMAScript{} Classes}
%
% \begin{option}{10pt,11pt,12pt}
% These options do not exist as explicit options but are handled by
@@ -193,6 +191,8 @@
% \changes{v2.98c}{2008/03/26}{loading font size file if available}
% \changes{v3.12}{2013/03/05}{signaling using \cs{FamilyKeyStateProcessed}}
% \changes{v3.38}{2022/10/06}{error message in horizontal mode added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The option itself. Note, that it supports also font sizes like
% \texttt{10.3pt}.
% \begin{macrocode}
@@ -260,7 +260,7 @@
\@tempa
}%
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<extend> scrextend.\scr@pkgextension
}{fontsize}{#1}%
@@ -270,7 +270,7 @@
% \end{option}
%
%
-% \subsection{Packages required by the font size file generator package}
+% \section{Loading Packages Required by the Font Size File Generator Package}
%
% \pkg*{scrfontsizes} needs command \cs{changefontsizes}. This can either be
% provided by a \KOMAScript{} class or package \pkg*{scrextend}.
@@ -281,7 +281,7 @@
% \end{macrocode}
%
%
-% \subsection{The font size files}
+% \section{Implementation of The Font Size Files}
%
% \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}
@@ -582,6 +582,8 @@
% \begin{macro}{\simple@changefontsizes}
% \changes{v3.17}{2015/02/23}{added}
% \changes{v3.17}{2015/03/25}{\cs{par@updaterelative} added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Fallback calculation of font size settings relative to known 10\,pt values:
% \begin{quote}
% \cs{changefontsizes}\oarg{baseline skip}\marg{font size}
@@ -602,9 +604,9 @@
% \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}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{#1}{#2 \@plus#3 \@minus#4}%
+%<!v4> \else
\ifdim #2<\ifdim #2=\z@ \z@ \else \p@\fi
\ifdim #3<\ifdim #3=\z@ \z@ \else \p@\fi
\ifdim #4<\ifdim #4=\z@ \z@ \else \p@\fi
@@ -634,7 +636,7 @@
\fi
\fi
\fi
- \fi
+%<!v4> \fi
}
% \end{macrocode}
% \end{macro}
@@ -643,7 +645,7 @@
% from 2021/10/04}
% \begin{macrocode}
\providecommand*{\simple@changefontsizes}[2][1.2\@tempdima]{%
- \KOMA@kav@removekey{.%
+ \KOMA@kav@removekey{%
%<class> \KOMAClassFileName
%<extend> scrextend.\scr@pkgextension
}{fontsize}%
@@ -666,19 +668,19 @@
%
% Calculation and definition of \cs{normalsize}:
% \begin{macrocode}
- \expandafter\ifnum\scr@v@is@lt{3.12}\relax
- \setlength{\abovedisplayskip}{%
- \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
- \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
- \setlength{\belowdisplayshortskip}{%
- .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\abovedisplayskip}{%
+%<!v4> \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
+%<!v4> \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
+%<!v4> \setlength{\belowdisplayshortskip}{%
+%<!v4> .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
+%<!v4> \else
\scr@setlength{\abovedisplayskip}%
{.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
\scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
\scr@setlength{\belowdisplayshortskip}%
{.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
- \fi
+%<!v4> \fi
\setlength{\belowdisplayskip}{\abovedisplayskip}%
\edef\reserved@a{%
\noexpand\@setfontsize\noexpand\normalsize
@@ -696,19 +698,19 @@
% \begin{macrocode}
\setlength{\@tempdima}{0.9125\@tempdimc}%
\setlength{\@tempdimb}{\@tempb\@tempdima}%
- \expandafter\ifnum\scr@v@is@lt{3.12}\relax
- \setlength{\abovedisplayskip}{%
- \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
- \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
- \setlength{\belowdisplayshortskip}{%
- .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\abovedisplayskip}{%
+%<!v4> \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
+%<!v4> \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
+%<!v4> \setlength{\belowdisplayshortskip}{%
+%<!v4> .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
+%<!v4> \else
\scr@setlength{\abovedisplayskip}%
{.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
\scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
\scr@setlength{\belowdisplayshortskip}%
{.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
- \fi
+%<!v4> \fi
\setlength{\belowdisplayskip}{\abovedisplayskip}%
\edef\reserved@a{%
\noexpand\@setfontsize\noexpand\small
@@ -726,19 +728,19 @@
% \begin{macrocode}
\setlength{\@tempdima}{.83334\@tempdimc}%
\setlength{\@tempdimb}{\@tempb\@tempdima}%
- \expandafter\ifnum\scr@v@is@lt{3.12}\relax
- \setlength{\abovedisplayskip}{%
- \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
- \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
- \setlength{\belowdisplayshortskip}{%
- .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\abovedisplayskip}{%
+%<!v4> \@tempdima \@plus .25\@tempdima \@minus .58\@tempdima}%
+%<!v4> \setlength{\abovedisplayshortskip}{\z@ \@plus .25\@tempdima}%
+%<!v4> \setlength{\belowdisplayshortskip}{%
+%<!v4> .55\@tempdima \@plus .3\@tempdima \@minus .25\@tempdima}%
+%<!v4> \else
\scr@setlength{\abovedisplayskip}%
{.8333\@tempdimb}{.1667\@tempdimb}{.5\@tempdimb}%
\scr@setlength{\abovedisplayshortskip}{\z@}{.25\@tempdimb}{\z@}%
\scr@setlength{\belowdisplayshortskip}%
{.5\@tempdimb}{.25\@tempdimb}{.25\@tempdimb}%
- \fi
+%<!v4> \fi
\setlength{\belowdisplayskip}{\abovedisplayskip}%
\edef\reserved@a{%
\noexpand\@setfontsize\noexpand\footnotesize
@@ -833,12 +835,15 @@
% depending sized.
% \begin{macrocode}
\normalsize
-%<!extend> \expandafter\ifnum\scr@v@is@ge{3.17}\@nameuse{par@updaterelative}\fi
+%<!extend&!v4> \expandafter\ifnum\scr@v@is@ge{3.17}
+%<!extend> \@nameuse{par@updaterelative}%
+%<!extend&!v4> \fi
% \end{macrocode}
% 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}
+%<*!v4>
\expandafter\ifnum\scr@v@is@lt{3.12}\relax
\setlength{\footnotesep}{.7\@tempdimc}%
\setlength{\skip\footins}{.9\@tempdimc \@plus .3333\@tempdimc \@minus
@@ -859,20 +864,21 @@
\setlength{\@dblfpsep}{.8333\@tempdimc \@plus 2fil}%
\setlength{\@dblfpbot}{\@fptop}%
\fi
+%</!v4>
% \end{macrocode}
% 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
- .5\@tempdimc}%
- \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\topsep}{.8333\@tempdimc \@plus .3333\@tempdimc \@minus
+%<!v4> .5\@tempdimc}%
+%<!v4> \setlength{\parsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}%
+%<!v4> \else
\setlength{\@tempdimb}{\f@baselineskip}%
\scr@setlength{\parsep}%
{.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}%
\scr@setlength{\topsep}%
{.6667\@tempdimb}{.1667\@tempdimb}{.3333\@tempdimb}%
- \fi
+%<!v4> \fi
\@tempswafalse
\begingroup
\def\@list@extra{\aftergroup\@tempswatrue}%
@@ -888,16 +894,16 @@
% \end{macrocode}
% 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
- .41667\@tempdimc}%
- \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\topsep}{.75\@tempdimc \@plus .25\@tempdimc \@minus
+%<!v4> .41667\@tempdimc}%
+%<!v4> \setlength{\parsep}{.375\@tempdimc \@plus .16667\@tempdimc \@minus \p@}%
+%<!v4> \else
\scr@setlength{\parsep}%
{.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
\scr@setlength{\topsep}%
{.3333\@tempdimb}{.1667\@tempdimb}{.1667\@tempdimb}%
- \fi
+%<!v4> \fi
\@tempswafalse
\begingroup
\def\@list@extra{\aftergroup\@tempswatrue}%
@@ -912,16 +918,16 @@
% \end{macrocode}
% 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
- .16667\@tempdimc}%
- \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\topsep}{.5\@tempdimc \@plus .16667\@tempdimc \@minus
+%<!v4> .16667\@tempdimc}%
+%<!v4> \setlength{\parsep}{.25\@tempdimc \@plus .16667\@tempdimc \@minus \p@}%
+%<!v4> \else
\scr@setlength{\parsep}%
{.125\@tempdimb}{.0625\@tempdimb}{.0625\@tempdimb}%
\scr@setlength{\topsep}%
{.25\@tempdimb}{.125\@tempdimb}{.125\@tempdimb}%
- \fi
+%<!v4> \fi
\@tempswafalse
\begingroup
\def\@list@extra{\aftergroup\@tempswatrue}%
@@ -936,15 +942,15 @@
% \end{macrocode}
% 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@}%
- \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\topsep}{.4167\@tempdimc \@plus .2083\@tempdimc \@minus \p@}%
+%<!v4> \setlength{\parsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}%
+%<!v4> \else
\scr@setlength{\parsep}%
{.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
\scr@setlength{\topsep}%
{.3333\@tempdimb}{.1667\@tempdimb}{.0833\@tempdimb}%
- \fi
+%<!v4> \fi
\@tempswafalse
\begingroup
\def\@list@extra{\aftergroup\@tempswatrue}%
@@ -960,12 +966,12 @@
% \end{macrocode}
% 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@}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\topsep}{.2083\@tempdimc \@plus \p@ \@minus \p@}%
+%<!v4> \else
\scr@setlength{\topsep}%
{.1667\@tempdimb}{.0833\@tempdimb}{.0833\@tempdimb}%
- \fi
+%<!v4> \fi
\setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}%
\@tempswafalse
\begingroup
@@ -1028,13 +1034,13 @@
% \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}%
- \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}%
- \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}%
- \setlength\dblfloatsep\intextsep
- \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.12}\relax
+%<!v4> \setlength{\@tempdimb}{\@tempb\@tempdima}%
+%<!v4> \setlength{\@tempdima}{\dimexpr \@tempdimb-\@tempdimc}%
+%<!v4> \setlength\intextsep{\@tempdimb \@plus.2\@tempdima \@minus.2\@tempdima}%
+%<!v4> \setlength\dblfloatsep\intextsep
+%<!v4> \setlength\partopsep{.2\@tempdimc \@plus.1\@tempdimc \@minus.1\@tempdimc}%
+%<!v4> \else
\setlength{\@tempdimb}{\f@baselineskip}%
\setlength{\footnotesep}{.555\@tempdimb}%
\scr@setlength{\skip\footins}%
@@ -1053,7 +1059,7 @@
\setlength{\@dblfpsep}{\@fpsep}%
\setlength{\@dblfpbot}{\@fptop}%
\scr@setlength{\partopsep}{.2\@tempdimb}{.1\@tempdimb}{.1\@tempdimb}%
- \fi
+%<!v4> \fi
}
\scr@ifundefinedorrelax{changefontsizes}{%
\let\changefontsizes\simple@changefontsizes
@@ -1389,8 +1395,9 @@
\endgroup
\immediate\write\@fontfile{%
\string\@ifundefined{@list@extra}{}{\@percentchar^^J%
- \string\expandafter\string\ifnum\string\scr@v@is@ge{3.17}%
- \string\par@updaterelative\string\fi^^J%
+%<!v4> \string\expandafter\string\ifnum\string\scr@v@is@ge{3.17}^^J%
+ \string\par@updaterelative^^J%
+%<!v4> \string\fi^^J%
\@ind\string\l@addto@macro{\string\@listi}{\string\@list@extra}%
\@percentchar^^J%
\@ind\string\let\string\@listI=\string\@listi^^J%
@@ -1440,8 +1447,8 @@
\InputIfFileExists{\@fontsizefilebase\@tempa.clo}{%
\ClassInfo{\KOMAClassName}{%
File `\@fontsizefilebase\@tempa.clo' used to setup font sizes}%
- \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}%
- \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}%
+ \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempa}%
}{%
% \end{macrocode}
% If this is not successful, try
@@ -1451,8 +1458,8 @@
\ClassInfo{\KOMAClassName}{%
File `\@fontsizefilebase\@tempb pt.clo' used instead of\MessageBreak
file `\@fontsizefilebase\@tempa.clo' to setup font sizes}%
- \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}%
- \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb pt}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}%
+ \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb pt}%
}{%
% \end{macrocode}
% If this is still not successful try a font size file of the standard
@@ -1462,22 +1469,22 @@
\InputIfFileExists{bk\@tempb.clo}{%
\ClassInfo{\KOMAClassName}{%
File `bk\@tempb.clo' used to setup font sizes}%
- \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}%
- \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}%
+ \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb}%
}{%
%</book>
\InputIfFileExists{size\@tempb.clo}{%
\ClassInfo{\KOMAClassName}{%
File `size\@tempb.clo' used to setup font sizes}%
- \KOMA@kav@removekey{.\KOMAClassFileName}{fontsize}%
- \KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempb}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{fontsize}%
+ \KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempb}%
}{%
% \end{macrocode}
% If this is still not successful, use the fallback calculation.
% \begin{macrocode}
\edef\@tempa{%
\noexpand\changefontsizes{\@tempa}%
- \noexpand\KOMA@kav@xadd{.\KOMAClassFileName}{fontsize}{\@tempa}%
+ \noexpand\KOMA@kav@xadd{\KOMAClassFileName}{fontsize}{\@tempa}%
}\@tempa
}%
%<book> }%
@@ -1487,7 +1494,7 @@
% \end{macrocode}
%
%
-% \subsection{Deprecated old font selection commands}
+% \section{Implementation of Deprecated Old Font Selection Commands}
%
% \begin{option}{enabledeprecatedfontcommands}
% \changes{v3.20}{2015/10/14}{added}
@@ -1680,7 +1687,99 @@
% \end{command}
%
%
-% \subsection{Font elements}
+% \section{Implementation of Special Handling of Sans-Serif Defaults}
+%
+% \changes{v3.39}{2022/11/19}{moved from \file{scrkernel-miscellaneous.dtx}}
+%
+% Some users do not like the sans-serif defaults of \KOMAScript. Though each
+% of these defaults could be changed easily using \cs{setkomafont} and
+% \cs{addtokomafont}, one user requested an option to be able to do the change
+% already when loading the classes resp. package \pkg*{scrextend}. He even
+% pointed out that the lack of such an option is one reason for him not to use
+% \KOMAScript. Although or just because such a statement of a renowned \LaTeX{}
+% expert could almost be interpreted as a clear recommendation against
+% \KOMAScript, a corresponding option was created immediately.
+%
+% \begin{option}{sfdefaults}
+% Boolean option to change behave of \cs{maybesffamily}.
+% \begin{command}{\textmaybesf,\maybesffamily}
+% \changes{v3.39}{2023/04/04}{new}
+% \begin{macro}{\@gr@gsffamily,\if@sfdefaults,
+% \@sfdefaultfalse,\@sfdefaultstrue}
+% \changes{v3.20}{2016/01/29}{added}
+% \changes{v3.20a}{2016/05/19}{also for \cls*{scrlttr2}}
+% \changes{v3.39}{2023/04/04}{\cs{@gr@gsffamily} renamed to \cs{maybesffamily}}
+% \changes{v3.39}{2023/04/04}{\cs{if@egregdoesnotlikesansseriftitles} replaced
+% by \cs{if@sfdefaults}}
+% Used to switch on or off all the sans-serif defaults.
+% \begin{macrocode}
+%<*(class|extend)&option>
+\KOMA@ifkey{sfdefaults}{@sfdefaults}
+\newcommand*{\maybesffamily}{\if@sfdefaults \sffamily \fi}
+\newcommand*{\textmaybesf}{%
+ \if@sfdefaults \expandafter\textsf \else \expandafter\@firstofone \fi
+}
+% \end{macrocode}
+% \end{macro}^^A \if@sfdefaults, …
+% \end{command}^^A \textmaybesf, \maybesffamily
+% \end{option}^^A sfdefaults
+%% \begin{option}{egegdoesnotlikesansseriftitles}
+% \changes{v3.20}{2016/01/29}{added}
+% \changes{v3.20a}{2016/05/19}{also for \cls*{scrlttr2}}
+% \changes{v3.39}{2022/11/19}{deprecated}
+% \changes{v3.39}{2023/04/04}{replaced by new option \opt{sfdefaults}}
+% \begin{description}
+% \item[Note:] Although the description found earlier at this place was never
+% meant to be offensive, it was taken as offensive. Therefore, I expressly
+% apologize for the earlier wording.
+% \end{description}
+% \begin{macrocode}
+\KOMA@key{egregdoesnotlikesansseriftitles}[true]{%
+%<class> \ClassWarningNoLine{\KOMAClassName}%
+%<extend> \PackageWarningNoLine{scrextend}%
+ {%
+ You've used deprecated option `egregdoesnotlikesansseriftitles'.\MessageBreak
+ In 2016 this option has been implemented as a joke\MessageBreak
+ answer to egreg's comment:\MessageBreak
+ \space\space ``In my opinion there should be a document class\MessageBreak
+ \space\space option for it, instead of the
+ \string\setkomafont\MessageBreak
+ \space\space statement. And yes, I find imposing sans serif
+ for\MessageBreak
+ \space\space titles is not the best choice (one of the
+ reasons\MessageBreak
+ \space\space why I don't use Koma-script classes).''\MessageBreak
+ to question https://tex.stackexchange.com/q/289853\MessageBreak
+ at TeX.SX.\MessageBreak
+ The option has never been documented in the official\MessageBreak
+ user manuals and therefore should never have been\MessageBreak
+ used in real live documents. It was intended to be\MessageBreak
+ removed after some month.\MessageBreak
+ However, it has been used and also almost forgotten\MessageBreak
+ by the author.\MessageBreak
+ For this the author apologizes both to users but\MessageBreak
+ especially to egreg.\MessageBreak
+ Rightly, egreg has criticized the permanent retention\MessageBreak
+ of the option as unfunny to inappropriate and has\MessageBreak
+ asked that it be removed or replaced.\MessageBreak
+ It will be removed soon!\MessageBreak
+ You should use `sfdefaults=false` instead%
+ }%
+ \KOMA@set@ifkey{egregdoesnotlikesansseriftitles}%
+ {@sfdefaults}%
+ {#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \if@sfdefault \@sfdefaultsfalse \else \@sfdefaulttrue \fi
+%<class> \KOMA@kav@xreplacevalue{\KOMAClassFileName}%
+%<extend> \KOMA@kav@xreplacevalue{scrextend.\scr@pkgextension}%
+ {sfdefaults}{\if@sfdefaults true\else false\fi}%
+ \fi
+}
+%</(class|extend)&option>
+% \end{macrocode}
+% \end{option}^^A egegdoesnotlikesansseriftitles
+%
+% \section{Implementation of Font Elements}
%
%
% \begin{command}{\IfExistskomafont}
diff --git a/macros/latex/contrib/koma-script/scrkernel-footnotes.dtx b/macros/latex/contrib/koma-script/scrkernel-footnotes.dtx
index 58eeee64ea..41a36d2531 100644
--- a/macros/latex/contrib/koma-script/scrkernel-footnotes.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-footnotes.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-footnotes.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-footnotes.dtx 3985 2022-11-11 11:24:31Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-11 12:24:31 +0100 (Fr, 11. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3985 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-footnotes.dtx}%
@@ -85,6 +85,8 @@
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyStateProcessed}}
% \changes{v3.17}{2015/03/11}{internal value storage}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Multiple footnotes mean, that there are more than one footnote at the same
% place in the text. Usually this would result in a sequence of numbers (or
% other footnote signes) not seperated anyhow. So you would not be able, e.g.,
@@ -115,7 +117,7 @@
\def\FN@mf@prepare{\scr@mf@prepare}%
\def\scr@footmisc@options{multiple}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{footnotes}{multiple}%
@@ -125,7 +127,7 @@
\let\FN@mf@prepare\relax
\let\scr@footmisc@options\@empty
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{footnotes}{nomultiple}%
@@ -136,20 +138,20 @@
}
\AtBeginDocument{%
\ifx\@footnotemark\scr@saved@footnotemark
- \KOMA@kav@removekey{.%
+ \KOMA@kav@removekey{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{footnotes}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{footnotes}{nomultiple}%
\else\ifx\@footnotemark\scr@footnotemark
- \KOMA@kav@removekey{.%
+ \KOMA@kav@removekey{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{footnotes}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{footnotes}{multiple}%
@@ -330,7 +332,7 @@
% \meta{indent}.
% \begin{macrocode}
\newcommand\deffootnote[4][]{%
- \expandafter\ifnum\scr@v@is@ge{3.22}\relax
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.22}\relax
\long\def\@makefntext##1{%
\ExecuteDoHook{footnote/text/begin}%
\raggedfootnote
@@ -345,6 +347,7 @@
\ftn@font\hbox to \z@{\hss\@@makefnmark}##1%
\ExecuteDoHook{footnote/text/end}%
}%
+%<*!v4>
\else
%<class> \ClassInfo{\KOMAClassName}{%
%<package> \PackageInfo{scrextend}{%
@@ -374,6 +377,7 @@
\ftn@font\hbox to \z@{\hss\@@makefnmark}##1%
}%
\fi
+%</!v4>
% \end{macrocode}
% \begin{macro}{\@@makefnmark}
% \changes{v2.4l}{1997/02/06}{added}
diff --git a/macros/latex/contrib/koma-script/scrkernel-index.dtx b/macros/latex/contrib/koma-script/scrkernel-index.dtx
index 5f8182197e..7216042469 100644
--- a/macros/latex/contrib/koma-script/scrkernel-index.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-index.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-index.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-index.dtx 3993 2022-11-16 07:17:09Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:17:09 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3993 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-index.dtx}%
@@ -94,6 +94,8 @@
% \changes{v2.98c}{2008/03/04}{redefining \cs{idx@@heading} instead of
% \cs{idx@@heading}}
% \changes{v3.18}{2015/06/15}{new value \opt{leveldown}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The option allow several values for several features:
% \begin{labeling}{\opt{=standardlevel}:}
% \item[\opt{=default}:] use not numbered heading without ToC entry, but
@@ -151,14 +153,14 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase \@tempa\relax
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{noindex}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indexnumbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{index}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{numbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{toc}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{noindex}%
- \KOMA@kav@add{.\KOMAClassFileName}{index}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{index}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{numbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{toc}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{noindex}%
+ \KOMA@kav@add{\KOMAClassFileName}{index}{notoc}%
\renewcommand*{\idx@@heading}{%
\ifidx@leveldown
%<article> \expandafter\subsection
@@ -169,14 +171,14 @@
\fi*%
}%
\or
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{noindex}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indexnumbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{index}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{numbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{toc}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{index}%
- \KOMA@kav@add{.\KOMAClassFileName}{index}{toc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{index}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{numbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{toc}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{index}%
+ \KOMA@kav@add{\KOMAClassFileName}{index}{toc}%
\renewcommand*{\idx@@heading}{%
\ifidx@leveldown
%<article> \expandafter\subsection\expandafter*
@@ -187,14 +189,14 @@
\fi
}%
\or
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{noindex}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indexnumbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{index}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{numbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{toc}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{indexnumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{index}{numbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{noindex}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{indexnumbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{index}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{numbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{toc}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{indexnumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{index}{numbered}%
\renewcommand*{\idx@@heading}{%
\ifidx@leveldown
%<article> \expandafter\subsection
@@ -205,21 +207,21 @@
\fi
}%
\or
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{leveldown}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{standardlevel}%
- \KOMA@kav@add{.\KOMAClassFileName}{index}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{standardlevel}%
+ \KOMA@kav@add{\KOMAClassFileName}{index}{leveldown}%
\idx@leveldowntrue
\or
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{leveldown}%
- \KOMA@kav@remove{.\KOMAClassFileName}{index}{standardlevel}%
- \KOMA@kav@add{.\KOMAClassFileName}{index}{standardlevel}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{index}{standardlevel}%
+ \KOMA@kav@add{\KOMAClassFileName}{index}{standardlevel}%
\idx@leveldownfalse
\fi
\fi
}
-\KOMA@kav@add{.\KOMAClassFileName}{toc}{noindex}
-\KOMA@kav@add{.\KOMAClassFileName}{index}{notoc}
-\KOMA@kav@add{.\KOMAClassFileName}{index}{standardlevel}
+\KOMA@kav@add{\KOMAClassFileName}{toc}{noindex}
+\KOMA@kav@add{\KOMAClassFileName}{index}{notoc}
+\KOMA@kav@add{\KOMAClassFileName}{index}{standardlevel}
% \end{macrocode}
% \end{macro}^^A \ifidx@leveldown …
% \end{macro}^^A \idx@@heading
@@ -229,8 +231,9 @@
% \changes{v2.3h}{1995/01/21}{new}
% \changes{v2.98c}{2008/03/04}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% \begin{macrocode}
-\KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc}
+%<!v4>\KOMA@DeclareDeprecatedOption{idxtotoc}{index=totoc}
%</option>
% \end{macrocode}
% \end{option}
diff --git a/macros/latex/contrib/koma-script/scrkernel-language.dtx b/macros/latex/contrib/koma-script/scrkernel-language.dtx
index 7311e411f7..76ff58d7fb 100644
--- a/macros/latex/contrib/koma-script/scrkernel-language.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-language.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-language.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-language.dtx 3994 2022-11-16 07:18:05Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:18:05 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3994 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-language.dtx}
@@ -986,6 +986,8 @@
% \cs{PackageInfoNoLine}}
% \changes{v3.17}{2015/03/10}{using internal value storage}
% \changes{v3.36}{2022/02/25}{initial storage value fixed}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The option allows to switch between the original textual date usually
% provided by \pkg{babel} (or another language package) and a numerical date.
% \begin{macro}{\@orgdatefalse,\@orgdatetrue,\if@orgdate}
@@ -1003,22 +1005,25 @@
\KOMA@key{numericaldate}[true]{%
\if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
\KOMA@set@ifkey{numericaldate}{@orgdate}{#1}%
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&letter> scrletter.\scr@pkgextension
}{numericaldate}{@orgdate}%
\if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package&letter> scrletter.\scr@pkgextension
}{numericaldate}{true}
% \end{macrocode}
% \begin{option}{scrdate,orgdate}
% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true}
\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false}
+%</!v4>
%</letter&option>
% \end{macrocode}
% \end{option}^^A scrdate,orgdate
@@ -1032,9 +1037,9 @@
%<*letter&body>
\newcommand*{\g@addnumerical@date}[2]{%
\@ifundefined{date#1}{%
-%<class> \ClassInfo{scrlttr2%
-%<package> \PackageInfo{scrletter%
- }{%
+%<class> \ClassInfo{scrlttr2}
+%<package> \PackageInfo{scrletter}
+ {%
no date found for language `#1'\MessageBreak
--> skipped%
}%
@@ -1535,9 +1540,9 @@
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname date\languagename\endcsname\relax
-%<class> \ClassWarningNoLine{scrlttr2%
-%<package> \PackageWarningNoLine{scrletter%
- }{%
+%<class> \ClassWarningNoLine{scrlttr2}
+%<package> \PackageWarningNoLine{scrletter}
+ {%
\string\language\space is \the\language, \string\languagename\space is
`\languagename'\MessageBreak
but \expandafter\string\csname
@@ -1548,9 +1553,9 @@
\let\languagename=\undefined
\fi
\ifx\languagename\undefined
-%<class> \ClassWarningNoLine{scrlttr2%
-%<package> \PackageWarningNoLine{scrletter%
- }{\string\languagename\space not
+%<class> \ClassWarningNoLine{scrlttr2}
+%<package> \PackageWarningNoLine{scrletter}
+ {\string\languagename\space not
defined, using \string\language.\MessageBreak
This may result in use of wrong language!\MessageBreak
You should use a compatible language
@@ -1704,9 +1709,9 @@
\else
\edef\@tempa{nohyphenation}%
\ifx\languagename\@tempa
-%<class> \ClassWarningNoLine{scrlttr2%
-%<package> \PackageWarningNoLine{scrletter%
- }{%
+%<class> \ClassWarningNoLine{scrlttr2}
+%<package> \PackageWarningNoLine{scrletter}
+ {%
You've selected language `\languagename'.\MessageBreak
Maybe your LaTeX format contains Babel extension\MessageBreak
but you have not selected a language using\MessageBreak
@@ -1716,9 +1721,9 @@
will be used%
}%
\else
-%<class> \ClassInfo{scrlttr2%
-%<package> \PackageInfo{scrletter%
- }{%
+%<class> \ClassInfo{scrlttr2}
+%<package> \PackageInfo{scrletter}
+ {%
trying to activate captions and date\MessageBreak
of language `\languagename'%
}%
@@ -1730,9 +1735,9 @@
% \begin{macrocode}
\csname date\languagename\endcsname
\csname captions\languagename\endcsname
-%<class> \ClassInfo{scrlttr2%
-%<package> \PackageInfo{scrletter%
- }{%
+%<class> \ClassInfo{scrlttr2}
+%<package> \PackageInfo{scrletter}
+ {%
used language is `\languagename'.\MessageBreak
Supported languages are: `english', `UKenglish',\MessageBreak
`ukenglish', `british', `american', `USenglish',\MessageBreak
diff --git a/macros/latex/contrib/koma-script/scrkernel-letterclassoptions.dtx b/macros/latex/contrib/koma-script/scrkernel-letterclassoptions.dtx
index 3eae05ad74..7ad80a3a64 100644
--- a/macros/latex/contrib/koma-script/scrkernel-letterclassoptions.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-letterclassoptions.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-letterclassoptions.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-letterclassoptions.dtx 3981 2022-11-09 10:07:16Z kohm $
%<option>%%% (run: option)
%<head>%%% (run: head)
%<body>%%% (run: body)
@@ -26,9 +26,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-09 11:07:16 +0100 (Mi, 09. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3981 $
\endgroup
\ProvidesFile{scrkernel-letterclassoptions.dtx}
[\filedate\space \filerevision\space
@@ -177,20 +177,37 @@
\scr@sp@def\reserved@a{#1}%
\edef\reserved@a{%
\noexpand\edef\noexpand\scr@currentlco{\reserved@a}%
+% \end{macrocode}
+% \changes{v3.99}{2022/10/25}{local definition of \cs{scr@compatibility}}
+% For compatibility of old \file{lco} files with \KOMAScript~4 we locally
+% define \cs{scr@compatibility} to the highest possible number.
+% \begin{macrocode}
+%<*v4>
+ \ifdefined\scr@compatibility\else
+ \noexpand\edef\noexpand\scr@compatibility{\the\maxdimen}%
+ \fi
+%</v4>
\noexpand\InputIfFileExists{\reserved@a.lco}{%
-%<class> \noexpand\ClassInfo{scrlttr2%
-%<package> \noexpand\PackageInfo{scrletter%
- }{Letter-Class-Option `#1' loaded}%
+%<class> \noexpand\ClassInfo{scrlttr2}%
+%<package> \noexpand\PackageInfo{scrletter}%
+ {Letter-Class-Option `#1' loaded}%
}{%
-%<class> \noexpand\ClassError{scrlttr2%
-%<package> \noexpand\PackageError{scrletter%
- }{%
+%<class> \noexpand\ClassError{scrlttr2}%
+%<package> \noexpand\PackageError{scrletter}%
+ {%
Letter-Class-Option file `#1.lco' not found%
}{%
You've told me to load the Letter-Class-Option `#1'. So I have
to load\noexpand\MessageBreak
the file `#1.lco'. But the file isn't available.}%
}%
+%<*v4>
+ \ifdefined\scr@compatibility
+ \noexpand\def\noexpand\scr@compatibility{\scr@compatibility}%
+ \else
+ \unexpanded{\let\scr@compatibility\undefined}%
+ \fi
+%</v4>
\scr@ifundefinedorrelax{scr@currentlco}{%
\unexpanded{\let\scr@currentlco\relax}%
}{%
@@ -363,26 +380,27 @@
%<class>}
\newcommand*{\@@PapersizeWarning}{%
\if@tempswa\else%
-%<class> \ClassWarningNoLine{scrlttr2%
-%<package> \PackageWarningNoLine{scrletter%
- }{%
- Letter option file `\LOPNP@option.lco'\MessageBreak
- needs paper size `\LOPNP@size'.\MessageBreak
- Current paper size is not `\LOPNP@size'!\MessageBreak
- \scr@ifundefinedorrelax{KOMAClassName}{%
- You should load package `typearea' either\MessageBreak
- with option `paper=\LOPNP@size,paper=portrait' or
- additionally\MessageBreak
- }{%
- You should add `paper=\LOPNP@size,paper=portrait' at the\MessageBreak
- option list of `\string\documentclass' or\MessageBreak
+%<class> \ClassWarningNoLine{scrlttr2}%
+%<package> \PackageWarningNoLine{scrletter}%
+ {%
+ Letter option file `\LOPNP@option.lco'\MessageBreak
+ needs paper size `\LOPNP@size'.\MessageBreak
+ Current paper size is not `\LOPNP@size'!\MessageBreak
+ \scr@ifundefinedorrelax{KOMAClassName}{%
+ You should load package `typearea' either\MessageBreak
+ with option `paper=\LOPNP@size,paper=portrait' or
+ additionally\MessageBreak
+ }{%
+ You should add `paper=\LOPNP@size,paper=portrait' at the\MessageBreak
+ option list of `\string\documentclass' or\MessageBreak
+ }%
+ add `\string\KOMAoptions{paper=\LOPNP@size,paper=portrait}'\MessageBreak
+ before starting this letter!\MessageBreak
+ Maybe you know what you are doing,\MessageBreak
+ so I do not change this myself%
}%
- add `\string\KOMAoptions{paper=\LOPNP@size,paper=portrait}'\MessageBreak
- before starting this letter!\MessageBreak
- Maybe you know what you are doing,\MessageBreak
- so I do not change this myself}%
\fi
- }
+}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -687,17 +705,18 @@
%</5008>
%<KOMAold>\setplength{firstfootvpos}{\paperheight}
%<KOMAold>\addtoplength{firstfootvpos}{-2cm}
-%<!KOMAold&!NF>\ifnum \scr@compatibility >\@nameuse{scr@v@2.9t}\relax
-%<!KOMAold&!NF> \setplength{firstfootvpos}{\paperheight}
-%<!KOMAold&!NF> \addtoplength{firstfootvpos}{-16mm}
-%<!KOMAold&!NF>\else
-%<!KOMAold&!NF> \setplength{firstfootvpos}{1in}
-%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\topmargin}
-%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\headheight}
-%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\headsep}
-%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\textheight}
-%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\footskip}
-%<!KOMAold&!NF>\fi
+%<!KOMAold&!NF>\setplength{firstfootvpos}{\paperheight}
+%<!KOMAold&!NF>\addtoplength{firstfootvpos}{-16mm}
+%<!KOMAold&!NF>\scr@ifundefinedorrelax{scr@v@is@le}{}{%
+%<!KOMAold&!NF> \expandafter\ifnum \scr@v@is@le{2.9t}\relax\else
+%<!KOMAold&!NF> \setplength{firstfootvpos}{1in}%
+%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\topmargin}%
+%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\headheight}%
+%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\headsep}%
+%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\textheight}%
+%<!KOMAold&!NF> \addtoplength{firstfootvpos}{\footskip}%
+%<!KOMAold&!NF> \fi
+%<!KOMAold&!NF>}%
%<NF>\setplength{firstfootvpos}{266.679mm}
% \end{macrocode}
% \end{pseudolength}
diff --git a/macros/latex/contrib/koma-script/scrkernel-listsandtabulars.dtx b/macros/latex/contrib/koma-script/scrkernel-listsandtabulars.dtx
index bc4973533e..dea9ef8e49 100644
--- a/macros/latex/contrib/koma-script/scrkernel-listsandtabulars.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-listsandtabulars.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-listsandtabulars.dtx
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-listsandtabulars.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-listsandtabulars.dtx 4021 2023-04-04 11:29:59Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2023-04-04 13:29:59 +0200 (Di, 04. Apr 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 4021 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-listsandtabulars.dtx}%
@@ -377,10 +377,10 @@
\setlength{\labelwidth}{\z@}%
\advance\@listdepth\m@ne
}%
- \expandafter\ifnum\scr@v@is@ge{3.22}%
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.22}%
\setlength{\topsep}{\@tempskipa}%
\setlength{\partopsep}{\@tempskipb}%
- \fi
+%<!v4> \fi
\item\is@thispageodd@setlabel\nobreak\ignorespaces
}
%<*class>
@@ -399,11 +399,12 @@
% \KOMAScript{} before the design of font elements.
% \begin{macro}{\descfont}
% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}}
+% \changes{v3.39}{2023/04/04}{\cs{@gr@gsfamily} replaced by \cs{maybesffamily}}
% The font of the item labels of \env{description}. The command \cs{descfont}
% should not be used by users. Think of it as an internal macro. The user
% space name is because of compatibility to very old \KOMAScript{} versions.
% \begin{macrocode}
-\newcommand*\descfont{\@gr@gsffamily\bfseries}
+\newcommand*\descfont{\maybesffamily\bfseries}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\scr@fnt@descriptionlabel}
diff --git a/macros/latex/contrib/koma-script/scrkernel-listsof.dtx b/macros/latex/contrib/koma-script/scrkernel-listsof.dtx
index 10a333e1a4..b6d7f2f432 100644
--- a/macros/latex/contrib/koma-script/scrkernel-listsof.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-listsof.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-listsof.dtx 3892 2022-06-17 16:26:06Z kohm $
+%%% From File: $Id: scrkernel-listsof.dtx 3995 2022-11-16 07:20:20Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -26,9 +26,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-17 18:26:06 +0200 (Fr, 17. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:20:20 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3892 $
+ \filerevision$Revision: 3995 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-listsof.dtx}%
@@ -328,6 +328,8 @@
% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} replaced by
% \cs{KOMAoptions}}
% \changes{v3.18}{2015/06/15}{value \opt{\quotechar=indexnumbered} added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The main features of the table of contents can be configured by this
% option.
% \begin{macrocode}
@@ -486,24 +488,24 @@
\or % bibliographynumbered
\KOMAoptions{bibliography=totocnumbered}%
\or % flat
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{flat}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{graduated}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{flat}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{flat}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{graduated}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{flat}%
\@toclefttrue
\or % graduated
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{flat}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{graduated}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{graduated}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{flat}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{graduated}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{graduated}%
\@tocleftfalse
\or % indenttextentries
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indenttextentries}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{leftaligntextentries}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{indenttextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{indenttextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{leftaligntextentries}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{indenttextentries}%
\expandafter\setuptoc\expandafter{\ext@toc}{numberline}%
\or % leftaligntextentries
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{indenttextentries}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{leftaligntextentries}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{leftaligntextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{indenttextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{leftaligntextentries}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{leftaligntextentries}%
\expandafter\unsettoc\expandafter{\ext@toc}{numberline}%
\or % chapterentrywithdots/sectionentrywithdots
%<book|report> \KOMAoptions{chapterentrydots=true}%
@@ -522,11 +524,12 @@
% \changes{v2.8q}{2001/11/14}{added}
% \changes{v2.98c}{2008/03/05}{obsolet}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*option>
+%<*option&!v4>
\KOMA@DeclareDeprecatedOption{tocleft}{toc=flat}
\KOMA@DeclareDeprecatedOption{tocindent}{toc=graduated}
-%</option>
+%</option&!v4>
% \end{macrocode}
% \end{option}^^A tocleft,tocindent
%
@@ -703,6 +706,8 @@
% \cs{KOMAExecuteOptions}}
% \changes{v3.12a}{2014/01/17}{\cs{KOMAExecuteOptions} replaced by
% \cs{KOMAoptions}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The main features of the lists of floats can be configured by this option.
% \begin{macrocode}
%<*option>
@@ -822,14 +827,14 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase \@tempa\relax % notoc
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nolistof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listofnumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{nolistof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{totoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{numbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{nolistof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{listof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{listofnumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{nolistof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{numbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{notoc}%
\renewcommand*{\float@@listhead}{%
%<article> \section*
%<report|book> \chapter*
@@ -843,14 +848,14 @@
\unsettoc{\@currext}{totoc}%
}%
\or% totoc
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nolistof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listofnumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{listof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{totoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{numbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{nolistof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{listof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{listofnumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{listof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{numbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{totoc}%
\renewcommand*{\float@@listhead}{%
%<article> \addsec
%<report|book> \addchap
@@ -864,14 +869,14 @@
\setuptoc{\@currext}{totoc}%
}%
\or% numbered
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{nolistof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listof}%
- \KOMA@kav@remove{.\KOMAClassFileName}{toc}{listofnumbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{toc}{listofnumbered}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{notoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{totoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{numbered}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{numbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{nolistof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{listof}%
+ \KOMA@kav@remove{\KOMAClassFileName}{toc}{listofnumbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{toc}{listofnumbered}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{notoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{totoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{numbered}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{numbered}%
\renewcommand*{\float@@listhead}{%
%<article> \section
%<report|book> \chapter
@@ -885,18 +890,18 @@
\setuptoc{\@currext}{totoc}%
}%
\or% flat
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{flat}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{graduated}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{flat}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{flat}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{graduated}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{flat}%
\@dynlisttrue
\or% graduated
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{flat}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{graduated}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{graduated}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{flat}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{graduated}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{graduated}%
\@dynlistfalse
\or% leveldown
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{standardlevel}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{leveldown}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{standardlevel}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{leveldown}%
\doforeachtocfile[float]{%
\setuptoc{\@currext}{leveldown}%
}%
@@ -904,8 +909,8 @@
\setuptoc{\@currext}{leveldown}%
}%
\or% standardlevel
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leveldown}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{standardlevel}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{leveldown}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{standardlevel}%
\doforeachtocfile[float]{%
\unsettoc{\@currext}{leveldown}%
}%
@@ -913,7 +918,7 @@
\unsettoc{\@currext}{leveldown}%
}%
\or% entryprefix
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{entryprefix}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{entryprefix}%
\@dynlisttrue
\doforeachtocfile[float]{%
\BeforeStartingTOC[\@currext]{%
@@ -934,9 +939,9 @@
}%
}%
\or% indenttextentries
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{indenttextentries}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leftaligntextentries}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{indenttextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{indenttextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{leftaligntextentries}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{indenttextentries}%
\doforeachtocfile[float]{%
\setuptoc{\@currext}{numberline}%
}%
@@ -944,9 +949,9 @@
\setuptoc{\@currext}{numberline}%
}
\or% leftaligntextentries
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{indenttextentries}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{leftaligntextentries}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{leftaligntextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{indenttextentries}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{leftaligntextentries}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{leftaligntextentries}%
\doforeachtocfile[float]{%
\unsettoc{\@currext}{numberline}%
}%
@@ -966,10 +971,10 @@
\fi
\fi
}
-\KOMA@kav@add{.\KOMAClassFileName}{toc}{nolistof}
-\KOMA@kav@add{.\KOMAClassFileName}{listof}{notoc}
-\KOMA@kav@add{.\KOMAClassFileName}{listof}{graduated}
-\KOMA@kav@add{.\KOMAClassFileName}{listof}{leftaligntextentries}
+\KOMA@kav@add{\KOMAClassFileName}{toc}{nolistof}
+\KOMA@kav@add{\KOMAClassFileName}{listof}{notoc}
+\KOMA@kav@add{\KOMAClassFileName}{listof}{graduated}
+\KOMA@kav@add{\KOMAClassFileName}{listof}{leftaligntextentries}
%</option>
% \end{macrocode}
% \end{option}^^A listof
@@ -982,10 +987,11 @@
% \cs{float@listhead}}
% \changes{v2.98c}{2008/03/05}{obsolet}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*option>
+%<*option&!v4>
\KOMA@DeclareDeprecatedOption{liststotoc}{listof=totoc}
-%</option>
+%</option&!v4>
% \end{macrocode}
% \end{option}^^A liststotoc
%
@@ -994,10 +1000,11 @@
% \changes{v2.9p}{2003/07/07}{number also in the running head}
% \changes{v2.98c}{2008/03/05}{obsolet}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*option>
+%<*option&!v4>
\KOMA@DeclareDeprecatedOption{liststotocnumbered}{listof=numbered}
-%</option>
+%</option&!v4>
% \end{macrocode}
% \end{option}^^A liststotocnumbered
%
@@ -1006,11 +1013,12 @@
% \changes{v2.8q}{2001/11/14}{added}
% \changes{v2.98c}{2008/03/05}{obsolet}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*option>
+%<*option&!v4>
\KOMA@DeclareDeprecatedOption{listsleft}{listof=flat}
\KOMA@DeclareDeprecatedOption{listsindent}{listof=graduated}
-%</option>
+%</option&!v4>
% \end{macrocode}
% \end{option}^^A listsleft,listsindent
%
@@ -1020,6 +1028,8 @@
% \changes{v3.12a}{2014/01/17}{missing \cs{FamilyKeyStateProcessed} added}
% \changes{v3.17}{2015/03/12}{internal value storage}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@chaptertolistsfalse,\@chaptertoliststrue,\if@chaptertolists}
% \changes{v2.96a}{2006/12/03}{added}
% \changes{v3.12}{2013/09/24}{don't add lists to lists}
@@ -1033,10 +1043,10 @@
\newif\if@chaptertolists\@chaptertolistsfalse
\KOMA@key{chapteratlists}[entry]{%
\FamilyKeyStateProcessed
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chapterentry}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergap}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapsmall}%
- \KOMA@kav@remove{.\KOMAClassFileName}{listof}{chaptergapline}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{chapterentry}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{chaptergap}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{chaptergapsmall}%
+ \KOMA@kav@remove{\KOMAClassFileName}{listof}{chaptergapline}%
% \end{macrocode}
% \begin{description}
% \item[\opt{=entry}:] add the chapter heading also to the lists of
@@ -1046,8 +1056,8 @@
% \begin{macrocode}
\Ifstr{#1}{entry}{%
\@chaptertoliststrue\renewcommand*{\@chapterlistsgap}{\z@}%
- \KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}{entry}%
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{chapterentry}%
+ \KOMA@kav@replacevalue{\KOMAClassFileName}{chapteratlists}{entry}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{chapterentry}%
}{%
% \end{macrocode}
% \begin{description}
@@ -1055,27 +1065,27 @@
% \end{description}
% \begin{macrocode}
\@chaptertolistsfalse\renewcommand*{\@chapterlistsgap}{#1}%
- \KOMA@kav@replacevalue{.\KOMAClassFileName}{chapteratlists}%
+ \KOMA@kav@replacevalue{\KOMAClassFileName}{chapteratlists}%
{\@chapterlistsgap}%
\def\reserved@a{\z@}%
\ifx\@chapterlistsgap\reserved@a
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergap}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{chaptergap}%
\else
\def\reserved@a{10\p@}%
\ifx\@chapterlistsgap\reserved@a
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{chaptergapsmall}%
\else
\def\reserved@a{\baselineskip}%
\ifx\@chapterlistsgap\reserved@a
- \KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapline}%
+ \KOMA@kav@add{\KOMAClassFileName}{listof}{chaptergapline}%
\fi
\fi
\fi
}%
}
\BeforeTOCHead{\@chaptertolistsfalse}
-\KOMA@kav@add{.\KOMAClassFileName}{chapteratlists}{10\p@}%
-\KOMA@kav@add{.\KOMAClassFileName}{listof}{chaptergapsmall}%
+\KOMA@kav@add{\KOMAClassFileName}{chapteratlists}{10\p@}%
+\KOMA@kav@add{\KOMAClassFileName}{listof}{chaptergapsmall}%
%</option&(book|report)>
% \end{macrocode}
% \end{macro}^^A \@chapterlistgap
diff --git a/macros/latex/contrib/koma-script/scrkernel-miscellaneous.dtx b/macros/latex/contrib/koma-script/scrkernel-miscellaneous.dtx
index 54bde0d193..4cee33e13c 100644
--- a/macros/latex/contrib/koma-script/scrkernel-miscellaneous.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-miscellaneous.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-miscellaneous.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 4021 2023-04-04 11:29:59Z kohm $
%<init>%%% (run: init)
%<option>%%% (run: option)
%<execoption>%%% (run: execoption)
@@ -27,9 +27,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2023-04-04 13:29:59 +0200 (Di, 04. Apr 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 4021 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}%
@@ -153,6 +153,8 @@
% \changes{v3.17}{2015/03/12}{using internal value storage}
% \changes{v3.25}{2017/11/21}{respect option \opt{overfullrule}}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{option}{final}
% \changes{v2.95}{2002/12/05}{obsolete}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
@@ -169,21 +171,21 @@
\KOMA@set@ifkey{draft}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\if@tempswa
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{draft}{@tempswa}%
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{overfullrule}{@tempswa}%
\setlength{\overfullrule}{5pt}%
\else
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{draft}{@tempswa}%
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{overfullrule}{@tempswa}%
@@ -191,9 +193,9 @@
\fi
\fi
}
-%<class>\KOMA@kav@add{.\KOMAClassFileName}{draft}{false}
+%<class>\KOMA@kav@add{\KOMAClassFileName}{draft}{false}
%<*package&extend>
-\KOMA@kav@xadd{.scrextend.\scr@pkgextension}{draft}{%
+\KOMA@kav@xadd{scrextend.\scr@pkgextension}{draft}{%
\ifdim\overfullrule>\z@ true\else false\fi
}
%</package&extend>
@@ -203,6 +205,8 @@
% \end{macrocode}
% \begin{option}{overfullrule}
% \changes{v3.25}{2017/11/21}{added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Because option \opt{draft} can result in unwanted effects I've added a
% new option to explicite only change the overfull rule setting. However for
% \textsf{scrextend} and the \KOMAScript{} classes the result is the same.
@@ -211,21 +215,21 @@
\KOMA@set@ifkey{overfullrule}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\if@tempswa
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{draft}{@tempswa}%
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{overfullrule}{@tempswa}%
\setlength{\overfullrule}{5pt}%
\else
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{draft}{@tempswa}%
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{overfullrule}{@tempswa}%
@@ -233,9 +237,9 @@
\fi
\fi
}
-%<class>\KOMA@kav@add{.\KOMAClassFileName}{overfullrule}{false}
+%<class>\KOMA@kav@add{\KOMAClassFileName}{overfullrule}{false}
%<*package&extend>
-\KOMA@kav@xadd{.scrextend.\scr@pkgextension}{overfullrule}{%
+\KOMA@kav@xadd{scrextend.\scr@pkgextension}{overfullrule}{%
\ifdim\overfullrule>\z@ true\else false\fi
}
%</package&extend>
@@ -291,12 +295,12 @@
\@addtoreset{equation}{chapter}
\renewcommand*{\theequation}{%
%<*book>
- \expandafter\ifnum\scr@v@is@gt{2.97d}%
+%<!v4> \expandafter\ifnum\scr@v@is@gt{2.97d}%
\if@mainmatter\thechapter.\fi
- \else
+%<!v4> \else
%</book>
- \thechapter.%
-%<book> \fi
+%<!v4> \thechapter.%
+%<book&!v4> \fi
\@arabic\c@equation
}
@@ -305,40 +309,6 @@
% \end{command}^^A \theequation
% \end{counter}^^A equation
%
-% \section{Implementation of Special Handling of Sans-Serif Defaults}
-%
-% TeX.SX user \texttt{egreg} has stated in comment
-% \url{https://tex.stackexchange.com/questions/289853}, that he does not use
-% \KOMAScript{} because of the sans-serif defaults for headings. He like the
-% ugly, bold fat Antiqua more. Moreover, he is not satisfied in being able to
-% change the default using \cs{setkomafont}. So the \KOMAScript{} author has
-% defined an option to do the change of all sans-serif defaults at once. As a
-% joke the name of this options not only references \texttt{egreg} but is
-% cumbersome long.
-% \begin{description}
-% \item[ToDo:] Should we move this option to \file{scrkernel-fonts.dtx}?
-% \item[ToDo:] Should we add a more handy and serious option like
-% \opt{nosfdefaults}?
-% \end{description}
-%
-% \begin{option}{egegdoesnotlikesansseriftitles}
-% \changes{v3.20}{2016/01/29}{added}
-% \changes{v3.20a}{2016/05/19}{also for \cls*{scrlttr2}}
-% \begin{macro}{\@gr@gsffamily}
-% \changes{v3.20}{2016/01/29}{added}
-% \changes{v3.20a}{2016/05/19}{also for \cls*{scrlttr2}}
-% Used to switch on or off all the sans-serif defaults.
-% \begin{macrocode}
-%<*!(package&letter)&option>
-\KOMA@ifkey{egregdoesnotlikesansseriftitles}{@egregdoesnotlikesansseriftitles}
-\newcommand*{\@gr@gsffamily}{%
- \if@egregdoesnotlikesansseriftitles\else\sffamily\fi
-}
-%</!(package&letter)&option>
-% \end{macrocode}
-% \end{macro}^^A \@gr@gsffamily
-% \end{option}^^A egregdoesnotlikesansseriftitles
-%
%
% \section{Implementation of the Execution and Processing of Options}
%
@@ -424,6 +394,7 @@
% \begin{fontelement}{dictum}
% \changes{v2.8q}{2001/20/04}{added}
% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}}
+% \changes{v3.39}{2023/04/04}{\cs{@gr@gsfamily} replaced by \cs{maybesffamily}}
% \begin{fontelement}{dictumtext,dictumauthor}
% \changes{v2.8q}{2001/20/04}{added}
% \begin{command}{\dictumauthorformat}
@@ -453,7 +424,7 @@
\newcommand*{\dictumauthorformat}[1]{(#1)}
\newcommand*{\raggeddictumtext}{\raggedright}
\newcommand*{\raggeddictumauthor}{\raggedleft}
-\newkomafont{dictum}{\normalfont\normalcolor\@gr@gsffamily\small}
+\newkomafont{dictum}{\normalfont\normalcolor\maybesffamily\small}
\newkomafont{dictumauthor}{\itshape}
\aliaskomafont{dictumtext}{dictum}
%</!letter&body>
@@ -649,6 +620,7 @@
% \changes{v2.8q}{2001/11/27}{missing brace added}
% \changes{v3.36}{2022/02/22}{moved from \file{scrkernel-floats.dtx} to
% \file{scrkernel-miscellaneaous.dtx}}
+% \changes{v3.39}{2022/12/21}{braces fixed}
% A very often wanted margin note feature is, to print all such notes in the
% left margin ragged-left and all such notes in the right margin
% ragged-right. So this is a simple shortcut for \cs{marginpar} with using
@@ -656,7 +628,7 @@
% \begin{macrocode}
%<*(class|extend)&body>
\newcommand\marginline[1]{%
- \marginpar[\raggedleft{#1}]{\raggedright #1}%
+ \marginpar[{\raggedleft #1}]{\raggedright #1}%
}
%</(class|extend)&body>
% \end{macrocode}
diff --git a/macros/latex/contrib/koma-script/scrkernel-notepaper.dtx b/macros/latex/contrib/koma-script/scrkernel-notepaper.dtx
index e135fb5831..76689b6e55 100644
--- a/macros/latex/contrib/koma-script/scrkernel-notepaper.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-notepaper.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-notepaper.dtx
-% Copyright (c) Markus Kohm, 2006-2022
+% Copyright (c) Markus Kohm, 2006-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-notepaper.dtx 3895 2022-06-20 10:37:02Z kohm $
+%%% From File: $Id: scrkernel-notepaper.dtx 4021 2023-04-04 11:29:59Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-20 12:37:02 +0200 (Mo, 20. Jun 2022) $
+ \filedate$Date: 2023-04-04 13:29:59 +0200 (Di, 04. Apr 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3895 $
+ \filerevision$Revision: 4021 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-notepaper.dtx}
@@ -106,6 +106,8 @@
% \changes{v2.8q}{2002/01/25}{added}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@alignfrom}
% \changes{v2.8q}{2002/01/25}{added}
% \changes{v2.97e}{2007/11/13}{new values added}
@@ -136,14 +138,14 @@
{no}{10000},{false}{10000},{off}{10000}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{fromalign}{#1}%
\ifcase\@alignfrom\or\or\or\@firstheadfalse\or\@firstheadfalse\fi
\fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{fromalign}{left}
@@ -172,7 +174,7 @@
{false}{0},{no}{0},{off}{0},{aftername}{1},%
{below}{2},{afteraddress}{2},{true}{2},{yes}{2},{on}{2}%
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{fromrule}{false}
@@ -297,7 +299,7 @@
{ppimage}{4},{ppImage}{4},%
{topaligned}{5},{alignedtop}{5}%
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{addrfield}{true}
@@ -338,7 +340,7 @@
{priority}{2},{Priority}{2},{PRIORITY}{2},%
{A-PRIORITY}{2},{A-Priority}{2},{a-priority}{2}%
}%
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{priority}{false}
@@ -350,6 +352,8 @@
% \changes{v2.8q}{2002/01/22}{added}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{3015/03/16}{using internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@baddrfalse,\@baddrtrue,\if@baddr}
% \begin{macro}{\backaddr@format}
% \changes{v2.96}{2006/07/31}{added}
@@ -407,25 +411,25 @@
\fi
\if@baddr
\ifx\backaddr@format\underline
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{backaddress}{underlined}%
\else
\ifx\backaddr@format\@firstofone
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{backaddress}{plain}%
\else
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{backaddress}{true}%
\fi
\fi
\else
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{backaddress}{false}%
@@ -445,6 +449,8 @@
% \changes{v2.97c}{2007/03/30}{inverted meaning fixed}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@biglocfalse,\@bigloctrue,\if@bigloc}
% We allow two different automatic settings for the location field right
% beside the addressee's address field:
@@ -467,14 +473,14 @@
\ifcase\@tempa
\endgroup
\@bigloctrue
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{locfield}{wide}%
\else
\endgroup
\@biglocfalse
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{locfield}{narrow}%
@@ -484,17 +490,20 @@
\FamilyKeyStateUnknownValue
\fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{locfield}{narrow}
% \end{macrocode}
% \begin{option}{wlocfield,slocfield}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{wlocfield}{locfield=wide}
\KOMA@DeclareDeprecatedOption{slocfield}{locfield=narrow}
-%</option>
+%</!v4>
+%</option>
% \end{macrocode}
% \end{option}^^A wlocfield,slocfield
% \end{macro}^^A \if@bigloc
@@ -511,6 +520,8 @@
% instead of \cs{KOMA@unkown@keyval}}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/16}{using internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@foldfalse,\@foldtrue,\if@fold}
% \begin{macro}{\@usefolds}
% \changes{v2.97e}{2007/11/08}{added}
@@ -627,21 +638,21 @@
\fi
\endgroup
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{foldmarks}{\@usefolds}%
- \KOMA@kav@xadd{.%
+ \KOMA@kav@xadd{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{foldmarks}{\if@fold true\else false\fi}%
\fi
}
-\KOMA@kav@xadd{.%
+\KOMA@kav@xadd{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{foldmarks}{\@usefolds}%
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{foldmarks}{true}%
@@ -676,6 +687,8 @@
% \changes{v3.09}{2011/03/07}{values \opt{\quotechar=dateleft},
% \opt{\quotechar=dateright}, \opt{\quotechar=nodate} added}
% \changes{v3.27}{2019/05/03}{new value \opt{\quotechar=false} added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@refwidefalse,\@refwidetrue,\if@refwide}
% \changes{v2.8n}{2001/09/08}{added}
% \begin{macro}{\@datepos}
@@ -722,17 +735,17 @@
\@refwidetrue
%<*package>
\@reflinetrue
- \KOMA@kav@remove{.scrletter.\scr@pkgextension}{refline}{false}%
+ \KOMA@kav@remove{scrletter.\scr@pkgextension}{refline}{false}%
%</package>
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{wide}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{narrow}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{wide}%
@@ -741,74 +754,74 @@
\@refwidefalse
%<*package>
\@reflinetrue
- \KOMA@kav@remove{.scrletter.\scr@pkgextension}{refline}{false}%
+ \KOMA@kav@remove{scrletter.\scr@pkgextension}{refline}{false}%
%</package>
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{wide}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{narrow}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{narrow}%
\or% dateleft
\endgroup
\def\@datepos{2}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateleft}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateright}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{nodate}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateleft}%
\or% dateright
\endgroup
\def\@datepos{1}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateleft}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateright}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{nodate}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateright}%
\or% nodate
\endgroup
\def\@datepos{0}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateleft}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateright}%
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{nodate}%
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{nodate}%
@@ -816,9 +829,9 @@
\or% false
\endgroup
\@reflinefalse
- \KOMA@kav@remove{.scrletter.\scr@pkgextension}{refline}{wide}%
- \KOMA@kav@remove{.scrletter.\scr@pkgextension}{reline}{narrow}%
- \KOMA@kav@add{.scrletter.\scr@pkgextension}{refline}{false}%
+ \KOMA@kav@remove{scrletter.\scr@pkgextension}{refline}{wide}%
+ \KOMA@kav@remove{scrletter.\scr@pkgextension}{reline}{narrow}%
+ \KOMA@kav@add{scrletter.\scr@pkgextension}{refline}{false}%
%</package>
\fi
\else
@@ -826,11 +839,11 @@
\FamilyKeyStateUnknownValue
\fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{dateright}%
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{refline}{narrow}%
@@ -920,34 +933,34 @@
\fi
\endgroup
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{\if@subj titled\else untitled\fi}%
- \KOMA@kav@xadd{.%
+ \KOMA@kav@xadd{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{\if@subjafter after\else before\fi opening}%
\ifx\subject@format\underline
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{underlined}%
\fi
\ifx\raggedsubject\raggedright
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{left}%
\else
\ifx\raggedsubject\raggedleft
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{right}%
\else
\ifx\raggedsubject\centering
- \KOMA@kav@add{.%
+ \KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{centered}%
@@ -956,11 +969,11 @@
\fi
\fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{untitled}%
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{subject}{beforeopening}%
@@ -1014,6 +1027,8 @@
% \begin{option}{pagenumber}
% \changes{v2.8q}{2002/01/31}{added}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@pageat}
% \changes{v2.8q}{2002/01/31}{added}
% This is irrelevant for the notepaper but selects the position of the page
@@ -1080,7 +1095,7 @@
\def\@tempa{\endgroup\FamilyKeyStateUnknownValue}%
\fi
\@tempa
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{pagenumber}{%
@@ -1101,7 +1116,7 @@
\fi
}%
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{pagenumber}{botmiddle}
@@ -1150,11 +1165,13 @@
% \begin{macro}{\scr@firsthead@postsetvar}
% \changes{v3.08}{2010/10/28}{added}
% \changes{v3.17}{2015/03/16}{internal setting of {fromalign\quotechar=false}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of
+% \cs{KOMAExecuteOptions} removed}
% After setting the variable \opt{fromalign} has to be set to manual
% alignment. But this must not be done for the initialization.
% \begin{macrocode}
\newcommand*{\scr@firsthead@postsetvar}{%
- \KOMAExecuteOptions[.%
+ \KOMAExecuteOptions[%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
]{fromalign=no}%
@@ -1354,10 +1371,12 @@
%
% \begin{command}{\firsthead}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macro}{\@firsthead}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*class>
+%<*class&!v4>
\newcommand*{\@firsthead}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\@firsthead.\MessageBreak
@@ -1374,7 +1393,7 @@
}
\setkomavar{firsthead}%
}
-%</class>
+%</class&!v4>
%</body>
% \end{macrocode}
% \end{macro}
@@ -1418,11 +1437,12 @@
%
% \begin{fontelement}{backaddress}
% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
-% \changes{v3.21}{2016/05/19}{provides option
+% \changes{v3.21}{2016/05/19}{support of option
% \opt{egregdoesnotlikesansseriftitles}}
+% \changes{v3.39}{2023/04/04}{using \cs{maybesffamily}}
% The font of the return address.
% \begin{macrocode}
-\newkomafont{backaddress}{\@gr@gsffamily}
+\newkomafont{backaddress}{\maybesffamily}
% \end{macrocode}
% \end{fontelement}
%
@@ -1437,8 +1457,7 @@
% \begin{fontelement}{priority}
% \changes{v3.03}{2009/03/04}{added}
% The font of the priority note of priority A or B. Here we don't use any lead
-% and sans-serif is a must, so \opt{egregdoesnotlikesansseriftitles} is ignored.
-% \texttt{egregdoesnotlikesansseriftitles} ignorieren.
+% and sans-serif is a must, so \opt{sfdefaults} is ignored.
% \begin{macrocode}
\newkomafont{priority}{\fontsize{10pt}{10pt}\sffamily\bfseries}
% \end{macrocode}
@@ -1459,7 +1478,7 @@
% \begin{fontelement}{PPlogo}
% \changes{v3.03}{2009/03/04}{added}
% The font of the ``\texttt{P.P.}'' logo, with \opt{addrfield=PP}. Once again
-% sans-serif is a must, so \opt{egregdoesnotlikesansseriftitles} is ignored.
+% sans-serif is a must, so option \opt{sfdefaults} is ignored.
% \begin{macrocode}
\newkomafont{PPlogo}{\sffamily\bfseries}
% \end{macrocode}
@@ -1468,7 +1487,7 @@
% \begin{fontelement}{PPdata}
% \changes{v3.03}{2009/03/04}{added}
% The font to be used inside the PP head. Once again sans-serif is a must, so
-% \opt{egregdoesnotlikesansseriftitles} is ignored.
+% option \opt{sfdefaults} is ignored.
% \begin{macrocode}
\newkomafont{PPdata}{\sffamily}
% \end{macrocode}
@@ -1503,24 +1522,26 @@
% \begin{fontelement}{refname}
% \changes{v2.97c}{2007/05/14}{added}
% \changes{v3.21}{2016/05/19}{support of \opt{egregdoesnotlikesansseriftitles}}
+% \changes{v3.39}{2023/04/04}{usage of \cs{maybesffamily}}
% The font for the field names of the reference line.
% \begin{macrocode}
-\newkomafont{refname}{\@gr@gsffamily\scriptsize}
+\newkomafont{refname}{\maybesffamily\scriptsize}
% \end{macrocode}
% \end{fontelement}
%
% \begin{fontelement}{refvalue}
% \changes{v2.97c}{2007/05/14}{added}
% \changes{v2.97d}{2007/10/09}{initial value changed}
+% \changes{v3.39}{2022/10/25}{using \cs{scr@v@is@eq}}
% The font of the field values of the reference line.
-% Support for \opt{egregdoesnotlikesansseriftitles} is not needed on
+% Support for option \opt{sfdefaults} is not needed on
% compatibility mode, because the option did not exist in version 2.97.
% \begin{macrocode}
-%<*class>
-\ifnum\scr@compatibility=\@nameuse{scr@v@2.97}\relax
+%<*class&!v4>
+\expandafter\ifnum\scr@v@is@eq{2.97}%
\newkomafont{refvalue}{\sffamily\scriptsize}
\else
-%</class>
+%</class&!v4>
\newkomafont{refvalue}{}
%<class>\fi
% \end{macrocode}
@@ -1537,10 +1558,11 @@
%
% \begin{fontelement}{lettertitle}
% \changes{v3.17}{2015/02/21}{replacement of \fnt{letter}}
-% \changes{v3.21}{2016/05/19}{support for \opt{egregdoesnotlikesansseriftitles}}
+% \changes{v3.21}{2016/05/19}{support of \opt{egregdoesnotlikesansseriftitles}}
+% \changes{v3.39}{2023/04/04}{usage of \cs{maybesffamily}}
% The font of the title of the letter.
% \begin{macrocode}
-\newkomafont{lettertitle}{\normalcolor\@gr@gsffamily\bfseries}
+\newkomafont{lettertitle}{\normalcolor\maybesffamily\bfseries}
% \end{macrocode}
% \begin{fontelement}{title}
% \changes{v2.95}{2006/03/23}{using \cs{newkomafont}}
@@ -1897,10 +1919,12 @@
% \end{macrocode}
% \begin{command}{\firstfoot}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macro}{\@firstfoot}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*class>
+%<*class&!v4>
\newcommand*{\@firstfoot}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\@firstfoot.\MessageBreak
@@ -1917,7 +1941,7 @@
}
\setkomavar{firstfoot}%
}
-%</class>
+%</class&!v4>
%</body>
% \end{macrocode}
% \end{macro}^^A \@firstfoot
@@ -4028,10 +4052,12 @@
% \end{variable}
% \begin{command}{\nexthead}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macro}{\@nexthead}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*class>
+%<*class&!v4>
\newcommand{\nexthead}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\nexthead.\MessageBreak
@@ -4048,7 +4074,7 @@
}%
\usekomavar{nexthead}%
}
-%</class>
+%</class&!v4>
%</body>
% \end{macrocode}
% \end{macro}^^A \@nexthead
@@ -4076,10 +4102,12 @@
% \end{variable}
% \begin{command}{\nextfoot}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macro}{\@nextfoot}
% \changes{v3.08}{2010/10/28}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*class>
+%<*class&!v4>
\newcommand{\nextfoot}{%
\ClassWarning{scrlttr2}{%
Deprecated usage of \string\nextfoot.\MessageBreak
@@ -4096,7 +4124,7 @@
}%
\usekomavar{nextfoot}%
}
-%</class>
+%</class&!v4>
%</body>
% \end{macrocode}
% \end{macro}^^A \@nextfoot
@@ -4727,6 +4755,8 @@
% \changes{v3.27}{2019/03/21}{new values \opt{\quotechar=fontawesome} and
% \opt{\quotechar=marvosym} added}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@scrsymbolsfalse,\@scrsymbolstrue,\if@scrsymbols}
% For some of the variable the print name can be a symbol instead of a name.
% \begin{macrocode}
@@ -4751,7 +4781,7 @@
\fi
\fi
\ifx \FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{symbolicnames}{#1}%
@@ -4821,7 +4851,7 @@
\fi
\fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<class> \KOMAClassFileName
%<package> scrletter.\scr@pkgextension
}{symbolicnames}{false}%
diff --git a/macros/latex/contrib/koma-script/scrkernel-pagestyles.dtx b/macros/latex/contrib/koma-script/scrkernel-pagestyles.dtx
index 33a5f6a6cf..981f93fafb 100644
--- a/macros/latex/contrib/koma-script/scrkernel-pagestyles.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-pagestyles.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-pagestyles.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-pagestyles.dtx 3997 2022-11-16 07:24:11Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:24:11 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3997 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-pagestyles.dtx}%
@@ -91,20 +91,23 @@
% \changes{v3.18a}{2015/07/08}{arguments of \cs{PassOptionsToPackage} fixed
% again}
% \changes{v3.20}{2015/12/12}{don't pass option to \pkg*{typearea}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@hslfalse,\@hsltrue,\if@hsl}
% Optional separation line between page head and text area---in other words:
% below the page head.
% \begin{macrocode}
%<*option>
\KOMA@ifkey{headsepline}{@hsl}%
-\KOMA@kav@add{.\KOMAClassFileName}{headsepline}{false}
+\KOMA@kav@add{\KOMAClassFileName}{headsepline}{false}
% \end{macrocode}
% \begin{option}{headnosepline}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
% \cs{PackageInfoNoLine}}
-% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-\KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false}
+%<!v4>\KOMA@DeclareDeprecatedOption{headnosepline}{headsepline=false}
% \end{macrocode}
% \end{option}^^A headnosepline
% \end{macro}^^A \if@hsl
@@ -129,19 +132,22 @@
% \changes{v3.18a}{2015/07/08}{arguments of \cs{PassOptionsToPackage} fixed
% again}
% \changes{v3.20}{2015/12/12}{don't pass option to \pkg*{typearea}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@fslfalse,\@fsltrue,\if@fsl}
% Optional separation line between text area and page footer---in other words:
% above the page footer.
% \begin{macrocode}
\KOMA@ifkey{footsepline}{@fsl}%
-\KOMA@kav@add{.\KOMAClassFileName}{footsepline}{false}
+\KOMA@kav@add{\KOMAClassFileName}{footsepline}{false}
% \end{macrocode}
% \begin{option}{footnosepline}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
% \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-\KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false}
+%<!v4>\KOMA@DeclareDeprecatedOption{footnosepline}{footsepline=false}
%</option>
% \end{macrocode}
% \end{option}^^A footnosepline
@@ -580,6 +586,9 @@
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/10}{using value storage}
% \changes{v3.37}{2022/05/10}{guard for \pkg*{scrextend} fixed}
+% \changes{v3.39}{2022/10/25}{using \cs{scr@v@is@gt}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{command}{\cleardoublestandardpage}
% \changes{v2.8a}{2001/06/18}{added}
% \changes{v2.96a}{2007/01/02}{default value added}
@@ -640,7 +649,7 @@
\def\cleardoubleoddpage{\cleardoubleoddstandardpage}%
\def\cleardoubleevenpage{\cleardoubleevenstandardpage}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<package&extend> scrextend.\scr@pkgextension
%<class> \KOMAClassFileName
}{cleardoublepage}{current}%
@@ -652,7 +661,7 @@
\def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}%
\def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}%
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.%
+ \KOMA@kav@xreplacevalue{%
%<package&extend> scrextend.\scr@pkgextension
%<class> \KOMAClassFileName
}{cleardoublepage}{#1}%
@@ -675,7 +684,7 @@
\def\cleardoubleoddpage{\cleardoubleoddpageusingstyle{#1}}%
\def\cleardoubleevenpage{\cleardoubleevenpageusingstyle{#1}}%
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.\KOMAClassFileName}%
+ \KOMA@kav@xreplacevalue{\KOMAClassFileName}%
{cleardoublepage}{#1}%
}%
}{}%
@@ -704,17 +713,19 @@
\newcommand*{\cleardoubleevenplainpage}{\cleardoubleevenpageusingstyle{plain}}
\newcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}
\renewcommand*{\cleardoublepage}{%
- \expandafter\ifnum \@nameuse{scr@v@2.98c}<\scr@compatibility\relax
+%<!v4> \expandafter\ifnum \scr@v@is@gt{2.98c}%
\cleardoubleemptypage
- \else
- \cleardoublestandardpage
- \fi
+%<!v4> \else
+%<!v4> \cleardoublestandardpage
+%<!v4> \fi
}
-\KOMA@kav@add{.%
+\KOMA@kav@add{%
%<package&extend> scrextend.\scr@pkgextension
%<class> \KOMAClassFileName
}{cleardoublepage}{%
- \expandafter\ifnum \scr@v@is@gt{2.98c}empty\else current\fi
+%<!v4> \expandafter\ifnum \scr@v@is@gt{2.98c}
+ empty%
+%<!v4> \else current\fi
}
% \end{macrocode}
% We expand the value at the end of the class or package.
@@ -726,11 +737,11 @@
%<package&extend> scrextend.\scr@pkgextension
%<class> \KOMAClassFileName
}{cleardoublepage}%
- \KOMA@kav@removekey{.%
+ \KOMA@kav@removekey{%
%<package&extend> scrextend.\scr@pkgextension
%<class> \KOMAClassFileName
}{cleardoublepage}%
- \KOMA@kav@xadd{.%
+ \KOMA@kav@xadd{%
%<package&extend> scrextend.\scr@pkgextension
%<class> \KOMAClassFileName
}{cleardoublepage}{\@tempa}%
@@ -759,12 +770,13 @@
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
% \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-%<*class>
+%<*class&!v4>
\KOMA@DeclareDeprecatedOption{cleardoubleempty}{cleardoublepage=empty}
\KOMA@DeclareDeprecatedOption{cleardoubleplain}{cleardoublepage=plain}
\KOMA@DeclareDeprecatedOption{cleardoublestandard}{cleardoublepage=current}
-%</class>
+%</class&!v4>
%</(class|extend)&option>
% \end{macrocode}
% \end{option}^^A cleardoublestandard,cleardoubleplain,cleardoubleempty
diff --git a/macros/latex/contrib/koma-script/scrkernel-paragraphs.dtx b/macros/latex/contrib/koma-script/scrkernel-paragraphs.dtx
index 6e3a43f3a1..f2756ade06 100644
--- a/macros/latex/contrib/koma-script/scrkernel-paragraphs.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-paragraphs.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-paragraphs.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 3998 2022-11-16 07:25:23Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:25:23 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3998 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-paragraphs.dtx}%
@@ -89,6 +89,8 @@
% \changes{v3.17}{2015/03/10}{support for internal option value storage}
% \changes{v3.19}{2015/07/29}{\cs{par@update} should not reset itself to
% \cs{default@par@update} in the document preamble}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\f@parindent}
% \changes{v2.95}{2004/11/05}{added}
% \begin{macro}{\f@parskip,\f@parfillskip}
@@ -161,16 +163,16 @@
\if@atdocument\let\par@update\default@par@update\fi
\par@updaterelative
}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{false}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{never}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{full}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{full-}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{full+}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{full*}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{half}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{half-}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{half+}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{half*}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{false}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{never}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full-}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full+}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{full*}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half-}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half+}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{half*}%
}
\newcommand*{\f@parindent}{\the\parindent}
\newcommand*{\f@parskip}{\the\parskip}
@@ -276,6 +278,8 @@
% \changes{v3.17}{2015/03/10}{using value storage}
% \changes{v3.25}{2017/09/27}{typo fix in \cs{FamilyKeyStateUnknownValue}}
% \changes{v3.26b}{2019/02/01}{\cs{baselineskip} replaced by 1\cs{baselineskip}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{option}{parindent,parskip-,parskip+,parskip*,
% halfparskip,halfparskip-,halfparskip+,halfparskip*}
% \changes{v2.8i}{2001/07/22}{added}
@@ -283,6 +287,7 @@
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
% \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% Originally we have had nine options for all the paragraph indent and skip
% settings. Using \pkg*{scrbase} we have only one option with additional
% settings for relative and absolute values and paragraph indent without glue
@@ -310,66 +315,66 @@
\ifcase\number\@tempa% 0
\endgroup
\setparsizes{1em}{\z@}{\z@ \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{never}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{never}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 1
\endgroup
\setparsizes{1em}{\z@ \@plus \p@}{\z@ \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{false}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{false}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 2
\endgroup
\setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{%
\z@ \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{full-}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{full-}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 3
\endgroup
\setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{%
\z@ \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{half-}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{half-}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 4
\endgroup
\setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{%
1em \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{full}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{full}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 5
\endgroup
\setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{%
1em \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{half}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{half}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 6
\endgroup
\setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{%
.3333\linewidth\@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{full+}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{full+}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 7
\endgroup
\setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{%
.3333\linewidth \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{half+}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{half+}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 8
\endgroup
\setparsizes{\z@}{1\baselineskip \@plus .1\baselineskip}{%
.25\linewidth \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{full*}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{full*}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 9
\endgroup
\setparsizes{\z@}{.5\baselineskip \@plus .5\baselineskip}{%
.25\linewidth \@plus 1fil}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{half*}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{half*}%
\if@atdocument\AfterKOMAoptions{\selectfont}\fi
\or% 10
\endgroup
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{absolute}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{relative}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{relative}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{absolute}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{relative}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{relative}%
\ifx\par@updaterelative\undefined
\expandafter\AtEndOfClass
\else
@@ -383,9 +388,9 @@
}%
\or%11
\endgroup
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{absolute}%
- \KOMA@kav@remove{.\KOMAClassFileName}{parskip}{relative}%
- \KOMA@kav@add{.\KOMAClassFileName}{parskip}{absolute}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{absolute}%
+ \KOMA@kav@remove{\KOMAClassFileName}{parskip}{relative}%
+ \KOMA@kav@add{\KOMAClassFileName}{parskip}{absolute}%
\ifx\par@updaterelative\undefined
\expandafter\AtEndOfClass
\else
@@ -405,6 +410,7 @@
\FamilyKeyStateUnknownValue
\fi
}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{parskip-}{parskip=full-}
\KOMA@DeclareDeprecatedOption{parskip+}{parskip=full+}
\KOMA@DeclareDeprecatedOption{parskip*}{parskip=full*}
@@ -413,8 +419,9 @@
\KOMA@DeclareDeprecatedOption{halfparskip+}{parskip=half+}
\KOMA@DeclareDeprecatedOption{halfparskip*}{parskip=half*}
\KOMA@DeclareDeprecatedOption{parindent}{parskip=false}
-\KOMA@kav@add{.\KOMAClassFileName}{parskip}{false}
-\KOMA@kav@add{.\KOMAClassFileName}{parskip}{absolute}
+%</!v4>
+\KOMA@kav@add{\KOMAClassFileName}{parskip}{false}
+\KOMA@kav@add{\KOMAClassFileName}{parskip}{absolute}
%</option>
% \end{macrocode}
% \end{option}^^A parindent … halfparskip*
@@ -659,8 +666,12 @@
%</class>
%<*class|clo>
%<*body|10pt|11pt|12pt>
-%<10pt|11pt|12pt>\@ifundefined{@list@extra}{}{%
-%<10pt|11pt|12pt> \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi
+%<*10pt|11pt|12pt>
+\@ifundefined{@list@extra}{}{%
+ \scr@ifundefinedorrelax{scr@v@is@ge}{\par@updaterelative}{%
+ \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi
+ }%
+%</10pt|11pt|12pt>
\l@addto@macro{\@listi}{\@list@extra}%
\let\@listI=\@listi
\l@addto@macro{\@listii}{\@list@extra}%
diff --git a/macros/latex/contrib/koma-script/scrkernel-pseudolengths.dtx b/macros/latex/contrib/koma-script/scrkernel-pseudolengths.dtx
index cf0a555b47..d18e064d20 100644
--- a/macros/latex/contrib/koma-script/scrkernel-pseudolengths.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-pseudolengths.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-pseudolengths.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-pseudolengths.dtx 3981 2022-11-09 10:07:16Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-09 11:07:16 +0100 (Mi, 09. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3981 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-pseudolengths.dtx}%
@@ -139,9 +139,9 @@
\@ifundefined{ltr@len@#1}{%
\expandafter\let\csname ltr@len@#1\endcsname=\z@%
}{%
-%<class> \ClassError{scrlttr2%
-%<package> \PackageError{scrletter%
- }{%
+%<class> \ClassError{scrlttr2}%
+%<package> \PackageError{scrletter}%
+ {%
pseudo-length \expandafter\string\csname ltr@len@#1\endcsname
already defined%
}{%
diff --git a/macros/latex/contrib/koma-script/scrkernel-sections.dtx b/macros/latex/contrib/koma-script/scrkernel-sections.dtx
index 0a9a21dd26..3b803cbb56 100644
--- a/macros/latex/contrib/koma-script/scrkernel-sections.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-sections.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-sections.dtx
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-sections.dtx 3954 2022-10-04 09:20:19Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 4022 2023-04-04 11:38:26Z kohm $
% The runs of run-time file generation:
%<preidentify>%%% (run: preidentify)
% - everything that is needed before selfidentification of resulting files
@@ -40,9 +40,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-10-04 11:20:19 +0200 (Di, 04. Okt 2022) $
+ \filedate$Date: 2023-04-04 13:38:26 +0200 (Di, 04. Apr 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3954 $
+ \filerevision$Revision: 4022 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-sections.dtx}%
@@ -112,6 +112,8 @@
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/09}{using internal value storage}
% \changes{v3.18}{2015/05/22}{initialization using \opt{headings}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@openrighttrue,\@openrightfalse,\if@openright}
% The option supports three values:
% \begin{center}
@@ -141,20 +143,20 @@
{left}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{open}{#1}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{openany}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{openright}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{openleft}%
+ \KOMA@kav@xreplacevalue{\KOMAClassFileName}{open}{#1}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{openany}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{openright}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{openleft}%
\ifcase \@tempa\relax
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{openany}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{openany}%
\@openrightfalse
\renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}%
\or
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{openright}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{openright}%
\@openrighttrue
\renewcommand*{\cleardoublestandardpage}{\cleardoubleoddstandardpage}%
\or
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{openleft}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{openleft}%
\@openrighttrue
\renewcommand*{\cleardoublestandardpage}{\cleardoubleevenstandardpage}%
\fi
@@ -193,6 +195,8 @@
% \changes{v2.98c}{2008/03/07}{added}
% \changes{v3.12}{2013/03/05}{using \cs{FamilyKeyState}}
% \changes{v3.17}{2015/03/09}{using internal value storage}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\scr@dotchangeatdocument}
% \changes{v2.98c}{2008/03/07}{added}
% The \opt{numbers} option provides several settings for the dot at the end of
@@ -233,7 +237,7 @@
{noenddot}{2},{nodotatend}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{numbers}{#1}%
+ \KOMA@kav@xreplacevalue{\KOMAClassFileName}{numbers}{#1}%
\ifcase \@tempa\relax
\if@atdocument\scr@dotchangeatdocument{#1}\else
\let\scr@altsecnumhook\@empty
@@ -262,12 +266,13 @@
% to \cs{@altsecnumformattrue}}
% \changes{v2.98c}{2008/03/07}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% Two deprecated options.
% \begin{macrocode}
-%<*option>
+%<*option&!v4>
\KOMA@DeclareDeprecatedOption{pointednumbers}{numbers=enddot}
\KOMA@DeclareDeprecatedOption{pointlessnumbers}{numbers=noenddot}
-%</option>
+%</option&!v4>
% \end{macrocode}
% \end{option}^^A pointednumbers,pointlessnumbers
%
@@ -1021,12 +1026,12 @@
% Even for not numbered sections, the reset list für the section counter has
% to be executed.
% \begin{macrocode}
- \expandafter\ifnum\scr@v@is@lt{3.31}\relax\else
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.31}\relax
\begingroup
\let\@elt\@stpelt
\csname cl@#1\endcsname
\endgroup
- \fi
+%<!v4> \fi
% \end{macrocode}
% \changes{v3.31}{2020/06/02}{\cs{hy@insteadofrefstepcounter} added}
% At this point we have to make sure, that the \pkg{hyperref} code for not
@@ -1310,12 +1315,12 @@
% Even for not numbered sections, the reset list für the corresponding section
% counter has to be executed.
% \begin{macrocode}
- \expandafter\ifnum\scr@v@is@lt{3.31}\relax\else
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.31}\relax
\begingroup
\let\@elt\@stpelt
\csname cl@\scr@s@ct@@nn@m@\endcsname
\endgroup
- \fi
+%<!v4> \fi
}%
% \end{macrocode}
% \changes{v3.26}{2018/09/18}{support for \cs{scr@sect@runin}}
@@ -1833,9 +1838,9 @@
{\csname scr@#1@afterskip\endcsname}%
{%
\ifdim\glueexpr\csname scr@#1@afterskip\endcsname >\z@
- \expandafter\ifnum\scr@v@is@gt{2.96}\relax
+%<!v4> \expandafter\ifnum\scr@v@is@gt{2.96}\relax
\setlength{\parfillskip}{\z@ plus 1fil}%
- \fi
+%<!v4> \fi
\fi
\raggedsection\normalfont\sectfont\nobreak
\usekomafont{#1}%
@@ -3244,6 +3249,8 @@
%
% \begin{option}{bookmarkpackage}
% \changes{v3.26}{2018/06/27}{added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Package \pkg{hyperref} has problems with bookmark level gaps. So if
% either the users omits a heading level or defines a heading with a level
% that distinguish more than one from the previous or following level, there
@@ -3257,7 +3264,7 @@
%<*option>
\KOMA@ifkey{bookmarkpackage}{@scr@autoloadbookmarkpackage}
\@scr@autoloadbookmarkpackagetrue
-\KOMA@kav@add{.\KOMAClassFileName}{bookmarkpackage}{true}
+\KOMA@kav@add{\KOMAClassFileName}{bookmarkpackage}{true}
\AfterAtEndOfPackage{hyperref}{%
\AtBeginDocument{%
\@ifpackageloaded{bookmark}{}{%
@@ -3590,11 +3597,6 @@
% version of \cs{@dottedtocline}. However this has been removed in
% \KOMAScript~v3.36.
%
-% \begin{description}
-% \item[ToDo:] This should be moved to \file{scrkernel-listsof.dtx} or should
-% be removed.
-% \end{description}
-%
% \begin{macro}{\bprot@dottedtocline}
% \changes{v2.96a}{2006/11/30}{added}
% \changes{v3.27}{2019/02/25}{deprecated}
@@ -4006,12 +4008,12 @@
% For not numbered headings we still have to process the reset list of the
% counter and write a process information to the \file{log} and the terminal.
% \begin{macrocode}
- \expandafter\ifnum\scr@v@is@lt{3.18}\relax\else
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.18}\relax
\begingroup
\let\@elt\@stpelt
\csname cl@#1\endcsname
\endgroup
- \fi
+%<!v4> \fi
\typeout{#1 without number}%
% \end{macrocode}
% \changes{v3.08}{2010/11/01}{using \cs{addparttocentry}}
@@ -4517,6 +4519,8 @@
% \changes{v2.8}{2001/06/15}{added}
% \changes{v2.95c}{2006/08/21}{changed to \pkg{keyval} option}
% \changes{v3.18}{2015/05/22}{option correlates with style not level}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@chapterprefixtrue,\@chapterprefixfalse,\if@chapterprefix}
% Initially \KOMAScript{} does not use the enormous chapter headings with
% prefix line ``Chapter \meta{number}'' but a more subtle one. However, either
@@ -4530,27 +4534,28 @@
\KOMA@key{chapterprefix}[true]{%
\KOMA@set@ifkey{chapterprefix}{@chapterprefix}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@replacebool{.\KOMAClassFileName}%
+ \KOMA@kav@replacebool{\KOMAClassFileName}%
{chapterprefix}{@chapterprefix}%
- \KOMA@kav@remove{.\KOMAClassFileName}%
+ \KOMA@kav@remove{\KOMAClassFileName}%
{headings}{twolinechapter}%
- \KOMA@kav@remove{.\KOMAClassFileName}%
+ \KOMA@kav@remove{\KOMAClassFileName}%
{headings}{onelinechapter}%
- \KOMA@kav@xadd{.\KOMAClassFileName}%
+ \KOMA@kav@xadd{\KOMAClassFileName}%
{headings}{%
\if@chapterprefix twolinechapter\else onelinechapter\fi
}%
\fi
}
-\KOMA@kav@add{.\KOMAClassFileName}{headings}{onelinechapter}%
+\KOMA@kav@add{\KOMAClassFileName}{headings}{onelinechapter}%
% \end{macrocode}
% \begin{option}{nochapterprefix}
% \changes{v2.8}{2001/06/15}{added}
% \changes{v2.95c}{2006/08/21}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% Deprecated option for compatibility with \KOMAScript~2.9u only.
% \begin{macrocode}
-\KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false}
+%<!v4>\KOMA@DeclareDeprecatedOption{nochapterprefix}{chapterprefix=false}
%</option>
% \end{macrocode}
% \end{option}^^A nochapterprefix
@@ -4566,6 +4571,8 @@
% \changes{v3.34}{2021/04/30}{usage of \LaTeX{} hook, if available}
% \changes{v3.34}{2021/04/30}{new value \opt{\quotechar=default} with \LaTeX{}
% hooks}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% If the appendix chapters should be with or without prefix line independent
% from the chapters of the main part, option \opt{appendixprefix} can be
% used. This does not set up a new boolean but just activates or deactivates
@@ -4577,9 +4584,9 @@
\IfLTXAtLeastTF{2020/10/01}{%
\KOMA@key{appendixprefix}[true]{%
\Ifstr{#1}{default}{%
- \KOMA@kav@removekey{.\KOMAClassFileName}{appendixprefix}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \KOMA@kav@removekey{\KOMAClassFileName}{appendixprefix}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{twolineappendix}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{onelineappendix}%
\IfHookEmptyTF{\KOMAClassName/appendix}{}{%
\RemoveFromHook{\KOMAClassName/appendix}[appendixprefix]%
}%
@@ -4587,18 +4594,18 @@
}{%
\KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{appendixprefix}{#1}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \KOMA@kav@xreplacevalue{\KOMAClassFileName}{appendixprefix}{#1}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{twolineappendix}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{onelineappendix}%
\IfHookEmptyTF{\KOMAClassName/appendix}{}{%
\RemoveFromHook{\KOMAClassName/appendix}[appendixprefix]%
}%
\if@tempswa
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{twolineappendix}%
\AddToHook{\KOMAClassName/appendix}[appendixprefix]%
{\@chapterprefixtrue}%
\else
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{onelineappendix}%
\AddToHook{\KOMAClassName/appendix}[appendixprefix]%
{\@chapterprefixfalse}%
\fi
@@ -4609,18 +4616,18 @@
\KOMA@key{appendixprefix}[true]{%
\KOMA@set@ifkey{appendixprefix}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.\KOMAClassFileName}{appendixprefix}{#1}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{twolineappendix}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \KOMA@kav@xreplacevalue{\KOMAClassFileName}{appendixprefix}{#1}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{twolineappendix}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{onelineappendix}%
\if@tempswa
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{twolineappendix}%
\@ifundefined{appendixmore}{%
\def\appendixmore{\@chapterprefixtrue}%
}{%
\l@addto@macro\appendixmore{\@chapterprefixtrue}%
}%
\else
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{onelineappendix}%
\@ifundefined{appendixmore}{%
\def\appendixmore{\@chapterprefixfalse}%
}{%
@@ -4635,8 +4642,9 @@
% \changes{v2.8}{2001/06/15}{added}
% \changes{v2.95c}{2006/08/21}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
-\KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false}
+%<!v4>\KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false}
%</option>
% \end{macrocode}
% \end{option}^^A noappendixprefix
@@ -4857,12 +4865,12 @@
% For not numbered headings we still have to process the reset list of the
% counter and write a process information to the \file{log} and the terminal.
% \begin{macrocode}
- \expandafter\ifnum\scr@v@is@lt{3.15}\relax\else
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.15}\relax
\begingroup
\let\@elt\@stpelt
\csname cl@#1\endcsname
\endgroup
- \fi
+%<!v4> \fi
\typeout{#1 without number}%
\ifx\@currenttocentry\@empty\else
% \end{macrocode}
@@ -4945,7 +4953,7 @@
% \changes{v3.36}{2022/03/16}{added}
% The test and warning used inside \cs{scr@@startchapter}.
% \begin{macrocode}
-\expandafter\ifnum\scr@v@is@ge{3.36}%
+%<!v4>\expandafter\ifnum\scr@v@is@ge{3.36}%
\newcommand*{\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d}[1]{%
\Ifstr{#1}{chapter}{%
\begingroup
@@ -4966,9 +4974,9 @@
\endgroup
}{}%
}
-\else
- \let\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d\@gobble
-\fi
+%<!v4>\else
+%<!v4> \let\scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d\@gobble
+%<!v4>\fi
% \end{macrocode}
% \end{macro}^^A \scr@t@st@nd@w@rn@m@k@ch@pt@rh@@d
% \end{macro}^^A \scr@@startchapter
@@ -5033,7 +5041,7 @@
% \changes{v3.36}{2022/03/16}{added}
% The test and warning used inside \cs{scr@@startschapter}.
% \begin{macrocode}
-\expandafter\ifnum\scr@v@is@ge{3.36}%
+%<!v4>\expandafter\ifnum\scr@v@is@ge{3.36}%
\newcommand*{\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d}[1]{%
\Ifstr{#1}{chapter}{%
\begingroup
@@ -5054,9 +5062,9 @@
\endgroup
}{}%
}
-\else
- \let\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d\@gobble
-\fi
+%<!v4>\else
+%<!v4> \let\scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d\@gobble
+%<!v4>\fi
% \end{macrocode}
% \end{macro}^^A \scr@t@st@nd@w@rn@m@ks@ch@pt@rh@@d
% \end{macro}^^A \scr@@startschapter
@@ -5131,7 +5139,9 @@
\csname scr@#1@afterindent\endcsname
{\@afterindenttrue}{\@afterindentfalse}{%
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\else
- \expandafter\ifnum\scr@v@is@ge{3.22}\@afterindenttrue\fi
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.22}
+ \@afterindenttrue
+%<!v4> \fi
\fi
}%
\chapterheadstartvskip
@@ -5251,7 +5261,9 @@
\csname scr@#1@afterindent\endcsname
{\@afterindenttrue}{\@afterindentfalse}{%
\ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\else
- \expandafter\ifnum\scr@v@is@ge{3.22}\@afterindenttrue\fi
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.22}
+ \@afterindenttrue
+%<!v4> \fi
\fi
}%
\chapterheadstartvskip
@@ -5967,9 +5979,9 @@
% \begin{macrocode}
\newkomafont{minisec}{}
\newcommand\minisec[1]{%
- \expandafter\ifnum\scr@v@is@lt{3.13a}\relax
- \@afterindentfalse \vskip 1.5ex
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.13a}\relax
+%<!v4> \@afterindentfalse \vskip 1.5ex
+%<!v4> \else
\if@noskipsec \leavevmode \fi
\par
\@afterindentfalse
@@ -5978,10 +5990,11 @@
\else
\addpenalty\@secpenalty\addvspace{1.5ex}%
\fi
- \fi
+%<!v4> \fi
{\parindent \z@
- \expandafter\ifnum\scr@v@is@gt{2.96}\relax
- \setlength{\parfillskip}{\z@ plus 1fil}\fi
+%<!v4> \expandafter\ifnum\scr@v@is@gt{2.96}\relax
+ \setlength{\parfillskip}{\z@ plus 1fil}%
+%<!v4> \fi
\raggedsection\normalfont\sectfont\nobreak
\usekomafont{minisec}{\nobreak\interlinepenalty \@M #1\par\nobreak}%
}\nobreak
@@ -6068,12 +6081,12 @@
\newcounter{section}[chapter]
\renewcommand*\thesection{%
%<*book>
- \expandafter\ifnum\scr@v@is@gt{2.97d}%
+%<!v4> \expandafter\ifnum\scr@v@is@gt{2.97d}%
\if@mainmatter\thechapter.\fi
- \else
+%<!v4> \else
%</book>
\thechapter.%
-%<book> \fi
+%<book&!v4> \fi
\@arabic\c@section
}
%</book|report>
@@ -6130,15 +6143,15 @@
% \begin{macrocode}
\newcommand*{\othersectionlevelsformat}[3]{#3\autodot\enskip}
\renewcommand*{\@seccntformat}[1]{%
- \expandafter\ifnum\scr@v@is@lt{3.17}\relax
- \protect\othersectionlevelsformat{#1}{%
- \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
- \else
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.17}\relax
+%<!v4> \protect\othersectionlevelsformat{#1}{%
+%<!v4> \expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
+%<!v4> \else
\scr@ifundefinedorrelax{#1format}{%
\protect\othersectionlevelsformat{#1}{%
\expandafter\aftergroup\noexpand\@gobble}{\csname the#1\endcsname}%
}{\expandafter\protect\csname #1format\endcsname}%
- \fi
+%<!v4> \fi
}
% \end{macrocode}
% \end{command}^^A \othersectonlevelsformat
@@ -6374,11 +6387,11 @@
%<article> tocnumwidth=5em%
%<book|report> tocnumwidth=6em%
]{subparagraph}
-\expandafter\ifnum\scr@v@is@lt{3.15}\relax
- \let\scr@subparagraph@sectionindent\parindent
-\else
+%<!v4>\expandafter\ifnum\scr@v@is@lt{3.15}\relax
+%<!v4> \let\scr@subparagraph@sectionindent\parindent
+%<!v4>\else
\def\scr@subparagraph@sectionindent{\scr@parindent}%
-\fi
+%<!v4>\fi
%</body>
% \end{macrocode}
% \end{command}^^A \subparagraph
@@ -6396,15 +6409,15 @@
% levels already have been done. But there are also some elements that do not
% correspond with a single section level.
%
-% \begin{fontelement}{disposition}
-% \changes{v2.95b}{2006/07/30}{added}
-% \begin{fontelement}{sectioning}
+% \begin{fontelement}{disposition,sectioning}
% \changes{v2.95b}{2006/07/30}{added}
+% \changes{v3.39}{2023/04/04}{also with \pkg*{scrextend} as documented}
% \begin{macro}{\sectfont}
% \changes{v2.8c}{2001/06/29}{\cs{normalcolor} added}
% \changes{v3.12}{2013/11/11}{earlier definition to support option
% \opt{headings\quotechar=standardclasses}}
% \changes{v3.20}{2016/01/29}{\cs{sffamily} replaced by \cs{@gr@gsffamily}}
+% \changes{v3.39}{2023/04/04}{\cs{@gr@gsfamily} replaced by \cs{maybesffamily}}
% This element is not only used by all section levels before the dedicated
% element of the single level is used. It is also used by other elements like
% the \fnt{chaptertocentry}. The command \cs{sectfont} instead of the
@@ -6414,18 +6427,18 @@
%</class&!letter>
%<*(class&!letter)|(package&extend)>
%<*prepare>
-\newcommand*{\sectfont}{\normalcolor\@gr@gsffamily\bfseries}
+\newcommand*{\sectfont}{\normalcolor\maybesffamily\bfseries}
%</prepare>
%</(class&!letter)|(package&extend)>
-%<*class&!letter>
+%<*book|report|article|extend>
%<*body>
\newcommand*{\scr@fnt@disposition}{\sectfont}
\aliaskomafont{sectioning}{disposition}
%</body>
+%</book|report|article|extend>
% \end{macrocode}
% \end{macro}^^A \sectfont
-% \end{fontelement}^^A sectioning
-% \end{fontelement}^^A disposition
+% \end{fontelement}^^A disposition, sectioning
%
%
% \begin{option}{headings}
@@ -6444,9 +6457,12 @@
% \cs{scr@chapter@afterskip}}
% \changes{v3.17}{2015/03/09}{using internal value storage}
% \changes{v3.18}{2015/05/20}{values of \cs{scr@chapter@beforeskip} negative}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Option \opt{headings} is the main switch for the headings of all outlines.
% It provides the following values:
% \begin{macrocode}
+%<*class&!letter>
%<*option>
\KOMA@key{headings}{%
\KOMA@set@ncmdkey{headings}{@tempa}{%
@@ -6566,11 +6582,11 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
\ifcase \@tempa\relax% big
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{big}%
% \end{macrocode}
% First of all we handle the three size values.
% \begin{description}
@@ -6590,8 +6606,9 @@
\renewcommand*{\scr@chapter@innerskip}{.5\baselineskip}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa
- \else\vskip\@tempskipa\fi
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa\else
+ \vskip\@tempskipa
+%<!v4> \fi
}%
\renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
%</book|report>
@@ -6605,11 +6622,11 @@
\setkomafont{paragraph}{\normalsize}%
\setkomafont{subparagraph}{\normalsize}%
\or % normal
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{normal}%
%<*book|report>
\renewcommand*{\scr@chapter@beforeskip}{-3\baselineskip-\parskip}%
\renewcommand*{\scr@chapter@afterskip}{%
@@ -6618,8 +6635,9 @@
\renewcommand*{\scr@chapter@innerskip}{.5\baselineskip}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa
- \else\vskip\@tempskipa\fi
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa\else
+ \vskip\@tempskipa
+%<!v4> \fi
}%
\renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
%</book|report>
@@ -6639,11 +6657,11 @@
\setkomafont{paragraph}{\normalsize}%
\setkomafont{subparagraph}{\normalsize}%
\or % small
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{small}%
%<*book|report>
\renewcommand*{\scr@chapter@beforeskip}{-2.8\baselineskip-\parskip}%
\renewcommand*{\scr@chapter@afterskip}{%
@@ -6652,8 +6670,9 @@
\renewcommand*{\scr@chapter@innerskip}{.5\baselineskip}%
\renewcommand*{\chapterheadstartvskip}{\vspace{\@tempskipa}}%
\renewcommand*{\chapterheadendvskip}{%
- \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa
- \else\vskip\@tempskipa\fi
+%<!v4> \expandafter\ifnum\scr@v@is@lt{3.15}\vspace\@tempskipa\else
+ \vskip\@tempskipa
+%<!v4> \fi
}%
\renewcommand*{\chapterheadmidvskip}{\par\nobreak\vskip\@tempskipa}%
%</book|report>
@@ -6711,33 +6730,33 @@
% We have also options to handle the extended optional argument.
% \begin{macrocode}
\or % optiontotocandhead
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontohead}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{optiontotocandhead}%
\scr@activate@xsection{3}%
\or % optiontotoc
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontohead}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{optiontotoc}%
\scr@activate@xsection{2}%
\or % optiontohead
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotocandhead}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontotoc}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{optiontohead}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotocandhead}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontotoc}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{optiontohead}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{optiontohead}%
\scr@activate@xsection{1}%
% \end{macrocode}
% Last but not least the option to activate the standard class emulation of
% headings.
% \begin{macrocode}
\or % standardclasses
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{big}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{normal}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{small}%
- \KOMA@kav@remove{.\KOMAClassFileName}{headings}{standardclasses}%
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{big}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{normal}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{small}%
+ \KOMA@kav@remove{\KOMAClassFileName}{headings}{standardclasses}%
+ \KOMA@kav@add{\KOMAClassFileName}{headings}{standardclasses}%
%<*book|report>
\renewcommand*{\scr@chapter@beforeskip}{-50\p@}%
\renewcommand*{\scr@chapter@afterskip}{40\p@}%
@@ -6764,8 +6783,8 @@
\fi
\fi
}
-\KOMA@kav@add{.\KOMAClassFileName}{headings}{big}
-%<book|report>\KOMA@kav@add{.\KOMAClassFileName}{headings}{onelinechapter}
+\KOMA@kav@add{\KOMAClassFileName}{headings}{big}
+%<book|report>\KOMA@kav@add{\KOMAClassFileName}{headings}{onelinechapter}
% \end{macrocode}
% \end{option}^^A headings
%
@@ -6774,15 +6793,18 @@
% \changes{v2.4g}{1996/11/04}{option name fixed}
% \changes{v2.98c}{2008/03/10}{obsolete}
% \changes{v3.01a}{2008/11/20}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macro}{\@bigheadings,\@normalheadings,\@smallheadings}
% \changes{v2.98c}{2008/03/10}{removed}
% \end{macro}^^A \@bigheadings … \@smallheadings
% We also have some deprecated options.
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{bigheadings}{headings=big}
\KOMA@DeclareDeprecatedOption{normalheadings}{headings=normal}
\KOMA@DeclareDeprecatedOption{smallheadings}{headings=small}
-%</option>
+%</!v4>
+%</option>
% \end{macrocode}
% \end{option}^^A smallheading,normalheadings,bigheadings
%
diff --git a/macros/latex/contrib/koma-script/scrkernel-title.dtx b/macros/latex/contrib/koma-script/scrkernel-title.dtx
index 95f6af22e0..7683fea726 100644
--- a/macros/latex/contrib/koma-script/scrkernel-title.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-title.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-title.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-title.dtx 4000 2022-11-16 07:32:52Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-16 08:32:52 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 4000 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-title.dtx}%
@@ -83,6 +83,8 @@
% \changes{v3.12}{2013/11/21}{value \opt{\quotechar=firstiscover} added}
% \changes{v3.17}{2015/03/10}{using internal value storage}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macro}{\@titlepagetrue,\@titlepagefalse,\if@titlepage}
% \begin{macro}{\@titlepageiscoverpagetrue,\@titlepageisvoerpagefalse,
% \if@titlepageiscoverpage}
@@ -130,7 +132,7 @@
\@titlepagetrue
\@titlepageiscoverpagetrue
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.%
+ \KOMA@kav@replacevalue{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{titlepage}{firstiscover}%
@@ -139,11 +141,11 @@
%<!(package&extend)> \KOMA@set@ifkey{titlepage}{@titlepage}{#1}%
%<package&extend> \KOMA@set@ifkey{titlepage}{@titlepage}{##1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@remove{.%
+ \KOMA@kav@remove{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{titlepage}{firstiscover}%
- \KOMA@kav@replacebool{.%
+ \KOMA@kav@replacebool{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{titlepage}{@titlepage}%
@@ -151,7 +153,7 @@
\fi
}%
}
-\KOMA@kav@xadd{.%
+\KOMA@kav@xadd{%
%<class> \KOMAClassFileName
%<package&extend> scrextend.\scr@pkgextension
}{titlepage}{\if@titlepage true\else false\fi}
@@ -375,18 +377,18 @@
%<package&extend>\let\maketitle\relax\let\@maketitle\relax
\newcommand*\maketitle[1][1]{%
% \end{macrocode}
+% \changes{v3.39}{2022/10/25}{using \cs{scr@v@is@ge}}
% To support several \cs{maketitle} in the same document, we have to take care
% to use the correct \cs{and} every time. So we define it here (instead of
% outside).
% \begin{macrocode}
- \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax
- \else
+%<!v4> \expandafter\ifnum \scr@v@is@ge{3.12}%
\def\and{%
\end{tabular}%
\hskip 1em \@plus.17fil%
\begin{tabular}[t]{c}%
}%
- \fi
+%<!v4> \fi
% \end{macrocode}
% Depending on in-page titles or title pages, we have to use different
% code. First the title pages.
@@ -488,16 +490,16 @@
\vfill\null
\if@twoside
% \end{macrocode}
+% \changes{v3.39}{2022/10/25}{using \cs{scr@v@is@ge}}
% From \KOMAScript~3.12 we show the retro page only if needed. It is needed in
% double-sided mode, if the upper and lower elements are not empty.
% \begin{macrocode}
\@tempswatrue
- \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax
- \else
+%<!v4> \expandafter\ifnum \scr@v@is@ge{3.12}%
\ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty
\@tempswafalse
\fi\fi
- \fi
+%<!v4> \fi
\if@tempswa
\next@tpage
\begin{minipage}[t]{\textwidth}
@@ -515,16 +517,18 @@
% \begin{macrocode}
\else
\ifx\@uppertitleback\@empty\else
-%<package> \PackageWarning{scrextend}{%
-%<class> \ClassWarning{\KOMAClassName}{%
+%<package> \PackageWarning{scrextend}%
+%<class> \ClassWarning{\KOMAClassName}%
+ {%
non empty \string\uppertitleback\space ignored
by \string\maketitle\MessageBreak
in `twoside=false' mode%
}%
\fi
\ifx\@lowertitleback\@empty\else
-%<package> \PackageWarning{scrextend}{%
-%<class> \ClassWarning{\KOMAClassName}{%
+%<package> \PackageWarning{scrextend}%
+%<class> \ClassWarning{\KOMAClassName}%
+ {%
non empty \string\lowertitleback\space ignored
by \string\maketitle\MessageBreak
in `twoside=false' mode%
@@ -559,23 +563,26 @@
%<extend> ##1%
%<!extend> #1%
\relax\ifnum\@tempcnta=1\else
-%<class> \ClassWarning{\KOMAClassName}{%
-%<package> \PackageWarning{scrextend}{%
+%<class> \ClassWarning{\KOMAClassName}%
+%<package> \PackageWarning{scrextend}%
+ {%
Optional argument of \string\maketitle\space ignored\MessageBreak
in `titlepage=false' mode%
}%
\fi
\ifx\@uppertitleback\@empty\else
-%<package> \PackageWarning{scrextend}{%
-%<class> \ClassWarning{\KOMAClassName}{%
+%<class> \ClassWarning{\KOMAClassName}%
+%<package> \PackageWarning{scrextend}%
+ {%
non empty \string\uppertitleback\space ignored
by \string\maketitle\MessageBreak
in `titlepage=false' mode%
}%
\fi
\ifx\@lowertitleback\@empty\else
-%<package> \PackageWarning{scrextend}{%
-%<class> \ClassWarning{\KOMAClassName}{%
+%<class> \ClassWarning{\KOMAClassName}%
+%<package> \PackageWarning{scrextend}%
+ {%
non empty \string\lowertitleback\space ignored
by \string\maketitle\MessageBreak
in `titlepage=false' mode%
@@ -637,7 +644,8 @@
\endgroup
\fi
\setcounter{footnote}{0}%
- \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax
+%<*!v4>
+ \expandafter\ifnum \scr@v@is@lt{3.12}%
\let\thanks\relax
\let\maketitle\relax
\let\@maketitle\relax
@@ -665,6 +673,7 @@
\global\let\dedication\relax
\global\let\date\relax
\fi
+%</!v4>
\global\let\and\relax
}%
% \end{macrocode}
@@ -775,6 +784,8 @@
% \end{command}
%
% \begin{environment}{titlepage}
+% \changes{v3.39}{2022/10/25}{\LaTeX{} 2.09 compatibility mode with
+% \pkg{scrextend} only}
% The environment to be used for title pages. Title pages are always
% one-columned and use page style \pstyle{empty}. We have to take care to
% reset this at the end of the title page.
@@ -794,9 +805,7 @@
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
- \if@compatibility
- \setcounter{page}{0}%
- \fi
+%<package&extend> \if@compatibility \setcounter{page}{0}\fi
}{%
\if@restonecol\twocolumn \else \newpage \fi
}%
@@ -919,9 +928,12 @@
% \changes{v2.95c}{2006/08/21}{obsolete}
% \changes{v3.01a}{2008/11/21}{standard not obsolete}
% \changes{v3.27}{2019/03/13}{deprecated}
+% \changes{v3.99}{2022/11/16}{removed from \KOMAScript~4}
% \begin{macrocode}
+%<*!v4>
\KOMA@DeclareDeprecatedOption{abstracton}{abstract=true}
\KOMA@DeclareDeprecatedOption{abstractoff}{abstract=false}
+%</!v4>
%</option>
% \end{macrocode}
% \end{option}^^A abstracton,abstractoff
diff --git a/macros/latex/contrib/koma-script/scrkernel-tocstyle.dtx b/macros/latex/contrib/koma-script/scrkernel-tocstyle.dtx
index 6a78b38364..d4944b1556 100644
--- a/macros/latex/contrib/koma-script/scrkernel-tocstyle.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-tocstyle.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-tocstyle.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-tocstyle.dtx 3972 2022-10-24 08:08:05Z kohm $
% The runs of run-time file generation:
%<preidentify>%%% (run: preidentify)
% - everything that is needed before selfidentification of resulting files
@@ -42,9 +42,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-10-24 10:08:05 +0200 (Mo, 24. Okt 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3972 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-tocstyle.dtx}%
@@ -1094,6 +1094,7 @@
%
% \begin{command}{\DeclareTOCStyleEntry}
% \changes{v3.20}{2015/11/13}{added}
+% \changes{v3.39}{2022/10/24}{error message about missing options improved}
% This user command defines a new ToC entry command. It tests, if all needed
% style macros are already defined. Otherwise an error will be shown and the
% ToC entry command will not be defined. The arguments are:
@@ -1141,7 +1142,8 @@
\aftergroup\@tempswatrue
\def\do##1##2##3##4{%
\scr@ifundefinedorrelax{##1#3##2}{%
- \PackageError{tocbasic}{toc style `#2' needs ##4}{%
+ \PackageError{tocbasic}{toc style `#2' needs ##4\MessageBreak
+ of `#3'}{%
Usually the ##4 is defined using option `##3'.\MessageBreak
In some cases it may be set defining command
`\expandafter\string\csname ##1#3##2\endcsname'.\MessageBreak
@@ -1536,6 +1538,7 @@
% \end{macrocode}
% or, if this cannot be used, by using a standard value analogues to the
% values of the standard classes and the \KOMAScript{} classes.
+% \changes{v3.39}{2022/10/24}{default level for \texttt{lstlisting} added}
% \begin{macrocode}
\@ifundefined{#1tocdepth}{%
\Ifstr{#1}{part}{\@namedef{#1tocdepth}{-1}}{%
@@ -1547,12 +1550,14 @@
\Ifstr{#1}{subparagraph}{\@namedef{#1tocdepth}{5}}{%
\Ifstr{#1}{figure}{\@namedef{#1tocdepth}{1}}{%
\Ifstr{#1}{table}{\@namedef{#1tocdepth}{1}}{%
+ \Ifstr{#1}{lstlisting}{\@namedef{#1tocdepth}{1}}{%
% \end{macrocode}
% As last chance, we can use the same number already used for a headings level
% with the same name.
% \begin{macrocode}
- \expandafter\let\csname #1tocdepth\expandafter\endcsname
- \csname #1numdepth\endcsname
+ \expandafter\let\csname #1tocdepth\expandafter\endcsname
+ \csname #1numdepth\endcsname
+ }%
}%
}%
}%
@@ -1564,6 +1569,16 @@
}%
}{}%
% \end{macrocode}
+% \changes{v3.39}{2022/10/24}{try also using \cs{toclevel@\meta{level name}} as
+% default level}
+% Last but not least, if \cs{tocdepth@\meta{level name}} has been defined, we
+% can use this one.
+% \begin{macrocode}
+ \@ifundefined{#1tocdepth}{%
+ \expandafter\let\csname #1tocdepth\expandafter\endcsname
+ \csname toclevel@#1\endcsname
+ }{}%
+% \end{macrocode}
% The indent can also be defined automatically by a parent level.
% \begin{macrocode}
%<*tocline|toctext>
@@ -1639,6 +1654,7 @@
% If all the automatic setting methods were not successful, we try standard
% values used from the standard classes or older versions of the \KOMAScript{}
% classes.
+% \changes{v3.39}{2022/10/24}{default indent for \texttt{lstlisting} added}
% \begin{macrocode}
\@ifundefined{scr@tso@#1@indent}{%
%<*dottedtocline|undottedtocline|largetocline>
@@ -1646,48 +1662,50 @@
%</dottedtocline|undottedtocline|largetocline>
\Ifstr{#1}{figure}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
\Ifstr{#1}{table}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \Ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{%
- \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{%
+ \Ifstr{#1}{lstlisting}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{part}{\@namedef{scr@tso@#1@indent}{0em}}{%
+ \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@indent}{0em}}{%
% \end{macrocode}
% The follow code needs information about the existence of the chapter
% level. So the chapter level should already be defined, before the first
% usage!
% \begin{macrocode}
- \scr@ifundefinedorrelax{l@chapter}{%
- \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{%
- \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \Ifstr{#1}{subsubsection}{%
- \@namedef{scr@tso@#1@indent}{3.8em}%
- }{%
- \Ifstr{#1}{paragraph}{%
- \@namedef{scr@tso@#1@indent}{7em}%
+ \scr@ifundefinedorrelax{l@chapter}{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{0pt}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{subsubsection}{%
+ \@namedef{scr@tso@#1@indent}{3.8em}%
}{%
- \Ifstr{#1}{subparagraph}{%
- \@namedef{scr@tso@#1@indent}{10em}%
+ \Ifstr{#1}{paragraph}{%
+ \@namedef{scr@tso@#1@indent}{7em}%
}{%
+ \Ifstr{#1}{subparagraph}{%
+ \@namedef{scr@tso@#1@indent}{10em}%
+ }{%
% \end{macrocode}
% If nothing helps, the user has to define the values.
% \begin{macrocode}
+ }%
}%
}%
}%
}%
- }%
- }{%
- \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
- \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{%
- \Ifstr{#1}{subsubsection}{%
- \@namedef{scr@tso@#1@indent}{7.0em}%
- }{%
- \Ifstr{#1}{paragraph}{%
- \@namedef{scr@tso@#1@indent}{10em}%
+ }{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@indent}{1.5em}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@indent}{3.8em}}{%
+ \Ifstr{#1}{subsubsection}{%
+ \@namedef{scr@tso@#1@indent}{7.0em}%
}{%
- \Ifstr{#1}{subparagraph}{%
- \@namedef{scr@tso@#1@indent}{12em}%
+ \Ifstr{#1}{paragraph}{%
+ \@namedef{scr@tso@#1@indent}{10em}%
}{%
+ \Ifstr{#1}{subparagraph}{%
+ \@namedef{scr@tso@#1@indent}{12em}%
+ }{%
% \end{macrocode}
% Once more: if nothing helps, the user has to define the values.
% \begin{macrocode}
+ }%
}%
}%
}%
@@ -1709,6 +1727,7 @@
}{}%
% \end{macrocode}
% Almost the same for the number width:
+% \changes{v3.39}{2022/10/24}{default number width for \texttt{lstlisting} added}
% \begin{macrocode}
%<*dottedtocline|undottedtocline|tocline>
%<*tocline>
@@ -1734,45 +1753,47 @@
%</dottedtocline|undottedtocline>
\Ifstr{#1}{figure}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
\Ifstr{#1}{table}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
+ \Ifstr{#1}{lstlisting}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{chapter}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
% \end{macrocode}
% Depending on existence of the chapter level:
% \begin{macrocode}
- \scr@ifundefinedorrelax{chapter}{%
- \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
- \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \Ifstr{#1}{subsubsection}{%
- \@namedef{scr@tso@#1@numwidth}{3.2em}%
- }{%
- \Ifstr{#1}{paragraph}{%
- \@namedef{scr@tso@#1@numwidth}{4.1em}%
+ \scr@ifundefinedorrelax{chapter}{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{1.5em}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{subsubsection}{%
+ \@namedef{scr@tso@#1@numwidth}{3.2em}%
}{%
- \Ifstr{#1}{subparagraph}{%
- \@namedef{scr@tso@#1@numwidth}{5m}%
+ \Ifstr{#1}{paragraph}{%
+ \@namedef{scr@tso@#1@numwidth}{4.1em}%
}{%
+ \Ifstr{#1}{subparagraph}{%
+ \@namedef{scr@tso@#1@numwidth}{5m}%
+ }{%
% \end{macrocode}
% Need option to be set.
% \begin{macrocode}
+ }%
}%
}%
}%
}%
- }%
- }{%
- \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
- \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{3.2em}}{%
- \Ifstr{#1}{subsubsection}{%
- \@namedef{scr@tso@#1@numwidth}{3.1em}%
- }{%
- \Ifstr{#1}{paragraph}{%
- \@namedef{scr@tso@#1@numwidth}{5em}%
+ }{%
+ \Ifstr{#1}{section}{\@namedef{scr@tso@#1@numwidth}{2.3em}}{%
+ \Ifstr{#1}{subsection}{\@namedef{scr@tso@#1@numwidth}{3.2em}}{%
+ \Ifstr{#1}{subsubsection}{%
+ \@namedef{scr@tso@#1@numwidth}{3.1em}%
}{%
- \Ifstr{#1}{subparagraph}{%
- \@namedef{scr@tso@#1@numwidth}{6em}%
+ \Ifstr{#1}{paragraph}{%
+ \@namedef{scr@tso@#1@numwidth}{5em}%
}{%
+ \Ifstr{#1}{subparagraph}{%
+ \@namedef{scr@tso@#1@numwidth}{6em}%
+ }{%
% \end{macrocode}
% Need option to be set.
% \begin{macrocode}
+ }%
}%
}%
}%
diff --git a/macros/latex/contrib/koma-script/scrkernel-typearea.dtx b/macros/latex/contrib/koma-script/scrkernel-typearea.dtx
index 382727cdd2..5afbb67a54 100644
--- a/macros/latex/contrib/koma-script/scrkernel-typearea.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-typearea.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-typearea.dtx 3889 2022-06-09 12:11:14Z kohm $
+%%% From File: $Id: scrkernel-typearea.dtx 4014 2023-02-10 10:25:25Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -29,9 +29,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-09 14:11:14 +0200 (Do, 09. Jun 2022) $
+ \filedate$Date: 2023-02-10 11:25:25 +0100 (Fr, 10. Feb 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3889 $
+ \filerevision$Revision: 4014 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-typearea.dtx}[%
@@ -111,6 +111,52 @@
% commands implemented here in the \KOMAScript{} manual, either the German
% \file{scrguide} or the English \file{scrguien}.
%
+% \subsection{Options not yet in the Manual}
+% Some options commands are not documented in the \KOMAScript{} manuals, e.g.,
+% because they are not stable enough to be used by average users or more or
+% less for internal usage only. Some are only not documented in the
+% \KOMAScript{} manual, because nobody has done it yet.
+%
+% \DescribeOption{typeareawarnlimit=\meta{integer}}
+% \marginpar{\raggedleft\tiny Added: 2023-02-10}%
+% \SpecialOptionIndex{typeareawarnlimit}%
+% If the text area of the typing area is more than \meta{integer}\% larger
+% than the estimated good line width \pkg{typearea} would warn:
+%\begin{verbatim}
+% Package typearea Warning: Bad type area settings!
+% (typearea) The detected line width is about ...%
+% (typearea) larger than the heuristically estimated maximum
+% (typearea) limit of typographical good line width.
+% (typearea) You should e.g. decrease DIV, increase fontsize
+% (typearea) or change papersize.
+%\end{verbatim}
+% The default of \meta{integer} is 15. This was also the static value used for
+% \KOMAScript{} before version 3.39. A negative \meta{integer} deactivates the
+% warning.
+%
+% \DescribeOption{typeareainfolimit=\meta{integer}}
+% \marginpar{\raggedleft\tiny Added: 2023-02-10}%
+% \SpecialOptionIndex{typeareainfolimit}%
+% If the text area of the typing area is more than \meta{integer}\% smaller
+% than the estimated good line width \pkg{typearea} would write an information:
+%\begin{verbatim}
+% Package typearea Info: Maybe no optimal type area settings!
+% (typearea) The detected line width is about ...%
+% (typearea) smaller than the heuristically estimated maximum
+% (typearea) limit of typographical good line width.
+% (typearea) You could e.g. increase DIV, decrease fontsize
+% (typearea) or change the papersize.
+%\end{verbatim}
+% The default of \meta{integer} is 15. This was also the static value used for
+% \KOMAScript before version 3.39. A negative \meta{integer} deactivates the
+% warning.
+%
+% \DescribeOption{typeareawarninfolimit=\meta{integer}}
+% \marginpar{\raggedleft\tiny Added: 2023-02-10}%
+% \SpecialOptionIndex{typeareawarninfolimit}%
+% This is the same like
+% \opt{typeareawarnlimit=\meta{integer},typeareainfolimit=\meta{integer}}.
+%
% \MaybeStop{\PrintIndex}
%
% \section{Implementation of Package \pkg*{typearea} and Additional Class
@@ -289,18 +335,14 @@
}
%<*typearea>
\ProvideUnknownPaperSizeError{warning}{%
- \PackageWarning{%
- typearea%
- }{%
+ \PackageWarning{typearea}{%
\string\paperwidth\space and \string\paperheight\space stay
unchanged, because\MessageBreak
of unknown paper size #1%
}%
}
\ProvideUnknownPaperSizeError{info}{%
- \PackageInfo{%
- typearea
- }{%
+ \PackageInfo{typearea}{%
\string\paperwidth\space and \string\paperheight\space stay
unchanged, because\MessageBreak
of unknown paper size #1%
@@ -344,6 +386,8 @@
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
% \changes{v3.22}{2016/07/29}{paper orientation depends on format name}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Normally, the paper size should be set using this option. It provides the
% ISO series A, B, C, D, value pairs
% \opt{(\meta{width},\meta{height})} and the orientations
@@ -353,44 +397,44 @@
\KOMA@key{paper}{%
\Ifstr{#1}{seascape}{%
\@seascapetrue
- \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
\@landscapetrue
\scr@setpaperorientation
- \else
- \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi
- \fi
+%<!v4> \else
+%<!v4> \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi
+%<!v4> \fi
\FamilyKeyStateProcessed
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}%
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}%
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{seascape}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{landscape}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{portrait}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{seascape}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{paper}{seascape}%
}{%
\Ifstr{#1}{landscape}{%
\@seascapefalse
- \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
\@landscapetrue
\scr@setpaperorientation
- \else
- \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi
- \fi
+%<!v4> \else
+%<!v4> \if@landscape\else\scr@switchpapersizes\@landscapetrue\fi
+%<!v4> \fi
\FamilyKeyStateProcessed
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}%
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}%
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{landscape}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{landscape}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{portrait}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{seascape}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{paper}{landscape}%
}{%
\Ifstr{#1}{portrait}{%
- \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
\@landscapefalse
\scr@setpaperorientation
- \else
- \if@landscape\scr@switchpapersizes\@landscapefalse\fi
- \fi
+%<!v4> \else
+%<!v4> \if@landscape\scr@switchpapersizes\@landscapefalse\fi
+%<!v4> \fi
\FamilyKeyStateProcessed
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{landscape}%
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{portrait}%
- \KOMA@kav@remove{.typearea.\scr@pkgextension}{paper}{seascape}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{portrait}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{landscape}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{portrait}%
+ \KOMA@kav@remove{typearea.\scr@pkgextension}{paper}{seascape}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{paper}{portrait}%
}{%
\Ifstr{#1}{letter}{%
\if@landscape
@@ -401,9 +445,9 @@
\setlength\paperwidth {8.5in}%
\fi
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{letter}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{paper}{letter}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{%
\if@seascape seascape\else
\if@landscape landscape\else portrait\fi\fi
}%
@@ -417,9 +461,9 @@
\setlength\paperwidth {8.5in}%
\fi
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{legal}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{paper}{legal}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{%
\if@seascape seascape\else
\if@landscape landscape\else portrait\fi\fi
}%
@@ -433,9 +477,9 @@
\setlength\paperwidth {7.25in}%
\fi
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{paper}{executive}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{paper}{executive}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{%
\if@seascape seascape\else
\if@landscape landscape\else portrait\fi\fi
}%
@@ -443,9 +487,9 @@
\iso@paper{#1}%
\if@tempswa
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{#1}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{#1}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{%
\if@seascape seascape\else
\if@landscape landscape\else portrait\fi\fi
}%
@@ -453,7 +497,8 @@
\expandafter\maybe@pair#1::\@nil
\if@tempswa
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{paper}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{paper}%
+%<*!v4>
\expandafter\ifnum \scr@ta@v@is@lt{3.01b}\relax
\PackageWarningNoLine{typearea}{%
You may have to exchange height and width!\MessageBreak
@@ -465,21 +510,24 @@
\setlength\paperwidth{\@tempb}%
\setlength\paperheight{\@tempa}%
\else
+%</!v4>
\setlength\paperwidth{\@tempa}%
\setlength\paperheight{\@tempb}%
+%<*!v4>
\fi
\expandafter\ifnum \scr@ta@v@is@lt{3.22}\relax
\if@landscape
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempa:\@tempb}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{\@tempa:\@tempb}%
\else
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{\@tempb:\@tempa}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{\@tempb:\@tempa}%
\fi
\else
+%</!v4>
\scr@setpaperorientation
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{%
\the\paperwidth:\the\paperheight}%
- \fi
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{paper}{%
+%<!v4> \fi
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{paper}{%
\if@seascape seascape\else
\if@landscape landscape\else portrait\fi\fi
}%
@@ -564,6 +612,8 @@
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
% \changes{v3.17a}{2015/05/03}{logic redesigned}
% \changes{v3.20}{2015/07/10}{\file{luatex} as a synonym of \file{pdftex}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% This option is the main element for telling pdf\TeX, \file{dvips} or V\TeX{}
% which paper size to use. It is also used by some deprecated options. Here
% are the values and their meanings:
@@ -621,19 +671,21 @@
\else
\edef\@pagesizelast{false}%
\fi
- \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}%
+ \KOMA@kav@xreplacevalue{typearea.\scr@pkgextension}%
{pagesize}{\@pagesizelast}%
\fi
}
% \end{macrocode}
% \begin{macro}{\@pagesizelast}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of
+% \cs{KOMAExecuteOptions} removed}
% This internal macro stores the current value of option \opt{pagesize} and
% is needed to use the correct signalling if option \opt{paper} is used
% inside the document and the initial setup in |\begin{document}|.
% \begin{macrocode}
\newcommand\@pagesizelast{auto}
\AtBeginDocument{%
- \KOMAExecuteOptions[.typearea.\scr@pkgextension]{pagesize=\@pagesizelast}%
+ \KOMAExecuteOptions[typearea.\scr@pkgextension]{pagesize=\@pagesizelast}%
% \end{macrocode}
% \end{macro}^^A \@pagesizelast
%
@@ -668,7 +720,7 @@
% \end{description}
% First of all the definition from |\begin{document}|:
% \begin{macrocode}
- \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax
\renewcommand*{\set@dvipspagesize}{%
% \end{macrocode}
% \changes{v3.12}{2012/11/23}{use paper size update only for DVI and PS}
@@ -748,9 +800,9 @@
\endgroup
\fi
}%
- \else
- \let\set@dvipspagesize=\setnot@dvipspagesize
- \fi
+%<!v4> \else
+%<!v4> \let\set@dvipspagesize=\setnot@dvipspagesize
+%<!v4> \fi
\renewcommand*{\set@dvipdfmxpagesize}{%
\scr@ifdvioutput{%
\special{papersize=\the\paperwidth,\the\paperheight}%
@@ -802,11 +854,11 @@
\special{papersize=\the\paperwidth,\the\paperheight}%
\if@seascape\special{! TeXDict begin /landplus90{true}store end }\fi
}%
- \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@gt{3.02b}\relax
\let\set@dvipspagesize=\@empty
- \else
- \let\set@dvipspagesize=\setnot@dvipspagesize
- \fi
+%<!v4> \else
+%<!v4> \let\set@dvipspagesize=\setnot@dvipspagesize
+%<!v4> \fi
\else
\endgroup
\fi
@@ -955,6 +1007,8 @@
% \opt{twocolumn} and \opt{twoside} fixed}
% \changes{v3.27}{2019/03/05}{no special treatment for letters}
% \changes{v3.27}{2019/03/05}{missing \cs{sloppy} in twocolumn mode added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% From v3.17 until 3.19a the classes used a local switch
% \cs{if@tempswa}. As a result of this option \opt{twocolumn} was not
% able to recognize double sided layout. Because of this it was essential to
@@ -969,17 +1023,17 @@
}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
%<*class>
- \expandafter\ifnum\scr@v@is@ge{3.17}%
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.17}%
\if@twoside\flushbottom
\else
\if@twocolumn\sloppy\flushbottom\else\raggedbottom\fi
\fi
- \fi
+%<!v4> \fi
%</class>
- \KOMA@kav@xreplacevalue{.%
-%<class> \KOMAClassFileName
-%<package> typearea.\scr@pkgextension
- }{twoside}{#1}%
+ \KOMA@kav@xreplacevalue
+%<class> {\KOMAClassFileName}%
+%<package> {typearea.\scr@pkgextension}%
+ {twoside}{#1}%
%<*package>
\if@twoside
\if@semitwoside
@@ -999,7 +1053,7 @@
%<!book>\KOMAExecuteOptions{twoside=false}
%</class>
%<*package>
-\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twoside}{%
+\KOMA@kav@xadd{typearea.\scr@pkgextension}{twoside}{%
\if@twoside true\else false\fi
}
%</package>
@@ -1023,6 +1077,8 @@
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
% \changes{v3.13a}{2014/04/09}{the class also uses status signaling with
% \cs{FamilyKeyStateProcessed}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \changes{v3.20}{2016/02/16}{\cs{sloppy}, \cs{raggedbottom} and
% \cs{flushbottom} delayed}
% \changes{v3.27}{2019/03/05}{no extra treatment for letters}
@@ -1036,28 +1092,31 @@
%</package>
\KOMA@set@ifkey{twocolumn}{@twocolumn}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@replacebool{.%
-%<class> \KOMAClassFileName
-%<package> typearea.\scr@pkgextension
- }{twocolumn}{@twocolumn}%
+ \KOMA@kav@replacebool
+%<class> {\KOMAClassFileName}%
+%<package> {typearea.\scr@pkgextension}%
+ {twocolumn}{@twocolumn}%
%<package> \csname recalctypearea\endcsname
%<*class>
\if@atdocument\expandafter\@firstofone
\else\@ifpackageloaded{typearea}{\expandafter\@firstofone}
{\expandafter\AtEndOfClass}\fi
- {\expandafter\ifnum\scr@v@is@ge{3.17}%
- \if@twocolumn\twocolumn\sloppy\flushbottom
- \else
- \onecolumn
- \if@twoside\flushbottom\else
- \raggedbottom
+ {%
+%<!v4> \expandafter\ifnum\scr@v@is@ge{3.17}%
+ \if@twocolumn\twocolumn\sloppy\flushbottom
+ \else
+ \onecolumn
+ \if@twoside\flushbottom\else
+ \raggedbottom
+ \fi
\fi
- \fi
- \fi}%
+%<!v4> \fi
+ }%
%</class>
\fi
}
%<*class>
+%<*!v4>
\AtEndOfClass{%
\expandafter\ifnum\scr@v@is@lt{3.17}%
%<*!letter>
@@ -1067,10 +1126,11 @@
%<letter> \raggedbottom
\fi
}
+%</!v4>
\KOMAExecuteOptions{twocolumn=false}
%</class>
%<*package>
-\KOMA@kav@xadd{.typearea.\scr@pkgextension}{twocolumn}{%
+\KOMA@kav@xadd{typearea.\scr@pkgextension}{twocolumn}{%
\if@twocolumn true\else false\fi
}
%</package>
@@ -1093,8 +1153,12 @@
% \begin{option}{headlines}
% \changes{v2.95}{2002/12/06}{new implementation using \pkg{keyval}}
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{option}{footlines}
% \changes{v3.12}{2013/03/26}{added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% These are two of the recommended options to set the height of the page head
% and footer. Here we set the height by the number of base lines. The number
% is a factor to \cs{baselineskip} and therefore a real number.
@@ -1106,8 +1170,8 @@
\endgroup
\def\ta@hh{#1\baselineskip}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headlines}{#1}%
- \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1\baselineskip}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{headlines}{#1}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{headheight}{#1\baselineskip}%
}
\KOMA@key{footlines}{%
\begingroup
@@ -1115,8 +1179,8 @@
\endgroup
\def\ta@fh{#1\baselineskip}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footlines}{#1}%
- \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1\baselineskip}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{footlines}{#1}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{footheight}{#1\baselineskip}%
}
%</package&typearea&options>
% \end{macrocode}
@@ -1126,8 +1190,12 @@
% \begin{option}{headheight}
% \changes{v2.98c}{2008/04/06}{added}
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{option}{footheight}
% \changes{v3.12}{2013/03/26}{added}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Instead of setting the height of the page head or footer by the number of
% base lines, we can set it also using a length or length value. Note, via
% \cs{documenclass} or \cs{usepackage} only length values are supported
@@ -1140,8 +1208,8 @@
\endgroup
\def\ta@hh{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{headheight}{#1}%
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{headlines}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{headheight}{#1}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{headlines}%
}
\KOMA@key{footheight}{%
\begingroup
@@ -1149,8 +1217,8 @@
\endgroup
\def\ta@fh{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.typearea.\scr@pkgextension}{footheight}{#1}%
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{footlines}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{footheight}{#1}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{footlines}%
}
%</package&typearea&options>
% \end{macrocode}
@@ -1165,6 +1233,7 @@
% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% \begin{macro}{\if@hincl,\@hincltrue,\@hinclfalse}
% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}}
% \changes{v2.97c}{2007/04/19}{direct initialization via \cs{if@hsl},
@@ -1174,7 +1243,7 @@
%<*package&typearea&options>
\newif\if@hincl\@ifundefined{if@hsl}{}{\let\if@hincl\if@hsl}
\KOMA@ifkey{headinclude}{@hincl}
-\KOMA@DeclareDeprecatedOption[typearea]{headexclude}{headinclude=false}
+%<!v4>\KOMA@DeclareDeprecatedOption[typearea]{headexclude}{headinclude=false}
%</package&typearea&options>
% \end{macrocode}
% \end{macro}
@@ -1183,6 +1252,8 @@
%
% \begin{option}{headsepline}
% \changes{v3.20}{2015/12/12}{\pkg*{typearea} itself reacts on \opt{headsepline}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Until \KOMAScript{} v3.20 \pkg*{typearea} was not able to handle
% sequences of options \opt{headsepline} and \opt{headinclude} to get
% always a correct result. Until v3.18a \opt{headinclude} was prioritized
@@ -1204,7 +1275,7 @@
\KOMA@key{headsepline}[true]{%
\KOMA@set@ifkey{headinclude}{@hincl}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{headinclude}{@hincl}%
+ \KOMA@kav@replacebool{typearea.\scr@pkgextension}{headinclude}{@hincl}%
\fi
}
%</package&typearea&options>
@@ -1217,18 +1288,19 @@
% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% This options determines whether or not the page footer is part of the typing
% area.
% \begin{macro}{\if@fincl,\@fincltrue,\@finclfalse}
% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}}
% \changes{v2.97c}{2007/04/19}{direct initialization via \cs{if@fsl},
-% if already defined}
+% if already defined}
% We use a boolean switch to store the decision.
% \begin{macrocode}
%<*package&typearea&options>
\newif\if@fincl\@ifundefined{if@fsl}{}{\let\if@fincl\if@fsl}
\KOMA@ifkey{footinclude}{@fincl}
-\KOMA@DeclareDeprecatedOption[typearea]{footexclude}{footinclude=false}
+%<!v4>\KOMA@DeclareDeprecatedOption[typearea]{footexclude}{footinclude=false}
%</package&typearea&options>
% \end{macrocode}
% \end{macro}
@@ -1238,6 +1310,8 @@
% \begin{option}{footsepline}
% \changes{v3.23}{2017/03/03}{has to set \cs{if@fincl} instead of \cs{if@hincl}}
% \changes{v3.20}{2015/12/12}{\pkg*{typearea} itself reacts on \opt{footsepline}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Until \KOMAScript{} v3.20 \pkg*{typearea} was not able to handle
% sequences of options \opt{footsepline} and \opt{footinclude} to get
% always a correct result. Until v3.18a \opt{footinclude} was prioritized
@@ -1259,7 +1333,7 @@
\KOMA@key{footsepline}[true]{%
\KOMA@set@ifkey{footinclude}{@fincl}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@replacebool{.typearea.\scr@pkgextension}{footinclude}{@fincl}%
+ \KOMA@kav@replacebool{typearea.\scr@pkgextension}{footinclude}{@fincl}%
\fi
}
%</package&typearea&options>
@@ -1274,6 +1348,7 @@
% \changes{v2.95}{2002/07/08}{new implementation using \pkg{keyval}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% Some documents have a lot of large margin notes. Optical these margin notes
% are more part of the typing area than the margin. This options determines
% whether or not margin notes should be part of the typing area.
@@ -1284,7 +1359,7 @@
% \begin{macrocode}
%<*package&typearea&options>
\KOMA@ifkey{mpinclude}{@mincl}
-\KOMA@DeclareDeprecatedOption[typearea]{mpexclude}{mpinclude=false}
+%<!v4>\KOMA@DeclareDeprecatedOption[typearea]{mpexclude}{mpinclude=false}
%</package&typearea&options>
% \end{macrocode}
% \end{macro}
@@ -1382,7 +1457,7 @@
%<*package&typearea&body>
\newcommand*{\ta@divfor}[1]{%
\ta@div=\z@
- \expandafter\ifnum\scr@ta@v@is@ge{3.25}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@ge{3.25}\relax
\ifnum \z@=\ifdim \paperwidth<207mm \z@\else\ifdim \paperwidth>213mm \z@
\else\ifdim \paperheight<294mm \z@\else
\ifdim \paperheight>300mm \z@\else \@ne\fi\fi\fi\fi
@@ -1393,7 +1468,7 @@
}%
\ta@div=\tw@
\fi
- \fi
+%<!v4> \fi
\if@mincl
\PackageInfo{typearea}{%
With option `mpinclude' there are no predefined\MessageBreak
@@ -1552,6 +1627,8 @@
% \changes{v2.95}{2002/12/04}{new implementation using \pkg{keyval}}
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The value is written into the length \cs{ta@bcor}. Several symbolic values
% are supported that have to be converted into a length. Note, while loading
% the package symbolic values are nonsense.
@@ -1562,7 +1639,7 @@
\setlength{\ta@bcor}{#1}%
}%
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{BCOR}{#1}%
+ \KOMA@kav@xreplacevalue{typearea.\scr@pkgextension}{BCOR}{#1}%
}
% \end{macrocode}
% After loading the package we have to do a little bit more, because we need
@@ -1574,7 +1651,7 @@
\KOMA@key{BCOR}{%
\typearea[{#1}]{last}
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{BCOR}{#1}%
+ \KOMA@kav@xreplacevalue{typearea.\scr@pkgextension}{BCOR}{#1}%
}%
}
%</package&typearea&options>
@@ -1585,6 +1662,8 @@
% \changes{v2.2a}{1995/01/25}{new option}
% \changes{v2.95}{2002/12/04}{new implementation using \pkg{keyval}}
% \changes{v3.12}{2013/03/05}{status signaling using \cs{FamilyKeyState}}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% The value is written into the counter \cs{ta@div}. Several symbolic values
% are supported and have to be converted into a counter. Note, while loading
% the package symbolic values are nonsense.
@@ -1625,7 +1704,7 @@
\FamilyKeyStateUnknownValue
\else
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{\@tempa}%
+ \KOMA@kav@xreplacevalue{typearea.\scr@pkgextension}{DIV}{\@tempa}%
\fi
}
% \end{macrocode}
@@ -1638,13 +1717,53 @@
\KOMA@key{DIV}{%
\typearea[current]{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@xreplacevalue{.typearea.\scr@pkgextension}{DIV}{#1}%
+ \KOMA@kav@xreplacevalue{typearea.\scr@pkgextension}{DIV}{#1}%
}%
}
%</package&typearea&options>
% \end{macrocode}
% \end{option}
%
+% \begin{option}{typeareawarninfolimit,typeareawarnlimit,typeareainfolimit}
+% \changes{v3.39}{2023/02/10}{added}
+% \begin{macro}{\ta@warnlimit,\ta@infolimit}
+% \changes{v3.39}{2023/02/10}{added}
+% This option can be used to set the warning limits for inappropriate
+% typesetting settings. There are two limits, one for too small text area and
+% one for too large text area. They values are integer percentages. By default
+% both of them are 15. Negative values deactivate the warning messages.
+% \begin{macrocode}
+%<*package&typearea&options>
+\newcommand*{\ta@warnlimit}{\numexpr 15\relax}
+\newcommand*{\ta@infolimit}{\numexpr 15\relax}
+\KOMA@key{typeareawarnlimit}{%
+ \FamilySetCounterMacro{KOMA}{typeareawarnlimit}{\ta@warnlimit}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{typeareawarninfolimit}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{typeareawarnlimit}{#1}%
+ \fi
+}
+\KOMA@key{typeareainfolimit}{%
+ \FamilySetCounterMacro{KOMA}{typeareainfolimit}{\ta@infolimit}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{typeareawarninfolimit}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{typeareainfolimit}{#1}%
+ \fi
+}
+\KOMA@key{typeareawarninfolimit}{%
+ \FamilySetCounterMacro{KOMA}{typeareawarninfolimit}{\ta@warnlimit}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed
+ \let\ta@infolimit\ta@warnlimit
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{typeareawarninfolimit}{#1}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{typeareawarnlimit}{#1}%
+ \KOMA@kav@replacevalue{typearea.\scr@pkgextension}{typeareainfolimit}{#1}%
+ \fi
+}
+%</package&typearea&options>
+% \end{macrocode}
+% \end{macro}
+% \end{option}
+%
% \begin{command}{\typearea}
% This is the real reason for the package: calculation of typing area and
% margins providing an optional binding correction and depending on a
@@ -1708,11 +1827,11 @@
% binding correction with \opt{twoside=semi} is always added to the left
% margin.
% \begin{macrocode}
- \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax
- \evensidemargin=\oddsidemargin
- \else
+%<!v4> \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax
+%<!v4> \evensidemargin=\oddsidemargin
+%<!v4> \else
\advance\evensidemargin by1.5\ta@hblk
- \fi
+%<!v4> \fi
\else
\advance\oddsidemargin by\ta@hblk
\advance\oddsidemargin by\ta@bcor
@@ -1945,9 +2064,9 @@
% \opt{parskip} settings. Before |\begin{document}| the change will be done
% automatically at |\begin{document}| and therefore adding it here is correct.
% \begin{macrocode}
- \expandafter\ifnum\scr@ta@v@is@ge{3.17}%
+%<!v4> \expandafter\ifnum\scr@ta@v@is@ge{3.17}%
\csname par@updaterelative\endcsname
- \fi
+%<!v4> \fi
\fi
% \end{macrocode}
% \changes{v3.17}{2015/02/07}{new code for option \opt{usegeometry}}
@@ -2328,6 +2447,8 @@
% \changes{v3.26}{2018/07/16}{warning about long lines changed}
% \changes{v3.26}{2018/07/16}{warning about small lines changed and
% replaced by an info}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% Last but not least we write some layout values into the \file{log} file. For
% some of the information we need additional calculations, e.g., of a good
% line width.
@@ -2351,23 +2472,26 @@
\else
\advance\@tempcnta by-4
\fi
- \ifnum\@tempcnta <-15
- \@tempcnta=-\@tempcnta
- \PackageWarningNoLine{typearea}{%
- Bad type area settings!\MessageBreak
- The detected line width is about
- \the\@tempcnta\@percentchar\MessageBreak
- larger than the heuristically estimated maximum\MessageBreak
- limit of typographical good line width.\MessageBreak
- You should e.g.
- \ifnum\ta@div >6 decrease DIV, \fi
- \ifdim\f@size\p@<\@xiipt\p@ increase fontsize\else
- (increase fontsize)\fi\MessageBreak
- or change papersize%
- }%
- \@tempcnta=-\@tempcnta
- \else
- \ifnum\@tempcnta>15
+ \ifnum \ta@warnlimit<\z@\else
+ \ifnum\@tempcnta <-\numexpr \ta@warnlimit\relax
+ \@tempcnta=-\@tempcnta
+ \PackageWarningNoLine{typearea}{%
+ Bad type area settings!\MessageBreak
+ The detected line width is about
+ \the\@tempcnta\@percentchar\MessageBreak
+ larger than the heuristically estimated maximum\MessageBreak
+ limit of typographical good line width.\MessageBreak
+ You should e.g.
+ \ifnum\ta@div >6 decrease DIV, \fi
+ \ifdim\f@size\p@<\@xiipt\p@ increase fontsize\else
+ (increase fontsize)\fi\MessageBreak
+ or change papersize%
+ }%
+ \@tempcnta=-\@tempcnta
+ \fi
+ \fi
+ \ifnum \ta@infolimit<\z@\else
+ \ifnum\@tempcnta>\numexpr \ta@infolimit\relax
\PackageInfoNoLine{typearea}{%
Maybe no optimal type area settings!\MessageBreak
The detected line width is about
@@ -2378,7 +2502,8 @@
\ifdim\f@size\p@>\@xpt\p@, decrease fontsize\fi\MessageBreak
or change the papersize%
}%
- \fi\fi
+ \fi
+ \fi
\ifnum\ta@div <6
\PackageWarningNoLine{typearea}{%
Very low DIV value!\MessageBreak
@@ -2389,10 +2514,10 @@
}
\fi
\ta@layoutinfo{\number\ta@div}{\the\@tempcnta}%
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{DIV}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{DIV}{\@lastdiv}%
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{BCOR}%
- \KOMA@kav@xadd{.typearea.\scr@pkgextension}{BCOR}{\the\ta@bcor}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{DIV}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{DIV}{\@lastdiv}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{BCOR}%
+ \KOMA@kav@xadd{typearea.\scr@pkgextension}{BCOR}{\the\ta@bcor}%
\@typearea@end
\activateareas
\ifdim \dimexpr 1in+\topmargin
@@ -2631,14 +2756,16 @@
% \changes{v2.96}{2006/09/12}{set \cs{topskip}}
% \changes{v3.00}{2008/10/08}{use \cs{ta@layoutinfo} to write layout
% information into the \file{log} file}
+% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of
+% option storage commands}
% \begin{macrocode}
\setlength{\textwidth}{#2}%
\setlength{\textheight}{#3}%
\def\@lastdiv{areaset}%
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{DIV}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{DIV}{areaset}%
- \KOMA@kav@removekey{.typearea.\scr@pkgextension}{BCOR}%
- \KOMA@kav@add{.typearea.\scr@pkgextension}{BCOR}{\the\ta@bcor}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{DIV}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{DIV}{areaset}%
+ \KOMA@kav@removekey{typearea.\scr@pkgextension}{BCOR}%
+ \KOMA@kav@add{typearea.\scr@pkgextension}{BCOR}{\the\ta@bcor}%
\ta@hblk=\paperwidth
\advance\ta@hblk by-\ta@bcor
\advance\ta@hblk by-\textwidth
@@ -2669,11 +2796,11 @@
% to the inner margin. If compatibility to version less than 3.12 has been
% selected the binding correction will be added to the left margin.
% \begin{macrocode}
- \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax
- \evensidemargin=\oddsidemargin
- \else
+%<!v4> \expandafter\ifnum\scr@ta@v@is@lt{3.12}\relax
+%<!v4> \evensidemargin=\oddsidemargin
+%<!v4> \else
\advance\evensidemargin by1.5\ta@hblk
- \fi
+%<!v4> \fi
\else
\advance\oddsidemargin by\ta@hblk
\advance\oddsidemargin by\ta@bcor
@@ -2825,12 +2952,13 @@
% \changes{v2.95}{2002/12/04}{implemented using option \opt{DIV}}
% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by \cs{PackageInfoNoLine}}
% \changes{v3.01a}{2008/11/21}{deprecated}
+% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4}
% The former form of \opt{DIV=}\opt{calc} and \opt{DIV=}\opt{classic}.
% \begin{macrocode}
-%<*package&typearea&options>
+%<*package&typearea&options&!v4>
\KOMA@DeclareDeprecatedOption[typearea]{DIVcalc}{DIV=calc}
\KOMA@DeclareDeprecatedOption[typearea]{DIVclassic}{DIV=classic}
-%</package&typearea&options>
+%</package&typearea&options&!v4>
% \end{macrocode}
% \end{option}^^A DIVcalc,DIVclassic
%
@@ -2877,11 +3005,11 @@
% \changes{v2.97e}{2007/10/23}{landscape or portrait}
% \changes{v3.22}{2016/07/29}{adapting paper orientation}
% \begin{macrocode}
- \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
+%<!v4> \expandafter\ifnum\scr@ta@v@is@ge{3.22}\relax
\scr@setpaperorientation
- \else
- \if@landscape\scr@switchpapersizes\fi
- \fi
+%<!v4> \else
+%<!v4> \if@landscape\scr@switchpapersizes\fi
+%<!v4> \fi
}
% \end{macrocode}
% \pkg*{typearea} uses its own error message.
@@ -2995,6 +3123,7 @@
% \changes{v3.30}{2020/03/24}{avoid error message for unknown \opt{BCOR}
% value to \cs{documentclass}}
% \changes{v3.31}{2020/04/27}{improved valid value recognization}
+% \changes{v3.99}{2022/11/16}{deprecated option not with \KOMAScript~4}
% \begin{macrocode}
%<*class>
\Ifstrstart{#2}{=}{%
@@ -3005,10 +3134,12 @@
}%
%</class>
%<*package>
- \Ifdimen{#2}{%
- \KOMA@UseDeprecatedOption{%
- \PackageWarningNoLine{typearea}}{BCOR#2}{BCOR=#2}%
- }{\scr@pti@nerr@r}%
+%<!v4> \Ifdimen{#2}{%
+%<!v4> \KOMA@UseDeprecatedOption{%
+%<!v4> \PackageWarningNoLine{typearea}}{BCOR#2}{BCOR=#2}%
+%<!v4> }{%
+ \scr@pti@nerr@r
+%<!v4> }%
%</package>
% \end{macrocode}
% In all other cases it is not this option. So we report an error. Instead of
@@ -3029,6 +3160,7 @@
% \changes{v3.30}{2020/03/24}{avoid error message for unknown \opt{DIV}
% value to \cs{documentclass}}
% \changes{v3.31}{2020/04/27}{improved valid value recognization}
+% \changes{v3.99}{2022/11/16}{deprecated option not with \KOMAScript~4}
% Here we use more or less the same functionality as with \cs{@BCOR} and \cs{@@BCOR}.
% \begin{macrocode}
\newcommand*{\@DIV}{\expandafter\@@DIV\CurrentOption DIVDIV\@@DIV}
@@ -3045,10 +3177,12 @@
}%
%</class>
%<*package>
- \Ifnumber{#2}{%
- \KOMA@UseDeprecatedOption{%
- \PackageWarningNoLine{typearea}}{DIV#2}{DIV=#2}%
- }{\scr@pti@nerr@r}%
+%<!v4> \Ifnumber{#2}{%
+%<!v4> \KOMA@UseDeprecatedOption{%
+%<!v4> \PackageWarningNoLine{typearea}}{DIV#2}{DIV=#2}%
+%<!v4> }{%
+ \scr@pti@nerr@r
+%<!v4> }%
%</package>
\else\scr@pti@nerr@r\fi
% \end{macrocode}
diff --git a/macros/latex/contrib/koma-script/scrkernel-variables.dtx b/macros/latex/contrib/koma-script/scrkernel-variables.dtx
index b58929f2e7..0ca620349d 100644
--- a/macros/latex/contrib/koma-script/scrkernel-variables.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-variables.dtx
@@ -18,16 +18,16 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-variables.dtx 3874 2022-06-05 10:38:02Z kohm $
+%%% From File: $Id: scrkernel-variables.dtx 3981 2022-11-09 10:07:16Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-05 12:38:02 +0200 (So, 05. Jun 2022) $
+ \filedate$Date: 2022-11-09 11:07:16 +0100 (Mi, 09. Nov 2022) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
- \filerevision$Revision: 3874 $
+ \filerevision$Revision: 3981 $
\xdef\fileinfo{\filedate\space\filerevision\space}
\edef\reserved@a{%
\noexpand\endgroup
@@ -124,9 +124,9 @@
\expandafter\let\csname scr@#2@var\endcsname=\@empty
\if@tempswa\addtoreffields{#2}\fi
}{%
-%<class> \ClassError{scrlttr2%
-%<package> \PackageError{scrletter%
- }{%
+%<class> \ClassError{scrlttr2}
+%<package> \PackageError{scrletter}
+ {%
This should never happen%
}{%
The contents of the KOMA-Script variable `#2'\MessageBreak
@@ -136,9 +136,9 @@
}%
}%
}{%
-%<class> \ClassError{scrlttr2%
-%<package> \PackageError{scrletter%
- }{%
+%<class> \ClassError{scrlttr2}
+%<package> \PackageError{scrletter}
+ {%
Variable `#2' already defined%
}{%
I'll ignore this command, if you'll continue.%
@@ -216,9 +216,9 @@
% (\texttt{\#2}), used by \cs{setkomavar} or \cs{usekomavar}.
% \begin{macrocode}
\newcommand*{\@komavar@err}[2]{%
-%<class> \ClassError{scrlttr2%
-%<package> \PackageError{scrletter%
- }{%
+%<class> \ClassError{scrlttr2}
+%<package> \PackageError{scrletter}
+ {%
KOMA-Script variable not defined%
}{%
You've tried to #1 the not defined KOMA-Script variable
diff --git a/macros/latex/contrib/koma-script/scrkernel-version.dtx b/macros/latex/contrib/koma-script/scrkernel-version.dtx
index 96f1ac8db5..4fe0b81e5f 100644
--- a/macros/latex/contrib/koma-script/scrkernel-version.dtx
+++ b/macros/latex/contrib/koma-script/scrkernel-version.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrkernel-version.dtx 3962 2022-10-12 06:33:06Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 4028 2023-04-17 07:36:28Z kohm $
%
% ATTENTION: In this file parts of the code and documentation are before the
% driver. This must be, because this part of the code is needed by the driver
@@ -33,6 +33,7 @@
% \changes{v3.36}{2022/02/11}{switch over from \cls*{scrdoc} to
% \cls*{koma-script-source-doc}}
% \changes{v3.36}{2022/02/11}{whole implementation documentation in English}
+% \changes{v3.99}{2022/10/25}{prepared to generate experimental \KOMAScript~4}
%
% \GetFileInfo{scrkernel-version.dtx}
% \title{The Version of the \href{https://komascript.de}{\KOMAScript} Kernel
@@ -138,7 +139,10 @@
% Note: Following line will be patched by \file{makebetaorrelase.sh} and
% therefore the syntax or general structure of the line must not be changed!
% \begin{macrocode}
- \@CheckKOMAScriptVersion{2022/10/12 v3.38 KOMA-Script}%
+%<*!v4>
+ \@CheckKOMAScriptVersion{2023/04/17 v3.39 KOMA-Script}%
+%</!v4>
+%<v4> \@nameuse{@CheckKOMAScriptVersion}{2023/04/17 v3.39 KOMA-Script}%
\endgroup
% \end{macrocode}
% \end{macro}
@@ -196,16 +200,16 @@
% several classes without using always class specific code.
% \begin{macrocode}
%<*class>
-\newcommand*{\KOMAClassName}{%
-%<article|(letter&long)> scrartcl%
-%<report> scrreprt%
-%<book> scrbook%
-%<letter&!long> scrlttr2%
-}
+%<*!v4>
+%<article|(letter&long)>\newcommand*{\KOMAClassName}{scrartcl}
+%<report>\newcommand*{\KOMAClassName}{scrreprt}
+%<book>\newcommand*{\KOMAClassName}{scrbook}
+%<letter&!long>\newcommand*{\KOMAClassName}{scrlttr2}
%<*!long>
\newcommand*{\KOMAClassFileName}{\KOMAClassName.\@clsextension}
\edef\KOMAClassFileName{\KOMAClassFileName}
%</!long>
+%</!v4>
\newcommand*{\ClassName}{%
%<article|(letter&long)> article%
%<report> report%
@@ -214,11 +218,17 @@
}
%<*long>
\newcommand*{\KOMALongClassName}{}
+%<*!v4>
%<!letter>\edef\KOMALongClassName{scr\ClassName}
%<letter>\def\KOMALongClassName{scrletter}
+%</!v4>
\newcommand*{\KOMALongClassFileName}{\KOMALongClassName.\@clsextension}
\edef\KOMALongClassFileName{\KOMALongClassFileName}
%</long>
+%<*v4>
+\edef\KOMAClassName{scr\ClassName4}
+\edef\KOMAClassFileName{\KOMAClassName.\@clsextension}
+%</v4>
% \end{macrocode}
% \end{command}
% \end{command}
@@ -235,14 +245,16 @@
%<letter>\providecommand*{\@ptsize}{12}
\expandafter\let\expandafter\KOMAClassName\expandafter\relax
\expandafter\LoadClassWithOptions\expandafter{\KOMAClassName}
-%<letter>\RequirePackage{scrletter}
+%<letter&!v4>\RequirePackage{scrletter}
+%<letter&v4>\RequirePackage{scrletter4}
%</long>
%</class>
% \end{macrocode}
%
% \begin{macrocode}
%<*package&letter>
-\ProvidesPackage{scrletter}[%
+%<!v4>\ProvidesPackage{scrletter}[%
+%<v4>\ProvidesPackage{scrletter4}[%
%!KOMAScriptVersion
letter package extending any KOMA-Script class%
]
diff --git a/macros/latex/contrib/koma-script/scrlayer-scrpage.dtx b/macros/latex/contrib/koma-script/scrlayer-scrpage.dtx
index f7c7565a2d..b181e142cc 100644
--- a/macros/latex/contrib/koma-script/scrlayer-scrpage.dtx
+++ b/macros/latex/contrib/koma-script/scrlayer-scrpage.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrlayer-scrpage.dtx 3889 2022-06-09 12:11:14Z kohm $
+%%% From File: $Id: scrlayer-scrpage.dtx 4013 2023-02-02 11:11:34Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -27,9 +27,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-09 14:11:14 +0200 (Do, 09. Jun 2022) $
+ \filedate$Date: 2023-02-02 12:11:34 +0100 (Do, 02. Feb 2023) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3889 $
+ \filerevision$Revision: 4013 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlayer-scrpage.dtx}%
@@ -180,11 +180,15 @@
% \begin{option}{headwidth}
% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}
% \changes{v3.17}{2015/02/25}{new: store the values}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{option}{footwidth}
% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}
% \changes{v3.15}{2014/12/28}{fix: missing colon in call of
% \cs{sls@split@at@iicolons}}
% \changes{v3.17}{2015/02/25}{new: store the values}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{description}
% \item[\texttt{=\meta{special dimensional expression}:\meta{special
% dimensional expression}}:] see \cs{sls@settowidthof} for information about
@@ -208,7 +212,7 @@
\noexpand\endgroup
\noexpand\sls@set@hf@width{head}{\reserved@b}{\reserved@c}{\reserved@a}%
\noexpand\FamilyKeyStateProcessed
- \noexpand\KOMA@kav@replacevalue{.scrlayer-scrpage.sty}{headwidth}{%
+ \noexpand\KOMA@kav@replacevalue{scrlayer-scrpage.sty}{headwidth}{%
\reserved@a:\reserved@b:\reserved@c
}%
}%
@@ -222,7 +226,7 @@
\noexpand\endgroup
\noexpand\sls@set@hf@width{foot}{\reserved@b}{\reserved@c}{\reserved@a}%
\noexpand\FamilyKeyStateProcessed
- \noexpand\KOMA@kav@replacevalue{.scrlayer-scrpage.sty}{footwidth}{%
+ \noexpand\KOMA@kav@replacevalue{scrlayer-scrpage.sty}{footwidth}{%
\reserved@a:\reserved@b:\reserved@c
}%
}%
@@ -294,8 +298,15 @@
\addtolength{\@tempdima}{-\csname sls@#1width\endcsname}%
\Ifstr{#2}{}{%
\ifdim \csname sls@#1width\endcsname
- = \dimexpr \textwidth+\marginparwidth+\marginparsep\relax
- \setlength{\@tempdimb}{\z@}
+ = \dimexpr \textwidth+\marginparwidth+\marginparsep\relax
+% \end{macrocode}
+% \changes{3.39}{2023/02/02}{offset depends on \cs{reversemarginpar}}
+% \begin{macrocode}
+ \if@reversemargin
+ \setlength{\@tempdimb}{-\dimexpr \marginparwidth+\marginparsep\relax}%
+ \else
+ \setlength{\@tempdimb}{\z@}%
+ \fi
\else
\if@twoside
\setlength{\@tempdimb}{.3333333333\@tempdima}%
@@ -329,25 +340,27 @@
% \end{macro}^^A \sls@set@hf@width
% \begin{macro}{\sls@headwidth,\sls@oddheadshift,\sls@evenheadshift,
% \sls@footwidth,\sls@oddfootshift,\sls@evenfootshift}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% To store width and offset of page head an footer, we use macros. Those are
% also used by the options and therefore need to be initialised before option
% usage.
% \begin{macrocode}
\scr@ifundefinedorrelax{@headwidth}{%
\newcommand*{\sls@headwidth}{\textwidth}%
- \KOMA@kav@add{.scrlayer-scrpage.sty}{headwidth}{\textwidth:0pt:0pt}%
+ \KOMA@kav@add{scrlayer-scrpage.sty}{headwidth}{\textwidth:0pt:0pt}%
}{%
\newcommand*{\sls@headwidth}{\@headwidth}%
- \KOMA@kav@xadd{.scrlayer-scrpage.sty}{headwidth}{\@headwidth:0pt:0pt}%
+ \KOMA@kav@xadd{scrlayer-scrpage.sty}{headwidth}{\@headwidth:0pt:0pt}%
}%
\newcommand*{\sls@oddheadshift}{0pt}
\newcommand*{\sls@evenheadshift}{0pt}
\scr@ifundefinedorrelax{@footwidth}{%
\newcommand*{\sls@footwidth}{\textwidth}%
- \KOMA@kav@add{.scrlayer-scrpage.sty}{footwidth}{\textwidth:0pt:0pt}
+ \KOMA@kav@add{scrlayer-scrpage.sty}{footwidth}{\textwidth:0pt:0pt}
}{%
\newcommand*{\sls@footwidth}{\@footwidth}%
- \KOMA@kav@xadd{.scrlayer-scrpage.sty}{footwidth}{\@footwidth:0pt:0pt}
+ \KOMA@kav@xadd{scrlayer-scrpage.sty}{footwidth}{\@footwidth:0pt:0pt}
}%
\newcommand*{\sls@oddfootshift}{0pt}
\newcommand*{\sls@evenfootshift}{0pt}
@@ -505,6 +518,8 @@
% \end{macrocode}
% \begin{macro}{\sls@set@values}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{description}
% \item[\oarg{option name}:] either empty or the name of the option that sets
% the line,
@@ -567,7 +582,7 @@
\reserved@b
\FamilyKeyStateProcessed
\Ifstr{#1}{}{}{%
- \KOMA@kav@xreplacevalue{.scrlayer-scrpage.sty}{#1}{%
+ \KOMA@kav@xreplacevalue{scrlayer-scrpage.sty}{#1}{%
\csname sls@#2#3@linethickness\endcsname
:\csname sls@#2#3@linelength\endcsname
}%
@@ -606,31 +621,33 @@
% \sls@headbelow@linelength,\sls@headbelow@linethickness,
% \sls@footabove@linelength,\sls@footabove@linethickness,
% \sls@footbelow@linelength,\sls@footbelow@linethickness}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% To store length and thickness of the lines at the page head an footer, we
% use macros. Those are also used by the options and therefore need to be
% initialised before option usage.
% \begin{macrocode}
\newcommand*{\sls@headabove@linelength}{\sls@headwidth}%
\newcommand*{\sls@headabove@linethickness}{0pt}%
-\KOMA@kav@xadd{.scrlayer-scrpage.sty}{headtopline}{%
+\KOMA@kav@xadd{scrlayer-scrpage.sty}{headtopline}{%
\expandafter\noexpand\sls@headabove@linethickness:%
\expandafter\noexpand\sls@headabove@linelength
}
\newcommand*{\sls@headbelow@linelength}{\sls@headwidth}%
\newcommand*{\sls@headbelow@linethickness}{0pt}%
-\KOMA@kav@xadd{.scrlayer-scrpage.sty}{headsepline}{%
+\KOMA@kav@xadd{scrlayer-scrpage.sty}{headsepline}{%
\expandafter\noexpand\sls@headbelow@linethickness:%
\expandafter\noexpand\sls@headbelow@linelength
}
\newcommand*{\sls@footabove@linelength}{\sls@footwidth}%
\newcommand*{\sls@footabove@linethickness}{0pt}%
-\KOMA@kav@xadd{.scrlayer-scrpage.sty}{footsepline}{%
+\KOMA@kav@xadd{scrlayer-scrpage.sty}{footsepline}{%
\expandafter\noexpand\sls@footabove@linethickness:%
\expandafter\noexpand\sls@footabove@linelength
}
\newcommand*{\sls@footbelow@linelength}{\sls@footwidth}%
\newcommand*{\sls@footbelow@linethickness}{0pt}%
-\KOMA@kav@xadd{.scrlayer-scrpage.sty}{footbotline}{%
+\KOMA@kav@xadd{scrlayer-scrpage.sty}{footbotline}{%
\expandafter\noexpand\sls@footbelow@linethickness:%
\expandafter\noexpand\sls@footbelow@linelength
}
@@ -666,6 +683,8 @@
%
% \begin{option}{ilines,clines,olines}
% \changes{v3.17}{2015/02/25}{storing values}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\sls@hfline@adjust}
% Maybe it would be more useful to be able to adjust each line on its own or
% at most to define an offset. But \pkg{scrpage2} supports only these
@@ -674,15 +693,15 @@
% \begin{macrocode}
%<*options>
\newcommand*{\sls@hfline@adjust}{0}%
-\KOMA@kav@add{.scrlayer-scrpage.sty}{ilines}{}
+\KOMA@kav@add{scrlayer-scrpage.sty}{ilines}{}
\KOMA@key{ilines}[]{%
\ifx\relax#1\relax
\renewcommand*{\sls@hfline@adjust}{0}%
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{ilines}%
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{clines}%
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{olines}%
- \KOMA@kav@add{.scrlayer-scrpage.sty}{ilines}{}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{ilines}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{clines}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{olines}%
+ \KOMA@kav@add{scrlayer-scrpage.sty}{ilines}{}%
\else
\def\FamilyKeyStateProcessed{unexpected value}%
\fi
@@ -691,10 +710,10 @@
\ifx\relax#1\relax
\renewcommand*{\sls@hfline@adjust}{1}%
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{ilines}%
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{clines}%
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{olines}%
- \KOMA@kav@add{.scrlayer-scrpage.sty}{clines}{}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{ilines}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{clines}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{olines}%
+ \KOMA@kav@add{scrlayer-scrpage.sty}{clines}{}%
\else
\def\FamilyKeyStateProcessed{unexpected value}%
\fi
@@ -703,15 +722,15 @@
\ifx\relax#1\relax
\renewcommand*{\sls@hfline@adjust}{2}%
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{ilines}%
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{clines}%
- \KOMA@kav@removekey{.scrlayer-scrpage.sty}{olines}%
- \KOMA@kav@add{.scrlayer-scrpage.sty}{olines}{}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{ilines}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{clines}%
+ \KOMA@kav@removekey{scrlayer-scrpage.sty}{olines}%
+ \KOMA@kav@add{scrlayer-scrpage.sty}{olines}{}%
\else
\def\FamilyKeyStateProcessed{unexpected value}%
\fi
}
-\KOMA@kav@add{.scrlayer-scrpage.sty}{ilines}{}
+\KOMA@kav@add{scrlayer-scrpage.sty}{ilines}{}
%</options>
% \end{macrocode}
% \end{macro}^^A \sls@hfline@adjust
@@ -745,6 +764,8 @@
% \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by
% \cs{kernel@ifnextchar}}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of
+% \cs{KOMAExecuteOptions} removed}
% \begin{macro}{\sls@@@@setline}
% \changes{v3.18}{2015/06/17}{explicit reuse of the current length}
% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
@@ -770,17 +791,17 @@
\Ifstr{#2}{current}{}{%
\setlength{\@tempdima}{#2}%
\Ifstr{#1}{headabove}{%
- \KOMAExecuteOptions[.scrlayer-scrpage.sty]%
+ \KOMAExecuteOptions[scrlayer-scrpage.sty]%
{headtopline=\@tempdima:\csname sls@#1@linelength\endcsname}%
}{\Ifstr{#1}{headbelow}{%
- \KOMAExecuteOptions[.scrlayer-scrpage.sty]%
+ \KOMAExecuteOptions[scrlayer-scrpage.sty]%
{headsepline=\@tempdima:\csname sls@#1@linelength\endcsname}%
}{%
\Ifstr{#1}{footabove}{%
- \KOMAExecuteOptions[.scrlayer-scrpage.sty]%
+ \KOMAExecuteOptions[scrlayer-scrpage.sty]%
{footsepline=\@tempdima:\csname sls@#1@linelength\endcsname}%
}{%
- \KOMAExecuteOptions[.scrlayer-scrpage.sty]%
+ \KOMAExecuteOptions[scrlayer-scrpage.sty]%
{footbotline=\@tempdima:\csname sls@#1@linelength\endcsname}%
}%
}%
@@ -996,6 +1017,8 @@
% \end{macrocode}
% \end{macro}^^A \sls@auto@pagestyleset
% \changes{v3.17}{2015/02/25}{storing the values}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macrocode}
%<*options>
\KOMA@key{pagestyleset}{%
@@ -1005,7 +1028,7 @@
\let\sls@auto@pagestyleset\relax
\@nameuse{sls@ps@style@#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@replacevalue{.scrlayer-scrpage.sty}{pagestyleset}{#1}%
+ \KOMA@kav@replacevalue{scrlayer-scrpage.sty}{pagestyleset}{#1}%
}%
}
% \end{macrocode}
@@ -1072,14 +1095,17 @@
% \end{option}^^A pagestyleset
%
% \begin{option}{komastyle,standardstyle}
+% \changes{v3.39}{2022/11/16}{only with \KOMAScript~3}
% These options are deprecated, but defined for compatibility with
% \pkg{scrpage2}:
% \begin{macrocode}
%<*options>
-\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{komastyle}{%
- pagestyleset=KOMA-Script}
-\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{standardstyle}{%
- pagestyleset=standard}
+\@ifundefined{KOMA@DeclareDeprecatedOption}{}{%
+ \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{komastyle}{%
+ pagestyleset=KOMA-Script}%
+ \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{standardstyle}{%
+ pagestyleset=standard}%
+}
%</options>
% \end{macrocode}
% \end{option}^^A komastyle,standardstyle
@@ -1092,13 +1118,16 @@
% option \opt{markcase}.
%
% \begin{option}{markuppercase,markusedcase,nouppercase}
+% \changes{v3.39}{2022/11/16}{only with \KOMAScript~3}
% For compatibility with \pkg{scrpage2}.
% \begin{macrocode}
%<*options>
-\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markuppercase}{markcase=upper}
-\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markusedcase}{markcase=used}
-\KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{nouppercase}{%
- markcase=ignoreuppercase%
+\@ifundefined{KOMA@DeclareDeprecatedOption}{}{%
+ \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markuppercase}{markcase=upper}
+ \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{markusedcase}{markcase=used}
+ \KOMA@DeclareDeprecatedOption[scrlayer-scrpage]{nouppercase}{%
+ markcase=ignoreuppercase%
+ }
}
%</options>
% \end{macrocode}
diff --git a/macros/latex/contrib/koma-script/scrlayer.dtx b/macros/latex/contrib/koma-script/scrlayer.dtx
index 104cb7257e..6c581dca06 100644
--- a/macros/latex/contrib/koma-script/scrlayer.dtx
+++ b/macros/latex/contrib/koma-script/scrlayer.dtx
@@ -18,7 +18,7 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrlayer.dtx 3945 2022-07-19 09:16:17Z kohm $
+%%% From File: $Id: scrlayer.dtx 3985 2022-11-11 11:24:31Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -28,9 +28,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-07-19 11:16:17 +0200 (Di, 19. Jul 2022) $
+ \filedate$Date: 2022-11-11 12:24:31 +0100 (Fr, 11. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3945 $
+ \filerevision$Revision: 3985 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlayer.dtx}%
@@ -307,6 +307,8 @@
% done already by \pkg*{scrlayer}. But not the deprecated options.
%
% \begin{option}{markcase}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{description}
% \item[\texttt{=\meta{setting}}] one of: \texttt{upper}, \texttt{lower},
% \texttt{used}, or \texttt{ignoreuppercase}.
@@ -348,8 +350,8 @@
\fi
\endgroup
\ifx\FamilyKeyState\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrlayer.sty}{markcase}%
- \KOMA@kav@xadd{.scrlayer.sty}{markcase}{#1}%
+ \KOMA@kav@removekey{scrlayer.sty}{markcase}%
+ \KOMA@kav@xadd{scrlayer.sty}{markcase}{#1}%
\fi
%<interface&scrpage>}%
}
@@ -367,13 +369,13 @@
%<*package&options>
\@ifundefined{MakeMarkcase}{\let\MakeMarkcase\@firstofone}{}
\ifx\MakeMarkcase\@firstofone
- \KOMA@kav@replacevalue{.scrlayer.sty}{markcase}{used}%
+ \KOMA@kav@replacevalue{scrlayer.sty}{markcase}{used}%
\else\ifx\MakeMarkcase\MakeUppercase
- \KOMA@kav@replacevalue{.scrlayer.sty}{markcase}{upper}%
+ \KOMA@kav@replacevalue{scrlayer.sty}{markcase}{upper}%
\else\ifx\MakeMarkcase\MakeLowercase
- \KOMA@kav@replacevalue{.scrlayer.sty}{markcase}{lower}%
+ \KOMA@kav@replacevalue{scrlayer.sty}{markcase}{lower}%
\else\ifx\MakeMarkcase\scr@ignoreuppercase
- \KOMA@kav@replacevalue{.scrlayer.sty}{markcase}{ignoreuppercase}%
+ \KOMA@kav@replacevalue{scrlayer.sty}{markcase}{ignoreuppercase}%
\fi\fi\fi\fi
% \end{macrocode}
% \begin{macro}{\scrlayer@ignoreuppercase}
@@ -595,6 +597,8 @@
% \end{command}^^A \markdouble
%
% \begin{option}{autooneside}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\ifscrlayer@autooneside}
% Decide whether or not use the optional argument of \cs{automark} in
% single-side layout.
@@ -603,12 +607,12 @@
%<*package>
\KOMA@ifkey{autooneside}{scrlayer@autooneside}\scrlayer@autoonesidetrue
\scrlayer@@add@inherited@option{autooneside}
-\KOMA@kav@replacebool{.scrlayer.sty}{autooneside}{scrlayer@autooneside}
+\KOMA@kav@replacebool{scrlayer.sty}{autooneside}{scrlayer@autooneside}
%</package>
%<*interface>
\KOMA@key{autooneside}[true]{%
\KOMA@set@ifkey{autooneside}{scrlayer@autooneside}{#1}%
- \KOMA@kav@replacebool{.scrlayer.sty}{autooneside}{scrlayer@autooneside}%
+ \KOMA@kav@replacebool{scrlayer.sty}{autooneside}{scrlayer@autooneside}%
}
%</interface>
%</options>
@@ -634,7 +638,9 @@
% handles \opt{autooneside}?
% \end{description}
% \changes{v3.22}{2016/12/07}{prepared for classes without \cs{section} or
-% \cs{subsection}}
+% \cs{subsection}}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macrocode}
%<*options>
\KOMA@key{automark}[]{%
@@ -659,9 +665,9 @@
\fi
}%
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrlayer.sty}{automark}%
- \KOMA@kav@removekey{.scrlayer.sty}{manualmark}%
- \KOMA@kav@add{.scrlayer.sty}{automark}{}%
+ \KOMA@kav@removekey{scrlayer.sty}{automark}%
+ \KOMA@kav@removekey{scrlayer.sty}{manualmark}%
+ \KOMA@kav@add{scrlayer.sty}{automark}{}%
}
%<package>\scrlayer@@add@inherited@option{automark}
%</options>
@@ -675,9 +681,9 @@
\scrlayer@testunexpectedarg{manualmark}{#1}%
\scrlayer@AtEndOfPackage{\manualmark}%
\FamilyKeyStateProcessed
- \KOMA@kav@removekey{.scrlayer.sty}{automark}%
- \KOMA@kav@removekey{.scrlayer.sty}{manualmark}%
- \KOMA@kav@add{.scrlayer.sty}{manualmark}{}%
+ \KOMA@kav@removekey{scrlayer.sty}{automark}%
+ \KOMA@kav@removekey{scrlayer.sty}{manualmark}%
+ \KOMA@kav@add{scrlayer.sty}{manualmark}{}%
}
%<package>\scrlayer@@add@inherited@option{manualmark}
%</options>
@@ -2307,11 +2313,11 @@
\KOMA@key{onpsselect}{%
\l@addto@macro{\@ps@initialhook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsselect}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsselect}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsselect}
%<package>\newcommand*{\@ps@initialhook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsselect}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsselect}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2344,11 +2350,11 @@
\KOMA@key{onpsinit}{%
\l@addto@macro{\@ps@hook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsinit}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsinit}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsinit}
%<package>\newcommand*{\@ps@hook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsinit}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsinit}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2372,6 +2378,8 @@
% \begin{option}{ononeside}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsoneside}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@onesidehook}
% \begin{description}
% \item[\opt{=\meta{code}}:] executes \meta{code} after
@@ -2385,11 +2393,11 @@
\KOMA@key{onpsoneside}{%
\l@addto@macro{\@ps@onesidehook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsoneside}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsoneside}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsoneside}
%<package>\newcommand*{\@ps@onesidehook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsoneside}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsoneside}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2413,6 +2421,8 @@
% \begin{option}{ontwoside}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpstwoside}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@twosidehook}
% \begin{description}
% \item[\opt{=\meta{code}}:] executes \meta{code} after
@@ -2426,11 +2436,11 @@
\KOMA@key{onpstwoside}{%
\l@addto@macro{\@ps@twosidehook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpstwoside}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpstwoside}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpstwoside}
%<package>\newcommand*{\@ps@twosidehook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpstwoside}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpstwoside}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2454,6 +2464,8 @@
% \begin{option}{onoddpage}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsoddpage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@oddpagehook}
% \begin{description}
% \item[\texttt{=\meta{code}}:] executes \meta{code} after
@@ -2467,11 +2479,11 @@
\KOMA@key{onpsoddpage}{%
\l@addto@macro{\@ps@oddpagehook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsoddpage}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsoddpage}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsoddpage}
%<package>\newcommand*{\@ps@oddpagehook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsoddpage}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsoddpage}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2495,6 +2507,8 @@
% \begin{option}{onevenpage}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsevenpage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@evenpagehook}
% \begin{description}
% \item[\texttt{=\meta{code}}:] executes \meta{code} after
@@ -2508,11 +2522,11 @@
\KOMA@key{onpsevenpage}{%
\l@addto@macro{\@ps@evenpagehook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsevenpage}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsevenpage}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsevenpage}
%<package>\newcommand*{\@ps@evenpagehook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsevenpage}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsevenpage}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2536,6 +2550,8 @@
% \begin{option}{onfloatpage}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsfloatpage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@floatpagehook}
% \begin{description}
% \item[\opt{=\meta{code}}:] executes \meta{code} after
@@ -2547,11 +2563,11 @@
\KOMA@key{onpsfloatpage}{%
\l@addto@macro{\@ps@floatpagehook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsfloatpage}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsfloatpage}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsfloatpage}
%<package>\newcommand*{\@ps@floatpagehook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsfloatpage}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsfloatpage}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2575,6 +2591,8 @@
% \begin{option}{onnonfloatpage}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsnonfloatpage}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@nonfloatpagehook}
% \begin{description}
% \item[\opt{=\meta{code}}:] executes \meta{code} after
@@ -2586,11 +2604,11 @@
\KOMA@key{onpsnonfloatpage}{%
\l@addto@macro{\@ps@nonfloatpagehook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsnonfloatpage}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsnonfloatpage}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsnonfloatpage}
%<package>\newcommand*{\@ps@nonfloatpagehook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsnonfloatpage}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsnonfloatpage}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2614,6 +2632,8 @@
% \begin{option}{onbackground}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsbackground}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@backgroundhook}
% \begin{description}
% \item[\texttt{=\meta{code}}:] executes \meta{code} after
@@ -2627,11 +2647,11 @@
\KOMA@key{onpsbackground}{%
\l@addto@macro{\@ps@backgroundhook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsbackground}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsbackground}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsbackground}
%<package>\newcommand*{\@ps@backgroundhook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsbackground}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsbackground}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2655,6 +2675,8 @@
% \begin{option}{onforeground}
% \changes{v3.28}{2019/11/28}{marker for \cs{ModifyLayerPageStyleOptions}}
% \begin{option}{onpsforeground}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\@ps@foregroundhook}
% \begin{description}
% \item[\texttt{=\meta{code}}:] executes \meta{code} after
@@ -2668,11 +2690,11 @@
\KOMA@key{onpsforeground}{%
\l@addto@macro{\@ps@foregroundhook}{#1}%
\FamilyKeyStateProcessed
- \KOMA@kav@add{.scrlayer.sty}{onpsforeground}{#1}%
+ \KOMA@kav@add{scrlayer.sty}{onpsforeground}{#1}%
}
%<package>\scrlayer@@add@inherited@option{onpsforeground}
%<package>\newcommand*{\@ps@foregroundhook}{}
-%<package>\KOMA@kav@add{.scrlayer.sty}{onpsforeground}{}
+%<package>\KOMA@kav@add{scrlayer.sty}{onpsforeground}{}
%</options>
%<*interface&body>
\expandafter\let
@@ -2934,6 +2956,8 @@
%</package&body>
% \end{macrocode}
% \begin{option}{deactivatepagestylelayers}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\ifscrlayer@deactivate@layers}
% \begin{description}
% \item[\marg{simple switch}:] whether or not
@@ -2954,7 +2978,7 @@
%<*interface>
\KOMA@key{deactivatepagestylelayers}[true]{%
\KOMA@set@ifkey{deactivatepagestylelayers}{scrlayer@deactivate@layers}{#1}%
- \KOMA@kav@replacebool{.scrlayer.sty}{deactivatepagestylelayers}
+ \KOMA@kav@replacebool{scrlayer.sty}{deactivatepagestylelayers}
{scrlayer@deactivate@layers}%
}
%</interface>
@@ -3211,6 +3235,8 @@
% \end{command}^^A \layerpicturemode
%
% \begin{option}{draft}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\ifscrlayer@draft,\scrlayer@drafttrue,\scrlayer@draftfalse}
% \begin{description}
% \item[\marg{simple switch}:] whether or not to use the draft mode,
@@ -3227,7 +3253,7 @@
%<*interface>
\KOMA@key{draft}[true]{%
\KOMA@set@ifkey{draft}{scrlayer@draft}{#1}%
- \KOMA@kav@replacebool{.scrlayer.sty}{draft}{scrlayer@draft}%
+ \KOMA@kav@replacebool{scrlayer.sty}{draft}{scrlayer@draft}%
}
%</interface>
%</options>
@@ -4246,6 +4272,8 @@
%</package&body>
% \end{macrocode}
% \begin{option}{forceoverwrite}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\ifscrlayer@forceoverwrite}
% \begin{description}
% \item[\marg{simple switch}:] whether or not to overwrite already
@@ -4260,7 +4288,7 @@
%<*interface>
\KOMA@key{forceoverwrite}[true]{%
\KOMA@set@ifkey{forceoverwrite}{scrlayer@forceoverwrite}{#1}%
- \KOMA@kav@replacebool{.scrlayer.sty}{forceoverwrite}{scrlayer@forceoverwrite}%
+ \KOMA@kav@replacebool{scrlayer.sty}{forceoverwrite}{scrlayer@forceoverwrite}%
}
%</interface>
%</options>
@@ -4275,6 +4303,8 @@
% \end{option}^^A forceoverwrite
%
% \begin{option}{autoremoveinterfaces}
+% \changes{v3.39}{2022/11/11}{initial dot in member argument of option storage
+% commands removed}
% \begin{macro}{\ifscrlayer@autoremoveinterfaces}
% \begin{description}
% \item[\marg{simple switch}:] whether or not older interfaces may be
@@ -4290,7 +4320,7 @@
\KOMA@key{autoremoveinterfaces}[true]{%
\scrlayer@report@deprecated{#1}{autoremoveinterface}%
\KOMA@set@ifkey{autoremoveinterfaces}{scrlayer@autoremoveinterfaces}{#1}%
- \KOMA@kav@replacebool{.scrlayer.sty}{autoremoveinterfaces}
+ \KOMA@kav@replacebool{scrlayer.sty}{autoremoveinterfaces}
{scrlayer@autoremoveinterfaces}%
}
%</interface>
diff --git a/macros/latex/contrib/koma-script/scrmain.ins b/macros/latex/contrib/koma-script/scrmain.ins
index bd42e6186b..9b2edae840 100644
--- a/macros/latex/contrib/koma-script/scrmain.ins
+++ b/macros/latex/contrib/koma-script/scrmain.ins
@@ -1,6 +1,6 @@
% ======================================================================
% scrmain.ins
-% Copyright (c) Markus Kohm, 2002-2022
+% Copyright (c) Markus Kohm, 2002-2023
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-% $Id: scrmain.ins 3959 2022-10-10 06:24:48Z kohm $
+% $Id: scrmain.ins 4019 2023-03-31 14:23:35Z kohm $
% ---------- KOMA-Script default docstrip declarations -----------------
@@ -440,7 +440,6 @@
\batchinput{scraddr.dtx}% scraddr.sty
\batchinput{tocbasic.dtx}% tocbasic.sty
\batchinput{scrlayer.dtx}% scrlayer.sty, scrlayer-scrpage.sty ...
-\batchinput{scrwfile.dtx}% scrwfile.sty
\batchinput{scrjura.dtx}% scrjura.sty
% ---------- end of docstrip process -----------------------------------
diff --git a/macros/latex/contrib/koma-script/scrtime.dtx b/macros/latex/contrib/koma-script/scrtime.dtx
index 771bd7d206..cff5cd706a 100644
--- a/macros/latex/contrib/koma-script/scrtime.dtx
+++ b/macros/latex/contrib/koma-script/scrtime.dtx
@@ -18,15 +18,15 @@
%
% This work consists of all files listed in MANIFEST.md.
% ======================================================================
-%%% From File: $Id: scrtime.dtx 3889 2022-06-09 12:11:14Z kohm $
+%%% From File: $Id: scrtime.dtx 3986 2022-11-16 06:52:39Z kohm $
%<package&identify>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2022-06-09 14:11:14 +0200 (Do, 09. Jun 2022) $
+ \filedate$Date: 2022-11-16 07:52:39 +0100 (Mi, 16. Nov 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3889 $
+ \filerevision$Revision: 3986 $
\endgroup
\ProvidesFile{scrtime.dtx}[\filedate\space\filerevision\space
%</driver>
@@ -133,11 +133,12 @@
% \end{macrocode}
%
% \begin{option}{12h}
-% \changes{v1.1b}{1995/02/15}{Option \opt{12h} added.}
-% \changes{v1.2}{2010/03/10}{Option uses \pkg*{scrkbase}.}
+% \changes{v1.1b}{1995/02/15}{option \opt{12h} added}
+% \changes{v1.2}{2010/03/10}{option uses \pkg*{scrkbase}}
% \begin{option}{24h}
-% \changes{v1.1b}{1995/02/15}{Option \opt{24h} added.}
-% \changes{v1.2}{2010/03/10}{Option is deprecated.}
+% \changes{v1.1b}{1995/02/15}{option \opt{24h} added}
+% \changes{v1.2}{2010/03/10}{option is deprecated}
+% \changes{v3.39}{2022/11/16}{declare deprecated option only with \KOMAScript~3}
% \begin{macro}{\if@Hxii,\@Hxiitrue,\@Hxiifalse}
% \changes{v1.1b}{1995/02/15}{new switch}
% There are two the two Options |24h| and |12h|. We need a switch to
@@ -149,7 +150,9 @@
% So the options are simple.
% \begin{macrocode}
\KOMA@ifkey{12h}{@Hxii}
-\KOMA@DeclareDeprecatedOption[scrtime]{24h}{12h=false}
+\@ifundefined{KOMA@DeclareDeprecatedOption}{}{%
+ \KOMA@DeclareDeprecatedOption[scrtime]{24h}{12h=false}%
+}
% \end{macrocode}
% \end{option}
% \end{option}
@@ -504,35 +507,35 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@ngerman}
-% \changes{v1.1i}{1999/10/09}{new language ``ngerman''.}
+% \changes{v1.1i}{1999/10/09}{new language ``ngerman''}
% \begin{macrocode}
\newdaylanguage{ngerman}{Montag}{Dienstag}{Mittwoch}
{Donnerstag}{Freitag}{Samstag}{Sonntag}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@naustrian}
-% \changes{v3.08b}{2011/02/22}{new language ``naustrian''.}
+% \changes{v3.08b}{2011/02/22}{new language ``naustrian''}
% \begin{macrocode}
\newdaylanguage{naustrian}{Montag}{Dienstag}{Mittwoch}
{Donnerstag}{Freitag}{Samstag}{Sonntag}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@austrian}
-% \changes{v3.08b}{2011/02/22}{new language ``austrian''.}
+% \changes{v3.08b}{2011/02/22}{new language ``austrian''}
% \begin{macrocode}
\newdaylanguage{austrian}{Montag}{Dienstag}{Mittwoch}
{Donnerstag}{Freitag}{Samstag}{Sonntag}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@swissgerman}
-% \changes{v3.13}{2014/01/23}{new language ``swissgerman''.}
+% \changes{v3.13}{2014/01/23}{new language ``swissgerman''}
% \begin{macrocode}
\newdaylanguage{swissgerman}{Montag}{Dienstag}{Mittwoch}
{Donnerstag}{Freitag}{Samstag}{Sonntag}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@nswissgerman}
-% \changes{v3.13}{2014/01/23}{new language ``nswissgerman''.}
+% \changes{v3.13}{2014/01/23}{new language ``nswissgerman''}
% \begin{macrocode}
\newdaylanguage{nswissgerman}{Montag}{Dienstag}{Mittwoch}
{Donnerstag}{Freitag}{Samstag}{Sonntag}
@@ -540,70 +543,70 @@
% \end{macro}
%
% \begin{macro}{\dayname@american}
-% \changes{v3.13}{2014/01/23}{new language ``american''.}
+% \changes{v3.13}{2014/01/23}{new language ``american''}
% \begin{macrocode}
\newdaylanguage{american}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@australian}
-% \changes{v3.13}{2014/01/23}{new language ``australian''.}
+% \changes{v3.13}{2014/01/23}{new language ``australian''}
% \begin{macrocode}
\newdaylanguage{australian}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@british}
-% \changes{v3.13}{2014/01/23}{new language ``british''.}
+% \changes{v3.13}{2014/01/23}{new language ``british''}
% \begin{macrocode}
\newdaylanguage{british}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@canadian}
-% \changes{v3.13}{2014/01/23}{new language ``canadian''.}
+% \changes{v3.13}{2014/01/23}{new language ``canadian''}
% \begin{macrocode}
\newdaylanguage{canadian}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@english}
-% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''.}
+% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''}
% \begin{macrocode}
\newdaylanguage{english}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@newzealand}
-% \changes{v3.13}{2014/01/23}{new language ``newzealand''.}
+% \changes{v3.13}{2014/01/23}{new language ``newzealand''}
% \begin{macrocode}
\newdaylanguage{newzealand}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@UKenglish}
-% \changes{v3.13}{2014/01/23}{new language ``UKenglish''.}
+% \changes{v3.13}{2014/01/23}{new language ``UKenglish''}
% \begin{macrocode}
\newdaylanguage{UKenglish}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@ukenglish}
-% \changes{v3.24}{2017/05/29}{new language ``ukenglish''.}
+% \changes{v3.24}{2017/05/29}{new language ``ukenglish''}
% \begin{macrocode}
\newdaylanguage{ukenglish}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@USenglish}
-% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''.}
+% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''}
% \begin{macrocode}
\newdaylanguage{USenglish}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@usenglish}
-% \changes{v3.24}{2017/05/29}{new language ``usenglish''.}
+% \changes{v3.24}{2017/05/29}{new language ``usenglish''}
% \begin{macrocode}
\newdaylanguage{usenglish}{Monday}{Tuesday}{Wednesday}
{Thursday}{Friday}{Saturday}{Sunday}
@@ -611,21 +614,21 @@
% \end{macro}
%
% \begin{macro}{\dayname@acadian}
-% \changes{v3.13}{2014/01/23}{new language ``acadian''.}
+% \changes{v3.13}{2014/01/23}{new language ``acadian''}
% \begin{macrocode}
\newdaylanguage{acadian}{Lundi}{Mardi}{Mercredi}
{Jeudi}{Vendredi}{Samedi}{Dimanche}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@canadien}
-% \changes{v3.13}{2014/01/23}{new language ``canadien''.}
+% \changes{v3.13}{2014/01/23}{new language ``canadien''}
% \begin{macrocode}
\newdaylanguage{canadien}{Lundi}{Mardi}{Mercredi}
{Jeudi}{Vendredi}{Samedi}{Dimanche}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\dayname@francais}
-% \changes{v3.13}{2014/01/23}{new language ``francais''.}
+% \changes{v3.13}{2014/01/23}{new language ``francais''}
% \begin{macrocode}
\newdaylanguage{francais}{Lundi}{Mardi}{Mercredi}
{Jeudi}{Vendredi}{Samedi}{Dimanche}
@@ -726,8 +729,8 @@
%
% If there are no language-definitions, we simply want the US-english names
% of the days.
-% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''.}
-% \changes{v3.15}{2014/12/11}{default language definition fixed.}
+% \changes{v1.1g}{1997/06/21}{correct name is ``tuesday''}
+% \changes{v3.15}{2014/12/11}{default language definition fixed}
% \begin{macrocode}
\let\@dayname\dayname@english
% \end{macrocode}
diff --git a/macros/latex/contrib/koma-script/scrwfile.dtx b/macros/latex/contrib/koma-script/scrwfile.dtx
deleted file mode 100644
index fb36f373e2..0000000000
--- a/macros/latex/contrib/koma-script/scrwfile.dtx
+++ /dev/null
@@ -1,516 +0,0 @@
-% \iffalse meta-comment
-% ======================================================================
-% scrwfile.dtx
-% Copyright (c) Markus Kohm, 2010-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 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.md.
-% ======================================================================
-%%% From File: $Id: scrwfile.dtx 3955 2022-10-06 08:13:32Z kohm $
-%<*dtx>
-\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
-\ProvidesFile{scrwfile.dtx}
-%</dtx>
-%<(package&identify)|driver>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-%<package&identify>\ProvidesPackage{scrwfile}
-%<driver>\ProvidesFile{scrwfile.drv}
-%<*dtx|(package&identify)|driver>
- [2022/10/06 v0.1.11 KOMA-Script package (write and clone files)]
-%</dtx|(package&identify)|driver>
-%<*dtx>
-\ifx\documentclass\undefined
- \input scrdocstrip.tex
- \@@input scrkernel-version.dtx
- \@@input scrstrip.inc
- \KOMAdefVariable{COPYRIGHTFROM}{2010}
-
- \generate{\usepreamble\defaultpreamble
- \file{scrwfile.sty}{%
- \from{scrwfile.dtx}{package,scrwfile,identify,option,body}%
- \from{scrlogo.dtx}{logo}%
- }%
- }
-
- \@@input scrstrop.inc
-\else
- \let\endbatchfile\relax
-\fi
-\endbatchfile
-%</dtx>
-%<*driver>
-\documentclass[USenglish]{koma-script-source-doc}
-\usepackage{babel}
-\usepackage{hvlogos}
-\setcounter{StandardModuleDepth}{2}
-\begin{document}
-\DocInput{scrwfile.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \changes{v0.1}{2010/10/01}{start of new package}
-% \changes{v0.1.7}{2014/10/13}{manual moved to \KOMAScript{} manual}
-% \changes{v0.1.9}{2021/05/30}{version number scheme changed}
-% \changes{v0.1.10}{2022/02/05}{switch over from \cls*{scrdoc} to
-% \cls*{koma-script-source-doc}}
-%
-% \GetFileInfo{scrwfile.dtx}
-% \title{Saving Write Handles with the Experimental
-% \href{https://komascript.de}{\KOMAScript} Package \pkg*{scrwfile}}
-% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
-% \date{Version \fileversion{} of \filedate}
-% \maketitle
-% \begin{abstract}
-% The \TeX{} engines \TeX, \pdfTeX, and \XeTeX{} (but not \LuaTeX) do
-% provide only 16 handles for simultaneously write open files. Some of them
-% are already used by \LaTeX{}. Moreover, for every file using
-% \cs{@starttoc} \LaTeX{} keeps a write file open from usage of
-% \cs{@starttoc}, e.g., inside \cs{tableofcontents}, \cs{listoffigures}
-% etc., until the end of the document. Additional write files are used for
-% the index, glossary etc. So sometimes it happens, that there are not
-% enough handles to open another one. \pkg*{scrwfile} was made to change the
-% \LaTeX{} internal handling of all the helper files bases on \cs{@starttoc}
-% to not keep them open simultaneously, but use only one file handle for all
-% of them. So you should never run out of write file handles.
-% \end{abstract}
-%
-% \section{User Manual}
-%
-% You can find the user manual of \pkg*{scrwfile} in the \KOMAScript{} manual,
-% either the German \file{scrguide} or the English \file{scrguien}. But please
-% note:
-% \begin{quote}\bfseries
-% This is an experimental package. Usage of this package is on your own
-% risk. There is no support, if you are using this package, not only for
-% this package but also for the class you are using or other packages, that
-% use \cs{@starttoc} or \cs{@writefile} like \pkg{caption}, \pkg{float},
-% \pkg*{tocbasic}, \pkg{listings} and many more.
-% \end{quote}
-%
-% \MaybeStop{\PrintIndex}
-%
-%
-% \section{Implementation of \pkg*{scrwfile}}
-%
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*identify>
-\PackageWarningNoLine{scrwfile}{%
- THIS IS AN EXPERIMENTAL PACKAGE!\MessageBreak
- USAGE OF THIS PACKAGE IS ON YOUR OWN RISK!\MessageBreak
- EVERYTHING MAY HAPPEN!\MessageBreak
- EVERYTHING MAY CHANGE IN FUTURE!\MessageBreak
- THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE!\MessageBreak
- Maybe, it would be better not to load this package%
-}
-%</identify>
-% \end{macrocode}
-%\iffalse
-%\fi
-%
-% \subsection{Options}
-% \iffalse
-%<*option>
-% \fi
-% Currently we don't need options.
-% \iffalse
-%</option>
-% \fi
-%
-% \subsection{Body}
-% \begin{macrocode}
-%<*body>
-% \end{macrocode}
-%
-% \subsubsection{Needed Packages}
-%
-% Package \pkg*{scrbase} is needed, because of using several \KOMAScript{}
-% basic commands.
-% \begin{macrocode}
-\RequirePackage{scrbase}[2010/09/17]
-% \end{macrocode}
-%
-% Package \pkg*{scrlfile} is needed because of the \file{aux}-file
-% handling and \cs{protected@immediate@write}.
-% \begin{macrocode}
-\RequirePackage{scrlfile}[2010/09/30]
-% \end{macrocode}
-%
-% \changes{v0.1.10}{2022/02/04}{\pkg{iftex} is required}
-% Package \pkg{iftex} is used to detect Lua\LaTeX.
-% \begin{macrocode}
-\RequirePackage{iftex}
-% \end{macrocode}
-%
-% \subsubsection{Is is needed?}
-%
-% \changes{v0.1.9}{2021/05/30}{with Lua\LaTeX{} using is not recommended}
-% \changes{v0.1.10}{2022/02/04}{using \cs{ifluatex}}
-% \changes{v0.1.10}{2022/02/04}{\cs{PackageInfoNoLine} replaced by
-% \cs{PackageWarningNoLine}}
-% If the user uses Lua\LaTeX{} usage of \pkg*{scrwfile} should not be
-% needed.
-% \begin{macrocode}
-\ifluatex
- \PackageWarningNoLine{scrwfile}{LuaLaTeX detected.\MessageBreak
- With LuaLaTeX you should never get an error message:\MessageBreak
- \space\space`No room for a new \string\write'.\MessageBreak
- So scrwfile could make much more harm than benefit\MessageBreak
- and using it is not recommended}%
-\fi
-% \end{macrocode}
-%
-% \subsubsection{\LaTeX{} Kernel Patchs}
-%
-% For some features we need to patch \LaTeX{} kernel macros. Those features
-% and macros are:
-% \begin{description}
-% \item[Single handle feature] means, that \LaTeX{} will no longer need a file
-% handle for every help file, but only one for all files. We will patch
-% \cs{@starttoc} and \cs{@writefile} to do so.
-% \item[Clone file feature] means, that every write to one file may be done to
-% another file, too. We will patch \cs{@writefile} to do so.
-% \end{description}
-% Every patch should be minimum invasive, so that files, that are not under
-% \pkg*{scrwfile}'s control are changed as little as possible.
-%
-% \begin{macro}{\scrwfile@if@only}
-% First of all we check, if the file should be handled by \pkg*{scrwfile}.
-% \begin{macrocode}
-\newcommand*{\scrwfile@if@only}[1]{%
- \begingroup
- \scr@ifundefinedorrelax{scrwfile@only}{\@tempswatrue}{%
- \@tempswafalse
- \edef\reserved@b{#1}%
- \@for\reserved@a:=\scrwfile@only\do
- {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
- }%
- \if@tempswa
- \scr@ifundefinedorrelax{scrwfile@never}{}{%
- \edef\reserved@b{#1}%
- \@for\reserved@a:=\scrwfile@never\do
- {\ifx\reserved@a\reserved@b\@tempswafalse\fi}%
- }%
- \fi
- \expandafter\endgroup
- \if@tempswa
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scrwfile@starttoc,\scrwfile@@starttoc}
-% This is the internal redefinition of \cs{@starttoc}. First of all test, if it
-% should be used, then use it or not.
-% \begin{macrocode}
-\newcommand*{\scrwfile@starttoc}[1]{%
- \scrwfile@if@only{#1}{\scrwfile@@starttoc}{\scrwfile@saved@starttoc}{#1}%
-}
-\newcommand*{\scrwfile@@starttoc}[1]{%
-%<trace> \PackageInfo{scrwfile}{%
-%<trace> Using my own \string\@starttoc\space for `#1'}%
- \begingroup
- \if@filesw
- \xdef\scrwfile@writefilelist{\scrwfile@writefilelist,#1}%
- \fi
- \@fileswfalse
- \scrwfile@saved@starttoc{#1}%
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\scrwfile@writefile,\scrwfile@@writefile,\scrwfile@wrtout,
-% \scrwfile@writefilelist}
-% This is the internal redefinition of \cs{@writefile}. First of all test, if
-% it should be used, then use it or not.
-% \begin{macrocode}
-\newcommand*{\scrwfile@writefile}[1]{%
- \scrwfile@if@only{#1}{\scrwfile@@writefile}{\scrwfile@saved@writefile}{#1}%
-}
-\newcommand{\scrwfile@@writefile}[2]{%
-%<trace> \PackageInfo{scrwfile}{%
-%<trace> Using my own \string\@writefile\space for `#1'}%
- \ifnum\scrwfile@wrtout>0
- \begingroup
- \@temptokena{#2}%
- \immediate\write\scrwfile@wrtout{%
- \string\@writefile{#1}{\the\@temptokena}%
- }%
-% \end{macrocode}
-% This was the entry for the real file. But we also may have clone files:
-% \begin{macrocode}
- \scrwfile@process@clones{#1}%
- \endgroup
- \fi
-}
-\chardef\scrwfile@wrtout\z@
-\newcommand*{\scrwfile@writefilelist}{}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@writefile,\scrwfile@saved@writefile}
-% We have to add the single handle feature and the clone file feature to
-% \cs{@writefile} and therefore save the original
-% definition. \cs{scrwfile@saved@writefile} is used, whenever a file is not
-% under \pkg*{scrwfile}'s control.
-% \begin{macrocode}
-\newcommand*{\scrwfile@saved@writefile}{}
-\BeforeClosingMainAux{%
- \ifx\scrwfile@writefilelist\@empty\else
- \let\scrwfile@saved@writefile\@writefile
- \let\scrwfile@wrtout\@partaux
- \immediate\openout\scrwfile@wrtout \jobname.wrt
- \let\@writefile\scrwfile@writefile
- \fi
-}
-\AfterReadingMainAux{%
- \ifx\scrwfile@writefilelist\@empty\else
- \immediate\closeout\scrwfile@wrtout
- \chardef\scrwfile@wrtout\z@
- \begingroup
- \let\@writefile\scrwfile@saved@writefile
- \@for\@currext:=\scrwfile@writefilelist\do{%
- \begingroup
- \ifx\@currext\@empty\else
- \scr@ifundefinedorrelax{tf@\@currext}{%
-%<trace> \typeout{Process extension: `\@currext'}
- \immediate\openout\@partaux \jobname.\@currext
- \expandafter\let\csname tf@\@currext\endcsname\@partaux
- \@input@{\jobname.wrt}%
- \immediate\closeout\@partaux
- }{}%
- \fi
- \endgroup
- }%
- \endgroup
- \fi
-}
-% \end{macrocode}
-% \changes{v0.1.8}{2021/05/30}{added order rule for
-% \pkg*{scrlayer-notecolumn}}
-% Note: Here we use a \LaTeX{} version test, because a do-nothing-definition
-% like the one of \pkg{latexrelease} wouldn't be correct, if the command is
-% not supported by the current \LaTeX{} kernel version setting.
-% \begin{macrocode}
-\IfLTXAtLeastTF{2020/10/01}{%
- \DeclareHookRule{enddocument/afteraux}%
- {scrwfile}{before}{scrlayer-notecolumn}%
-}{%
- \@ifpackageloaded{scrlayer-notecolumn}{%
- \PackageWarningNoLine{scrwfile}{%
- Dangerous package order detected!\MessageBreak
- As a general rule, you should load scrwfile as soon\MessageBreak
- as possible, maybe even before `\string\documentclass'\MessageBreak
- (using `\string\RequirePackage' instead of
- `\string\usepackage').\MessageBreak
- Following packages should be loaded after scrwfile:\MessageBreak
- \space - scrlayer-notecolumn}%
- }{}%
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@starttoc,\scrwfile@saved@starttoc}
-% We have to add the single handle feature to \cs{@starttoc} and therefore
-% save the original definition.
-% \changes{v0.1.5}{2013/07/24}{take care for outdated \pkg{hyperref}}
-% \changes{v0.1.11}{2022/10/06}{ready for \pkg{hyperref} without
-% \cs{Hy@AtBeginDocumentHook}}
-% \cs{scrwfile@saved@starttoc} is be used, whenever the file is not under
-% \pkg*{scrwfile}'s control. Because of old versions of package
-% \pkg{hyperref}, that do a hard redefinition without any care for changed
-% definitions, we have to take care for that and cannot do a simple
-% \begin{verbatim}
-% \let\scrwfile@saved@starttoc\@starttoc
-% \let\@starttoc\scrwfile@starttoc
-% \end{verbatim}
-% \begin{macrocode}
-\newcommand*{\scrwfile@saved@starttoc}{}
-\AtBeginDocument{%
- \begingroup
- \@ifpackageloaded{hyperref}{%
- \scr@ifundefinedorrelax{Hy@AtBeginDocument}{%
- \PackageInfo{scrwfile}{%
- Using immediate redefinition of `\string\@starttoc'%
- }%
- \aftergroup\@firstofone
- }{%
- \ifx\Hy@AtBeginDocumentHook\@undefined
- \PackageInfo{scrwfile}{%
- Using immediate redefinition of `\string\@starttoc'%
- }%
- \aftergroup\@firstofone
- \else
-% \end{macrocode}
-% From v7.00o \pkg{hyperref} does not redefine \cs{@starttoc} any more. So we
-% do need the usage of \cs{Hy@AtBeginDocument} only for versions before.
-% \begin{macrocode}
- \@ifpackagelater{hyperref}{2022/02/22}{% newer than v7.00n
- \PackageInfo{scrwfile}{%
- Using immediate redefinition of `\string\@starttoc'%
- }%
- \aftergroup\@firstofone
- }{%
- \PackageWarning{scrwfile}{%
- Outdated package `hyperref' detected.\MessageBreak
- Using `\string\Hy@AtBeginDocument' for redefinition of
- `\string\@starttoc'.\MessageBreak
- We recommend to update `hyperref'
- }%
- \aftergroup\Hy@AtBeginDocument
- }%
- \fi
- }%
- }{%
- \PackageInfo{scrwfile}{%
- Using immediate redefinition of `\string\@starttoc'%
- }%
- \aftergroup\@firstofone
- }%
- \endgroup
- {%
- \PackageInfo{scrwfile}{%
- Extending `\string\@starttoc`
- }%
- \let\scrwfile@saved@starttoc\@starttoc
- \let\@starttoc\scrwfile@starttoc
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \subsubsection{Clone TOC Feature}
-%
-% \pkg*{scrwfile} may clone a TOC, that means, every entry to one file will
-% be copied to other files, too. You must not clone recursively!
-%
-% \begin{description}
-% \item[ToDo:]The whole feature should be moved to \pkg*{tocbasic}. But this
-% would need a complete re-implementation and would result in one more write
-% handle for every cloned file. So maybe it wouldn't be a really good idea
-% to do so.
-% \end{description}
-%
-% \begin{macro}{\scrwfile@process@clones}
-% \begin{macrocode}
-\newcommand*{\scrwfile@process@clones}[1]{%
- \scr@ifundefinedorrelax{scrwfile@clone@#1}{}{%
- \begingroup
- \let\@@protect\protect\let\protect\@empty\afterassignment\restore@protect
- \edef\reserved@b{\csname scrwfile@clone@#1\endcsname}%
- \edef\reserved@c{,#1}%
- \@for \reserved@a:=\reserved@b\do {%
- \@tempswatrue
- \@for \reserved@d:=\reserved@c\do {%
- \ifx\reserved@d\reserved@a\@tempswafalse\fi
- }%
- \if@tempswa
-%<trace> \typeout{clone entry from `#1' to `\reserved@a'}%
- \immediate\write\scrwfile@wrtout{%
- \string\@writefile{\reserved@a}{\the\@temptokena}%
- }%
- \edef\reserved@c{\reserved@c,\reserved@a}%
- \fi
- }%
- \endgroup
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{command}{\TOCclone}
-% \changes{v0.1.8}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}
-% \changes{v0.1.8}{2019/11/19}{\cs{ifattoclist} replaced by \cs{Ifattoclist}}
-% \changes{v0.1.8}{2019/11/19}{\cs{iftocfeature} replaced by
-% \cs{Iftocfeature}}
-% \changes{v0.1.8}{2020/02/25}{spurious space in warning message removed}
-% \changes{v0.1.9}{2021/05/30}{requires package \pkg*{tocbasic}}
-% \changes{v0.1.9}{2021/05/30}{can be used only in preamble}
-% Clone the entries from the second (first mandatory) argument TOC to the
-% third (second mandatory) argument TOC. If the first (optional) argument was
-% given, define |\listof#3name| to this and also define |\listof#3| and clone
-% the toc features \texttt{leveldown}, \texttt{numbered}, \texttt{onecolumn}
-% and \texttt{totoc} of |#2| to |#3|. The toc feature \texttt{nobabel} will
-% always be set, because the babel entries at TOC |#3| will be cloned from TOC
-% |#2|.
-% \begin{description}
-% \item{Note:} We use owner \texttt{TOCclone} for all cloned extensions.
-% \end{description}
-% \begin{macrocode}
-\newcommand*{\TOCclone}[3][]{%
- \RequirePackage{tocbasic}%
- \scr@ifundefinedorrelax{scrwfile@clone@#2}{%
- \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{%
- #3,\protect\csname scrwfile@clone@#3\endcsname
- }%
- }{%
- \edef\reserved@b{\csname scrwfile@clone@#2\endcsname}%
- \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{%
- \csname scrwfile@clone@#2\endcsname,%
- #3,%
- \protect\csname scrwfile@clone@#3\endcsname
- }%
- }%
- \scr@ifundefinedorrelax{scrwfile@clone@#3}{%
- \expandafter\let\csname scrwfile@clone@#3\endcsname\@empty
- }{}%
- \Ifattoclist{#3}{%
- \PackageWarning{scrwfile}{`#3' already under control of
- tocbasic.\MessageBreak
- Nevertheless features will be set%
- }%
- }{%
- \addtotoclist[TOCclone]{#3}%
- }%
- \setuptoc{#3}{nobabel}%
- \Ifstr{#1}{}{%
- }{%
- \@namedef{listof#3name}{#1}%
- \@namedef{listof#3}{\listoftoc{#3}}%
- \Iftocfeature{#2}{leveldown}{\setuptoc{#3}{leveldown}}{}%
- \Iftocfeature{#2}{numbered}{\setuptoc{#3}{numbered}}{}%
- \Iftocfeature{#2}{onecolumn}{\setuptoc{#3}{leveldownonecolumn}}{}%
- \Iftocfeature{#2}{totoc}{\setuptoc{#3}{totoc}}{}%
- }%
-}
-\@onlypreamble\TOCClone
-%</body>
-% \end{macrocode}
-% \end{command}
-%
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-% \Finale
-% \PrintChanges
-%
-% \endinput
-% Local Variables:
-% mode: doctex
-% ispell-local-dictionary: "en_US"
-% eval: (flyspell-mode 1)
-% TeX-master: t
-% TeX-engine: luatex-dev
-% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
-% End:
diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
index 0d70c7ff9d..28279dff29 100644
--- a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
+++ b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
index 3bd25ff4dc..81a1b3003f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
@@ -296,30 +296,30 @@
\DeclareSIUnit{\Tempo}{\are}%
}{%
\ifboolKV[Unites]{nm}{%
- \DeclareSIUnit{\Tempo}{\nano\meter}%
+ \DeclareSIUnit{\Tempo}{\square\nano\meter}%
}{%
\ifboolKV[Unites]{um}{%
- \DeclareSIUnit{\Tempo}{\micro\meter}%
+ \DeclareSIUnit{\Tempo}{\square\micro\meter}%
}{%
\ifboolKV[Unites]{km}{%
- \DeclareSIUnit{\Tempo}{\kilo\meter}%
+ \DeclareSIUnit{\Tempo}{\square\kilo\meter}%
}{%
\ifboolKV[Unites]{hm}{%
- \DeclareSIUnit{\Tempo}{\hecto\meter}%
+ \DeclareSIUnit{\Tempo}{\square\hecto\meter}%
}{%
\ifboolKV[Unites]{dam}{%
- \DeclareSIUnit{\Tempo}{\deca\meter}%
+ \DeclareSIUnit{\Tempo}{\square\deca\meter}%
}{%
\ifboolKV[Unites]{m}{%
- \DeclareSIUnit{\Tempo}{\meter}%
+ \DeclareSIUnit{\Tempo}{\square\meter}%
}{%
\ifboolKV[Unites]{dm}{%
- \DeclareSIUnit{\Tempo}{\deci\meter}%
+ \DeclareSIUnit{\Tempo}{\square\deci\meter}%
}{%
\ifboolKV[Unites]{mm}{%
- \DeclareSIUnit{\Tempo}{\milli\meter}%
+ \DeclareSIUnit{\Tempo}{\square\milli\meter}%
}{%
- \DeclareSIUnit{\Tempo}{\centi\meter}%
+ \DeclareSIUnit{\Tempo}{\square\centi\meter}%
}%
}%
}%
@@ -331,10 +331,10 @@
}%
}%
\ifboolKV[Unites]{Nombre}{%
- \SI{#2}{\square\Tempo}%
+ \SI{#2}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\square\Tempo}%
+ \pointilles[\PfCLgUnites]\,\si{\Tempo}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCNonogramme.tex b/macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
new file mode 100644
index 0000000000..8c72ca696e
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
@@ -0,0 +1,587 @@
+\setKVdefault[Nono]{Largeur=10pt,Taille=5,Unite=1cm,Solution=false,Enonce=true}
+
+\newtoks\toklistenonoa%
+\newtoks\toklistenonob%
+\def\UpdatetoksNonoa#1\nil{\addtotok\toklistenonoa{#1,}}%
+\def\UpdatetoksNonob#1\nil{\addtotok\toklistenonob{#1,}}%
+
+\def\UpdatetoksNonoA#1\nil{\addtotok\toklistenonoa{"#1",}}%
+\def\UpdatetoksNonoB#1\nil{\addtotok\toklistenonob{"#1",}}%
+
+\NewDocumentCommand\Nonogrammeold{o m m}{%
+ \useKVdefault[Nono]%
+ \setKV[Nono]{#1}%
+ \setsepchar{,}%
+ \readlist*\PfCListeNonoa{#2}%
+ \readlist*\PfCListeNonob{#3}%
+ \toklistenonoa{}%
+ \foreachitem\compteur\in\PfCListeNonoa{\expandafter\UpdatetoksNonoa\compteur\nil}%
+ \toklistenonob{}%
+ \foreachitem\compteur\in\PfCListeNonob{\expandafter\UpdatetoksNonob\compteur\nil}%
+ \BuildNono{\the\toklistenonoa}{\the\toklistenonob}%
+}%
+
+\NewDocumentCommand\Nonogramme{o m}{%
+ \useKVdefault[Nono]%
+ \setKV[Nono]{#1}%
+ \setsepchar{,}%
+ \readlist*\PfCListeNonoa{#2}%
+ \toklistenonoa{}%
+ \toklistenonob{}%
+ \foreachitem\compteur\in\PfCListeNonoa{\expandafter\UpdatetoksNonoA\compteur\nil}%
+ \xintFor* ##2 in{\xintSeq{1}{\useKV[Nono]{Taille}}}\do{%
+ \xdef\PfCNonoFoo{}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeNonoalen}}\do{%
+ \StrChar{\PfCListeNonoa[##1]}{##2}[\PfCNonoRetiens]
+ \xdef\PfCNonoFoo{\PfCNonoFoo\PfCNonoRetiens}
+ }%
+ \expandafter\UpdatetoksNonoB\PfCNonoFoo\nil%
+ }%
+ \BuildNono{\the\toklistenonoa}{\the\toklistenonob}%
+ }%
+
+\NewDocumentCommand\BuildNono{m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ Taille:=\useKV[Nono]{Taille};
+ u:=\useKV[Nono]{Unite};
+ boolean Solution,Enonce;
+ Solution:=\useKV[Nono]{Solution};
+ Enonce:=\useKV[Nono]{Enonce};
+
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ nblignes:=nblignes+1;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ cptretiensnblignes:=1;
+ for p_=t:
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ elseif substring(k,k+1) of p_="X":
+ if Solution: fill ((Square scaled 0.95) shifted(u*((k,-cptretiensnblignes)+(0.025,0.025)))) fi;
+ fi;
+ trace (Square shifted(u*(k,-cptretiensnblignes)));
+ endfor;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ vardef AffichageL(text t)=
+ cptnblignes:=0;
+ for p_=t:
+ pas:=0;
+ cptnblignes:=cptnblignes+1;
+ nbcoups:=0;
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ Sequence[cptnblignes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown Sequence[cptnblignes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.lft(TEX(Sequence[cptnblignes][k]),(0,0) shifted (-(nbpas-1)*5mm-2.5mm,u*(-cptnblignes+0.5)));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ vardef AffichageC(text t)=
+ cptnbcolonnes:=0;
+ for p_=t:
+ pas:=0;
+ cptnbcolonnes:=cptnbcolonnes+1;
+ nbcoups:=0;
+ for k=0 upto nblignes-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ SequenceCol[cptnbcolonnes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown SequenceCol[cptnbcolonnes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.top(TEX(SequenceCol[cptnbcolonnes][k]),(0,0) shifted (u*(cptnbcolonnes-0.5),(nbpas-1)*5mm+2.5mm));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ if Enonce:
+ AffichageL(#1);
+ AffichageC(#2);
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={Taille:=\useKV[Nono]{Taille};u:=\useKV[Nono]{Unite};boolean Solution,Enonce;Solution:=\useKV[Nono]{Solution};Enonce:=\useKV[Nono]{Enonce};}]
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ nblignes:=nblignes+1;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ cptretiensnblignes:=1;
+ for p_=t:
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ elseif substring(k,k+1) of p_="X":
+ if Solution: fill ((Square scaled 0.95) shifted(u*((k,-cptretiensnblignes)+(0.025,0.025)))) fi;
+ fi;
+ trace (Square shifted(u*(k,-cptretiensnblignes)));
+ endfor;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ vardef AffichageL(text t)=
+ cptnblignes:=0;
+ for p_=t:
+ pas:=0;
+ cptnblignes:=cptnblignes+1;
+ nbcoups:=0;
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ Sequence[cptnblignes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown Sequence[cptnblignes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.lft(LATEX(Sequence[cptnblignes][k]),(0,0) shifted (-(nbpas-1)*5mm-2.5mm,u*(-cptnblignes+0.5)));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ vardef AffichageC(text t)=
+ cptnbcolonnes:=0;
+ for p_=t:
+ pas:=0;
+ cptnbcolonnes:=cptnbcolonnes+1;
+ nbcoups:=0;
+ for k=0 upto nblignes-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ SequenceCol[cptnbcolonnes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown SequenceCol[cptnbcolonnes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.top(LATEX(SequenceCol[cptnbcolonnes][k]),(0,0) shifted (u*(cptnbcolonnes-0.5),(nbpas-1)*5mm+2.5mm));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ if Enonce:
+ AffichageL(#1);
+ AffichageC(#2);
+ fi;
+ \end{mpost}
+ \fi
+}
+
+\NewDocumentCommand\BuildNonoold{m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ Taille:=\useKV[Nono]{Taille};
+ u:=\useKV[Nono]{Unite};
+ boolean Solution,Enonce;
+ Solution:=\useKV[Nono]{Solution};
+ Enonce:=\useKV[Nono]{Enonce};
+
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ retiens:=retiens+p_;
+ if retiens=Taille:
+ nblignes:=nblignes+1;
+ retiens:=0;
+ fi;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcaseslignes:=0;
+ cptretiensnb:=0;
+ cptretiensnblignes:=1;
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ for l=0 upto p_-1:
+ if Solution: fill ((Square scaled 0.95) shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))+u*(0.025,0.025))) withcolor NonoFill; fi;
+ trace (Square shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))));
+ endfor;
+ nbcaseslignes:=nbcaseslignes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcaseslignes mod Taille)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string SequenceColo;
+
+ vardef Nonob(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcasescolonnes:=0;
+ cptretiensnb:=0;
+ cptretiensnbcolonnes:=1;
+ SequenceColo="";
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ nbcasescolonnes:=nbcasescolonnes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcasescolonnes mod nblignes)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ cptretiensnbcolonnes:=cptretiensnbcolonnes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ boolean STOP;
+ STOP:=false;
+
+ vardef Affichage=
+ for k=1 upto nblignes:
+ Sequence[k][1]=if nbretenir[k][1]=0:decimal(nbretenir[k][2]) else:"" fi;
+ if nbretenir[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenir[k][n]:
+ STOP:=true;
+ else:
+ if nbretenir[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ Sequence[k][p]:=decimal(nbretenir[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.lft(TEX(Sequence[k][r]),(0,0) shifted (-(r-1)*5mm,u*(-k+1+0.5)));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ vardef Affichagecol=
+ STOP:=false;
+ for k=1 upto Taille:
+ SequenceCol[k][1]=if nbretenircol[k][1]=0:decimal(nbretenircol[k][2]) else:"" fi;
+ if nbretenircol[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenircol[k][n]:
+ STOP:=true;
+ else:
+ if nbretenircol[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ SequenceCol[k][p]:=decimal(nbretenircol[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.top(TEX(SequenceCol[k][r]),(0,0) shifted (k*u-0.5u,1u+(p-r)*5mm));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ Nonob(#2);
+ if Enonce:
+ Affichage;
+ Affichagecol;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={Taille:=\useKV[Nono]{Taille};u:=\useKV[Nono]{Unite};boolean Solution,Enonce;Solution:=\useKV[Nono]{Solution};Enonce:=\useKV[Nono]{Enonce};}]
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ retiens:=retiens+p_;
+ if retiens=Taille:
+ nblignes:=nblignes+1;
+ retiens:=0;
+ fi;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcaseslignes:=0;
+ cptretiensnb:=0;
+ cptretiensnblignes:=1;
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ for l=0 upto p_-1:
+ if Solution: fill ((Square scaled 0.95) shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))+u*(0.025,0.025))) withcolor NonoFill; fi;
+ trace (Square shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))));
+ endfor;
+ nbcaseslignes:=nbcaseslignes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcaseslignes mod Taille)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string SequenceColo;
+
+ vardef Nonob(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcasescolonnes:=0;
+ cptretiensnb:=0;
+ cptretiensnbcolonnes:=1;
+ SequenceColo="";
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ nbcasescolonnes:=nbcasescolonnes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcasescolonnes mod nblignes)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ cptretiensnbcolonnes:=cptretiensnbcolonnes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ boolean STOP;
+ STOP:=false;
+
+ vardef Affichage=
+ for k=1 upto nblignes:
+ Sequence[k][1]=if nbretenir[k][1]=0:decimal(nbretenir[k][2]) else:"" fi;
+ if nbretenir[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenir[k][n]:
+ STOP:=true;
+ else:
+ if nbretenir[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ Sequence[k][p]:=decimal(nbretenir[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.lft(LATEX(Sequence[k][r]),(0,0) shifted (-(r-1)*5mm,u*(-k+1+0.5)));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ vardef Affichagecol=
+ STOP:=false;
+ for k=1 upto Taille:
+ SequenceCol[k][1]=if nbretenircol[k][1]=0:decimal(nbretenircol[k][2]) else:"" fi;
+ if nbretenircol[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenircol[k][n]:
+ STOP:=true;
+ else:
+ if nbretenircol[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ SequenceCol[k][p]:=decimal(nbretenircol[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.top(LATEX(SequenceCol[k][r]),(0,0) shifted (k*u-0.5u,1u+(p-r)*5mm));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ Nonob(#2);
+ if Enonce:
+ Affichage;
+ Affichagecol;
+ fi;
+ \end{mpost}
+ \fi
+} \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index c40b96f846..1b4f7c5a7b 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2023/04/15}%
+\def\filedate{2023/04/17}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-z-i}%
+\def\fileversion{0.99-z-j}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -570,6 +570,7 @@
}%\raisebox
}
+\input{PfCNonogramme}
\input{PfCJeuRangement}
\input{PfCTrio}
\input{PfCCalculsFractions}
diff --git a/macros/latex/contrib/scrwfile/LICENSE.md b/macros/latex/contrib/scrwfile/LICENSE.md
new file mode 100644
index 0000000000..a385d07c8d
--- /dev/null
+++ b/macros/latex/contrib/scrwfile/LICENSE.md
@@ -0,0 +1,19 @@
+----------------------------------------------------------------------------
+
+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 2005/12/01
+or later. This work has the LPPL maintenance status “unmaintained”.
+The current author of this work is Markus Kohm.
+
+----------------------------------------------------------------------------
+
+Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle
+Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01
+oder später. Dieses Werk hat den LPPL-Verwaltungs-Status „unmaintained”
+Der aktuelle Autor dieses Werks ist Markus Kohm.
+
+----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/scrwfile/README.md b/macros/latex/contrib/scrwfile/README.md
new file mode 100644
index 0000000000..1067780db4
--- /dev/null
+++ b/macros/latex/contrib/scrwfile/README.md
@@ -0,0 +1,86 @@
+# `scrwfile` — Use LaTeX .aux file in place of `\newrite` files
+
+------------------------------------------------------------------------------
+
+LaTeX package `scrwfile`
+Copyright (c) 2010—2023 Markus Kohm
+Release: 2023-04-01 v0.1.99
+License: LPPL 1.3c (see [LICENSE.md](https://github.com/komascript/scrwfile/blob/main/LICENSE.md))
+CTAN Location: https://ctan.org/pkg/scrwfile
+
+------------------------------------------------------------------------------
+
+## Summary
+
+`scrwfile` is a LaTeX package, that provides a means of sending all LaTeX
+`\newrite`, table of contents, and other miscellaneous output via the LaTeX
+`.aux`-file. The mechanism subverts the mechanism of `\newrite`, and means there
+will almost never be a “`No room for new \write`” message.
+
+`scrwfile` is a [KOMA-Script](https://www.ctan.org/pkg/koma-script)
+spin-off and was part of that bundle up to `scrwfile` version 0.1.12
+resp. KOMA-Script version 3.38. It has been removed from KOMA-Script because
+it is experimental and no longer maintained officially.
+
+## Status
+
+This is an experimental package. There is currently no official maintainer
+of this package.
+
+## Installation
+
+We recommend to use the package manager of your TeX distribution to install
+packages. However, if you need to install `scrwfile` manually, you
+can either use a semi-manual installation or a completely manual installation.
+
+### Semi-manual Installation
+
+For a semi-manual installation you can first create a local clone
+of the repository:
+
+```bash
+git clone https://github.com/komascript/scrwfile.git
+```
+
+Then enter the directory created while cloning the repository:
+
+```bash
+cd scrwfile
+```
+
+Last, but not least use `l3build` to install it locally with manual and
+sources:
+
+```bash
+l3build install --full
+```
+
+or without manual and sources:
+
+```bash
+l3build install
+```
+
+### Completely Manual Installation
+
+To do a completely manual installation, download `scrwfile.dtx`.
+Then extract it using:
+
+```bash
+tex scrwfile.dtx
+```
+
+To create the manual use:
+
+```bash
+pdflatex scrwfile.dtx
+mkindex scrwfile
+pdflatex scrwfile.dtx
+pdflatex scrwfile.dtx
+```
+
+Now, you can either install it in the proper directory (see the
+documentation of your TeX distribution) or copy `scrwfile.sty`
+to your document directory.
+
+------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/scrwfile/scrwfile.dtx b/macros/latex/contrib/scrwfile/scrwfile.dtx
new file mode 100644
index 0000000000..2ea420a352
--- /dev/null
+++ b/macros/latex/contrib/scrwfile/scrwfile.dtx
@@ -0,0 +1,1136 @@
+% \iffalse^^A meta-comment
+% ======================================================================
+% scrwfile.dtx
+% Copyright (c) Markus Kohm, 2010-2023
+%
+% From version 0.1 2010/10/01 up to version 0.1.11 2022/10/06
+% this work was part of KOMA-Script v3.14 2014/10/28 up to
+% KOMA-Script v3.38 2022/10/12.
+%
+% Since version 0.1.99 2023/04/01 it has been removed from
+% KOMA-Script and has become a standalone package.
+%
+% 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 and of this work.
+%
+% This work has the LPPL maintenance status "unmaintained".
+%
+% The current author of this work is Markus Kohm.
+%
+% This work consists of the files `scrwfile.dtx' and `README.md'.
+%
+% For repository, issues etc. see:
+% <https://github.com/komascript/scrwfile>.
+%
+% Earlier versions of this work can be found in the KOMA-Script
+% repository on SourceForge, see:
+% <https://sourceforge.net/p/koma-script/code/>.
+% ======================================================================
+%%% From File: $Id: scrwfile.dtx 4018 2023-03-31 07:31:04Z kohm $
+%<*dtx>
+\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
+\ProvidesFile{scrwfile.dtx}
+%</dtx>
+%<package|driver>\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+%<package>\ProvidesPackage{scrwfile}
+%<driver>\ProvidesFile{scrwfile.drv}
+%<*dtx|package|driver>
+ [2023-03-31 v0.1.99 KOMA-Script package (write and clone files)]
+%</dtx|package|driver>
+%<*dtx>
+\ifx\documentclass\undefined
+ \input docstrip.tex
+ \generate{\usepreamble\defaultpreamble
+ \file{scrwfile.sty}{%
+ \from{scrwfile.dtx}{package}%
+ }%
+ }
+\else
+ \let\endbatchfile\relax
+\fi
+\endbatchfile
+%</dtx>
+%<*driver>
+\documentclass[USenglish,ngerman]{koma-script-source-doc}
+\usepackage[main=USenglish]{babel}
+\usepackage{hvlogos}
+\usepackage{listings}
+\setcounter{StandardModuleDepth}{2}
+\let\Macro\cs
+\let\Package\pkg
+\let\PName\meta
+\newcommand*{\PParameter}[1]{{\ttfamily\char`\{\mbox{#1}\char`\}}}
+\let\File\file
+\let\IndexCmd\SpecialMacroIndex
+\newcommand*{\seclabel}[1]{\label{sec-\languagename:scrwfile.#1}}
+\newcommand*{\textnote}[1]{}
+\let\important\textnote
+\newcommand*{\PValue}[1]{{\ttfamily\mbox{#1}}}
+\newenvironment{Example}{%
+ \setkomafont{labelinglabel}{\sffamily\bfseries}%
+ \labeling{\examplename:}
+ \item[\examplename:]
+}{\endlabeling}
+\newcaptionname{USenglish}{\examplename}{Example}
+\newcaptionname{ngerman}{\examplename}{Beispiel}
+\renewcaptionname{USenglish}{\contentsname}{Contents\,/\,Inhalt}
+\lstnewenvironment{lstcode}[1][]{%
+ \lstset{language=[LaTeX]TeX,basicstyle=\ttfamily\small,%
+ keywordstyle=\color{blue},
+ commentstyle=\color{green},
+ breaklines,prebreak=\mbox{$\hookleftarrow$},%
+ moretexcs={TOCclone,addxcontentsline,contentsname},
+ literate=%
+ {Ö}{{\"O}}1
+ {Ä}{{\"A}}1
+ {Ü}{{\"U}}1
+ {ß}{{\ss}}1
+ {ü}{{\"u}}1
+ {ä}{{\"a}}1
+ {ö}{{\"o}}1,
+ #1}%
+}{}
+\lstnewenvironment{lstoutput}[1][]{%
+ \lstset{basicstyle=\ttfamily\small,%
+ breaklines,prebreak=\mbox{$\hookleftarrow$},
+ #1}%
+}{}%
+\DeclareTOCStyleEntry[beforeskip=0pt,numwidth=2em,entryformat=\textsf]{section}{section}
+\begin{document}
+\DocInput{scrwfile.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \changes{v0.1}{2010/10/01}{start of new package}
+% \changes{v0.1.7}{2014/10/13}{manual moved to \KOMAScript{} manual}
+% \changes{v0.1.9}{2021/05/30}{version number scheme changed}
+% \changes{v0.1.10}{2022/02/05}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v0.1.99}{2023/04/01}{\KOMAScript{} spin-off}
+%
+% \GetFileInfo{scrwfile.dtx}
+% \title{%
+% Saving Write Handles with the Experimental Package
+% \pkg{scrwfile}\\\medskip
+% \foreignlanguage{ngerman}{Write-Handles sparen mit dem experimentellen
+% Paket \pkg{scrwfile}}%
+% }
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Version \fileversion{} \filedate}
+% \maketitle
+% \begin{abstract}
+% The \TeX{} engines \TeX, \pdfTeX, and \XeTeX{} (but not \LuaTeX) do
+% provide only 16 handles for simultaneously write open files. Some of them
+% are already used by \LaTeX. Moreover, for every file using
+% \cs{@starttoc} \LaTeX{} keeps a write file open from usage of
+% \cs{@starttoc}, e.g., inside \cs{tableofcontents}, \cs{listoffigures}
+% etc., until the end of the document. Additional write files are used for
+% the index, glossary etc. So sometimes it happens, that there are not
+% enough handles to open another one. \pkg*{scrwfile} was made to change the
+% \LaTeX{} internal handling of all the helper files bases on \cs{@starttoc}
+% to not keep them open simultaneously, but use only one file handle for all
+% of them. So you should almost never run out of write file handles.
+% \end{abstract}
+% \foreignlanguage{ngerman}{%
+% \begin{abstract}
+% Die \TeX-Engines \TeX, \pdfTeX und \XeTeX{} (nicht jedoch \LuaTeX) bieten
+% lediglich 16 Handles, die gleichzeitig zum Schreiben geöffnet sind. Einige
+% davon werden bereits von \LaTeX{} selbst benötigt. Darüber hinaus hält
+% \LaTeX{} jede Datei, die per \cs{@starttoc} geöffnet wird, vom verwendeten
+% \cs{@starttoc} bis zum Ende des Dokuments zum Schreiben offen. Das
+% betrifft beispielsweise \cs{tableofcontents}, \cs{listoffigure}
+% etc. Weitere Dateien werden gegebenenfalls für Index, Glossar und ähnliche
+% Verzeichnisse benötigt. Daher kann es manchmal geschehen, dass keine
+% weitere Datei mehr zum Schreiben geöffnet werden kann. \pkg*{scrwfile}
+% wurde entwickelt, um \LaTeX-Interna bei der Verwendung von \cs{@starttoc}
+% so abzuändern, dass nicht mehr alle Dateien gleichzeitig offen bleiben
+% müssen. Stattdessen wird nur noch ein Handle für all diese Dateien
+% benötigt. Damit sollte der Fall, dass keine weiteren Dateien zum Schreiben
+% geöffnet werden können, kaum noch auftreten.%
+% \end{abstract}
+% }
+%
+% \tableofcontents
+%
+% \part{English User Manual}
+%
+% \noindent\textbf{This is an experimental package. Usage of this package is
+% on your own risk. There is no support, if you are using this package, not
+% only for this package but also for the class you are using or other
+% packages, that use \cs{@starttoc} or \cs{@writefile} like \pkg{caption},
+% \pkg{float}, \pkg{tocbasic}, \pkg{listings} and many more.}
+%
+% \section{Background}
+%\iffalse^^A
+%<*docen>
+%\fi^^A
+
+One of the problems not solved by the introduction of \eTeX{} is the fact that
+\TeX{} can support only 18 open write handles. This number seems quite large
+at first, but many of these handles are already reserved. \TeX{} itself uses
+handle 0 for the log file. \LaTeX{} needs handle 1 for \cs{@mainaux},
+handle 2 for \Macro{@partaux}, one handle for \Macro{tableofcontents}, one
+handle for \Macro{listoffigures}, one handle for \Macro{listoftables}, and one
+handle for \Macro{makeindex}. Every other such list generates another handle,
+and packages like \Package{hyperref} or \Package{minitoc} require write
+handles too.
+
+The bottom line is that eventually you may get the following error message:
+\begin{lstoutput}
+ ! No room for a new \write .
+ \ch@ck ...\else \errmessage {No room for a new #3}
+ \fi
+\end{lstoutput}
+
+For some time, the simplest solution to this problem has been to use
+\mbox{\LuaLaTeX} instead of \mbox{pdf\LaTeX} or \XeLaTeX. This eliminates the
+restriction, and the maximum number of files you can have open for writing is
+then limited only by the operating system. In reality, you usually so not need
+to worry about it any more.
+
+The fact that \LaTeX{} always opens a new file for writing every table of
+contents, list of figures, list of tables, etc. has another disadvantage. Such
+lists are not only output by their respective commands, they also could not be
+output a second time because the associated auxiliary file\footnote{The term
+ \emph{auxiliary file} here refers not to the main \File{aux} file but to the
+ other internal files used indirectly via the \File{aux} file, e.\,g. the
+ \File{toc} file, the \File{lof} file, or the \File{lot} file.} is empty
+after the respective command until the end of the document.
+
+The \Package{scrwfile} package makes a fundamental change to the \LaTeX{}
+kernel, which can solve both problems not only for \mbox{\LuaLaTeX} but also
+for \mbox{pdf\LaTeX} or \XeLaTeX.
+
+\section{Fundamental Changes to the \LaTeX{} Kernel}
+\seclabel{kernelpatches}
+
+\LaTeX{} classes use the \LaTeX{} kernel command
+\Macro{@starttoc}\IndexCmd{@starttoc} to allocate a new file handle, such as
+for \Macro{tableofcontents} or \Macro{listoffigures}. This command not only
+loads the associated auxiliary file but also reopens it for writing. If
+entries to these lists are added using \Macro{addcontentsline}, however, the
+system does not write directly to these auxiliary files. Instead, \LaTeX{}
+writes \Macro{@writefile}\IndexCmd{@writefile} commands to the \File{aux}
+file. Only while reading the \File{aux} file at the end of the document do
+those \Macro{@writefile} commands become actual write operations in the
+auxiliary files. Additionally, \LaTeX{} does not close the auxiliary files
+explicitly. Instead it relies on \TeX{} to close all open files at the end.
+
+This procedure ensures that the auxiliary files are only written to within
+\Macro{end}\PParameter{document}, but they remain open throughout the entire
+\LaTeX{} run. \Package{scrwfile} takes is starting point here, by redefining
+\Macro{@starttoc} and \Macro{@writefile}.
+
+Of course\textnote{Attention!} changes to the \LaTeX{} kernel always have the
+potential to cause incompatibilities with other packages. Those primarily
+affected may be those which also redefine \Macro{@starttoc} or
+\Macro{@writefile}. In some cases, it may help to change the order the
+packages are loaded. If you encounter such a problem, please contact the
+\KOMAScript{} author.
+
+\section{The Single-File Method}
+\seclabel{singlefilefeature}
+
+As soon as the package is loaded with
+\begin{lstcode}
+ \usepackage{scrwfile}
+\end{lstcode}
+\Package{scrwfile} redefines \Macro{@starttoc}\IndexCmd{@starttoc} so that it
+no longer allocates a write handle or opens a file for writing.
+\Macro{@writefile} is redefined so that immediately before closing the
+\File{aux} file in \Macro{end}\PParameter{document}, it writes not to the
+usual auxiliary files but to a single new file with extension \File{wrt}.
+After reading the \File{aux} file, this \File{wrt} file will be processed once
+for each of the auxiliary files that \Macro{@writefile} writes information to.
+However these auxiliary files do not all have to be open at the same time.
+Instead, only one is open at a time and is explicitly closed afterwards. Since
+\LaTeX{} reuses an internal write file, \Package{scrwfile} doesn't need its
+own write handle for this type of table of contents or list of floating
+environments.
+
+Because of this behaviour, even if you have only one table of contents, once
+you load \Package{scrwfile} you will have access to a write file handle for
+bibliographies, indexes, glossaries, and similar lists that do not use
+\Macro{@starttoc}. Additionally, you can create any number of tables of
+contents and other lists that use \Macro{@starttoc}\IndexCmd{@starttoc}.
+
+\section{The File Cloning Method}
+\seclabel{clonefilefeature}
+
+Since \Macro{@writefile}\IndexCmd{@writefile} has already been modified for
+the single-file method described in the previous system so that it no longer
+writes directly to the corresponding auxiliary file, a further possibility
+suggests itself. When copying the \Macro{@writefile} statements into the
+\File{wrt} file, you can also copy them to other destinations. It should be
+explicitly noted that this only works in the document preamble.
+
+%\iffalse^^A
+\begin{Declaration}
+ \Macro{TOCclone}%
+ \OParameter{list heading}\Parameter{source extension}%
+ \Parameter{destination extension}
+\end{Declaration}
+%\fi^^A
+% \medskip
+% \noindent\DescribeCommand{\TOCclone}\hspace*{-\marginparsep}^^A
+% \oarg{list heading}\marg{source extension}\marg{destination extension}^^A
+% \hfil\\
+%\iffalse^^A
+%\fi^^A
+This cloning of file entries copies entire tables of contents or other lists.
+For this, you only need to specify the extension of the auxiliary file whose
+entries should be copied and the extension of a destination file. The entries
+are then copied there. Of course, you can also write additional entries to
+this cloned file.
+
+You can manage the \PName{destination extention} using
+\hyperref[cha:tocbasic]{\Package{tocbasic}}%
+\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}%^^A
+%\iffalse^^A
+\ (see \autoref{cha:tocbasic})%
+%\fi^^A
+\unskip. If such a file is already under the control of
+\hyperref[cha:tocbasic]{\Package{tocbasic}}, a warning will be issued.
+Otherwise, a new list for this extension will be created using
+\hyperref[cha:tocbasic]{\Package{tocbasic}}. You can set the heading for this
+list with the optional argument \PName{list heading}.
+
+% \DescribeCommand[noindex]{\listof\meta{destination extension}}^^A
+% \SpecialCommandIndex{\listof...}^^A
+You can then output this new content list, for example, with the command
+\Macro{listof\PName{destination extension}}. The content-list
+attributes\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}
+\PValue{leveldown}, \PValue{numbered}, \PValue{onecolumn}, and \PValue{totoc}
+%\iffalse
+(see \DescRef{tocbasic.cmd.setuptoc} in \autoref{sec:tocbasic.toc},
+\DescPageRef{tocbasic.cmd.setuptoc})
+%\fi
+% (see \cs{setuptoc} in the \pkg{tocbasic} chapter of the \KOMAScript{}
+% manual)
+are automatically copied to the destination list if they were already set in
+the source list. The \PValue{nobabel} attribute is always set for cloned
+content lists, because the language-selection commands in the source content
+list are already copied anyway.
+
+\begin{Example}
+ Suppose you want a short table of contents with only the chapter level in
+ addition to the normal the table of contents:
+\begin{lstcode}
+ \usepackage{scrwfile}
+ \TOCclone[Summary Contents]{toc}{stoc}
+\end{lstcode}
+ This creates a new table of contents with the heading ``Summary Contents''.
+ The new table of contents uses an auxiliary file with the extension
+ \File{stoc}. All entries to the auxiliary file with extension \File{toc}
+ will also be copied to this new auxiliary file.
+
+ In order to have the new short table of contents display only the chapter
+ entries, we use:
+\begin{lstcode}
+ \addtocontents{stoc}{\protect\value{tocdepth}=0}
+\end{lstcode}
+ Although\textnote{Attention!} normally you cannot write to an auxiliary file
+ before \Macro{begin}\PParameter{document}, the code above works in the
+ preamble after loading \Package{scrwfile}. Owing to the unconventional way
+ of changing the
+%\iffalse^^A
+\DescRef{maincls.counter.tocdepth}
+%\fi^^A
+% \cnt{tocdepth}
+ counter within the TOC file, this change only applies to this content list.
+
+ Later in the document, we then output the content list with the file
+ extension \File{stoc} with:
+\begin{lstcode}[moretexcs={listofstoc}]
+ \listofstoc
+\end{lstcode}
+ and this shows only the parts and chapters of the document.
+
+ Things become a bit more difficult if the summary contents are to be
+ listed in the table of contents. This would seem to be possible with
+\begin{lstcode}
+ \addtocontents{toc}{%
+ \protect\addxcontentsline
+ {stoc}{chapter}{\protect\contentsname}%
+ }
+\end{lstcode}
+However, since all entries in \File{toc} are also copied to \File{stoc}, this
+entry would also be copied from the summary contents. So we cannot generate
+the entry from the content list. Because we use the
+\Package{tocbasic}\important{\Package{tocbasic}} package, we can use the
+following:
+%\iffalse^^A
+\phantomsection\xmpllabel{cmd.BeforeStartingTOC}
+%\fi^^A
+\begin{lstcode}
+ \BeforeStartingTOC[toc]{%
+ \addcontentslinedefault{stoc}{chapter}
+ {\protect\contentsname}%
+ }
+\end{lstcode}
+Of course, this assumes that the \File{toc} file is under the control
+of the \Package{tocbasic} package, which is indeed the case for all
+\KOMAScript{} classes. See
+%\iffalse^^A
+\autoref{sec:tocbasic.toc} on\DescPageRef{tocbasic.cmd.BeforeStartingTOC}
+for more information about \DescRef{tocbasic.cmd.BeforeStartingTOC}.%
+%\fi^^A
+% the \pkg{tocbasic} chapter of the \KOMAScript{} manual for more
+% information about \cs{BeforeStartingTOC}.^^A
+\end{Example}
+Incidentally, the
+%\iffalse^^A
+\DescRef{tocbasic.cmd.addxcontentsline}
+%\fi^^A
+% \cs{addxcontentsline}
+command used in the examples is also documented in
+%\iffalse^^A
+\autoref{cha:tocbasic}, \DescPageRef{tocbasic.cmd.addxcontentsline}.%
+%\fi^^A
+% the \pkg{tocbasic} chapter of the \KOMAScript{} manual.%^^A
+%\iffalse^^A
+\EndIndexGroup
+\ExampleEndFix
+%\fi^^A
+
+
+\section{Note on the State of Development}
+\seclabel{draft}
+
+Although this package has already been tested by many users and is often in
+production use, its development is still ongoing. Therefore, it is
+theoretically possible that there might be changes, especially to the internal
+functionality. It is likely that the package will be extended in the future.
+Some code for such extensions is already in the package. However, as there are
+no user commands that make use of these features, they are currently
+undocumented.
+
+\section{Known Package Incompatibilities}
+\seclabel{incompatible}
+
+As mentioned in
+%\iffalse^^A
+\autoref{sec:scrwfile.kernelpatches},
+%\fi^^A
+% \autoref{sec-\languagename:scrwfile.kernelpatches}
+\Package{scrwfile} redefines some commands of the \LaTeX{} kernel. This
+happens not only while loading the package, but indeed at various times while
+the document is processed, for example just before reading the \File{aux}
+file. This\textnote{Attention!} results in incompatibility with packages that
+also redefine these commands at run time.
+
+The \Package{titletoc}%^^A
+%\iffalse^^A
+\important{Package{titletoc}}\IndexPackage{titletoc}
+%\fi^^A
+package is an example for such an incompatibility. That package redefines
+\Macro{@writefile} under some conditions at run time. If you use both
+\Package{scrwfile} and \Package{titletoc}, there is no warranty for the
+correct behaviour of either one. This is neither an error of
+\Package{titletoc} nor of \Package{scrwfile}.%
+%\iffalse^^A
+%</docen>
+%\fi^^A
+%
+% \selectlanguage{ngerman}
+% \part{Deutsche Benutzeranleitung}
+%
+% \noindent\textbf{Dies ist ein experimentelles Paket. Die Verwendung dieses
+% Pakets erfolgt auf eigene Gefahr. Es gibt keine Unterstützung, wenn Sie
+% dieses Paket verwenden. Das gilt nicht nur für dieses Paket, sondern auch
+% für die Klasse, die Sie verwenden, oder andere Pakete, die \cs{@starttoc}
+% oder \cs{@writefile} verwenden, beispielsweise \pkg{caption}, \pkg{float},
+% \pkg{tocbasic}, \pkg{listings} und viele weitere.}
+%
+% \section{Hintergrund}
+%\iffalse
+%<*docde>
+%\fi
+%
+Eines der Probleme, die auch durch die Einführung von \eTeX{} nicht gelöst
+wurden, ist die Tatsache, dass \TeX{} nur 18 Dateien gleichzeitig zum Schreiben
+geöffnet haben kann. Diese Zahl erscheint zunächst recht groß. Allerdings ist
+zu berücksichtigen, dass bereits \LaTeX{} selbst einige dieser Dateien
+belegt. Inhaltsverzeichnis, Tabellenverzeichnis, Abbildungsverzeichnis, Index,
+Glossar und jedes weitere Verzeichnis, das von \LaTeX{} aus erzeugt wird,
+belegt in der Regel eine weitere Datei. Dazu kommen Hilfsdateien von Paketen
+wie \Package{hyperref} oder \Package{minitoc}.
+
+Im Endeffekt kann es daher geschehen, dass irgendwann die Meldung
+\begin{lstoutput}
+ ! No room for a new \write .
+ \ch@ck ...\else \errmessage {No room for a new #3}
+ \fi
+\end{lstoutput}
+erscheint. Seit einiger Zeit ist die einfachste Lösung dieses Problems die
+Verwendung von \LuaLaTeX{} anstelle von PDF\LaTeX{} oder \XeLaTeX. Damit
+entfällt die Beschränkung und die maximale Anzahl der gleichzeitig zum
+Schreiben geöffneten Dateien wird nur noch durch das Betriebssystem
+bestimmt. In der Realität braucht man sich darüber dann normalerweise keine
+Gedanken mehr zu machen.
+
+Dass \LaTeX{} bei Verzeichnissen wie dem Inhaltsverzeichnis, dem
+Tabellenverzeichnis und dem Abbildungsverzeichnis immer sofort eine neue Datei
+zum Schreiben öffnet, hat aber auch noch einen weiteren Nachteil. Solche
+Verzeichnisse werden durch deren Befehle nicht nur direkt gesetzt, sie können
+auch kein weiteres Mal gesetzt werden, da die zugehörige Hilfsdatei nach dem
+jeweiligen Befehl bis zum Ende des Dokuments leer ist.
+
+Das Paket \Package{scrwfile} bietet hier eine grundsätzliche Änderung im
+\LaTeX-Kern, durch die beide Probleme nicht nur für \LuaLaTeX{} sondern auch
+bei Verwendung von PDF\LaTeX{} oder \XeLaTeX{} gelöst werden können.
+
+
+\section{Grundsätzliche Änderungen am \LaTeX-Kern}
+\seclabel{kernelpatches}
+
+\LaTeX-Klassen verwenden zum Öffnen eines Verzeichnisses, beispielsweise mit
+\Macro{tableofcontents} oder \Macro{listoffigures}, die \LaTeX-Kern-Anweisung
+\Macro{@starttoc}\IndexCmd{@starttoc}. \LaTeX{} selbst lädt bei dieser
+Anweisung nicht nur die zugehörige Hilfsdatei, sondern öffnet diese Hilfsdatei
+auch neu zum Schreiben. Werden anschließend mit \Macro{addtocontents} oder
+\Macro{addcontentsline} Einträge in dieses Verzeichnis vorgenommen, so wird
+jedoch nicht direkt in die geöffnete Hilfsdatei geschrieben. Stattdessen
+schreibt \LaTeX{} \Macro{@writefile}-Anweisungen\IndexCmd{@writefile} in die
+\File{aux}-Datei. Erst beim Einlesen der \File{aux}-Dateien am Ende des
+Dokuments wird dann über diese \Macro{@writefile}-Anweisungen in die
+tatsächlichen Hilfsdateien geschrieben. Die Hilfsdateien werden von \LaTeX{}
+auch nicht explizit geschlossen. Stattdessen verlässt sich \LaTeX{} hier
+darauf, dass \TeX{} die Dateien am Ende ohnehin schließt.
+
+Dieses Vorgehen sorgt dafür, dass die Hilfsdateien zwar erst innerhalb von
+\Macro{end}\PParameter{document} tatsächlich beschrieben werden, aber trotzdem
+während des gesamten \LaTeX-Laufs gleichzeitig offen sind. \Package{scrwfile}
+hat nun genau hier einen Ansatzpunkt: die Umdefinierung von \Macro{@starttoc}
+und \Macro{@writefile}.
+
+Natürlich\textnote{Achtung!} besitzen Änderungen am \LaTeX-Kern immer das
+Potential, dass es zu Unverträglichkeiten mit anderen Paketen kommen
+kann. Betroffen können in erster Linie Pakete sein, die ebenfalls
+\Macro{@starttoc} oder \Macro{@writefile} umdefinieren. In einigen Fällen kann
+es helfen, die Reihenfolge der Pakete zu ändern.%
+\iffalse % Umbruchkorrektur
+\ Wenn Sie auf ein solches Problem stoßen, sollten Sie sich an den
+\KOMAScript-Autor wenden.5
+\fi
+
+\section{Das Eindateiensystem}
+\seclabel{singlefilefeature}
+
+Bereits beim Laden des Pakets mit
+% Umbruchoptimierung: listings
+\begin{lstcode}
+ \usepackage{scrwfile}
+\end{lstcode}
+wird \Macro{@starttoc}\IndexCmd{@starttoc} von \Package{scrwfile} so
+umdefiniert, dass davon selbst keine Datei mehr zum Schreiben angefordert und
+geöffnet wird. Unmittelbar vor dem Schließen der \File{aux}-Datei in
+\Macro{end}\PParameter{document} wird dann \Macro{@writefile} so umdefiniert,
+dass diese Anweisung statt in die eigentlichen Hilfsdateien in eine neue
+Hilfsdatei mit der Endung \File{wrt} schreibt. Nach dem Einlesen der
+\File{aux}-Dateien wird schließlich die \File{wrt}-Datei abgearbeitet und zwar
+ein Mal für jede der Hilfsdateien, in die mit \Macro{@writefile} geschrieben
+wird. Dabei muss aber nicht jede dieser Hilfsdateien gleichzeitig
+geöffnet sein. Stattdessen ist immer nur eine zum Schreiben geöffnet und wird
+auch wieder explizit geschlossen. Da dabei eine interne Schreibdatei von
+\LaTeX{} wiederverwendet wird, benötigt \Package{scrwfile} keine einzige
+eigene Schreibdatei für diese Art von Verzeichnissen.
+
+Selbst wenn bisher nur mit einem Inhaltsverzeichnis gearbeitet wird, steht
+nach dem Laden des Pakets bereits eine Schreibdatei mehr für
+Literaturverzeichnisse, Stichwortverzeichnisse, Glossare und ähnliche
+Verzeichnisse, die nicht mit \Macro{@starttoc} arbeiten, zur
+Verfügung. Darüber hinaus können beliebig viele Verzeichnisse, die mit
+\Macro{@starttoc}\IndexCmd{@starttoc} arbeiten, angelegt werden.
+
+
+\section{Das Klonen von Dateieinträgen}
+\seclabel{clonefilefeature}
+
+Nachdem \Macro{@writefile}\IndexCmd{@writefile} für das Eindateiensystem aus
+dem vorherigen Abschnitt bereits so geändert wurde, dass es nicht direkt in
+die entsprechende Hilfsdatei schreibt, lag eine weitere Idee nahe. Beim
+Kopieren der \Macro{@writefile}-Anweisungen in die \File{wrt}-Datei können
+diese auch für andere Zielendungen übernommen werden. Es sei ausdrücklich
+darauf hingewiesen, dass dies nur in der Dokumentpräambel funktioniert.
+
+%\iffalse^^A
+\begin{Declaration}
+ \Macro{TOCclone}\OParameter{Verzeichnisüberschrift}
+ \Parameter{Quellendung}\Parameter{Zielendung}
+ \Macro{listof\PName{Zielendung}}
+\end{Declaration}%
+%\fi^^A
+% \medskip
+% \noindent\DescribeCommand{\TOCclone}\hspace*{-\marginparsep}^^A
+% \oarg{Verzeichnisüberschrift}\marg{Quellendung}\marg{Zielendung}^^A
+% \hfill\\
+Durch dieses Klonen von Dateieinträgen werden so ganze Verzeichnisse
+geklont. Dazu muss man nur die Endung der Hilfsdatei des Verzeichnisses
+kennen, dessen Einträge kopiert werden sollen. Zusätzlich muss man die Endung
+einer Zieldatei angeben. In diese werden die Einträge dann kopiert. Natürlich
+kann man in dieses geklonte Verzeichnis auch zusätzliche Einträge
+schreiben.
+
+Die \PName{Zielendung} der Zieldatei wird mit Hilfe von
+\hyperref[cha:tocbasic]{\Package{tocbasic}}%
+\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}
+%\iffalse^^A
+(siehe \autoref{cha:tocbasic})
+%\fi^^A
+verwaltet. Steht eine solche Datei bereits unter
+Kontrolle von \hyperref[cha:tocbasic]{\Package{tocbasic}} wird eine Warnung
+ausgegeben. Anderenfalls wird mit Hilfe von
+\hyperref[cha:tocbasic]{\Package{tocbasic}} ein neues Verzeichnis für diese
+Endung angelegt. Die Überschrift des neuen Verzeichnisses kann man über das
+optionale Argument \PName{Verzeichnisüberschrift} bestimmen.
+
+% \DescribeCommand[noindex]{\listof\meta{Zielendung}}^^A
+% \SpecialCommandIndex{\listof...}^^A
+Ausgeben kann man dieses neue Verzeichnis dann beispielsweise über die
+Anweisung \Macro{listof\PName{Zielendung}}. Die
+Verzeichniseigenschaften\important{\hyperref[cha:tocbasic]{\Package{tocbasic}}}
+\PValue{leveldown}, \PValue{numbered}, \PValue{onecolumn} und \PValue{totoc}
+%\iffalse
+(siehe Anweisung \DescRef{tocbasic.cmd.setuptoc} in
+\autoref{sec:tocbasic.toc}, \DescPageRef{tocbasic.cmd.setuptoc})
+%\fi
+% (siehe \cs{setuptoc} im Kapitel to \pkg{tocbasic} in the \KOMAScript-Anleitung)
+werden automatisch in das Zielverzeichnis übernommen, falls sie für das
+Quellverzeichnis bereits gesetzt waren. Die Eigenschaft \PValue{nobabel} wird
+für geklonte Verzeichnisse immer gesetzt, da die entsprechenden
+\Package{babel}-Einträge in das Quellverzeichnis ohnehin bereits kopiert
+werden.
+
+\begin{Example}
+ Angenommen, Sie wollen zusätzlich zum normalen Inhaltsverzeichnis eine
+ Gliederungsübersicht, in der nur die Kapitel angezeigt werden.
+\begin{lstcode}
+ \usepackage{scrwfile}
+ \TOCclone[Gliederungsübersicht]{toc}{stoc}
+\end{lstcode}
+ Hierdurch wird zunächst ein neues Verzeichnis mit der Überschrift
+ »Gliederungsübersicht« angelegt. Das neue Verzeichnis verwendet die
+ Dateiendung \File{stoc}. Alle Einträge in die Datei mit der Endung
+ \File{toc} werden auch in dieses Verzeichnis kopiert.
+
+ Damit dieses neue Verzeichnis nun nur die Kapitelebene ausgibt, verwenden
+ wir:
+\begin{lstcode}
+ \addtocontents{stoc}{\protect\value{tocdepth}=0}
+\end{lstcode}
+ Während\textnote{Achtung!} normalerweise erst ab
+ \Macro{begin}\PParameter{document} Einträge in ein Verzeichnis vorgenommen
+ werden können, funktioniert dies nach Laden von \Package{scrwfile} bereits
+ in der Dokumentpräambel. Durch die hier gezeigte unkonventionelle Art, den
+ Zähler
+%\iffalse^^A
+\DescRef{maincls.counter.tocdepth}
+%\fi^^A
+% \cnt{tocdepth}
+ innerhalb der Verzeichnisdatei zu ändern, bleibt diese Änderung nur für
+ dieses Verzeichnis wirksam.
+
+ Später im Dokument wird das Verzeichnis mit der Endung \File{stoc} dann
+ durch
+\begin{lstcode}[moretexcs={listofstoc}]
+ \listofstoc
+\end{lstcode}
+ ausgegeben und zeigt nur die Teile und Kapitel des Dokuments.
+
+ Etwas schwieriger wird es, wenn das Inhaltsverzeichnis in der
+ Gliederungsübersicht angezeigt werden soll. Dies wäre zwar mit
+\begin{lstcode}
+ \addtocontents{toc}{%
+ \protect\addxcontentsline
+ {stoc}{chapter}{\protect\contentsname}%
+ }
+\end{lstcode}
+ möglich. Da jedoch alle Einträge in \File{toc} auch nach \File{stoc} kopiert
+ werden, würde so von der Gliederungsübersicht dieser Eintrag ebenfalls
+ übernommen. Also darf der Eintrag nicht aus der Verzeichnisdatei heraus
+ erzeugt werden. Da das Paket \hyperref[cha:tocbasic]{\Package{tocbasic}}%
+ \important{\hyperref[cha:tocbasic]{\Package{tocbasic}}} zum Einsatz kommt,
+ kann aber%^^A
+%\iffalse^^A
+ \phantomsection\xmpllabel{cmd.BeforeStartingTOC}%
+%\fi^^A
+\begin{lstcode}
+ \BeforeStartingTOC[toc]{%
+ \addxcontentsline{stoc}{chapter}
+ {\protect\contentsname}}
+\end{lstcode}
+ verwendet werden. Natürlich\textnote{Achtung!} setzt dies voraus, dass die
+ Datei mit Endung \File{toc} auch unter der Kontrolle von
+ \hyperref[cha:tocbasic]{\Package{tocbasic}} steht. Dies ist bei allen
+ \KOMAScript-Klassen der Fall. Näheres zur Anweisung
+%\iffalse^^A
+ \DescRef{tocbasic.cmd.BeforeStartingTOC} ist in \autoref{sec:tocbasic.toc}
+ auf \DescPageRef{tocbasic.cmd.BeforeStartingTOC}
+%\fi^^A
+% \cs{BeforeStartingTOC} im Kapitel zu \pkg{tocbasic} in der
+% \KOMAScript-Anleitung
+ zu finden. Die Erklärung zu
+%\iffalse^^A
+ \DescRef{tocbasic.cmd.addxcontentsline} findet sich in demselben Abschnitt
+ auf \DescPageRef{tocbasic.cmd.addxcontentsline}.%
+%\fi^^A
+% \cs{addxcontentsline} findet sich dort ebenfalls.%^^A
+\end{Example}%
+%\iffalse^^A
+\EndIndexGroup%
+\ExampleEndFix
+%\fi^^A
+
+
+\section{Hinweis zum Entwicklungsstand}
+\seclabel{draft}
+
+Obwohl das Paket bereits von mehreren Anwendern getestet wurde und vielfach im
+Einsatz ist, ist es vom Autor als experimentell eingestuft. Deshalb ist es
+theoretisch möglich, dass insbesondere an der internen Funktionsweise des
+Pakets noch Änderungen vorgenommen werden. Teilweise befindet sich auch Code
+für zusätzliche Erweiterungen im Paket. Da jedoch keine Benutzeranweisungen
+existieren, mit denen diese Möglichkeiten genutzt werden könnten, wurde auf
+eine Dokumentation derselben verzichtet.
+
+
+\section{Bekannte Paketunverträglichkeiten}
+\seclabel{incompatible}
+
+Wie in
+%\iffalse^^A
+\autoref{sec:scrwfile.kernelpatches}
+% \fi^^A
+% \autoref{sec-\languagename:scrwfile.kernelpatches}
+bereits erwähnt, muss \Package{scrwfile} einige wenige Anweisungen des
+\LaTeX-Kerns umdefinieren. Dies geschieht nicht allein während des Ladens des
+Pakets, sondern vielmehr zu verschiedenen Zeitpunkten während der Abarbeitung
+eines Dokuments, beispielsweise vor dem Einlesen der
+\File{aux}-Datei. Das\textnote{Achtung!} führt dazu, dass \Package{scrwfile}
+sich nicht mit anderen Paketen verträgt, die dieselben Anweisungen ebenfalls
+zur Laufzeit umdefinieren.
+
+Ein Beispiel für eine solche Unverträglichkeit ist
+\Package{titletoc}%^^A
+%\iffalse^^A
+\important{\Package{titletoc}}\IndexPackage{titletoc}%^^A
+%\fi^^A
+\unskip. Das Paket definiert unter gewissen Umständen \Macro{@writefile} zur
+Laufzeit um. Werden \Package{scrwfile} und \Package{titletoc} zusammen
+verwendet, ist die Funktion beider Paket nicht mehr gewährleistet. Dies ist
+weder ein Fehler in \Package{titletoc} noch in \Package{scrwfile}.%
+%\iffalse^^A
+%</docde>
+%\fi^^A
+%
+% \selectlanguage{USenglish}
+%
+% \MaybeStop{\PrintIndex}
+%
+% \part{Implementation of \pkg{scrwfile}}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\PackageWarningNoLine{scrwfile}{%
+ THIS IS AN EXPERIMENTAL PACKAGE!\MessageBreak
+ USAGE OF THIS PACKAGE IS ON YOUR OWN RISK!\MessageBreak
+ EVERYTHING MAY HAPPEN!\MessageBreak
+ EVERYTHING MAY CHANGE IN FUTURE!\MessageBreak
+ THERE IS NO SUPPORT, IF YOU USE THIS PACKAGE!\MessageBreak
+ Maybe, it would be better not to load this package%
+}
+% \end{macrocode}
+%
+% \section{Options}
+% Currently we don't need options.
+%
+% \section{Body}
+%
+% \subsection{Needed Packages}
+%
+% Package \pkg*{scrbase} is needed, because of using several \KOMAScript{}
+% basic commands.
+% \changes{v0.1.12}{2023/03/31}{required version of \pkg{scrbase} fixed}
+% \begin{macrocode}
+\RequirePackage{scrbase}[2015/08/29]
+% \end{macrocode}
+%
+% Package \pkg*{scrlfile} is needed because of the \file{aux}-file
+% handling and \cs{protected@immediate@write}.
+% \begin{macrocode}
+\RequirePackage{scrlfile}[2010/09/30]
+% \end{macrocode}
+%
+% \changes{v0.1.10}{2022/02/04}{\pkg{iftex} is required}
+% Package \pkg{iftex} is used to detect Lua\LaTeX.
+% \begin{macrocode}
+\RequirePackage{iftex}
+% \end{macrocode}
+%
+% \subsection{Is is needed?}
+%
+% \changes{v0.1.9}{2021/05/30}{with Lua\LaTeX{} using is not recommended}
+% \changes{v0.1.10}{2022/02/04}{using \cs{ifluatex}}
+% \changes{v0.1.10}{2022/02/04}{\cs{PackageInfoNoLine} replaced by
+% \cs{PackageWarningNoLine}}
+% If the user uses Lua\LaTeX{} usage of \pkg*{scrwfile} should not be
+% needed.
+% \begin{macrocode}
+\ifluatex
+ \PackageWarningNoLine{scrwfile}{LuaLaTeX detected.\MessageBreak
+ With LuaLaTeX you should never get an error message:\MessageBreak
+ \space\space`No room for a new \string\write'.\MessageBreak
+ So scrwfile could make much more harm than benefit\MessageBreak
+ and using it is not recommended}%
+\fi
+% \end{macrocode}
+%
+% \subsection{\LaTeX{} Kernel Patchs}
+%
+% For some features we need to patch \LaTeX{} kernel macros. Those features
+% and macros are:
+% \begin{description}
+% \item[Single handle feature] means, that \LaTeX{} will no longer need a file
+% handle for every help file, but only one for all files. We will patch
+% \cs{@starttoc} and \cs{@writefile} to do so.
+% \item[Clone file feature] means, that every write to one file may be done to
+% another file, too. We will patch \cs{@writefile} to do so.
+% \end{description}
+% Every patch should be minimum invasive, so that files, that are not under
+% \pkg*{scrwfile}'s control are changed as little as possible.
+%
+% \begin{macro}{\scrwfile@if@only}
+% First of all we check, if the file should be handled by \pkg*{scrwfile}.
+% \begin{macrocode}
+\newcommand*{\scrwfile@if@only}[1]{%
+ \begingroup
+ \scr@ifundefinedorrelax{scrwfile@only}{\@tempswatrue}{%
+ \@tempswafalse
+ \edef\reserved@b{#1}%
+ \@for\reserved@a:=\scrwfile@only\do
+ {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
+ }%
+ \if@tempswa
+ \scr@ifundefinedorrelax{scrwfile@never}{}{%
+ \edef\reserved@b{#1}%
+ \@for\reserved@a:=\scrwfile@never\do
+ {\ifx\reserved@a\reserved@b\@tempswafalse\fi}%
+ }%
+ \fi
+ \expandafter\endgroup
+ \if@tempswa
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scrwfile@starttoc,\scrwfile@@starttoc}
+% This is the internal redefinition of \cs{@starttoc}. First of all test, if it
+% should be used, then use it or not.
+% \begin{macrocode}
+\newcommand*{\scrwfile@starttoc}[1]{%
+ \scrwfile@if@only{#1}{\scrwfile@@starttoc}{\scrwfile@saved@starttoc}{#1}%
+}
+\newcommand*{\scrwfile@@starttoc}[1]{%
+%<trace> \PackageInfo{scrwfile}{%
+%<trace> Using my own \string\@starttoc\space for `#1'}%
+ \begingroup
+ \if@filesw
+ \xdef\scrwfile@writefilelist{\scrwfile@writefilelist,#1}%
+ \fi
+ \@fileswfalse
+ \scrwfile@saved@starttoc{#1}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scrwfile@writefile,\scrwfile@@writefile,\scrwfile@wrtout,
+% \scrwfile@writefilelist}
+% This is the internal redefinition of \cs{@writefile}. First of all test, if
+% it should be used, then use it or not.
+% \begin{macrocode}
+\newcommand*{\scrwfile@writefile}[1]{%
+ \scrwfile@if@only{#1}{\scrwfile@@writefile}{\scrwfile@saved@writefile}{#1}%
+}
+\newcommand{\scrwfile@@writefile}[2]{%
+%<trace> \PackageInfo{scrwfile}{%
+%<trace> Using my own \string\@writefile\space for `#1'}%
+ \ifnum\scrwfile@wrtout>0
+ \begingroup
+ \@temptokena{#2}%
+ \immediate\write\scrwfile@wrtout{%
+ \string\@writefile{#1}{\the\@temptokena}%
+ }%
+% \end{macrocode}
+% This was the entry for the real file. But we also may have clone files:
+% \begin{macrocode}
+ \scrwfile@process@clones{#1}%
+ \endgroup
+ \fi
+}
+\chardef\scrwfile@wrtout\z@
+\newcommand*{\scrwfile@writefilelist}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@writefile,\scrwfile@saved@writefile}
+% We have to add the single handle feature and the clone file feature to
+% \cs{@writefile} and therefore save the original
+% definition. \cs{scrwfile@saved@writefile} is used, whenever a file is not
+% under \pkg*{scrwfile}'s control.
+% \begin{macrocode}
+\newcommand*{\scrwfile@saved@writefile}{}
+\BeforeClosingMainAux{%
+ \ifx\scrwfile@writefilelist\@empty\else
+ \let\scrwfile@saved@writefile\@writefile
+ \let\scrwfile@wrtout\@partaux
+ \immediate\openout\scrwfile@wrtout \jobname.wrt
+ \let\@writefile\scrwfile@writefile
+ \fi
+}
+\AfterReadingMainAux{%
+ \ifx\scrwfile@writefilelist\@empty\else
+ \immediate\closeout\scrwfile@wrtout
+ \chardef\scrwfile@wrtout\z@
+ \begingroup
+ \let\@writefile\scrwfile@saved@writefile
+ \@for\@currext:=\scrwfile@writefilelist\do{%
+ \begingroup
+ \ifx\@currext\@empty\else
+ \scr@ifundefinedorrelax{tf@\@currext}{%
+%<trace> \typeout{Process extension: `\@currext'}
+ \immediate\openout\@partaux \jobname.\@currext
+ \expandafter\let\csname tf@\@currext\endcsname\@partaux
+ \@input@{\jobname.wrt}%
+ \immediate\closeout\@partaux
+ }{}%
+ \fi
+ \endgroup
+ }%
+ \endgroup
+ \fi
+}
+% \end{macrocode}
+% \changes{v0.1.8}{2021/05/30}{added order rule for
+% \pkg*{scrlayer-notecolumn}}
+% Note: Here we use a \LaTeX{} version test, because a do-nothing-definition
+% like the one of \pkg{latexrelease} wouldn't be correct, if the command is
+% not supported by the current \LaTeX{} kernel version setting.
+% \begin{macrocode}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \DeclareHookRule{enddocument/afteraux}%
+ {scrwfile}{before}{scrlayer-notecolumn}%
+}{%
+ \@ifpackageloaded{scrlayer-notecolumn}{%
+ \PackageWarningNoLine{scrwfile}{%
+ Dangerous package order detected!\MessageBreak
+ As a general rule, you should load scrwfile as soon\MessageBreak
+ as possible, maybe even before `\string\documentclass'\MessageBreak
+ (using `\string\RequirePackage' instead of
+ `\string\usepackage').\MessageBreak
+ Following packages should be loaded after scrwfile:\MessageBreak
+ \space - scrlayer-notecolumn}%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@starttoc,\scrwfile@saved@starttoc}
+% We have to add the single handle feature to \cs{@starttoc} and therefore
+% save the original definition.
+% \changes{v0.1.5}{2013/07/24}{take care for outdated \pkg{hyperref}}
+% \changes{v0.1.11}{2022/10/06}{ready for \pkg{hyperref} without
+% \cs{Hy@AtBeginDocumentHook}}
+% \cs{scrwfile@saved@starttoc} is be used, whenever the file is not under
+% \pkg*{scrwfile}'s control. Because of old versions of package
+% \pkg{hyperref}, that do a hard redefinition without any care for changed
+% definitions, we have to take care for that and cannot do a simple
+% \begin{verbatim}
+% \let\scrwfile@saved@starttoc\@starttoc
+% \let\@starttoc\scrwfile@starttoc
+% \end{verbatim}
+% \begin{macrocode}
+\newcommand*{\scrwfile@saved@starttoc}{}
+\AtBeginDocument{%
+ \begingroup
+ \@ifpackageloaded{hyperref}{%
+ \scr@ifundefinedorrelax{Hy@AtBeginDocument}{%
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ }{%
+ \ifx\Hy@AtBeginDocumentHook\@undefined
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ \else
+% \end{macrocode}
+% From v7.00o \pkg{hyperref} does not redefine \cs{@starttoc} any more. So we
+% do need the usage of \cs{Hy@AtBeginDocument} only for versions before.
+% \begin{macrocode}
+ \@ifpackagelater{hyperref}{2022/02/22}{% newer than v7.00n
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ }{%
+ \PackageWarning{scrwfile}{%
+ Outdated package `hyperref' detected.\MessageBreak
+ Using `\string\Hy@AtBeginDocument' for redefinition of
+ `\string\@starttoc'.\MessageBreak
+ We recommend to update `hyperref'
+ }%
+ \aftergroup\Hy@AtBeginDocument
+ }%
+ \fi
+ }%
+ }{%
+ \PackageInfo{scrwfile}{%
+ Using immediate redefinition of `\string\@starttoc'%
+ }%
+ \aftergroup\@firstofone
+ }%
+ \endgroup
+ {%
+ \PackageInfo{scrwfile}{%
+ Extending `\string\@starttoc`
+ }%
+ \let\scrwfile@saved@starttoc\@starttoc
+ \let\@starttoc\scrwfile@starttoc
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsection{Clone TOC Feature}
+%
+% \pkg*{scrwfile} may clone a TOC, that means, every entry to one file will
+% be copied to other files, too. You must not clone recursively!
+%
+% \begin{description}
+% \item[ToDo:]The whole feature should be moved to \pkg*{tocbasic}. But this
+% would need a complete re-implementation and would result in one more write
+% handle for every cloned file. So maybe it wouldn't be a really good idea
+% to do so.
+% \end{description}
+%
+% \begin{macro}{\scrwfile@process@clones}
+% \begin{macrocode}
+\newcommand*{\scrwfile@process@clones}[1]{%
+ \scr@ifundefinedorrelax{scrwfile@clone@#1}{}{%
+ \begingroup
+ \let\@@protect\protect\let\protect\@empty\afterassignment\restore@protect
+ \edef\reserved@b{\csname scrwfile@clone@#1\endcsname}%
+ \edef\reserved@c{,#1}%
+ \@for \reserved@a:=\reserved@b\do {%
+ \@tempswatrue
+ \@for \reserved@d:=\reserved@c\do {%
+ \ifx\reserved@d\reserved@a\@tempswafalse\fi
+ }%
+ \if@tempswa
+%<trace> \typeout{clone entry from `#1' to `\reserved@a'}%
+ \immediate\write\scrwfile@wrtout{%
+ \string\@writefile{\reserved@a}{\the\@temptokena}%
+ }%
+ \edef\reserved@c{\reserved@c,\reserved@a}%
+ \fi
+ }%
+ \endgroup
+ }%
+}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{command}{\TOCclone}
+% \changes{v0.1.8}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}
+% \changes{v0.1.8}{2019/11/19}{\cs{ifattoclist} replaced by \cs{Ifattoclist}}
+% \changes{v0.1.8}{2019/11/19}{\cs{iftocfeature} replaced by
+% \cs{Iftocfeature}}
+% \changes{v0.1.8}{2020/02/25}{spurious space in warning message removed}
+% \changes{v0.1.9}{2021/05/30}{requires package \pkg*{tocbasic}}
+% \changes{v0.1.9}{2021/05/30}{can be used only in preamble}
+% \changes{v0.1.12}{2023/03/31}{using \cs{IfArgIsEmpty} instead of \cs{Ifstr}
+% with empty argument}
+% Clone the entries from the second (first mandatory) argument TOC to the
+% third (second mandatory) argument TOC. If the first (optional) argument was
+% given, define |\listof#3name| to this and also define |\listof#3| and clone
+% the toc features \texttt{leveldown}, \texttt{numbered}, \texttt{onecolumn}
+% and \texttt{totoc} of |#2| to |#3|. The toc feature \texttt{nobabel} will
+% always be set, because the babel entries at TOC |#3| will be cloned from TOC
+% |#2|.
+% \begin{description}
+% \item{Note:} We use owner \texttt{TOCclone} for all cloned extensions.
+% \end{description}
+% \begin{macrocode}
+\newcommand*{\TOCclone}[3][]{%
+ \RequirePackage{tocbasic}%
+ \scr@ifundefinedorrelax{scrwfile@clone@#2}{%
+ \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{%
+ #3,\protect\csname scrwfile@clone@#3\endcsname
+ }%
+ }{%
+ \edef\reserved@b{\csname scrwfile@clone@#2\endcsname}%
+ \expandafter\protected@edef\csname scrwfile@clone@#2\endcsname{%
+ \csname scrwfile@clone@#2\endcsname,%
+ #3,%
+ \protect\csname scrwfile@clone@#3\endcsname
+ }%
+ }%
+ \scr@ifundefinedorrelax{scrwfile@clone@#3}{%
+ \expandafter\let\csname scrwfile@clone@#3\endcsname\@empty
+ }{}%
+ \Ifattoclist{#3}{%
+ \PackageWarning{scrwfile}{`#3' already under control of
+ tocbasic.\MessageBreak
+ Nevertheless features will be set%
+ }%
+ }{%
+ \addtotoclist[TOCclone]{#3}%
+ }%
+ \setuptoc{#3}{nobabel}%
+ \IfArgIsEmpty{#1}{%
+ }{%
+ \@namedef{listof#3name}{#1}%
+ \@namedef{listof#3}{\listoftoc{#3}}%
+ \Iftocfeature{#2}{leveldown}{\setuptoc{#3}{leveldown}}{}%
+ \Iftocfeature{#2}{numbered}{\setuptoc{#3}{numbered}}{}%
+ \Iftocfeature{#2}{onecolumn}{\setuptoc{#3}{leveldownonecolumn}}{}%
+ \Iftocfeature{#2}{totoc}{\setuptoc{#3}{totoc}}{}%
+ }%
+}
+\@onlypreamble\TOCClone
+% \end{macrocode}
+% \end{command}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+% \PrintChanges
+%
+% \endinput
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End:
diff --git a/macros/latex/contrib/scrwfile/scrwfile.pdf b/macros/latex/contrib/scrwfile/scrwfile.pdf
new file mode 100644
index 0000000000..39ff8e9095
--- /dev/null
+++ b/macros/latex/contrib/scrwfile/scrwfile.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md
index 534cd4d8f3..a5e7361ddd 100644
--- a/macros/unicodetex/latex/polyglossia/README.md
+++ b/macros/unicodetex/latex/polyglossia/README.md
@@ -1,4 +1,4 @@
-# THE POLYGLOSSIA PACKAGE v1.60
+# THE POLYGLOSSIA PACKAGE v1.61
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
index d455f7f8e3..667081568b 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
@@ -8,7 +8,7 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v1.60
+# THE POLYGLOSSIA PACKAGE v1.61
## Multilingual typesetting with XeLaTeX and LuaLaTeX
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
@@ -2712,8 +2712,8 @@ to track the issues and follow progress.
% with ¦numerals=cyrillic-trad¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-trad]{\russiannumeral{19}},\\
% with ¦numerals=cyrillic-alph¦ ¦\mongoliannumeral{19}¦ results in \textrussian[numerals=cyrillic-alph]{\russiannumeral{19}}.
%
-% \item \Cmd\punjabinumeral produces Punjabi numbering, depending on the ¦numerals¦ option in the Punjabi language selection, this
-% is either Gurmukhi or Arabic (Western).
+% \item \Cmd\punjabinumeral produces Punjabi numbering, depending on the setting of the ¦numerals¦ option in the Punjabi language
+% selection, this is either Gurmukhi or Arabic (Western).
%
% \item \Cmd\russiannumeral produces Russian numbering, with uppercased variant (for alphanumerical variant) via \Cmd\Russiannumeral.
% Depending on the ¦numerals¦ option in the Russian language selection, this is either Arabic digit or Cyrillic
@@ -2836,10 +2836,42 @@ to track the issues and follow progress.
% (\ie \charifavailable{1E9E}{SS}), else it prints the substitution digraph SS.
%
%
-% \section{Accessing language information}
+% \section{Accessing language information}\label{sec:langinfo}
%
-% The following is specifically relevant to package authors who need information about the languages in use.
-% In order to get such information, \pkg{polyglossia} provides the following macros:
+% The following is specifically relevant to package authors who need information about the languages in use
+% and the details of the respective locale.
+% In order to get such information, the recommended way is to use the \Cmd{\BCPdata\marg{type}}\new{1.61}
+% command to get (parts of) the BCP-47 language tag. This command is used by the \LaTeX\ kernel as of 6/2023,
+% and the syntax is standardized at least between \pkg{babel} and \pkg{polyglossia}.
+%
+% \cmd\BCPdata\ supports the following \marg{type} arguments:
+% \begin{itemize}
+% \item \xpgoption{language} The language subtag (\eg \texttt{de})
+% \item \xpgoption{region} The region subtag (\eg \texttt{AT})
+% \item \xpgoption{script} The script subtag (\eg \texttt{Latn})
+% \item \xpgoption{variant} The variant subtag (\eg \texttt{1901} for German old spelling)
+% \item \xpgoption{extension.t} The subtag indicating transformation between languages or scripts
+% (\eg \texttt{ja} as in \texttt{en-t-ja}: English transformed to Japanese)
+% \item \xpgoption{extension.u} The subtag indicating additional locale information (\eg \texttt{nu-latn} as in \texttt{ar-u-nu-latn}:
+% Arabic with Latin Numbering)
+% \item \xpgoption{extension.x} The private usespace subtag (\eg \texttt{classic} as in \texttt{la-x-classic} for classic Latin)
+% \item \xpgoption{casing} is a special semantic value which returns whatever is considered suitable
+% for casing commands such as \cmd\MakeUppercase. In many cases, this is identical to \texttt{language} but
+% it could also be something more specific such as \texttt{el-x-iota} or \texttt{ckb-Latn} if this is
+% needed for proper casing. Note that this information is retrieved by the \LaTeX\ kernel for casing as
+% of 06/2023.
+% \item \xpgoption{tag} returns the registered full tag (identical to \cmd\languageid\ below). This however omits
+% certain subtags if these are considered obvious (\eg for German, only \texttt{de-DE} is returned, although
+% script [\texttt{Latn}] and variant [\texttt{1996}] are defined as well).
+% \end{itemize}
+% If a subtag is not defined for a given language, an empty string is returned.
+%
+% The values above return information for the language currently in use. If you need to access information for the
+% main language of the document, prepend \xpgoption{main.} to the respective argument (\eg \xpgoption{main.language}). This works
+% for all supported arguments.
+%
+% Next to \cmd\BCPdata, \pkg{polyglossia} provides the following legacy macros which are partly unique to \pkg{polyglossia},
+% partly re-implementations of legacy \pkg{babel} commands:
%
% \begin{itemize}
% \item \Cmd\languagename\ stores the currently active (polyglossia) language name.
@@ -2887,6 +2919,23 @@ to track the issues and follow progress.
% \section{Revision history}
%
% \bgroup\footnotesize
+% \subsection*{1.61 (2023/04/16)}
+%
+% \subsubsection*{Bug fixes}
+% \begin{itemize}
+% \item Properly reset fonts on change to Latin-script other language (\TXI{580})
+% \item Turn ¦^¦ shorthand off in aux file for Latin (\TXI{582})
+% \item Fix stacking of nested languages and resulting bug in TOC language assignment (\TXI{585})
+% \item Fix ¦\greeknumeral{6}¦ (\TXI{587})
+% \item Fix (re)setting of scripts in inline language commands.
+% \end{itemize}
+%
+% \subsubsection*{New features}
+% \begin{itemize}
+% \item Introduce \cmd\BCPdata, a standardized way to gather localization information
+% (see sec.~\ref{sec:langinfo}).
+% \end{itemize}
+%
% \subsection*{1.60 (2023/02/11)}
%
% \subsubsection*{Bug fixes}
@@ -3837,7 +3886,7 @@ to track the issues and follow progress.
% \subsection{polyglossia.sty}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{polyglossia}[2023/02/11 v1.60
+\ProvidesPackage{polyglossia}[2023/04/16 v1.61
Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
\RequirePackage{etoolbox}
\RequirePackage{makecmds}
@@ -4291,6 +4340,62 @@ to track the issues and follow progress.
.value_required:n = true,
#1 / bcp47
.initial:n = {},
+ % the BCP-47 language tag
+ #1 / bcp47-language
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-language}{##1}},
+ #1 / bcp47-language
+ .value_required:n = true,
+ #1 / bcp47-language
+ .initial:n = {},
+ % the BCP-47 region tag
+ #1 / bcp47-region
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-region}{##1}},
+ #1 / bcp47-region
+ .value_required:n = false,
+ #1 / bcp47-region
+ .initial:n = {},
+ % the BCP-47 script tag
+ #1 / bcp47-script
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-script}{##1}},
+ #1 / bcp47-script
+ .value_required:n = true,
+ #1 / bcp47-script
+ .initial:n = {},
+ % the BCP-47 variant tag
+ #1 / bcp47-variant
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-variant}{##1}},
+ #1 / bcp47-variant
+ .value_required:n = false,
+ #1 / bcp47-variant
+ .initial:n = {},
+ % the BCP-47 extension-t tag
+ #1 / bcp47-extension-t
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-t}{##1}},
+ #1 / bcp47-extension-t
+ .value_required:n = false,
+ #1 / bcp47-extension-t
+ .initial:n = {},
+ % the BCP-47 extension-u tag
+ #1 / bcp47-extension-u
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-u}{##1}},
+ #1 / bcp47-extension-u
+ .value_required:n = false,
+ #1 / bcp47-extension-u
+ .initial:n = {},
+ % the BCP-47 extension-x tag
+ #1 / bcp47-extension-x
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-extension-x}{##1}},
+ #1 / bcp47-extension-x
+ .value_required:n = false,
+ #1 / bcp47-extension-x
+ .initial:n = {},
+ % the BCP-47 casing alias
+ #1 / bcp47-casing
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47-casing}{##1}},
+ #1 / bcp47-casing
+ .value_required:n = false,
+ #1 / bcp47-casing
+ .initial:n = {},
% hyphennames
#1 / hyphennames
.code:n = {
@@ -5362,6 +5467,61 @@ to track the issues and follow progress.
\xpg@error{Invalid~ \string\mainlanguageid\space argument:~ #1}
}
}
+% Kernel command to access to BCP-47 data.
+% Shared interface with babel.
+% We support:
+% * language (e.g., de)
+% * region (e.g., AT)
+% * script (e.g., Latn)
+% * variant (e.g., 1901)
+% * extension-t (transformation, e.g., en-t-ja)
+% * extension-u (additional locale information, e.g., ar-u-nu-latn)
+% * extension-x (e.g., classic for la-x-classic)
+% * casing (whatever is suitable for \MakeUppercase and friends,
+% usually alias to language but could also be something
+% like el-x-iota or ckb-Latn)
+% * tag (the registered full tag)
+% and main.* variants thereof
+% See https://github.com/latex3/latex2e/issues/1035
+\DeclareExpandableDocumentCommand \BCPdata {m}
+{
+ \tl_set:Nn \l_tmpa_tl {#1}
+ % Check whether we have main.*
+ \str_if_in:nnTF {#1} { main. }
+ {
+ % split main.var and strip main.
+ \seq_set_split:Nnx \l_tmpa_seq {.} \l_tmpa_tl
+ \seq_get_right:NN \l_tmpa_seq \l_tmpa_tl
+ \str_set_eq:NN \l_tmpa_str \mainlanguagename
+ }
+ {
+ \str_set_eq:NN \l_tmpa_str \languagename
+ }
+ % return value for argument or error
+ \str_case_e:nnF { \l_tmpa_tl }
+ {
+ {language} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-language } }
+ {region} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-region } }
+ {script} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-script } }
+ {variant} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-variant } }
+ {extension.t} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47extension-t } }
+ {extension.u} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-extension-u } }
+ {extension.x} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-extension-x } }
+ {tag} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47 } }
+ {casing} { % For casing, we fall back to language if bcp47-casing is not explicitly set
+ \cs_set_nopar:cpx {tmpcasing} { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-casing } }
+ \str_if_empty:NTF \tmpcasing
+ { \prop_item:Ne \polyglossia@langsetup { \l_tmpa_str / bcp47-language } }
+ { \tmpcasing }
+ }
+ }
+ {
+ \xpg@error{Invalid~ \string\BCPdata\space argument:~ #1}
+ }
+}
+
+
+
% main babel name
\cs_new_nopar:Npn \mainlanguagename {}
\cs_new_nopar:Npn \mainbabelname {}
@@ -5763,6 +5923,9 @@ to track the issues and follow progress.
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnn {een}
+% Track whether we are in an inline lang (\text...) switch
+\bool_new:N \__xpg_inline_lang
+
% use by \text<lang> and \textlang. Equivalent to \foreignlanguage,
% except that dates are localized.
% #1: option
@@ -5777,6 +5940,7 @@ to track the issues and follow progress.
}
{
\group_begin:
+ \bool_set_true:N \__xpg_inline_lang
\xpg@otherlanguage[#1]{#3}%
\csuse{date#3}%
% This is a hook for external packages which want to access variants
@@ -5784,8 +5948,8 @@ to track the issues and follow progress.
\cs_if_exist_use:c{date@bbl@\babelname}%
\polyglossia@lang@settextdirection:nn{#3}{#4}%
\group_end:
- % Reset the language's/script's font families
- \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#3/lcscript}}{latin}{}{\resetfontlatin}%
+ % Reset the language's/script's font families if the embedding script is latin
+ \str_if_eq:eeTF{\prop_item:Ne{\polyglossia@langsetup}{\languagename/lcscript}}{latin}{\resetfontlatin}{}%
}
}
\cs_generate_variant:Nn \__xpg_textlanguage:nnnn {nnen}
@@ -6231,13 +6395,15 @@ to track the issues and follow progress.
}%
\polyglossia@set@language@name[#1]{#2}%
% Set the language's/script's font families
- \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}} {latin}
+ \str_if_eq:eeT{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}} {latin}
{
\resetfontlatin
}
- {
- \xpg@set@normalfont{#2}
- }%
+ \bool_if:NF \__xpg_inline_lang
+ { % This for non-inline font switches
+ % in case a \<lang>font is defined
+ \xpg@set@normalfont{#2}%
+ }
\xpg@select@fontfamily{#2}%
\__xpg_use_or_warn:c{#2@language}%
\cs_if_exist_use:c{#2@numbers}%
@@ -6257,9 +6423,11 @@ to track the issues and follow progress.
\cs_new:Nn \polyglossia@stack@language:nn
{
- \clist_push:Nn \l_xpg_lang_stack {#1:#2}
+ \clist_gpush:Nn \l_xpg_lang_stack {#1:#2}
}
+\cs_generate_variant:Nn \polyglossia@stack@language:nn {nx}
+
\cs_generate_variant:Nn \seq_set_split:Nnn {Nnx}
\cs_new:Nn \polyglossia@unstack@language:n
@@ -6270,22 +6438,25 @@ to track the issues and follow progress.
\seq_get_left:NN \l_tmpa_seq \l_tmpb_tl
\seq_get_right:NN \l_tmpa_seq \l_tmpc_tl
% Execute passed command with language and maybe options
+ % and re-set stored language's keys
\tl_if_empty:NTF \l_tmpb_tl {\cs_if_exist_use:c{#1}{\l_tmpc_tl}}
- {\cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}}
+ {\exp_args:Nne \setkeys{\l_tmpc_tl}{\l_tmpb_tl}
+ \cs_if_exist_use:c{#1}[\l_tmpb_tl]{\l_tmpc_tl}
+ }
}
{}
}
\renewenvironment{otherlanguage}[2][]
{%
- % Get real current options (incl. defaults)
+ % Get real current (pre-switch) options (incl. defaults)
\clist_clear_new:N \l_xpg_current_options
- \prop_map_inline:cn {xpg@current@options@#2}
+ \prop_map_inline:cn {xpg@current@options@\languagename}
{
\clist_put_right:Nn \l_xpg_current_options {##1=##2}
}
- % Store current options and language on stack
- \polyglossia@stack@language:nn{\clist_use:Nn \l_xpg_current_options {,}}{#2}%
+ % Store current (pre-switch) options and language on stack
+ \polyglossia@stack@language:nx{\clist_use:Nn \l_xpg_current_options {,}}{\languagename}%
\selectlanguage[#1]{#2}%
}
{%
@@ -7180,7 +7351,7 @@ Shawwāl\or Dhū ’l-Qaʿda\or Dhū ’l-Ḥijja\fi}
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia-punct')
@@ -7247,7 +7418,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct
% \begin{macrocode}
--
-- polyglossia-korean.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
local glyph_id = node.id"glyph"
@@ -7865,7 +8036,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia-punct')
@@ -7920,7 +8091,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia') -- just in case...
@@ -8288,7 +8459,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia-punct')
@@ -8338,7 +8509,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia') -- just in case...
@@ -8441,7 +8612,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
local module_name = "polyglossia"
@@ -9800,11 +9971,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latex.lde}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
-\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/02/11}{v1.60}{polyglossia: module for default language}
+\ProvidesLanguageDefinitionExtension{gloss-latex}{2023/04/16}{v1.61}{polyglossia: module for default language}
\PolyglossiaSetup{latex}{
+ bcp47=en-US,
+ bcp47-language=en,
+ bcp47-region=US,
+ bcp47-script=Latn,
hyphennames={english},
hyphenmins={2,3},
langtag=ENG,
@@ -9846,7 +10021,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-acadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-acadien.ldf}[polyglossia: module for Canadian (Acadian) French]
@@ -9863,7 +10038,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-aeb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-aeb.ldf}[polyglossia: module for aeb (Arabic)]
@@ -9880,7 +10055,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-af.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-af.ldf}[polyglossia: module for af (Afrikaans)]
@@ -9897,7 +10072,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-afb.ldf}[polyglossia: module for afb (Arabic)]
@@ -9914,12 +10089,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-afrikaans.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-afrikaans.ldf}[polyglossia: module for Afrikaans]
\PolyglossiaSetup{afrikaans}{
bcp47=af,
+ bcp47-language=af,
+ bcp47-script=Latn,
hyphennames={afrikaans,dutch},
hyphenmins={2,2},
langtag=AFK,
@@ -10017,12 +10194,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-albanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-albanian.ldf}[polyglossia: module for Albanian]
\PolyglossiaSetup{albanian}{
bcp47=sq,
+ bcp47-language=sq,
+ bcp47-script=Latn,
hyphennames={albanian},
langtag=SQI,
hyphenmins={2,2},
@@ -10072,7 +10251,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-am.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-am.ldf}[polyglossia: module for am (Amharic)]
@@ -10089,7 +10268,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-american.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-american.ldf}[polyglossia: module for American English]
@@ -10106,11 +10285,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-amharic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-amharic.ldf}[polyglossia: module for Amharic]
\PolyglossiaSetup{amharic}{
bcp47=am,
+ bcp47-language=am,
+ bcp47-script=Ethi,
script=Ethiopic,
scripttag=ethi,
langtag=AMH,
@@ -10324,7 +10505,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-apd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-apd.ldf}[polyglossia: module for apd (Arabic)]
@@ -10341,7 +10522,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-IQ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-IQ.ldf}[polyglossia: module for ar-IQ (Arabic)]
@@ -10349,6 +10530,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar,bcp47-region=IQ}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-IQ.ldf>
@@ -10358,7 +10541,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-JO.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-JO.ldf}[polyglossia: module for ar-JO (Arabic)]
@@ -10366,6 +10549,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-JO,bcp47-language=ar,bcp47-region=JO}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-JO.ldf>
@@ -10375,7 +10560,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-LB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-LB.ldf}[polyglossia: module for ar-LB (Arabic)]
@@ -10383,6 +10568,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-LB,bcp47-language=ar,bcp47-region=LB}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-LB.ldf>
@@ -10392,7 +10579,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-MR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-MR.ldf}[polyglossia: module for ar-MR (Arabic)]
@@ -10400,6 +10587,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-MR.ldf>
@@ -10409,7 +10598,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-PS.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-PS.ldf}[polyglossia: module for ar-PS (Arabic)]
@@ -10417,6 +10606,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-PS,bcp47-language=ar,bcp47-region=PS}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-PS.ldf>
@@ -10426,7 +10617,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-SY.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-SY.ldf}[polyglossia: module for ar-SY (Arabic)]
@@ -10434,6 +10625,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-SY,bcp47-language=ar,bcp47-region=SY}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-SY.ldf>
@@ -10443,7 +10636,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar-YE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar-YE.ldf}[polyglossia: module for ar-YE (Arabic)]
@@ -10451,6 +10644,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\xpg@load@master@language{arabic}
+\SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar,bcp47-region=YE}%
+
% \end{macrocode}
% \iffalse
%</gloss-ar-YE.ldf>
@@ -10460,7 +10655,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ar.ldf}[polyglossia: module for ar (Arabic)]
@@ -10477,7 +10672,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arabic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for Arabic]
\RequireBidi
@@ -10486,6 +10681,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{arabic}{
bcp47=ar,
+ bcp47-language=ar,
+ bcp47-script=Arab,
+ bcp47-region=YE,
script=Arabic,
direction=RL,
langtag=ARA,
@@ -10536,20 +10734,45 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\abjad@jim@notailfalse
\fi}
-\def\tmp@morocco{morocco}
-\def\tmp@algeria{algeria}
-\define@key{arabic}{locale}[default]{%
- \def\@tmpa{#1}%
- \ifx\@tmpa\tmp@morocco%
- \eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=ary}%
- \else
- \ifx\@tmpa\tmp@algeria%
+\define@choicekey*+{arabic}{locale}[\xpg@val\xpg@nr]{default,mashriq,libya,algeria,tunisia,morocco,mauritania}[default]{%
+ \ifcase\xpg@nr\relax
+ % default:
+ \eastern@numeralstrue%
+ \SetLanguageKeys{arabic}{bcp47=ar-YE,bcp47-language=ar}%
+ \xpg@info{Option: arabic, locale=default}%
+ \or
+ % mashriq:
+ \eastern@numeralstrue%
+ \SetLanguageKeys{arabic}{bcp47=ar-IQ,bcp47-language=ar}%
+ \xpg@info{Option: arabic, locale=mashriq}%
+ \or
+ % libya:
+ \eastern@numeralstrue%
+ \SetLanguageKeys{arabic}{bcp47=ayl,bcp47-language=ar,bcp47-region=LY}%
+ \xpg@info{Option: arabic, locale=libya}%
+ \or
+ % algeria:
\eastern@numeralsfalse%
- \SetLanguageKeys{arabic}{bcp47=arq}%
- \fi%
- \fi%
- \gdef\@@arabic@month{\@arabic@month{#1}}}
+ \SetLanguageKeys{arabic}{bcp47=arq,bcp47-language=ar,bcp47-region=DZ,bcp47-extension-u=nu-latn}%
+ \xpg@info{Option: arabic, locale=algeria}%
+ \or
+ % tunisia:
+ \eastern@numeralsfalse%
+ \SetLanguageKeys{arabic}{bcp47=aeb,bcp47-language=ar,bcp47-region=TN,bcp47-extension-u=nu-latn}%
+ \xpg@info{Option: arabic, locale=tunisia}%
+ \or
+ % morocco:
+ \eastern@numeralsfalse%
+ \SetLanguageKeys{arabic}{bcp47=ary,bcp47-language=ar,bcp47-region=MA,bcp47-extension-u=nu-latn}%
+ \xpg@info{Option: arabic, locale=morocco}%
+ \or
+ % mauritania:
+ \eastern@numeralstrue%
+ \SetLanguageKeys{arabic}{bcp47=ar-MR,bcp47-language=ar,bcp47-region=MR}%
+ \xpg@info{Option: arabic, locale=mauritania}%
+ \fi
+ \gdef\@@arabic@month{\@arabic@month{#1}}
+ }{\xpg@warning{Unknown Arabic locale `#1'}}
\newif\if@hijrical
\def\tmp@hijri{hijri}
@@ -10747,12 +10970,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-armenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-armenian.ldf}[polyglossia: module for Armenian]
\PolyglossiaSetup{armenian}{
bcp47=hy,
+ bcp47-language=hy,
+ bcp47-script=Armn,
+ bcp47-region=AM,
script=Armenian,
scripttag=armn,
langtag=HYE,
@@ -10781,7 +11007,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@armenian@numerals
\@armenian@numeralsfalse
\define@key{armenian}{numerals}[armenian]{%
- \ifstrequal{#1}{arabic}{\@armenian@numeralsfalse}{\@armenian@numeralstrue}%
+ \ifstrequal{#1}{arabic}{%
+ \@armenian@numeralsfalse%
+ \SetLanguageKeys{armenian}{bcp47-extension-u=nu-latn}%
+ }{%
+ \@armenian@numeralstrue%
+ \SetLanguageKeys{armenian}{bcp47-extension-u={}}%
+ }%
}
% Register default options
@@ -10934,7 +11166,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arq.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-arq.ldf}[polyglossia: module for arq (Arabic)]
@@ -10951,7 +11183,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ary.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ary.ldf}[polyglossia: module for ary (Arabic)]
@@ -10968,7 +11200,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-arz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-arz.ldf}[polyglossia: module for arz (Arabic)]
@@ -10985,7 +11217,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ast.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ast.ldf}[polyglossia: module for ast (Asturian)]
@@ -11002,7 +11234,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-asturian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% Translated by Xuacu <xuacusk8 at gmail dot com>
% Contributed by Kevin Godby <godbyk at gmail dot com>
@@ -11010,6 +11242,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ProvidesFile{gloss-asturian.ldf}[polyglossia: module for Asturian]
\PolyglossiaSetup{asturian}{
bcp47=ast,
+ bcp47-language=ast,
+ bcp47-script=Latn,
hyphennames={asturian,catalan},
hyphenmins={2,2},
langtag=AST,
@@ -11060,7 +11294,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-australian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-australian.ldf}[polyglossia: module for Australian English]
@@ -11077,7 +11311,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-austrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-austrian.ldf}[polyglossia: module for Austrian German (old spelling)]
@@ -11094,7 +11328,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ayl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ayl.ldf}[polyglossia: module for ayl (Arabic)]
@@ -11111,7 +11345,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bahasa.ldf}[polyglossia: module for Bahasa Indonesia]
@@ -11128,7 +11362,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bahasai.ldf}[polyglossia: module for Bahasa Indonesia]
@@ -11146,7 +11380,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bahasam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bahasam.ldf}[polyglossia: module for Bahasa Melayu]
@@ -11164,11 +11398,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-basque.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-basque.ldf}[polyglossia: module for Basque]
\PolyglossiaSetup{basque}{
bcp47=eu,
+ bcp47-language=eu,
+ bcp47-region=ES,
+ bcp47-script=Latn,
hyphennames={basque},
hyphenmins={2,2},
langtag=EUQ,
@@ -11219,7 +11456,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be-tarask.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-be-tarask.ldf}[polyglossia: module for be-tarask (Belarusian)]
@@ -11236,7 +11473,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-be.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-be.ldf}[polyglossia: module for be (Belarusian)]
@@ -11253,7 +11490,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-belarusian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-belarusian.ldf}[polyglossia: module for Belarusian]
@@ -11261,6 +11498,10 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{belarusian}{
bcp47=be,
+ bcp47-language=be,
+ bcp47-region=BY,
+ bcp47-variant=1959acad,
+ bcp47-script=Cyrl,
script=Cyrillic,
scripttag=cyrl,
langtag=BEL,
@@ -11281,15 +11522,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% modern:
\def\belarusian@spelling{modern}%
- \SetLanguageKeys{belarusian}{bcp47=be}%
+ \SetLanguageKeys{belarusian}{bcp47=be,bcp47-variant=1959acad}%
\or
% classic:
\def\belarusian@spelling{tarask}%
- \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
\or
% tarask:
\def\belarusian@spelling{tarask}%
- \SetLanguageKeys{belarusian}{bcp47=be-tarask}%
+ \SetLanguageKeys{belarusian}{bcp47=be-tarask,bcp47-variant=tarask}%
\fi
}{\xpg@warning{Unknown Belarusian spelling `#1'}}
@@ -11577,7 +11818,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bengali.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% Translations provided by সাজেদুর রহিম জোয়ারদার <toshazed@gmail.com>
% TODO implement Bengali calendar
@@ -11589,6 +11830,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{bengali}{
bcp47=bn,
+ bcp47-language=bn,
+ bcp47-script=Beng,
script=Bengali,
scripttag=beng,
langtag=BEN,
@@ -11716,7 +11959,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bg.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bg.ldf}[polyglossia: module for bg (Bulgarian)]
@@ -11733,7 +11976,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bn.ldf}[polyglossia: module for bn (Bengali)]
@@ -11750,7 +11993,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bo.ldf}[polyglossia: module for bo (Tibetan)]
@@ -11767,12 +12010,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bosnian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bosnian.ldf}[polyglossia: module for Bosnian]
\PolyglossiaSetup{bosnian}{
bcp47=bs,
+ bcp47-language=bs,
+ bcp47-region=BA,
+ bcp47-script=Latn,
+ bcp47-casing=bs-Latn,
langtag=BOS,
hyphennames={bosnian,croatian},
hyphenmins={2,2}, % adapted from gloss-croatian
@@ -11827,7 +12074,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-br.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-br.ldf}[polyglossia: module for br (Breton)]
@@ -11844,7 +12091,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-brazil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-brazil.ldf}[polyglossia: module for Brazilian Portuguese]
@@ -11863,11 +12110,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-breton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-breton.ldf}[polyglossia: module for Breton]
\PolyglossiaSetup{breton}{
bcp47=br,
+ bcp47-language=br,
+ bcp47-region=FR,
+ bcp47-script=Latn,
hyphennames={breton},
hyphenmins={2,2},
langtag=BRE,
@@ -11968,7 +12218,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-british.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-british.ldf}[polyglossia: module for British English]
@@ -11985,7 +12235,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bs.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bs.ldf}[polyglossia: module for bs (Bosnian)]
@@ -12002,11 +12252,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-bulgarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-bulgarian.ldf}[polyglossia: module for Bulgarian]
\PolyglossiaSetup{bulgarian}{
bcp47=bg,
+ bcp47-language=bg,
+ bcp47-region=BG,
+ bcp47-script=Cyrl,
script=Cyrillic,
scripttag=cyrl,
langtag=BGR,
@@ -12101,7 +12354,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ca.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ca.ldf}[polyglossia: module for ca (Catalan)]
@@ -12118,7 +12371,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-canadian.ldf}[polyglossia: module for Canadian English]
@@ -12135,7 +12388,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-canadien.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-canadien.ldf}[polyglossia: module for Canadian French]
@@ -12152,11 +12405,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-catalan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-catalan.ldf}[polyglossia: module for Catalan]
\PolyglossiaSetup{catalan}{
bcp47=ca,
+ bcp47-language=ca,
+ bcp47-script=Latn,
hyphennames={catalan},
hyphenmins={2,2},
langtag=CAT,
@@ -12319,12 +12574,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-chinese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-chinese.ldf}[polyglossia: module for Chinese]
\PolyglossiaSetup{chinese}{
bcp47=zh,
+ bcp47-language=zh,
+ bcp47-region=CN,
+ bcp47-script=Hans,
script=CJK,
scripttag=hani,
language=Chinese,
@@ -12346,8 +12604,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifchinese@numerals
\define@key{chinese}{numerals}[arabic]{%
\ifstrequal{#1}{chinese}%
- {\chinese@numeralstrue}%
- {\chinese@numeralsfalse}%
+ {\chinese@numeralstrue%
+ \SetLanguageKeys{chinese}{bcp47-extension-u=nu-hant}%
+ }{\chinese@numeralsfalse%
+ \SetLanguageKeys{chinese}{bcp47-extension-u=nu-latn}%
+ }%
}
@@ -12355,22 +12616,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% cn:
\chinese@traditionalfalse
- \SetLanguageKeys{chinese}{bcp47=zh-CN}%
+ \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
\xpg@info{Option: Chinese, variant=simplified}%
\or
% simplified:
\chinese@traditionalfalse
- \SetLanguageKeys{chinese}{bcp47=zh-CN}%
+ \SetLanguageKeys{chinese}{bcp47=zh-CN,bcp47-language=zh,bcp47-region=CN,bcp47-script=Hans}%
\xpg@info{Option: Chinese, variant=simplified}%
\or
% tw:
\chinese@traditionaltrue
- \SetLanguageKeys{chinese}{bcp47=zh-TW}%
+ \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
\xpg@info{Option: Chinese, variant=traditional}%
\or
% traditional:
\chinese@traditionaltrue
- \SetLanguageKeys{chinese}{bcp47=zh-TW}%
+ \SetLanguageKeys{chinese}{bcp47=zh-TW,bcp47-language=zh,bcp47-region=TW,bcp47-script=Hant}%
\xpg@info{Option: Chinese, variant=traditional}%
\fi
}{\xpg@warning{Unknown Chinese variant `#1'}}
@@ -12603,7 +12864,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ckb-Arab.ldf}[polyglossia: module for ckb-Arab (Kurdish)]
@@ -12620,7 +12881,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ckb-Latn.ldf}[polyglossia: module for ckb-Latn (Kurdish)]
@@ -12637,7 +12898,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ckb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ckb.ldf}[polyglossia: module for ckb (Kurdish)]
@@ -12654,7 +12915,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cop.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-cop.ldf}[polyglossia: module for cop (Coptic)]
@@ -12671,11 +12932,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-coptic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-coptic.ldf}[polyglossia: module for Coptic]
\PolyglossiaSetup{coptic}{
bcp47=cop,
+ bcp47-language=cop,
+ bcp47-region=CN,
+ bcp47-script=Copt,
script=Coptic,
scripttag=copt,
langtag=COP,
@@ -12724,11 +12988,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-croatian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-croatian.ldf}[polyglossia: module for Croatian]
\PolyglossiaSetup{croatian}{
bcp47=hr,
+ bcp47-language=hr,
+ bcp47-script=Latn,
langtag=HRV,
hyphennames={croatian},
hyphenmins={2,2}, % aligned with https://ctan.org/pkg/hrhyph patterns and http://lebesgue.math.hr/~nenad/Diplomski/Maja_Ribaric_2011.pdf
@@ -12997,7 +13263,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-cy.ldf}[polyglossia: module for cy (Welsh)]
@@ -13014,7 +13280,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-cz.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-cz.ldf}[polyglossia: module for cz (Czech)]
@@ -13031,12 +13297,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-czech.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-czech.ldf}[polyglossia: module for Czech]
\PolyglossiaSetup{czech}{
bcp47=cz,
+ bcp47-language=cz,
+ bcp47-region=CZ,
+ bcp47-script=Latn,
hyphennames={czech},
hyphenmins={2,2},
langtag=CSY,
@@ -13287,7 +13556,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-da.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-da.ldf}[polyglossia: module for da (Danish)]
@@ -13304,11 +13573,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-danish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-danish.ldf}[polyglossia: module for Danish]
\PolyglossiaSetup{danish}{
bcp47=da,
+ bcp47-language=da,
+ bcp47-script=Latn,
hyphennames={danish},
hyphenmins={2,3},
langtag=DAN,
@@ -13359,7 +13630,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-AT-1901.ldf}[polyglossia: module for de-AT-1901 (Austrian German, old spelling)]
@@ -13376,7 +13647,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-AT-1996.ldf}[polyglossia: module for de-AT-1996 (Austrian German)]
@@ -13393,7 +13664,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-AT.ldf}[polyglossia: module for de-AT (Austrian German)]
@@ -13410,7 +13681,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-CH-1901.ldf}[polyglossia: module for de-CH-1901 (Swiss German, old spelling)]
@@ -13427,7 +13698,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-CH-1996.ldf}[polyglossia: module for de-CH-1996 (Swiss German)]
@@ -13444,7 +13715,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-CH.ldf}[polyglossia: module for de-CH (Swiss German)]
@@ -13461,7 +13732,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-DE-1901.ldf}[polyglossia: module for de-DE-1901 (Germany's German, old spelling)]
@@ -13478,7 +13749,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-DE-1996.ldf}[polyglossia: module for de-DE-1996 (Germany's German)]
@@ -13495,7 +13766,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-DE.ldf}[polyglossia: module for de-DE (Germany's German)]
@@ -13512,7 +13783,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-AT-1901-Latf.ldf}[polyglossia: module for de-AT-1901-Latf (Austrian German, old spelling)]
@@ -13529,7 +13800,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-AT-1996-Latf.ldf}[polyglossia: module for de-AT-1996-Latf (Austrian German)]
@@ -13546,7 +13817,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-AT.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-AT-Latf.ldf}[polyglossia: module for de-AT-Latf (Austrian German)]
@@ -13563,7 +13834,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-CH-1901-Latf.ldf}[polyglossia: module for de-CH-1901-Latf (Swiss German, old spelling)]
@@ -13580,7 +13851,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-CH-1996-Latf.ldf}[polyglossia: module for de-CH-1996-Latf (Swiss German)]
@@ -13597,7 +13868,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-CH-Latf.ldf}[polyglossia: module for de-CH-Latf (Swiss German)]
@@ -13614,7 +13885,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1901.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-DE-1901-Latf.ldf}[polyglossia: module for de-DE-1901-Latf (Germany's German, old spelling)]
@@ -13631,7 +13902,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE-1996.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-DE-1996-Latf.ldf}[polyglossia: module for de-DE-1996-Latf (Germany's German)]
@@ -13648,7 +13919,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf-DE.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-DE-Latf.ldf}[polyglossia: module for de-DE-Latf (Germany's German)]
@@ -13665,7 +13936,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de-Latf.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de-Latf.ldf}[polyglossia: module for de-Latf (German)]
@@ -13682,7 +13953,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-de.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-de.ldf}[polyglossia: module for de (German)]
@@ -13699,13 +13970,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-divehi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for Divehi]
\RequireBidi
\PolyglossiaSetup{divehi}{
bcp47=dv,
+ bcp47-language=dv,
+ bcp47-script=Thaa,
script=Thaana,
scripttag=thaa,
langtag=DIV,% TODO Support DHV as well?
@@ -13764,7 +14037,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-dsb.ldf}[polyglossia: module for dsb (Sorbian)]
@@ -13781,11 +14054,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dutch.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-dutch.ldf}[polyglossia: module for Dutch]
\PolyglossiaSetup{dutch}{
bcp47=nl,
+ bcp47-language=nl,
+ bcp47-script=Latn,
hyphennames={dutch},
hyphenmins={2,2},
langtag=NLD,
@@ -13884,7 +14159,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-dv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-dv.ldf}[polyglossia: module for dv (Divehi)]
@@ -13901,7 +14176,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-monoton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-el-monoton.ldf}[polyglossia: module for el-monoton (Greek)]
@@ -13918,7 +14193,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el-polyton.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-el-polyton.ldf}[polyglossia: module for el-polyton (Greek)]
@@ -13935,7 +14210,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-el.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-el.ldf}[polyglossia: module for el (Greek)]
@@ -13952,7 +14227,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-AU.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-en-AU.ldf}[polyglossia: module for en-AU (Australian English)]
@@ -13969,7 +14244,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-en-CA.ldf}[polyglossia: module for en-CA (Canadan English)]
@@ -13986,7 +14261,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-GB.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-en-GB.ldf}[polyglossia: module for en-GB (British English)]
@@ -14003,7 +14278,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-NZ.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-en-NZ.ldf}[polyglossia: module for en-NZ (Newzealand English)]
@@ -14020,7 +14295,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en-US.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-en-US.ldf}[polyglossia: module for en-US (American English)]
@@ -14037,7 +14312,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-en.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-en.ldf}[polyglossia: module for en (English)]
@@ -14054,12 +14329,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-english.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-english.ldf}[polyglossia: module for English]
\PolyglossiaSetup{english}{
bcp47=en-US,
+ bcp47-language=en,
+ bcp47-region=US,
+ bcp47-script=Latn,
hyphennames={english,american,usenglish,USenglish},
hyphenmins={2,3},
langtag=ENG,
@@ -14103,35 +14381,35 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
- \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
+ \SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
\xpg@info{Option: English, variant=british}%
\or
% british:
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdaytrue
- \SetLanguageKeys{english}{babelname=british,bcp47=en-GB}%
+ \SetLanguageKeys{english}{babelname=british,bcp47=en-GB,bcp47-language=en,bcp47-region=GB}%
\xpg@info{Option: english variant=british}%
\or
% us:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+ \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
\xpg@info{Option: English, variant=american}%
\or
% american:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+ \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
\xpg@info{Option: English, variant=american}%
\or
% usmax:
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=american,bcp47=en-US}%
+ \SetLanguageKeys{english}{babelname=american,bcp47=en-US,bcp47-language=en,bcp47-region=US}%
\xpg@info{Option: english variant=american (with additional patterns)}%
\xpg@ifdefined{usenglishmax}{}%
{\xpg@warning{No hyphenation patterns were loaded for "US English Max"\MessageBreak
@@ -14146,7 +14424,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU}%
+ \SetLanguageKeys{english}{babelname=australian,bcp47=en-AU,bcp47-language=en,bcp47-region=AU}%
\xpg@info{Option: English, variant=australian}%
\adddialect\l@australian\l@english%
\or
@@ -14156,7 +14434,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@hyphentrue
\british@dateformattrue
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ}%
+ \SetLanguageKeys{english}{babelname=newzealand,bcp47=en-NZ,bcp47-language=en,bcp47-region=NZ}%
\xpg@info{Option: English, variant=newzealand}%
\adddialect\l@newzealand\l@english%
\or
@@ -14165,7 +14443,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\british@hyphenfalse
\british@dateformatfalse
\english@ordinalmonthdayfalse
- \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA}%
+ \SetLanguageKeys{english}{babelname=canadian,bcp47=en-CA,bcp47-language=en,bcp47-region=CA}%
\xpg@info{Option: English, variant=american}%
\adddialect\l@canadian\l@english%
\fi
@@ -14262,7 +14540,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-eo.ldf}[polyglossia: module for eo (Esperanto)]
@@ -14279,7 +14557,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-ES.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-es-ES.ldf}[polyglossia: module for es-ES (Spain's Spanish)]
@@ -14296,7 +14574,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es-MX.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-es-MX.ldf}[polyglossia: module for es-MX (Mexican Spanish)]
@@ -14313,7 +14591,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-es.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-es.ldf}[polyglossia: module for es (Spanish)]
@@ -14330,11 +14608,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-esperanto.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-esperanto.ldf}[polyglossia: module for Esperanto]
\PolyglossiaSetup{esperanto}{
bcp47=eo,
+ bcp47-language=eo,
+ bcp47-script=Latn,
hyphennames={esperanto},
hyphenmins={2,2},
langtag=NTO,
@@ -14408,11 +14688,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-estonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-estonian.ldf}[polyglossia: module for Estonian]
\PolyglossiaSetup{estonian}{
bcp47=et,
+ bcp47-language=et,
+ bcp47-region=EE,
+ bcp47-script=Latn,
hyphennames={estonian},
hyphenmins={2,2},
langtag=ETI,
@@ -14462,7 +14745,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-et.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-et.ldf}[polyglossia: module for et (Estonian)]
@@ -14479,7 +14762,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-eu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-eu.ldf}[polyglossia: module for eu (Basque)]
@@ -14496,7 +14779,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fa.ldf}[polyglossia: module for fa (Persian)]
@@ -14513,7 +14796,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-farsi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-farsi.ldf}[polyglossia: module for Farsi]
@@ -14531,7 +14814,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fi.ldf}[polyglossia: module for fi (Finnish)]
@@ -14548,11 +14831,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-finnish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-finnish.ldf}[polyglossia: module for Finnish]
\PolyglossiaSetup{finnish}{
bcp47=fi,
+ bcp47-language=fi,
+ bcp47-region=FI,
+ bcp47-script=Latn,
hyphennames={finnish},
hyphenmins={2,2},
langtag=FIN,
@@ -14665,7 +14951,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CA.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fr-CA.ldf}[polyglossia: module for fr-CA (Canadian French)]
@@ -14682,7 +14968,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-CH.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fr-CH.ldf}[polyglossia: module for fr-CH (Swiss French)]
@@ -14699,7 +14985,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr-FR.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fr-FR.ldf}[polyglossia: module for fr-FR (France's French)]
@@ -14716,7 +15002,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fr.ldf}[polyglossia: module for fr (French)]
@@ -14733,12 +15019,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-french.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-french.ldf}[polyglossia: module for French]
\PolyglossiaSetup{french}{%
bcp47=fr-FR,
+ bcp47-language=fr,
+ bcp47-region=FR,
+ bcp47-script=Latn,
language=French,
script=Latin,
langtag=FRA,
@@ -14763,12 +15052,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% french:
\def\french@variant{french}%
- \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-FR,bcp47-language=fr,bcp47-region=FR}%
\french@thincolonspacefalse
\or
% canadian:
\def\french@variant{canadien}%
- \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
\xpg@ifdefined{canadien}{}%
{\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
I will use the standard patterns for French instead}%
@@ -14777,7 +15066,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\or
% acadian:
\def\french@variant{acadian}%
- \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA}%
+ \SetLanguageKeys{french}{babelname=canadien,bcp47=fr-CA,bcp47-language=fr,bcp47-region=CA}%
\xpg@ifdefined{acadian}{}%
{\xpg@warning{No hyphenation patterns were loaded for "French (Canada)"\MessageBreak
I will use the standard patterns for French instead}%
@@ -14786,7 +15075,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\or
% swiss:
\def\french@variant{swissfrench}%
- \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH}%
+ \SetLanguageKeys{french}{babelname=french,bcp47=fr-CH,bcp47-language=fr,bcp47-region=CH}%
\adddialect\l@swissfrench\l@french\relax%
\french@thincolonspacetrue
\fi
@@ -15255,7 +15544,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-friulan.ldf}[polyglossia: module for Friulian]
@@ -15272,12 +15561,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-friulian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-friulian.ldf}[polyglossia: module for Friulian]
\PolyglossiaSetup{friulian}{%
bcp47=fur,
+ bcp47-language=fur,
+ bcp47-script=Latn,
language=Friulian,
babelname=friulan,
hyphennames={friulan,furlan},
@@ -15356,7 +15647,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-fur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-fur.ldf}[polyglossia: module for fur (Friulian)]
@@ -15373,7 +15664,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ga.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ga.ldf}[polyglossia: module for ga (Gaelic)]
@@ -15390,12 +15681,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gaelic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-gaelic.ldf}[polyglossia: module for Gaelic]
\PolyglossiaSetup{gaelic}{
bcp47=ga,
+ bcp47-language=ga,
+ bcp47-script=Latn,
language=Irish,
babelname=irish,
hyphennames={irish},
@@ -15416,12 +15709,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% irish:
\gdef\gaelic@variant{irish}%
- \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga}%
+ \SetLanguageKeys{gaelic}{language=Irish,langtag=IRI,babelname=irish,bcp47=ga,bcp47-language=ga}%
\xpg@fontsetup@latin{gaelic}%
\or
% scottish:
\gdef\gaelic@variant{scottish}%
- \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd}%
+ \SetLanguageKeys{gaelic}{language=Gaelic,langtag=GAE,babelname=scottish,bcp47=gd,bcp47-language=gd}%
\xpg@fontsetup@latin{gaelic}%
\fi
\xpg@info{Option: gaelic, variant=\xpg@val}%
@@ -15518,11 +15811,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-galician.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-galician.ldf}[polyglossia: module for Galician]
\PolyglossiaSetup{galician}{
bcp47=gl,
+ bcp47-language=gl,
+ bcp47-region=ES,
+ bcp47-script=Latn,
hyphennames={galician},
hyphenmins={2,2},
langtag=GAL,
@@ -15572,7 +15868,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gd.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-gd.ldf}[polyglossia: module for gd (Gaelic)]
@@ -15589,12 +15885,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-georgian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-georgian.ldf}[polyglossia: module for Georgian]
\PolyglossiaSetup{georgian}{
bcp47=ka,
+ bcp47-language=ka,
+ bcp47-script=Geor,
script=Georgian,
scripttag=geor,
langtag=KAT,
@@ -15609,8 +15907,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\ifgeorgian@numerals
\define@key{georgian}{numerals}[arabic]{%
\ifstrequal{#1}{georgian}%
- {\georgian@numeralstrue}%
- {\georgian@numeralsfalse}%
+ {\georgian@numeralstrue%
+ \SetLanguageKeys{georgian}{bcp47-extension-u=nu-geor}%
+ }%
+ {\georgian@numeralsfalse%
+ \SetLanguageKeys{georgian}{bcp47-extension-u=nu-latn}%
+ }%
}
\define@boolkey{georgian}[georgian@]{babelshorthands}[true]{}
@@ -15831,12 +16133,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-german.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-german.ldf}[polyglossia: module for German]
\PolyglossiaSetup{german}{
bcp47=de-DE,
+ bcp47-language=de,
+ bcp47-region=DE,
+ bcp47-variant=1996,
+ bcp47-script=Latn,
hyphenmins={2,2},
frenchspacing=true,
fontsetup=true,
@@ -15926,43 +16232,43 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@german@oldspelling
\if@swiss@locale
\if@german@blackletter
- \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901}%
+ \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-Latf-CH-1901,bcp47-language=de,bcp47-region=CH,bcp47-variant=1901,bcp47-script=Latf}%
\else
- \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901}%
+ \SetLanguageKeys{german}{babelname=swissgerman,bcp47=de-CH-1901,bcp47-language=de,bcp47-region=CH,bcp47-variant=1901,bcp47-script=Latn}%
\fi
\else
\if@austrian@locale
\if@german@blackletter
- \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901}%
+ \SetLanguageKeys{german}{babelname=austrian,bcp47=de-Latf-AT-1901,bcp47-language=de,bcp47-region=AT,bcp47-variant=1901,bcp47-script=Latf}%
\else
- \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901}%
+ \SetLanguageKeys{german}{babelname=austrian,bcp47=de-AT-1901,bcp47-language=de,bcp47-region=AT,bcp47-variant=1901,bcp47-script=Latn}%
\fi
\else
\if@german@blackletter
- \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901}%
+ \SetLanguageKeys{german}{babelname=german,bcp47=de-Latf-DE-1901,bcp47-script=Latf,bcp47-language=de,bcp47-region=DE,bcp47-variant=1901,bcp47-script=Latf}%
\else
- \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901}%
+ \SetLanguageKeys{german}{babelname=german,bcp47=de-DE-1901,bcp47-language=de,bcp47-region=DE,bcp47-variant=1901,bcp47-script=Latn}%
\fi
\fi\fi
\else
\if@swiss@locale
\if@german@blackletter
- \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH}%
+ \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-Latf-CH,bcp47-language=de,bcp47-region=CH,bcp47-variant=1996,bcp47-script=Latf}%
\else
- \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH}%
+ \SetLanguageKeys{german}{babelname=nswissgerman,bcp47=de-CH,bcp47-language=de,bcp47-region=CH,bcp47-variant=1996,bcp47-script=Latn}%
\fi
\else
\if@austrian@locale
\if@german@blackletter
- \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT}%
+ \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-Latf-AT,bcp47-language=de,bcp47-region=AT,bcp47-variant=1996,bcp47-script=Latf}%
\else
- \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT}%
+ \SetLanguageKeys{german}{babelname=naustrian,bcp47=de-AT,bcp47-language=de,bcp47-region=AT,bcp47-variant=1996,bcp47-script=Latn}%
\fi
\else
\if@german@blackletter
- \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE}%
+ \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-Latf-DE,bcp47-language=de,bcp47-region=DE,bcp47-variant=1996,bcp47-script=Latf}%
\else
- \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE}%
+ \SetLanguageKeys{german}{babelname=ngerman,bcp47=de-DE,bcp47-language=de,bcp47-region=DE,bcp47-variant=1996,bcp47-script=Latn}%
\fi
\fi\fi
\fi
@@ -16165,7 +16471,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-germanb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-germanb.ldf}[polyglossia: module for German (old spelling)]
@@ -16182,7 +16488,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-gl.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-gl.ldf}[polyglossia: module for gl (Galician)]
@@ -16199,7 +16505,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-grc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-grc.ldf}[polyglossia: module for grc (Greek)]
@@ -16216,12 +16522,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-greek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-greek.ldf}[polyglossia: module for Greek]
\PolyglossiaSetup{greek}{
bcp47=el-monoton,
+ bcp47-language=el,
+ bcp47-variant=monoton,
+ bcp47-script=Grek,
+ bcp47-extension-u=nu-grek,
script=Greek,
scripttag=grek,
langtag=ELL,
@@ -16275,7 +16585,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\greek@variant{polygreek}%
\def\captionsgreek{\polygreekcaptions}%
\def\dategreek{\datepolygreek}%
- \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton}%
+ \SetLanguageKeys{greek}{babelname=polutonikogreek,bcp47=el-polyton,bcp47-language=el,bcp47-variant=polyton}%
\xpg@info{Option: Polytonic Greek}%
\else
\ifx\@tmpa\tmp@ancient
@@ -16286,7 +16596,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\greek@variant{ancientgreek}%
\def\captionsgreek{\ancientgreekcaptions}%
\def\dategreek{\dateancientgreek}%
- \SetLanguageKeys{greek}{babelname=greek,bcp47=grc}%
+ \SetLanguageKeys{greek}{babelname=greek,bcp47=grc,bcp47-language=grc,bcp47-variant={}}%
\xpg@info{Option: Ancient Greek}%
\else %monotonic
\xpg@ifdefined{monogreek}{}%
@@ -16296,7 +16606,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\greek@variant{monogreek}% monotonic
\def\captionsgreek{\monogreekcaptions}%
\def\dategreek{\datemonogreek}%
- \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton}%
+ \SetLanguageKeys{greek}{babelname=greek,bcp47=el-monoton,bcp47-language=el,bcp47-variant=polyton}%
\xpg@info{Option: Monotonic Greek}%
\fi
\fi}
@@ -16308,7 +16618,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@greek@numerals
\define@key{greek}{numerals}[greek]{%
- \ifstrequal{#1}{arabic}{\@greek@numeralsfalse}{\@greek@numeralstrue}%
+ \ifstrequal{#1}{arabic}{%
+ \@greek@numeralsfalse%
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-latn}%
+ }{\@greek@numeralstrue%
+ \SetLanguageKeys{greek}{bcp47-extension-u=nu-grek}%
+ }%
}
\define@boolkey{greek}{attic}[true]{\xpg@warning{Greek option `attic' is no longer required.}}
@@ -16530,7 +16845,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\greeknumeral=\greeknumber
\let\Greeknumeral=\Greeknumber
\def\gr@num@i#1{%
- \ifcase#1\or α\or β\or γ\or δ\or ε\or Ϛ\or ζ\or η\or θ\fi
+ \ifcase#1\or α\or β\or γ\or δ\or ε\or ϛ\or ζ\or η\or θ\fi
\ifnum#1=\z@\else\anw@true\fi\anw@print}
\def\gr@num@ii#1{%
\ifcase#1\or ι\or κ\or λ\or μ\or ν\or ξ\or ο\or π\or ϟ\fi
@@ -16550,7 +16865,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
͵\ifcase#1\or ρ\or σ\or τ\or υ\or φ\or χ\or ψ\or ω\or ϡ\fi
\gr@num@v}
\def\gr@Num@i#1{%
- \ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or \MakeUppercase{Ϛ}\or Ζ\or Η\or θ\fi
+ \ifcase#1 \or Α\or Β\or Γ\or Δ\or Ε\or Ϛ\or Ζ\or Η\or θ\fi
\ifnum#1=\z@\else\anw@true\fi\anw@print}
\def\gr@Num@ii#1{%
\ifcase#1 \or Ι\or Κ\or Λ\or Μ\or Ν\or Ξ\or Ο\or Π\or \MakeUppercase{ϟ}\fi
@@ -16636,7 +16951,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-he.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-he.ldf}[polyglossia: module for he (Hebrew)]
@@ -16653,7 +16968,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hebrew.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for Hebrew]
@@ -16662,6 +16977,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{hebrew}{
bcp47=he,
+ bcp47-language=hr,
+ bcp47-region=HE,
+ bcp47-script=Hebr,
script=Hebrew,
direction=RL,
scripttag=hebr,
@@ -16698,9 +17016,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% hebrew:
\@hebrew@numeralstrue%
+ \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-hebr}%
\or
% arabic:
\@hebrew@numeralsfalse%
+ \SetLanguageKeys{hebrew}{bcp47-extension-u=nu-latn}%
\fi
\xpg@info{Option: Hebrew, numerals=\xpg@val}%
}{\xpg@warning{Unknown Hebrew numerals value `#1'}}
@@ -16834,7 +17154,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hi.ldf}[polyglossia: module for hi (Hindi)]
@@ -16851,7 +17171,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hindi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% UTF-8 strings kindly provided by Zdenĕk Wagner, 10-03-2008
% with corrections and additional contributions by Anshuman Pandey
@@ -16862,6 +17182,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{hindi}{
bcp47=hi,
+ bcp47-language=hi,
+ bcp47-script=Deva,
script=Devanagari,
scripttag=deva,
langtag=HIN,
@@ -16895,9 +17217,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% Devanagari:
\hindi@devanagari@numeralstrue%
+ \SetLanguageKeys{hindi}{bcp47-extension-u=nu-deva}%
\or
% Western:
\hindi@devanagari@numeralsfalse%
+ \SetLanguageKeys{hindi}{bcp47-extension-u=nu-latn}%
\fi
\xpg@info{Option: Hindi, numerals=\xpg@val}%
}{\xpg@warning{Unknown Hindi numeral `#1'}}
@@ -16978,7 +17302,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hr.ldf}[polyglossia: module for hr (Croatian)]
@@ -16995,7 +17319,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hsb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hsb.ldf}[polyglossia: module for hsb (Higher Sorbian)]
@@ -17012,7 +17336,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hu.ldf}[polyglossia: module for hu (Hungarian)]
@@ -17029,12 +17353,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hungarian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hungarian.ldf}[polyglossia: module for Hungarian]
\PolyglossiaSetup{hungarian}{
bcp47=hu,
+ bcp47-language=hu,
+ bcp47-region=HU,
+ bcp47-script=Latn,
babelname=magyar,
hyphennames={hungarian,magyar},
langtag=HUN,
@@ -17425,7 +17752,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-hy.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-hy.ldf}[polyglossia: module for hy (Armenian)]
@@ -17442,7 +17769,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ia.ldf}[polyglossia: module for ia (Interlingua)]
@@ -17459,11 +17786,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-icelandic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-icelandic.ldf}[polyglossia: module for Icelandic]
\PolyglossiaSetup{icelandic}{
bcp47=is,
+ bcp47-language=is,
+ bcp47-script=Latn,
hyphennames={icelandic},
hyphenmins={2,2},
langtag=ISL,
@@ -17515,7 +17844,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-id.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-id.ldf}[polyglossia: module for id (Malay)]
@@ -17532,11 +17861,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-interlingua.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-interlingua.ldf}[polyglossia: module for Interlingua]
\PolyglossiaSetup{interlingua}{
bcp47=ia,
+ bcp47-language=ia,
+ bcp47-script=Latn,
hyphennames={interlingua},
hyphenmins={2,2},
langtag=INA,
@@ -17588,7 +17919,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-irish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-irish.ldf}[polyglossia: module for Irish]
@@ -17606,7 +17937,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-is.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-is.ldf}[polyglossia: module for is (Icelandic)]
@@ -17623,7 +17954,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-it.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-it.ldf}[polyglossia: module for it (Italian)]
@@ -17641,11 +17972,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-italian.ldf}
% \begin{macrocode}
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-italian.ldf}[polyglossia: module for Italian]
\PolyglossiaSetup{italian}{
bcp47=it,
+ bcp47-language=it,
+ bcp47-region=IT,
+ bcp47-script=Latn,
hyphennames={italian},
hyphenmins={2,2},
langtag=ITA,
@@ -17790,7 +18124,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ja.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ja.ldf}[polyglossia: module for ja (Japanese)]
@@ -17807,12 +18141,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-japanese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-japanese.ldf}[polyglossia: module for Japanese]
\PolyglossiaSetup{japanese}{
bcp47=ja,
+ bcp47-language=ja,
+ bcp47-region=JP,
+ bcp47-script=Hrkt,
script=CJK,
language=Japanese,
langtag=JAN,
@@ -18042,7 +18379,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ka.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ka.ldf}[polyglossia: module for ka (Georgian)]
@@ -18060,7 +18397,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-kannada.ldf}
% \begin{macrocode}
%% gloss-kannada.ldf
-%% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+%% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%%
%% Copyright 2011 Aravinda VK <hallimanearavind AT gmail.com>,
%% Shankar Prasad <prasad.mvs AT gmail.com>,
@@ -18083,6 +18420,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{kannada}{
bcp47=kn,
+ bcp47-language=kn,
+ bcp47-region=IN,
+ bcp47-script=Knda,
script=Kannada,
scripttag=knda,
langtag=KAN,
@@ -18180,11 +18520,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-khmer.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
bcp47=km,
+ bcp47-language=km,
+ bcp47-region=KH,
+ bcp47-script=Khmr,
script=Khmer,%
scripttag=khmr,%
langtag=KHM,%
@@ -18196,8 +18539,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\tmp@khmer{khmer}
\define@key{khmer}{numerals}[arabic]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@khmer\@khmer@numeralstrue%
- \else\@khmer@numeralsfalse\fi%
+ \ifx\@tmpa\tmp@khmer%
+ \@khmer@numeralstrue%
+ \SetLanguageKeys{khmer}{bcp47-extension-u=nu-khmr}%
+ \else%
+ \@khmer@numeralsfalse%
+ \SetLanguageKeys{khmer}{bcp47-extension-u=nu-latn}%
+ \fi%
}
\setkeys{khmer}{numerals}
\def\captionskhmer{%
@@ -18349,7 +18697,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-km.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-km.ldf}[polyglossia: module for km (Khmer)]
@@ -18366,7 +18714,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-kmr-Arab.ldf}[polyglossia: module for kmr-Arab (Kurdish)]
@@ -18383,7 +18731,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-kmr-Latn.ldf}[polyglossia: module for kmr-Latn (Kurdish)]
@@ -18400,7 +18748,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kmr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-kmr.ldf}[polyglossia: module for kmr (Kurdish)]
@@ -18417,7 +18765,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-kn.ldf}[polyglossia: module for kn (Kannada)]
@@ -18434,7 +18782,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ko.ldf}[polyglossia: module for ko (Korean)]
@@ -18451,19 +18799,21 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-korean.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-korean.ldf}[polyglossia: module for Korean]
\PolyglossiaSetup{korean}{
bcp47=ko,
- script=Hangul,
- scripttag=hang,
- language=Korean,
- langtag=KOR,
- hyphennames={nohyphenation},
- frenchspacing=true,
- fontsetup=true
+ bcp47-language=ko,
+ bcp47-script=Kore,
+ script=Hangul,
+ scripttag=hang,
+ language=Korean,
+ langtag=KOR,
+ hyphennames={nohyphenation},
+ frenchspacing=true,
+ fontsetup=true
}
% BCP-47 compliant aliases
@@ -18929,7 +19279,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Arab.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ku-Arab.ldf}[polyglossia: module for ku-Arab (Kurdish)]
@@ -18946,7 +19296,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku-Latn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ku-Latn.ldf}[polyglossia: module for ku-Latn (Kurdish)]
@@ -18963,7 +19313,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ku.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ku.ldf}[polyglossia: module for ku (Kurdish)]
@@ -18980,7 +19330,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurdish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% Created on September 1, 2019
% Last updated on May 17, 2020
@@ -18995,6 +19345,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{kurdish}{
bcp47=ckb,
+ bcp47-language=ckb,
+ bcp47-script=Arab,
+ bcp47-casing=ckb-Arab,
script=Arabic,
direction=RL,
scripttag=arab,
@@ -19061,9 +19414,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\@western@numeralstrue%
\if@kurdish@kurmanji
\def\kurdish@pattern{kurmanji}%
- \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
+ \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
\else
- \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab}%
+ \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\def\kurdish@script{latin}
\xpg@fontsetup@latin{kurdish}%
@@ -19071,20 +19424,20 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\if@kurdish@arabic% Arabic explicitly set
\if@kurdish@kurmanji
\if@force@western@numerals\else\@western@numeralsfalse\fi%
- \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab}%
+ \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurmanji,bcp47=kmr-Arab,bcp47-language=kmr,bcp47-script=Arab,bcp47-casing=kmr-Arab}%
\def\kurdish@script{arabic}%
\else
- \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
+ \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\fi
\xpg@fontsetup@nonlatin{kurdish}%
\else% sorani=Arabic, kurmanji=Latin
\if@kurdish@kurmanji
\@western@numeralstrue%
- \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn}%
+ \SetLanguageKeys{kurdish}{script=Latin,direction=LR,scripttag=latn,babelname=kurmanji,bcp47=kmr-Latn,bcp47-language=kmr,bcp47-script=Latn,bcp47-casing=kmr-Latn}%
\xpg@fontsetup@latin{kurdish}%
\def\kurdish@script{latin}
\else
- \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab}%
+ \SetLanguageKeys{kurdish}{script=Arabic,direction=RL,scripttag=arab,babelname=kurdish,bcp47=ckb-Arab,bcp47-language=ckb,bcp47-script=Arab,bcp47-casing=ckb-Arab}%
\xpg@fontsetup@nonlatin{kurdish}%
\fi
\fi
@@ -19386,7 +19739,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-kurmanji.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-kurmanji.ldf}[polyglossia: module for Kurmanji Kurdish]
@@ -19403,7 +19756,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-classic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-la-xclassic.ldf}[polyglossia: module for la-xclassic (Latin)]
@@ -19420,7 +19773,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-ecclesia.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-la-xecclesiastic.ldf}[polyglossia: module for la-xecclesiastic (Latin)]
@@ -19437,7 +19790,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la-x-medieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-la-xmedieval.ldf}[polyglossia: module for la-xmedieval (Latin)]
@@ -19454,7 +19807,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-la.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-la.ldf}[polyglossia: module for la (Latin)]
@@ -19471,12 +19824,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lao.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
\PolyglossiaSetup{lao}{
bcp47=lo,
+ bcp47-language=lo,
+ bcp47-script=Laoo,
script=Lao,
scripttag=lao,
langtag=LAO,
@@ -19580,7 +19935,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-latin.ldf}[polyglossia: module for Latin]
@@ -19589,6 +19944,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup {latin}
{
bcp47 = la,
+ bcp47-language = la,
+ bcp47-script = Latn,
hyphenmins = {2,2},
frenchspacing = true,
fontsetup = true,
@@ -19976,7 +20333,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
\str_set:Nn \l_polyglossia_latin_variant_str {classic}
- \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic }
+ \SetLanguageKeys {latin} { babelname = classiclatin, bcp47 = la-x-classic, bcp47-extension-x = classic }
\polyglossia_latin_set_patterns:n {classiclatin}
}
@@ -19988,7 +20345,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\bool_set_true:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_false:N \l_polyglossia_latin_punctuation_spacing_bool
\str_set:Nn \l_polyglossia_latin_variant_str {medieval}
- \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval }
+ \SetLanguageKeys {latin} { babelname = medievallatin, bcp47 = la-x-medieval, bcp47-extension-x = medieval }
\polyglossia_latin_use_modern_patterns:
}
@@ -20012,7 +20369,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\bool_set_false:N \l_polyglossia_latin_capitalize_month_bool
\bool_set_true:N \l_polyglossia_latin_punctuation_spacing_bool
\str_set:Nn \l_polyglossia_latin_variant_str {ecclesiastic}
- \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia }
+ \SetLanguageKeys {latin} { babelname = ecclesiasticlatin, bcp47 = la-x-ecclesia, bcp47-extension-x = ecclesia }
\polyglossia_latin_use_modern_patterns:
}
@@ -20214,7 +20571,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% (in case Latin is used as a secondary language, see #394). We have to
% turn it off if Latin is not the main language.
-\protected@write \@auxout { } { \shorthandoff {=} } % for the aux file
+% For the aux file:
+\protected@write \@auxout { }
+ {
+ \shorthandoff {=}
+ \shorthandoff* {^} % #582
+ }
\AtBeginDocument
{
@@ -20688,7 +21050,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinclassic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-latinclassic.ldf}[polyglossia: module for classic Latin]
@@ -20705,7 +21067,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinecclesiastic.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-latinecclesiastic.ldf}[polyglossia: module for ecclesiastic Latin]
@@ -20722,7 +21084,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latinmedieval.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-latinmedieval.ldf}[polyglossia: module for medieval Latin]
@@ -20739,11 +21101,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-latvian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-latvian.ldf}[polyglossia: module for Latvian]
\PolyglossiaSetup{latvian}{
bcp47=lv,
+ bcp47-language=lv,
+ bcp47-region=LV,
+ bcp47-script=Latn,
hyphennames={latvian},
hyphenmins={2,2},
langtag=LVI,
@@ -20794,13 +21159,16 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lithuanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% Translated by Paulius Sladkevičius <komsas@gmail.com>
\ProvidesFile{gloss-lithuanian.ldf}[polyglossia: module for Lithuanian]
\PolyglossiaSetup{lithuanian}{
bcp47=lt,
+ bcp47-language=lt,
+ bcp47-region=LT,
+ bcp47-script=Latn,
hyphennames={lithuanian},
hyphenmins={2,2},
langtag=LTH,
@@ -20873,7 +21241,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lo.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-lo.ldf}[polyglossia: module for lo (Lao)]
@@ -20890,7 +21258,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lowersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-lowersorbian.ldf}[polyglossia: module for Lower Sorbian]
@@ -20907,7 +21275,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lsorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-lsorbian.ldf}[polyglossia: module for Lower Sorbian]
@@ -20925,7 +21293,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lt.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-lt.ldf}[polyglossia: module for lt (Lithuanian)]
@@ -20942,7 +21310,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-lv.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-lv.ldf}[polyglossia: module for lv (Latvian)]
@@ -20959,11 +21327,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-macedonian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-macedonian.ldf}[polyglossia: module for Macedonian]
\PolyglossiaSetup{macedonian}{
bcp47=mk,
+ bcp47-language=mk,
+ bcp47-script=Cyrl,
script=Cyrillic,
scripttag=cyrl,
langtag=MKD,
@@ -21056,7 +21426,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-magyar.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-magyar.ldf}[polyglossia: module for Hungarian (Magyar)]
@@ -21073,7 +21443,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malay.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-malay.ldf}[polyglossia: module for Malay]
@@ -21081,6 +21451,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{malay}{%
bcp47=id,
+ bcp47-language=id,
+ bcp47-script=Latn,
language=Malay,
langtag=MLY,
hyphennames={malay,melayu,bahasam,bahasai,indonesian,indon,bahasa},
@@ -21113,7 +21485,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\malay@melayutrue
\fi
\ifmalay@melayu
- \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm}%
+ \SetLanguageKeys{malay}{language=Malay,langtag=MLY,babelname=bahasam,bcp47=zsm,bcp47-language=zsm}%
\xpg@fontsetup@latin{malay}%
% Check if \l@malay is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -21131,7 +21503,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
}%
}%
\else
- \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id}%
+ \SetLanguageKeys{malay}{language=Indonesian,langtag=IND,babelname=bahasa,bcp47=id,bcp47-language=id}%
\xpg@fontsetup@latin{malay}%
% Check if \l@indonesian is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -21270,7 +21642,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-malayalam.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for Malayalam]
@@ -21278,6 +21650,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{malayalam}{
bcp47=ml,
+ bcp47-language=ml,
+ bcp47-script=Mlym,
script=Malayalam,
scripttag=mlym,
langtag=MAL, %FIXME there is also MLR for "Malayalam Reformed"
@@ -21338,7 +21712,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-marathi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% Translations provided by Abhijit Navale <abhi_navale@live.in>
% Ordinals (1-100) added by Niranjan Tambe <niranjanvikastambe@gmail.com> on 14th December, 2019
@@ -21350,6 +21724,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{marathi}{
bcp47=mr,
+ bcp47-language=mr,
+ bcp47-script=Deva,
script=Devanagari,
scripttag=deva,
langtag=MAR,
@@ -21370,9 +21746,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% Western:
\marathi@devanagari@numeralsfalse%
+ \SetLanguageKeys{marathi}{bcp47-extension-u=nu-latn}%
\or
% Devanagari:
\marathi@devanagari@numeralstrue%
+ \SetLanguageKeys{marathi}{bcp47-extension-u=nu-deva}%
\fi
\xpg@info{Option: Marathi, numerals=\xpg@val}%
}{\xpg@warning{Unknown Marathi numerals value `#1'}}
@@ -21484,7 +21862,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-mk.ldf}[polyglossia: module for mk (Macedonian)]
@@ -21501,7 +21879,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ml.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ml.ldf}[polyglossia: module for ml (Malayalam)]
@@ -21518,7 +21896,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mn.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-mn.ldf}[polyglossia: module for mn (Mongolian)]
@@ -21535,7 +21913,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mongolian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-mongolian.ldf}[polyglossia: module for Mongolian]
@@ -21543,6 +21921,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{mongolian}{
bcp47=mn,
+ bcp47-language=mn,
+ bcp47-script=Cyrl,
script=Cyrillic,
scripttag=cyrl,
langtag=MNG,
@@ -21772,7 +22152,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-mr.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-mr.ldf}[polyglossia: module for mr (Marathi)]
@@ -21789,7 +22169,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-naustrian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-naustrian.ldf}[polyglossia: module for Austrian German (current spelling)]
@@ -21806,7 +22186,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nb.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-nb.ldf}[polyglossia: module for nb (Norwegian)]
@@ -21823,7 +22203,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-newzealand.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-newzealand.ldf}[polyglossia: module for Newzealand English]
@@ -21840,7 +22220,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ngerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ngerman.ldf}[polyglossia: module for German (current spelling)]
@@ -21857,11 +22237,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nko.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-nko.ldf}[Polyglossia: module for N’Ko]
\PolyglossiaSetup{nko}{%
bcp47=nko,
+ bcp47-language=nko,
+ bcp47-script=Nkoo,
script=N'ko,
scripttag=nko~,
langtag=NKO,
@@ -21953,7 +22335,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-norsk.ldf}[polyglossia: module for Norwegian (Bokmal)]
@@ -21971,11 +22353,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-norwegian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-norwegian.ldf}[polyglossia: module for Norwegian]
\PolyglossiaSetup{norwegian}{
bcp47=nn,
+ bcp47-language=nn,
+ bcp47-script=Latn,
hyphennames={nynorsk},
langtag=NYN,
hyphenmins={2,2},
@@ -21995,12 +22379,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% nynorsk:
\def\norwegian@variant{nynorsk}%
- \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn}%
+ \SetLanguageKeys{norwegian}{langtag=NYN,babelname=nynorsk,bcp47=nn,bcp47-language=nn}%
\xpg@fontsetup@latin{norwegian}%
\or
% bokmal:
\def\norwegian@variant{norsk}%
- \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb}%
+ \SetLanguageKeys{norwegian}{langtag=NOR,babelname=norsk,bcp47=nb,bcp47-language=nb}%
\xpg@fontsetup@latin{norwegian}%
\fi
\xpg@info{Option: norwegian, variant=\xpg@val}%
@@ -22096,7 +22480,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nswissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-nswissgerman.ldf}[polyglossia: module for Swiss German (current spelling)]
@@ -22113,7 +22497,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-nynorsk.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-nynorsk.ldf}[polyglossia: module for Norwegian (Nynorsk)]
@@ -22131,7 +22515,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-occitan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
%%
%% This is file `gloss-occitan.ldf',
@@ -22154,6 +22538,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{occitan}{
bcp47=oc,
+ bcp47-language=oc,
+ bcp47-script=Latn,
hyphennames={occitan},
langtag=OCI,
hyphenmins={2,2},
@@ -22308,7 +22694,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-pa.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-pa.ldf}[polyglossia: module for pa (Punjabi)]
@@ -22325,7 +22711,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-persian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for Persian]
@@ -22335,6 +22721,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{hijrical}
\PolyglossiaSetup{persian}{
bcp47=fa,
+ bcp47-language=fa,
+ bcp47-script=Arab,
babelname=farsi,
script=Arabic,
direction=RL,
@@ -22355,8 +22743,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\tmp@western{western}
\define@key{persian}{numerals}[eastern]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western\@western@numeralstrue\else%
+ \ifx\@tmpa\tmp@western%
+ \@western@numeralstrue%
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-latn}%
+ \else%
\@western@numeralsfalse%
+ \SetLanguageKeys{persian}{bcp47-extension-u=nu-arab}%
\fi}
%this is needed for \abjad in arabicnumbers.sty
@@ -22475,12 +22867,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \subsection{gloss-piedmontese.ldf}
% \begin{macrocode}
% !TEX encoding = UTF-8 Unicode
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-piedmontese.ldf}[2013/02/12 v1.0 polyglossia: module for Piedmontese]
\makeatletter
\PolyglossiaSetup{piedmontese}{
bcp47=pms,
+ bcp47-language=pms,
+ bcp47-script=Latn,
hyphennames={piedmontese},
hyphenmins={2,2},
langtag=PMS,
@@ -22603,12 +22997,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-polish.ldf}[polyglossia: module for Polish]
\PolyglossiaSetup{polish}{
bcp47=pl,
+ bcp47-language=pl,
+ bcp47-script=Latn,
hyphennames={polish},
hyphenmins={2,2},
langtag=PLK,
@@ -22859,7 +23255,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-polutonikogreek.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-polutonikogreek.ldf}[polyglossia: module for polytonic Greek]
@@ -22876,7 +23272,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuges.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-portuges.ldf}[polyglossia: module for Portuguese]
@@ -22896,12 +23292,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-portuguese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-portuguese.ldf}[polyglossia: module for Portuguese]
\PolyglossiaSetup{portuguese}{
bcp47=pt-PT,
+ bcp47-language=pt,
+ bcp47-region=PT,
+ bcp47-script=Latn,
babelname=portuges,
hyphennames={portuges,portuguese},
hyphenmins={2,3},
@@ -22927,11 +23326,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% portuguese:
\def\portuguese@variant{portuges}%
- \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT}%
+ \SetLanguageKeys{portuguese}{babelname=portuges,bcp47=pt-PT,bcp47-language=pt,bcp47-region=PT}%
\or
% brazilian:
\def\portuguese@variant{brazil}%
- \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR}%
+ \SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR,bcp47-language=pt,bcp47-region=BR}%
% There are no specific brazil patterns
\adddialect\l@brazil\l@portuges\relax%
\fi
@@ -23123,7 +23522,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-punjabi.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
% UTF-8 strings kindly provided by
% Arvinder Singh Kang, <17-11-2022>
@@ -23134,6 +23533,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequirePackage{gurmukhidigits}
\PolyglossiaSetup{punjabi}{
bcp47=pa,
+ bcp47-language=pa,
+ bcp47-script=Guru,
script=Gurmukhi,
scripttag=gur,
langtag=pan,
@@ -23157,9 +23558,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% Gurmukhi:
\punjabi@gurmukhi@numeralstrue%
+ \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-guru}%
\or
% Western:
\punjabi@gurmukhi@numeralsfalse%
+ \SetLanguageKeys{punjabi}{bcp47-extension-u=nu-latn}%
\fi
\xpg@info{Option: Punjabi, numerals=\xpg@val}%
}{\xpg@warning{Unknown Punjabi numeral `#1'}}
@@ -23239,12 +23642,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romanian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-romanian.ldf}[polyglossia: module for Romanian]
\PolyglossiaSetup{romanian}{
bcp47=ro,
+ bcp47-language=ro,
+ bcp47-script=Latn,
hyphennames={romanian},
hyphenmins={2,2},
langtag=ROM,
@@ -23296,12 +23701,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-romansh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-romansh.ldf}[polyglossia: module for Romansh]
\makeatletter
\PolyglossiaSetup{romansh}{%
bcp47=rm,
+ bcp47-language=rm,
+ bcp47-script=Latn,
hyphennames={romansh},
hyphenmins={2,2},
langtag=RMS,
@@ -23352,7 +23759,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-russian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-russian.ldf}[polyglossia: module for Russian]
@@ -23360,6 +23767,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{russian}{
bcp47=ru,
+ bcp47-language=ru,
+ bcp47-variant=luna1918,
+ bcp47-script=Cyrl,
script=Cyrillic,
scripttag=cyrl,
langtag=RUS,
@@ -23380,8 +23790,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\newif\if@russian@modern
\define@key{russian}{spelling}[modern]{%
\ifstrequal{#1}{old}%
- {\@russian@modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708}}%
- {\@russian@moderntrue\SetLanguageKeys{russian}{bcp47=ru}}%
+ {\@russian@modernfalse\SetLanguageKeys{russian}{bcp47=ru-petr1708,bcp47-variant=petr1708}}%
+ {\@russian@moderntrue\SetLanguageKeys{russian}{bcp47=ru,bcp47-variant=luna1918}}%
}
\def\captionsrussian{%
@@ -23399,18 +23809,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-latn}%
\or
% cyrillic:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
\or
% cyrillic-trad:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
\or
% cyrillic-alph:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
+ \SetLanguageKeys{russian}{bcp47-extension-u=nu-cyrl}%
\fi
\xpg@info{Option: Russian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Russian numerals value `#1'}}
@@ -23744,12 +24158,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sami.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-sami.ldf}[polyglossia: module for Sami]
\PolyglossiaSetup{sami}{
bcp47=se,
+ bcp47-language=se,
+ bcp47-script=Latn,
babelname=samin,
hyphennames={samin},
hyphenmins={2,2},
@@ -23846,7 +24262,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-samin.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-samin.ldf}[polyglossia: module for Northern Sami]
@@ -23864,7 +24280,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sanskrit.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for Sanskrit]
@@ -23872,6 +24288,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{sanskrit}{
bcp47=sa-Deva,
+ bcp47-language=sa,
+ bcp47-script=Deva,
+ bcp47-casing=sa-Deva,
langtag=SAN,
hyphennames={sanskrit,prakrit},
hyphenmins={1,3},
@@ -23900,25 +24319,25 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\define@key{sanskrit}{script}[Devanagari]{\setkeys{sanskrit}{Script=#1}}
\def\fontsetup@sanskrit@Devanagari{%
- \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva}
+ \SetLanguageKeys{sanskrit}{scripttag=deva,script=Devanagari,bcp47=sa-Deva,bcp47-language=sa,bcp47-script=Deva,bcp47-casing=sa-Deva}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Gujarati{%
- \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr}
+ \SetLanguageKeys{sanskrit}{scripttag=gujr,script=Gujarati,bcp47=sa-Gujr,bcp47-language=sa,bcp47-script=Gujr,bcp47-casing=sa-Gujr}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Malayalam{%
- \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym}
+ \SetLanguageKeys{sanskrit}{scripttag=mlym,script=Malayalam,bcp47=sa-Mlym,bcp47-language=sa,bcp47-script=Mlym,bcp47-casing=sa-Mlym}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Bengali{%
- \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng}
+ \SetLanguageKeys{sanskrit}{scripttag=beng,script=Bengali,bcp47=sa-Beng,bcp47-language=sa,bcp47-script=Beng,bcp47-casing=sa-Beng}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Kannada{%
- \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda}
+ \SetLanguageKeys{sanskrit}{scripttag=knda,script=Kannada,bcp47=sa-Knda,bcp47-language=sa,bcp47-script=Knda,bcp47-casing=sa-Knda}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Telugu{%
- \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu}
+ \SetLanguageKeys{sanskrit}{scripttag=telu,script=Telugu,bcp47=sa-Relu,bcp47-language=sa,bcp47-script=Relu,bcp47-casing=sa-Relu}
\xpg@fontsetup@nonlatin{sanskrit}}
\def\fontsetup@sanskrit@Latin{%
- \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn}
+ \SetLanguageKeys{sanskrit}{scripttag=latn,script=Latin,bcp47=sa-Latn,bcp47-language=sa,bcp47-script=Latn,bcp47-casing=sa-Latn}
\xpg@fontsetup@latin{sanskrit}}
@@ -23928,9 +24347,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% Devanagari:
\sanskrit@devanagari@numeralstrue%
+ \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-deva}%
\or
% Western:
\sanskrit@devanagari@numeralsfalse%
+ \SetLanguageKeys{sanskrit}{bcp47-extension-u=nu-latn}%
\fi
\xpg@info{Option: Sanskrit, numerals=\xpg@val}%
}{\xpg@warning{Unknown Sanskrit numeral `#1'}}
@@ -24018,7 +24439,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-scottish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-scottish.ldf}[polyglossia: module for Scottish Gaelic]
@@ -24036,7 +24457,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-serbian.ldf}[polyglossia: module for Serbian]
%TODO split into gloss-serbiancyr.ldf and gloss-serbianlat.ldf
@@ -24048,6 +24469,9 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{serbian}{
bcp47=sr-Latn,
+ bcp47-language=sr,
+ bcp47-script=Latn,
+ bcp47-casing=sr-Latn,
langtag=SRB,
hyphennames={serbian},
hyphenmins={2,2},
@@ -24077,12 +24501,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% cyrillic:
\@serbian@cyrtrue
- \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl}
+ \SetLanguageKeys{serbian}{scripttag=cyrl,script=Cyrillic,babelname=serbianc,bcp47=sr-Cyrl,bcp47-language=sr,bcp47-script=Cyrl,bcp47-casing=sr-Cyrl}
\xpg@fontsetup@nonlatin{serbian}%
\or
% latin:
\@serbian@cyrfalse
- \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn}
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn,bcp47-language=sr,bcp47-script=Latn,bcp47-casing=sr-Latn}
\xpg@fontsetup@latin{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
@@ -24099,18 +24523,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-latn}%
\or
% cyrillic:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
\or
% cyrillic-trad:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
\or
% cyrillic-alph:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
+ \SetLanguageKeys{serbian}{bcp47-extension-u=nu-cyrl}%
\fi
\xpg@info{Option: Serbian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Serbian numerals value `#1'}}
@@ -24344,7 +24772,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-serbianc.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-serbianc.ldf}[polyglossia: module for Serbian (cyrillic)]
@@ -24361,12 +24789,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovak.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-slovak.ldf}[polyglossia: module for Slovak]
\PolyglossiaSetup{slovak}{
bcp47=sk,
+ bcp47-language=sk,
+ bcp47-script=Latn,
hyphennames={slovak},
hyphenmins={2,2},
langtag=SKY,
@@ -24625,7 +25055,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovene.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-slovene.ldf}[polyglossia: module for Slovenian]
@@ -24642,12 +25072,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-slovenian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-slovenian.ldf}[polyglossia: module for Slovenian]
\PolyglossiaSetup{slovenian}{
bcp47=sl,
+ bcp47-language=sl,
+ bcp47-script=Latn,
hyphennames={slovenian,slovene},
babelname=slovene,
hyphenmins={2,2},
@@ -24732,12 +25164,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-sorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-sorbian.ldf}[polyglossia: module for Sorbian]
\PolyglossiaSetup{sorbian}{
bcp47=hsb,
+ bcp47-language=hsb,
+ bcp47-script=Latn,
language=Upper Sorbian,
babelname=uppersorbian,
hyphennames={usorbian,uppersorbian},
@@ -24762,7 +25196,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% upper:
\def\sorbian@variant{usorbian}%
- \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb}%
+ \SetLanguageKeys{sorbian}{language=Upper Sorbian,langtag=USB,babelname=uppersorbian,bcp47=hsb,bcp47-language=hsb}%
\xpg@fontsetup@latin{sorbian}%
% Check if \l@usorbian is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -24782,7 +25216,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\or
% lower:
\def\sorbian@variant{lsorbian}%
- \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb}%
+ \SetLanguageKeys{sorbian}{language=Lower Sorbian,langtag=LSB,babelname=lowersorbian,bcp47=dsb,bcp47-language=dsb}%
\xpg@fontsetup@latin{sorbian}%
% Check if \l@lsorbian is defined. If not, try to set it to some variety
% (specific order as in the csv list below), or null language if everything fails
@@ -24921,12 +25355,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-spanish.ldf}[polyglossia: module for Spanish]
\PolyglossiaSetup{spanish}{
bcp47=es-ES,
+ bcp47-language=es,
+ bcp47-region=ES,
+ bcp47-script=Latn,
hyphennames={spanish},
hyphenmins={2,2},
totalhyphenmin=5,
@@ -24951,11 +25388,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\ifcase\xpg@nr\relax
% spanish:
\@spanish@mexicofalse%
- \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES}%
+ \SetLanguageKeys{spanish}{babelname=spanish,bcp47=es-ES,bcp47-region=ES}%
\or
% mexican:
\@spanish@mexicotrue%
- \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX}%
+ \SetLanguageKeys{spanish}{babelname=spanishmx,bcp47=es-MX,bcp47-region=MX}%
\fi
\xpg@info{Option: spanish, variant=\xpg@val}%
}{\xpg@warning{Unknown spanish variant `#1'}}
@@ -25158,7 +25595,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-spanishmx.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-spanishmx.ldf}[polyglossia: module for Mexican Spanish]
@@ -25175,12 +25612,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swedish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-swedish.ldf}[polyglossia: module for Swedish]
\PolyglossiaSetup{swedish}{
bcp47=sv,
+ bcp47-language=sv,
+ bcp47-script=Latn,
hyphennames={swedish},
hyphenmins={2,2},
langtag=SVE,
@@ -25238,7 +25677,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-swissgerman.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-swissgerman.ldf}[polyglossia: module for Swiss German (old spelling)]
@@ -25255,7 +25694,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-syriac.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for Syriac]
@@ -25264,6 +25703,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{syriac}{
bcp47=syr,
+ bcp47-language=syr,
+ bcp47-script=Syrc,
script=Syriac,
scripttag=syrc,
langtag=SYR,
@@ -25288,9 +25729,11 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\let\syriacnumber\abjadsyriac
\else
\ifx\@tmpa\tmp@eastern
- \@eastern@numeralstrue
+ \@eastern@numeralstrue
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-syrc}%
\else
- \@eastern@numeralsfalse
+ \@eastern@numeralsfalse
+ \SetLanguageKeys{syriac}{bcp47-extension-u=nu-latn}%
\fi
\fi}
@@ -25441,7 +25884,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tamil.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for Tamil]
@@ -25449,6 +25892,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{tamil}{
bcp47=ta,
+ bcp47-language=ta,
+ bcp47-script=Taml,
script=Tamil,
scripttag=taml,
langtag=TAM,
@@ -25509,7 +25954,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-telugu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for Telugu]
@@ -25517,6 +25962,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{telugu}{
bcp47=te,
+ bcp47-language=te,
+ bcp47-script=Telu,
script=Telugu,
scripttag=telu,
langtag=TEL,
@@ -25580,7 +26027,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-thai.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-thai.ldf}[polyglossia: module for Thai]
%% This is partly based on thai-latex for Babel:
@@ -25594,6 +26041,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%%%%
\PolyglossiaSetup{thai}{
bcp47=th,
+ bcp47-language=th,
+ bcp47-script=Thai,
script=Thai,
scripttag=thai,
langtag=THA,
@@ -25611,8 +26060,13 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\tmp@thai{thai}
\define@key{thai}{numerals}[arabic]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@thai\@thai@numeralstrue\else
- \@thai@numeralsfalse\fi
+ \ifx\@tmpa\tmp@thai
+ \@thai@numeralstrue%
+ \SetLanguageKeys{thai}{bcp47-extension-u=nu-thai}%
+ \else
+ \@thai@numeralsfalse%
+ \SetLanguageKeys{thai}{bcp47-extension-u=nu-latn}%
+ \fi
}
% Register default options
@@ -25731,7 +26185,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-tibetan.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-tibetan.ldf}[polyglossia: module for Tibetan]
%% Copyright 2013 Elie Roux
@@ -25742,6 +26196,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{tibetan}{
bcp47=bo,
+ bcp47-language=bo,
+ bcp47-script=Tibt,
script=Tibetan,
scripttag=tibt,
langtag=TIB,
@@ -25758,9 +26214,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\tmp@tibetan{tibetan}
\define@key{tibetan}{numerals}[tibetan]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@tibetan\@tibetan@numeralstrue%
+ \ifx\@tmpa\tmp@tibetan
+ \@tibetan@numeralstrue%
+ \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-tibt}%
\else
\@tibetan@numeralsfalse%
+ \SetLanguageKeys{tibetan}{bcp47-extension-u=nu-latn}%
\fi%
}
@@ -25952,12 +26411,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkish.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-turkish.ldf}[polyglossia: module for Turkish]
\RequirePackage{hijrical}
\PolyglossiaSetup{turkish}{
bcp47=tr,
+ bcp47-language=tr,
+ bcp47-script=Latn,
hyphennames={turkish},
hyphenmins={2,2},
langtag=TRK,
@@ -26068,12 +26529,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-turkmen.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-turkmen.ldf}[polyglossia: module for Turkmen]
%% Translations provided by Nazar Annagurban <nazartm at gmail dot com>
\PolyglossiaSetup{turkmen}{
bcp47=tk,
+ bcp47-language=tk,
+ bcp47-script=Latn,
hyphennames={turkmen},
hyphenmins={2,2},
langtag=TKM,
@@ -26124,7 +26587,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ug.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ug.ldf}[polyglossia: module for ug (Uyghur)]
% BCP 47 tag for Uyghur
@@ -26140,7 +26603,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-ukrainian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-ukrainian.ldf}[polyglossia: module for Ukrainian]
% Strings taken from Babel
@@ -26150,6 +26613,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{ukrainian}{%
bcp47=uk,
+ bcp47-language=uk,
+ bcp47-script=Cyrl,
script=Cyrillic,
scripttag=cyrl,
langtag=UKR,
@@ -26171,18 +26636,22 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% arabic:
\cyrillic@numeralsfalse%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-latn}%
\or
% cyrillic:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
\or
% cyrillic-trad:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralsfalse%
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
\or
% cyrillic-alph:
\cyrillic@numeralstrue%
\cyrillic@asbuk@numeralstrue%
+ \SetLanguageKeys{ukrainian}{bcp47-extension-u=nu-cyrl}%
\fi
\xpg@info{Option: Ukrainian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Ukrainian numerals value `#1'}}
@@ -26433,7 +26902,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uppersorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-uppersorbian.ldf}[polyglossia: module for Upper Sorbian]
@@ -26450,7 +26919,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-urdu.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
%%% Adapted from a file contributed by Kamal Abdali
\ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
@@ -26461,6 +26930,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\PolyglossiaSetup{urdu}{
bcp47=ur,
+ bcp47-language=ur,
+ bcp47-script=Arab,
script=Arabic,
direction=RL,
scripttag=arab,
@@ -26478,8 +26949,12 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\def\tmp@western{western}
\define@key{urdu}{numerals}[eastern]{%
\def\@tmpa{#1}%
- \ifx\@tmpa\tmp@western\@western@numeralstrue%
- \else\@western@numeralsfalse%
+ \ifx\@tmpa\tmp@western
+ \@western@numeralstrue%
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-latn}%
+ \else
+ \@western@numeralsfalse%
+ \SetLanguageKeys{urdu}{bcp47-extension-u=nu-arab}%
\fi}
%% TODO USE boolkey instead !!!
@@ -26606,7 +27081,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-usorbian.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-usorbian.ldf}[polyglossia: module for Upper Sorbian]
@@ -26624,7 +27099,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-uyghur.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-uyghur.ldf}[polyglossia: module for Uyghur]
%% Translations provided by Osman Tursun (Github Account: neouyghur)
@@ -26632,6 +27107,8 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
\RequireBidi
\PolyglossiaSetup{uyghur}{
bcp47=ug,
+ bcp47-language=ug,
+ bcp47-script=Arab,
script=Arabic,
direction=RL,
scripttag=arab,
@@ -27063,13 +27540,15 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-vietnamese.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-vietnamese.ldf}[polyglossia: module for Vietnamese]
%% Strings contributed by Daniel Owens < dhowens . pmbx . net >
\PolyglossiaSetup{vietnamese}{
bcp47=vi,
+ bcp47-language=vi,
+ bcp47-script=Latn,
hyphennames={nohyphenation},
hyphenmins={2,2},
langtag=VIT,
@@ -27120,12 +27599,14 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-welsh.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-welsh.ldf}[polyglossia: module for Welsh]
\PolyglossiaSetup{welsh}{
bcp47=cy,
+ bcp47-language=cy,
+ bcp47-script=Latn,
hyphennames={welsh},
hyphenmins={2,3},
langtag=WEL,
@@ -27218,7 +27699,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-CN.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-zh-CN.ldf}[polyglossia: module for zh-CN (Chinese)]
@@ -27235,7 +27716,7 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
%
% \subsection{gloss-zh-TW.ldf}
% \begin{macrocode}
-% Language definition file (part of polyglossia v1.60 -- 2023/02/11)
+% Language definition file (part of polyglossia v1.61 -- 2023/04/16)
%
\ProvidesFile{gloss-zh-TW.ldf}[polyglossia: module for zh-TW (Chinese)]
@@ -27404,7 +27885,7 @@ U+0039 <> U+0E59 ;
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia-punct')
@@ -27471,7 +27952,7 @@ polyglossia.deactivate_french_punct = deactivate_french_punct
% \begin{macrocode}
--
-- polyglossia-korean.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
local glyph_id = node.id"glyph"
@@ -28089,7 +28570,7 @@ prepend_to_callback ("hpack_filter",
% \begin{macrocode}
--
-- polyglossia-latin.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia-punct')
@@ -28144,7 +28625,7 @@ polyglossia.deactivate_latin_punct = deactivate_latin_punct
% \begin{macrocode}
--
-- polyglossia-punct.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia') -- just in case...
@@ -28512,7 +28993,7 @@ polyglossia.clear_spaced_characters = clear_spaced_characters
% \begin{macrocode}
--
-- polyglossia-sanskrit.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia-punct')
@@ -28562,7 +29043,7 @@ polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
% \begin{macrocode}
--
-- polyglossia-tibt.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
require('polyglossia') -- just in case...
@@ -28665,7 +29146,7 @@ polyglossia.desactivate_tibt_eol = desactivate
% \begin{macrocode}
--
-- polyglossia.lua
--- part of polyglossia v1.60 -- 2023/02/11
+-- part of polyglossia v1.61 -- 2023/04/16
--
local module_name = "polyglossia"
@@ -29011,12 +29492,13 @@ Quamquam sermone nativo fungi desinit, cumque nostris diebus perpauci Latine loq
\end{document}
%</examples.tex>
%<*example-arabic.tex>
+% !TeX TS-program = xelatex
\documentclass[a4paper]{book}%
\usepackage[no-math]{fontspec}
\usepackage{xltxtra,url,amsmath}
\setmainfont{Linux Libertine O}
\defaultfontfeatures{Scale=MatchLowercase}
-\newfontfamily\arabicfont[Script=Arabic]{Amiri}%
+\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\newfontfamily\arabicfonttt[Script=Arabic,Scale=.75]{DejaVu Sans Mono}
\newfontfamily\farsifont[Script=Arabic,Scale=1.1,WordSpace=2]{IranNastaliq}
\let\XeTeX\undefined
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
index 2e6601d75a..d4f2e5f704 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
Binary files differ