summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/cdcmd/README.md33
-rw-r--r--macros/latex/contrib/cdcmd/doc/cdcmd-cn.pdfbin0 -> 79667 bytes
-rw-r--r--macros/latex/contrib/cdcmd/doc/cdcmd-cn.tex175
-rw-r--r--macros/latex/contrib/cdcmd/doc/cdcmd.pdfbin0 -> 530775 bytes
-rw-r--r--macros/latex/contrib/cdcmd/source/cdcmd.dtx1053
-rw-r--r--macros/latex/contrib/cdcmd/source/cdcmd.ins73
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx14
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin887688 -> 887895 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx31
-rw-r--r--macros/latex/contrib/l3backend/l3backend-draw.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-graphics.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-header.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-opacity.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md10
-rw-r--r--macros/latex/contrib/l3kernel/README.md2
-rw-r--r--macros/latex/contrib/l3kernel/expl3.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/expl3.pdfbin623498 -> 623104 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1741266 -> 1740850 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3bootstrap.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3box.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/l3candidates.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3cctab.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3clist.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3coffins.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/l3color.dtx11
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3doc.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3docstrip.pdfbin151769 -> 151359 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3expan.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3file.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3flag.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-assign.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-aux.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-basics.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-expo.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-extended.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-logic.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-parse.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-random.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-round.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-traps.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp-trig.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fp.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3fparray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3int.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3intarray.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3kernel-functions.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3keys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3legacy.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3luatex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3msg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3names.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3news.pdfbin401835 -> 395907 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin122732 -> 122713 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin150693 -> 150672 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin154662 -> 148707 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin114607 -> 114588 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin112505 -> 112485 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin151593 -> 151572 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin128332 -> 128312 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin163476 -> 163455 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin256092 -> 250134 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin156264 -> 150289 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin176059 -> 170069 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin210951 -> 204992 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3pdf.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.csv11
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin80722 -> 80876 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3prg.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prop.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3quark.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3regex.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3seq.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3skip.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3sort.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str-convert.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3str.dtx4
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin296224 -> 295815 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin242890 -> 242490 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3sys.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.pdfbin231280 -> 230879 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3term-glossary.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-case.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text-purify.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3text.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl-analysis.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3tl.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3token.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3unicode.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/source3.pdfbin6837536 -> 6837525 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/README.md8
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin574086 -> 552104 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin622116 -> 598747 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin594859 -> 571494 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin583234 -> 559865 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin589937 -> 566760 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin655456 -> 634102 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin558963 -> 536024 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin682571 -> 661840 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin550790 -> 527277 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin586895 -> 563525 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin647245 -> 627457 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib6
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex30
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex24
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex32
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty28
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo48
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo20
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls19
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls201
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls35
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg120
155 files changed, 1904 insertions, 366 deletions
diff --git a/macros/latex/contrib/cdcmd/README.md b/macros/latex/contrib/cdcmd/README.md
new file mode 100644
index 0000000000..8c4f7028e5
--- /dev/null
+++ b/macros/latex/contrib/cdcmd/README.md
@@ -0,0 +1,33 @@
+Abstract
+----
+The `cdcmd` package provides some conditional command, just like `styledcmd`
+package. The difference is `cdcmd` can define expandable command.
+
+See `cdcmd.pdf` (in English) or `cdcmd-cn.pdf` (in Chinese) for more details.
+
+Contributing
+----
+[Issues](https://github.com/Sophanatprime/cdcmd/issues) and
+[pull requests](https://github.com/Sophanatprime/cdcmd/pulls)
+are always welcome.
+
+Copyright and license
+----
+Copyright (C) 2021--2021
+Wenjian Chern (Longaster) and any individual authors listed elsewhere in this file.
+--------------------------------------------------------------------------
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained`.
+
+The Current Maintainers of this work are Wenjian Chern (Longaster).
+--------------------------------------------------------------------------
diff --git a/macros/latex/contrib/cdcmd/doc/cdcmd-cn.pdf b/macros/latex/contrib/cdcmd/doc/cdcmd-cn.pdf
new file mode 100644
index 0000000000..c99eb26d0c
--- /dev/null
+++ b/macros/latex/contrib/cdcmd/doc/cdcmd-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/cdcmd/doc/cdcmd-cn.tex b/macros/latex/contrib/cdcmd/doc/cdcmd-cn.tex
new file mode 100644
index 0000000000..09be66042c
--- /dev/null
+++ b/macros/latex/contrib/cdcmd/doc/cdcmd-cn.tex
@@ -0,0 +1,175 @@
+\documentclass{ctxdoc}
+\usepackage{xcolor}
+\usepackage{cdcmd}
+\title{\pkg{cdcmd},一跟可扩展的条件化命令宏包}
+\author{雾月, Longaster\thanks{Email: \url{longaster@163.com}}}
+\date{\today v1.0}
+
+
+\begin{document}
+\maketitle
+
+\pkg{cdcmd} 提供了条件化命令的方式,与 \pkg{styledcmd} 宏包不同,该宏包的某些命令是可 \verb|f-|扩展的,这在某些情况下是有用的。
+
+\section{主要接口}
+
+\begin{function}{\newcondition,\setcondition,\clearcondition}
+ \begin{syntax}
+ \cs{newcondition} \marg{identifier} \marg{id(s)}
+ \cs{setcondition} + \marg{identifier=ids list}
+ \cs{clearcondition}\oarg{identifier(s)}
+ \end{syntax}
+ \cs{newcondition} 定义 \meta{identifier} 的 \meta{ids}。\meta{identifier} 两侧的空格将被移除。
+
+ \cs{setcondition} 设置在当前组中有效的 \meta{id}。不带 \verb|+| 的版本将局部地清除原先设置的 \meta{identifier} 的ids。
+
+ \meta{identifier}、\meta{id} 均不能为 \verb|*|。
+
+ \cs{clearcondition} 局部地清除指定的 \meta{identifiers},默认值为 \verb|*|,即清除所有。
+\end{function}
+
+\begin{function}{
+ \conditionif,\conditioncmd,
+ \econditionif,\econditioncmd,
+}
+ \begin{syntax}
+ \cs{conditionif} * \oarg{identifier=ids list} \marg{true} \marg{false}
+ \cs{conditioncmd} * \oarg{identifier=ids list} \marg{material}
+ \end{syntax}
+ 当 \meta{identifier=ids list} 的组合使得当前条件为真时,使用 \meta{true}、\meta{material},为假时,使用 \meta{false}。
+
+ 不带 \verb|*| 的版本为 \verb|any|,带 \verb|*| 的为 \verb|all|。详见下方的说明。
+
+ \cs{econditionif}、\cs{econditioncmd} 为可 \verb|f|-扩展的。
+ \cs{conditionif}、\cs{conditioncmd} 为不可扩展(\tn{protected})的。
+
+ \meta{identifier=ids list} 默认值为 \verb|*|,即在默认情况下将输出 \meta{true}、\meta{material}。
+\end{function}
+
+\begin{function}{
+ \conditioncase,\conditioncaseTF,
+ \econditioncase,\econditioncaseTF
+}
+ \begin{syntax}
+ \cs{conditioncaseTF} * !
+ ~~\{
+ ~~~~\marg{identifier-ids list case_1} \marg{code_1}
+ ~~~~\marg{identifier-ids list case_2} \marg{code_2}
+ ~~~~...
+ ~~~~\marg{identifier-ids list case_n} \marg{code_n}
+ ~~\}
+ ~~\marg{true code}
+ ~~\marg{false code}
+ \end{syntax}
+ \verb|!| 未给出时,依次计算 \meta{identifier-ids list cases},直到遇到第一个 \meta{case} 为\emph{真},输出对应的 \meta{code} 与 \meta{true code},若未成功匹配,则输出 \meta{false code}。
+
+ \verb|!| 给出时,依次计算 \meta{identifier-ids list cases},直到遇到第一个 \meta{case} 为\emph{假},输出对应的 \meta{code} 与 \meta{true code},若未成功匹配,则输出 \meta{false code}。
+\end{function}
+
+\begin{texnote}
+ 对 \meta{ids} 的处理使用的是 \LaTeX3 的 \cs{clist_map_...},它们将形如 \verb|{,}| 的list视为空,形如 \verb|{{},}| 视为非空。
+\end{texnote}
+
+假定已经使用了如下命令:
+\begin{verbatim}
+ \newcondition{defined}{}
+ \newcondition{paper}{a4,a5,b5}
+ \setcondition{paper={a5,b5}}
+\end{verbatim}
+即 \verb|defined| 已被 \cs{newcondition} 定义且无id,\verb|paper| 已被 \cs{newcondition} 定义且有 \verb|a4,b5,a5| 三个id,其中 \verb|a5,b5| 已被设置,\verb|undefined| 未被定义。
+
+\verb|any| 在满足如下条件之一为真:
+\begin{enumerate}
+ \item \meta{identifier=ids list} 为 \verb|*|;
+ \item \meta{identifier=ids list} 为一个已被定义的 \meta{identifier},且未给出 \meta{id} 值 ,即 \meta{identifier=ids list} 为 \verb|paper| 或 \verb|defined|;
+ \item \meta{identifier=ids list} 为一个已被定义的 \meta{identifier},且 \meta{id} 值为 \verb|*|,即 \meta{identifier=ids list} 为 \verb|paper=*| 或 \verb|defined=*|;
+ \item \meta{identifier=ids list} 为一个已被定义的 \meta{identifier},且给出的 \meta{ids} 中\emph{有}被设置的id,即 \meta{identifier=ids list} 为 \verb|paper=b5| 或 \verb|paper={a5,b5}| 或 \verb|paper={a5,a0}| (\verb|a0| 未设置,但 \verb|a5| 已设置)。注意 \verb|defined| 给出的任何除 \verb|*| 之外的 \meta{ids} 值都将使得条件为假,即使是空值(\verb|defined=|);
+ \item \meta{identifier=ids list} 中\emph{任意一项}满足如上4点之一,如 \verb|paper={a5,a0},undefined|。
+\end{enumerate}
+
+\verb|all| 在满足如下条件之一为真:
+\begin{enumerate}
+ \item \meta{identifier=ids list} 为 \verb|*|;
+ \item \meta{identifier=ids list} 为一个已被定义的 \meta{identifier},且未给出 \meta{id} 值 ,即 \meta{identifier=ids list} 为 \verb|paper| 或 \verb|defined|;
+ \item \meta{identifier=ids list} 为一个已被定义的 \meta{identifier},且 \meta{id} 值为 \verb|*|,即 \meta{identifier=ids list} 为 \verb|paper=*| 或 \verb|defined=*|;
+ \item \meta{identifier=ids list} 为一个已被定义的 \meta{identifier},且给出的 \meta{ids} \emph{均}被设置,即 \meta{identifier=ids list} 为 \verb|paper=b5| 或 \verb|paper={a5,b5}|。注意 \verb|defined| 给出的任何除 \verb|*| 之外的 \meta{id} 值都将使得条件为假,即使是空值(\verb|defined=|);
+ \item \meta{identifier=ids list} 中\emph{所有项均}满足如上4点之一,如 \verb|paper={a5,b5},defined|。
+\end{enumerate}
+
+\begin{function}{
+ \newconditioncommand,
+ \renewconditioncommand,
+ \provideconditioncommand,
+ \declareconditioncommand,
+ \neweconditioncommand,
+ \reneweconditioncommand,
+ \provideeconditioncommand,
+ \declareeconditioncommand,
+}
+ \begin{syntax}
+ \cs{newconditioncommand} * \meta{function} \oarg{arg nums} \oarg{default} \marg{code}
+ \cs{neweconditioncommand} * \meta{function} \oarg{arg nums} \marg{code}
+ \end{syntax}
+ 这些命令与 \LaTeXe{} 的命令相对应。\cs{newconditioncommand} 命令正如 \LaTeXe{} 的 \tn{newcommand} 命令。它们将定义形如 \verb|\foo+|\marg{identifier=ids list}\meta{args} 的命令。定义的命令的可选参数不可包含 \tn{par}。
+
+ \cs{neweconditioncommand} 命令定义的是可扩展的命令,不可设置默认参数。但可使用 \pkg{xparse} 形式的命令定义可设置默认值的参数。
+
+ 不带 |*| 的版本定义的命令是 \tn{long} 的。即其参数可以包含多个段落。
+\end{function}
+
+\begin{function}{
+ \NewConditionCommand ,
+ \RenewConditionCommand ,
+ \ProvideConditionCommand ,
+ \DeclareConditionCommand ,
+ \NewExpandableConditionCommand ,
+ \RenewExpandableConditionCommand ,
+ \ProvideExpandableConditionCommand ,
+ \DeclareExpandableConditionCommand ,
+}
+ \begin{syntax}
+ \cs{NewConditionCommand} \meta{function} \marg{arg spec} \marg{code}
+ \end{syntax}
+ 这些命令与 \pkg{xparse} 宏包的命令相对应。它们将定义形如 \verb|\foo+|\marg{identifier=ids list}\meta{args} 的命令。
+
+ \meta{arg spec} 应符合 \pkg{xparse} 宏包相应命令的规则。
+
+ 其中带 \verb|+| 的命令为 |all|,不带 \verb|+| 的为 |any|。\meta{identifier=ids list} 的含义如上所述。\meta{args} 为
+ 由 \meta{arg spec} 定义的参数。
+\end{function}
+
+
+\section{例子}
+
+\input{cdcmd-test.tex}
+
+
+\section{For package author}
+
+\begin{function}[pTF]{
+ \cdcmd_any_if:n,
+ \cdcmd_all_if:n,
+ \cdcmd_any_if:o,
+ \cdcmd_all_if:o,
+ \cdcmd_any_if:V,
+ \cdcmd_all_if:V,
+ \cdcmd_any_if:f,
+ \cdcmd_all_if:f,
+}
+ 它们的含义应该是显然的。
+\end{function}
+
+\begin{function}[TF]{
+ \cdcmd_any_case_true:n,
+ \cdcmd_any_case_false:n,
+ \cdcmd_all_case_true:n,
+ \cdcmd_all_case_false:n,
+}
+ 它们的含义应该是显然的。
+\end{function}
+
+\section{实现}
+
+见 \href{./cdcmd.pdf}{cdcmd.pdf}
+
+\end{document}
diff --git a/macros/latex/contrib/cdcmd/doc/cdcmd.pdf b/macros/latex/contrib/cdcmd/doc/cdcmd.pdf
new file mode 100644
index 0000000000..2ed91deeff
--- /dev/null
+++ b/macros/latex/contrib/cdcmd/doc/cdcmd.pdf
Binary files differ
diff --git a/macros/latex/contrib/cdcmd/source/cdcmd.dtx b/macros/latex/contrib/cdcmd/source/cdcmd.dtx
new file mode 100644
index 0000000000..8420586097
--- /dev/null
+++ b/macros/latex/contrib/cdcmd/source/cdcmd.dtx
@@ -0,0 +1,1053 @@
+%\iffalse meta-comment
+%<*internal>
+\iffalse
+%</internal>
+%<*readme>
+Abstract
+----
+The `cdcmd` package provides some conditional command, just like `styledcmd`
+package. The difference is `cdcmd` can define expandable command.
+
+See `cdcmd.pdf` (in English) or `cdcmd-cn.pdf` (in Chinese) for more details.
+
+Contributing
+----
+[Issues](https://github.com/Sophanatprime/cdcmd/issues) and
+[pull requests](https://github.com/Sophanatprime/cdcmd/pulls)
+are always welcome.
+
+Copyright and license
+----
+Copyright (C) 2021--2021
+Wenjian Chern (Longaster) and any individual authors listed elsewhere in this file.
+--------------------------------------------------------------------------
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of
+LaTeX version 2005/12/01 or later.
+
+This work has the LPPL maintenance status `maintained`.
+
+The Current Maintainers of this work are Wenjian Chern (Longaster).
+--------------------------------------------------------------------------
+%</readme>
+%<*internal>
+\fi
+%</internal>
+%\fi
+%\iffalse
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\RequirePackage{expl3}[2021/05/11]
+%<package>\GetIdInfo$Id: cdcmd.dtx 1.0 2021/10/12 +0815 Longaster$
+%<package> {Expandable Conditional Command In LaTeX2e}
+%<package>\ProvidesExplPackage{cdcmd}
+%<package> {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
+%<*driver>
+\documentclass{l3doc}
+\usepackage{xcolor}
+\usepackage{cdcmd}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+%\fi
+%
+%\GetFileInfo{cdcmd.sty}
+% \title{The \pkg{cdcmd} package}
+%
+% \author{Wenjian Chern
+% (Longaster\thanks{Email: \url{longaster@163.com}}~)}
+%
+% \date{Released \today, version \fileversion}
+%
+% \maketitle
+%
+% \begin{documentation}
+% \ExplSyntaxOn \let\strcmp\tex_strcmp:D \ExplSyntaxOff
+%
+% \begin{abstract}
+% \pkg{cdcmd} is a package that allows you define `polymorphic' command. Like \pkg{styledcmd} package,
+% you can define \tn{protected} command, but \pkg{cdcmd} can define expandable conditional command as well.
+% \end{abstract}
+%
+%\section{Main Interface}
+%
+%\begin{function}{\newcondition,\setcondition,\clearcondition}
+% \begin{syntax}
+% \cs{newcondition} \marg{identifier} \marg{id(s)}
+% \cs{setcondition} + \marg{identifier=ids list}
+% \cs{clearcondition}\oarg{identifier(s)}
+% \end{syntax}
+% \cs{newcondition} new \meta{identifier} and its \meta{ids}.
+% The leading and trailing spaces in \meta{identifier} will be removed.
+%
+% \cs{setcondition} sets \meta{ids} of \meta{identifier} locally.
+% The un-\verb|+| version will clear \meta{ids} formerly set.
+%
+% Both \meta{identifier} and \meta{id} cannot be \verb|*|.
+%
+% \cs{clearcondition} will clear ids from given \meta{identifiers} locally. Default value is \verb|*|, that is, clear all.
+%\end{function}
+%
+%\begin{function}{
+% \conditionif,\conditioncmd,
+% \econditionif,\econditioncmd,
+%}
+% \begin{syntax}
+% \cs{conditionif} * \oarg{identifier=ids list} \marg{true} \marg{false}
+% \cs{conditioncmd} * \oarg{identifier=ids list} \marg{material}
+% \end{syntax}
+% When the \meta{identifier=ids list} makes \texttt{true} condition, leave \meta{true}/\marg{material} in the input stream.
+% Leaving \meta{false} when the condition is \texttt{false}.
+%
+% The starred version is \texttt{all}, unstarred version is \text{any}.
+% See below for more details.
+%
+% The \cs{econditionif} and \cs{econditioncmd} are expandable (\verb|f-|expandable).
+% \cs{conditionif}, \cs{conditioncmd} are \tn{protected}.
+%
+% The default value of \meta{identifier=id list} is \verb|*|, will leave \meta{true}/\meta{material} in the input stream.
+%\end{function}
+%
+%\begin{function}{
+% \conditioncase,\conditioncaseTF,
+% \econditioncase,\econditioncaseTF
+%}
+% \begin{syntax}
+% \cs{conditioncaseTF} * !
+% ~~\{
+% ~~~~\marg{identifier=ids list case_1} \marg{code_1}
+% ~~~~\marg{identifier=ids list case_2} \marg{code_2}
+% ~~~~...
+% ~~~~\marg{identifier=ids list case_n} \marg{code_n}
+% ~~\}
+% ~~\marg{true code}
+% ~~\marg{false code}
+% \end{syntax}
+% Evaluates in turn each of the \meta{identifier=ids list} until the first one that evaluates
+% to \texttt{true} or to \texttt{false}, for un-\verb|!| version or \verb|!| version, respectively.
+% The \meta{code} associated to this first case is left in the input stream, followed by the \meta{true code},
+% and other cases are discarded. If none of the cases match then only the \meta{false code} is inserted.
+%
+% The unstarred version is \verb|any|, starred version is \verb|all|.
+%\end{function}
+%
+%\begin{texnote}
+% The process in \meta{ids} is using \cs{clist_map_...} of \LaTeX3. It will view \verb|{,}| as empty,
+% while \verb|{{},}| are not. See \pkg{interface3.pdf} for more details.
+%\end{texnote}
+%
+% Supposing following commands have been used.
+%\begin{verbatim}
+% \newcondition{defined}{}
+% \newcondition{paper}{a4,a5,b5}
+% \setcondition{paper={a5,b5}}
+%\end{verbatim}
+% It will define an identifier named \verb|defined|, which has not id.
+% And define an identifier named \verb|paper|, which has three ids: \verb|a4, a5, b5|.
+% Then set two ids: \verb|a5,b5| for \verb|paper| identifier.
+%
+% \verb|any| will be evaluated to \texttt{true} if \meta{identifier=ids list}
+% matches any of one statement described followed:
+%\begin{enumerate}
+% \item \meta{identifier=ids list} is exactly \verb|*|;
+% \item \meta{identifier=ids list} is exactly a defined $\mathit{identifier}$, such as \verb|paper|, or \verb|defined|;
+% \item \meta{identifier=ids list} is a defined $\mathit{identifier}$, and its \meta{id} is \verb|*|, such as \verb|paper=*| or \verb|defined=*|;
+% \item \meta{identifier=ids list} is a defined $\mathit{identifier}$, and \emph{one of} item in \meta{ids} has been set, such as \verb|paper=b5| or \verb|paper={a5,b5}| or \verb|paper={a5,a0}| (\verb|a0| unset, but \verb|a5| already set. Any id set to \meta{identifier} \verb|defined| will evaluate to \texttt{false}, except \verb|*|, because the $\mathit{identifier}$ never have defined id, even the \meta{ids} is empty (\verb|defined=|);
+% \item \emph{Any} single item in \meta{identifier=ids list} matches any statements listed above, such as \verb|paper={a5,a0},undefined|.
+%\end{enumerate}
+%
+% \verb|all| will be evaluated to \text{true} if \meta{identifier=ids list}
+% matches any of one statement described followed.
+%\begin{enumerate}
+% \item \meta{identifier=ids list} is exactly \verb|*|;
+% \item \meta{identifier=ids list} is exactly a defined $\mathit{identifier}$, such as \verb|paper|, or \verb|defined|;
+% \item \meta{identifier=ids list} is a defined $\mathit{identifier}$, and its \meta{id} is \verb|*|, such as \verb|paper=*| or \verb|defined=*|;
+% \item \meta{identifier=ids list} is a defined $\mathit{identifier}$, and \emph{all of} the \meta{ids} has been set, such as \verb|paper=b5| or \verb|paper={a5,b5}|. The any id set to \meta{identifier} \verb|defined| will evaluate to \texttt{false}, except \verb|*|, because the $\mathit{identifier}$ never have defined id, even the \meta{ids} is empty (\verb|defined=|);
+% \item \emph{All} items in \meta{identifier=ids list} match any statements listed above, such as \verb|paper={a5,b5},defined|.
+%\end{enumerate}
+%
+%\begin{function}{
+% \newconditioncommand,
+% \renewconditioncommand,
+% \provideconditioncommand,
+% \declareconditioncommand,
+% \neweconditioncommand,
+% \reneweconditioncommand,
+% \provideeconditioncommand,
+% \declareeconditioncommand,
+%}
+% \begin{syntax}
+% \cs{newconditioncommand} * \meta{function} \oarg{arg nums} \oarg{default} \marg{code}
+% \cs{neweconditioncommand} * \meta{function} \oarg{arg nums} \marg{code}
+% \end{syntax}
+% Those commands are just like \tn{newcommand}, \tn{renewcommand}, etc. They will define command like
+% \verb|\foo+|\marg{identifier=ids list}\meta{args}. The optional argument cannot contain \tn{par}.
+%
+% The \verb|e|-version commands define expandable command, and cannot set default value.
+% However you can use \pkg{xparse}-like command illustrated followed,
+% which can set default value.
+%
+% Unstarred version is \tn{long}, just like \LaTeX's.
+%
+% The new \meta{function} will take one optional argument: \verb|+|, the function is just like
+% the \verb|*| in \cs{conditionif}, etc. And one mandatory argument \meta{identifier=ids list}.
+% After absorbing these two arguments, then absorb arguments of given \meta{arg nums}, or use \meta{default}, if given.
+%\end{function}
+%
+%\begin{function}{
+% \NewConditionCommand ,
+% \RenewConditionCommand ,
+% \ProvideConditionCommand ,
+% \DeclareConditionCommand ,
+% \NewExpandableConditionCommand ,
+% \RenewExpandableConditionCommand ,
+% \ProvideExpandableConditionCommand ,
+% \DeclareExpandableConditionCommand ,
+%}
+% \begin{syntax}
+% \cs{NewConditionCommand} \meta{function} \marg{arg spec} \marg{code}
+% \end{syntax}
+% Those commands are just like \pkg{xparse}'s \cs{NewDocumentCommand}, etc.
+% They will define command like \verb|\foo+|\marg{identifier=ids list}\meta{args}.
+%
+% \meta{arg spec} must follow the rules of the \pkg{xparse} package.
+%
+% The new \meta{function} will take one optional argument: \verb|+|, the function is just like
+% the \verb|*| in \cs{conditionif}, etc. And one mandatory argument \meta{identifier=ids list}.
+% After absorbing these two arguments, then absorb arguments of given \meta{arg spec}.
+%\end{function}
+%
+% \section{Examples}
+%
+% \input{cdcmd-test.tex}
+%
+% \section{For package authors}
+%
+% \begin{function}[pTF]{
+% \cdcmd_any_if:n,
+% \cdcmd_all_if:n,
+% \cdcmd_any_if:o,
+% \cdcmd_all_if:o,
+% \cdcmd_any_if:V,
+% \cdcmd_all_if:V,
+% \cdcmd_any_if:f,
+% \cdcmd_all_if:f,
+% }
+% The meaning should be obvious.
+% \end{function}
+%
+% \begin{function}[TF]{
+% \cdcmd_any_case_true:n,
+% \cdcmd_any_case_false:n,
+% \cdcmd_all_case_true:n,
+% \cdcmd_all_case_false:n,
+% }
+% The meaning should be obvious.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{Implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+% \begin{macrocode}
+%<@@=cdcmd>
+% \end{macrocode}
+% \begin{macrocode}
+\str_const:Nn \c_cdcmd_all_str { * }
+\clist_new:N \g__cdcmd_clist
+\bool_new:N \l__cdcmd_clear_set_bool
+\msg_new:nnn { cdcmd } { condition-exist }
+ { The~ condition~ `#1'~ you~ try~ to~ new~ already~ exists. }
+\msg_new:nnn { cdcmd } { condition-not-exist }
+ { The~ condition~ `#1'~ not~ exists. }
+\msg_new:nnn { cdcmd } { condition-id-not-exist }
+ { The~ id~ `#2' of~ condition~ `#1'~ not~ exists. }
+% \end{macrocode}
+% \begin{macro}[pTF]{\cdcmd_if_exist:n}
+% Condition \meta{indentifier} if exist.
+% \begin{macrocode}
+\prg_new_conditional:Npnn \cdcmd_if_exist:n #1 { p, T, F, TF }
+ {
+ \clist_if_exist:cTF { c__cdcmd_condition@ #1 _clist }
+ { \prg_return_true: } { \prg_return_false: }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[TF]{\cdcmd_cd_id_if_exist:nn}
+% ID \meta{id} of condition \meta{indentifier} if exist.
+% \begin{macrocode}
+\prg_new_conditional:Npnn \cdcmd_cd_id_if_exist:nn #1#2 { T, F, TF }
+ {
+ \clist_if_in:cnTF { c__cdcmd_condition@ #1 _clist } {#2}
+ { \prg_return_true: } { \prg_return_false: }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{
+% \cdcmd_new:nn,
+% \cdcmd_set:nn,
+% \cdcmd_set_cdcmd_single:nn,
+% \cdcmd_set_cdcmd_all:n,
+% \cdcmd_set:n,
+% \cdcmd_clear_set:n,
+% }
+% \begin{macrocode}
+\cs_new_nopar:Npn \cdcmd_new:nn #1#2
+ {
+ \cdcmd_if_exist:nTF {#1}
+ { \msg_error:nnn { cdcmd } { condition-exist } {#1} }
+ {
+ \clist_gput_right:Nn \g__cdcmd_clist {#1}
+ \clist_const:cn { c__cdcmd_condition@ #1 _clist } {#2}
+ \clist_new:c { l__cdcmd_curr_condition@ #1 _clist }
+ }
+ }
+\cs_new_nopar:Npn \cdcmd_set:nn #1#2
+ {
+ \cdcmd_if_exist:nTF {#1}
+ {
+ \bool_if:NT \l__cdcmd_clear_set_bool
+ { \clist_clear:c { l__cdcmd_curr_condition@ #1 _clist } }
+ \clist_map_inline:nn {#2}
+ {
+ \str_if_eq:eeTF {##1} { \c_cdcmd_all_str }
+ { \clist_map_break:n { \cdcmd_set_cdcmd_all:n {#1} } }
+ { \cdcmd_set_cdcmd_single:nn {#1} {##1} }
+ }
+ }
+ { \msg_warning:nnn { cdcmd } { condition-not-exist } {#1} }
+ }
+\cs_new_nopar:Npn \cdcmd_set_cdcmd_single:nn #1#2
+ {
+ \cdcmd_if_exist:nTF {#1}
+ {
+ \cdcmd_cd_id_if_exist:nnTF {#1} {#2}
+ { \clist_put_right:cn { l__cdcmd_curr_condition@ #1 _clist } {#2} }
+ { \msg_warning:nnnn { cdcmd } { condition-id-not-exist } {#1} {#2} }
+ }
+ { \msg_warning:nnn { cdcmd } { condition-not-exist } }
+ }
+\cs_new_nopar:Npn \cdcmd_set_cdcmd_all:n #1
+ {
+ \cdcmd_if_exist:nTF {#1}
+ {
+ \clist_set_eq:cc
+ { l__cdcmd_curr_condition@ #1 _clist }
+ { c__cdcmd_condition@ #1 _clist }
+ }
+ { \msg_warning:nnn { cdcmd } { condition-not-exist } {#1} }
+ }
+\cs_new_nopar:Npn \cdcmd_set:n
+ { \keyval_parse:NNn \cdcmd_set_cdcmd_all:n \cdcmd_set:nn }
+\cs_new_nopar:Npn \cdcmd_clear_set:n #1
+ {
+ \bool_set_true:N \l__cdcmd_clear_set_bool
+ \keyval_parse:NNn \cdcmd_set_cdcmd_all:n \cdcmd_set:nn {#1}
+ \bool_set_false:N \l__cdcmd_clear_set_bool
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[pTF]{
+% \cdcmd_any_if:n,
+% \cdcmd_any_if:o,
+% \cdcmd_any_if:V,
+% \cdcmd_any_if:f,
+% }
+% \begin{macrocode}
+\cs_new:Npn \cdcmd_any_if:nTF #1
+ {
+ \bool_if:nTF
+ {
+ \keyval_parse:NNn
+ \__cdcmd_any_i:n \__cdcmd_any_ii:nn {#1}
+ \c_false_bool
+ }
+ }
+\cs_new:Npn \cdcmd_any_if_p:n #1
+ {
+ \bool_if_p:n
+ {
+ \keyval_parse:NNn
+ \__cdcmd_any_i:n \__cdcmd_any_ii:nn {#1}
+ \c_false_bool
+ }
+ }
+\cs_new:Npn \cdcmd_any_if:nT #1#2 { \cdcmd_any_if:nTF {#1} {#2} { } }
+\cs_new:Npn \cdcmd_any_if:nF #1 { \cdcmd_any_if:nTF {#1} { } }
+\cs_new:Npn \cdcmd_any_if:nFT #1#2#3 { \cdcmd_any_if:nTF {#1} {#3} {#2} }
+\prg_generate_conditional_variant:Nnn \cdcmd_any_if:n { o, V, f } { p, T, F, TF }
+\cs_new:Npn \__cdcmd_any_i:n #1
+ {
+ \str_if_eq:eeTF {#1} { \c_cdcmd_all_str }
+ { \c_true_bool || }
+ { \cdcmd_if_exist:nT {#1} { \c_true_bool || } }
+ }
+\cs_new:Npn \__cdcmd_any_ii:nn #1#2
+ {
+ \cdcmd_if_exist:nT {#1}
+ {
+ \clist_map_tokens:nn {#2}
+ { \__cdcmd_any_ii_aux:nn {#1} }
+ }
+ }
+\cs_new:Npn \__cdcmd_any_ii_aux:nn #1#2
+ {
+ \str_if_eq:eeTF {#2} { \c_cdcmd_all_str }
+ { \clist_map_break:n { \tex_the:D \c_true_bool || } }
+ {
+ \__cdcmd_clist_if_in:cnT { l__cdcmd_curr_condition@ #1 _clist } {#2}
+ { \clist_map_break:n { \tex_the:D \c_true_bool || } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[pTF]{
+% \cdcmd_all_if:n,
+% \cdcmd_all_if:o,
+% \cdcmd_all_if:V,
+% \cdcmd_all_if:f,
+% }
+% \begin{macrocode}
+\cs_new:Npn \cdcmd_all_if:nTF #1
+ {
+ \bool_if:nTF
+ {
+ \keyval_parse:NNn
+ \__cdcmd_all_i:n \__cdcmd_all_ii:nn {#1}
+ \c_true_bool
+ }
+ }
+\cs_new:Npn \cdcmd_all_if_p:n #1
+ {
+ \bool_if_p:n
+ {
+ \keyval_parse:NNn
+ \__cdcmd_all_i:n \__cdcmd_all_ii:nn {#1}
+ \c_true_bool
+ }
+ }
+\cs_new:Npn \cdcmd_all_if:nT #1#2 { \cdcmd_all_if:nTF {#1} {#2} { } }
+\cs_new:Npn \cdcmd_all_if:nF #1 { \cdcmd_all_if:nTF {#1} { } }
+\cs_new:Npn \cdcmd_all_if:nFT #1#2#3 { \cdcmd_all_if:nTF {#1} {#3} {#2} }
+\prg_generate_conditional_variant:Nnn \cdcmd_all_if:n { o, V, f } { p, T, F, TF }
+\cs_new:Npn \__cdcmd_all_i:n #1
+ {
+ \str_if_eq:eeF {#1} { \c_cdcmd_all_str }
+ { \cdcmd_if_exist:nF {#1} { \c_false_bool && } }
+ }
+\cs_new:Npn \__cdcmd_all_ii:nn #1#2
+ {
+ \cdcmd_if_exist:nTF {#1}
+ {
+ \bool_lazy_and_p:nn
+ { \int_compare_p:n { \clist_count:n {#2} > 0 } }
+ {
+ \int_compare_p:n
+ { \clist_map_tokens:nn {#2} { \__cdcmd_all_ii_aux:nn {#1} } 1 > 0 }
+ } &&
+ }
+ { \c_false_bool && }
+ }
+\cs_new:Npn \__cdcmd_all_ii_aux:nn #1#2
+ {
+ \str_if_eq:eeF {#2} { \c_cdcmd_all_str }
+ {
+ \__cdcmd_clist_if_in:cnF { l__cdcmd_curr_condition@ #1 _clist } {#2}
+ { \clist_map_break:n { - } }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[pTF]{
+% \__cdcmd_clist_if_in:Nn,
+% \__cdcmd_clist_if_in:NV,
+% \__cdcmd_clist_if_in:No,
+% \__cdcmd_clist_if_in:cn,
+% \__cdcmd_clist_if_in:cV,
+% \__cdcmd_clist_if_in:co,
+% \__cdcmd_clist_if_in:nn,
+% \__cdcmd_clist_if_in:nV,
+% \__cdcmd_clist_if_in:no,
+% }
+% \begin{macrocode}
+\prg_new_conditional:Npnn \__cdcmd_clist_if_in:Nn #1#2 { p, T, F, TF }
+ {
+ \int_compare:nTF
+ { 0 \clist_map_tokens:Nn #1 { \__cdcmd_if_eq_break:ee {#2} } > 0 }
+ { \prg_return_true: } { \prg_return_false: }
+ }
+\prg_generate_conditional_variant:Nnn \__cdcmd_clist_if_in:Nn
+ { NV, No, cn, cV, co } { p, T, F, TF }
+\prg_new_conditional:Npnn \__cdcmd_clist_if_in:nn #1#2 { p, T, F, TF }
+ {
+ \int_compare:nTF
+ { 0 \clist_map_tokens:nn {#1} { \__cdcmd_if_eq_break:ee {#2} } > 0 }
+ { \prg_return_true: } { \prg_return_false: }
+ }
+\prg_generate_conditional_variant:Nnn \__cdcmd_clist_if_in:nn { nV, no } { p, T, F, TF }
+\cs_new:Npn \__cdcmd_if_eq_break:ee #1#2
+ {
+ \str_if_eq:eeT {#1} {#2} { \clist_map_break:n { 1 } }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}[TF]{
+% \cdcmd_any_case_true:n,
+% \cdcmd_any_case_false:n,
+% \cdcmd_all_case_true:n,
+% \cdcmd_all_case_false:n,
+% }
+% Conditional case, see also \cs{bool_case_true:n} and \cs{bool_case_false:n} in \pkg{source3.pdf}.
+% \begin{macrocode}
+\scan_new:N \s__cdcmd_mark
+\scan_new:N \s__cdcmd_stop
+\cs_new:Npn \cdcmd_any_case_true:nTF { \exp:w \__cdcmd_any_case_true:nTF }
+\cs_new:Npn \cdcmd_any_case_true:n #1 { \exp:w \__cdcmd_any_case_true:nTF {#1} { } { } }
+\cs_new:Npn \cdcmd_all_case_true:nTF { \exp:w \__cdcmd_all_case_true:nTF }
+\cs_new:Npn \cdcmd_all_case_true:n #1 { \exp:w \__cdcmd_all_case_true:nTF {#1} { } { } }
+\cs_new:Npn \cdcmd_any_case_false:nTF { \exp:w \__cdcmd_any_case_false:nTF }
+\cs_new:Npn \cdcmd_any_case_false:n #1 { \exp:w \__cdcmd_any_case_false:nTF {#1} { } { } }
+\cs_new:Npn \cdcmd_all_case_false:nTF { \exp:w \__cdcmd_all_case_false:nTF }
+\cs_new:Npn \cdcmd_all_case_false:n #1 { \exp:w \__cdcmd_all_case_false:nTF {#1} { } { } }
+\cs_new:Npn \__cdcmd_any_case_true:nTF #1#2#3
+ {
+ \__cdcmd_case:Nw \cdcmd_any_if:nTF #1 { * } { }
+ \s__cdcmd_mark {#2} \s__cdcmd_mark {#3} \s__cdcmd_stop
+ }
+\cs_new:Npn \__cdcmd_all_case_true:nTF #1#2#3
+ {
+ \__cdcmd_case:Nw \cdcmd_all_if:nTF #1 { * } { }
+ \s__cdcmd_mark {#2} \s__cdcmd_mark {#3} \s__cdcmd_stop
+ }
+\cs_new:Npn \__cdcmd_any_case_false:nTF #1#2#3
+ {
+ \__cdcmd_case:Nw \cdcmd_any_if:nFT #1 { * } { }
+ \s__cdcmd_mark {#2} \s__cdcmd_mark {#3} \s__cdcmd_stop
+ }
+\cs_new:Npn \__cdcmd_all_case_false:nTF #1#2#3
+ {
+ \__cdcmd_case:Nw \cdcmd_all_if:nFT #1 { * } { }
+ \s__cdcmd_mark {#2} \s__cdcmd_mark {#3} \s__cdcmd_stop
+ }
+\cs_new:Npn \__cdcmd_case:Nw #1#2#3
+ { #1 {#2} { \__cdcmd_case_end:nw {#3} } { \__cdcmd_case:Nw #1 } }
+\cs_new:Npn \__cdcmd_case_end:nw #1#2#3 \s__cdcmd_mark #4#5 \s__cdcmd_stop
+ { \exp_end: #1 #4 }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\newcondition,\setcondition,\clearcondition}
+% Conditional setting command for document.
+% \begin{macrocode}
+\NewDocumentCommand \newcondition { >{ \TrimSpaces } m } { \cdcmd_new:nn {#1} }
+\NewDocumentCommand \setcondition { t+ }
+ { \IfBooleanTF {#1} { \cdcmd_set:n } { \cdcmd_clear_set:n } }
+\NewDocumentCommand \clearcondition { !O{*} }
+ {
+ \clist_map_inline:nn {#1}
+ {
+ \str_if_eq:eeTF {##1} { \c_cdcmd_all_str }
+ {
+ \clist_map_break:n
+ { \exp_after:wN \clearcondition \exp_after:wN [ \g__cdcmd_clist ] }
+ }
+ {
+ \cdcmd_if_exist:nTF {##1}
+ { \clist_clear:c { l__cdcmd_curr_condition@ ##1 _clist } }
+ { \msg_warning:nnn { cdcmd } { condition-not-exist } {##1} }
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\NewExpandableDocumentCommand \econditionif { s O{*} +m +m }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ {#2} {#3} {#4}
+ }
+\NewExpandableDocumentCommand \econditioncmd { s O{*} +m }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ {#2} {#3} { }
+ }
+\NewExpandableDocumentCommand \econditioncase { s +m }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_case:n {#2} }
+ { \cdcmd_any_case:n {#2} }
+ }
+\NewExpandableDocumentCommand \econditioncaseTF { s +m }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_case:nTF {#2} }
+ { \cdcmd_any_case:nTF {#2} }
+ }
+\NewDocumentCommand \conditionif { s O{*} +m +m }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ {#2} {#3} {#4}
+ }
+\NewDocumentCommand \conditioncmd { s O{*} +m }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ {#2} {#3} { }
+ }
+\NewDocumentCommand \conditioncase { s t! +m }
+ {
+ \IfBooleanTF {#2}
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_case_false:n {#3} }
+ { \cdcmd_any_case_false:n {#3} }
+ }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_case_true:n {#3} }
+ { \cdcmd_any_case_true:n {#3} }
+ }
+ }
+\NewDocumentCommand \conditioncaseTF { s t! +m }
+ {
+ \IfBooleanTF {#2}
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_case_false:nTF {#3} }
+ { \cdcmd_any_case_false:nTF {#3} }
+ }
+ {
+ \IfBooleanTF {#1}
+ { \cdcmd_all_case_true:nTF {#3} }
+ { \cdcmd_any_case_true:nTF {#3} }
+ }
+ }
+% \end{macrocode}
+% \begin{macro}{}
+% Define new \pkg{xparse} like conditional command.
+% \begin{macrocode}
+\str_const:Nn \c_cdcmd_pair_u_str { cdcmd@u@ }
+\str_const:Nn \c_cdcmd_pair_n_str { cdcmd@n@ }
+\cs_new_nopar:Npn \__cdcmd_cs_pair_u:N #1
+ { \c_cdcmd_pair_u_str \cs_to_str:N #1 }
+\cs_new_nopar:Npn \__cdcmd_cs_pair_n:N #1
+ { \c_cdcmd_pair_n_str \cs_to_str:N #1 }
+\cs_new:Npn \__cdcmd_arg_spec_from_num:nn #1#2
+ {
+ \if_case:w 0#1 \exp_stop_f:
+ \or: #2 \or: #2#2 \or: #2#2#2 \or: #2#2#2#2 \or: #2#2#2#2#2 \or: #2#2#2#2#2#2
+ \or: #2#2#2#2#2#2#2 \or: #2#2#2#2#2#2#2#2 \else: #2#2#2#2#2#2#2#2#2 \fi:
+ }
+\cs_new_nopar:Npn \__cdcmd_cs_pair_u:Nn #1#2
+ {
+ \c_cdcmd_pair_u_str
+ \cs_to_str:N #1 :
+ \__cdcmd_arg_spec_from_num:nn {#2} { n }
+ }
+\cs_new_nopar:Npn \__cdcmd_cs_pair_n:Nn #1#2
+ {
+ \c_cdcmd_pair_n_str
+ \cs_to_str:N #1 :
+ \__cdcmd_arg_spec_from_num:nn {#2} { n }
+ }
+% do not check cs_if_free, let xparse do it
+\cs_new:Npn \__cdcmd_new_cdcmd_command:NN #1#2
+ {
+ \cs_new_protected:Npn #1 ##1##2##3
+ {
+ #2 ##1 { t+ m }
+ {
+ \IfBooleanTF {####1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ {####2}
+ { \use:c { \__cdcmd_cs_pair_u:N ##1 } }
+ { \use:c { \__cdcmd_cs_pair_n:N ##1 } }
+ }
+ \exp_args:Nc #2
+ { \__cdcmd_cs_pair_u:N ##1 } {##2} {##3}
+ \exp_args:Nc #2
+ { \__cdcmd_cs_pair_n:N ##1 } {##2} { }
+ }
+ }
+\seq_const_from_clist:Nn \c__cdcmd_Command_seq
+ {
+ \NewDocumentCommand ,
+ \RenewDocumentCommand ,
+ \ProvideDocumentCommand ,
+ \DeclareDocumentCommand ,
+ \NewExpandableDocumentCommand ,
+ \RenewExpandableDocumentCommand ,
+ \ProvideExpandableDocumentCommand ,
+ \DeclareExpandableDocumentCommand ,
+ }
+\seq_const_from_clist:Nn \c__cdcmd_COMMAND_seq
+ {
+ \NewConditionCommand ,
+ \RenewConditionCommand ,
+ \ProvideConditionCommand ,
+ \DeclareConditionCommand ,
+ \NewExpandableConditionCommand ,
+ \RenewExpandableConditionCommand ,
+ \ProvideExpandableConditionCommand ,
+ \DeclareExpandableConditionCommand ,
+ }
+\seq_mapthread_function:NNN
+ \c__cdcmd_COMMAND_seq
+ \c__cdcmd_Command_seq
+ \__cdcmd_new_cdcmd_command:NN
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{}
+% Define \LaTeX{} like command.
+% \begin{macrocode}
+% do not check cs_if_free, let xparse do it
+\cs_new:Npn \__cdcmd_new_cdcmd_cmd_no:nnn #1#2#3
+ {
+ \cs_new_protected:Npn #1 ##1##2##3
+ {
+ #3 ##1 { t+ m }
+ {
+ \IfBooleanTF {####1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ { ####2 }
+ { \use:c { \__cdcmd_cs_pair_u:Nn ##1 {##2} } }
+ { \use:c { \__cdcmd_cs_pair_n:Nn ##1 {##2} } }
+ }
+ #2 { \__cdcmd_cs_pair_u:Nn ##1 {##2} } {##3}
+ #2 { \__cdcmd_cs_pair_n:Nn ##1 {##2} } { }
+ }
+ }
+\cs_generate_variant:Nn \__cdcmd_new_cdcmd_cmd_no:nnn { xxx }
+\seq_const_from_clist:Nn \c__cdcmd_cmd_no_seq
+ {
+ \cs_set_protected:cn , \cs_set_protected_nopar:cn ,
+ \cs_set_protected:cn , \cs_set_protected_nopar:cn ,
+ \cs_set_protected:cn , \cs_set_protected_nopar:cn ,
+ \cs_set:cn , \cs_set_nopar:cn ,
+ \cs_set:cn , \cs_set_nopar:cn ,
+ \cs_set:cn , \cs_set_nopar:cn ,
+ }
+\seq_const_from_clist:Nn \c__cdcmd_Cmd_no_seq
+ {
+ \NewDocumentCommand , \NewDocumentCommand ,
+ \RenewDocumentCommand , \RenewDocumentCommand ,
+ \DeclareDocumentCommand , \DeclareDocumentCommand ,
+ \NewExpandableDocumentCommand , \NewExpandableDocumentCommand ,
+ \RenewExpandableDocumentCommand , \RenewExpandableDocumentCommand ,
+ \DeclareExpandableDocumentCommand , \DeclareExpandableDocumentCommand ,
+ }
+\seq_const_from_clist:Nn \c__cdcmd_CMD_no_seq
+ {
+ \__cdcmd_new_cdcmd_p_l_num:Nnn , \__cdcmd_new_cdcmd_p_nl_num:Nnn ,
+ \__cdcmd_renew_cdcmd_p_l_num:Nnn , \__cdcmd_renew_cdcmd_p_nl_num:Nnn ,
+ \__cdcmd_declare_cdcmd_p_l_num:Nnn , \__cdcmd_declare_cdcmd_p_nl_num:Nnn ,
+ \__cdcmd_new_cdcmd_np_l_num:Nnn , \__cdcmd_new_cdcmd_np_nl_num:Nnn ,
+ \__cdcmd_renew_cdcmd_np_l_num:Nnn , \__cdcmd_renew_cdcmd_np_nl_num:Nnn ,
+ \__cdcmd_declare_cdcmd_np_l_num:Nnn , \__cdcmd_declare_cdcmd_np_nl_num:Nnn ,
+ }
+\int_step_inline:nn { 6 }
+ {
+ \__cdcmd_new_cdcmd_cmd_no:xxx
+ { \seq_item:Nn \c__cdcmd_CMD_no_seq {#1} }
+ { \seq_item:Nn \c__cdcmd_cmd_no_seq {#1} }
+ { \seq_item:Nn \c__cdcmd_Cmd_no_seq {#1} }
+ }
+\tl_new:N \l__cdcmd_arg_spec_tl
+\cs_new:Npn \__cdcmd_generate_arg_spec:nnn #1#2#3
+ {
+ \tl_set:Nn \l__cdcmd_arg_spec_tl { O{#2} }
+ \if_int_compare:w #1 > 1 \exp_stop_f:
+ \int_step_inline:nn {#1-1} { \tl_put_right:Nn \l__cdcmd_arg_spec_tl {#3} }
+ \fi:
+ }
+\cs_new:Npn \__cdcmd_new_cdcmd_cmd_o_aux:nn #1#2
+ {
+ \cs_new_protected:Npn #1 ##1##2##3##4##5
+ {
+ #2 ##1 { t+ m }
+ {
+ \IfBooleanTF{####1}
+ { \cdcmd_all_if:nTF }
+ { \cdcmd_any_if:nTF }
+ {####2}
+ { \use:c { \__cdcmd_cs_pair_u:N ##1 } }
+ { \use:c { \__cdcmd_cs_pair_n:N ##1 } }
+ }
+ \__cdcmd_generate_arg_spec:nnn {##2} {##3} {##5}
+ \exp_args:NcV #2 { \__cdcmd_cs_pair_u:N ##1 } \l__cdcmd_arg_spec_tl {##4}
+ \exp_args:NcV #2 { \__cdcmd_cs_pair_n:N ##1 } \l__cdcmd_arg_spec_tl { }
+ }
+ }
+\seq_const_from_clist:Nn \c__cdcmd_CMD_o_seq
+ { \NewDocumentCommand , \RenewDocumentCommand , \DeclareDocumentCommand }
+\seq_const_from_clist:Nn \c__cdcmd_cmd_o_seq
+ {
+ \__cdcmd_new_cdcmd_o_num:Nnnnn ,
+ \__cdcmd_renew_cdcmd_o_num:Nnnnn ,
+ \__cdcmd_declare_cdcmd_o_num:Nnnnn ,
+ }
+\seq_mapthread_function:NNN
+ \c__cdcmd_cmd_o_seq
+ \c__cdcmd_CMD_o_seq
+ \__cdcmd_new_cdcmd_cmd_o_aux:nn
+\cs_new_protected:Npn \__cdcmd_new_cdcmd_cmd_ne_aux:n #1
+ {
+ \exp_args:Nc \NewDocumentCommand { #1 conditioncommand } { s m O{0} o +m }
+ {
+ \IfBooleanTF{##1}
+ {
+ \IfNoValueTF{##4}
+ { \use:c { __cdcmd_ #1 _cdcmd_p_nl_num:Nnn } ##2 {##3} {##5} }
+ { \use:c { __cdcmd_ #1 _cdcmd_o_num:Nnnnn } ##2 {##3} {##4} {##5} { m } }
+ }
+ {
+ \IfNoValueTF{##4}
+ { \use:c { __cdcmd_ #1 _cdcmd_p_l_num:Nnn } ##2 {##3} {##5} }
+ { \use:c { __cdcmd_ #1 _cdcmd_o_num:Nnnnn } ##2 {##3} {##4} {##5} { +m } }
+ }
+ }
+ }
+\clist_map_function:nN { new, renew, declare } \__cdcmd_new_cdcmd_cmd_ne_aux:n
+\NewDocumentCommand \provideconditioncommand { s m O{0} o +m }
+ {
+ \cs_if_free:NT #2
+ {
+ \IfBooleanTF{#1}
+ {
+ \IfNoValueTF{#4}
+ { \newconditioncommand * #2 [#3] {#5} }
+ { \newconditioncommand * #2 [#3] [#4] {#5} }
+ }
+ {
+ \IfNoValueTF{#4}
+ { \newconditioncommand #2 [#3] {#5} }
+ { \newconditioncommand #2 [#3] [#4] {#5} }
+ }
+ }
+ }
+
+\int_step_inline:nnnn { 7 } { 1 } { 12 }
+ {
+ \__cdcmd_new_cdcmd_cmd_no:xxx
+ { \seq_item:Nn \c__cdcmd_CMD_no_seq {#1} }
+ { \seq_item:Nn \c__cdcmd_cmd_no_seq {#1} }
+ { \seq_item:Nn \c__cdcmd_Cmd_no_seq {#1} }
+ }
+
+\cs_new_protected:Npn \__cdcmd_new_cdcmd_cmd_e_no_aux:n #1
+ {
+ \exp_args:Nc \NewDocumentCommand { #1 econditioncommand } { s m O{0} +m }
+ {
+ \IfBooleanTF{##1}
+ { \use:c { __cdcmd_ #1 _cdcmd_np_nl_num:Nnn } ##2 {##3} {##4} }
+ { \use:c { __cdcmd_ #1 _cdcmd_np_l_num:Nnn } ##2 {##3} {##4} }
+ }
+ }
+\clist_map_function:nN { new, renew, declare } \__cdcmd_new_cdcmd_cmd_e_no_aux:n
+\NewDocumentCommand \provideeconditioncommand { s m O{0} +m }
+ {
+ \cs_if_free:NT #2
+ {
+ \IfBooleanTF{#1}
+ { \neweconditioncommand * #2 [#3] {#4} }
+ { \neweconditioncommand #2 [#2] {#4} }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \endinput
+%
+%<*test>
+{\color{red!90!black}
+\begin{verbatim}
+ \newcondition{defined}{}
+ \newcondition{paper}{a4,a5,b5}
+ \setcondition{paper={a5,b5}}
+\end{verbatim}
+}
+
+{
+\newcondition{defined}{}
+\newcondition{paper}{a4,a5,b5}
+\setcondition{paper={a5,b5}}
+\def\cdcmdtest#1->#2 /{\textcolor{red!90!black}{\detokenize{#1}}:~ #1 \newline}
+\parindent=0pt\ttfamily
+\cdcmdtest\conditionif[*]{t}{f}->t /
+\cdcmdtest\conditionif[defined]{t}{f}->t /
+\cdcmdtest\conditionif[defined=]{t}{f}->f /
+\cdcmdtest\conditionif[defined=*]{t}{f}->t /
+\cdcmdtest\conditionif[defined=a]{t}{f}->f /
+\cdcmdtest\conditionif[paper={a5,a0},undefined]{t}{f}->t /
+
+\cdcmdtest\conditionif*[*]{t}{f}->t /
+\cdcmdtest\conditionif*[defined]{t}{f}->t /
+\cdcmdtest\conditionif*[defined={,,}]{t}{f}->f /
+\cdcmdtest\conditionif*[defined=*]{t}{f}->t /
+\cdcmdtest\conditionif*[defined=a]{t}{f}->f /
+\cdcmdtest\conditionif*[paper={a5,a0},undefined]{t}{f}->f /
+\cdcmdtest\conditionif*[*,undefined]{t}{f}->f /
+\cdcmdtest\conditionif*[paper={a5,b5}]{t}{f}->t /
+\cdcmdtest\conditionif*[paper={a5,,b5}]{t}{f}->t /
+\cdcmdtest\conditionif*[paper={a5,b6,a5}]{t}{f}->f /
+\cdcmdtest\conditionif*[paper={a5,{ },45}]{t}{f}->f /
+\cdcmdtest\conditionif*[*,defined,paper={a5,b5}]{t}{f}->t /
+}
+
+{\color{red!90!black}
+\begin{verbatim}
+ \def\truetext{true} \def\falsetext{false}
+ \edef\testa{\econditionif[*]{true}{false}}
+ \ifx\testa\truetext t\else f\fi
+ \ifx\testa\falsetext t\else f\fi
+ \strcmp {\econditionif[*]{true}{false}} {true}
+ \strcmp {\econditionif[*]{true}{false}} {false}
+ \strcmp {\testa} {\truetext}
+ \strcmp {\testa} {\falsetext}
+\end{verbatim}
+}
+\def\truetext{true} \def\falsetext{false}
+\edef\testa{\econditionif[*]{true}{false}}
+\ifx\testa\truetext t\else f\fi
+\ifx\testa\falsetext t\else f\fi
+\strcmp{\econditionif[*]{true}{false}}{true}
+\strcmp{\econditionif[*]{true}{false}}{false}
+\strcmp{\testa}{\truetext}
+\strcmp{\testa}{\falsetext}
+
+{\color{red!90!black}
+\begin{verbatim}
+ \conditioncase{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+ }
+\end{verbatim}
+}
+\conditioncase{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+}
+
+{\color{red!90!black}
+\begin{verbatim}
+ \conditioncaseTF{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+ }{true}{false}
+\end{verbatim}
+}
+\conditioncaseTF{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+}{true}{false}
+
+{\color{red!90!black}
+\begin{verbatim}
+ \conditioncase!{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+ }
+\end{verbatim}
+}
+\conditioncase!{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+}
+
+{\color{red!90!black}
+\begin{verbatim}
+ \conditioncaseTF!{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+ }{true}{false}
+\end{verbatim}
+}
+\conditioncaseTF!{
+ {paper=a3} {a3}
+ {paper=a4} {a4}
+ {paper,defined} {pd}
+}{true}{false}
+
+{\color{red!90!black}
+\begin{verbatim}
+ \newconditioncommand\longprotectedcdcmd{longprotectedcdcmd}
+ \newconditioncommand\longprotectedcdcmdi[1]{longprotectedcdcmdi<#1>}
+ \newconditioncommand\longprotectedcdcmdio[1][DFT]{longprotectedcdcmdio<#1>}
+ \newconditioncommand*\shortprotectedcdcmd{shortprotectedcdcmd}
+ \newconditioncommand*\shortprotectedcdcmdi[1]{shortprotectedcdcmdi<#1>}
+ \newconditioncommand*\shortprotectedcdcmdio[1][DFT]{shortprotectedcdcmdio<#1>}
+
+ \setcondition{paper={a4,a5}}
+ \longprotectedcdcmd{*}
+ \longprotectedcdcmdi{*}{1\par arg}
+ \longprotectedcdcmdio{*}
+ \longprotectedcdcmdio{*}[1opt]
+ \longprotectedcdcmdio{paper=a4}[1opt a4]
+ \longprotectedcdcmdio+{paper={a4,a7}}[1opt a4a7]
+ \shortprotectedcdcmd{*}
+ \shortprotectedcdcmdi{*}{1\par arg}
+ \shortprotectedcdcmdio{*}
+ \shortprotectedcdcmdio{*}[1opt]
+ \shortprotectedcdcmdio{paper=a4}[1opt a4]
+ \shortprotectedcdcmdio+{paper={a4,a7}}[1opt a4a7]
+\end{verbatim}
+}
+\newconditioncommand\longprotectedcdcmd{longprotectedcdcmd}
+\newconditioncommand\longprotectedcdcmdi[1]{longprotectedcdcmdi<#1>}
+\newconditioncommand\longprotectedcdcmdio[1][DFT]{longprotectedcdcmdio<#1>}
+\newconditioncommand*\shortprotectedcdcmd{shortprotectedcdcmd}
+\newconditioncommand*\shortprotectedcdcmdi[1]{shortprotectedcdcmdi<#1>}
+\newconditioncommand*\shortprotectedcdcmdio[1][DFT]{shortprotectedcdcmdio<#1>}
+
+{\ttfamily\setcondition{paper={a4,a5}}\obeylines
+\longprotectedcdcmd{*}
+\longprotectedcdcmdi{*}{1\par arg}
+\longprotectedcdcmdio{*}
+\longprotectedcdcmdio{*}[1opt]
+\longprotectedcdcmdio{paper=a4}[1opt a4]
+\longprotectedcdcmdio+{paper={a4,a7}}[1opt a4a7]
+\shortprotectedcdcmd{*}
+\shortprotectedcdcmdi{*}{1arg}
+\shortprotectedcdcmdio{*}
+\shortprotectedcdcmdio{*}[1opt]
+\shortprotectedcdcmdio{paper=a4}[1opt a4]
+\shortprotectedcdcmdio+{paper={a4,a7}}[1opt a4a7]
+}
+%</test> \ No newline at end of file
diff --git a/macros/latex/contrib/cdcmd/source/cdcmd.ins b/macros/latex/contrib/cdcmd/source/cdcmd.ins
new file mode 100644
index 0000000000..7031179eb6
--- /dev/null
+++ b/macros/latex/contrib/cdcmd/source/cdcmd.ins
@@ -0,0 +1,73 @@
+%% Copyright (C) 2021--2021
+%% Wenjian Chern (Longaster) and any individual authors listed elsewhere in this file.
+%% --------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% http://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and the latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are Wenjian Chern (Longaster).
+%% --------------------------------------------------------------------------
+\input l3docstrip.tex %
+\askforoverwritefalse
+\keepsilent
+\preamble
+
+ Copyright (C) 2021--2021
+ Wenjian Chern (Longaster) and any individual authors listed elsewhere in this file.
+ --------------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and the latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+ and version 1.3 or later is part of all distributions of
+ LaTeX version 2005/12/01 or later.
+
+ This work has the LPPL maintenance status `maintained'.
+
+ The Current Maintainers of this work are Wenjian Chern (Longaster).
+ --------------------------------------------------------------------------
+
+\endpreamble
+
+\postamble
+
+ This work consists of the file cdcmd.dtx,
+ and the derived files cdcmd.pdf,
+ cdcmd.sty,
+ cdcmd-cn.tex,
+ cdcmd-cn.pdf,
+ cdcmd-test.tex,
+ cdcmd.ins and
+ README.md
+\endpostamble
+
+\generate{
+ \usedir{tex/latex/cdcmd}
+ \file{cdcmd.sty} {\from{\jobname.dtx}{package}}
+ \nopreamble\nopostamble
+ \usedir{tex/latex/cdcmd}
+ \file{cdcmd-test.tex}{\from{\jobname.dtx}{test}}
+ \file{README.md} {\from{\jobname.dtx}{readme}}
+}
+
+\endbatchfile
+%%
+%% This work consists of the file cdcmd.dtx,
+%% and the derived files cdcmd.pdf,
+%% cdcmd.sty,
+%% cdcmd.ins and
+%% README.md
+%% End of file `cdcmd.ins'. \ No newline at end of file
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index 4a73476475..f98528e318 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,6 +6,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-10-12]
+
+### Fixed
+- Issues with creating DeviceN color spaces
+
## [2021-08-04]
## Changed
@@ -191,7 +196,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2021-08-04...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-10-12...HEAD
+[2021-10-12]: https://github.com/latex3/latex3/compare/2021-08-04...2021-10-12
[2021-08-04]: https://github.com/latex3/latex3/compare/2021-07-12...2021-08-04
[2021-07-12]: https://github.com/latex3/latex3/compare/2021-05-07...2021-07-12
[2021-05-07]: https://github.com/latex3/latex3/compare/2021-03-18...2021-05-07
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index 68b63c3189..5349167013 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2021-08-04
+Release 2021-10-12
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/contrib/l3backend/l3backend-basics.dtx
index 6f21c964c2..aa2176c91f 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2021-08-04}{}
+ {l3backend-dvipdfmx.def}{2021-10-12}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2021-08-04}{}
+ {l3backend-dvips.def}{2021-10-12}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2021-08-04}{}
+ {l3backend-dvisvgm.def}{2021-10-12}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2021-08-04}{}
+ {l3backend-luatex.def}{2021-10-12}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2021-08-04}{}
+ {l3backend-pdftex.def}{2021-10-12}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2021-08-04}{}
+ {l3backend-xetex.def}{2021-10-12}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index 810deb7bb7..c8f32e8262 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
index ad22595ef8..e593fc032e 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/contrib/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/contrib/l3backend/l3backend-color.dtx
index 2d33f8ed4e..72254382f5 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
@@ -500,9 +500,10 @@
% \begin{macro}
% {
% \@@_backend_separation_init:nnnnn,
-% \@@_backend_separation_init:nxxnn,
-% \@@_backend_separation_init_aux:nnnnn
+% \@@_backend_separation_init:nxxnn
% }
+% \begin{macro}
+% {\@@_backend_separation_init_aux:nnnnnn}
% \begin{macro}[EXP]
% {
% \@@_backend_separation_init_/DeviceCMYK:nnn ,
@@ -528,29 +529,30 @@
{
\bool_if:NT \g__kernel_backend_header_bool
{
- \__kernel_backend_first_shipout:n
+ \exp_args:Nx \__kernel_backend_first_shipout:n
{
- \exp_not:N \@@_backend_separation_init_aux:nnnnn
+ \exp_not:N \@@_backend_separation_init_aux:nnnnnn
+ { \exp_not:N \int_use:N \g_@@_model_int }
{#1} {#2} {#3} {#4} {#5}
}
}
}
\cs_generate_variant:Nn \@@_backend_separation_init:nnnnn { nxx }
-\cs_new_protected:Npn \@@_backend_separation_init_aux:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \@@_backend_separation_init_aux:nnnnnn #1#2#3#4#5#6
{
\__kernel_backend_literal:e
{
!
TeXDict ~ begin ~
- /color \int_use:N \g_@@_model_int
+ /color #1
{
[ ~
- /Separation ~ ( \str_convert_pdfname:n {#1} ) ~
- [ ~ #2 ~ ] ~
+ /Separation ~ ( \str_convert_pdfname:n {#2} ) ~
+ [ ~ #3 ~ ] ~
{
- \cs_if_exist_use:cF { @@_backend_separation_init_ #2 :nnn }
+ \cs_if_exist_use:cF { @@_backend_separation_init_ #3 :nnn }
{ \@@_backend_separation_init:nnn }
- {#3} {#4} {#5}
+ {#4} {#5} {#6}
}
] ~ setcolorspace
} ~ def ~
@@ -720,6 +722,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_backend_devicen_init:nnn}
% Trivial as almost all of the work occurs in the shared code.
@@ -877,7 +880,7 @@
[ ~
\prg_replicate:nn
{ 0 \@@_backend_devicen_init:w #1 ~ \s_@@_stop }
- { 0 ~ 1 ~ } ~
+ { 0 ~ 1 ~ }
] ~
/Range ~
[ ~
@@ -889,7 +892,7 @@
} ~
]
}
- {#3}
+ { {#3} }
}
\@@_backend_separation_init:n
{
@@ -900,7 +903,7 @@
}
\bool_lazy_and:nnT
{ \cs_if_exist_p:N \pdfmanagement_if_active_p: }
- { \pdfmanagement_if_active_p:}
+ { \pdfmanagement_if_active_p: }
{
\use:x
{
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index 79c790daa0..820c1bcd2c 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index a82ca742d8..1f7895a2ac 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx
index d741a5eb77..25aa81e99c 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-opacity.dtx b/macros/latex/contrib/l3backend/l3backend-opacity.dtx
index e8159fc651..e2837a2728 100644
--- a/macros/latex/contrib/l3backend/l3backend-opacity.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index 4943ee7f22..78df77acfa 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-04}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index 7a2a94c9e1..55e9db4bb8 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,13 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-10-12]
+
+### Fixed
+- Global assignments for `\box_gresize_to_ht_plus_dp:Nn`
+ and `\coffin_gattach:NnnNnnnn`
+- Conversion of DeviceN colors to device fallback
+
## [2021-08-27]
### Changed
@@ -953,7 +960,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2021-08-27...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-10-12...HEAD
+[2021-10-12]: https://github.com/latex3/latex3/compare/2021-08-27...2021-10-12
[2021-08-27]: https://github.com/latex3/latex3/compare/2021-07-12...2021-08-27
[2021-07-12]: https://github.com/latex3/latex3/compare/2021-06-18...2021-07-12
[2021-06-18]: https://github.com/latex3/latex3/compare/2021-06-01...2021-06-18
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index ce844e4de6..cfbc498065 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2021-08-27
+Release 2021-10-12
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index 18804184d3..641d386509 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/contrib/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2021-08-27}%
+\def\ExplFileDate{2021-10-12}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 49fa91c3db..2dbf469574 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/contrib/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/contrib/l3kernel/interface3.pdf
index 1ecc908212..ebe631bc23 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/contrib/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/contrib/l3kernel/interface3.tex
index 7a23b0ef47..0a86084c17 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/contrib/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-08-27}
+\date{Released 2021-10-12}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index b3da7c9bb3..c7e5e0ee98 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index d3fe24dd95..62c740d740 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index 8d73f9bb20..ee9e2a750f 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
@@ -2086,7 +2086,7 @@
\cs_generate_variant:Nn \box_gresize_to_ht_plus_dp:Nn { c }
\cs_new_protected:Npn \@@_resize_to_ht_plus_dp:NnN #1#2#3
{
- \hbox_set:Nn #1
+ #3 #1
{
\@@_resize_set_corners:N #1
\fp_set:Nn \l_@@_scale_y_fp
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index e80d90fabb..7e5f740ae6 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx
index 6a74319c3f..74fcb80084 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/contrib/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index 0eb1c4399a..b83d4c427b 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index 10803f7f6c..aaf4c15c33 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
@@ -1984,7 +1984,7 @@
\@@_offset_poles:Nnn #4
{ \l_@@_offset_x_dim } { \l_@@_offset_y_dim }
\@@_update_vertical_poles:NNN #1 #4 \l_@@_aligned_coffin
- \coffin_set_eq:NN #1 \l_@@_aligned_coffin
+ #9 #1 \l_@@_aligned_coffin
}
\cs_new_protected:Npn \@@_attach_mark:NnnNnnnn #1#2#3#4#5#6#7#8
{
diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx
index 81fbb36bc3..a43a2e1294 100644
--- a/macros/latex/contrib/l3kernel/l3color.dtx
+++ b/macros/latex/contrib/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
@@ -2284,8 +2284,9 @@
{
\prg_replicate:nn {#1}
{ neg ~ 1.0 ~ add ~ #1 ~ -1 ~ roll ~ }
- \int_eval:n { #2 + 4 } ~ 4 ~ roll
- \prg_replicate:nn {#2} { ~ pop }
+ \int_eval:n { #2 + #1 } ~ #1 ~ roll
+ \prg_replicate:nn {#2} { ~ pop } ~
+ #1 ~ 1 ~ roll
}
\use:x
{
@@ -2302,7 +2303,7 @@
{ rgb } { /DeviceRGB }
}
}
- { \exp_not:V \l_@@_internal_tl }
+ { { \exp_not:V \l_@@_internal_tl } }
}
}
\cs_new_protected:Npn \@@_model_devicen_transform:w
@@ -2330,7 +2331,7 @@
\fp_compare:nNnF {#3} = \c_zero_fp
{
\int_eval:n { #1 - \l_@@_internal_int + #2 } ~ index ~
- #3 ~ neg ~ mul ~ 1.0 ~ add ~ mul ~
+ -#3 ~ mul ~ 1.0 ~ add ~ mul ~
}
#2 ~ -1 ~ roll ~
}
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index 5b91c7cd3d..7e2bd2660f 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index c9dd5647b6..e0b8dbc4f6 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index 7ba8dfdfe1..ea3f9675d7 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/contrib/l3kernel/l3doc.dtx
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx
index 562794727d..65e86f5fb1 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index 32db07a464..2d4296c0a4 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/contrib/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/contrib/l3kernel/l3expan.dtx
index e03398cf75..f3a0d96fa2 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index ee7cc4e2a9..2883457e92 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index f7b5705858..e1c217dada 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index 27a6f2d8af..166da468b6 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index 3bba643681..fdd8c6a424 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index 5c6b8333b4..cf6472b58c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index bf1dbb092d..2e2d6c814a 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index 3a7b5737aa..c5a58cbfa9 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index 6a1780b67d..9c460b49cc 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index 8a86bee4fa..8bcbb6e7f1 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index 41acb5d629..4ceb717fb9 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index b44b6dbab9..71a3534bb7 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index d82a919275..4fa25ec834 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index e57c3d0bb2..5e9c8cbf74 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index 93d463b457..b60fa944ba 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 0706daa85a..6a25569915 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index e2fc7a0ff2..cb66ac1345 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index a115dcf4b8..756a45f02d 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index 1633b92147..90ce9d16ae 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index 1486986945..ca581fc80c 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index cf7257daf5..2b1165c7d5 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index 4babaa4c14..0630609830 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index da0659b924..35dc667e41 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index 0c689251a4..5708fcb281 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index 63216bd3ab..95ba0bcb51 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index 1099a4b2ad..51343f9e75 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/contrib/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/contrib/l3kernel/l3news01.pdf
index 1ea1cc2d78..c76e9f0d2c 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/contrib/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/contrib/l3kernel/l3news02.pdf
index 6306bba5e1..6f52109d8a 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/contrib/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/contrib/l3kernel/l3news03.pdf
index f54ec43f12..8da7e90539 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/contrib/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/contrib/l3kernel/l3news04.pdf
index bc18d056df..5b32f15fe8 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/contrib/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/contrib/l3kernel/l3news05.pdf
index 591819232a..7f4ed377fd 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/contrib/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/contrib/l3kernel/l3news06.pdf
index 2c8b4210b2..d6319b1c3e 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/contrib/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/contrib/l3kernel/l3news07.pdf
index 11fe7ee24f..ad7832e2fd 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/contrib/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/contrib/l3kernel/l3news08.pdf
index 6507f3c1cf..d78dc6019c 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/contrib/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/contrib/l3kernel/l3news09.pdf
index d65f8a6479..cc5c250d23 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/contrib/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/contrib/l3kernel/l3news10.pdf
index 46faec805f..38a6e30c77 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/contrib/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/contrib/l3kernel/l3news11.pdf
index e72a882322..05173e7aad 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/contrib/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/contrib/l3kernel/l3news12.pdf
index 2914e04001..e91dae2fbe 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/contrib/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/contrib/l3kernel/l3pdf.dtx
index 27875f0ca6..9b37f1135b 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/contrib/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/contrib/l3kernel/l3prefixes.csv
index 2c1d7cab43..d09186e1f2 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/contrib/l3kernel/l3prefixes.csv
@@ -28,8 +28,8 @@ cascade,cascade,F. Pantigny,,,,2020-07-21,2020-07-21,
catcode,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
cctab,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
cellprops,cellprops,Julien Rivaud,,,,2018-06-13,2018-06-13,
-char,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
chaos,"chaos,schleuderpackung",Marei Peischl,https://ds.ccc.de/,,,2021-05-28,2021-05-28,
+char,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
chemformula,chemformula,Clemens Niederberger,https://github.com/cgnieder/chemformula/,https://github.com/cgnieder/chemformula.git,https://github.com/cgnieder/chemformula/issues,2013-03-16,2020-04-14,
chemmacros,chemmacros,Clemens Niederberger,https://github.com/cgnieder/chemmacros/,https://github.com/cgnieder/chemmacros.git,https://github.com/cgnieder/chemmacros/issues,2013-03-16,2020-04-14,
chemnum,chemnum,Clemens Niederberger,https://github.com/cgnieder/chemnum/,https://github.com/cgnieder/chemnum.git,https://github.com/cgnieder/chemnum/issues,2013-03-16,2020-04-14,
@@ -82,9 +82,9 @@ file,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:
filehook,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2020-10-01,2021-03-03,
flag,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
fltr,newlfm,Paul Thomson,,,,2013-01-29,2013-01-29,
-fmdug,dashundergaps,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex.git,https://github.com/FrankMittelbach/fmitex/issues,2018-06-24,2018-06-24,
-fmuft,unicodefonttable,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex.git,https://github.com/FrankMittelbach/fmitex/issues,2020-02-17,2020-02-17,
-fmwao,widows-and-orphans,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex.git,https://github.com/FrankMittelbach/fmitex/issues,2018-09-26,2018-09-26,
+fmdug,dashundergaps,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-dashundergaps.git,https://github.com/FrankMittelbach/fmitex-dashundergaps/issues,2018-06-24,2021-10-11,
+fmuft,unicodefonttable,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-unicodefonttable.git,https://github.com/FrankMittelbach/fmitex-unicodefonttable/issues,2020-02-17,2021-10-11,
+fmwao,widows-and-orphans,Frank Mittelbach,https://www.latex-project.org/,https://github.com/FrankMittelbach/fmitex-widows-and-orphans.git,https://github.com/FrankMittelbach/fmitex-widows-and-orphans/issues,2018-09-26,2018-09-26,
fnpct,fnpct,Clemens Niederberger,https://github.com/cgnieder/fnpct/,https://github.com/cgnieder/fnpct.git,https://github.com/cgnieder/fnpct/issues,2013-03-16,2020-04-14,
fontsizes,fontsizes,Julien Rivaud,,,,,2018-06-13,
fontspec,fontspec,Will Robertson,https://github.com/wspr/fontspec,https://github.com/wspr/fontspec.git,https://github.com/wspr/fontspec/issues,2013-03-16,2013-03-16,
@@ -104,6 +104,7 @@ hobete,hobete,Tobias Görlach,http://www.disk0s1.de,,,2012-11-07,2012-11-07,
hook,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2019-06-03,2021-03-03,
hyp,hyperref,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/hyperref.git,https://github.com/latex3/hyperref/issues,2020-11-27,2020-11-27,
if,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+incgra,incgraph,Thomas F. Sturm,https://github.com/T-F-S/incgraph,https://github.com/T-F-S/incgraph.git,https://github.com/T-F-S/incgraph/issues,2021-10-11,2021-10-11,
inf,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
initex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2021-04-23,2021-04-23,
insert,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
@@ -125,6 +126,7 @@ log,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https:/
lua,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
luatex,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
mark,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+markdown,markdown,Vít Novotný,https://ctan.org/pkg/markdown,https://github.com/witiko/markdown.git,https://github.com/witiko/markdown/issues,2021-09-08,2021-09-08,
marks,l3kernel/xmarks,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-02-17,2020-02-17,
marks,latex2e,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2021-03-03,2021-03-03,
math,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -208,6 +210,7 @@ statistics,statistics,Julien Rivaud,https://gitlab.com/frnchfrgg-latex/statistic
stm,lt3-stm,CV Radhakrishnan,http://www.cvr.cc/,,,2014-02-26,2014-02-26,
stop,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
str,"l3kernel,l3str,l3str-format",The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
+stycmd,styledcmd,Paolo De Donato,https://github.com/Loara/styledcmd,https://github.com/Loara/styledcmd.git,https://github.com/Loara/styledcmd/issues,2021-08-30,2021-08-30,
substances,substances,Clemens Niederberger,https://github.com/cgnieder/substances/,https://github.com/cgnieder/substances.git,https://github.com/cgnieder/substances/issues,2013-03-16,2020-04-14,
sys,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2015-09-07,2015-09-08,
tag,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2019-06-02,2019-06-02,
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index 509e23643c..bfd6169655 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/contrib/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/contrib/l3kernel/l3prg.dtx
index 7c863f2a11..71437b2bfc 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index 88c60018f4..38457c1322 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index 1e322ed365..914000c982 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index fc68a0eeea..99407b273f 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index 1780c75145..6bebcdf567 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index e463f7d8f8..77d3e5161b 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index d381ee4d19..8106c63895 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index d09fb3ad06..8219f4471f 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index f15f86f4a6..b21eaa5f3c 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
@@ -821,7 +821,7 @@
% Writes the content of the \meta{str~var} in the log file.
% \end{function}
%
-% \section{Constant token lists}
+% \section{Constant strings}
%
% \begin{variable}[added = 2015-09-19, updated = 2020-12-22, module = str]
% {
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index bc876bf255..b74b42ea28 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/contrib/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/contrib/l3kernel/l3styleguide.tex
index 44547e3fd2..0f1d2a9329 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/contrib/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-08-27}
+\date{Released 2021-10-12}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index 3a8c7d5b60..55fae58c6b 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
index b024803198..78464a6d0f 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/contrib/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-08-27}
+\date{Released 2021-10-12}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index be0d31d005..33a6ba807a 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index a6b64eab91..11b08481f0 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/contrib/l3kernel/l3term-glossary.tex
index b449c5ae26..b90730cfcd 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/contrib/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-08-27}
+\date{Released 2021-10-12}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index ed9abc2c87..aa51ba4297 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx
index 04556e6b02..a0bc8622ef 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/contrib/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index c1c4055ed5..7d67da2a2c 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index bb33215be1..da5bb1c54d 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index 64b37fa1e7..a7b70aadfe 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index c487041cb4..8ef8ad7dbd 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index fade572c6d..1c531c5fb2 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-08-27}
+% \date{Released 2021-10-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index 78acace709..c806da5867 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/contrib/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/contrib/l3kernel/source3.tex
index e3695dcdbb..c28263703f 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/contrib/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2021-08-27}
+\date{Released 2021-10-12}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index 10140fd4a4..18036a4f9f 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2021
- tuda-ci 2021/08/05 v3.18
+ tuda-ci 2021/10/12 v3.20
***************************************************************************
@@ -292,3 +292,9 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
- fix footer positions
* 3.18 (2021-08-05)
- fix bug in tudabeamer block spacing
+ * 3.19 (2021-10-09)
+ - enhance title mechanism for tudaposter
+ - fix block spacing if colorframetitle=false
+ * 3.20 (2021-10-12)
+ - add signature-image mechanism for affidavit
+ - unify \titlegraphic mechanism in tudapub and tudabeamer
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index 5d0deadc62..c933c5c133 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index 00b7d43e1d..2e9654f479 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index e85a62bca9..ebc50820ce 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index 19f85fc9f5..1e085fce50 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index 021063b57e..6aba21696a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index fd48e295c1..ca0ec2dd6c 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index 68f9634a36..fc197f4c1e 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 204a115c0a..6240567b1c 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index 6c24baec8f..bcf8e70b6c 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 62c57c3495..a1dd930f04 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index 2f528ee4d3..25713d2ebd 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index 2046654d13..0f70661961 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaAnnouncement.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index 8e5848548d..3a0370970c 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaBeamer.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index f6ad2d26dd..44ebcdbd93 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -72,7 +72,7 @@
@online{tudapub,
title={TUDaPub – \LaTeX-Paper im Corporate Design der TU Darmstadt},
author={Marei Peischl},
- date={2020-10-05},
+ date={2021-10-12},
url={http://mirrors.ctan.org/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf},
- urldate={2020-10-05}
+ urldate={2021-10-12}
} \ No newline at end of file
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index dafab39fcb..48f96ca2f6 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaExercise.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 9cdcae8d03..61285867f8 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 4e521f545e..2b3acf7487 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaLeaflet.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index 937060188e..68b232db3a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaLetter.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index d01bf5a53c..d56d39f71c 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaPhD.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -144,7 +144,7 @@
% TUDa-CI wird im nächsten größeren Release ebenfalls diese Anpassung vornehmen.
% Aus diesem Grund wird empfohlen die Lizenz manuell auszuwählen.
\tuprints{urn=1234,printid=12345,doi=10.25534/tuprints-1234,license=cc-by-4.0}
-% To see furhter information on the license option in English, remove the license= key and pay attention to the warning & help message.
+% To see further information on the license option in English, remove the license= key and pay attention to the warning & help message.
\dedication{For \TeX{} \& Friends}
@@ -236,14 +236,16 @@ Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration
\usepackage[ngerman, main=<Hauptsprache>]{babel}
\end{verbatim}
-\section{Übergabe der Titeleidaten}
+\section{Übergabe der Titeldaten}
-Die Daten werden analog zur klassichen Titeleierzeugung mit \verb+\maketitle+ übergeben. Allerdings wurden die Felder um ein paar speziellere Daten erweitert. Sofern nicht anders angegeben, verfügen alle Makros über ein notwendiges Argument für die Datenübergabe, z.\,B.
+Die Daten werden analog zur klassischen Titeleierzeugung mit \verb+\maketitle+ übergeben. Allerdings wurden die Felder um ein paar speziellere Daten erweitert. Sofern nicht anders angegeben, verfügen alle Makros über ein notwendiges Argument für die Datenübergabe, z.\,B.
\begin{verbatim}
-\title{\LaTeX{} im Corporate Design der TU Darmstadt}
+ \title{\LaTeX{} im Corporate Design der TU Darmstadt}
\end{verbatim}
Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller Daten \verb+\maketitle+ aufgerufen werden muss.
+Falls eine Layoutanpassung der Titelseite notwendig ist, gelten die in der TUDaPub-Dokumentation geschilderten Optionen. Dort finden sich auch Hinweise zur Platzierung von Sponsorenlogos. \cite{tudapub}
+
\begin{description}\setkomafont{descriptionlabel}{\ttfamily\textbackslash}
\item[title] Titel, wird in sehr großer Schrift im obersten Block der Titelseite platziert. Die Schriftgröße ist aufgrund der Häufigkeit für lange Titel kleiner gewählt als für andere Publikationen.
\item[subtitle] Untertitel. Dieses Feld kann alternativ für eine Übersetzung genutzt werden.
@@ -266,7 +268,7 @@ Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller
\end{verbatim}
Für die Erstellung Fachbereichsspezifischer Templates existiert hierfür auch ein Makro, dass ohne den Aufruf von \verb+\reviewer+ Änderungen zulässt.
\begin{verbatim}
- \setupReviewName{Ersatzwort für „Gutachten“}
+ \setupReviewName{Ersatzwort für „Gutachten“}
\end{verbatim}
Setzt die ersten beiden Bezeichner. Alternativ ist es auch möglich Positionen einzeln zu benennen \verb+\setupReviewName[1]{Erstferent}+, eine Übergabe als Komma-Liste ist als \verb+\setupReviewName*{Bezeicher1,Bezeicher2}+ möglich.
\item[institution] Einrichtung. Dieser Eintrag, wie auch die beiden folgenden, werden unterhalb des Logos auf der Titelseite platziert.
@@ -275,11 +277,11 @@ Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller
Dieses Makro verfügt jedoch zusätzlich über die Möglichkeit abweichende Einträge gegenüber den Vorgaben anzugeben. Insbesondere wenn eine gesonderte Formulierung gegenüber der voreingestellten \enquote{im Fachbereich} und ihren Varianten notwendig ist. Hierfür liefert \code{\textbackslash{}department} ein optionales Argument:
\begin{verbatim}
- \department[Ersatztext]{Kürzel/Bezeichnung}
+ \department[Ersatztext]{Kürzel/Bezeichnung}
\end{verbatim}
Zusätzlich gibt es ab Version 2.01 auch die Möglichkeit den gesamten Text \enquote{im Fachbereich <Bereichsbezeichnung>}, sowie die Angabe in der Infobox auf der Titelseite zu ersetzen. Dies geschieht über die gesternte Variante:
\begin{verbatim}
- \department*[Text für die Box]{Text zwischen Typ und Autor}
+ \department*[Text für die Box]{Text zwischen Typ und Autor}
\end{verbatim}
\item[group] Arbeitsgruppe.
\item[submissiondate] Datum der Einreichung
@@ -288,11 +290,11 @@ Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller
\item[publishers] Wird hier für die Ortsangabe verwendet und ist mit \enquote{Darmstadt}, bzw. \enquote{Darmstadt -- D17} (bei Dissertationen) vorbelegt.
\item[tuprints] \label{page:tuprints}Übergabe der Daten, sofern das dokument über tuprints Veröffentlicht werden soll.
\begin{verbatim}
- \tuprints{
- urn=1234,
- printid=12345,
- doi=10.25534/tuprints-1234
- }
+ \tuprints{
+ urn=1234,
+ printid=12345,
+ doi=10.25534/tuprints-1234
+ }
\end{verbatim}
Falls das Argument kein Gleichheitszeichen erkennt, wird der Wert als \code{printid} gesetzt und keine URN angegeben.
@@ -307,7 +309,7 @@ Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller
Ab Version 3.10 werden alle (Stand: Januar 2021) dort vorgeschlagenen Lizenzen von tuda-ci unterstützt.
Falls ein davon abweichender Wert gewählt wird, wird dieser direkt an der Stelle des Lizenztextes verwendet. Falls der Text Gleichheitszeichen oder Kommata enthält ist eine Gruppierung notwendig.
- \item[titleimage] Hier kann Code übergeben werden, der den farbigen Block im unteren Teil der Titelseite ersetzt. Als Maße können hier die Längen \verb+\layerwidth+ und \verb+\layerheight+ verwendet werden. Sie passen sich dem Verfügbaren Platz an. Für ein Beispiel sei auf die TUDapub-Dokumentation verwiesen.
+ \item[titlegraphic] Hier kann Code übergeben werden, der den farbigen Block im unteren Teil der Titelseite ersetzt. Details sind in der allgemeinen TUDaPub-Dokumentation beschrieben \cite{tudapub}
\item[titleintro] Ab Version 2.03 kann zusätzlich über diesen Hook ein beliebiger Text direkt nach dem Untertitel und vor den automatischen Daten ergänzt werden.
\item[titleaddendum] Wie \code{\tbs{}titleintro} jedoch als letztes Element des Blocks.
\end{description}
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index daaf4a7321..987cbc9b2f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaPoster.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 80e7573569..e8d95765c9 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaPub.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -68,7 +68,7 @@
\subtitle{Die Dokumentenklasse tudapub}
\author{Marei Peischl\thanks{pei\TeX{} \TeX{}nical Solutions}\and der \TeX-Löwe}
-\titleimage{
+\titlegraphic{
% %Folgende Box kann selbstverständlich durch ein mit \includegraphics geladenes Bild ersetzt werden.
\color{black!30}\rule{\width}{\height}
}
@@ -155,32 +155,33 @@ Die \KOMAScript-Option \code{titlepage} erlaubt es üblicherweise, zwischen Tite
Die Makros wie \code{author}, \code{title}, \code{subtitle} und \code{date} entsprechen der normalen Verwendung. Für die Institutszuweisung kann ebenfalls wie gewohnt \code{thanks} verwendet werden.
-Zusätzlich stehen die Makros \code{titleimage} und \code{addTitleBox} zur Verfügung um weitere Daten zu übergeben.
+Zusätzlich stehen die Makros \code{titlegraphic} und \code{addTitleBox} zur Verfügung um weitere Daten zu übergeben.
-\minisec{titleimage}
-Das Makro \code{titleimage} akzeptiert beliebigen Inhalt. Dieser wird bündig mit der oberen Ecke im Hauptteil der Titelseite platziert.
+\minisec{titlegraphic}
+Das Makro \code{titlegraphic} akzeptiert beliebigen Inhalt. Dieser wird bündig mit der oberen Ecke im Hauptteil der Titelseite platziert.
Üblicherweise wird dieses Makro zur Platzierung einer Grafik genutzt:
\begin{verbatim}
-\titleimage{\includegraphics[width=\width]{example-image}}
+\titlegraphic{\includegraphics[width=\width]{example-image}}
\end{verbatim}
-Zusätzlich stehen die Makros \code{titleimage} und \code{addTitleBox} zur Verfügung, um den unteren Teil der Titelseite zu füllen.
+Um die Größe des Bildes passend zu wählen können die Makros \code{width}/\code{height} verwendet werden. Darüber hinaus existiert ab Version 3.19 auch die Variante \code{titlegraphic*} mit der die Skalierung und ein ggf. notwendiger Beschnitt für das Füllen des reservierten Bereichs automatisch geschieht.
+
+Zusätzliche Logos und Informationen können über Boxen ergänzt werden.
\begin{verbatim}
-\titleimage{\includegraphics[height=\height]{titleimage}}
\addTitleBox{Institut 1}
\end{verbatim}
Die Institutsboxen werden mit vorgegebenem Abstand unter dem Logo platziert. Hier kann Text erscheinen oder auch ein Institutslogo. Der Hintergrund ist weiß.
-Um die Institutsboxen für Logos zu verwenden, liefert \cls{tudapub} das Makro \code{\addTitleBoxLogo}. Als Argument akzeptiert es einen Bilddateipfad.
+Um die Institutsboxen für Logos zu verwenden, liefert \cls{tudapub} das Makro \code{addTitleBoxLogo}. Als Argument akzeptiert es einen Bilddateipfad.
\begin{verbatim}
\addTitleBoxLogo{example-image}
\addTitleBoxLogo*{\includegraphics[width=\linewidth]{example-image}}
\end{verbatim}
-\minisec{Sponsorenlogos}
+\subsubsection{Sponsorenlogos}
Ab Version 3.0 steht in TUDaPub auch der Sponsorenmechanismus der TUDaLeaflet-Klasse zur verfügung. Damit ist es Möglich Sponsorenlogos unterhalb des Titelbildes zu platzieren.
Sponsorenlogos werden üblicherweise über
@@ -199,7 +200,7 @@ Die zweite Variante ermöglicht die Platzierung mit manueller vertikaler Ausrich
\end{verbatim}
-\minisec{Optionen für die Titelseite}
+\subsubsection{Optionen für die Titelseite}
Die Position des Logos ist umschaltbar. Dies geschieht über die Dokumentenklassenoption \code{logo=head/""body}.
\begin{description}
\item[logo=head] Das Logo wird im Kopf direkt neben dem Titel platziert. Der Titel wird in der Breite reduziert. Der Hintergrund des Titels wird in der Farbe der Identitätsleiste eingefärbt. Zusätzliche Infoboxen (s.u.) werden ebenfalls im Kopf platziert.
@@ -212,6 +213,7 @@ Die Option \code{colorback} schaltet zwischen dem farbigen Block auf der Titelse
Mit Version 3.08 werden zusätzlich zu den \code{true}/\code{false} Werten auch die Werte \code{title}, \code{head} und \code{body} für die Option colorback ergänzt.
Mit diesen ist es möglich nach der Auswahl der Logoposition eine Korrektur an der Farbgebung durchzuführen. Alle drei neuen Werte aktivieren die Hintergrundfarbe und schalten deren Position um:
\begin{description}
+ \item[colorback=true/false] Aktiviert/Deaktiviert die Farbfläche auf der Titelseite. Dieser Schalter ist unabhängig von der aktuelle Position der farbigen Fläche. Die übrigen Optionen aktivieren zusätzlich auch die Ausgabe der Farbfläche, falls diese zuvor deaktiviert war.
\item[colorback=title] Der Titel (ohne Untertitel) wird hinterlegt.
\item[colorback=head] Der komplette Titelblock, inklusive Titelblock wird hinterlegt.
\item[colorback=body] Es wird nur der Bildbereich eingefärbt.
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index c3bc98b3f7..ad6535ff66 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaReport.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index 30714b6230..b64dd83870 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaSciPoster.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index 037fd3cb94..df6cc07f19 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis.tex' version 3.18 (2021/08/05),
+%% This is file `DEMO-TUDaThesis.tex' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -129,13 +129,18 @@
% TUDa-CI wird im nächsten größeren Release ebenfalls diese Anpassung vornehmen.
% Aus diesem Grund wird empfohlen die Lizenz manuell auszuwählen.
% \tuprints{urn=1234,printid=12345,doi=10.25534/tuprints-1234,license=cc-by-4.0}
-% To see furhter information on the license option in English, remove the license= key and pay attention to the warning & help message.
+% To see further information on the license option in English, remove the license= key and pay attention to the warning & help message.
% \dedication{Für alle, die \TeX{} nutzen.}
\maketitle
\affidavit% oder \affidavit[digital] falls eine rein digitale Abgabe vorgesehen ist.
+% Es gibt mit Version 3.20 die Möglichkeit ein Bild als Signatur einzubinden.
+% TUDa-CI kann nicht garantieren, dass dies zulässig ist oder eine eigenhändige Unterschrift ersetzt.
+% Dies ist durch Studierende vor der Verwendung abzuklären.
+% Die Verwendung funktioniert so:
+%\affidavit[signature-image={\includegraphics[width=\width,height=1cm]{example-image}}, <hier können andere Optionen wie z.B. affidavit=digital zusätzlich stehen>]
\tableofcontents
@@ -209,12 +214,14 @@ Falls die Hauptsprache nicht Deutsch ist, wäre daher die folgende Konfiguration
\section{Übergabe der Titeldaten}
-Die Daten werden analog zur klassichen Titeleierzeugung mit \verb+\maketitle+ übergeben. Allerdings wurden die Felder um ein paar speziellere Daten erweitert. Sofern nicht anders angegeben, verfügen alle Makros über ein notwendiges Argument für die Datenübergabe, z.\,B.
+Die Daten werden analog zur klassischen Titeleierzeugung mit \verb+\maketitle+ übergeben. Allerdings wurden die Felder um ein paar speziellere Daten erweitert. Sofern nicht anders angegeben, verfügen alle Makros über ein notwendiges Argument für die Datenübergabe, z.\,B.
\begin{verbatim}
\title{\LaTeX{} im Corporate Design der TU Darmstadt}
\end{verbatim}
Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller Daten \verb+\maketitle+ aufgerufen werden muss.
+Falls eine Layoutanpassung der Titelseite notwendig ist, gelten die in der TUDaPub-Dokumentation geschilderten Optionen. Dort finden sich auch Hinweise zur Platzierung von Sponsorenlogos. \cite{tudapub}
+
\begin{description}\setkomafont{descriptionlabel}{\ttfamily\textbackslash}
\item[title] Titel, wird in sehr großer Schrift im obersten Block der Titelseite platziert. Die Schriftgröße ist aufgrund der Häufigkeit für lange Titel kleiner gewählt als für andere Publikationen.
\item[subtitle] Untertitel. Dieses Feld kann alternativ für eine Übersetzung genutzt werden.
@@ -278,7 +285,7 @@ Es ist zu beachten, dass für die Erzeugung der Titelseite nach Übergabe aller
Ab Version 3.10 werden alle (Stand: Januar 2021) dort vorgeschlagenen Lizenzen von tuda-ci unterstützt.
Falls ein davon abweichender Wert gewählt wird, wird dieser direkt an der Stelle des Lizenztextes verwendet. Falls der Text Gleichheitszeichen oder Kommata enthält ist eine Gruppierung notwendig.
- \item[titleimage] Hier kann Code übergeben werden, der den farbigen Block im unteren Teil der Titelseite ersetzt. Als Maße können hier die Längen \verb+\layerwidth+ und \verb+\layerheight+ verwendet werden. Sie passen sich dem Verfügbaren Platz an. Für ein Beispiel sei auf die TUDapub-Dokumentation verwiesen.
+ \item[titlegraphic] Hier kann Code übergeben werden, der den farbigen Block im unteren Teil der Titelseite ersetzt. Details sind in der allgemeinen TUDaPub-Dokumentation beschrieben \cite{tudapub}
\item[titleintro] Ab Version 2.03 kann zusätzlich über diesen Hook ein beliebiger Text direkt nach dem Untertitel und vor den automatischen Daten ergänzt werden.
\item[titleaddendum] Wie \code{\tbs{}titleintro} jedoch als letztes Element des Blocks.
\end{description}
@@ -294,7 +301,17 @@ Es besteht die Unterscheidung zwischen \verb+digital+ und \verb+print+. Hier wir
\affidavit[digital]
\end{verbatim}
-Da für Dissertationen bisher keine Option der rein digitalen Abgabe besteht, entfällt dort diese Unterscheidungsmöglichkeit.
+Da für Dissertationen bisher keine Option der rein digitalen Abgabe besteht, entfällt dort diese Unterscheidungsmöglichkeit, hierfür wird intern der Schlüssel \verb+dr+ verwendet.
+
+Version 3.20 ermöglicht zusätzlich die Übergabe weiterer Optionen für den Signatur-Namen, ein Signatur-Bild oder die Ortsangabe.
+Inwieweit diese Optionen verwendet werden dürfen ist jeweils vor der Verwendung durch die Nutzer:in abzuklären.
+TUDa-CI kann hierfür keine gesicherte Aussage treffen.
+In diesem Fall muss der Varianten-Option der Optionsschlüssel \verb+affidavit+ vorangestellt werden.
+
+\begin{verbatim}
+ \affidavit[affidavit=digital,signature=Signaturname,signature-image={\includegraphics[width=\width]{signaturbild}}]
+\end{verbatim}
+Eine vertikale Verschiebung des Signaturbildes ist nicht direkt implementiert, ist jedoch mit der Verwendung des \LaTeX-Makros \verb+\raisebox{<Verschiebung>}{<Inhalt>}+ problemlos möglich.
Es besteht zusätzlich die Möglichkeit ein anderssprachiges Affidavit als Ergänzung mit abzudrucken. Um die Struktur und die ggf. notwendige Sprachumschaltung zu erledigen, existiert hierfür ab Version 2.03 eine Umgebung:
@@ -311,6 +328,11 @@ Die Umgebung kann jedoch auch für besondere Formen der Erklärung genutzt werde
\AffidavitSignature[Stadt]
\end{verbatim}
hinzugefügt werden. Die Vorbelegung für Stadt ist hierbei \enquote{Darmstadt}.
+Ab Version 3.20 ist die Übergabe einer zusätzlichen Option für den Ort der Signatur auch als Option möglich.
+
+\begin{verbatim}
+\affidavit[location=Stadt]
+\end{verbatim}
\section{Layout-Optionen mit Verstoß gegen das Corporate Design}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index ec66be1a0d..61f8742721 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.18 (2021/08/05),
+%% This is file `beamercolorthemeTUDa.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index 4bdee840f5..551169c630 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.18 (2021/08/05),
+%% This is file `beamerfontthemeTUDa.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index df1fdf51a0..8ee2144e3d 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.18 (2021/08/05),
+%% This is file `beamerinnerthemeTUDa.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerinnerthemeTUDa}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci}
@@ -56,6 +56,7 @@
\box_new:N \g__ptxcd_logo_box
}
+\cs_set:Nn \__ptxcd_block_colorsep: {.75ex}
\RenewDocumentCommand{\titlegraphic}{sm}{
\IfBooleanTF{#1}{
@@ -156,10 +157,11 @@
{
\par\vskip\medskipamount%
\begin{beamercolorbox}[wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,sep=.5pt,
- leftskip=\dimexpr\ifdim\l__ptxcd_beamer_extraindent_dim>\z@\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep\else\z@\fi]{block~title}
+ leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
+ ]{block~title}
\ifx\insertblocktitle\@empty
\else
- \begin{beamercolorbox}[colsep*=.75ex,
+ \begin{beamercolorbox}[colsep*=\__ptxcd_block_colorsep:,
wd=\dimexpr\linewidth-1pt-1.5ex\relax]{block~title}
\usebeamerfont*{block title}\insertblocktitle%
\end{beamercolorbox}%
@@ -168,9 +170,9 @@
{\ifbeamercolorempty[bg]{block~body}{}{\par\nointerlineskip\vskip-0.5pt}}%
\leavevmode
\fi
- \begin{beamercolorbox}[colsep*=.75ex,vmode, wd=\dimexpr\linewidth-1.5ex-1pt\relax]{block~body}%
+ \begin{beamercolorbox}[colsep*=\__ptxcd_block_colorsep:,vmode, wd=\dimexpr\linewidth-1.5ex-1pt\relax]{block~body}%
\usebeamerfont{block~body}%
- \ifbeamercolorempty[bg]{block~body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}%
+ \ifbeamercolorempty[bg]{block~body}{\vskip-.25ex}{\vskip-\__ptxcd_block_colorsep:}\vbox{}%
}
\defbeamertemplate*{block~end}{TUDa}
@@ -182,18 +184,18 @@
\begin{beamercolorbox}[
wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
sep=1.5pt,
- leftskip=\dimexpr\ifdim\l__ptxcd_beamer_extraindent_dim>\z@\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep\else\z@\fi,
+ leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
]{block~frame~alerted}
\ifx\insertblocktitle\@empty
\else
- \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=.75ex]{block~title~alerted}
+ \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~title~alerted}
\usebeamerfont*{block~title~alerted}\insertblocktitle%
\end{beamercolorbox}%
\vskip1.5pt\par\nointerlineskip
\fi
\leavevmode
\usebeamerfont{block~body~alerted}%
- \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=.75ex]{block~body~alerted}%
+ \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~body~alerted}%
}
\defbeamertemplate*{block~alerted~end}{TUDa}
@@ -206,18 +208,18 @@
\begin{beamercolorbox}[
wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,
sep=1.5pt,
- leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\c_zero_dim}},
+ leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\__ptxcd_block_colorsep:}},
]{block~frame~example}
\ifx\insertblocktitle\@empty
\else
- \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=.75ex]{block~title~example}
+ \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~title~example}
\usebeamerfont*{block~title~example}\insertblocktitle%
\end{beamercolorbox}%
\vskip1.5pt\par\nointerlineskip
\fi
\leavevmode
\usebeamerfont{block~body~example}%
- \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=.75ex]{block~body~example}%
+ \begin{beamercolorbox}[wd=\dim_eval:n {\linewidth-1.5ex-3pt},colsep*=\__ptxcd_block_colorsep:]{block~body~example}%
}
\defbeamertemplate*{block~example~end}{TUDa}
{\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index d3dd8f7dfa..4404268042 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.18 (2021/08/05),
+%% This is file `beamerouterthemeTUDa.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index f81d7b635e..9286867413 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.18 (2021/08/05),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\RequirePackage{expl3}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index ee94494ab9..6875310815 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.18 (2021/08/05),
+%% This is file `beamerthemeTUDa.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeTUDa}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt]
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index 9777fe8ece..8f65f5a279 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.18 (2021/08/05),
+%% This is file `tuda-a0paper.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,16 +26,46 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
+%% This is file `tuda-a0paper.clo' version 3.20 (2021/10/12),
+%% it is part of
+%% TUDa-CI -- Corporate Design for TU Darmstadt
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2018--2021 by Marei Peischl <marei@peitex.de>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <tuda-ci@peitex.de>
+%% Markus Lazanowski <latex@ce.tu-darmstadt.de>
+%%
+%% The development respository can be found at
+%% https://github.com/tudace/tuda_latex_templates
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
- \cs_set:Nn \ptxcd_subtitle_fontsize: {{42pt}{55pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{24pt}{30pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}}
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index 1219a20dee..3c0b79ac04 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.18 (2021/08/05),
+%% This is file `tuda-a1paper.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,16 +26,16 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
-\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
+\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
- \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
- \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
- \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
+ \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
+ \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}}
+ \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}}
}
\cs_set:Nn \ptxcd_setup_base_sizes: {
- \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
- \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
+ \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}}
+ \dim_gset:Nn \g_ptxcd_margin_dim {30mm}
}
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 01b2e4313a..6e9bb1ea43 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.18 (2021/08/05),
+%% This is file `tuda-a2paper.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index bbf9343411..432dfb65a9 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.18 (2021/08/05),
+%% This is file `tuda-a3paper.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 4144fe1248..e9ef9916e6 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.18 (2021/08/05),
+%% This is file `tuda-a4paper.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index fb6aff01b1..ec89f6408d 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.18 (2021/08/05),
+%% This is file `tuda-a5paper.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 36e8eae372..4577ea3315 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.18 (2021/08/05),
+%% This is file `tuda-pgfplots.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index 16c26fe74c..6dc094b9f2 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.18 (2021/08/05),
+%% This is file `tudabeamer.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 2eeec39494..e5f2b37615 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.18 (2021/08/05),
+%% This is file `tudacolors.def' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index 8aadb1ab3a..0b8aa19028 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.18 (2021/08/05),
+%% This is file `tudacolors.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index e887152c06..1cce50f06c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.18 (2021/08/05),
+%% This is file `tudaexercise.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaexercise}
@@ -569,6 +569,19 @@
}
}
+\cs_new:Nn \ptxcd_declare_caption:Nnnn {
+ \ptxcd_define_captionFallback:Nn #1 {#2}
+ \defcaptionname{ngerman, german}{#1}{#2}
+ \defcaptionname{english, USenglish, american}{#1}{#3}
+ \defcaptionname{UKenglish, british}{#1}{#4}
+}
+
+\cs_new:Nn \ptxcd_declare_caption:Nnn {
+ \ptxcd_declare_caption:Nnnn #1 {#2} {#3} {#3}
+}
+
+\ptxcd_declare_caption:Nnn \authorandname {und} {and}
+
\renewcommand*{\@author}{
\seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~}
}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index a055ca3370..969d5d68da 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.18 (2021/08/05),
+%% This is file `tudafonts.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index 217a088964..6b40481770 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.18 (2021/08/05),
+%% This is file `tudaleaflet.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 3d7ea1bd5f..5720a9e77a 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.18 (2021/08/05),
+%% This is file `tudaletter.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaletter}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index fe267121d8..de8bf782b9 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.18 (2021/08/05),
+%% This is file `tudalettersize10pt.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index 32428131d4..896af139d5 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.18 (2021/08/05),
+%% This is file `tudamecheng.cfg' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index 467d272de4..fa9c0d9828 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.18 (2021/08/05),
+%% This is file `tudaposter.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
@@ -139,7 +139,10 @@
\bool_if:NT \g_ptxcd_colorback_bool
{\color{textonaccentcolor}}\expandafter\fontsize\ptxcd_title_fontsize:\selectfont}
\setkomafont{subtitle}{\expandafter\fontsize\ptxcd_titleinfo_fontsize:\selectfont}
-\newkomafont{titleinfo}{\expandafter\fontsize\ptxcd_titleinfo_fontsize:\selectfont}
+\newkomafont{titleinfo}{\usekomafont{subtitle}}
+
+\clist_map_inline:nn {author, date, publishers}
+{\setkomafont{#1}{\usekomafont{subtitle}}}
\ExplSyntaxOff
\KOMAoptions{fontsize=\csname g_ptxcd_fontsize_tl\endcsname}
@@ -177,7 +180,7 @@
\dim_new:N \g_ptxcd_titleindent_dim
\begingroup
\expandafter\fontsize\ptxcd_title_fontsize:\selectfont
- \dim_gset:Nn \g_ptxcd_titleindent_dim {.5ex}
+\dim_gset:Nn \g_ptxcd_titleindent_dim {.5ex}
\endgroup
\dim_new:N \g_ptxcd_columnSep_dim
@@ -244,13 +247,13 @@
voffset=\paperheight-\g_ptxcd_margin_dim,
mode=picture,
contents={%
- \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl {
- \let\width\g_ptxcd_qrcode_dim
- \let\height\g_ptxcd_qrcode_dim
- \g_ptxcd_poster_qrcode_tl
- }
- }
- ]{TUDa.poster.qrcode}
+ \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl {
+ \let\width\g_ptxcd_qrcode_dim
+ \let\height\g_ptxcd_qrcode_dim
+ \g_ptxcd_poster_qrcode_tl
+ }
+ }
+]{TUDa.poster.qrcode}
@@ -261,14 +264,14 @@
width=\paperwidth-2\g_ptxcd_margin_dim,
height=\g_ptxcd_footheight_dim,
contents={
- \bool_if:NTF \g_ptxcd_poster_foot_bool {
- \putUL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}}
- \put(0,0) {\parbox[b][\g_ptxcd_footheight_dim][c]{\layerwidth}{\strut\g_ptxcd_poster_foot_tl\strut}}
- \putLL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}}
- }{
- \smash{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}}
+ \bool_if:NTF \g_ptxcd_poster_foot_bool {
+ \putUL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}}
+ \put(0,0) {\parbox[b][\g_ptxcd_footheight_dim][c]{\layerwidth}{\strut\g_ptxcd_poster_foot_tl\strut}}
+ \putLL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}}
+ }{
+ \smash{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}}
+ }
}
- }
]{TUDa.poster.footer}
\DeclareNewLayer[
@@ -326,37 +329,49 @@
\dim_max:nn {0pt} {1.5\c_ptxcd_logoheight_dim - \height}
}}
{
- \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo_inhead_bool {.75}\linewidth}
- \leavevmode\par\nointerlineskip
- \bool_if:NF \g_ptxcd_indenttext_bool {\begin{addmargin}{\g_ptxcd_titleindent_dim }}
- \usekomafont{title}
- \raggedright
- \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}}
- \leavevmode\usekomafont{disposition}\usekomafont{title}%
- \@title\strut\par
- \bool_if:NTF \g_ptxcd_indenttext_bool {\nointerlineskip\leavevmode}{\end{addmargin}}
- \end{minipage}
- }
- \par\nointerlineskip
- \exp_args:Nf \tl_if_empty:nF {\@subtitle\@titleinfo} {
- \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}}
- \rule{\linewidth}{\g_ptxcd_titlerule_dim}
- \par
+ \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo_inhead_bool {.75}\linewidth}
+ \leavevmode\par\nointerlineskip
+ \bool_if:NF \g_ptxcd_indenttext_bool {\begin{addmargin}{\g_ptxcd_titleindent_dim }}
+ \usekomafont{title}
+ \raggedright
+ \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}}
+ \leavevmode\usekomafont{disposition}\usekomafont{title}%
+ \@title\strut\par
+ \bool_if:NTF \g_ptxcd_indenttext_bool {\nointerlineskip\leavevmode}{\end{addmargin}}
+ \end{minipage}
+ }
+ \par\nointerlineskip
+ \exp_args:Nf \tl_if_empty:nF {\@subtitle\@titleinfo\@subject\@author\@date\@publishers} {
+ \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}}
+ \rule{\linewidth}{\g_ptxcd_titlerule_dim}
+ \par
+ \nointerlineskip
+ \vspace{\c_ptxcd_rulesep_dim}
+ \bool_if:NTF \g_ptxcd_indenttext_bool {\begingroup}{\begin{addmargin}{\g_ptxcd_titleindent_dim }}
+ \bool_if:NT \g_ptxcd_colorsubtitle_bool {\color{textonaccentcolor}}
+ \clist_map_inline:nn {subtitle, titleinfo, subject, author, date, publishers}
+ {\tl_if_empty:cF {@##1} {{\usekomafont{##1}\use:c {@##1}\par}}}
+ \nointerlineskip
+ \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}}
+ \vspace{\c_ptxcd_rulesep_dim}
+ \par\nointerlineskip
+ \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}}
+ \tl_if_empty:NF \@thanks {
+ \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}}\rule{\linewidth}{\g_ptxcd_titlerule_dim}
+ \vspace{\c_ptxcd_rulesep_dim}
+ \par\nointerlineskip
+ \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont
+ \bool_if:NTF \g_ptxcd_indenttext_bool {\begingroup}{\begin{addmargin}{\g_ptxcd_titleindent_dim }}
+ \let\footnotetext\ptxcd_title@footnote
+ \@thanks
+ \vspace{\c_ptxcd_rulesep_dim}
+ \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}}
+ \global\let\@thanks\@empty
+ \par
+ }
+ }
\nointerlineskip
- \vspace{\c_ptxcd_rulesep_dim}
- \bool_if:NTF \g_ptxcd_indenttext_bool {\begingroup}{\begin{addmargin}{\g_ptxcd_titleindent_dim }}
- \bool_if:NT \g_ptxcd_colorsubtitle_bool {\color{textonaccentcolor}}
- \tl_if_empty:NF \@subtitle {{\usekomafont{subtitle}\strut\@subtitle\strut\par}}
- \tl_if_empty:NF \@titleinfo {{\usekomafont{titleinfo}\@titleinfo\par}}
- \nointerlineskip
- \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}}
- \vspace{\c_ptxcd_rulesep_dim}
- \par\nointerlineskip
- \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}
- }
- }
- \nointerlineskip
- \rule{\linewidth}{\g_ptxcd_titlerule_dim}
+ \rule{\linewidth}{\g_ptxcd_titlerule_dim}
}
}
\endgroup
@@ -364,25 +379,28 @@
\ptxcd_Setup_Title_box:
\dim_gset:Nn \g_ptxcd_titleback_dim {
\bool_if:NT \g_ptxcd_colorsubtitle_bool {\box_dp:N \g_ptxcd_title_box}+
- \box_ht:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim
- }
+ \box_ht:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim
+ }
- \ModifyLayer[
- height=\g_ptxcd_titleback_dim
+ \ModifyLayer[
+ height=\g_ptxcd_titleback_dim
]{TUDa.poster.background}
\bool_if:NF \g_ptxcd_logo_inhead_bool {
\ModifyLayer[
- addvoffset=\g_ptxcd_titleback_dim+\c_ptxcd_smallrule_dim
+ addvoffset=
+ \bool_if:NF \g_ptxcd_colorsubtitle_bool {\box_dp:N \g_ptxcd_title_box}+\g_ptxcd_titleback_dim+\c_ptxcd_smallrule_dim
]{TUDa.poster.logo}
}
-
- \bool_if:NT \g_ptxcd_logo_inhead_bool {
+ \leavevmode\box_use:N \g_ptxcd_title_box\par
+ \dim_set:Nn \g_ptxcd_titlegraphic_max_height_dim {\textheight-\pagetotal}
+ \bool_if:NTF \g_ptxcd_logo_inhead_bool {
\dim_compare:nT {\box_ht:N \g_ptxcd_title_info_box+ \box_dp:N \g_ptxcd_title_info_box > \box_ht:N \g_ptxcd_title_box}
{\msg_warning:nn{tudaposter} {infobox-too-high}}
+ } {
+ \dim_compare:nT {\box_ht:N \g_ptxcd_title_info_box+ \box_dp:N \g_ptxcd_title_info_box > \box_ht:N \g_ptxcd_titlegraphic_box + \box_dp:N \g_ptxcd_titlegraphic_box}
+ {\msg_warning:nn{tudaposter} {infobox-too-high}}
}
- \leavevmode\box_use:N \g_ptxcd_title_box\par
- \dim_set:Nn \g_ptxcd_titlegraphic_max_height_dim {\textheight-\pagetotal}
\global\def\contentheight{\g_ptxcd_titlegraphic_max_height_dim}
\tl_if_empty:NF \@titlegraphic{
\vbox_gset:Nn \g_ptxcd_titlegraphic_box {\parbox[t]{\dim_eval:n {\paperwidth-2\g_ptxcd_margin_dim}}{\@titlegraphic}}
@@ -391,11 +409,11 @@
}
\DeclareLayer[
- clone=TUDa.poster.marginpar,
- height=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {-\box_ht:N \g_ptxcd_titlegraphic_box-\box_dp:N \g_ptxcd_titlegraphic_box}
- +\textheight-\box_ht:N \g_ptxcd_title_box-\box_dp:N \g_ptxcd_title_box-.5\c_ptxcd_logoheight_dim,
- addvoffset=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {+\box_ht:N\g_ptxcd_titlegraphic_box+\box_dp:N \g_ptxcd_titlegraphic_box}
- +\box_ht:N \g_ptxcd_title_box+\box_dp:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim,
+ clone=TUDa.poster.marginpar,
+ height=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {-\box_ht:N \g_ptxcd_titlegraphic_box-\box_dp:N \g_ptxcd_titlegraphic_box}
+ +\textheight-\box_ht:N \g_ptxcd_title_box-\box_dp:N \g_ptxcd_title_box-.5\c_ptxcd_logoheight_dim,
+ addvoffset=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {+\box_ht:N\g_ptxcd_titlegraphic_box+\box_dp:N \g_ptxcd_titlegraphic_box}
+ +\box_ht:N \g_ptxcd_title_box+\box_dp:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim,
]{TUDa.poster.marginpar.title}
\tl_if_empty:NF \g_ptxcd_poster_qrcode_tl {
@@ -435,7 +453,7 @@
\parbox{2\c_ptxcd_logoheight_dim}{
\raggedright
#1
- }}
+ }}
}
\cs_new:Nn \ptxcd_make_title_logo_box:n {
@@ -478,11 +496,11 @@
\hbox_gset:Nn \g_ptxcd_title_info_box
{\parbox{2.2\c_ptxcd_logoheight_dim}{
\seq_use:Nn \g_ptxcd_title_info_seq {\par\nointerlineskip\skip_vertical:n
- {
- \box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box
+ {
+ \box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box
+ }
}
- }
- }}
+ }}
}
@@ -542,6 +560,53 @@
\global\def\contentwidth{\linewidth}
\global\def\contentheight{\g_ptxcd_titlegraphic_max_height_dim}
+%author setup
+
+\seq_new:N \g_ptxcd_author_seq
+
+\renewcommand*\author[1]{
+ \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1}
+}
+
+\msg_new:nnn{tudapub} {unknown-language} {
+ You~selected~an~unknown~language~#1.\\
+ The~Variable~#2~does~not~have~a~predefined~value.\\
+ Ensure~to~redefine~#2~to~match~your~language.\\
+ Otherwise~the~ngerman~vaue~#3~will~be~used.
+}
+
+\cs_new:Nn \ptxcd_define_captionFallback:Nn {
+ \providecommand*#1{
+ \msg_warning:nnxxx{tudapub} {unknown-language}
+ {\languagename} {\exp_not:N #1} {#2}
+ \def#1{#2}
+ }
+}
+
+\cs_new:Nn \ptxcd_declare_caption:Nnnn {
+ \ptxcd_define_captionFallback:Nn #1 {#2}
+ \defcaptionname{ngerman, german}{#1}{#2}
+ \defcaptionname{english, USenglish, american}{#1}{#3}
+ \defcaptionname{UKenglish, british}{#1}{#4}
+}
+
+\cs_new:Nn \ptxcd_declare_caption:Nnn {
+ \ptxcd_declare_caption:Nnnn #1 {#2} {#3} {#3}
+}
+
+\renewcommand*{\@author}{
+ \begingroup
+ \hyphenpenalty=100000
+ \seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~}
+ \endgroup
+}
+
+\ptxcd_declare_caption:Nnn \authorandname {und} {and}
+
+\newcommand*{\ptxcd_title@footnote}[2][1]{
+ \textsuperscript{#1}#2
+}
+
\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index 407dc03f30..7ccb4fd236 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.18 (2021/08/05),
+%% This is file `tudapub.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudapub}
@@ -70,7 +70,7 @@
class/scrartcl .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrartcl},
class/book .meta:n = {class=scrbook},
class/scrbook .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrbook},
- class .initial:n = scrartcl,%MAYBE add custom values
+ class .initial:n = scrartcl,
color .meta:n = {accentcolor=#1},
accentcolor .code:n = {\PassOptionsToPackage{accentcolor=#1}{tudacolors}},
textaccentcolor .code:n = {\PassOptionsToPackage{textaccentcolor=#1}{tudacolors}},
@@ -553,6 +553,31 @@
\tl_new:N \g_ptxcd_titleimage_code_tl
\tl_gset_eq:NN \g_ptxcd_titleimage_code_tl \c_empty_tl
\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}}
+\box_new:N \l__ptxcd_titlegraphic_box
+
+\RequirePackage{trimclip}
+
+\NewDocumentCommand{\titlegraphic}{sm}{
+ \IfBooleanTF{#1}{
+ \tl_gset:Nn \g_ptxcd_titleimage_code_tl {
+ \hbox_set:Nn \l__ptxcd_titlegraphic_box {\raisebox{\depth}{#2}}
+ \box_resize_to_wd:Nn \l__ptxcd_titlegraphic_box {\width}
+ \dim_compare:nTF {\box_ht:N \l__ptxcd_titlegraphic_box -\height> \c_zero_dim}
+ {
+ \dim_set:Nn \l_tmpa_dim {.5\box_ht:N \l__ptxcd_titlegraphic_box - .5\height}
+ \clipbox{0pt~\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}}{\box_use:N \l__ptxcd_titlegraphic_box}
+ }{
+ \box_resize_to_ht:Nn \l__ptxcd_titlegraphic_box {\height}
+ \dim_set:Nn \l_tmpa_dim {(\box_wd:N \l__ptxcd_titlegraphic_box - \width) / 2}
+ \clipbox{\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}~0pt}{\box_use:N \l__ptxcd_titlegraphic_box}
+ }
+ }
+ }{
+ \tl_gset:Nn \g_ptxcd_titleimage_code_tl {#2}
+ }
+}
+
+\let\titleimage\titlegraphic%for backwards compatbility
\box_new:N \g_ptxcd_title_box
\skip_new:N \g_ptxcd_title_fill_skip
@@ -680,7 +705,7 @@
\colorbox{InfoBox}{
\makebox[\dim_eval:n {2.2\c_ptxcd_logoheight_dim-\fboxsep}][r]{
\parbox{2\c_ptxcd_logoheight_dim}{
- \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont\usekomafont{institution}%
+ \expandafter \fontsize\ptxcd_titlethanks_fontsize:\selectfont\usekomafont{institution}%
\raggedright%
#1
}}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index baa07563ac..30d394e63e 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.18 (2021/08/05),
+%% This is file `tudarules.sty' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index aaa275001e..6c6b9eb5fe 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.18 (2021/08/05),
+%% This is file `tudasciposter.cls' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index ef55e0f993..d985ca36c0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.18 (2021/08/05),
+%% This is file `tudasize9pt.clo' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index 779d33308e..ef323b801f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.18 (2021/08/05),
+%% This is file `tudathesis.cfg' version 3.20 (2021/10/12),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.18}
-\def\filedate{2021/08/05}
+\def\fileversion{3.20}
+\def\filedate{2021/10/12}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
@@ -41,29 +41,29 @@
%Declare macros for department
\cs_new:Nn \ptxcd_select_department:n {
\str_case:nnTF {#1} {
- {arch} {\ptxcd_declare_caption:Nnn \ptxcd_department {Architektur} {Architecture}}
- {bauing} {\ptxcd_declare_caption:Nnn \ptxcd_department {Bau-~und~Umweltingenieurwissenschaften}{Civil~and~Environmental~Engineering}}
- {bio} {\ptxcd_declare_caption:Nnn \ptxcd_department {Biologie}{Biology}}
- {chem} {\ptxcd_declare_caption:Nnn \ptxcd_department {Chemie}{Chemistry}}
- {etit} {\ptxcd_declare_caption:Nnn \ptxcd_department {Elektrotechnik~und~Informationstechnik}{Electrical~Engineering~and~Information~Technology}}
- {gugw} {\ptxcd_declare_caption:Nnn \ptxcd_department {Gesellschafts-~und~Geschichtswissenschaften}{History~and~Social~Sciences}}
- {humanw} {\ptxcd_declare_caption:Nnn \ptxcd_department {Humanwissenschaften}{Human~Sciences}}
- {inf} {\ptxcd_declare_caption:Nnn \ptxcd_department {Informatik}{Computer~Science}}
- {mb} {\ptxcd_declare_caption:Nnn \ptxcd_department {Maschinenbau}{Mechanical~Engineering}}
- {matgeo} {\ptxcd_declare_caption:Nnn \ptxcd_department {Material-~und~Geowissenschaften}{Materials~and~Earth~Sciences}}
- {math} {\ptxcd_declare_caption:Nnn \ptxcd_department {Mathematik}{Mathematics}}
- {phys} {\ptxcd_declare_caption:Nnn \ptxcd_department {Physik}{Physics}}
- {wi} {\ptxcd_declare_caption:Nnn \ptxcd_department {Rechts-~und~Wirtschaftswissenschaften}{Law~and~Economics}}
+ {arch} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Architektur} {Architecture}}
+ {bauing} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Bau-~und~Umweltingenieurwissenschaften}{Civil~and~Environmental~Engineering}}
+ {bio} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Biologie}{Biology}}
+ {chem} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Chemie}{Chemistry}}
+ {etit} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Elektrotechnik~und~Informationstechnik}{Electrical~Engineering~and~Information~Technology}}
+ {gugw} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Gesellschafts-~und~Geschichtswissenschaften}{History~and~Social~Sciences}}
+ {humanw} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Humanwissenschaften}{Human~Sciences}}
+ {inf} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Informatik}{Computer~Science}}
+ {mb} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Maschinenbau}{Mechanical~Engineering}}
+ {matgeo} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Material-~und~Geowissenschaften}{Materials~and~Earth~Sciences}}
+ {math} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Mathematik}{Mathematics}}
+ {phys} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Physik}{Physics}}
+ {wi} {\ptxcd_declare_caption:Nnn \ptxcd_department: {Rechts-~und~Wirtschaftswissenschaften}{Law~and~Economics}}
}
{
\ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department}
- \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix {im~ \departmentname}{in~the~\departmentname{}~ of}
- \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department} { \ptxcd_department{}~ \text_titlecase:n{\departmentname}}
+ \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
+ \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} { \ptxcd_department:{}~ \text_titlecase:n{\departmentname}}
}
{\bool_if:NTF \g_ptxcd_dr_bool
{
\msg_warning:nnn{tudapub/thesis} {unrecognized-department} {#1}
- \gdef\ptxcd_department{#1}
+ \gdef\ptxcd_department:{#1}
\ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department}
}
{\ptxcd_select_studyfield:n {#1}}
@@ -73,21 +73,21 @@
\cs_new:Nn \ptxcd_select_studyfield:n {
\str_case:nnTF {#1} {
- {ce}{\ptxcd_declare_caption:Nnn \ptxcd_department {Computational\nobreakspace Engineering}{Computational\nobreakspace Engineering}}
- {ese}{\ptxcd_declare_caption:Nnn \ptxcd_department {Energy~Science~and~Engineering}{Energy~Science~and~Engineering}}
- {ist}{\ptxcd_declare_caption:Nnn \ptxcd_department {Informationssystemtechnik} {Information~Systems~Technology}}
- {mech}{\ptxcd_declare_caption:Nnn \ptxcd_department {Mechanik}{Mechanics}}
- {metro}{\ptxcd_declare_caption:Nnn \ptxcd_department {Mechatronik}{Mechatronics}}
+ {ce}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Computational\nobreakspace Engineering}{Computational\nobreakspace Engineering}}
+ {ese}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Energy~Science~and~Engineering}{Energy~Science~and~Engineering}}
+ {ist}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Informationssystemtechnik} {Information~Systems~Technology}}
+ {mech}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Mechanik}{Mechanics}}
+ {metro}{\ptxcd_declare_caption:Nnn \ptxcd_department: {Mechatronik}{Mechatronics}}
}
{
\ptxcd_declare_caption:Nnn \departmentname {Studienbereich} {field~of~study}
- \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department} {\departmentname{}:~\ptxcd_department}
- \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix {im~ \departmentname}{in~the~\departmentname}
- \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix{}~\ptxcd_department} {\ptxcd_departmentprefix{}~``\ptxcd_department''}
+ \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department:} {\departmentname{}:~\ptxcd_department:}
+ \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname}
+ \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix:{}~\ptxcd_department:} {\ptxcd_departmentprefix:{}~``\ptxcd_department:''}
}
{
\msg_warning:nnn{tudapub/thesis} {unrecognized-department} {#1}
- \gdef\ptxcd_department{#1}
+ \gdef\ptxcd_department:{#1}
\ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department}
}
}
@@ -98,17 +98,18 @@
\ptxcd_declare_caption:Nnn \ptxcd_byname {von} {by}
\ptxcd_declare_caption:Nnn \ptxcd_fromname {aus} {from}
-\ptxcd_declare_caption:Nnn \ptxcd_departmentprefix {im~ \departmentname}{in~the~\departmentname{}~ of}
+\ptxcd_declare_caption:Nnn \ptxcd_departmentprefix: {im~ \departmentname}{in~the~\departmentname{}~ of}
\ptxcd_declare_caption:Nnn \ptxcd_reviewname {Gutachten}{review}
\ptxcd_declare_caption:Nnnn \ptxcd_examdatename {Tag~ der~ Prüfung}{Date~ of~ thesis~ defense}{Date~ of~ thesis~ defence}
\ptxcd_declare_caption:Nnn \ptxcd_submissiondatename {Tag~ der~ Einreichung}{Date~ of~ submission}
\ptxcd_declare_caption:Nnn \ptxcd_studentIDname {Matrikelnummer} {Student\nobreakspace ID}
%Fallback content for box if not overwritten
-\newcommand*\ptxcd_box_department {\cs_if_exist_use:NF \departmentfullname {\ptxcd_department}}
+\newcommand*\ptxcd_box_department {\cs_if_exist_use:NF \departmentfullname {\ptxcd_department:}}
\newcommand*\ptxcd_in_department {}
\newcommand*{\ptxcd_thesisStatus}{}
\tl_new:N \g__ptxcd_affidavit_version_tl
+\def\@ThesisTypeArticle{die}
\keys_define:nn {ptxcd/thesis} {
dr .choice:,
@@ -122,13 +123,13 @@
},
% type/diplom .code:n = {\def\ptxcd_thesisType{Diplomarbeit}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, reviewer, department}},
type/bsc .meta:n = {type=bachelor},
- type/bachelor .code:n = {\ptxcd_declare_caption:Nnn \ptxcd_thesisType{Bachelorarbeit}{bachelor~ thesis} \clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool},
- type/pp .code:n = {\def\ptxcd_thesisType{Project-Proposal}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, date, department}\bool_gset_false:N \g_ptxcd_dr_bool},
+ type/bachelor .code:n = {\ptxcd_declare_caption:Nnn \ptxcd_thesisType{Bachelorarbeit}{bachelor~ thesis}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool},
+ type/pp .code:n = { \ptxcd_declare_caption:Nnn \ptxcd_thesisType {Project-Proposal}{project~ proposal}\def\@ThesisTypeArticle{das}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, date, department}\bool_gset_false:N \g_ptxcd_dr_bool},
type/msc .meta:n = {type=master},
- type/master .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Masterarbeit}{master~ thesis} \clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool,
- type/dr .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{vorgelegte}{submitted}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate , birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool,
- type/drfinal .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType {Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{genehmigte}{accepted}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate,examdate, birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool,
- type/unknown .code:n = \def\ptxcd_thesisType{#1}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {}\bool_gset_false:N \g_ptxcd_dr_bool,
+ type/master .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Masterarbeit}{master~ thesis}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool,
+ type/dr .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{vorgelegte}{submitted}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate , birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool,
+ type/drfinal .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType {Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{genehmigte}{accepted}\def\@ThesisTypeArticle{die}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate,examdate, birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool,
+ type/unknown .code:n = \def\ptxcd_thesisType{#1}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {}\def\@ThesisTypeArticle{die}\bool_gset_false:N \g_ptxcd_dr_bool,
ignore-missing-data .bool_gset:N = \g_ptxcd_missing_data_warning_bool,
ignore-missing-data .initial:n = false,
department .tl_gset:N = \g_ptxcd_department_choice_tl,
@@ -180,28 +181,28 @@
\renewcommand*\author[2][]{
\seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#2}
\tl_if_empty:nTF {#1}
- {\def\ptxcd_signature{#2}}
- {\def\ptxcd_signature{#1}}
+ {\tl_set:Nn \l_ptxcd_signature_tl {#2}}
+ {\tl_set:Nn \l_ptxcd_signature_tl {#1}}
}
\newcommand*{\studentID}[1]{
- \gdef\ptxcd_studentID{#1}
+ \tl_set:Nn \l_ptxcd_studentID_tl {#1}
}
\gdef\ptxcd_institution{}
\gdef\ptxcd_institute{}
-\gdef\ptxcd_department{}
-\gdef\ptxcd_studentID{}
+\gdef\ptxcd_department:{}
+%\gdef\ptxcd_studentID{}
\NewDocumentCommand{\department}{som}{%
\IfBooleanTF{#1}{
- \tl_gset:Nn \ptxcd_department {#3}
+ \tl_gset:Nn \ptxcd_department: {#3}
\tl_gset:Nn \ptxcd_in_department{#3}
\IfNoValueTF {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}}
\clist_remove_all:Nn \g_ptxcd_Required_title_data_clist {department}
}{
\tl_gset:Nn \g_ptxcd_department_choice_tl {#3}
- \IfNoValueF {#2} {\tl_gset:Nn \ptxcd_departmentprefix {#2}}
+ \IfNoValueF {#2} {\tl_gset:Nn \ptxcd_departmentprefix: {#2}}
}
}
@@ -297,6 +298,13 @@
},
license / unknown .code:n = \tl_gset:Nn \g_ptxcd_license_info_tl {#1},
license .initial:n = initial,
+ signature .tl_set:N = \l_ptxcd_signature_tl,
+ studentID .tl_set:N = \l_ptxcd_studentID_tl,
+ studentID .initial:n =,
+ signature-image .tl_set:N = \l_ptxcd_signature_image_tl,
+ signature-image .initial:n =,
+ signature-location .tl_set:N = \l_ptxcd_signature_location_tl,
+ signature-location .initial:n = Darmstadt,
}
\msg_new:nnnn {tudapub/thesis} {default-license-will-change} {
@@ -369,7 +377,7 @@
\tl_if_empty:NF \ptxcd_in_department {\ptxcd_in_department{}~}
\seq_if_empty:NF \g_ptxcd_author_seq {\ptxcd_byname\nobreakspace\@author}
\tl_if_empty:NF \ptxcd_birthplace {\space\ptxcd_fromname\space\ptxcd_birthplace}
- \tl_if_empty:NF \ptxcd_studentID {\space\ptxcd_insert_studentID:n {\ptxcd_studentID}}
+ \tl_if_empty:NF \l_ptxcd_studentID_tl {\space\ptxcd_insert_studentID:n {\l_ptxcd_studentID_tl}}
}
\uppertitleback{
@@ -537,7 +545,7 @@
}
\let\@thanks\@empty
\bool_if:NF \g_ptxcd_manual_info_box_bool {
- \exp_args:Nf \tl_if_empty:nF {\ptxcd_institution\ptxcd_department\ptxcd_institute\ptxcd_group} {
+ \exp_args:Nf \tl_if_empty:nF {\ptxcd_institution\ptxcd_department:\ptxcd_institute\ptxcd_group} {
\addTitleBox{
\setlength{\parskip}{\c_ptxcd_rulesep_dim}
\tl_if_empty:NF \ptxcd_institution {\ptxcd_institution\par}
@@ -617,7 +625,9 @@
\NewDocumentCommand{\affidavit}{so}{%
\IfNoValueF {#2} {%
- \csname keys_set:nn\endcsname {ptxcd/thesis} {affidavit=#2}%
+ \tl_if_in:nnTF {#2} {=}
+ {\keys_set:nn {ptxcd/thesis} {#2}}
+ {\keys_set:nn {ptxcd/thesis} {affidavit=#2}}%
}%
\clearpage
\begin{otherlanguage}{ngerman}
@@ -652,7 +662,7 @@
\expandafter\def\csname g__ptxcd_affidavit_digital_tl\endcsname {%
\section*{Erklärung zur Abschlussarbeit gemäß\\ \S{}22~Abs.~7~APB TU~Darmstadt}
\begin{sloppypar}%
- Hiermit versichere ich, \@author, die vorliegende \@ThesisType{} gemäß \S{}22~Abs.~7~APB der TU Darmstadt ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben.
+ Hiermit versichere ich, \@author, \@ThesisTypeArticle{} vorliegende \@ThesisType{} gemäß \S{}22~Abs.~7~APB der TU Darmstadt ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben.
Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.
\end{sloppypar}%
\par
@@ -663,7 +673,7 @@
\expandafter\def\csname g__ptxcd_affidavit_print_tl\endcsname {%
\section*{Erklärung zur Abschlussarbeit\\gemäß \S{}22~Abs.~7 und \S{}23~Abs.~7~APB der TU~Darmstadt}
- Hiermit versichere ich, \@author, die vorliegende \@ThesisType{} ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.
+ Hiermit versichere ich, \@author, \@ThesisTypeArticle{} vorliegende \@ThesisType{} ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen.
\par
Mir ist bekannt, dass im Fall eines Plagiats (\S{}38~Abs.~2~APB) ein Täuschungsversuch vorliegt, der dazu führt, dass die Arbeit mit 5,0 bewertet und damit ein Prüfungsversuch verbraucht wird. Abschlussarbeiten dürfen nur einmal wiederholt werden.
\par
@@ -681,13 +691,19 @@
\IfNoValueF {#1} {\end{otherlanguage}}
}
-\newcommand*{\AffidavitSignature}[1][Darmstadt]{
+\newcommand*{\AffidavitSignature}[1][\l_ptxcd_signature_location_tl]{
\par
- \bigskip
- \noindent #1,~ \ptxcd_submissiondate\hfill\SignatureBox{\ptxcd_signature}\\\strut
+ \tl_if_empty:NT \l_ptxcd_signature_image_tl {\bigskip}
+ \noindent #1,~ \ptxcd_submissiondate\hfill
+ \SignatureBox{\l_ptxcd_signature_tl}%}
+ \\\strut
}
-\newcommand*{\SignatureBox}[2][5cm]{\parbox[t]{#1}{\centering\rule{\linewidth}{.3pt}\\\makebox[0pt][c]{#2}}}
+\newcommand*{\SignatureBox}[2][5cm]{\parbox[t]{#1}{\centering
+ \tl_if_empty:NF \l_ptxcd_signature_image_tl
+ {\let\width\linewidth\l_ptxcd_signature_image_tl\par\nointerlineskip}
+ \rule{\linewidth}{.3pt}\\\makebox[0pt][c]{#2}}
+}
%messages:
\msg_new:nnn{tudapub/thesis} {dr-field-only} {