From 36c481b02c4fdfaf33325b9f18834c2357b8eec5 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 28 Jun 2021 03:01:01 +0000 Subject: CTAN sync 202106280301 --- macros/latex/contrib/easybook/easybook.dtx | 206 +++++++------- macros/latex/contrib/easybook/easybook.pdf | Bin 530458 -> 538360 bytes macros/latex/contrib/koma-script/README | 54 ++-- macros/latex/contrib/koma-script/doc/manifest.txt | 2 +- macros/latex/contrib/koma-script/doc/scrguide.pdf | Bin 3271249 -> 3270828 bytes macros/latex/contrib/koma-script/doc/scrguien.pdf | Bin 3186652 -> 3186892 bytes .../english/scrbookreportarticle-experts.tex | 20 +- .../koma-script/source-doc/english/scrhack.tex | 11 +- .../koma-script/source-doc/english/scrwfile.tex | 11 +- .../ngerman/scrbookreportarticle-experts.tex | 22 +- .../koma-script/source-doc/ngerman/scrhack.tex | 9 +- .../koma-script/source-doc/ngerman/scrwfile.tex | 9 +- .../latex/contrib/koma-script/source/scrhack.dtx | 300 +++++++++++---------- .../koma-script/source/scrkernel-basics.dtx | 99 +++++-- .../koma-script/source/scrkernel-compatibility.dtx | 10 +- .../koma-script/source/scrkernel-floats.dtx | 199 +++++--------- .../contrib/koma-script/source/scrkernel-fonts.dtx | 115 ++++---- .../koma-script/source/scrkernel-paragraphs.dtx | 15 +- .../koma-script/source/scrkernel-sections.dtx | 171 +++++++----- .../koma-script/source/scrkernel-version.dtx | 4 +- .../koma-script/source/scrlayer-notecolumn.dtx | 94 ++++--- .../koma-script/source/scrlayer-scrpage.dtx | 39 +-- .../contrib/koma-script/source/scrlfile-hook.dtx | 40 ++- .../koma-script/source/scrlfile-patcholdlatex.dtx | 30 ++- .../latex/contrib/koma-script/source/scrwfile.dtx | 73 +++-- macros/latex/contrib/spbmark/README.md | 11 + macros/latex/contrib/spbmark/spbmark.dtx | 257 ++++++++++++++++++ macros/latex/contrib/spbmark/spbmark.ins | 37 +++ macros/latex/contrib/spbmark/spbmark.pdf | Bin 0 -> 66589 bytes macros/latex/contrib/tugboat/NEWS | 16 +- macros/latex/contrib/tugboat/ltubguid.ltx | 15 +- macros/latex/contrib/tugboat/ltubguid.pdf | Bin 337563 -> 361610 bytes macros/latex/contrib/tugboat/tugboat.bst | 96 ++++++- macros/latex/contrib/tugboat/tugboat.dtx | 121 ++++----- macros/latex/contrib/tugboat/tugboat.ins | 6 +- macros/latex/contrib/tugboat/tugboat.pdf | Bin 464400 -> 493778 bytes 36 files changed, 1319 insertions(+), 773 deletions(-) create mode 100644 macros/latex/contrib/spbmark/README.md create mode 100644 macros/latex/contrib/spbmark/spbmark.dtx create mode 100644 macros/latex/contrib/spbmark/spbmark.ins create mode 100644 macros/latex/contrib/spbmark/spbmark.pdf (limited to 'macros/latex') 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 = % \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 = @@ -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 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf 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 , 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 Binary files a/macros/latex/contrib/koma-script/doc/scrguide.pdf and b/macros/latex/contrib/koma-script/doc/scrguide.pdf 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 Binary files a/macros/latex/contrib/koma-script/doc/scrguien.pdf and b/macros/latex/contrib/koma-script/doc/scrguien.pdf 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 $ %%%% using: package,identify %%%% using: package,option %%%% 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&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 } % % \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 @@ -600,6 +583,23 @@ % \end{verbatim} % Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die % Verzeichniseinträge bietet, verwenden wir die hier nun auch: +% \begin{macrocode} + \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}% + \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax + \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% + \@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}% } -% +% % \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&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 } % % \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 @@ -736,23 +755,6 @@ % \end{verbatim} % Da aber \Package{tocbasic} inzwischen diese schöne Schnittstelle für die % Verzeichniseinträge bietet, verwenden wir die hier nun auch: -% \begin{macrocode} - \DeclareTOCStyleEntry[level=1,numwidth=2.3em,indent=1.5em]{default}{#1}% - \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax - \xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}% - \@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}% } -% +% % \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 $ %%%% (run: prepare) % % % \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} % % \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 % \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 $ %%%% (run: identify) %%%% (run: init) %%%% (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 @@ } % % \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}% +} +% +% \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 @@ % % \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 $ %%%% (run: identify) %%%% (run: init) %%%% (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 @@ %\ProvidesPackage{scrwfile} %\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> \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 +% +% 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} +% +% \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 = +% super-hshift = +% sub-vshift = +% sub-hshift = +% supersubsep = +% supersubalign = +% \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 } } +% +\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 +% +% 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 + +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 Binary files /dev/null and b/macros/latex/contrib/spbmark/spbmark.pdf 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 Binary files a/macros/latex/contrib/tugboat/ltubguid.pdf and b/macros/latex/contrib/tugboat/ltubguid.pdf 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 @@ %\ProvidesPackage{ltugboat} %\ProvidesPackage{ltugproc} % \ProvidesPackage{ltugcomn} - [2020-11-14 v2.24 + [2021-06-27 v2.25 % TUGboat journal class% % TUG conference proceedings class% % TUG compatibility package% @@ -39,13 +39,6 @@ ] % \end{macrocode} % -% ^^A behold, a horrible hack... -% \begin{macrocode} -%<*dtx> -\newif\ifoldlongtable -% -% \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 Binary files a/macros/latex/contrib/tugboat/tugboat.pdf and b/macros/latex/contrib/tugboat/tugboat.pdf differ -- cgit v1.2.3