summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-28 03:01:01 +0000
committerNorbert Preining <norbert@preining.info>2021-06-28 03:01:01 +0000
commit36c481b02c4fdfaf33325b9f18834c2357b8eec5 (patch)
tree5414e5c86007a3beb77beb54d2b8ca765927d0de /macros/latex
parenta090105758cdab68b58246a8aea7cb79dc168501 (diff)
CTAN sync 202106280301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx206
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin530458 -> 538360 bytes
-rw-r--r--macros/latex/contrib/koma-script/README54
-rw-r--r--macros/latex/contrib/koma-script/doc/manifest.txt2
-rw-r--r--macros/latex/contrib/koma-script/doc/scrguide.pdfbin3271249 -> 3270828 bytes
-rw-r--r--macros/latex/contrib/koma-script/doc/scrguien.pdfbin3186652 -> 3186892 bytes
-rw-r--r--macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex20
-rw-r--r--macros/latex/contrib/koma-script/source-doc/english/scrhack.tex11
-rw-r--r--macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex11
-rw-r--r--macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex22
-rw-r--r--macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex9
-rw-r--r--macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex9
-rw-r--r--macros/latex/contrib/koma-script/source/scrhack.dtx300
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-basics.dtx99
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx10
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-floats.dtx199
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx115
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx15
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-sections.dtx171
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-version.dtx4
-rw-r--r--macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx94
-rw-r--r--macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx39
-rw-r--r--macros/latex/contrib/koma-script/source/scrlfile-hook.dtx40
-rw-r--r--macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx30
-rw-r--r--macros/latex/contrib/koma-script/source/scrwfile.dtx73
-rw-r--r--macros/latex/contrib/spbmark/README.md11
-rw-r--r--macros/latex/contrib/spbmark/spbmark.dtx257
-rw-r--r--macros/latex/contrib/spbmark/spbmark.ins37
-rw-r--r--macros/latex/contrib/spbmark/spbmark.pdfbin0 -> 66589 bytes
-rw-r--r--macros/latex/contrib/tugboat/NEWS16
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.ltx15
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.pdfbin337563 -> 361610 bytes
-rw-r--r--macros/latex/contrib/tugboat/tugboat.bst96
-rw-r--r--macros/latex/contrib/tugboat/tugboat.dtx121
-rw-r--r--macros/latex/contrib/tugboat/tugboat.ins6
-rw-r--r--macros/latex/contrib/tugboat/tugboat.pdfbin464400 -> 493778 bytes
36 files changed, 1319 insertions, 773 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 769e0b6abe..ee03bbced6 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -28,7 +28,7 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/06/25\hskip\ccwd\relax v1.26j\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/06/26\hskip\ccwd\relax v1.26l\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -157,7 +157,7 @@
% floatpage = <true|(false)>
% \end{syntax}
% 开启这个选项后浮动环境 \env{table} 和 \env{figure} 的比例参数会使用默认值,关闭它则尽可能避免出现浮动页,使图表环境与正文段落更加紧凑,减少多余的空白版面。
-% \changes{v1.26j}{2021/06/15}{增加浮动环境比例参数选项 \opt{floatpage}。}
+% \changes{v1.26l}{2021/06/15}{增加浮动环境比例参数选项 \opt{floatpage}。}
% \end{function}
%
% \subsection{article 模式}
@@ -165,13 +165,13 @@
% \begin{syntax}
% class = <(book)|article>
% \end{syntax}
-% 设置文类风格,默认为 \cls{book} 文档类。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时设置双栏目录的 \opt{style/multoc} 选项、小节 \ref{subsec:document command} 中打印目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则 \opt{book} 宏包选项会失效。
+% 设置文类风格,默认为 \cls{book} 文档类。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时设置双栏目录的 \opt{style/multoc} 选项、节 \ref{sec:document command} 中打印目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则 \opt{book} 宏包选项会失效。
% \changes{v1.23}{2021/03/16}{增加 article 文章模式,可用于短篇幅的文章。}
% \end{function}
%
-% \subsection{文档命令}
-% \label{subsec:document command}
-% \subsubsection{文区命令}
+% \section{文档命令}
+% \label{sec:document command}
+% \subsection{文区命令}
% \begin{function}[added = 2021-02-20,updated = 2021-04-29]{\frontmatter,\mainmatter,\backmatter,\cleardoublepage}
% \begin{syntax}
% \tn{frontmatter*}\oarg{编号格式|(Roman)}
@@ -183,7 +183,7 @@
% \changes{v1.23}{2021/02/20}{重新定义文档结构划分命令。}
% \end{function}
%
-% \subsubsection{目录命令}
+% \subsection{目录命令}
% \begin{function}[added = 2021-02-20,updated = 2021-06-06]{\tableofcontents,\listoffigures,\listoftables,\listoflstlistings}
% \begin{syntax}
% \tn{tableofcontents+}\oarg{键值列表}\parg{附加代码}
@@ -191,7 +191,7 @@
% \tn{listoftables*+}\oarg{键值列表}
% \tn{listoflstlistings*+}\oarg{键值列表}
% \end{syntax}
-% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflstlistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入目录样式和换页等命令。目录的键值列表选项如下
+% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflstlistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入目录样式和换页等命令。可选参数的键值列表如下:
% \changes{v1.25}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
% \end{function}
%
@@ -212,7 +212,7 @@
%
% 在书籍模式且 \opt{chapter} 选项开启或者文章模式的情况下,\opt{format} 用于设置目录标题的格式,\opt{aftertitle} 选项的代码将被插入到目录标题内容之后,\opt{pagestyle} 是目录标题所在页的页面格式,除此之外还支持 \opt{ctexset/chapter} 或 \opt{ctexset/section} 所有的章节标题样式选项。\opt{chapter} 选项使目录标题按照 chapter 级别输出,\opt{section} 选项使目录标题按照 section 级别输出,默认为 chapter 级别。
%
-% \subsubsection{标题命令}
+% \subsection{标题命令}
% \begin{function}[added = 2021-05-05,updated = 2021-06-13]{\bichapter,\bisection,\bisubsection}
% \begin{syntax}
% \tn{bichapter*}\oarg{目录中文标题}\marg{中文标题}\marg{目录英文标题}
@@ -223,7 +223,7 @@
% \changes{v1.25}{2021/05/05}{增加与双语目录配合的标题命令。}
% \end{function}
%
-% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式默认是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下
+% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式默认是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下:
%
% \begin{function}{chapter/biname,chapter/binmuber}
% \begin{syntax}
@@ -239,11 +239,25 @@
% \tn{EBeforeAddBitoc*}\marg{加入目录英文标题前的代码}
% \end{syntax}
% \tn{appendix} 命令后的章节标题变为附录形式。英文目录中附录标题的格式用可选参数修改,英文附录目录前名字默认为 Appendix\tn{space},后名字默认为空,名字之间用一个半角逗号分开,也可以只有一部分,表示英文附录目录前名字。英文附录目录数字输出命令默认为 \tn{Alph}\{chapter\}。
-% \changes{v1.26j}{2021/06/13}{增加调整英文目录格式的钩子 \tn{EBeforeAddBitoc}。}
+% \changes{v1.26l}{2021/06/13}{增加调整英文目录格式的钩子 \tn{EBeforeAddBitoc}。}
% \end{function}
%
% \tn{EBeforeAddBitoc} 是一个作用于局部范围的英文目录钩子,可以插入标题或目录设置的命令改变英文目录中标题的显示格式,也可以覆盖上述的目录前后名字和编号等设置,带有星号的命令会重置之前的代码,放置在导言区或 \tn{bichapter} 等命令前生效。
%
+% \subsection{上标和下标}
+% \begin{function}[added = 2021-06-26]{\super,\sub,\supersub,\textsuperscript,\textsubscript}
+% \begin{syntax}
+% \tn{super*}\oarg{垂直偏移}\parg{格式代码}\marg{内容}\oarg{水平偏移}
+% \tn{sub*}\oarg{垂直偏移}\parg{格式代码}\marg{内容}\oarg{水平偏移}
+% \tn{supersub*}\oarg{script sep}\oarg{对齐方式}\parg{上标代码}
+% \ \marg{上标内容}\marg{下标内容}
+% \ \oarg{水平偏移}\parg{下标代码}
+% \end{syntax}
+% 上标和下标的功能来自 \pkg{spbmark} 宏包,\tn{super}、\tn{sub} 和 \tn{supersub} 三个命令可以用于输出上标和下标。它们根据当前处于文本模式还是数学模式来匹配相应的模式,或者可以使用它们的星号变体命令来强制使用数学模式。也可以使用键值列表对偏移量进行全局设置,详情见小节 \ref{subsec:style}。
+% \end{function}
+%
+% 垂直和水平偏移默认值都是0pt,\meta{对齐方式} 的参数与 \opt{supersubalign} 相同。\meta{格式代码} 用于格式化上标和下标,可以插入字体或颜色等命令。代码中的最后一个命令可以接受一个为上标或下标的参数。\tn{textsuperscript} 和 \tn{textsubscript} 命令已被重新定义并且分别等价于 \tn{super} 和 \tn{sub},如果您需要使用它们的原始定义创建新命令,则可以使用 \tn{spb@textsuperscript@save} 和 \tn{spb@textsubscript@save} 命令。
+%
% \section{接口选项}
% \label{sec:interface options}
% \begin{function}[added = 2021-01-05]{\ctexset}
@@ -299,7 +313,7 @@
% \changes{v1.10}{2021/01/08}{可以自定义主题颜色。}
% \end{function}
% \item[color-all] 统一设置主题的各部分颜色,参数是6个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
-% \item[multoc] 开启多栏目录,与小节 \ref{subsec:document command} 中目录命令的同名选项有相同效果。
+% \item[multoc] 开启多栏目录,与节 \ref{sec:document command} 中目录命令的同名选项有相同效果。
% \item[withpart] 使章跟随每一部分编号,默认不跟随。
% \item[footwith] 使脚注跟随编号的计数器,默认跟随章,当开启新的一章时脚注编号从1开始。
% \item[rulewidth] 调整页眉、定理盒子以及代码框线条的粗细。
@@ -312,6 +326,19 @@
% \item[figurepath] 设置插入图片的文件夹路径名,可以有多个路径名,但需要包含在括号内作为间隔,即使只有一个路径。
% \end{optdesc}
%
+% \begin{function}[EXP,added = 2021-06-26]{super-vshift,super-hshift,sub-vshift,sub-hshift,supersubsep,supersubalign}
+% \begin{syntax}
+% super-vshift = <刚性长度|(0pt)>
+% super-hshift = <刚性长度|(0pt)>
+% sub-vshift = <刚性长度|(0pt)>
+% sub-hshift = <刚性长度|(0pt)>
+% supersubsep = <刚性长度|(0.3ex)>
+% supersubalign = <(l)|c|r>
+% \end{syntax}
+% \ding{229} 以上选项路径为 \opt{style/...} \\
+% 可以使用 \tn{spbset} 命令设置上述选项。各垂直和水平偏移的参数对应 \tn{super} 等上标下标命令的参数,并且具有优先性。\opt{supersubsep} 选项是 \tn{supersub} 命令中上标和下标的间距,\opt{supersubalign} 选项则是上标与下标的水平对齐方式,有左对齐、居中对齐和右对齐。
+% \end{function}
+%
% \subsection{超链接}
% \label{subsec:hyperlinks}
% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-06]{linktype,linkcolor,linkcol-all,linktoc}
@@ -426,7 +453,7 @@
% \end{function}
%
% \begin{optdesc}
-% \item[\tn{printbibliography}] 两种方式 \textbf{均使用} 此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与小节 \ref{subsec:document command} 目录的选项相同,使用 \hologo{biber} 处理时常用的选项如下
+% \item[\tn{printbibliography}] 两种方式 \textbf{均使用} 此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与节 \ref{sec:document command} 目录的选项相同,使用 \hologo{biber} 处理时常用的选项如下
% \begin{function}{heading,title}
% \begin{syntax}
% heading = <bibliography|subbibliography|(bibintoc)|subbibintoc>
@@ -482,7 +509,7 @@
% 文档类已预置8个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令,由 \pkg{thmtools} 提供支持,用法与它的同名命令一致。
% \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。}
% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{EBNewTheorem}。}
-% \changes{v1.26j}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。}
+% \changes{v1.26l}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。}
% \end{function}
%
% \begin{optdesc}
@@ -588,7 +615,7 @@
% \tn{markrule}\oarg{长度|(\tn{textwidth})}\parg{颜色名}\marg{线宽|(0.75pt)}[<上间距>+<下间距>]
% \end{syntax}
% 命令 \tn{easyhead} 和 \tn{easyfoot} 的使用方法与 \tn{fancyhead} 和 \tn{fancyfoot} 完全相同,它们需要在 \opt{head-foot} 选项中使用,设置的是一个名为 \opt{fancy} 的页面风格。\pkg{fancyhdr} 将页眉页脚分成了左中右和奇数页(odd)、偶数页(even)共12个部分,可选参数中E、O代表偶数、奇数,L、C、R代表左、中、右部分。单面打印时,含有偶数的选项无效。
-% \changes{v1.26j}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。}
+% \changes{v1.26l}{2021/06/14}{增加页眉页脚的横线绘制命令 \tn{markrule}。}
% \end{function}
%
% 命令 \tn{markrule} 用于绘制页眉页脚横线,长度默认为页面文本区的宽度,上下间距为横线与上下方部件的间距,带有长度单位,间距长度之间用+号分开,若只有一部分则表示上间距,这个命令也可以在正文中绘制横线。下面举一个设置页眉内容的例子:
@@ -933,7 +960,7 @@
% \tn{index}\oarg{索引名}\marg{标签}
% \tn{printindex*+}\oarg{键值列表}\parg{索引名}
% \end{syntax}
-% \pkg{imakeidx} 宏包可使用索引的功能,重新定义了它的 \tn{printindex} 命令用于生成索引目录,\meta{键值列表} 及选项与小节 \ref{subsec:document command} 相同,但 \opt{multoc} 选项和 \pkg{imakeidx} 原本的接口命令 \tn{indexsetup} 部分选项失效。输出不同的索引目录时使用 \meta{索引名} 选项。
+% \pkg{imakeidx} 宏包可使用索引的功能,重新定义了它的 \tn{printindex} 命令用于生成索引目录,\meta{键值列表} 及选项与节 \ref{sec:document command} 相同,但 \opt{multoc} 选项和 \pkg{imakeidx} 原本的接口命令 \tn{indexsetup} 部分选项失效。输出不同的索引目录时使用 \meta{索引名} 选项。
% \changes{v1.24}{2021/05/01}{重新定义 \tn{printindex} 命令与文档适配。}
% \end{function}
%
@@ -1081,7 +1108,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/06/25}{1.26j}{beta}
+\ProvidesExplClass{easybook}{2021/06/26}{1.26l}{beta}
\bool_set_false:N \l__eb_compile_draft_bool
\bool_set_false:N \l__eb_title_newline_bool
@@ -1257,21 +1284,21 @@
\ctex_set:n
{
- secnumdepth = 3,
- tocdepth = \bool_if:NTF \l__eb_class_book_bool { 1 } { 2 },
- part =
+ secnumdepth = 3,
+ tocdepth = \bool_if:NTF \l__eb_class_book_bool { 1 } { 2 },
+ part =
{
- pagestyle = empty,
- tocline = \EBNumberLine{#1}#2,
- format = \color{ctex@frame}\sffamily\Huge,
- aftername =
+ pagestyle = empty,
+ tocline = \EBNumberLine{#1}#2,
+ format = \color{ctex@frame}\sffamily\Huge,
+ aftername =
{
\bool_if:NTF \l__eb_title_newline_bool
{ \par\nobreak }
{ \hspace{\ccwd} }
}
},
- chapter =
+ chapter =
{
% pagestyle = fancy,
format =
@@ -1290,7 +1317,7 @@
lotskip = 0.8pc,
lofskip = 0.8pc
},
- section =
+ section =
{
hang = true,
format = \color{ctex@frame}\sffamily\Large,
@@ -1298,7 +1325,7 @@
beforeskip = 1.5ex plus .2ex minus .1ex,
afterskip = 1.5ex plus .2ex minus .1ex
},
- subsection =
+ subsection =
{
hang = true,
format = \color{ctex@frame}\sffamily\large,
@@ -1306,7 +1333,7 @@
beforeskip = 1.3ex plus .2ex minus .1ex,
afterskip = 1.3ex plus .2ex minus .1ex
},
- subsubsection =
+ subsubsection =
{
hang = true,
format = \color{ctex@frame}\sffamily,
@@ -1328,7 +1355,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{etoolbox}
-\ProvidesExplPackage{easybase}{2021/06/25}{1.26j}{beta}
+\ProvidesExplPackage{easybase}{2021/06/26}{1.26l}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1483,7 +1510,7 @@
withpart .bool_set:N = \l__eb_chap_counter_withpart_bool,
withpart .default:n = true,
withpart .initial:n = false,
- rulewidth .dim_set:N = \eb@rule@width@dim,
+ rulewidth .dim_set:N = \l__eb_rule_width_dim,
rulewidth .initial:n = 0.75pt,
uppercase .bool_set:N = \l__eb_mark_uppercase_bool,
uppercase .default:n = true,
@@ -1517,6 +1544,7 @@
{
xcolor[svgnames]+
footmisc[stable,bottom]+
+ spbmark[ctex]+
ulem[normalem]+
enumitem[shortlabels,inline]+
amsmath+amsthm+thmtools+
@@ -1617,6 +1645,7 @@
}
}
+\tl_new:N \l__eb_fnmark_number_choice_tl
\cs_gset_eq:NN \easyhead \fancyhead
\cs_gset_eq:NN \easyfoot \fancyfoot
\NewDocumentCommand{\markrule}
@@ -1664,12 +1693,12 @@
subsec-label .initial:n = \hspace{0.5\ccwd},
headrule .tl_gset:N = \headrule,
- headrule .initial:n = \markrule{\eb@rule@width@dim},
+ headrule .initial:n = \markrule{\l__eb_rule_width_dim},
footrule .tl_gset:N = \footrule,
footrule .initial:n = { },
footnoterule .tl_gset:N = \footnoterule,
footnoterule .initial:n =
- { \markrule[0.35\textwidth]{\eb@rule@width@dim}[+2.6pt] },
+ { \markrule[0.35\textwidth]{\l__eb_rule_width_dim}[+2.6pt] },
fnmargin .dim_set:N = \footnotemargin,
fnmargin .initial:n = 0.75\ccwd,
@@ -1697,13 +1726,13 @@
fnmark-num .value_required:n = true
}
-\cs_set_eq:NN \eb@text@uppercase \text_uppercase:n
-\cs_set_eq:NN \eb@text@nouppercase \text_titlecase_first:n
+\cs_set_eq:NN \eb_mark_uppercase:n \text_uppercase:n
+\cs_set_eq:NN \eb_mark_nouppercase:n \text_titlecase_first:n
\cs_new:Npn \eb_mark_uppercase_bool:nn #1#2
{
\bool_if:NTF \l__eb_mark_uppercase_bool
- { \eb@text@uppercase }
- { \eb@text@nouppercase }{\use:c { eb_fancyhf_#1_mark:n } {#2}}
+ { \eb_mark_uppercase:n }
+ { \eb_mark_nouppercase:n }{\use:c { eb_fancyhf_#1_mark:n } {#2}}
}
\cs_new:Npn \eb@level@markdouble #1#2
{
@@ -1757,15 +1786,18 @@
\dim_set:Nn \footnotesep { \dim_use:N \box_ht:N \strutbox }
\bool_if:NT \l__eb_chap_counter_withpart_bool
{ \counterwithin*{chapter}{part} }
- \tl_if_eq:NnT \l__eb_foot_counter_parent_choice_tl { part }
- {
- \counterwithout*{footnote}{chapter}
- \counterwithin*{footnote}{part}
- }
- \tl_if_eq:NnT \l__eb_foot_counter_parent_choice_tl { page }
- {
- \counterwithout*{footnote}{chapter}
- \counterwithin*{footnote}{page}
+ \str_case:Vn \l__eb_foot_counter_parent_choice_tl
+ {
+ { part }
+ {
+ \counterwithout*{footnote}{chapter}
+ \counterwithin*{footnote}{part}
+ }
+ { page }
+ {
+ \counterwithout*{footnote}{chapter}
+ \counterwithin*{footnote}{page}
+ }
}
\bool_if:NTF \l__eb_footnote_hang_bool
{ \booltrue{FN@hangfoot} }
@@ -1787,7 +1819,7 @@
\group_begin:
\tl_use:N \l__eb_subfont_footnote_tl
\tl_use:N \l__eb_fnmark_format_tl
- {\hbox:n { \textsuperscript{\@thefnmark} }}
+ {\hbox:n { \super{\@thefnmark}[0pt] }}
\group_end:
}
\ExplSyntaxOff\char_set_catcode_other:N \@
@@ -1800,7 +1832,7 @@
\hbox:n
{
\tl_if_eq:NnT \l__eb_fnmark_position_tl { super }
- { \textsuperscript }{\@thefnmark}
+ { \spb@textsuperscript@save }{\@thefnmark}
\tl_use:N \l__eb_fnmark_after_tl
}
}
@@ -1830,18 +1862,13 @@
{ \ding{\int_eval:n { 201 + #1 }} }
\cs_new:Npn \eb_footnote_counter:N #1
{
- \tl_case:NnF \l__eb_fnmark_number_choice_tl
- {
- \c__eb_fnmark_number_plain_tl
- { \int_use:N #1 }
- \c__eb_fnmark_number_pifont_tl
- { \eb_fnmark_counter_pifont:N #1 }
- \c__eb_fnmark_number_pifont_neg_tl
- { \eb_fnmark_counter_pifont_neg:N #1 }
- \c__eb_fnmark_number_pifont_sans_tl
- { \eb_fnmark_counter_pifont_sans:N #1 }
- \c__eb_fnmark_number_pifont_sans_neg_tl
- { \eb_fnmark_counter_pifont_sans_neg:N #1 }
+ \str_case:VnF \l__eb_fnmark_number_choice_tl
+ {
+ { plain } { \int_use:N #1 }
+ { pifont } { \eb_fnmark_counter_pifont:N #1 }
+ { pifont* } { \eb_fnmark_counter_pifont_neg:N #1 }
+ { pifont-sans } { \eb_fnmark_counter_pifont_sans:N #1 }
+ { pifont-sans* } { \eb_fnmark_counter_pifont_sans_neg:N #1 }
}
{ \int_use:N #1 }
}
@@ -2115,7 +2142,6 @@
{ chapter,section,subsection }
\seq_map_inline:Nn \c__eb_bitoc_title_level_seq
{
- \tl_const:cn { c__eb_bitoc_mark_title_#1_tl } {#1}
\exp_args:Nc \NewDocumentCommand { bi#1 }{sO{##3}mm}
{
\IfBooleanTF{##1}
@@ -2124,14 +2150,11 @@
\CTEX@addtocline{#1}{##2}
\tl_if_empty:oF {##4} { \CTEX@addbitocline{#1}{##4} }
\tl_set:Nn \l__eb__bitoc_mark_title_level_tl {#1}
- \tl_case:Nn \l__eb__bitoc_mark_title_level_tl
+ \str_case:nn {#1}
{
- \c__eb_bitoc_mark_title_chapter_tl
- { \eb@level@markdouble{chapter}{##2} }
- \c__eb_bitoc_mark_title_section_tl
- { \eb@level@section@mark{##2} }
- \c__eb_bitoc_mark_title_subsection_tl
- { \eb@level@subsection@mark{##2} }
+ { chapter } { \eb@level@markdouble{chapter}{##2} }
+ { section } { \eb@level@section@mark{##2} }
+ { subsection } { \eb@level@subsection@mark{##2} }
}
}{
\stepcounter{bi#1}
@@ -2365,14 +2388,6 @@
\tl_new:N \l__eb_subfont_listing_tl
\tl_new:N \l__eb_subfont_footnote_tl
-\seq_const_from_clist:Nn \c__eb_subfont_math_choice_seq
- {
- noto,notosans,times,scholax,stix,
- charter,ebgaramond,libertine,none
- }
-\seq_map_inline:Nn \c__eb_subfont_math_choice_seq
- { \tl_const:cn { c__eb_subfont_math_#1_tl } {#1} }
-
\eb_ctex_define:nn { subfont }
{
table-cap .tl_set:N = \l__eb_subfont_table_tl,
@@ -2386,8 +2401,11 @@
marginpar .tl_set:N = \marginfont,
marginpar .initial:n = \rmfamily\footnotesize,
- math .choices:xn =
- { \seq_use:Nn \c__eb_subfont_math_choice_seq { , } }
+ math .choices:nn =
+ {
+ noto,notosans,times,scholax,stix,
+ charter,ebgaramond,libertine,none
+ }
{
\tl_gset_eq:NN
\l__eb_subfont_math_choice_tl \l_keys_choice_tl
@@ -2400,24 +2418,16 @@
{ \PassOptionsToPackage{#1}{newtxmath} }
\eb_at_end_preamble:n
{
- \tl_case:NnT \l__eb_subfont_math_choice_tl
- {
- \c__eb_subfont_math_noto_tl
- { \eb_put_newtxmath:n { noto } }
- \c__eb_subfont_math_notosans_tl
- { \eb_put_newtxmath:n { notosans } }
- \c__eb_subfont_math_ebgaramond_tl
- { \eb_put_newtxmath:n { ebgaramond } }
- \c__eb_subfont_math_times_tl
- { \eb_put_newtxmath:n { noOT1 } }
- \c__eb_subfont_math_libertine_tl
- { \eb_put_newtxmath:n { libertine,noOT1 } }
- \c__eb_subfont_math_stix_tl
- { \eb_put_newtxmath:n { stix2,noOT1 } }
- \c__eb_subfont_math_scholax_tl
- { \eb_put_newtxmath:n { nc,noOT1 } }
- \c__eb_subfont_math_charter_tl
- { \eb_put_newtxmath:n { charter,noOT1 } }
+ \str_case:VnT \l__eb_subfont_math_choice_tl
+ {
+ { noto } { \eb_put_newtxmath:n { noto } }
+ { notosans } { \eb_put_newtxmath:n { notosans } }
+ { ebgaramond } { \eb_put_newtxmath:n { ebgaramond } }
+ { times } { \eb_put_newtxmath:n { noOT1 } }
+ { libertine } { \eb_put_newtxmath:n { libertine,noOT1 } }
+ { stix } { \eb_put_newtxmath:n { stix2,noOT1 } }
+ { scholax } { \eb_put_newtxmath:n { nc,noOT1 } }
+ { charter } { \eb_put_newtxmath:n { charter,noOT1 } }
}
{ \eb@package@load{newtxmath+bm} }
}
@@ -2525,7 +2535,7 @@
\setcounter{bottomnumber}{4}
\setcounter{totalnumber}{8}
\allowdisplaybreaks[4]
-\tl_gset:Nn \ULthickness { \eb@rule@width@dim }
+\tl_gset:Nn \ULthickness { \l__eb_rule_width_dim }
\DeclareGraphicsExtensions{.pdf,.png,.jpg,.eps,.tif}
\cs_new_protected:Npn \eb_enumitem_label_set:nn #1#2
@@ -2745,7 +2755,7 @@
boxsep = 0pt,
arc = 0pt,
fonttitle = \sffamily,
- boxrule = \eb@rule@width@dim
+ boxrule = \l__eb_rule_width_dim
}
\newtcbox[auto~counter]{\eb@tc@exercise@box}[1]{tc-exercise,#1}
\tl_new:N \eb@tc@list@prologue
@@ -3020,7 +3030,7 @@
aboveskip = 1.5ex plus .2ex minus .1ex,
belowskip = 0.55ex plus .2ex minus .1ex,
keepspaces = true,
- framerule = \eb@rule@width@dim,
+ framerule = \l__eb_rule_width_dim,
columns = flexible,
abovecaptionskip = -1ex,
belowcaptionskip = 1.5ex
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index cdf7ede0d4..cd746dcd3e 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/README b/macros/latex/contrib/koma-script/README
index 04569034ca..ce2832a537 100644
--- a/macros/latex/contrib/koma-script/README
+++ b/macros/latex/contrib/koma-script/README
@@ -1,5 +1,5 @@
-KOMA-Script 2021/03/17 v3.33
+KOMA-Script 2021/06/25 v3.34
Copyright (c) Markus Kohm <komascript(at)gmx.info>, 1994-2021
This material is subject to the LaTeX Project Public License. See
@@ -58,7 +58,7 @@ Requires: scrkbase - internal KOMA-Script package
Recommended: scrlayer-scrpage - KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrarticle - wrapper class to scrartcl
------------------------------------------------------------------------------
@@ -73,7 +73,7 @@ Abstract: scrreport is a very simple wrapper class to scrartcl. Is has
Requires: scrartcl.cls - KOMA-Script class
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrbase - basic features for KOMA-Script, e.g. conditionals and key=value
------------------------------------------------------------------------------
@@ -112,7 +112,7 @@ Requires: keyval - key=value package from the graphics bundle
manipulation
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrbook - versatile class may be used as a drop-in replacement of book
------------------------------------------------------------------------------
@@ -132,7 +132,7 @@ Requires: scrkbase - internal KOMA-Script package
typearea - KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrdate - calender date operations, e.g. calculation of the day of the week
------------------------------------------------------------------------------
@@ -151,7 +151,7 @@ Requires: scrkbase - KOMA-Script package for some basic features.
manipulation
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrdoc - internal source documentation class of KOMA-Script
------------------------------------------------------------------------------
@@ -180,7 +180,7 @@ Requires: scrkbase - internal package with some basics of KOMA-Script
etoolbox - tool-box for LaTeX programming using e-TeX
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrfontsizes - package to generate a KOMA-Script font size file
------------------------------------------------------------------------------
@@ -192,7 +192,7 @@ Abstract: scrfontsizes is a LaTeX package of the KOMA-Script bundle.
Requires: scrextend - some KOMA-Script features for other classes
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrhack - patch some isues with other packages
------------------------------------------------------------------------------
@@ -210,7 +210,7 @@ Requires: scrkbase - internal KOMA-Script package with basics
xpatch - extending etoolbox patching commands
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrjura - contract environment for advocates and scholary persons in law
------------------------------------------------------------------------------
@@ -226,7 +226,7 @@ Requires: scrkbase - internal KOMA-Script package with basics
tocbasic - features for helper files and float environments
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrkbase - internal basic features for KOMA-Script classes and packages
------------------------------------------------------------------------------
@@ -241,7 +241,7 @@ Requires: scrbase - KOMA-Script package for some basic features.
manipulation
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlayer-notecolumn - control note columns parallel to the main text
------------------------------------------------------------------------------
@@ -262,7 +262,7 @@ Abstract: scrlayer-notecolumn is a LaTeX package of the KOMA-Script
Requires: scrlayer.sty
License: LPPL 1.3c or later
State: Author maintained, proof of concept
-Version: 2020/09/11 v0.3.3533
+Version: 2021/05/30 v0.3.3601
==============================================================================
scrlayer-scrpage - controlling page headers and footers
------------------------------------------------------------------------------
@@ -282,7 +282,7 @@ Abstract: scrlayer-scrpage is a LaTeX package of the KOMA-Script
Requires: scrlayer.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlayer - defining layers and controlling page headers and footers
------------------------------------------------------------------------------
@@ -307,7 +307,7 @@ Abstract: scrlayer is a LaTeX package of the KOMA-Script bundle.
Requires: scrkbase.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrletter - wrapper class to scrlttr2
------------------------------------------------------------------------------
@@ -322,7 +322,7 @@ Abstract: scrreport is a very simple wrapper class to scrlttr2. Is has
Requires: scrlttr2.cls - KOMA-Script class
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrletter - letter extention to KOMA-Script classes
------------------------------------------------------------------------------
@@ -337,7 +337,7 @@ Requires: scrkbase - internal KOMA-Script package
Recommended: marvosym - package by Martin Vogel providing symbols
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlfile-hook - internal subpackage of scrlfile
------------------------------------------------------------------------------
@@ -348,7 +348,7 @@ Abstract: scrlfile-hook is an internal subpackage of scrlfile to be
Requires: scrlogo.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlfile-pacholdlatex - internal subpackage of scrlfile
------------------------------------------------------------------------------
@@ -359,7 +359,7 @@ Abstract: scrlfile-patcholdlatex is an internal subpackage of scrlfile
Requires: scrlogo.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlfile - control of package dependencies
------------------------------------------------------------------------------
@@ -377,7 +377,7 @@ Abstract: scrlfile is a LaTeX package of the KOMA-Script bundle. It
Requires: scrlfile-hook.sty, scrlfile-patcholdlatex.sty, scrlogo.sty
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlogo - print the KOMA-Script logo
------------------------------------------------------------------------------
@@ -389,7 +389,7 @@ Abstract: scrlogo is a LaTeX package of the KOMA-Script bundle. It
Requires:
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrlttr2 - versatile letter class with separation of text area and note paper
------------------------------------------------------------------------------
@@ -422,7 +422,7 @@ Requires: scrkbase - internal KOMA-Script package
Recommended: marvosym - package by Martin Vogel providing symbols
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrreport - wrapper class to scrreprt
------------------------------------------------------------------------------
@@ -437,7 +437,7 @@ Abstract: scrreport is a very simple wrapper class to scrreprt. Is has
Requires: scrreprt.cls - KOMA-Script class
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrreprt - versatile class may be used as a drop-in replacement of report
------------------------------------------------------------------------------
@@ -457,7 +457,7 @@ Requires: scrkbase - internal KOMA-Script package
typearea - KOMA-Script package
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrtime - show the time of the LaTeX run
------------------------------------------------------------------------------
@@ -469,7 +469,7 @@ Abstract: scrtime is a LaTeX package of the KOMA-Script bundle. It
Requires: scrkbase - internal package with some basics of KOMA-Script
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
scrwfile - Spare write handles for helper files to avoid `No room' messages
------------------------------------------------------------------------------
@@ -498,7 +498,7 @@ Requires: scrbase - some basic features for class and package
scrlfile - control of package dependencies
License: LPPL 1.3c or later
State: Author maintained
-Version: 2013/08/05 v0.1f-alpha
+Version: 2021/05/30 v0.1.9-alpha
==============================================================================
tocbasic - Management of tables and lists of contents using helper files
------------------------------------------------------------------------------
@@ -523,7 +523,7 @@ Abstract: tocbasic is a LaTeX package of the KOMA-Script bundle. The
Requires: scrbase - KOMA-Script package for some basic features.
License: LPPL 1.3c or later
State: Author maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
typearea - Calculating typeing area and margins depending on typographic rules
------------------------------------------------------------------------------
@@ -544,5 +544,5 @@ Abstract: Many LaTeX classes, including the standard classes, present
Requires: scrkbase - internal basic features for KOMA-Script packages
License: LPPL 1.3c or later
State: Autor maintained
-Version: 2021/03/17 v3.33
+Version: 2021/06/25 v3.34
==============================================================================
diff --git a/macros/latex/contrib/koma-script/doc/manifest.txt b/macros/latex/contrib/koma-script/doc/manifest.txt
index 07380a47a1..81615d658e 100644
--- a/macros/latex/contrib/koma-script/doc/manifest.txt
+++ b/macros/latex/contrib/koma-script/doc/manifest.txt
@@ -35,7 +35,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-% CONTENTS OF THE KOMA-SCRIPT RELEASE 2021/03/17 v3.33
+% CONTENTS OF THE KOMA-SCRIPT RELEASE 2021/06/25 v3.34
% ------------------------------------------------------
%
%
diff --git a/macros/latex/contrib/koma-script/doc/scrguide.pdf b/macros/latex/contrib/koma-script/doc/scrguide.pdf
index 4fd118b7ba..27077eab0f 100644
--- a/macros/latex/contrib/koma-script/doc/scrguide.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/doc/scrguien.pdf b/macros/latex/contrib/koma-script/doc/scrguien.pdf
index 9ac9db361f..b6d781f947 100644
--- a/macros/latex/contrib/koma-script/doc/scrguien.pdf
+++ b/macros/latex/contrib/koma-script/doc/scrguien.pdf
Binary files differ
diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex
index 325431cf59..18638fc967 100644
--- a/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex
+++ b/macros/latex/contrib/koma-script/source-doc/english/scrbookreportarticle-experts.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrbookreportarticle-experts.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrbookreportarticle-experts.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -48,13 +48,13 @@
% ============================================================================
\KOMAProvidesFile{scrbookreportarticle-experts.tex}
- [$Date: 2019-12-06 11:54:25 +0100 (Fri, 06 Dec 2019) $
+ [$Date: 2021-06-25 10:07:54 +0200 (Fri, 25 Jun 2021) $
KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for
experts)]
\translator{Gernot Hassenpflug\and Markus Kohm\and Karl Hagen}
-% Date of the translated German file: 2019-12-06
+% Date of the translated German file: 2021-06-25
\chapter[{Additional Information about the Main Classes and
\Package{scrextend}}]{Additional Information about the Main Classes
@@ -204,8 +204,8 @@ Package authors and authors of wrapper classes can redefine this command to
alter the entries. For example\textnote{Example}, you could use
\begin{lstcode}
\renewcommand{\addtocentrydefault}[3]{%
- \Ifstr{#3}{}{%
- \Ifstr{#2}{}{%
+ \IfArgIsEmpty{#3}{%
+ \IfArgIsEmpty{#2}{%
\addcontentsline{toc}{#1}{#3}%
}{%
\addcontentsline{toc}{#1}{\protect\numberline{#2}#3}%
@@ -213,10 +213,10 @@ alter the entries. For example\textnote{Example}, you could use
}%
}%
\end{lstcode}
-to\IndexCmd{Ifstr} omit entries with an empty \PName{heading}. In practice,
-such a change is not necessary because the \KOMAScript{} classes already use
-another method to suppress empty entries. See the description of the
-sectioning commands in \autoref{sec:maincls.structure}, starting on
+to\IndexCmd{IfArgIsEmpty} omit entries with an empty \PName{heading}. In
+practice, such a change is not necessary because the \KOMAScript{} classes
+already use another method to suppress empty entries. See the description of
+the sectioning commands in \autoref{sec:maincls.structure}, starting on
\DescPageRef{maincls.cmd.part} for this.%
%
\EndIndexGroup
diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex b/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex
index 760052b8cc..6e31224faf 100644
--- a/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex
+++ b/macros/latex/contrib/koma-script/source-doc/english/scrhack.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrhack.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrhack.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,11 +46,11 @@
% ============================================================================
\KOMAProvidesFile{scrhack.tex}
- [$Date: 2019-11-26 11:13:57 +0100 (Tue, 26 Nov 2019) $
+ [$Date: 2021-06-03 19:56:49 +0200 (Thu, 03 Jun 2021) $
KOMA-Script guide (chapter: scrhack)]
\translator{Markus Kohm\and Karl Hagen}
-% Date of the translated German file: 2019-11-26
+% Date of the translated German file: 2021-06-03
\chapter{Improving Third-Party Packages with \Package{scrhack}}
\labelbase{scrhack}
@@ -65,6 +65,9 @@ created. This package alters the commands and definitions of other to work
better with \KOMAScript{}. Some changes are also useful when using other
classes.
+It is recommended to load the \Package{scrhack} package as early as
+possible. In particular, loading should be done before the affected packages.
+
\section{Development Status}
\label{scr:scrhack.draft}
diff --git a/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex b/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex
index c92f777f74..144386a23b 100644
--- a/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex
+++ b/macros/latex/contrib/koma-script/source-doc/english/scrwfile.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrwfile.tex
-% Copyright (c) Markus Kohm, 2010-2019
+% Copyright (c) Markus Kohm, 2010-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrwfile.tex
-% Copyright (c) Markus Kohm, 2010-2019
+% Copyright (c) Markus Kohm, 2010-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,10 +46,10 @@
% ============================================================================
\KOMAProvidesFile{scrwfile.tex}%
- [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $
+ [$Date: 2021-05-30 19:31:59 +0200 (Sun, 30 May 2021) $
KOMA-Script guide (chapter: scrwfile)]
-% Date of the translated German file: 2019-11-18
+% Date of the translated German file: 2020-05-30
\translator{Markus Kohm\and Jana Schubert\and Karl Hagen}
@@ -154,7 +154,8 @@ 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.
+\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}%
diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex
index a6da498258..51c3359e34 100644
--- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex
+++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrbookreportarticle-experts.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrbookreportarticle-experts.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrbookreportarticle-experts.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -48,7 +48,7 @@
% ============================================================================
\KOMAProvidesFile{scrbookreportarticle-experts.tex}%
- [$Date: 2019-12-03 09:41:21 +0100 (Tue, 03 Dec 2019) $
+ [$Date: 2021-06-25 10:07:17 +0200 (Fri, 25 Jun 2021) $
KOMA-Script guide (chapter: scrbook, scrreprt, scrartcl for
experts)]
@@ -220,9 +220,9 @@ umdefinieren, um Einfluss auf die Einträge zu nehmen. So\textnote{Beispiel}
wäre beispielsweise denkbar, mit
\begin{lstcode}
\renewcommand{\addtocentrydefault}[3]{%
- \Ifstr{#3}{}{%
+ \IfArgIsEmpty{#3}{%
}{%
- \Ifstr{#2}{}{%
+ \IfArgIsEmpty{#2}{%
\addcontentsline{toc}{#1}{\protect\nonumberline#3}%
}{%
\addcontentsline{toc}{#1}{\protect\numberline{#2}#3}%
@@ -230,12 +230,12 @@ wäre beispielsweise denkbar, mit
}%
}%
\end{lstcode}
-dafür\IndexCmd{Ifstr} zu sorgen, dass Einträge mit leerer \PName{Überschrift}
-erst gar nicht vorgenommen werden. Eine solche Änderung ist in der Praxis
-jedoch nicht notwendig, da die Unterdrückung leerer Einträge bereits auf
-andere Weise in die \KOMAScript-Klassen eingebaut ist. Siehe hierzu auch die
-Erklärung zu den Gliederungsbefehlen in \autoref{sec:maincls.structure} ab
-\DescPageRef{maincls.cmd.part}.%
+dafür\IndexCmd{IfArgIsEmpty} zu sorgen, dass Einträge mit leerer
+\PName{Überschrift} erst gar nicht vorgenommen werden. Eine solche Änderung
+ist in der Praxis jedoch nicht notwendig, da die Unterdrückung leerer Einträge
+bereits auf andere Weise in die \KOMAScript-Klassen eingebaut ist. Siehe
+hierzu auch die Erklärung zu den Gliederungsbefehlen in
+\autoref{sec:maincls.structure} ab \DescPageRef{maincls.cmd.part}.%
%
\EndIndexGroup
diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex
index 2164484b87..942858109b 100644
--- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex
+++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrhack.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrhack.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrhack.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,7 +46,7 @@
% ============================================================================
\KOMAProvidesFile{scrhack.tex}
- [$Date: 2019-11-26 11:13:57 +0100 (Tue, 26 Nov 2019) $
+ [$Date: 2021-06-03 19:56:49 +0200 (Thu, 03 Jun 2021) $
KOMA-Script guide (chapter: scrhack)]
\chapter{Fremdpakete verbessern mit \Package{scrhack}}
@@ -63,6 +63,9 @@ Anweisungen und Definitionen anderer Pakete, damit sie besser mit
\KOMAScript{} zusammenarbeiten. Einige Änderungen sind auch bei
Verwendung anderer Klassen nützlich.
+Es wird empfohlen, das Paket \Package{scrhack} so früh wie möglich zu
+laden. Insbesondere sollte das Laden vor den betroffenen Paketen erfolgen.
+
\section{Entwicklungsstand}
\seclabel{draft}
diff --git a/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex b/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex
index 34400d50a3..e8e9774ad7 100644
--- a/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex
+++ b/macros/latex/contrib/koma-script/source-doc/ngerman/scrwfile.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrwfile.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrwfile.tex
-% Copyright (c) Markus Kohm, 2001-2019
+% Copyright (c) Markus Kohm, 2001-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,7 +46,7 @@
% ============================================================================
\KOMAProvidesFile{scrwfile.tex}
- [$Date: 2019-11-18 10:57:08 +0100 (Mon, 18 Nov 2019) $
+ [$Date: 2021-05-30 19:31:59 +0200 (Sun, 30 May 2021) $
KOMA-Script guide (chapter: scrwfile)]
\chapter{Dateien mit \Package{scrwfile} sparen und ersetzen}
@@ -158,7 +158,8 @@ 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.
+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}
diff --git a/macros/latex/contrib/koma-script/source/scrhack.dtx b/macros/latex/contrib/koma-script/source/scrhack.dtx
index 49cf81ef4e..1a75956680 100644
--- a/macros/latex/contrib/koma-script/source/scrhack.dtx
+++ b/macros/latex/contrib/koma-script/source/scrhack.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrhack.dtx
-% Copyright (c) Markus Kohm, 2008-2020
+% Copyright (c) Markus Kohm, 2008-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -22,7 +22,7 @@
% of TeX would generate the implementation documentation.
% ----------------------------------------------------------------------
% scrhack.dtx
-% Copyright (c) Markus Kohm, 2008-2020
+% Copyright (c) Markus Kohm, 2008-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -61,7 +61,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrhack.dtx 3508 2020-07-08 08:45:20Z kohm $
+%%% From File: $Id: scrhack.dtx 3602 2021-06-03 17:24:02Z kohm $
%<package&identify>%%% using: package,identify
%<package&option>%%% using: package,option
%<package&body>%%% using: package,body
@@ -70,7 +70,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-07-08 10:45:20 +0200 (Wed, 08 Jul 2020) $
+ \filedate$Date: 2021-06-03 19:24:02 +0200 (Thu, 03 Jun 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\endgroup
@@ -481,44 +481,44 @@
% \end{macro}
%
%
-% \subsection{Der \textsf{float}-Hack}
+% \subsection{Der \textsf{floatrow}-Hack}
%
-% Das \textsf{float}-Paket verwendet das Makro \cs{float@listhead} zum
+% Das \textsf{floatrow}-Paket verwendet das Makro \cs{float@listhead} zum
% Setzen der Überschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen
% und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird
% empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist
% sehr gering und wird mit vielen neuen Möglichkeiten belohnt.
%
-% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{float}
+% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{floatrow}
% nach.
%
-% \begin{option}{float}
-% \changes{v3.12}{2013/03/05}{Signalisierung mit
-% \cs{FamilyKeyStateProcessed}}%^^A
+% \begin{option}{floatrow}
+% \changes{v3.12}{2013/03/05}{Signalisierung mit \cs{FamilyKeyStateProcessed}}
% \changes{v3.17}{2015/03/09}{Defaulteinstellung mit
-% \cs{KOMAExecuteOptions}}%^^A
+% \cs{KOMAExecuteOptions}}
+% \changes{v3.34}{2021/06/03}{Deaktivierung des \textsf{float}-Hacks}
% \begin{macrocode}
%<*package&option>
-\KOMA@ifkey{float}{@scrhack@float}%
-\KOMAExecuteOptions{float=true}%
+\KOMA@ifkey{floatrow}{@scrhack@floatrow}
+\KOMAExecuteOptions{floatrow=true}
%</package&option>
%<*package&body>
-\AfterPackage*{float}{%
- \KOMA@key[.scrhack.sty]{float}{%
- \PackageWarning{scrhack}{option `float' ignored}%
+\AfterPackage*{floatrow}{%
+ \KOMAoptions{float=false}%
+ \PackageInfo{scrhack}{option `float' deactivated}%
+ \KOMA@key[.scrhack.sty]{floatrow}{%
+ \PackageWarning{scrhack}{option `floatrow' ignored}%
\FamilyKeyStateProcessed
}%
- \if@scrhack@float\scr@hack@load\@pkgextension{float}\fi
+ \if@scrhack@floatrow\scr@hack@load\@pkgextension{floatrow}\fi
}
%</package&body>
% \end{macrocode}
% \end{option}
%
%
-% \begin{macro}{\newfloat}
-% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by
-% \cs{Ifattoclist}}%^^A
-% Über die Anweisung \cs{newfloat} wird eine neue Gleitumgebung
+% \begin{macro}{\DeclareNewFloatType}
+% Über die Anweisung \cs{DeclareNewFloatType} wird eine neue Gleitumgebung
% definiert. Hier muss die neue Erweiterung aus dem dritten Argument
% \textsf{tocbasic} bekannt gemacht werden.
% \begin{macro}{\listof}
@@ -529,68 +529,51 @@
% Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche
% Definition zurückgesetzt.
% \begin{macrocode}
-%<*float&body>
-\scr@ifexpected{\newfloat}{%
- \long\def\newfloat#1#2#3{\@namedef{ext@#1}{#3}
- \let\float@do=\relax
- \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
- \@tempa
- \floatplacement{#1}{#2}%
- \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}
- \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
- \addtocounter{float@type}{\value{float@type}}
- \restylefloat{#1}%
- \expandafter\edef\csname fnum@#1\endcsname%
- {\expandafter\noexpand\csname fname@#1\endcsname{}
- \expandafter\noexpand\csname the#1\endcsname}
- \@ifnextchar[%]
- {\float@newx{#1}}%
- {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}%
- {}}}%
+%<*floatrow&body>
+\scr@ifexpected{\DeclareNewFloatType}{%
+ \long\def\DeclareNewFloatType#1#2{\def\FB@captype{#1}%
+ \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}%
+ \addtocounter{float@type}{\value{float@type}}%
+ \@namedef{#1name}{#1}\newcounter{#1}%
+ \expandafter\edef\csname fnum@#1\endcsname
+ {\expandafter\noexpand\csname #1name\endcsname\nobreakspace
+ \expandafter\noexpand\csname the#1\endcsname}%
+ \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}%
+ \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
+ \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax
+ \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}%
+ \@tempa}%
}{%
\scr@ifexpected{\listof}{%
\def\listof#1#2{%
- \@ifundefined{ext@#1}{\float@error{#1}}{%
- \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
+ \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
+ \expandafter\providecommand\csname l@#1\endcsname
+ {\@dottedtocline{1}{1.5em}{2.3em}}%
\float@listhead{#2}%
\begingroup\setlength{\parskip}{\z@}%
\@starttoc{\@nameuse{ext@#1}}%
\endgroup}}%
}{%
\RequirePackage{tocbasic}%
- \PackageInfo{scrhack}{redefining \string\newfloat}%
- \renewcommand\newfloat[3]{%
- \Ifattoclist{#3}{%
- \PackageError{scrhack}{extension `#3' already in use}{%
- Each extension may be used only once.\MessageBreak
- You, the class, or another package already uses extension
- `#3'.\MessageBreak
- \string\newfloat\space command will be ignored!}%
- }{%
- \addtotoclist[float]{#3}%
- \setuptoc{#3}{chapteratlist}%
- \@namedef{ext@#1}{#3}%
- \let\float@do=\relax
- \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
- \@tempa
- \floatplacement{#1}{#2}%
- \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}%
- \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
- \addtocounter{float@type}{\value{float@type}}
- \restylefloat{#1}%
- \expandafter\edef\csname fnum@#1\endcsname%
- {\expandafter\noexpand\csname fname@#1\endcsname{}
- \expandafter\noexpand\csname the#1\endcsname}%
- \@ifnextchar[%]
- {\float@newx{#1}}%
- {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}%
- {}}}%
- }%
- \PackageInfo{scrhack}{redefining \string\listof}%
- \renewcommand*\listof[2]{%
- \@ifundefined{ext@#1}{\float@error{#1}}{%
- \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure
- \@ifundefined{l@#1}{%
+ \PackageInfo{scrhack}{redefining \string\DeclareNewFloatType}%
+% \end{macrocode}
+% Eigentlich wäre es besser, wie im \textsf{float}-Hack einen Test
+% vorzuschalten, ob die Dateiendung bereits in Gebrauch ist. Aber das würde
+% voraussetzen, dass die Reihenfolge der Anweisungen geändert wird. Dazu
+% stecke ich aber im Code von \textsf{floatrow} zu wenig
+% drin. (\emph{\foreignlanguage{english}{Note: It would be better to first
+% test, if the new extension is already in use like done at the
+% \textsf{float} hack. But I don't know the \textsf{floatrow} code good
+% enough to make such a change!}})
+% \begin{macrocode}
+ \renewcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}%
+ \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}%
+ \addtocounter{float@type}{\value{float@type}}%
+ \@namedef{#1name}{#1}\newcounter{#1}%
+ \expandafter\edef\csname fnum@#1\endcsname
+ {\expandafter\noexpand\csname #1name\endcsname\nobreakspace
+ \expandafter\noexpand\csname the#1\endcsname}%
+ \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}%
% \end{macrocode}
% \changes{v3.25}{2018/03/16}{Verwendung von \cs{DeclareTOCStyleEntry}}%^^A
% Bis Version 3.24 wurde hier nun wie üblich |\l@#1| unter Verwendung von
@@ -601,6 +584,23 @@
% Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die
% Verzeichniseinträge bietet, verwenden wir die hier nun auch:
% \begin{macrocode}
+ \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}%
+ \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax
+ \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}%
+ \@tempa
+ \xdef\@tempa{\noexpand\addtotoclist[float]{\@nameuse{ext@\FB@captype}}%
+ \noexpand\setuptoc{\@nameuse{ext@\FB@captype}}{chapteratlist}%
+ }%
+ \@tempa
+ }%
+ \PackageInfo{scrhack}{redefining \string\listof}%
+ \renewcommand*\listof[2]{%
+ \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
+ \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure
+ \@ifundefined{l@#1}{%
+% \end{macrocode}
+% Siehe die Anmerkung zur Verwendung von \cs{DeclareTOCStyleEntry} oben.
+% \begin{macrocode}
\DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]
{default}{#1}%
}{}%
@@ -617,61 +617,63 @@
}{%
\PackageWarningNoLine{scrhack}{unkown \string\float@addtolists\space
definition found!\MessageBreak
- Maybe you are using a unsupported float version}%
+ Maybe you are using a unsupported floatrow version}%
}%
}{%
\PackageWarningNoLine{scrhack}{unknown \string\listof\space
definition found!\MessageBreak
- Maybe you are using a unsupported float version}%
+ Maybe you are using a unsupported floatrow version}%
}%
}{%
- \PackageWarningNoLine{scrhack}{unknown \string\newfloat\space
+ \PackageWarningNoLine{scrhack}{unknown \string\DeclareNewFloatType\space
definition found!\MessageBreak
- Maybe you are using a unsupported float version}%
+ Maybe you are using a unsupported floatrow version}%
}
-%</float&body>
+%</floatrow&body>
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%
-% \subsection{Der \textsf{floatrow}-Hack}
+% \subsection{Der \textsf{float}-Hack}
%
-% Das \textsf{floatrow}-Paket verwendet das Makro \cs{float@listhead} zum
+% Das \textsf{float}-Paket verwendet das Makro \cs{float@listhead} zum
% Setzen der Überschriften. Dies wird seit \KOMAScript~3 nicht mehr empfohlen
% und fliegt demnächst komplett aus der Unterstützung. Stattdessen wird
% empfohlen, dass Pakete \textsf{tocbasic} unterstützen. Der Aufwand dafür ist
% sehr gering und wird mit vielen neuen Möglichkeiten belohnt.
%
-% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{floatrow}
+% Dieser Hack rüstet die \textsf{tocbasic}-Unterstützung für \textsf{float}
% nach.
%
-% \begin{option}{floatrow}
+% \begin{option}{float}
% \changes{v3.12}{2013/03/05}{Signalisierung mit
% \cs{FamilyKeyStateProcessed}}%^^A
% \changes{v3.17}{2015/03/09}{Defaulteinstellung mit
% \cs{KOMAExecuteOptions}}%^^A
% \begin{macrocode}
%<*package&option>
-\KOMA@ifkey{floatrow}{@scrhack@floatrow}
-\KOMAExecuteOptions{floatrow=true}
+\KOMA@ifkey{float}{@scrhack@float}%
+\KOMAExecuteOptions{float=true}%
%</package&option>
%<*package&body>
-\AfterPackage*{floatrow}{%
- \KOMA@key[.scrhack.sty]{floatrow}{%
- \PackageWarning{scrhack}{option `floatrow' ignored}%
+\AfterPackage*{float}{%
+ \KOMA@key[.scrhack.sty]{float}{%
+ \PackageWarning{scrhack}{option `float' ignored}%
\FamilyKeyStateProcessed
}%
- \if@scrhack@floatrow\scr@hack@load\@pkgextension{floatrow}\fi
+ \if@scrhack@float\scr@hack@load\@pkgextension{float}\fi
}
%</package&body>
% \end{macrocode}
% \end{option}
%
%
-% \begin{macro}{\DeclareNewFloatType}
-% Über die Anweisung \cs{DeclareNewFloatType} wird eine neue Gleitumgebung
+% \begin{macro}{\newfloat}
+% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by
+% \cs{Ifattoclist}}%^^A
+% Über die Anweisung \cs{newfloat} wird eine neue Gleitumgebung
% definiert. Hier muss die neue Erweiterung aus dem dritten Argument
% \textsf{tocbasic} bekannt gemacht werden.
% \begin{macro}{\listof}
@@ -682,51 +684,68 @@
% Diese Anweisung wird nicht länger benötigt und daher auf die ursprüngliche
% Definition zurückgesetzt.
% \begin{macrocode}
-%<*floatrow&body>
-\scr@ifexpected{\DeclareNewFloatType}{%
- \long\def\DeclareNewFloatType#1#2{\def\FB@captype{#1}%
- \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}%
- \addtocounter{float@type}{\value{float@type}}%
- \@namedef{#1name}{#1}\newcounter{#1}%
- \expandafter\edef\csname fnum@#1\endcsname
- {\expandafter\noexpand\csname #1name\endcsname\nobreakspace
- \expandafter\noexpand\csname the#1\endcsname}%
- \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}%
- \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
- \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax
- \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}%
- \@tempa}%
+%<*float&body>
+\scr@ifexpected{\newfloat}{%
+ \long\def\newfloat#1#2#3{\@namedef{ext@#1}{#3}
+ \let\float@do=\relax
+ \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
+ \@tempa
+ \floatplacement{#1}{#2}%
+ \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}
+ \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
+ \addtocounter{float@type}{\value{float@type}}
+ \restylefloat{#1}%
+ \expandafter\edef\csname fnum@#1\endcsname%
+ {\expandafter\noexpand\csname fname@#1\endcsname{}
+ \expandafter\noexpand\csname the#1\endcsname}
+ \@ifnextchar[%]
+ {\float@newx{#1}}%
+ {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}%
+ {}}}%
}{%
\scr@ifexpected{\listof}{%
\def\listof#1#2{%
- \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
- \expandafter\providecommand\csname l@#1\endcsname
- {\@dottedtocline{1}{1.5em}{2.3em}}%
+ \@ifundefined{ext@#1}{\float@error{#1}}{%
+ \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
\float@listhead{#2}%
\begingroup\setlength{\parskip}{\z@}%
\@starttoc{\@nameuse{ext@#1}}%
\endgroup}}%
}{%
\RequirePackage{tocbasic}%
- \PackageInfo{scrhack}{redefining \string\DeclareNewFloatType}%
-% \end{macrocode}
-% Eigentlich wäre es besser, wie im \textsf{float}-Hack einen Test
-% vorzuschalten, ob die Dateiendung bereits in Gebrauch ist. Aber das würde
-% voraussetzen, dass die Reihenfolge der Anweisungen geändert wird. Dazu
-% stecke ich aber im Code von \textsf{floatrow} zu wenig
-% drin. (\emph{\foreignlanguage{english}{Note: It would be better to first
-% test, if the new extension is already in use like done at the
-% \textsf{float} hack. But I don't know the \textsf{floatrow} code good
-% enough to make such a change!}})
-% \begin{macrocode}
- \renewcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}%
- \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}%
- \addtocounter{float@type}{\value{float@type}}%
- \@namedef{#1name}{#1}\newcounter{#1}%
- \expandafter\edef\csname fnum@#1\endcsname
- {\expandafter\noexpand\csname #1name\endcsname\nobreakspace
- \expandafter\noexpand\csname the#1\endcsname}%
- \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}%
+ \PackageInfo{scrhack}{redefining \string\newfloat}%
+ \renewcommand\newfloat[3]{%
+ \Ifattoclist{#3}{%
+ \PackageError{scrhack}{extension `#3' already in use}{%
+ Each extension may be used only once.\MessageBreak
+ You, the class, or another package already uses extension
+ `#3'.\MessageBreak
+ \string\newfloat\space command will be ignored!}%
+ }{%
+ \addtotoclist[float]{#3}%
+ \setuptoc{#3}{chapteratlist}%
+ \@namedef{ext@#1}{#3}%
+ \let\float@do=\relax
+ \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#3}}}%
+ \@tempa
+ \floatplacement{#1}{#2}%
+ \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}%
+ \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
+ \addtocounter{float@type}{\value{float@type}}
+ \restylefloat{#1}%
+ \expandafter\edef\csname fnum@#1\endcsname%
+ {\expandafter\noexpand\csname fname@#1\endcsname{}
+ \expandafter\noexpand\csname the#1\endcsname}%
+ \@ifnextchar[%]
+ {\float@newx{#1}}%
+ {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}%
+ {}}}%
+ }%
+ \PackageInfo{scrhack}{redefining \string\listof}%
+ \renewcommand*\listof[2]{%
+ \@ifundefined{ext@#1}{\float@error{#1}}{%
+ \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure
+ \@ifundefined{l@#1}{%
% \end{macrocode}
% \changes{v3.25}{2018/03/16}{Verwendung von \cs{DeclareTOCStyleEntry}}%^^A
% Bis Version 3.24 wurde hier nun wie üblich |\l@#1| unter Verwendung von
@@ -737,23 +756,6 @@
% Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die
% Verzeichniseinträge bietet, verwenden wir die hier nun auch:
% \begin{macrocode}
- \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}%
- \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax
- \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}%
- \@tempa
- \xdef\@tempa{\noexpand\addtotoclist[float]{\@nameuse{ext@\FB@captype}}%
- \noexpand\setuptoc{\@nameuse{ext@\FB@captype}}{chapteratlist}%
- }%
- \@tempa
- }%
- \PackageInfo{scrhack}{redefining \string\listof}%
- \renewcommand*\listof[2]{%
- \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
- \@ifundefined{l@#1}{\expandafter\let\csname l@#1\endcsname\l@figure
- \@ifundefined{l@#1}{%
-% \end{macrocode}
-% Siehe die Anmerkung zur Verwendung von \cs{DeclareTOCStyleEntry} oben.
-% \begin{macrocode}
\DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]
{default}{#1}%
}{}%
@@ -770,19 +772,19 @@
}{%
\PackageWarningNoLine{scrhack}{unkown \string\float@addtolists\space
definition found!\MessageBreak
- Maybe you are using a unsupported floatrow version}%
+ Maybe you are using a unsupported float version}%
}%
}{%
\PackageWarningNoLine{scrhack}{unknown \string\listof\space
definition found!\MessageBreak
- Maybe you are using a unsupported floatrow version}%
+ Maybe you are using a unsupported float version}%
}%
}{%
- \PackageWarningNoLine{scrhack}{unknown \string\DeclareNewFloatType\space
+ \PackageWarningNoLine{scrhack}{unknown \string\newfloat\space
definition found!\MessageBreak
- Maybe you are using a unsupported floatrow version}%
+ Maybe you are using a unsupported float version}%
}
-%</floatrow&body>
+%</float&body>
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx b/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx
index fa5cb5e9a6..9c8358b466 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-basics.dtx
@@ -36,7 +36,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-%%% From File: $Id: scrkernel-basics.dtx 3578 2021-03-12 16:50:00Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 3606 2021-06-08 08:28:35Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -46,7 +46,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2021-03-12 17:50:00 +0100 (Fri, 12 Mar 2021) $
+ \filedate$Date: 2021-06-08 10:28:35 +0200 (Tue, 08 Jun 2021) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\xdef\fileinfo{\filedate\space\filerevision\space}
@@ -880,10 +880,13 @@
% \selectlanguage{english}%
% \changes{v3.33}{2021/03/02}{new version using raw options lists of \LaTeX{}
% 2021/05/01}
+% Note, we use 2021/05/01 instead of the official \LaTeX{} release date,
+% because there were relevant earlier \LaTeX{} developer releases with that
+% date.
% \begin{macrocode}
%<*base>
-\IncludeInRelease{2021/05/01}{\FamilyProcessOptions}{%
- Usage of raw option list}
+\IncludeInRelease{2021/05/01}{\FamilyProcessOptions}%
+ {Usage of raw or classic option list}
\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{%
% \end{macrocode}
% Before processing of the options we have to execute an initialise several
@@ -943,28 +946,40 @@
}%
% \end{macrocode}
% If this is not a class, we first have to process all raw class options.
-% \changes{v3.33}{2021/03/12}{switched to fast test like \LaTeX{} 2021/05/01}
+% \changes{v3.33}{2021/03/12}{switched to fast test like \LaTeX{} 2021/06/01}
+% \changes{v3.34}{2021/05/30}{use \cs{@raw@classoptionslist} only, if defined}
+% Note, if \Package{scrbase} or a depending package is loaded before the class,
+% \cs{@raw@classoptionslist} should not be processed.
% \begin{macrocode}
\ifx\@currext\@clsextension\else
- \@for\CurrentOption:=\@raw@classoptionslist\do{%
- \scr@trim@spaces\CurrentOption
- \ifx\CurrentOption\@empty\else
- \@ifundefined{ds@\CurrentOption}{%
- \scr@ifprocess@curroption{#1}{#2}{%
- \@expandtwoargs\@removeelement{%
- \expandafter\@remove@eq@value\CurrentOption=\@nil}%
- \@unusedoptionlist\@unusedoptionlist
- }{}%
- }{%
- \@use@ption
- \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
- }%
- \fi
+ \@ifundefined{@raw@classoptionslist}{}{%
+ \@for\CurrentOption:=\@raw@classoptionslist\do{%
+ \scr@trim@spaces\CurrentOption
+ \ifx\CurrentOption\@empty\else
+ \@ifundefined{ds@\CurrentOption}{%
+ \scr@ifprocess@curroption{#1}{#2}{%
+ \@expandtwoargs\@removeelement{%
+ \expandafter\@remove@eq@value\CurrentOption=\@nil}%
+ \@unusedoptionlist\@unusedoptionlist
+ }{}%
+ }{%
+ \@use@ption
+ \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
+ }%
+ \fi
+ }%
}%
\fi
% \end{macrocode}
-% Afterwards we have to process the current options.
+% \changes{v3.34}{2021/06/05}{extra test because of \LaTeX{} raw option issue}
+% Afterwards we have to process the current options. Unfortunately there is an
+% issue with the raw option list of the \LaTeX{} kernel, that could result in
+% \cs{CurrentOption} in the option list instead of the one step expansion of
+% \cs{CurrentOption} (see
+% \url{https://sourceforge.net/p/koma-script/tickets/10/}). This would result
+% in an infinite loop using the usual loop:
% \begin{macrocode}
+%<*dontusethis>
\@for\CurrentOption:=\@curroptions\do{%
\scr@trim@spaces\CurrentOption
\@ifundefined{ds@\CurrentOption}{%
@@ -972,6 +987,46 @@
\scr@ifprocess@curroption{#1}{#2}{}\default@ds
}\@use@ption
}%
+%</dontusethis>
+% \end{macrocode}
+% So for a little more rosbustnes we do an extra test.
+% \begin{macrocode}
+ \@for\reserved@a:=\@curroptions\do{%
+ \scr@trim@spaces\reserved@a
+ \def\reserved@b{\CurrentOption}%
+ \ifx\reserved@a\reserved@b
+ \PackageError{scrbase}{%
+ \string\CurrentOption\space loop detected\MessageBreak
+ Perhaps someone uses:\MessageBreak\space\space
+ \ifx\@currext\@clsextension
+ \string\PassOptionsToClass
+ \else
+ \string\PassOptionsToPackage
+ \fi
+ {\string\CurrentOption}{…}.\MessageBreak
+ With LaTeX 2020/10/01 or 2021/06/01 this results in
+ \string\CurrentOption\MessageBreak
+ in the raw option list and therefore is not allowed.\MessageBreak
+ Please ask the class or package author to use:\MessageBreak\space\space
+ \string\expandafter
+ \ifx\@currext\@clsextension
+ \string\PassOptionsToClass
+ \else
+ \string\PassOptionsToPackage
+ \fi
+ \MessageBreak\space\space\space
+ \string\expandafter{\string\CurrentOption}{…}\MessageBreak
+ instead or update LaTeX (if possible)%
+ }%
+ \let\CurrentOption\@empty
+ \else
+ \let\CurrentOption\reserved@a
+ \fi
+ \@ifundefined{ds@\CurrentOption}{%
+ \@use@ption
+ \scr@ifprocess@curroption{#1}{#2}{}\default@ds
+ }\@use@ption
+ }%
% \end{macrocode}
% Clear all the definitions for declared options and the current option. Then
% reset the marker macro, initiate emptying the unprocessed options list of
@@ -991,8 +1046,8 @@
% And here the old version for old \LaTeX{} kernel version:
% \selectlanguage{ngerman}%
% \begin{macrocode}
-\IncludeInRelease{0000/00/00}{\FamilyProcessOptions}{%
- compatibility for LaTeX before 2021/05/01}
+\IncludeInRelease{0000/00/00}{\FamilyProcessOptions}%
+ {Usage of raw or classic option list}
\newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{%
\ifx\AtEndOfFamilyOptions\scr@AtEndOfFamilyOptions
\PackageError{scrbase}{nested \string\FamilyProcessOptions\space
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx b/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx
index 073c7e1e55..69311981ef 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-compatibility.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{226}
+% \CheckSum{227}
% \iffalse meta-comment
% ======================================================================
% scrkernel-compatibility.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-compatibility.dtx 3547 2021-01-01 12:08:50Z kohm $
+%%% From File: $Id: scrkernel-compatibility.dtx 3588 2021-03-22 07:53:57Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<option>%%% (run: option)
@@ -65,7 +65,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2021-01-01 13:08:50 +0100 (Fri, 01 Jan 2021) $
+ \filedate$Date: 2021-03-22 08:53:57 +0100 (Mon, 22 Mar 2021) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\edef\reserved@a{%
@@ -436,6 +436,8 @@
% \changes{v3.32}{2020/08/06}{Neues Macro}
% \begin{macro}{\scr@v@3.33}
% \changes{v3.33}{2021/01/01}{Neues Macro}
+% \begin{macro}{\scr@v@3.34}
+% \changes{v3.34}{2021/03/22}{Neues Macro}
% \begin{macro}{\scr@v@last}
% \changes{v2.9u}{2005/03/05}{Neues Macro}%^^A
% Nun die unterschiedlichen möglichen Werte (|\scr@v@last| ist jeweils die
@@ -518,6 +520,7 @@
\@namedef{scr@v@3.31}{18}
\@namedef{scr@v@3.32}{18}
\@namedef{scr@v@3.33}{18}
+\@namedef{scr@v@3.34}{18}
\@namedef{scr@v@last}{18}
% \end{macrocode}
% \end{macro}
@@ -584,6 +587,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
index b10ee811fc..93d6140d8a 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-floats.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{1693}
% \iffalse meta-comment
% ======================================================================
% scrkernel-floats.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-floats.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-floats.dtx 3394 2019-11-19 11:56:28Z kohm $
+%%% From File: $Id: scrkernel-floats.dtx 3590 2021-03-22 10:30:57Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -63,7 +62,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-19 12:56:28 +0100 (Tue, 19 Nov 2019) $
+ \filedate$Date: 2021-03-22 11:30:57 +0100 (Mon, 22 Mar 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1962 $
\edef\reserved@a{%
@@ -170,23 +169,22 @@
% \end{macro}
% \end{macro}
%
+% \selectlanguage{english}
% \begin{macro}{\ifonelinecaptions}
-% \changes{v2.8q}{2001/11/17}{neuer Schalter}%^^A
-% \changes{v2.98c}{2008/03/03}{Definition erfolgt etwas früher}%^^A
+% \changes{v2.8q}{2001/11/17}{new boolean}
+% \changes{v2.98c}{2008/03/03}{earlier definition}
% \begin{macro}{\onelinecaptionstrue}
% \begin{macro}{\onelinecaptionsfalse}
-% Die Entscheidung, ob die Sonderbehandlung für einzeilige caption-Texte
-% durchgeführt werden soll, wird in einem Schalter gespeichert. In der
-% Hoffnung, beim Laden von \textsf{caption2} Speicher zu sparen, wird
-% der gleiche Name verwendet, den auch \textsf{caption2}
-% verwendet. Trotzdem sollte man diesen Schalter als internen Schalter
-% betrachten.
+% The boolean is used to distinguish whether or not use a special handling of
+% captions with one text line only. The name of the boolean is traditionally
+% but nevertheless should seen as internal.
% \begin{macrocode}
\newif\ifonelinecaptions\onelinecaptionstrue
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \selectlanguage{ngerman}
%
% \begin{macro}{\scap@pos}
% \changes{v2.8q}{2001/11/22}{neu (intern)}%^^A
@@ -378,18 +376,16 @@
% \end{option}
% \end{option}
%
+% \selectlanguage{english}
% \begin{option}{origlongtable}
-% \changes{v2.8l}{2001/08/16}{neue Option}%^^A
-% Wenn das \textsf{longtable}-Paket geladen ist, werden die
-% Tabellentitel dafür normalerweise von den Klassen umdefiniert. Dies
-% geschieht automatisch nicht, wenn das \textsf{caption2}-Paket
-% geladen ist. Es geschieht ausserdem nicht, wenn diese Option gesetzt
-% ist.
+% \changes{v2.8l}{2001/08/16}{new option}
+% If package \textsf{longtable} is loaded, the classes redefine table titles
+% of that package. However, if the option has been set, this is prevented.
% \begin{macro}{\if@komalongtable}
-% \changes{v2.8l}{2001/08/16}{neue Option}%^^A
+% \changes{v2.8l}{2001/08/16}{new boolean}
% \begin{macro}{\@komalongtabletrue}
% \begin{macro}{\@komalongtablefalse}
-% Die Einstellung wird in einem Schalter gespeichert.
+% The wanted behaviour is stored in a boolean.
% \begin{macrocode}
\newif\if@komalongtable\@komalongtabletrue
\DeclareOption{origlongtable}{\@komalongtablefalse}
@@ -400,30 +396,22 @@
% \end{option}
%
% \begin{option}{onelinecaption}
-% \changes{v2.8q}{2001/11/17}{neue Option}%^^A
+% \changes{v2.8q}{2001/11/17}{new option}
% \changes{v2.98c}{2008/03/03}{obsolete}
-% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}%^^A
-% mehr}
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
+% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed}
+% \changes{v3.01a}{2008/11/20}{deprecated}
% \begin{option}{noonelinecaption}
-% \changes{v2.8q}{2001/11/17}{neue Option}%^^A
+% \changes{v2.8q}{2001/11/17}{new option}
% \changes{v2.98c}{2008/03/03}{obsolete}
-% \changes{v2.98c}{2008/03/03}{keine Sonderbehandlung für \textsf{caption2}%^^A
-% mehr}
+% \changes{v2.98c}{2008/03/03}{extra code for \textsf{caption2} removed}
% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% Da für diese Option nicht der gleiche Name verwendet wird, wie bei
-% \textsf{caption2}, wurde von den Optionen bis Version~2.98b nicht nur der
-% Schalter entsprechend gesetzt, sondern auch die korrespondierende Option an
-% \textsf{caption2} weitergeleitet. Der gleiche Name konnte schlecht
-% verwendet werden, weil er bei einer Klasse auch nicht ansatzweise
-% als selbsterklärend bezeichnet werden kann. Ab Version~2.98c entfällt die
-% Sonderbehandlung von \textsf{caption2}.
% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{onelinecaption}{captions=oneline}
\KOMA@DeclareDeprecatedOption{noonelinecaption}{captions=nooneline}
% \end{macrocode}
% \end{option}
% \end{option}
+% \selectlanguage{ngerman}
%
%
% \iffalse
@@ -829,13 +817,13 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\setcapindent}
-% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}%^^A
+% \changes{v2.8j}{2001/07/30}{\cs{if@capbreak} wird verwendet}
% \changes{v2.8l}{2001/08/17}{\cs{edef}\cs{cap@indent} statt
-% \cs{def}\cs{cap@indent}}%^^A
+% \cs{def}\cs{cap@indent}}
% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \textsf{caption2} umdefiniert}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \textsf{caption2} umdefiniert}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt}
+% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
% Dann wird weiter ein Befehl benötigt, mit dem der Benutzer die
% Weite des Einzugs selbst einstellen kann. Da intern für die Weite
% ein Makro verwendet werden soll, findet hier sicherheitshalber eine
@@ -866,58 +854,34 @@
\edef\cap@indent{\the\@tempdima}%
\dofullc@pfalse\@capbreaktrue
}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcapindent}{%
- \ClassWarning{\KOMAClassName}{%
- You're using package `caption2'.\MessageBreak
- Because of this you should also use `\string\captionstyle'
- and\MessageBreak
- set length '\string\captionindent' instead of
- using\MessageBreak
- `\string\setcapindent'%
- }%
- \captionstyle{indent}%
- \kernel@ifstar{\setlength{\captionindent}}{\setlength{\captionindent}}%
- }%
-}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \begin{macro}{\setcaphanging}
% \changes{v2.8q}{2001/11/17}{wird nach dem Laden von
-% \textsf{caption2} umdefiniert}
+% \textsf{caption2} umdefiniert}
+% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
% Andererseits soll es auch möglich sein, nachträglich wieder den
% automatischen Einzug einzuschalten. Dafür gibt es ein weiteres
% Makro.
% \begin{macrocode}
\newcommand*{\setcaphanging}{\dofullc@ptrue\@capbreakfalse}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcaphanging}{%
- \ClassWarning{\KOMAClassName}{%
- You're using package `caption2'.\MessageBreak
- Because of this you should also use
- `\string\captionstyle'\MessageBreak
- instead of `\string\setcaphang'%
- }
- \captionstyle{hang}%
- }%
-}
% \end{macrocode}
% \end{macro}
%
% Nun aber zur neuen Definition der Titel. Zunächst geht alles wie
% gehabt.
% \changes{v2.5g}{1999/10/09}{\cs{@makecaption} per \cs{newcommand}
-% definiert statt mit \cs{long}\cs{def}}
+% definiert statt mit \cs{long}\cs{def}}
% \changes{v2.8h}{2001/07/19}{Unterscheidung zwischen Über- und
-% Unterschriften}%^^A
+% Unterschriften}%^^A
% \changes{v2.8j}{2001/07/30}{\cs{@makecaption} verwendet
-% \cs{@@makecaption}}
+% \cs{@@makecaption}}
% \changes{v2.8q}{2001/11/17}{die Sonderbehandlung für einzeilige
-% \emph{caption}s ist abschaltbar}
+% \emph{caption}s ist abschaltbar}
% \changes{v2.8q}{2001/11/17}{Titel können in ihrer Breite
-% beschränkt werden}%^^A
+% beschränkt werden}%^^A
% \begin{macrocode}
\newcommand{\@makecaption}[2]{%
\if@captionabove
@@ -956,12 +920,12 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\setcapwidth}
-% \changes{v2.8q}{2001/11/17}{neu}%^^A
-% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt
-% \cs{if@thispageodd}}
-% \changes{v2.97}{2007/02/27}{Mindestbreite für captions ist 0\,pt}%^^A
+% \changes{v2.8q}{2001/11/17}{neu}
+% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt \cs{if@thispageodd}}
+% \changes{v2.97}{2007/02/27}{Mindestbreite für captions ist 0\,pt}
% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd}
-% ersetzt}%^^A
+% ersetzt}
+% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
% Hier wird \cs{cap@width} gesetzt. Dabei werden optional auch
% \cs{cap@left} und \cs{cap@right} angepasst.
% \begin{macrocode}
@@ -1032,22 +996,6 @@
\fi\fi\fi\fi\fi
}
% \end{macrocode}
-% Falls \textsf{caption2} geladen wird, ändert sich die Funktion. Das
-% optionale Argument wird dann ignorriert.
-% \begin{macrocode}
-\AfterPackage{caption2}{%
- \renewcommand*{\setcapwidth}[2][]{%
- \ClassWarning{\KOMAClassName}{%
- Ignorring optional argument of `\string\setcapwidth'!\MessageBreak
- You're using package `caption2'.\MessageBreak
- Because of this you should also use
- `\string\setcaptionwidth'\MessageBreak
- instead of `\string\setcapwidth'%
- }%
- \setcaptionwidth{#2}%
- }%
-}%
-% \end{macrocode}
% \end{macro}%^^A \setcapwidth
% \begin{macro}{\setcapdynwidth}
% \changes{v3.20}{2016/03/31}{neu}
@@ -1166,15 +1114,15 @@
% \end{macrocode}
% \end{macro}
% \begin{macro}{\setcapmargin}
-% \changes{v2.8q}{2001/11/17}{neu}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
+% \changes{v2.8q}{2001/11/17}{neu}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar} ersetzt}
% \begin{macro}{\@setcapmargin}
-% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
+% \changes{v2.8q}{2001/11/17}{neu (intern)}
% \changes{v2.9a}{2002/06/27}{\cs{ifthispageodd} statt
% \cs{if@thispageodd}}
% \changes{v3.28}{2019/11/19}{\cs{ifthispageodd} durch \cs{Ifthispageodd}
-% ersetzt}%^^A
+% ersetzt}
+% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
% \begin{macro}{\@@setcapmargin}
% \changes{v2.8q}{2001/11/17}{neu (intern)}%^^A
% Statt die Breite der \emph{caption} zu setzen, können auch die
@@ -1227,26 +1175,6 @@
}%
}
% \end{macrocode}
-% Wenn \textsf{caption2} geladen ist, ändert sich die Bedeutung.
-% \begin{macrocode}
-\AfterPackage{caption2}{%
- \renewcommand*{\@setcapmargin}[2][\@tempdimb]{%
- \setlength{\@tempdimb}{#2}%
- \setlength{\@tempdima}{#1}%
- \ifdim\@tempdima\@tempdimb\else
- \ClassWarning{\KOMAClassName}{%
- Can set only centered caption!\MessageBreak
- You're using package `caption2'.\MessageBreak
- Because of this you should also use
- `\string\setcaptionmargin'\MessageBreak
- instead of `\string\setcapmargin'%
- }%
- \fi
- \addtolength{\@tempdimb}{\@tempdimb}%
- \setcaptionmargin{.5\@tempdimb}}%
- \let\@@setcapmargin=\@setcapmargin
-}
-% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -1315,7 +1243,16 @@
\unexpanded\expandafter{\@xcentercr}%
}%
\settowidth{\@tempdima}{\scr@@makesinglelinecaption{#1}{#2}{#3}}%
- \ifdim\@tempdima>\linewidth
+% \end{macrocode}
+% \selectlanguage{english}
+% \changes{v3.34}{2021/03/22}{fix of maximum line width of single line
+% captions}
+% Until \KOMAScript~3.34 the test here was wrong, because it used
+% \cs{linewidth}, which is still the whole line width not the maximum caption
+% width. From \KOMAScript~3.34 \cs{cap@width} is used.
+% \selectlanguage{ngerman}
+% \begin{macrocode}
+ \ifdim\@tempdima>\cap@width
\aftergroup\scr@makemultilinecaption
\else
\aftergroup\scr@makesinglelinecaption
@@ -1650,29 +1587,26 @@
% \end{macro}%^^A \caption
%
% \begin{macro}{\LT@makecaption}
-% \changes{v2.8j}{2001/07/30}{neu (intern)}%^^A
+% \changes{v2.8j}{2001/07/30}{neu (intern)}
% \changes{v2.8k}{2001/08/15}{keine Umdefinierung, wenn das
-% \textsf{caption2}-Paket erkannt oder die Option
-% \texttt{origlongtable} gesetzt wurde}
+% \textsf{caption2}-Paket erkannt oder die Option
+% \texttt{origlongtable} gesetzt wurde}
% \changes{v2.8q}{2001/11/18}{Breite und Anordnung wird über
-% \KOMAScript-Makros bestimmt}%^^A
+% \KOMAScript-Makros bestimmt}
% \changes{v2.8q}{2001/11/18}{Verwendung von \cs{AfterPackage}}
% \changes{v2.9s}{2004/08/24}{vertikale Abstände durch verschieben von
-% \cs{vskip} korrigiert}
+% \cs{vskip} korrigiert}
% \begin{macro}{\LT@array}
-% \changes{v2.8q}{2001/11/18}{neu (intern)}%^^A
+% \changes{v2.8q}{2001/11/18}{neu (intern)}
% \begin{macro}{\LT@caption}
-% \changes{v2.8q}{2001/11/18}{neu (intern)}%^^A
+% \changes{v2.8q}{2001/11/18}{neu (intern)}
% \begin{macro}{\scr@caption@before@longtable@warning}
-% \changes{v2.98c}{2008/03/03}{neu (intern)}%^^A
+% \changes{v2.98c}{2008/03/03}{neu (intern)}
+% \changes{v3.34}{2021/03/22}{Sonderbehandlung für \textsf{caption2} entfernt}
% Ab Version 2.8j wird auf vielfachen Wunsch das
% \textsf{longtable}-Paket berücksichtigt. Da Pakete aber nach
% Klassen geladen werden, kann dies erst nach dem Laden des Pakets
-% aktiviert werden. Die Definition entspricht der obigen. Wird das
-% \textsf{caption2}-Paket nach \textsf{longtable} geladen, so wird
-% automatisch die Definition von \textsf{caption2} verwendet. Wird
-% \textsf{caption2} vor \textsf{longtable} geladen, so liegt
-% voraussichtlich eine Fehlbedienung vor, auf die hingewiesen wird.
+% aktiviert werden. Die Definition entspricht der obigen.
% \begin{macrocode}
\newcommand*{\scr@caption@before@longtable@warning}[1]{%
\ClassWarning{\KOMAClassName}{%
@@ -1688,9 +1622,6 @@
}%
}
\AfterPackage{longtable}{%
- \@ifpackageloaded{caption2}{\@komalongtablefalse
- \scr@caption@before@longtable@warning{caption2}%
- }{}%
\if@komalongtable
\renewcommand{\LT@makecaption}[3]{%
\noalign{%
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx b/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx
index 198896bec2..2e703b4a8a 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-fonts.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{3406}
% \iffalse meta-comment
% ======================================================================
% scrkernel-fonts.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-fonts.dtx
-% Copyright (c) Markus Kohm, 2002-2019
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-fonts.dtx 3390 2019-11-18 17:09:35Z kohm $
+%%% From File: $Id: scrkernel-fonts.dtx 3597 2021-05-17 12:54:47Z kohm $
%<identify>%%% (run: identify)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -66,7 +65,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2019-11-18 18:09:35 +0100 (Mon, 18 Nov 2019) $
+ \filedate$Date: 2021-05-17 14:54:47 +0200 (Mon, 17 May 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1827 $
\edef\reserved@a{%
@@ -1946,46 +1945,49 @@
% \end{macrocode}
% \end{macro}
%
+% \selectlanguage{english}
% \begin{macro}{\usesizeofkomafont}
-% \changes{v3.12}{2013/03/30}{neu}%^^A
-% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A
+% \changes{v3.12}{2013/03/30}{new}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
+% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel
+% change}
% \begin{macro}{\usefamilyofkomafont}
-% \changes{v3.12}{2013/03/30}{neu}%^^A
-% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
+% \changes{v3.12}{2013/03/30}{new}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
% \begin{macro}{\useseriesofkomafont}
-% \changes{v3.12}{2013/03/30}{neu}%^^A
-% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
+% \changes{v3.12}{2013/03/30}{new}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
% \begin{macro}{\useshapeofkomafont}
-% \changes{v3.12}{2013/03/30}{neu}%^^A
-% \changes{v3.16a}{2015/02/20}{Makroname korrigiert}%^^A
-% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
+% \changes{v3.12}{2013/03/30}{new}
+% \changes{v3.16a}{2015/02/20}{fix of macro name}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
% \begin{macro}{\useencodingofkomafont}
-% \changes{v3.12}{2013/03/30}{neu}%^^A
-% \changes{v3.17}{2015/04/03}{basiert auf robusterer Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{basiert auf robusterer Neuimplementierung}%^^A
+% \changes{v3.12}{2013/03/30}{new}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
% \begin{macro}{\usefontofkomafont}
-% \changes{v3.12}{2013/03/30}{neu}%^^A
-% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A
-% Manchmal wollen die Leute tatsächlich gar nicht den kompletten Font eines
-% Elements, sondern nur einen Teilaspekt davon. Aber Version~3.12 wird das mit
-% Hilfe neuer Anweisungen unterstützt.
+% \changes{v3.12}{2013/03/30}{new}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
+% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel
+% change}
+% Sometimes not the whole font but only single elements of a font is
+% wanted.
% \begin{macrocode}
\newcommand*{\usesizeofkomafont}[1]{%
\begingroup
\scr@prepareforkomafont
- \def\selectfont{%
- \global\let\g@scr@f@size\f@size
- \global\let\g@scr@f@baselineskip\f@baselineskip
- \global\let\g@scr@f@linespread\f@linespread
- }%
- \selectfont
\sbox\@tempboxa{%
- \usekomafont{#1}{\relax}%
+ \usekomafont{#1}{%
+ \selectfont
+ \global\let\g@scr@f@size\f@size
+ \global\let\g@scr@f@baselineskip\f@baselineskip
+ \global\let\g@scr@f@linespread\f@linespread
+ }%
}%
\endgroup
\linespread{\g@scr@f@linespread}%
@@ -1999,47 +2001,48 @@
\newcommand*{\usefontofkomafont}[1]{%
\begingroup
\scr@prepareforkomafont
- \def\selectfont{%
- \global\let\g@scr@f@encoding\f@encoding
- \global\let\g@scr@f@family\f@family
- \global\let\g@scr@f@series\f@series
- \global\let\g@scr@f@shape\f@shape
- \global\let\g@scr@f@size\f@size
- \global\let\g@scr@f@baselineskip\f@baselineskip
- \global\let\g@scr@f@linespread\f@linespread
- }%
- \selectfont
\sbox\@tempboxa{%
- \usekomafont{#1}{\relax}%
+ \usekomafont{#1}{%
+ \selectfont
+ \global\let\g@scr@f@encoding\f@encoding
+ \global\let\g@scr@f@family\f@family
+ \global\let\g@scr@f@series\f@series
+ \global\let\g@scr@f@shape\f@shape
+ \global\let\g@scr@f@size\f@size
+ \global\let\g@scr@f@baselineskip\f@baselineskip
+ \global\let\g@scr@f@linespread\f@linespread
+ }%
}%
\endgroup
\linespread{\g@scr@f@linespread}%
\fontsize{\g@scr@f@size}{\g@scr@f@baselineskip}%
\usefont{\g@scr@f@encoding}{\g@scr@f@family}{\g@scr@f@series}{\g@scr@f@shape}%
-}
+}%
% \end{macrocode}
% \begin{macro}{\use@ofkomafont}
-% \changes{v3.12}{2013/03/30}{neu (intern)}%^^A
-% \changes{v3.17}{2015/04/03}{robustere Neuimplementierung}%^^A
-% \changes{v3.24}{2017/05/06}{robustere Neuimplementierung}%^^A
-% Kleines Hilfsmakro für all diese Anweisungen bis auf die erste und die letzte.
+% \changes{v3.12}{2013/03/30}{new (internal)}
+% \changes{v3.17}{2015/04/03}{new more robust implementation}
+% \changes{v3.24}{2017/05/06}{new more robust implementation}
+% \changes{v3.34}{2021/05/17}{new implementation due to \LaTeX{} kernel
+% change}
+% Helper macro for all commands above despite the first and the last one.
% \begin{macrocode}
\newcommand*{\use@ofkomafont}[2]{%
\begingroup
\scr@prepareforkomafont
- \def\selectfont{%
- \global\expandafter\let\csname g@scr@f@#1\expandafter\endcsname
- \csname f@#1\endcsname
- }%
- \selectfont
\sbox\@tempboxa{%
- \usekomafont{#2}{\relax}%
+ \usekomafont{#2}{%
+ \selectfont
+ \global\expandafter\let\csname g@scr@f@#1\expandafter\endcsname
+ \csname f@#1\endcsname
+ }%
}%
\endgroup
\@nameuse{font#1}{\csname g@scr@f@#1\endcsname}%
\selectfont
}
% \end{macrocode}
+% \selectlanguage{ngerman}
% \begin{macro}{\g@scr@usefont}
% \changes{v3.17}{2015/04/03}{neu (intern)}%^^A
% \changes{v3.24}{2017/05/06}{entfernt}%^^A
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx b/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx
index eab08b90ca..10282eecd2 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-paragraphs.dtx
@@ -54,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-paragraphs.dtx 3552 2021-01-21 09:52:21Z kohm $
+%%% From File: $Id: scrkernel-paragraphs.dtx 3596 2021-05-17 12:53:41Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
@@ -62,7 +62,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2021-01-21 10:52:21 +0100 (Thu, 21 Jan 2021) $
+ \filedate$Date: 2021-05-17 14:53:41 +0200 (Mon, 17 May 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
\filerevision$Revision: 1872 $
\edef\reserved@a{%
@@ -463,11 +463,15 @@
% \end{Length}
% \end{Length}
%
+% \selectlanguage{english}
% \begin{macro}{\selectfont}
-% \changes{v3.33}{2021/01/21}{from \LaTeX{} 2021/01/05 use hook instead of
+% \changes{v3.33}{2021/01/21}{from \LaTeX{} 2021/06/01 use hook instead of
% patch}
+% Note, we use 2021/05/01 instead of the official \LaTeX{} release date,
+% because there were relevant earlier \LaTeX{} developer releases with that
+% date.
% \begin{macrocode}
-\IfLTXAtLeastTF{2021/01/05}{%
+\IfLTXAtLeastTF{2021/05/01}{%
\AddToHook{selectfont}{\par@update}%
\AfterPackage{everysel}{%
\IfPackageAtLeastTF{everysel}{2021/01/18}{}{%
@@ -476,7 +480,7 @@
}{%
You are using an old version of `everysel' in combination with a
LaTeX\MessageBreak
- version >= 2021/01/05 and KOMA-Script >= 3.33. This combination
+ version >= 2021/06/01 and KOMA-Script >= 3.33. This combination
is\MessageBreak
not supported.\MessageBreak
You could switch back to an older LaTeX using package
@@ -500,6 +504,7 @@
}%
}{%
% \end{macrocode}
+% \selectlanguage{ngerman}
% \changes{v2.95}{2004/11/05}{neue Änderung}
% Spätestens ab Version~3.0 soll die Möglichkeit bestehen, |\parskip|,
% |\parindent| und |\parfillskip| mit der Schriftgröße automatisch
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx b/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx
index 5476cb045e..61fb004f67 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-sections.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
% ======================================================================
% scrkernel-sections.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-sections.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -54,7 +54,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-sections.dtx 3567 2021-02-17 10:01:38Z kohm $
+%%% From File: $Id: scrkernel-sections.dtx 3594 2021-04-30 08:45:15Z kohm $
% The runs of run-time file generation:
%<preidentify>%%% (run: preidentify)
% - everything that is needed before selfidentification of resulting files
@@ -77,9 +77,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2021-02-17 11:01:38 +0100 (Wed, 17 Feb 2021) $
+ \filedate$Date: 2021-04-30 10:45:15 +0200 (Fri, 30 Apr 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3567 $
+ \filerevision$Revision: 3594 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-sections.dtx}%
@@ -3677,30 +3677,30 @@
% \end{macro}
%
%
-% \subsection{Anhang}
+% \selectlanguage{english}
+% \subsection{Appendix}
%
-% Teile gibt es tatsächlich bei allen drei Hauptklassen.
+% The classes (except \textsf{scrlttr2}) does provide an appendix switch,
+% similar but not identical to the standard classes.
%
% \begin{macro}{\appendix}
-% Wird der Anhang aktiviert, so werden Kapitel bzw. Abschnitte zukünftig mit
-% Buchstaben nummeriert.
-% \changes{v2.2d}{1995/05/28}{\textsf{scrartcl} benötigt keinen Zähler für
-% \cs{chapter}}%^^A
-% \changes{v2.3c}{1995/08/06}{alternative Nummerierung bei Verwendung eines
-% Anhangs}%^^A
-% \changes{v2.8}{2001/06/15}{\cs{appendixmore} wird beachtet}%^^A
-% \changes{v2.8e}{2001/07/10}{\cs{@altsecnumformattrue} wird nicht länger
-% ausgeführt}%^^A
-% \changes{v2.8o}{2001/09/19}{\cs{par} eingefügt}%^^A
-% \changes{v2.95}{2006/07/04}{\cs{newcommand*} durch \cs{gdef} ersetzt}%^^A
-% \changes{v2.95}{2006/07/04}{Ausführung von \cs{appendixmore}%^^A
-% vereinfacht}%^^A
-% \changes{v3.20}{2016/12/05}{neue eindeutige Warnung}
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
+% Activation of the appendix switch over to numbering of chapters
+% resp. sections with uppercase letters.
+% \changes{v2.2d}{1995/05/28}{\textsf{scrartcl} doesn't have a chapter
+% counter}
+% \changes{v2.3c}{1995/08/06}{alternative section numbering in appendix}
+% \changes{v2.8}{2001/06/15}{new \cs{appendixmore}}
+% \changes{v2.8e}{2001/07/10}{\cs{@altsecnumformattrue} removed}
+% \changes{v2.8o}{2001/09/19}{initial \cs{par} added}
+% \changes{v2.95}{2006/07/04}{\cs{newcommand*} replaced by \cs{gdef}}
+% \changes{v2.95}{2006/07/04}{simplified usage of \cs{appendixmore}}
+% \changes{v3.20}{2016/12/05}{improved warning}
+% \changes{v3.28}{2019/11/18}{\cs{ifstr} renamed to \cs{Ifstr}}
+% \changes{v3.34}{2021/04/30}{\LaTeX{} hook added}
% \begin{macro}{\appendixmore}
-% \cs{appendixmore} kann als \emph{hook} verwendet werden. Derzeit wird dieser
-% allerdings noch recht stiefmütterlich behandelt und lediglich von Option
-% \texttt{appendixprefix} definiert.
+% \changes{v2.8}{2001/06/15}{new}
+% \cs{appendixmore} is deprecated with \LaTeX{} 2020/10/01 (or newer) but
+% still executed as a kind of hook.
% \begin{macrocode}
%<*class>
%<*body>
@@ -3723,7 +3723,7 @@
`\string\appendix'%
}%
}{}%
- \par%
+ \par
%<*article>
\setcounter{section}{0}%
\setcounter{subsection}{0}%
@@ -3735,15 +3735,22 @@
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@Alph\c@chapter}%
%</report|book>
- \csname appendixmore\endcsname
}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \g@addto@macro{\appendix}{\UseOneTimeHook{\KOMAClassName/appendix}}%
+}{}
+\g@addto@macro{\appendix}{\csname appendixmore\endcsname}
%</body>
+%<*prepare>
+\IfLTXAtLeastTF{2020/10/01}{\NewHook{\KOMAClassName/appendix}}{}
+%</prepare>
%</class>
% \end{macrocode}
% \end{macro}
% \end{macro}
%
%
+% \selectlanguage{ngerman}
% \subsection{Teile}
%
% \changes{v2.8e}{2001/07/10}{\cs{@thepart} entfernt}
@@ -4596,53 +4603,93 @@
% \end{option}
% \end{option}
%
+% \selectlanguage{english}
% \begin{option}{appendixprefix}
-% \changes{v2.8}{2001/06/15}{neue Option}%^^A
-% \changes{v2.95c}{2006/08/21}{als \textsf{keyval}-Option}%^^A
-% \changes{v3.12}{2013/03/05}{Verwendung der Status-Signalisierung mit
-% \cs{FamilyKeyState}}%^^A
-% \changes{v3.17}{2015/03/09}{interne Speicherung des Wert}%^^A
-% \begin{option}{noappendixprefix}
-% \changes{v2.8}{2001/06/15}{neue Option}%^^A
-% \changes{v2.95c}{2006/08/21}{obsolete Option}%^^A
-% \changes{v3.01a}{2008/11/20}{deprecated}%^^A
-% Will man abweichend von der Option \texttt{chapterprefix} die großen
-% Überschriften für den Anhang aktivieren oder deaktivieren, so kann man das
-% mit dieser Option erreichen. Allerdings setzt diese keinen Schalter, sondern
-% ein Zusatzmakro, das auch für andere Zwecke genutzt werden kann. Übrigens
-% ist keine der beiden Einstellungen die Voreinstellung!
+% \changes{v2.8}{2001/06/15}{new option}
+% \changes{v2.95c}{2006/08/21}{re-implementation as \textsf{keyval} option}
+% \changes{v3.12}{2013/03/05}{usage of \cs{FamilyKeyState}}
+% \changes{v3.17}{2015/03/09}{internal value storage}
+% \changes{v3.34}{2021/04/30}{usage of \LaTeX{} hook, if available}
+% \changes{v3.34}{2021/04/30}{new value \texttt{default} with \LaTeX{} hooks}
+% If the appendix chapters should be with or without prefix line independent
+% from the chapters of the main part, option \Option{appendixprefix} can be
+% used. This does not set up a new boolean but just activates or deactivates
+% the boolean for chapters inside \cs{appendix}. From \KOMAScript{} v3.34 and
+% \LaTeX{} 2020/10/01 this is done using a new \LaTeX{} hook. Otherwise still
+% \cs{appendixmore} is used. Default is, using the settings for chapters.
% \begin{macrocode}
%<*option>
-\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}%
- \if@tempswa
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}%
- \@ifundefined{appendixmore}{%
- \def\appendixmore{\@chapterprefixtrue}%
- }{%
- \l@addto@macro\appendixmore{\@chapterprefixtrue}%
- }%
- \else
- \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}%
- \@ifundefined{appendixmore}{%
- \def\appendixmore{\@chapterprefixfalse}%
- }{%
- \l@addto@macro\appendixmore{\@chapterprefixfalse}%
+\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}%
+ \IfHookEmptyTF{\KOMAClassName/appendix}{}{%
+ \RemoveFromHook{\KOMAClassName/appendix}[appendixprefix]%
}%
+ \FamilyKeyStateProcessed
+ }{%
+ \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}%
+ \IfHookEmptyTF{\KOMAClassName/appendix}{}{%
+ \RemoveFromHook{\KOMAClassName/appendix}[appendixprefix]%
+ }%
+ \if@tempswa
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}%
+ \AddToHook{\KOMAClassName/appendix}[appendixprefix]%
+ {\@chapterprefixtrue}%
+ \else
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \AddToHook{\KOMAClassName/appendix}[appendixprefix]%
+ {\@chapterprefixfalse}%
+ \fi
+ \fi
+ }%
+ }%
+}{%
+ \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}%
+ \if@tempswa
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{twolineappendix}%
+ \@ifundefined{appendixmore}{%
+ \def\appendixmore{\@chapterprefixtrue}%
+ }{%
+ \l@addto@macro\appendixmore{\@chapterprefixtrue}%
+ }%
+ \else
+ \KOMA@kav@add{.\KOMAClassFileName}{headings}{onelineappendix}%
+ \@ifundefined{appendixmore}{%
+ \def\appendixmore{\@chapterprefixfalse}%
+ }{%
+ \l@addto@macro\appendixmore{\@chapterprefixfalse}%
+ }%
+ \fi
\fi
- \fi
+ }%
}
+% \end{macrocode}
+% \end{option}%^^A appendixprefix
+%
+% \begin{option}{noappendixprefix}
+% \changes{v2.8}{2001/06/15}{new option}
+% \changes{v2.95c}{2006/08/21}{obsolete option}
+% \changes{v3.01a}{2008/11/20}{deprecated}
+% \begin{macrocode}
\KOMA@DeclareDeprecatedOption{noappendixprefix}{appendixprefix=false}
%</option>
% \end{macrocode}
% \end{option}%^^A noappendixprefix
-% \end{option}%^^A appendixprefix
%
%
+% \selectlanguage{ngerman}
% \begin{macro}{\size@chapter}
% \changes{v2.8o}{2001/09/14}{neu (intern)}%^^A
% \changes{v2.96a}{2006/12/02}{letztes Element darf ein Argument erwarten,
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
index 6bf55b7795..2f09f4d083 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-version.dtx
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-version.dtx 3586 2021-03-17 13:57:48Z kohm $
+%%% From File: $Id: scrkernel-version.dtx 3609 2021-06-25 08:18:08Z kohm $
% \fi
%
% \iffalse
@@ -123,7 +123,7 @@
\fi
%</ignorethis>
\fi
- \@CheckKOMAScriptVersion{2021/03/17 v3.33 KOMA-Script}%
+ \@CheckKOMAScriptVersion{2021/06/25 v3.34 KOMA-Script}%
\endgroup
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx b/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx
index d0c33a8c92..e169ac4772 100644
--- a/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlayer-notecolumn.dtx
@@ -1,7 +1,7 @@
% \iffalse^^A meta-comment
% ======================================================================
% scrlayer-notecolumn.dtx
-% Copyright (c) Markus Kohm, 2013-2020
+% Copyright (c) Markus Kohm, 2013-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlayer-notecolumn.dtx
-% Copyright (c) Markus Kohm, 2013-2020
+% Copyright (c) Markus Kohm, 2013-2021
%
% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung.
%
@@ -38,7 +38,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-%%% From File: $Id: scrlayer-notecolumn.dtx 3533 2020-09-11 13:32:10Z kohm $
+%%% From File: $Id: scrlayer-notecolumn.dtx 3601 2021-05-30 19:11:44Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -48,9 +48,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-11 15:32:10 +0200 (Fri, 11 Sep 2020) $
+ \filedate$Date: 2021-05-30 21:11:44 +0200 (Sun, 30 May 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{v0.3.#2}}
- \filerevision$Revision: 3533 $
+ \filerevision$Revision: 3601 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlayer-notecolumn.dtx}%
@@ -211,8 +211,8 @@
%
% Here we test the used pdf\TeX{} primitives.
% \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfsavepos} and
-% \cs{pdflastypos} in luaTeX}%^^A
-% \changes{v0.1.2483}{2016/06/28}{grouping fixed}%^^A
+% \cs{pdflastypos} in luaTeX}
+% \changes{v0.1.2483}{2016/06/28}{grouping fixed}
% \begin{macrocode}
\@tempswatrue
\scr@ifundefinedorrelax{pdfsavepos}{%
@@ -292,7 +292,7 @@
% text width. So we can use a macro too. Both will be initialised to the
% normal marginal note column later.
% \changes{3.27}{2019/02/14}{initialization of one colour stack per note
-% column}%^^A
+% column}
% For colour support we also need one colour stack per note column. A colour
% stack is a feature only available for pdf\TeX{} and lua\TeX{}.
% \begin{macrocode}
@@ -363,7 +363,7 @@
}
% \end{macrocode}
% \begin{macro}{\slnc@initial@black}
-% \changes{v0.2.3085}{2019/02/14}{new internal}%^^A
+% \changes{v0.2.3085}{2019/02/14}{new internal}
% The initial black is the colour used to initialize the colour stacks. As long
% as only pdf\TeX{} and lua\TeX{} provide colour stacks, we can initialize it
% with \texttt{0 g 0 G}. However it may be better to use the initial
@@ -642,11 +642,11 @@
%
% \begin{macro}{\tf@slnc}
% \changes{v0.1.2395}{2016/03/25}{write to \texttt{aux}-file with
-% \cs{if@filesw}}%^^A
+% \cs{if@filesw}}
% \begin{macro}{\slnc@initwrite}
% \begin{macro}{\slnc@openwrite}
% \changes{v0.1.2928}{2018/02/02}{use \cs{closein} instead of \cs{closeout}
-% to close \cs{slnc@file}}%^^A
+% to close \cs{slnc@file}}
% First of all we need a file to write the notes to. We use the
% \File{aux}-file to write into the file, because we need to read the file
% while the document will be typeset and the same time we need to write into
@@ -678,9 +678,9 @@
% calculate the md5 checksum of the \File{slnc}-file. If it has been changed
% we set |\if@tempswa| to |\iftrue| to provocate a rerun message.
% \changes{v0.1.2872}{2018/01/17}{usage of Lua function
-% \texttt{slncmdfivesum}}%^^A
+% \texttt{slncmdfivesum}}
% \changes{v0.1.2972}{2018/04/01}{usage of not yet documented Xe\TeX{}
-% primitive \cs{mdfivesum}}%^^A
+% primitive \cs{mdfivesum}}
% \begin{macrocode}
\AfterReadingMainAux{%
\immediate\closeout\tf@slnc
@@ -688,7 +688,7 @@
\scr@ifundefinedorrelax{pdfmdfivesum}{%
\scr@ifundefinedorrelax{mdfivesum}{%
\ifdefined\directlua
- \edef\reserved@a{\directlua{slncmdfivesum("\jobname.slnc")}}%
+ \edef\reserved@a{\directlua{slnc.mdfivesum(slnc.slncfile)}}%
\else
\let\reserved@a\relax
\fi
@@ -732,6 +732,18 @@
}
%</body>
% \end{macrocode}
+% \changes{v0.3.3600}{2021/05/30}{use of \textsf{scrwfile}'s never list}%
+% The easiest way to make it compatible with \Package{scrwfile} is to put it
+% on the \emph{never} list.
+% \begin{macrocode}
+%<*body>
+\AfterPackage*{scrwfile}{%
+ \@ifundefined{scrwfile@never}{\def}{\g@addto@macro}%
+ \scrwfile@never{slnc}%
+}
+%</body>
+% \end{macrocode}
+%
% \end{macro}%^^A \slnc@openwrite
% \end{macro}%^^A \slnc@initwrite
% \end{macro}%^^A \tf@slnc
@@ -749,9 +761,9 @@
% There is a star variant with the same parameters, that writes the
% \meta{code} un-expanded. To do so, we need some internal commands.
% \begin{macro}{\slnc@unexpanded}
-% \changes{0.1.2583}{2017/02/08}{new (internal)}%^^A
+% \changes{v0.1.2583}{2017/02/08}{new (internal)}
% \begin{macro}{\slnc@makenote}
-% \changes{0.1.2583}{2017/02/08}{new (internal)}%^^A
+% \changes{v0.1.2583}{2017/02/08}{new (internal)}
% \begin{macrocode}
%<*body>
\newcommand*{\slnc@unexpanded}{}
@@ -847,7 +859,7 @@
\expandafter\hsize\csname slnc@#1@width\endcsname
\normalfont\normalsize
% \end{macrocode}
-% \changes{v0.2.3085}{2019/02/14}{using colour stack if available}%^^A
+% \changes{v0.2.3085}{2019/02/14}{using colour stack if available}
% If a color stack is available we switch to it before changing the font. So a
% color definition inside the font would overwrite every color change inside
% the column! But if we don't have a color stack, color switching is not
@@ -864,7 +876,7 @@
\fi
% \end{macrocode}
% \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfpageheight} in
-% luaTeX}%^^A
+% luaTeX}
% From lua\TeX~0.80.1 \cs{pdfpageheight} will be renamed into
% \cs{pageheight}. So we have to do an extra test for the new primitive.
% \begin{macrocode}
@@ -920,7 +932,7 @@
\ifdim\@tempdima>\z@ \kern\@tempdima\fi
\fi
% \end{macrocode}
-% \changes{v0.1.2582}{2017/02/08}{restore several commands}%^^A
+% \changes{v0.1.2582}{2017/02/08}{restore several commands}
% Some commands have to be restored when processing the note.
% \begin{macrocode}
\slnc@restoreinnote
@@ -967,7 +979,7 @@
\splitmaxdepth\baselineskip
% \end{macrocode}
% Bring back the colours:
-% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added}%^^A
+% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added}
% \begin{macrocode}
\usekomafont{notecolumn.#1}{%
\expandafter\vsplit\csname slnc@#1@box\endcsname to
@@ -986,7 +998,7 @@
%</trace>
% \end{macrocode}
% Bring back the colours:
-% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added}%^^A
+% \changes{v0.2.3085}{2019/02/14}{\cs{slnc@switchcolorstack} added}
% \begin{macrocode}
\usekomafont{notecolumn.#1}{%
\slnc@switchcolorstack{#1}%
@@ -1001,7 +1013,7 @@
}
% \end{macrocode}
% \begin{macro}{\slnc@switchcolorstack}
-% \changes{v0.2.3085}{2019/02/14}{new internal}%^^A
+% \changes{v0.2.3085}{2019/02/14}{new internal}
% This either redefines \cs{set@color} or switches to the colour stack of the
% note column given by the argument.
% \begin{macrocode}
@@ -1050,9 +1062,9 @@
% \end{macrocode}
% \end{macro}%^^A \slnc@switchcolorstack
% \begin{macro}{\restoreinnote}
-% \changes{0.1.2582}{2017/02/08}{new command}%^^A
+% \changes{v0.1.2582}{2017/02/08}{new command}
% \begin{macro}{\slnc@restoreinnote}
-% \changes{0.1.2582}{2017/02/08}{new (internal)}%^^A
+% \changes{v0.1.2582}{2017/02/08}{new (internal)}
% Some commands have to be restored while processing the notes. By default
% these are \cs{label}, \cs{index}, \cs{glossary}. More can be added using
% \cs{restoreinnote}. The storage is \cs{slnc@restoreinnote}.
@@ -1080,7 +1092,7 @@
% \Macro{slnc@note} or \Macro{slnc@sync} in the file is greater than
% \Counter{slncpage}. Put all these to the corresponding unprocessed list.
% \begin{macro}{\slnc@catcodes}
-% \changes{v0.3}{2019/03/02}{new internal}%^^A
+% \changes{v0.3}{2019/03/02}{new internal}
% We need a helper macro \cs{slnc@catcodes} to restore (some of) the catcodes
% before reading from file.
% \begin{macrocode}
@@ -1193,12 +1205,15 @@
% \begin{macro}{\slnc@file}
% The input file with the unprocessed notes.
% \changes{v0.1.2928}{2018/02/02}{use \cs{closein} instead of \cs{closeout}
-% to close \cs{slnc@file}}%^^A
+% to close \cs{slnc@file}}
% \begin{macro}{\slnc@mdfivesum}
% \changes{v0.1.2872}{2018/01/17}{definition and usage of Lua function
-% \texttt{slncmdfivesum}}%^^A
+% \texttt{slncmdfivesum}}
% \changes{v0.1.2972}{2018/04/01}{usage of not yet documented Xe\TeX{}
-% primitive \cs{mdfivesum}}%^^A
+% primitive \cs{mdfivesum}}
+% \changes{v0.3.3591}{2021/03/25}{Lua function name changed to
+% \texttt{slnc.mdfivesum}}
+% \changes{v0.3.3591}{2021/03/25}{new Lua variable \texttt{slnc.slncfile}}
% The MD5 sum of the file before opening it for reading.
% \begin{macrocode}
%<*body>
@@ -1208,7 +1223,8 @@
\scr@ifundefinedorrelax{mdfivesum}{%
\ifdefined\directlua
\directlua{%
- function slncmdfivesum(filename)
+ slnc = slnc or {}
+ function slnc.mdfivesum(filename)
local fh = io.open(filename,"rb")
if fh then
local sum=md5.sumhexa(fh:read("*a"))
@@ -1216,8 +1232,16 @@
fh:close()
end
end
+ if (string.sub(tex.jobname,1,1) == '"')
+ and (string.sub(tex.jobname,string.len(tex.jobname),-1) == '"')
+ then
+ slnc.slncfile = string.sub(tex.jobname,2,-2)
+ else
+ slnc.slncfile = tex.jobname
+ end
+ slnc.slncfile = slnc.slncfile .. '.slnc'
}%
- \xdef\slnc@mdfivesum{\directlua{slncmdfivesum("\jobname.slnc")}}%
+ \xdef\slnc@mdfivesum{\directlua{slnc.mdfivesum(slnc.slncfile)}}%
\fi
}{%
\xdef\slnc@mdfivesum{\mdfivesum file {\jobname.slnc}}%
@@ -1410,8 +1434,8 @@
% \end{macro}%^^A \clearnotecolumn
%
% \begin{macro}{\clearnotecolumns}
-% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A
-% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}}%^^A
+% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}
+% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}}
% \begin{description}
% \item[\OParameter{string list}:] comma separated list of note column names
% (must be fully expandable and each element must expand to a string only,
@@ -1572,8 +1596,8 @@
% synchronisation of the text with the note.
%
% \begin{macro}{\syncwithnotecolumn}
-% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}%^^A
-% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}}%^^A
+% \changes{v3.26}{2018/08/29}{\cs{scr@trim@spaces} added}
+% \changes{v3.26}{2018/08/29}{removed spurious \cs{expandafter}}
% \begin{description}
% \item[\OParameter{string}:] the name of the note column to sync with (this
% must be fully expandable and expand to the name of a note column). By
@@ -1696,7 +1720,7 @@
}%
% \end{macrocode}
% \changes{v0.1}{2015/10/07}{ready for renaming \cs{pdfpageheight} in
-% luaTeX}%^^A
+% luaTeX}
% From lua\TeX~0.80.1 \cs{pdfpageheight} will be renamed into
% \cs{pageheight}. So we have to do an extra test for the new primitive.
% \begin{macrocode}
diff --git a/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx b/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx
index 6f223ad944..d7a264f89e 100644
--- a/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlayer-scrpage.dtx
@@ -1,7 +1,7 @@
% \iffalse^^A meta-comment
% ======================================================================
% scrlayer-scrpage.dtx
-% Copyright (c) Markus Kohm, 2012-2020
+% Copyright (c) Markus Kohm, 2012-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -19,7 +19,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlayer-scrpage.dtx
-% Copyright (c) Markus Kohm, 2012-2020
+% Copyright (c) Markus Kohm, 2012-2021
%
% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung.
%
@@ -38,7 +38,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
%
-%%% From File: $Id: scrlayer-scrpage.dtx 3531 2020-09-11 12:28:41Z kohm $
+%%% From File: $Id: scrlayer-scrpage.dtx 3595 2021-05-16 07:11:07Z kohm $
%<identify>%%% (run: identify)
%<init>%%% (run: init)
%<options>%%% (run: options)
@@ -47,9 +47,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-11 14:28:41 +0200 (Fri, 11 Sep 2020) $
+ \filedate$Date: 2021-05-16 09:11:07 +0200 (Sun, 16 May 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3531 $
+ \filerevision$Revision: 3595 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlayer-scrpage.dtx}%
@@ -1507,19 +1507,20 @@
}%
% \end{macrocode}
% \begin{macro}{\sls@secure@box}
-% \begin{description}
-% \item[\Parameter{length}:] a \LaTeX{} length, that gives the maximum
-% height + depth of the \meta{content}. It has to be either
-% \cs{headheight} or \cs{footheight}.
-% \item[\Parameter{content}:] what should be output (inside the box).
-% \end{description}
+% \changes{v3.34}{2021/05/16}{\LaTeX{} team requested for additional \cs{par}}
+% \begin{description}
+% \item[\Parameter{length}:] a \LaTeX{} length, that gives the maximum
+% height + depth of the \meta{content}. It has to be either
+% \cs{headheight} or \cs{footheight}.
+% \item[\Parameter{content}:] what should be output (inside the box).
+% \end{description}
% Note, that several length may be changed, to fit.
% \begin{macrocode}
\newcommand*{\sls@secure@box}[2]{%
\begingroup
\setbox\z@\vbox{%
\ifsls@leavevmode\leavevmode\expandafter\ignorespaces\fi
- #2%
+ #2\par
}%
\ifdim #1<\dimexpr \ht\z@+\dp\z@\relax
\PackageWarning{scrlayer-scrpage}{%
@@ -1671,12 +1672,13 @@
% \end{macro}%^^A \footfont
%
% \begin{macro}{\sls@hf@rule}
-% \begin{description}
-% \item[\Parameter{rule name}:] one of \texttt{headtop}, \texttt{headsep},
-% \texttt{footsep}, or \texttt{footbot}
-% \item[\Parameter{dimensional expression}:] the line length (width)
-% \item[\Parameter{dimensional expression}:] the line thickness (height)
-% \end{description}
+% \changes{v3.34}{2021/05/16}{\LaTeX{} team requested for additional \cs{par}}
+% \begin{description}
+% \item[\Parameter{rule name}:] one of \texttt{headtop}, \texttt{headsep},
+% \texttt{footsep}, or \texttt{footbot}
+% \item[\Parameter{dimensional expression}:] the line length (width)
+% \item[\Parameter{dimensional expression}:] the line thickness (height)
+% \end{description}
% Helper to draw the line.
% \begin{macrocode}
\newcommand*\sls@hf@rule[3]{%
@@ -1699,6 +1701,7 @@
\if@tempswa
\hskip \z@\@plus 1fill\@minus \paperwidth\null
\fi
+ \par
}%
}%
\endgroup
diff --git a/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx b/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx
index 9ebbd46ee4..7dc937a5df 100644
--- a/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlfile-hook.dtx
@@ -45,9 +45,9 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2021-03-02 08:40:05 +0100 (Tue, 02 Mar 2021) $
+ \filedate$Date: 2021-04-21 12:11:38 +0200 (Wed, 21 Apr 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3574 $
+ \filerevision$Revision: 3593 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlfile-hook.dtx}%
@@ -147,19 +147,35 @@
%<@@=scrlfile>
% \end{macrocode}
%
-% Test whether the uses \LaTeX{} provides all commands we need.
+% Test whether the used \LaTeX{} provides all commands we need.
+% \changes{v3.34}{2021/04/21}{make it more robust agains not recommended
+% direct usage}
% \begin{macrocode}
-\@ifundefined{AddToHook}{%
- \PackageError{scrlfile-hook}{LaTeX too old for this package}{%
- \string\AddToHook\space of LaTeX 2020-10-01 or newer is
- needed.\MessageBreak
- Please update LaTeX or use package scrlfile-patch instead of\MessageBreak
- scrlfile-hook.\MessageBreak
- If you would continue, I will try to load scrlfile-patch
+\@ifundefined{IfFormatAtLeastTF}{%
+ \PackageError{scrlfile-hook}{not recommended usage of package}{%
+ It seems this package has been loaded directly using a LaTeX
+ version\MessageBreak
+ prior to 2020-10-01. This is not recommend. Please always load
+ package\MessageBreak
+ scrlfile instead of scrlfile-hook.\MessageBreak
+ If you would continue, I will try to load scrlfile-patcholdlatex%
}%
- \RequirePackage{scrlfile-patch}%
+ \RequirePackage{scrlfile-patcholdlatex}%
\endinput
-}{}
+}{%
+ \IfFormatAtLeastTF{2020/10/01}{}{%
+ \PackageError{scrlfile-hook}{LaTeX too old for this package}{%
+ It seems this package has been loaded directly using a LaTeX
+ version\MessageBreak
+ prior to 2020-10-01. This is not recommend. Please always load
+ package\MessageBreak
+ scrlfile instead of scrlfile-hook.\MessageBreak
+ If you would continue, I will try to load scrlfile-patcholdlatex%
+ }%
+ \RequirePackage{scrlfile-patcholdlatex}%
+ \endinput
+ }{}%
+}
% \end{macrocode}
%
%
diff --git a/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx b/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx
index 070d28a5dd..bae36b7a3f 100644
--- a/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx
+++ b/macros/latex/contrib/koma-script/source/scrlfile-patcholdlatex.dtx
@@ -1,7 +1,7 @@
% \iffalse^^A meta-comment
% ======================================================================
% scrlfile-patcholdlatex.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% This file is part of the work `scrlfile' which is part of the LaTeX2e
% KOMA-Script bundle.
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlfile-patcholdlatex.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2021
%
% Diese Datei ist Teil des Werks `scrlfile', das wiederum Teil des
% LaTeX2e KOMA-Script Pakets ist.
@@ -58,14 +58,14 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrlfile-patcholdlatex.dtx 3527 2020-09-11 09:44:32Z kohm $
+%%% From File: $Id: scrlfile-patcholdlatex.dtx 3593 2021-04-21 10:11:38Z kohm $
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-09-11 11:44:32 +0200 (Fri, 11 Sep 2020) $
+ \filedate$Date: 2021-04-21 12:11:38 +0200 (Wed, 21 Apr 2021) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3527 $
+ \filerevision$Revision: 3593 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrlfile-patcholdlatex.dtx}%
@@ -139,6 +139,26 @@
%
% \subsection{Patching \LaTeX{} Kernel Macros}
%
+% Test whether the used \LaTeX{} is old enough.
+% \changes{v3.34}{2021/04/21}{make it more robust agains not recommended
+% direct usage}
+% \begin{macrocode}
+\@ifundefined{IfFormatAtLeastTF}{}{%
+ \IfFormatAtLeastTF{2020/10/01}{%
+ \PackageError{scrlfile-hook}{LaTeX too young for this package}{%
+ It seems this package has been loaded directly using a LaTeX
+ version\MessageBreak
+ 2020-10-01 or newer. This is not recommend. Please always load
+ package\MessageBreak
+ scrlfile instead of scrlfile-patcholdlatex.\MessageBreak
+ If you would continue, I will try to load scrlfile-hook%
+ }%
+ \RequirePackage{scrlfile-hook}%
+ \endinput
+ }{}%
+}
+% \end{macrocode}
+%
% \begin{macro}{\InputIfFileExists}
% \changes{v2.96}{2006/07/19}{replacement code added}%^^A
% \LaTeX{} uses this macro for loading files with
diff --git a/macros/latex/contrib/koma-script/source/scrwfile.dtx b/macros/latex/contrib/koma-script/source/scrwfile.dtx
index 26e3b0af9e..7228e756ab 100644
--- a/macros/latex/contrib/koma-script/source/scrwfile.dtx
+++ b/macros/latex/contrib/koma-script/source/scrwfile.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{306}
% \iffalse meta-comment
% ======================================================================
% scrwfile.dtx
-% Copyright (c) Markus Kohm, 2010-2020
+% Copyright (c) Markus Kohm, 2010-2021
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -29,7 +28,7 @@
% at least three times.
% ----------------------------------------------------------------------
% scrwfile.dtx
-% Copyright (c) Markus Kohm, 2010-2020
+% Copyright (c) Markus Kohm, 2010-2021
%
% Diese Datei ist Teil des LaTeX2e KOMA-Script-Pakets.
%
@@ -75,7 +74,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrwfile.dtx 3453 2020-02-25 07:33:30Z kohm $
+%%% From File: $Id: scrwfile.dtx 3600 2021-05-30 19:00:56Z kohm $
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{scrwfile.dtx}
@@ -84,7 +83,7 @@
%<package&identify>\ProvidesPackage{scrwfile}
%<driver>\ProvidesFile{scrwfile.drv}
%<*dtx|(package&identify)|driver>
- [2013/08/05 v0.1f-alpha KOMA-Script package (write and clone files)]
+ [2021/05/30 v0.1.9-alpha KOMA-Script package (write and clone files)]
%</dtx|(package&identify)|driver>
%<*dtx>
\ifx\documentclass\undefined
@@ -158,7 +157,8 @@
% \selectlanguage{english}
%
% \changes{v0.1}{2010/10/01}{start of new package}
-% \changes{v0.1g}{2014/10/13}{manual moved to \KOMAScript{} manual}
+% \changes{v0.1.7}{2014/10/13}{manual moved to \KOMAScript{} manual}
+% \changes{v0.1.9}{2021/05/30}{version number scheme changed}
%
% \StopEventually{%
% \clearpage
@@ -210,17 +210,27 @@
\RequirePackage{scrbase}[2010/09/17]
% \end{macrocode}
%
-% Package \textsf{tocbasic} is needed for the lists of cloned TOCs.
-% \begin{macrocode}
-\RequirePackage{tocbasic}[2010/10/01]
-% \end{macrocode}
-%
% Package \textsf{scrlfile} is needed because of the \texttt{aux} file
% handling and \verb|\protected@immediate@write|.
% \begin{macrocode}
\RequirePackage{scrlfile}[2010/09/30]
% \end{macrocode}
%
+% \subsubsection{Is is needed?}
+%
+% \changes{v0.1.9}{2021/05/30}{with Lua\LaTeX{} using is not recommended}
+% If the user uses Lua\LaTeX{} usage of \textsf{scrwfile} should not be
+% needed.
+% \begin{macrocode}
+\scr@ifluatex{%
+ \PackageInfoNoLine{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}%
+}{}
+% \end{macrocode}
+%
% \subsubsection{\LaTeX{} Kernel Patchs}
%
% For some features we need to patch \LaTeX{} kernel macros. Those features
@@ -249,7 +259,7 @@
\if@tempswa
\scr@ifundefinedorrelax{scrwfile@never}{}{%
\edef\reserved@b{#1}%
- \@for\reserved@a:=\scrwfile@only\do
+ \@for\reserved@a:=\scrwfile@never\do
{\ifx\reserved@a\reserved@b\@tempswafalse\fi}%
}%
\fi
@@ -356,13 +366,35 @@
\fi
}
% \end{macrocode}
+% \changes{v0.1.8}{2021/05/30}{added order rule for
+% \textsf{scrlayer-notecolumn}}
+% Note: Here we use a \LaTeX{} version test, because a do-nothing-definition
+% like the one of \textsf{latexrelease} wouldn't be correct, if the command is
+% 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}
% \end{macro}
%
% \begin{macro}{\@starttoc}
% We have to add the single handle feature to this.
% \begin{macro}{\scrwfile@saved@starttoc}
-% \changes{v0.1e}{2013/07/24}{take care for unfriendly \textsl{hyperref}}
+% \changes{v0.1.5}{2013/07/24}{take care for unfriendly \textsl{hyperref}}
% This is the original definition, that will be used, if the file is not under
% \texttt{scrwfile}'s control. Because of package \textsl{hyperref}, that does
% a hard redefinition without any care for changed definitions, we have to
@@ -449,12 +481,13 @@
% \end{macro}
%
% \begin{macro}{\TOCclone}
-% \changes{v3.28}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}%^^A
-% \changes{v3.28}{2019/11/19}{\cs{ifattoclist} replaced by
-% \cs{Ifattoclist}}%^^A
-% \changes{v3.28}{2019/11/19}{\cs{iftocfeature} replaced by
-% \cs{Iftocfeature}}%^^A
-% \changes{v3.30}{2020/02/25}{spurious space in warning message removed}%^^A
+% \changes{v0.1.8}{2019/11/18}{\cs{ifstr} umbenannt in \cs{Ifstr}}
+% \changes{v0.1.8}{2019/11/19}{\cs{ifattoclist} replaced by \cs{Ifattoclist}}
+% \changes{v0.1.8}{2019/11/19}{\cs{iftocfeature} replaced by
+% \cs{Iftocfeature}}
+% \changes{v0.1.8}{2020/02/25}{spurious space in warning message removed}
+% \changes{v0.1.9}{2021/05/30}{requires package \textsf{tocbasic}}
+% \changes{v0.1.9}{2021/05/30}{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
@@ -465,6 +498,7 @@
% extensions.
% \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
@@ -499,6 +533,7 @@
\Iftocfeature{#2}{totoc}{\setuptoc{#3}{totoc}}{}%
}%
}
+\@onlypreamble\TOCClone
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/spbmark/README.md b/macros/latex/contrib/spbmark/README.md
new file mode 100644
index 0000000000..ed915ca1ca
--- /dev/null
+++ b/macros/latex/contrib/spbmark/README.md
@@ -0,0 +1,11 @@
+# The spbmark package
+
+Spbmark provides three commands \super, \sub and \supersub to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
+
+## License
+
+This work may be distributed and/or modified under the conditions of the CC-BY 4.0 License. The latest version of this license is in https://creativecommons.org/licenses/by/4.0/legalcode
+
+## Website
+
+| [Gitee](https://gitee.com/texl3/spbmark) | [Github](https://github.com/texl3/spbmark) | [CTAN](https://ctan.org/pkg/spbmark) | \ No newline at end of file
diff --git a/macros/latex/contrib/spbmark/spbmark.dtx b/macros/latex/contrib/spbmark/spbmark.dtx
new file mode 100644
index 0000000000..23e13e57b4
--- /dev/null
+++ b/macros/latex/contrib/spbmark/spbmark.dtx
@@ -0,0 +1,257 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2021 by Qu Yi <quee123@foxmail.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+% \fi
+%
+% \iffalse
+%<*driver>
+\documentclass{l3doc}
+\usepackage{spbmark}
+\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+%
+% \title{\pkg{spbmark} -- Superscript and subscript of text}
+% \author{Qu Yi}
+% \date{2021/06/26\hskip 1em\relax v1.00\thanks{\url{https://github.com/texl3/spbmark}}}
+%
+% \maketitle
+% \begin{abstract}
+% \pkg{spbmark} provides three commands \tn{super}, \tn{sub} and \tn{supersub} to improve the layout of superscripts and subscripts which can be adjusted the relative position and format, and can be used in text and math mode.
+% \end{abstract}
+% \tableofcontents
+%
+% \section{Macro package options}
+% \begin{function}[added = 2021-06-26]{ctex}
+% This option works with the C\TeX{} document class used by simplified Chinese users, there's actually no functional change. Adding path \texttt{style} to \tn{ctexset} command, which is equivalent to using \tn{spbset}.
+% \end{function}
+%
+% \section{User commands}
+% \begin{function}[added = 2021-06-26]{\super,\sub,\supersub,\textsuperscript,\textsubscript}
+% \begin{syntax}
+% \tn{super*}\oarg{vertical shift}\parg{format code}\marg{content}\oarg{horizontal shift}
+% \tn{sub*}\oarg{vertical shift}\parg{format code}\marg{content}\oarg{horizontal shift}
+% \tn{supersub*}\oarg{script sep}\oarg{script align}\parg{super format code}
+% \ \marg{super content}\marg{sub content}
+% \ \oarg{horizontal shift}\parg{sub format code}
+% \end{syntax}
+% \tn{super} command is used to output superscripts, \tn{sub} command is used to output subscripts, \tn{supersub} command is used to output both superscripts and subscripts.
+% \end{function}
+%
+% They match the corresponding pattern depending on whether they are currently in text mode or mathematical mode, or they can use an asterisk variant to force the mathematical pattern. The vertical shift and horizontal shift are both 0pt, and the parameters of \meta{script align} are the same as the \texttt{supersubalign}.
+%
+% The \meta{format code} is used to format superscripts and subscripts, and can insert commands such as fonts or colors. The last command in the code can take an argument, which is either a superscript or a subscript.
+%
+% The \tn{textsuperscript} and \tn{textsubscript} commands have been redefined to be equivalent to \tn{super} and \tn{sub} respectively, if you need to use their original definitions, then \tn{spb@textsuperscript@save} and \tn{spb@textsubscript@save} will be available.
+%
+% \section{Global control interface}
+% \begin{function}[added = 2021-06-26]{\spbset}
+% \begin{syntax}
+% \tn{spbset}\marg{key-value list}
+% \end{syntax}
+% \pkg{spbmark} uses the \tn{spbset} command to control the global default format of superscripts and subscripts. The values ​​set by it will be overwritten by the optional parameters of the superscript and other commands. The list of key values it has is as follows:
+% \end{function}
+%
+% \begin{function}{super-vshift,super-hshift,sub-vshift,sub-hshift,supersubsep,supersubalign}
+% \begin{syntax}
+% super-vshift = <fixed length>
+% super-hshift = <fixed length>
+% sub-vshift = <fixed length>
+% sub-hshift = <fixed length>
+% supersubsep = <fixed length>
+% supersubalign = <horizontal alignment>
+% \end{syntax}
+% \end{function}
+%
+% \noindent
+% \DescribeOption{super-vshift} Extra vertical shift of the superscripts. \\
+% \DescribeOption{super-hshift} Extra horizontal shift of the superscripts. \\
+% \DescribeOption{sub-vshift} Extra vertical shift of the subscripts. \\
+% \DescribeOption{sub-hshift} Extra horizontal shift of the subscripts. \\
+% \DescribeOption{supersubsep} The distance between superscript and subscript when using \tn{supersub}, its default value is 0.3ex. \\
+% \DescribeOption{supersubalign} The alignment of superscript and subscript when using \tn{supersub}, which contains l, c, and r parameters respectively for left, center, and right alignment. \\
+%
+% \section{Examples of use}
+% Here is a list of the three commands, please pay attention to the delimiter and usage of optional parameters:
+% \begin{quotation}
+% \noindent
+% |A\super[0.2ex](\color{red}){exam}[0.2em]B| \\
+% |$A\sub(\mathsf){exam}B$| \\
+% |A\supersub[0.3ex][c]{examsuper}{examsub}B| \\
+% A\super[0.2ex](\color{red}){exam}[0.2em]B \\
+% $A\sub(\mathsf){exam}B$ \\
+% A\supersub[0.3ex][c]{examsuper}{examsub}B
+% \end{quotation}
+%
+% \pkg{spbmark} also patches the standard document class and the footer markers for \cls{KOMA-Script}. You can format the footer markers by redefining the \tn{fnmarkfont} command. Note that extra horizontal shift does not work with footnote markers.
+%
+% \section{Known issues}
+% At present, the vertical and horizontal offsets are effective for the unit commands in the text mode of the \pkg{siunitx} macro package. \tn{super} and \tn{sub} can also be used normally in its unit commands, but when the unit is output in the math mode, \tn{supersub} command cannot be used.
+%
+% \newcommand\urlprefix{\newline\hspace*{\fill}}
+% \let\OldUrl\url
+% \renewcommand\url[2][]{{\small\textit{#1}~\OldUrl{#2}}}
+% \begin{thebibliography}{99}
+% \bibitem{realscripts}
+% \textsc{Will Robertson}.
+% \newblock \textit{The realscripts package} [CP/OL].
+% \newblock version 0.3d,
+% \newblock (2016-02-13)
+% \urlprefix\url{https://ctan.org/pkg/realscripts}
+% \end{thebibliography}
+%
+% \StopEventually{}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\RequirePackage{l3keys2e}
+\ProvidesExplPackage{spbmark}{2021/06/26}{1.00}{beta}
+
+\cs_new_protected:Npn \spb_define:n { \keys_define:nn { spbmark } }
+\cs_new_protected:Npn \spbset { \keys_set:nn { spbmark } }
+\keys_define:nn { spbmark/option }
+ {
+ ctex .code:n =
+ {
+ \cs_set:Npn \spb_define:n { \keys_define:nn { ctex/style } }
+ \cs_set:Npn \spbset { \keys_set:nn { ctex/style } }
+ }
+ }
+
+\ProcessKeysOptions{spbmark/option}
+
+\spb_define:n
+ {
+ super-vshift .dim_set:N = \l__spb_super_script_vshift_dim,
+ super-vshift .initial:n = 0pt,
+ super-hshift .dim_set:N = \l__spb_super_script_hshift_dim,
+ super-hshift .initial:n = 0pt,
+ sub-vshift .dim_set:N = \l__spb_sub_script_vshift_dim,
+ sub-vshift .initial:n = 0pt,
+ sub-hshift .dim_set:N = \l__spb_sub_script_hshift_dim,
+ sub-hshift .initial:n = 0pt,
+ supersubsep .dim_set:N = \l__spb_supersub_script_sep_dim,
+ supersubsep .initial:n = 0.3ex,
+ supersubalign .tl_set:N = \l__spb_supersub_script_align_tl,
+ supersubalign .initial:n = l
+ }
+\tl_set:Nn \l__spb_boxa_wd_tl { \box_wd:N \l_tmpa_box }
+\tl_set:Nn \l__spb_boxb_wd_tl { \box_wd:N \l_tmpb_box }
+\cs_new:Npn \spb_tmp_boxa_use: { \box_use:N \l_tmpa_box }
+\cs_new:Npn \spb_tmp_boxb_use: { \box_use:N \l_tmpb_box }
+\cs_new:Npn \spb_box_max_dim_horizontal:
+ {
+ \skip_horizontal:n
+ { \dim_max:nn { \l__spb_boxa_wd_tl } { \l__spb_boxb_wd_tl } }
+ }
+\cs_new:Npn \spb_boxwd_subtract:nnnn #1#2#3#4
+ {
+ \skip_horizontal:n
+ { #1\tl_use:c { l__spb_#3_wd_tl } - #2\tl_use:c { l__spb_#4_wd_tl } }
+ }
+\cs_new:Npn \spb_boxwd_script_align:nn #1#2
+ {
+ \spb_boxwd_subtract:nnnn { 0.5 } { 0.5 } {#1} {#2}
+ \use:c { spb_tmp_#2_use: }
+ \spb_boxwd_subtract:nnnn { -0.5 } { 0.5 } {#1} {#2}
+ \use:c { spb_tmp_#1_use: }
+ }
+\cs_set_eq:NN \spb@textsuperscript@save \textsuperscript
+\cs_set_eq:NN \spb@textsubscript@save \textsubscript
+\cs_new:Npn \spb_math:nn #1
+ {
+ \str_case:nn {#1}
+ {
+ { super } { \sp }
+ { sub } { \sb }
+ }
+ }
+\clist_map_inline:nn
+ { super,sub }
+ {
+ \exp_args:Nc \NewDocumentCommand {#1}
+ {
+ sO{\dim_use:c { l__spb_#1_script_vshift_dim }}D(){}m
+ O{\dim_use:c { l__spb_#1_script_hshift_dim }}
+ }
+ {
+ \IfBooleanTF{##1}
+ {\hbox_set:Nn \l_tmpa_box { $##3{\spb_math:nn {#1} {##4}}$ }}
+ {
+ \mode_if_math:TF
+ { \hbox_set:Nn \l_tmpa_box { $##3{\spb_math:nn {#1} {##4}}$ } }
+ {
+ \hbox_set:Nn \l_tmpa_box
+ { ##3{\use:c { spb@text#1script@save }{##4}} }
+ }
+ }
+ \hbox_set_to_wd:Nnn \l_tmpb_box { \l__spb_boxa_wd_tl + ##5 }
+ { \hss\box_move_up:nn {##2} { \spb_tmp_boxa_use: } }
+ \spb_tmp_boxb_use:
+ }
+ }
+\NewDocumentCommand{\supersub}
+ {
+ sO{\l__spb_supersub_script_sep_dim}
+ O{\l__spb_supersub_script_align_tl}D(){}mmO{0pt}D(){}
+ }
+ {
+ \IfBooleanTF{#1}
+ {
+ \hbox_set:Nn \l_tmpa_box { $#4{\sp{#5}}$ }
+ \hbox_set:Nn \l_tmpb_box { $#8{\sb{#6}}$ }
+ }{
+ \mode_if_math:TF
+ {
+ \hbox_set:Nn \l_tmpa_box { $#4{\sp{#5}}$ }
+ \hbox_set:Nn \l_tmpb_box { $#8{\sb{#6}}$ }
+ }
+ {
+ \hbox_set:Nn \l_tmpa_box { #4{\spb@textsuperscript@save{#5}} }
+ \hbox_set:Nn \l_tmpb_box { #8{\spb@textsubscript@save{#6}} }
+ }
+ }
+ \hbox_set_to_wd:Nnn \l_tmpa_box { \l__spb_boxa_wd_tl + #7 }
+ { \hss\box_move_up:nn {#2} { \spb_tmp_boxa_use: } }
+ \hbox_set_to_wd:Nnn \l_tmpb_box { \l__spb_boxb_wd_tl + #7 }
+ { \hss\box_move_down:nn {#2} { \spb_tmp_boxb_use: } }
+ \str_case:nnF {#3}
+ {
+ { l } { \use_i:nnn }
+ { c } { \use_ii:nnn }
+ { r } { \use_iii:nnn }
+ }
+ { \use_i:nnn }
+ {
+ \hbox_overlap_right:n { \spb_tmp_boxa_use: }
+ \hbox_overlap_right:n { \spb_tmp_boxb_use: }
+ \spb_box_max_dim_horizontal:
+ }
+ {
+ \dim_compare:nTF { \l__spb_boxa_wd_tl > \l__spb_boxb_wd_tl }
+ { \spb_boxwd_script_align:nn { boxa } { boxb } }
+ { \spb_boxwd_script_align:nn { boxb } { boxa } }
+ }
+ {
+ \spb_box_max_dim_horizontal:
+ \hbox_overlap_left:n { \spb_tmp_boxa_use: }
+ \hbox_overlap_left:n { \spb_tmp_boxb_use: }
+ }
+ }
+\cs_set_eq:NN \textsuperscript \super
+\cs_set_eq:NN \textsubscript \sub
+\cs_set:Npn \@makefnmark
+ { \hbox:n { \fnmarkfont\super{\@thefnmark}[0pt] } }
+\cs_if_exist:NTF \ftntm@font
+ { \cs_new:Npn \fnmarkfont { \ftntm@font } }
+ { \cs_new:Npn \fnmarkfont { \normalfont } }
+%</package>
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/spbmark/spbmark.ins b/macros/latex/contrib/spbmark/spbmark.ins
new file mode 100644
index 0000000000..43d605dab2
--- /dev/null
+++ b/macros/latex/contrib/spbmark/spbmark.ins
@@ -0,0 +1,37 @@
+%
+% Copyright (C) 2021 by Qu Yi <quee123@foxmail.com>
+%
+% This work may be distributed and/or modified under the
+% conditions of the CC-BY 4.0 License.
+% The latest version of this license is in
+% https://creativecommons.org/licenses/by/4.0/legalcode
+\input l3docstrip
+\keepsilent
+\askforoverwritefalse
+
+\usedir{tex/latex/spbmark}
+
+\preamble
+Copyright (C) 2021 by Qu Yi <quee123@foxmail.com>
+
+This work may be distributed and/or modified under the
+conditions of the CC-BY 4.0 License.
+The latest version of this license is in
+ https://creativecommons.org/licenses/by/4.0/legalcode
+\endpreamble
+
+\generate{\file{spbmark.sty}{\from{\jobname.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* spbmark.sty *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/spbmark/spbmark.pdf b/macros/latex/contrib/spbmark/spbmark.pdf
new file mode 100644
index 0000000000..fa2f4d1909
--- /dev/null
+++ b/macros/latex/contrib/spbmark/spbmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/NEWS b/macros/latex/contrib/tugboat/NEWS
index a640030d7b..01259306ea 100644
--- a/macros/latex/contrib/tugboat/NEWS
+++ b/macros/latex/contrib/tugboat/NEWS
@@ -1,8 +1,20 @@
-$Id: NEWS 314 2020-11-15 02:06:03Z karl $
+$Id: NEWS 376 2021-06-27 16:27:44Z karl $
This file records noteworthy changes. This file is public domain.
-2.24 (2020-11-14):
+2.25 (2021-06-27):
+ltugboat.cls:
+- new abbrevations: \RIT, \tbUTF.
+
+\tbUTF expands to \acro{UTF}, and, if the next character is a -
+(e.g., \tbUTF-8), don't allow breaking at it. (We don't define \UTF
+since other packages already do.)
+tugboat.bst:
+- new entry type @ctan, following ctanbib (https://ctan.org/pkg/ctanbib).
+- use \emph{...} instead of {\em ...}, so we get italic corrections.
+
+----
+2.24 (2020-11-14):
ltugboat.cls:
- new hyphenation exceptions: Ja-pa-nese, Pak-i-stan.
- new abbrevations: \macOS, \OpTeX.
diff --git a/macros/latex/contrib/tugboat/ltubguid.ltx b/macros/latex/contrib/tugboat/ltubguid.ltx
index 4c7ea0b25e..d2947c0389 100644
--- a/macros/latex/contrib/tugboat/ltubguid.ltx
+++ b/macros/latex/contrib/tugboat/ltubguid.ltx
@@ -1,7 +1,7 @@
-% $Id: ltubguid.ltx 313 2020-11-15 01:52:20Z karl $
+% $Id: ltubguid.ltx 375 2021-06-25 14:40:52Z karl $
% ltubguid.ltx - documentation for ltugboat classes.
%
-% Copyright 1994-2020 TeX Users Group.
+% Copyright 1994-2021 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -33,7 +33,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\begin{filecontents}{tubguide.bib}
-% BibTeX bibliography file (generated by aux2bib)
+% BibTeX bibliography file (originally generated by aux2bib)
@Misc{pkg:fancyvrb,
author = {Timothy Van Zandt and others},
@@ -132,7 +132,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-\documentclass[final]{ltugboat}
+\documentclass[final,letterpaper]{ltugboat}
+\usepackage{graphics} % just so letterpaper takes effect
\usepackage{microtype}
\usepackage{ctandir}
\IfFileExists{booktabs.sty}%
@@ -610,7 +611,7 @@ and of course the class sources are the ultimate reference.
\verb|\ConTeXt| & \ConTeXt \\
\verb|\Cplusplus| & \Cplusplus \\
\verb|\CTAN| & \CTAN \\
- \verb|\eTex| & \eTeX \\
+ \verb|\eTeX| & \eTeX \\
\verb|\FAQ| & \FAQ \\
\verb|\HTML| & \HTML \\
\verb|\ISBN| & \ISBN \\
@@ -802,6 +803,10 @@ of a publication written by author~Y, and not just edited by~Y.
\item Defines an \textsf{@online} entry type as an alias for \textsf{@misc}.
+\item Defines an \textsf{@ctan} entry type to reference packages on
+\CTAN, following the fields output by the \pkgname{ctanbib} script (in
+the package of the same name, \url{ctan.org/pkg/ctanbib}).
+
\item For completeness only: \verb|tugboat.bst| provides editor-intended
fields \textsf{newpage} to force a page break after the current item,
\textsf{urlnewline} to force a line break before the \textsf{url} value,
diff --git a/macros/latex/contrib/tugboat/ltubguid.pdf b/macros/latex/contrib/tugboat/ltubguid.pdf
index fcca6943fb..ea48ea3b36 100644
--- a/macros/latex/contrib/tugboat/ltubguid.pdf
+++ b/macros/latex/contrib/tugboat/ltubguid.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/tugboat.bst b/macros/latex/contrib/tugboat/tugboat.bst
index d5ed32280f..7fadb59d35 100644
--- a/macros/latex/contrib/tugboat/tugboat.bst
+++ b/macros/latex/contrib/tugboat/tugboat.bst
@@ -1,23 +1,27 @@
-%%% $Id: tugboat.bst 314 2020-11-15 02:06:03Z karl $
+%%% $Id: tugboat.bst 375 2021-06-25 14:40:52Z karl $
%%% TUGboat changes are public domain.
%%%
%%% Modified for TUGboat from abbrvurl.bst:
+%%% New entry types @ctan (see ctanbib) and @online (alias for @misc).
+%%% New field bookauthor for @incollection and @inproceedings.
%%% Abbreviate "page(s)" to "p(p).",
%%% "volume" to "vol.",
%%% "editor(s)" to "ed(s)".
%%% Output "Ph.D." rather than "PhD".
%%% Output "No." and "no." for number field.
+%%% Omit spaces between author initials, like "A.B. Smith".
%%% Set urlintro="".
%%% Always use https://doi.org/ for the doi url, and omit doi: prefix
-%%% (incomplete: doi urls not linked correctly).
-%%% Omit spaces between author initials, like "A.B. Smith".
+%%% (todo: doi urls not linked correctly).
%%% Truncate long author lists in format.names (max.names, trunc.num)
%%% and omit "and" from author lists, per Oren P.
-%%% New field bookauthor for @incollection and @inproceedings.
+%%% Use \emph instead of \em so we get automatic italic corrections.
%%% New fields for editors:
+%%% "journaltie" - ~ instead of space after journal name.
%%% "newpage" - force page break after entry;
+%%% "prebibitem" - material output before \bibitem, with newline appended.
%%% "urlnewline" - force line break before url value;
-%%% "journaltie" - ~ instead of space after journal name.
+%%%
%%% --karl, originally created 24jul18.
%%%
%%% Modification of BibTeX style file /usr/local/texlive/2009/texmf-dist/bibtex/bst/base/abbrv.bst
@@ -69,9 +73,13 @@ ENTRY
pubmed % urlbst
url % urlbst
lastchecked % urlbst
+ date % ctan
+ urldate % ctan
+ version % ctan
+ journaltie % tub
newpage % tub
+ prebibitem % tub
urlnewline % tub
- journaltie % tub
}
{}
{ label }
@@ -246,6 +254,7 @@ FUNCTION {add.inlinelink}
}
if$
}
+
FUNCTION {output.nonnull}
{ % Save the thing we've been asked to output
's :=
@@ -315,8 +324,10 @@ FUNCTION {output.check}
if$
}
+% tub: if prebibitem is nonempty, output it, plus a newline.
FUNCTION {output.bibitem.original} % urlbst (renamed from output.bibitem, so it can be wrapped below)
{ newline$
+ prebibitem empty$ { skip$ } { prebibitem write$ newline$ } if$
"\bibitem{" write$
cite$ write$
"}" write$
@@ -334,6 +345,18 @@ FUNCTION {fin.entry.original} % urlbst (renamed from fin.entry, so it can be wra
newline$
}
+% ctan
+FUNCTION {add.blank}
+{ " " * before.all 'output.state :=
+}
+
+% ctan
+FUNCTION {add.colon}
+{ empty$
+ 'skip$
+ { before.all 'output.state := ":" output add.blank }
+ if$
+}
FUNCTION {new.block}
{ output.state before.all =
@@ -392,10 +415,11 @@ FUNCTION {field.or.null}
if$
}
+% italic correction should not be added before period or comma, so use \emph.
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
- { "{\em " swap$ * "}" * }
+ { "\emph{" swap$ * "}" * }
if$
}
@@ -567,6 +591,15 @@ FUNCTION {format.date}
if$
}
+% output the date field, instead of using month/year.
+FUNCTION {format.date.direct}
+{ date empty$
+ {""}
+ { date }
+ if$
+}
+
+
FUNCTION {format.btitle}
{ title emphasize
}
@@ -753,7 +786,7 @@ FUNCTION {format.article.crossref}
warning$
""
}
- { "In {\em " journal * "\/}" * }
+ { "In \emph{" journal * "}" * }
if$
}
{ "In " key * }
@@ -796,7 +829,7 @@ FUNCTION {format.book.crossref}
crossref * warning$
"" *
}
- { "{\em " * series * "\/}" * }
+ { "\emph{" * series * "}" * }
if$
}
{ key * }
@@ -817,7 +850,7 @@ FUNCTION {format.incoll.inproc.crossref}
crossref * warning$
""
}
- { "In {\em " booktitle * "\/}" * }
+ { "In \emph{" booktitle * "}" * }
if$
}
{ "In " key * }
@@ -880,6 +913,23 @@ FUNCTION {format.url}
if$
}
+FUNCTION {format.urldate}
+{ urldate empty$
+ {""}
+% {'skip$}
+ {"last visited: " urldate *}
+ if$
+}
+
+FUNCTION {format.version}
+{ version empty$
+ {""}
+ {"version " version * }
+ if$
+}
+
+
+
FUNCTION {format.eprint}
{ eprint empty$
{ "" }
@@ -1337,6 +1387,32 @@ FUNCTION {unpublished}
fin.entry
}
+% original for ctan entry:
+%{ output.bibitem
+% format.authors output
+% author add.colon
+% format.title output
+% format.version output
+% note output
+% format.longdate output
+% format.url output
+% format.urldate output
+% fin.entry.original
+%}
+
+% don't like printing urldates; and url is better last. Break up entry.
+FUNCTION {ctan}
+{ output.bibitem
+ format.authors "author" output.check
+ new.block
+ format.title "title" output.check
+ format.version output
+ format.date.direct "date" output.check
+ new.block
+ note "note" output.check
+ fin.entry
+}
+
FUNCTION {default.type} { misc }
MACRO {jan} {"Jan."}
diff --git a/macros/latex/contrib/tugboat/tugboat.dtx b/macros/latex/contrib/tugboat/tugboat.dtx
index 12e7dc6397..6b627b723e 100644
--- a/macros/latex/contrib/tugboat/tugboat.dtx
+++ b/macros/latex/contrib/tugboat/tugboat.dtx
@@ -1,8 +1,8 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 314 2020-11-15 02:06:03Z karl $
+% $Id: tugboat.dtx 376 2021-06-27 16:27:44Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
-% Copyright 1994-2020 TeX Users Group.
+% Copyright 1994-2021 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2020-11-14 v2.24
+ [2021-06-27 v2.25
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -39,13 +39,6 @@
]
% \end{macrocode}
%
-% ^^A behold, a horrible hack...
-% \begin{macrocode}
-%<*dtx>
-\newif\ifoldlongtable
-%</dtx>
-% \end{macrocode}
-%
% \iffalse
%
% Note that the version control Id above relates to the number of times
@@ -65,37 +58,6 @@
%
\usepackage{array,longtable}
%
-% If longtable.sty is not ancient, then it doesn't need
-% \cs{setlongtables}, so we avoid the setlong.tab game.
-\GetFileInfo{longtable.sty}
-\def\extractdate#1/#2/#3\relax{\def\fileyear{#1}%
- \def\filemonth{#2}%
- \def\fileday{#3}}
-\expandafter\extractdate\filedate\relax
-\expandafter\ifnum\fileyear>1996\relax
- \oldlongtablefalse
-\else
- \oldlongtabletrue
- \expandafter\ifnum\fileyear=1996\relax
- \expandafter\ifnum\filemonth>5\relax
- \oldlongtablefalse
- \else
- \expandafter\ifnum\filemonth=5\relax
- \expandafter\ifnum\fileday>23\relax
- \oldlongtablefalse
- \fi
- \fi
- \fi
- \fi
-\fi
-\ifoldlongtable
- \InputIfFileExists{setlong.tab}{}% if this file exists, it should
-% % contain (only) \setlongtables
- {\typeout{*** create a file `setlong.tab' containing only}
- \typeout{***\space\space\space\string\setlongtables}
- \typeout{*** to get the tables of commands, etc., lined up}}
-\fi
-%
\begin{document}
\GetFileInfo{tugboat.dtx}
\title{The \textsf{tugboat} package\thanks{This file
@@ -446,8 +408,6 @@
%
% The section-numbering style, so that we can allow the same heading
% layout as in the plain macros.
-% \changes{v1.4a}{1996/09/14}{Added nonumber and numbersec (default)
-% options}
%
% \begin{macrocode}
\DeclareOption{numbersec}{\let\if@numbersec\iftrue}
@@ -465,6 +425,17 @@
\DeclareOption{runningfull}{\AtEndOfClass{\@tubrunningfull}}
% \end{macrocode}
%
+% Usually we want to print the doi if [final], else not.
+% But sometimes we want to omit it even if [final], namely when we're
+% posting a review or other item early.
+%
+% \begin{macrocode}
+\newif\iftubomitdoioption
+\DeclareOption{omitdoi}{%
+ \tubomitdoioptiontrue
+}
+% \end{macrocode}
+%
% \begin{macro}{\if@tubtwocolumn}
% Occasionally (|tb107jackowski|, and past conference preprints), we
% need the option |onecolumn|. For alternative approaches to one-column
@@ -715,7 +686,7 @@
\def\CPU{\acro{CPU}}
\def\CSczabbr{\ensuremath{\cal C}\kern-.1667em\lower.5ex\hbox{$\cal S$}}
\def\CSS{\acro{CSS}}
-\def\CSTUG{\CSczabbr\acro{TUG}}
+\def\CSTUG{\CSczabbr\kern.05em\acro{TUG}}
\def\CSV{\acro{CSV}}
\def\CTAN{\acro{CTAN}}
\def\DTD{\acro{DTD}}
@@ -797,7 +768,7 @@
%
% \begin{macrocode}
\def\mf{\textsc{Metafont}}
-\def\MFB{\textsl{The \MF\kern1pt book}}
+\def\MFB{\textsl{The \MF\kern.1em\-book}}
\def\MkIV{Mk\acro{IV}}
\let\TB@@mp\mp
\DeclareRobustCommand{\mp}{\ifmmode\TB@@mp\else MetaPost\fi}
@@ -840,6 +811,7 @@
\def\POBox{P.\thinspace O.~Box }
\def\PS{{Post\-Script}}
\def\PSTricks{\acro{PST}ricks}
+\def\RIT{\acro{RIT}}
\def\RTF{\acro{RTF}}
\def\SC{Steering Committee}
\def\SGML{\acro{SGML}}
@@ -851,9 +823,9 @@
\def\STIX{\acro{STIX}}
\def\SVG{\acro{SVG}}
\def\TANGLE{\texttt{TANGLE}\@}
-\def\TB{\textsl{The \TeX book}}
+\def\TB{\textsl{The \TeX\-book}}
\def\TIFF{\acro{TIFF}}
-\def\TP{\textsl{\TeX}: \textsl{The Program}}
+\def\TP{\textsl{\TeX}:\ \textsl{The Program}}
\DeclareRobustCommand{\TeX}{T\kern-.1667em\lower.424ex\hbox{E}\kern-.125emX\@}
\def\TeXhax{\TeX hax}
\def\TeXMaG{\TeX M\kern-.1667em\lower.5ex\hbox{A}%
@@ -863,7 +835,7 @@
\def\TeXworks{\TeX\kern-.07em works}
\def\TeXXeT{\TeX-{}-\XeT}
\def\TFM{\acro{TFM}}
-\ifx\Umathchardef\@thisisundefined % xetex|luatex
+\ifx\Umathchardef\@thisisundefined % not (xetex|luatex)
\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh}% non-XeTeX
\else
\def\Thanh{H\`an~Th\textcircumacute{e}~Th\`anh}% else xunicode drops the acute
@@ -876,7 +848,15 @@
\def\tug{\acro{TUG}}
\def\UG{Users Group}
\def\UNIX{\acro{UNIX}}
-% omit \UTF, since other packages use it for Unicode character access.
+% Don't define \UTF, since other packages use it for Unicode character access.
+% On the other hand, we want a macro for UTF-8 that doesn't break at the -.
+\def\tbUTF{\acro{UTF}\futurelet\@nextchar\@tbUTFcheck}
+ \def\@tbUTFcheck{\ifx\@nextchar-%
+ \mbox{-}\let\next=\tbgobbledash
+ \else
+ \let\next=\empty
+ \fi\next}
+ \def\tbgobbledash-{}
\def\VAX{V\kern-.12em A\kern-.1em X\@}
\def\VnTeX{V\kern-.03em n\kern-.02em \TeX}
\def\VorTeX{V\kern-2.7\p@\lower.5ex\hbox{O\kern-1.4\p@ R}\kern-2.6\p@\TeX}
@@ -889,15 +869,16 @@
%
% Xe\TeX{} requires reflecting the first E, hence we complain if the
% graphics package is not present. (For plain documents, this can be
-% loaded via Eplain.) Also, at Barbara's suggestion, if the current
-% font is slanted, we rotate by 180 instead of reflecting so there is at
-% least a chance to look ok. (The magic values here seem more or less
-% ok for \texttt{cmsl} and \texttt{cmti}.)
+% loaded via \texttt{miniltx} or Eplain.) Also, at Barbara's
+% suggestion, if the current font is slanted, we rotate by 180 instead
+% of reflecting so there is a better chance to look ok. (The magic
+% values here seem more or less ok for \texttt{cmsl} and \texttt{cmti}.)
%
% \begin{macrocode}
\def\tubreflect#1{%
\@ifundefined{reflectbox}{%
- \TBError{A graphics package must be loaded for \string\XeTeX}%
+ \TBError{A graphics package must be loaded to use \string\XeTeX}
+ {Load graphicx or graphics.}%
}{%
\ifdim \fontdimen1\font>0pt
\raise 1.75ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em
@@ -2749,24 +2730,28 @@
% \begin{macrocode}
\newdimen\@tubfullpageindent
\@tubfullpageindent = \if@tubtwocolumn 4.875pc \else 3.875pc \fi
-\let\tubcaptionleftglue=\hfil
% \end{macrocode}
% \end{macro}
%
% One-line captions are normally centered, but sometimes we want to set
-% them flush-left for consistency with other nearby figures.
+% them flush left for consistency with other nearby figures.
% \begin{macro}{\tubcaptionleftglue}
% \begin{macrocode}
\let\tubcaptionleftglue=\hfil
% \end{macrocode}
% \end{macro}
%
-% Ok, here is \cs{@makecaption}.
+% For \TUB, we like 9pt captions to help differentiate from the main text.
% \begin{macrocode}
\def\tubcaptionfonts{\small}%
+% \end{macrocode}
+%
+% Ok, here is \cs{@makecaption}.
+% \begin{macrocode}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
- \sbox\@tempboxa{\tubcaptionfonts \frenchspacing \tubmakecaptionbox{#1}{#2}}% try in an hbox
+ % try in an hbox:
+ \sbox\@tempboxa{\tubcaptionfonts \frenchspacing \tubmakecaptionbox{#1}{#2}}%
\ifdim \wd\@tempboxa > \hsize
{% caption doesn't fit on one line; set as a paragraph.
\tubcaptionfonts \raggedright \hyphenpenalty=\@M \parindent=1em
@@ -2956,7 +2941,7 @@
\def\tubverb@meta##1>{\meta{##1}}
% \end{macrocode}
%
-% The default verbatim defines `'<>,- as active characters to do
+% The default verbatim defines `'<>,- as active characters to
% stop ligatures; remove <> from the list so we get normal characters.
% Just hope that the CM <> ligatures aren't used.
% \begin{macrocode}
@@ -3356,26 +3341,26 @@
%
% Typeset the doi. The format we decided on looks like:
% \texttt{https://doi.org/10.47397/tb/41-3/tb129mansour-nonlatin}
-% where the last element is (usually) the |\jobname|.
+% where the last element is the |\jobname|.
%
% We put this below the footline. The footer definitions above specify
% that it is always called, even if the regular footer is empty.
%
% If the article started in the second column (option [secondcolstart]),
-% have to manually move the doi over.
-%
-% We do not check for validity of |\volno|, etc. For testing, etc.,
-% seems simpler to just typeset what we've got.
+% we manually move the doi over.
%
-% But don't do any of this yet. Maybe for 42:1.
+% We do not check for validity of |\volno|, |\issno|, |\jobname|. For
+% testing, etc., seems simpler to just typeset what we've got. Other
+% scripts will verify consistency.
%
% \begin{macrocode}
%
\def\tubdoiprefix{10.47397/tb} % the number crossref assigned us
%
-\def\notyettubtypesetdoi{\iftubfinaloption % do this if [final], even if pageno>900
+\def\tubtypesetdoi{\iftubomitdoioption\else % if not explicit omission ...
+ \iftubfinaloption % do this if [final], even if pageno>900
\vbox to 0pt{% don't impact normal layout
- \edef\thedoi{\ifnum\value{page}>900 xnot\fi % but make url invalid if >900
+ \edef\thedoi{\ifnum\count0>900 xnot\fi % but make url invalid if >900
doi.org/\tubdoiprefix/\volno-\issno/\jobname}%
\scriptsize
\vskip\baselineskip
@@ -3384,9 +3369,9 @@
\vss
}%
\global\let\tubtypesetdoi\@empty % only do it once, no matter what.
+ \fi
\fi}
%
-\def\tubtypesetdoi{}
%
% \end{macrocode}
%
diff --git a/macros/latex/contrib/tugboat/tugboat.ins b/macros/latex/contrib/tugboat/tugboat.ins
index 05b6476b09..7ebd0fc976 100644
--- a/macros/latex/contrib/tugboat/tugboat.ins
+++ b/macros/latex/contrib/tugboat/tugboat.ins
@@ -1,10 +1,10 @@
-% $Id: tugboat.ins 274 2020-03-12 16:47:21Z karl $
+% $Id: tugboat.ins 376 2021-06-27 16:27:44Z karl $
% tugboat.ins
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1994-2020 TeX Users Group.
+%% Copyright 1994-2021 TeX Users Group.
%%
%% This file is part of the tugboat package.
%%
@@ -38,7 +38,7 @@
This is a generated file.
-Copyright 1994-2020 TeX Users Group.
+Copyright 1994-2021 TeX Users Group.
It may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
diff --git a/macros/latex/contrib/tugboat/tugboat.pdf b/macros/latex/contrib/tugboat/tugboat.pdf
index 0c9ae5b29a..0962006255 100644
--- a/macros/latex/contrib/tugboat/tugboat.pdf
+++ b/macros/latex/contrib/tugboat/tugboat.pdf
Binary files differ